It won't be perfectly backwards compatible, but I'm hoping the manual intervention will be limited to advanced uses: extending BaseEngine, or adding engine services.
On Apr 11, 2005 5:17 PM, Phil Zoio <[EMAIL PROTECTED]> wrote: > > Thanks Erik, I'll try building from HEAD > > Just to clarify, are you expecting 3.1 to be backward compatible > vis-a-vis apps built using the 3.0 spec, or will an upgrade be required? > > Cheers, > Phil Zoio > > > Erik Hatcher wrote: > > > On Apr 9, 2005, at 5:36 PM, Phil Zoio wrote: > > > >> I recently tried out Tapestry 3.1 alpha. I was basically hoping that > >> an existing quite simple app would work straight away. Here's what I > >> found: > >> > >> I started by building from source. After downloading hivemind 1.1 > >> alpha and setting my hivebuild.dir property file to the hivebuild > >> directory, the build went with relatively few problems. It would have > >> been nice to have found some document giving a step-by-step guide on > >> this. > > > > > >> The steps are pretty simple but its nice to know what they are. I > >> noticed that Jcharts 0.6.0 is no longer in the referenced location in > >> ibiblio, so I had to find that manually. > > > > > > How 'bout this? > > http://wiki.apache.org/jakarta-tapestry/BuildingTapestry31 > > > >> I had to make a couple of changes to the the application itself, > >> built for 3.0.2. In particular, the AbstractPage method includes a > >> couple of other abstract methods – in particular > >> getComponentSpecification(). I'm not sure what form this method > >> implementation was supposed to take – the Javadocs did not help. I > >> used the working assumption that if I left the page class abstract > >> and did not implement this method, it would be handled by the > >> enhanced class version. No idea whether this is the correct > >> assumption, though. > > > > > > That is correct. This has been changed in the latest 3.1 codebase > > though - so I recommend you build from CVS HEAD. > > > >> Here's my page class: > >> > >> public abstract class Redirect extends BasePage > >> { > >> public abstract Object[] getParameters(); > >> public abstract void setParameters(Object[] parameters); > >> public abstract String getTargetPage(); > >> public abstract void setTargetPage(String newPage); > >> } > >> > >> and page specification > >> > >> <page-specification class="com.bt.gmatest.pages.Redirect"> > >> <description>Redirect Page</description> > >> <property-specification name = "targetPage" type = "String"/> > >> <property-specification name = "paramters" type = "java.lang.Object > []"/> > >> </page-specification> > > > > > > Upgrade to the latest DTD and it'll be 'type'-less. > > > >> <component-specification class="com.bt.gmatest.components.Redirect" > >> allow-body="no" allow-informal-parameters="no"> > >> > >> <parameter name="targetPage" > >> type="java.lang.String" > >> required="yes" > >> direction="in"/> > >> > >> <parameter name="parameters" > >> type="java.lang.Object[]" > >> required="no" > >> direction="in"/> > > > > > > Again, upgrade your DOCTYPE to be the 3.1 one. You then won't be > > specifying directions. > > > >> The error I get is: > >> > >> Parameter pageName must not be null. Stack Trace: > > > > > > I don't know what is causing your error, but try from CVS HEAD and > > upgrading your DTD's to the 3.1 one, validate your specification > > files, and adjust them appropriately. > > > > Erik > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Howard M. Lewis Ship Independent J2EE / Open-Source Java Consultant Creator, Jakarta Tapestry Creator, Jakarta HiveMind Professional Tapestry training, mentoring, support and project work. http://howardlewisship.com
