I have a Wicket AuthenticatedWebApplication which has several pages and features that need to be reused in a new AuthenticatedWebApplication that I have to develop.
I am using Wicket 1.4, Spring and Hibernate.
Both applications will even share the same look (except for Application logo) which is now implemented in a base page.
Has anyone had a similar experience? I definitely don't want to recur to copy-paste code because the common functionality implements a workflow process which can and will change.
What can I do to keep my applications modular, and achieve my goal?
My company does this all the time. We have a core package that holds the base UserApplication, User accounts, login, authentication, etc. Then, every project we develop extends this base package. There is some duplication - e.g. almost all of the configuration files look identical in each - but each one has it's own theme
directory that supplies the markup, customized to the look and feel of the application.
Some suggestions as you do this:
getXPanel()
methods that each sub-application overrides. For example, getHeaderPanel()
<wicket:extend>
features. Also a good place to put your jQuery import, ec.Each of our applications is divided into at least 4 modules. For example:
ScienceApplication extends UserAppication
.FoundationsApplication extends ScienceApplication
InquiryApplication extends ScienceApplication
Our two science applications have different headers and even a few different pages, but ScienceApplication
has a those methods I described above.