SPO build notes

Build 20080903

Sakai 2.5.x r51715 https://source.sakaiproject.org/svn/sakai/branches/sakai_2-5-x/
config-editor 2.5.x https://source.sakaiproject.org/contrib/config-editor/branches/2.5.x/

The config-editor requires application of a couple of patches to work. Since there is as yet no anonymous viewing of the editor I've removed it from the build.

content-viewer trunk r52678 https://source.sakaiproject.org/contrib/content-viewer/trunk/
sakai-feeds 1.1.1 https://source.sakaiproject.org/contrib/ufp/newsfeeds/tags/1.1.1/

sakai-feeds which I had originally named "newsfeeds" failed to build. I then added the following jars to the .m2 repo that are included in newsfeed/lib.

mkdir -p ~/.m2/repository/org.wicketstuff/jars/
cp lib/wicketstuff-dojo-1.3.0-SNAPSHOT.jar ~/.m2/repository/org.wicketstuff/jars/

mkdir -p ~/.m2/repository/commons-httpclient/jars
cp lib/commons-httpclient-contrib-3.0-beta1.jar ~/.m2/repository/commons-httpclient/commons-httpclient-contrib/3.0-beta1

The build then failed because the feeds impl jar could not be opened in .maven. I whacked the .maven repo and started anew. This fixed the problem.

markup 0.3.0 https://source.sakaiproject.org/contrib/whyte/markup/tags/0.3.0/
sakai-wicket 2.5.x https://source.sakaiproject.org/contrib/wicket/sakai-wicket/branches/sakai_2-5-x/
required for sakai-feeds
sakai-maps 2.5.x https://source.sakaiproject.org/contrib/sakai-maps/branches/2.5.x/
edia-sakai-utils 2.5.x https://source.sakaiproject.org/contrib/skin-manager/edia-sakai-utils/branches/2.5.x/
required for sakai-maps
sitestats 1.2 https://source.sakaiproject.org/contrib/ufp/sitestats/tags/sitestats_1-2/
timeline trunk r52677 https://source.sakaiproject.org/contrib/whitman/timeline/trunk/

Files to add/modify before build

  1. Skins. Get the skins directory from the previous build and copy it to the reference project.
  2. index.html Get the index.html redirect and add to webapp/ROOT
  3. headscripts.js search on "fudge" and set tool height extra padding = 3.
  4. macros.vm add Google Analytics
// here we fudge to get a little bigger
var newHeight = height + 3;

Build and deploy "spo" maven profile

Check base pom.xml files of contrib projects to ensure their <parent><version> = M2.

mvn -Pspo clean install sakai:deploy

Tomcat additions

After the deploying the build to Tomcat, get the following files from the previous production build and copy to the new build:

  1. $CATALINA_HOME/sakai/sakai.properties
  2. $CATALINA_HOME/conf/server.xml (includes key Apache HTTP server configuration settings)
  3. $CATALINA_HOME/conf/tomcat-users.xml

Markup tool

Remember to reset property in components.xml

Tomcat permissions

Once the build is in place change the ownership permission to $CATALINA_HOME to "tomcat" and restart Tomcat.

chown -R tomcat:tomcat tomcat

Maven profile

<profile>
      <id>spo</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
     <modules>
        <module>access</module>
        <module>alias</module>
        <module>announcement</module>
        <module>archive</module>
	<module>authz</module>
        <module>blog</module>
        <module>calendar</module>
        <module>cluster</module>
        <module>component</module>
        <!-- <module>config-editor</module> -->
        <module>content</module>
        <module>content-review</module>
	<module>content-viewer</module>
        <module>courier</module>
        <module>course-management</module>
        <module>dav</module>
        <module>db</module>
	<module>edia-sakai-utils</module>
        <module>email</module>
        <module>entity</module>
        <module>entitybroker</module>
        <module>event</module>
        <module>help</module>
        <module>jobscheduler</module>
        <module>jcr</module>
        <module>jsf</module>
        <module>linktool</module>
        <module>login</module>
        <module>mailarchive</module>
	<module>mailtool</module>
	<module>markup</module>
	<module>master</module>
        <module>memory</module>
        <module>message</module>
        <module>metaobj</module>
        <module>podcasts</module>
	<module>polls</module>
        <module>portal</module>
        <module>presence</module>
        <module>privacy</module>
        <module>profile</module>
        <module>providers</module>
        <module>reference</module>
	<module>reset-pass</module>  
        <module>rights</module>
        <module>roster</module>
        <module>rwiki</module>
        <module>sakai-feeds</module>
	<module>sakai-maps</module>
	<module>sakai-mock</module>
	<module>sakai-wicket</module>
        <module>search</module>
        <module>sections</module>
        <module>site</module>
        <module>site-manage</module>
	<module>sitestats</module>
        <module>test-harness</module>
        <module>textarea</module>
        <module>timeline</module>
        <module>tool</module>
        <module>user</module>
	<module>usermembership</module>
        <module>util</module>
        <module>velocity</module>
        <module>web</module>
        <module>webservices</module>
	</modules>
    </profile>