Details
-
Type: Task
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 3.3
-
Component/s: None
-
Labels:None
-
Environment:IF 3.x
Description
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
tutorial/tabSet-dynamic-tutorial and tutorial/tabSet-caching-tutorial both refer to a Maven pom that uses ICEfaces 3.0.1 instead of the latest release.
http://anonsvn.icesoft.org/repo/maven2/releases/org/icefaces/tutorial/ace/base/1.0/base-1.0.pom
Updating icefaces3/tutorials/booking-icefaces will require special effort, since we'll need to know which spring version to use with the latest ICEfaces.
Spring MVC + Web Flow + JSF/ICEfaces
Current versions:
org.springframework-version : 3.0.5.RELEASE
org.springsecurity-version : 3.0.5.RELEASE
org.slf4j-version : 1.5.10
jsf : 2.1.3
icefaces : 3.0.1
Instead of re-zipping the tutorials on each edit, there should be a way to make an svn location that uses externals links to include each tutorial's directory plus the readme and common build file, and then use a subversion plugin that will export a folder out as a zip file.
Groovy script to package tutorials lives at: icefaces/tutorials/packTutorials.groovy
Let's get the maven parent poms pointed to the IF 3.3 release, and the new .zip bundles generated and ready to upload. Then we'll figure out how to update the actual Wiki pages.
Bumped the server side poms, tha are tied to an ICEfaces release version, which the tutorials rely upon. For each of the scenarios, did the following commands:
cd ../../core-push/base/
svn copy 1.0 3.3.0 ; cd 3.3.0/
svn move base-1.0.pom base-3.3.0.pom ; svn move base-1.0.pom.md5 base-3.3.0.pom.md5 ; svn move base-1.0.pom.sha1 base-3.3.0.pom.sha1
nano base-3.3.0.pom
md5 base-3.3.0.pom > base-3.3.0.pom.md5
echo SHA1 (base-3.3.0.pom) \= `shasum base-3.3.0.pom | sed 's/([a-zA-Z0-9]) (.)/\1/'` > base-3.3.0.pom.sha1
cat base-3.3.0.pom.*
cd ..
svn commit -m "ICE-8676 : update tutorial POM files to build with new release" 3.3.0/
cd ../../ice/base/
Tutorial specific changes I would like to be done:
autocomplete -> selectInputText DONE
selectInputText : use textChangeListener like showcase does
calendar -> selectInputDate DONE
selectInputDate : selectInputDate tutorial wiki shows more than src code does
conditional-row-messages : Make bean Serializable by removing component binding
hibernate-tutorial : Upgrade libraries to newer versions that spring-booking-tutorial uses DONE
booking-icefaces -> spring-booking-tutorial DONE
+ spring-security tutorial
portlet-dnd : Simplify and elaborate
Files I had to remove when building 3.3.0 that weren't there with 3.0.1 / 1.0
/Users/mark/Documents/ICEsoft/apache-tomcat-7.0.23/webapps/autocomplete-tutorial/WEB-INF/lib/FastInfoset-1.2.12.jar
/Users/mark/Documents/ICEsoft/apache-tomcat-7.0.23/webapps/autocomplete-tutorial/WEB-INF/lib/activation-1.1.jar
/Users/mark/Documents/ICEsoft/apache-tomcat-7.0.23/webapps/autocomplete-tutorial/WEB-INF/lib/icepush-3.3.0.jar
/Users/mark/Documents/ICEsoft/apache-tomcat-7.0.23/webapps/autocomplete-tutorial/WEB-INF/lib/jsp-api-2.0.jar
/Users/mark/Documents/ICEsoft/apache-tomcat-7.0.23/webapps/autocomplete-tutorial/WEB-INF/lib/mail-1.4.1.jar
With 3.0.1:
org.icefaces.tutorial:autocomplete-tutorial:war:1.0
org.icefaces:icefaces:jar:3.0.1:compile
org.icefaces:icefaces-compat:jar:3.0.1:compile
commons-beanutils:commons-beanutils:jar:1.8.0:compile
commons-logging:commons-logging:jar:1.1:compile
org.glassfish:javax.faces:jar:2.1.6:compile
javax.servlet:servlet-api:jar:2.5:provided
javax.servlet:jstl:jar:1.1.2:compile
javax.el:el-api:jar:1.0:provided
/Users/mark/.m2/repository/org/icefaces/icefaces/3.0.1/icefaces-3.0.1.jar
/Users/mark/.m2/repository/org/icefaces/icefaces-compat/3.0.1/icefaces-compat-3.0.1.jar
/Users/mark/.m2/repository/commons-beanutils/commons-beanutils/1.8.0/commons-beanutils-1.8.0.jar
/Users/mark/.m2/repository/commons-logging/commons-logging/1.1/commons-logging-1.1.jar
/Users/mark/.m2/repository/org/glassfish/javax.faces/2.1.6/javax.faces-2.1.6.jar
/Users/mark/.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
/Users/mark/.m2/repository/javax/servlet/jstl/1.1.2/jstl-1.1.2.jar
/Users/mark/.m2/repository/javax/el/el-api/1.0/el-api-1.0.jar]
With 3.3.0
org.icefaces.tutorial:autocomplete-tutorial:war:3.3.0
org.icefaces:icefaces:jar:3.3.0:compile
org.icepush:icepush:jar:3.3.0:compile
javax.servlet.jsp:jsp-api:jar:2.0:compile
javax.mail:mail:jar:1.4.1:compile
javax.activation:activation:jar:1.1:compile
com.sun.xml.fastinfoset:FastInfoset:jar:1.2.12:compile
org.icefaces:icefaces-compat:jar:3.3.0:compile
commons-beanutils:commons-beanutils:jar:1.8.0:compile
commons-logging:commons-logging:jar:1.1:compile
org.glassfish:javax.faces:jar:2.1.21:compile
javax.servlet:servlet-api:jar:2.5:provided
javax.servlet:jstl:jar:1.1.2:compile
javax.el:el-api:jar:1.0:provided
Add to icefaces dependency:
<exclusions>
<exclusion>
<groupId>org.icepush</groupId>
<artifactId>icepush</artifactId>
</exclusion>
</exclusions>
Add to icepush dependency:
<exclusions>
<exclusion>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
</exclusions>
To build all the tutorials:
cd tutorials
DIRS=$(find . -type d -depth 1 -name "[^.]*")
for td in $DIRS; do cd $td; mvn clean package; cd ..; done
Made the ant build of the tutorials only add the jstl jar when compat=true, to match how Maven has a jstl dependency on icefaces-compat.
- Renamed booking-icefaces to spring-booking-tutorial.
- Updated all the libraries to the newest versions.
- Upgraded the spring-security configuration from 3.0 to 3.1.
- Modified it to use ACE components instead of compat components.
- Removed the included le-frog theme files, and temporarily made the tutorial use the built-in sam theme, until we make le-from.jar be accessible from maven.
- Made the web.xml and faces-config.xml files follow the standard pattern of the other tutorials.
- Fixed application bugs:
1. Couldn't handle reservations longer than 47 days due to integer overflow.
2. Couldn't cancel reservation or cancel from hotel selection due to dataTable var collision with bean name.
3. Made the credit card expiry years always be current
When ICE-9226 is completed, the spring-booking-tutorial can then make use of the le-frog theme.
This doesn't include Maven builds inheriting from the org.icefaces.tutorial.ace.base artifact.
was:Some tutorial POM files reference outdated releases (2.0) and should be updated and tested with the newest release (if they haven't already been via an Ant build).