Author: jmitchell
Date: Sat Jan 15 11:41:57 2005
New Revision: 125295

URL: http://svn.apache.org/viewcvs?view=rev&rev=125295
Log:
Initial commit of README.txt
Added:
   struts/apps/trunk/README.txt   (contents, props changed)

Added: struts/apps/trunk/README.txt
Url: 
http://svn.apache.org/viewcvs/struts/apps/trunk/README.txt?view=auto&rev=125295
==============================================================================
--- (empty file)
+++ struts/apps/trunk/README.txt        Sat Jan 15 11:41:57 2005
@@ -0,0 +1,162 @@
+This file lays out the plan for and progress status of the 

+various mailreader sample applications.

+

+

+To build all applications under "apps":

+

+maven apps:build-all

+

+

+

+The plan (to do):

+----------------

+ - [] Remove the mailreader demo from commons-chain

+      ensure that any enhanced functionality makes it's

+      way into the "shared" app

+      

+ - [] Identify and merge all mailreader apps to the below structure

+

+ - [] Identify a clean way to get the generated .tld files into the apps

+ 

+ - [] Put together a global build target to dist all of struts

+       (this means all related projects under "struts/trunk"

+ 

+ - [] Modify core/trunk/build.xml to not build webapps

+

+ - [] Modify the apps build to allow for a "with source" 

+      (war:war-with-source) target.  This should be obvious what this does.

+

+ - [] Modify apps/trunk/project.xml extend core/trunk/project.xml

+      (I don't know how other people do this, but I always grab the whole 
repos)

+

+ - [] Figure out the best way to handle getting documentation/taglib tld

+      built and distributed amoung the various artifacts (in "apps" and others)

+      

+

+

+Issues:

+------

+ - [done] The blank app would be the only app that needs *fewer* files than

+          "shared".  Not sure how we deal with this.  Perhaps just leave

+          it as one that does not generate from a parent.

+                       (this is not problem, changed reactor to look for 
"mailreader-*/project.xml"

+

+ - [] Why does this still say "jakarta"?

+        <logo>http://struts.apache.org/images/jakarta-logo.gif</logo>

+                                              ^^^^^^^

+

+                       

+Strategy (overview):

+-------------------

+The strategy for building "apps" here is that Maven will build 

+the variations of mailreader apps by repeating a process that, 

+for each mailreader app:

+

+a) copies the "shared" base file structure and files

+   to the target dir

+b) copies **/*.* (from one of the apps) over top of that

+c) generates any docs/javadocs/etc and wars the artifact

+    (would also run the full test suite....yes I'm volunteering ;)

+

+

+This process would repeat for each "one-off mailreader"....like so:

+

+ -- default --

+apps/trunk/mailreader/blank

+apps/trunk/mailreader/shared

+apps/trunk/mailreader/el

+apps/trunk/mailreader/shale

+apps/trunk/mailreader/jericho

+apps/trunk/mailreader/resources (impl using commons-resources)

+apps/trunk/mailreader/chain     (this demonstrates chain for a wizard)

+apps/trunk/mailreader/i18n      (using commons-i18n)

+apps/trunk/mailreader/tiles     (this is not the tiles doc app)

+

+ -- optional --

+apps/trunk/mailreader/faces     (the integration library)

+apps/trunk/mailreader/j2ee      (mostly xdoclet generated ejb 3.0

+                                 against HSSQLDB)

+apps/trunk/mailreader/spring

+apps/trunk/mailreader/hibernate

+apps/trunk/mailreader/spring-hibernate     (it's a beautiful thing)

+apps/trunk/mailreader/resources-hibernate  (HSSQLDB with Hibernate)

+apps/trunk/mailreader/resources-iBatis     (HSSQLDB with iBatis)

+apps/trunk/mailreader/resources-jdbc       (HSSQLDB with JDBC)

+

+

+There's a main project.xml in apps/trunk/

+Each mailreader app project.xml extends that and overrides only what it

+needs to for that specific app.  This is more or less why Maven was 

+invented in the first place (from what I've read).

+

+This way we don't have to have full blown webapp structures that 

+duplicate 95% of the code.  Only the files that are actually different

+than the "shared" will exist in these "one off"'s....what do we call

+these anyway?  "Mailreader app demo"?  (MAD)

+

+So, in the end, if you were to add some new button or page to 

+the shared app, they would all inherit it.  And if something changes 

+that breaks any one of the "MAD"s (LOL), the extensive test coverage

+would catch that....yes I'm volunteering again ;)

+

+What are the current targets (other than stock maven ones)

+

+mailreader:template - produces the basic folders and project.xml/maven.xml that

+                      would allow for an alternate implementation of the 

+                      mailreader application

+                      

+

+

+Details:

+-------

+ [-] apps

+  ' [-] trunk

+  '  '   maven.xml   (reactor!!!)

+  '  '   project.xml (parent config)

+  '  '

+  '  ' [-] blank

+  '  '      maven.xml   

+  '  '      project.xml (parent config)

+  '  '

+  '  '    [-] src

+  '  '       [+] java (nothing in here right now)

+  '  '       [+] resources

+  '  '       [-] webapp

+  '  '          [+] WEB-INF

+  '  '    [-] test

+  '  '   

+  '  '

+  ' [-]  mailreader

+  '  ' [-] src

+  '  '    [+] java

+  '  '    [+] resources

+  '  '    [+] test

+  '  '    [+] webapp

+  '  '

+  ' [-]  examples

+  '  '     (exercise, upload, validator)

+  '  '     (i feel this should be renamed to 'modules')

+  '  ' [-] src

+  '  '    [+] java

+  '  '    [+] resources

+  '  '    [+] test

+  '  '    [+] webapp

+  '  '

+  ' [-]  test

+  '  '      (really need to get this back in order

+  '  '       or figure out a new strategy..more on

+  '  '       this later)

+  '  ' [-] src

+  '  '    [+] java

+  '  '    [+] resources

+  '  '    [+] test

+  '  '    [+] webapp

+  '  '

+  ' [-] tile-documentation

+  '  '     (this should probably go to tiles/trunk)

+  '  ' [-] src

+  '  '    [+] java

+  '  '    [+] resources

+  '  '    [+] test

+  '  '    [+] webapp

+


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to