Home > Struts Next |

Apache Struts 2 Documentation
Struts Next
Edit Page Browse Space Add Page Add News

### What should be improved / changed

Issues connected with the new version
Build of the latest version

- Use Git instead Svn
  - Use Git flow to manage the repo and development process
    - http://nvie.com/posts/a-successful-git-branching-model/
    - https://github.com/nvie/gitflow
    - http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/
- Switch to Java 1.6
- Update "internal" injection to use current Guice version
  - Consider usage of http://onami.apache.org/
- Refactorings for further extensibility based on questions on the list, on CodeRanch, and Stack Overflow
  - JR plugin refactoring. Allow compiled reports as classpath resources.
- Refactor conversion of primitives (and wrappers) in XWork
- Switch to OGNL 4.0.
- Consider renaming packages to org.apache.struts3
- Remove deprecated Plugins
  - Codebehind
  - Dojo
  - Struts1 ?
- Normalize property name camel-casing (foo.bar.BazPlugh to foo.bar.bazPlugh)
- Check possible usage of Tiles Auto Tag (http://tiles.apache.org/tiles-autotag/) instead of Struts Annotations

Plan for Struts 2.5

1. Request Git repo from INFRA
2. Import project
3. Remove deprecated plugins
4. Drop support for Struts 1 (remove plugin)
5. Remove deprecated APIs
6. Switch to Java 1.6
7. Rename XWork packages to org.apache.struts.xwork
8. Prepare the first release
9. Cleanup website

Plan for Struts 3

1. Rename Struts 2 packages to org.apache.struts
2. ...

### Cleanup website

There should be just one project website - Apache Struts. Right now there is the main website - Apache Struts project, subsite Apache Struts 1 and another subsite Apache Struts 2. After announcing EOL of Struts 1, we basically supporting just one version or rather branch - Apache Struts 2 which should be at some point converted just into Apache Struts (version 2.5, version 3.0, version 3.1, etc.).

With that in mind we should have just one website to manage the project.

### Undiscussed ideas

- Better support for modern webframeworks like AngularJS (@grobmeier)
- Make use of slf4j and probably log4j2 (@grobmeier) - support for slf4j is already there, thanks to Johannes, check Logging
- Provider alternatives to java property file translations (@grobmeier)
- Replace css and xhtml theme with an new html5 theme. (@jogep)
- Switch to strict DMI by default - allow only defined methods to be accessible via DMI - user can always change that list
- Extract XML configuration to dedicated plugin - XWork will provide only configuration via code, then user can decide which configuration to use - code, XML, convention, DB?