h2. *UNDER CONSTRUCTION* {indent} {color:green}Help is available by sending an email to [mailto:csf-support@mit.edu]{color} {indent} {panel} Quick Links to: {toc:minLevel=3|maxLevel=3} {panel} {panel} {anchor:Picking a projectName and a projectArtifactId} h3. Picking a projectName and a projectArtifactId {indent:1} The first thing that must be done is to pick a *projectName* and a *projectArtifactId*. These will be used throughout the life time of your project. \\ \\ The *projectName* is a short acronym that is used to uniquely identify your project. The *projectArtifactId* is the application context under which your project war file will be deployed to the OC4J server. \\ \\ Once the *projectName* and *projectArtifactId* have been selected, they should not be changed. \\ \\ Here are a few examples of what other project have used in the past: {indent} {indent:2} ||projectName||projectArtifactId||project description| |ssb|sfs-ssb|student sponsored billing| |ogs|ogs|online grade submission| |onlinereg|onlinereg|online registration| |iap|iap|individual activities period| {indent} \\ {panel} {panel} {anchor:Installation of the project war component using the war-template} h3. Installation of the project war component using the war-template * {color:red}This setup assumes that you have completed the [Workstation configuration | Getting Started#Workstation configuration] as found on the [CSF Home - Getting Started | Getting Started] tab. If you have not completed the [Workstation configuration | Getting Started#Workstation configuration], please do so [*now* | Getting Started#Workstation configuration].{color} # Run Eclipse. Go to *File > New > Other...*. Scroll down to *Maven* and expand then select *Checkout Maven Projects from SCM* as shown in the following panel. \\ {indent:2} !setupWarTemplate002.jpg! {indent} When satisfied that everything is correct, click *Next*. \\ # Do the following: {indent:1} * From the *SCM URL:* dropdown, select *snv*. * Uncheck *Checkout All Projects*. * Copy and pasted the following URL into the *SCM URL:* input field. {indent} {indent:2} {code} svn+ssh://svn.mit.edu/es-projects/es-project-template/war-template/trunk {code} {indent} When done the panel should be identical to the following: \\ {indent:2} !setupWarTemplate004.jpg! {indent} When satisfied that everything is correct, click *Next*. \\ # If you want the change the *Workspace location*, uncheck the *Use default Workspace location* and enter the path to the desired workspace. \\ {indent:2} !setupWarTemplate006.jpg! {indent} When satisfied that everything is correct, click *Finish*. \\ # Verify the Maven Project that is being imported. The *Import Maven Projects* panel should be identical to the following panel. \\ {indent:2} !setupWarTemplate008.jpg! {indent} When satisfied that everything is correct, click *Finish*. \\ # When the project is opened, your *Eclipse - Project Explorer View* should look as follows: \\ {indent:2} !setupWarTemplate010.jpg! {indent} Right click on the project and select *Team > Disconnect* \\ # When following *Confirm Disconnect from SVN* is displayed, select *Also delete the SVN meta-information from the file system*.. \\ {indent:2} !setupWarTemplate012.jpg! {indent} When satisfied that everything is correct, click *Yes*. \\ # Open the Eclipse - *Navigator View* {indent:2} * expand the *projectArtifactId* project, * delete the *.settings* file. {indent} # Open the Eclipse *Project Explorer View*. The view should look as follows: \\ {indent:2} !setupWarTemplate014.jpg! {indent} Right click on the project and select *Refactor > Rename...*. Replace *projectArtifactId* with the projectArtifactId that you have previously selected. \\ {indent:2} *Note*: You might want to append a *-war* to the projectArtifactId to denote that this is the war component of your project. {indent} \\ For example: If my projectArtifactId was *att*, then my panel would look like the following: \\ {indent:2} !setupWarTemplate016.jpg! {indent} When satisfied that everything is correct, click *OK*. \\ # The *Eclipse - Project Explorer View* should look similar to the following: \\ {indent:2} !setupWarTemplate018.jpg! {indent} Right click on the project and select *Team > Share Project...* \\ # Select *SVN* as shown below: \\ {indent:2} !setupWarTemplate020.jpg! {indent} When satisfied that everything is correct, click *Next*. \\ # Select *Create a new repository location* as shown below: \\ {indent:2} !setupWarTemplate022.jpg! {indent} When satisfied that everything is correct, click *Next*. \\ # Enter a desired SVN URL for your project. For example: {indent:1} Keep in mind that there are at least 2 component for every project, a WAR and a JAR. You Should keep all project components grouped together in the same SVN directory. A logical grouping would be by the projectName that you selected. If my projectName were *att*, then the SVN URL would be *svn+ssh://svn.mit.edu/es-projects/att*. This would mean that my war project would be created under the *es-projects/att* directory in the SVN repository. This is shown in the following panel: {indent} {indent:2} !setupWarTemplate024.jpg! {indent} Don't forget to enter your *User* name and *Password*, When satisfied that everything is correct, click *Finish*. \\ # When the following panel is display notifying you that a new SVN entry will be created: \\ {indent:2} !setupWarTemplate026.jpg! {indent} When satisfied that everything is correct, click *OK*. \\ # Do the following: {indent:1} * In the *Advanced Mode* section, select *Use project name*. * In the *Project Repository Layout* section, select *Use single project layout*. * Check *Use Subversion recommended layout ('trunk', 'branches' and 'tags')* check box. {indent} The panel should be as illustrated in the following panel: \\ {indent:2} !setupWarTemplate028.jpg! {indent} When satisfied that everything is correct, click *Finish*. \\ # Nothing to do here. This is an information panel similar to the following panel: \\ {indent:2} !setupWarTemplate030.jpg! {indent} When satisfied that everything is correct, click *Finish*. \\ # When a panel similar to the one below is display, enter a comment. This is the initial SVN check-in (svn commit) for the WAR project: \\ {indent:2} !setupWarTemplate032.jpg! {indent} When satisfied that everything is correct, click *OK*. \\ # When the SVN commit has completed, the *Eclipse - Project Explorer View* should look similar to the following. \\ {indent:2} !setupWarTemplate034.jpg! {indent} \\ h4. {color:green}Installation of the project war component using the war-template is now complete.{color} {panel} {panel} {anchor:Customizing the project WAR} h3. Customizing the project WAR {panel} # Run Eclipse and open a *Project Explorer View* and open the Maven WAR project that you want to customize. Your *Project Explorer View* should look similar to the following: \\ {indent:2} !customizeWar002.jpg! {indent} \\ # Expand your project, then expand *src/main/resources*. Your *Project Explorer View* should look similar to the following: \\ {indent:2} !customizeWar004.jpg! {indent} \\ # Open the *applicationContext-projectName-config.xml* for editing and change the following lines substituting your project name for *projectName*. The are 5 occurances of *projectName* that have to be changed. \\ * <bean id="*projectName*WebMappingResources" class="org.springframework.beans.factory.config.ListFactoryBean" parent="hibernateCsfProjectNameMappingResources"> * <bean id="projectNameWebMappingResources" class="org.springframework.beans.factory.config.ListFactoryBean" parent="hibernateCsf*ProjectName*MappingResources"> * <bean id="hibernateMappingResources" class="org.springframework.beans.factory.config.ListFactoryBean" parent="*projectName*WebMappingResources"> * <value>file:${user.home}/*projectName*.properties</value> * <value>file:${user.home}/*projectName*.properties</value> \\ When you have made all the changes, the lines you have changed should look similar to the following: \\ {indent:1} <bean id="attWebMappingResources" class="org.springframework.beans.factory.config.ListFactoryBean" parent="hibernateCsfAttMappingResources"> <bean id="attNameWebMappingResources" class="org.springframework.beans.factory.config.ListFactoryBean" parent="hibernateCsfAttMappingResources"> <bean id="hibernateMappingResources" class="org.springframework.beans.factory.config.ListFactoryBean" parent="attWebMappingResources"> <value>file:${user.home}/att.properties</value> <value>file:${user.home}/att.properties</value> {indent} In the above example, *projectName* was replaced with *att* and *ProjectName* was replaced with *Att*. \\ xxxxxx {panel} {anchor:Customizing the project WAR pom.xml} h3. Customizing the project WAR pom.xml {panel} |