Goal
The goal is to develop a strategy to migrate all existing Glast projects from Maven1 to Maven2 is as unobtrusive a way as possible. The reasons to switch to maven2 are
- Support for maven1 is fading away
- Netbeans6, due to be released before end-of-year, has support for maven2 built-in (but not maven1)
- Maven2 has many improvements, including simpler dependency management
We will not be able to move all projects over-night, so we need a strategy for which order to move projects, and how projects which have moved can continue to co-exist with projects which have not moved. We will need to provide clear instructions to developers to allow them to move their projects.
We should start with some simple projects, like org-glast-groupmanager.
Requirements
...
- Ability to check projects out and build them in Netbeans
- Ability to deploy projects using the built-in netbeans tomcat server (Netbeans deploy)
- Ability to use in-place deploy so that JSP pages can be edited and the effects seen immediately without the need to redeploy
- Ability to deploy projects from netbeans to the development (tomcat03) and production (tomcat*) tomcat servers.
...
of this page is to keep track of our progress in ensuring that we will be able to support and maintain Fermi Data Handling code for the next decade.
The plan is to make sure that all projects have been:
- identified as active or inactive
- migrated to maven2
- converted to using SRS code base or generalize and turn into an SRS project
- added to SRS Hudson (and removed from Glast Hudson)
Once all the projects have been added to Hudson we have to make sure that:
- Each automated build will publish SNAPSHOT artifacts to the appropriate repository
- The documentation and javadoc are automatically built and deployed to the appropriate site directory
- It is possible to release the projects in Hudson
Eventually all Fermi web appilcations, servers, scripts etc currently in production must be replace with the converted code.
Applications
The following we applications are either old or not linked to a specific project
Application | Comment |
---|---|
LatOps | Obsolete we application. It is still on tomcat11 to get documentation off of it. Not linked from glast-ground. |
maven2 | Fermi Maven2 repository |
docs | Maven generated documentation. It points to /nfs/slac/g/glast/ground/docs/ |
workbook | Redirects to new workbook location: http://www.slac.stanford.edu/exp/glast/wb/prod/ |
DataPortalWiredBeta | Test version of DataPortalWired |
DataPortalFitsSkimmer | To be removed |
DataPortalGateway | Maybe we don't need it anymore |
Installer | Will become Obsolete |
Projects moved to SRS
The following projects have been generalized.
Project Name | Was | Comments | Contact | Application |
---|---|---|---|---|
org-srs-base-application | org-glast-base-application |
| max |
|
org-srs-base-application-gui | org-glast-base-application |
| max |
|
org-srs-batch-allocations |
| Genral application for batch share. Lined in from Pipeline | chee |
|
org-srs-commons-web | org-glast-commons-web |
| max | Commons |
org-srs-datacat-client | org-glast-datacat-client |
| brian |
|
org-srs-datacat-server | org-glast-datacat-server | This is the Crawler | tony |
|
org-srs-datacat-sp | org-glast-datacat-sp |
| brian |
|
org-srs-datacatalog-web | org-glast-datacatalog-web | Is this in production for Fermi? | brian | DataCatalog |
org-srs-datahandling-common | org-glast-datahandling-common |
| brian |
|
org-srs-datainfo | was a part of org-glast-base-application |
| max |
|
org-srs-decorator | was a part of org-glast-base-web |
| max | Decorator |
org-srs-groupmanager | org-glast-groupmanager |
| karen | GroupManager |
org-srs-jobcontrol | org-glast-jobcontrol | An instance of this is running for test. Production is still glast. | tony |
|
org-srs-pipeline-client | org-glast-pipeline-client |
| tony/brian |
|
org-srs-pipeline-server | org-glast-pipeline-server |
| tony/brian |
|
org-srs-pipeline-web | org-glast-pipeline-web |
| tony/brian |
|
org-srs-pipeline-sp |
| New Package, this was pulled out of org-srs-pipeline-server for easier maintenace. | tony/brian |
|
org-srs-servermapping | org-glast-servermapping |
| max |
|
org-srs-servermonitoring-web | org-glast-servermon-web |
| max |
|
org-srs-shiftschedule-web | org-glast-shiftschedule-web | Is this in production for Fermi? | chee |
|
org-srs-tomcat-deploy-maven-plugin | org-glast-tomcat-deploy-maven-plugin |
| max |
|
org-srs-web-base | org-glast-base-web |
| max |
|
org-srs-resources-web | Contains part of org-glast-resources |
| chee |
|
org-srs-image-handler-web |
|
| max | ImageHandler |
org-srs-portal-web |
|
| max | ROOT |
org-srs-cas | Replaces org-glast-cas-server |
| max | cas-srs |
org-srs-downloadmanager | Replaces org-glast-downloadmanager |
| max | DownloadManager |
Converted Projects
...
Project Name | Comments | Contact | Application |
---|---|---|---|
org-glast-dataportal-model | Tag library needed by data portal web applications | brian |
|
org-glast-dataportal-portal | Still needed, part of data portal (Fermi specific) | tony | DataPortal |
org-glast-dataportal-astro | Part of astro server. Already done? | brian | DataPortalAstroServer |
org-glast-dataportal-astro-model | This is part of the astro server. Isn't it already converted? | brian |
|
org-glast-dataportal-simpleskimmer | Unnecessary dependence on aidatld(?). Still used, part of data portal | tony | DataPortalSimpleSkimmer |
org-glast-dataportal-history | Still needed, part of data portal (Fermi specific) | tony | DataPortalHistory |
org-glast-dataqualitymonitoring |
| max |
|
org-glast-dataqualitymonitoring-web |
| max | DataQualityMonitoring |
org-glast-eventdisplay | auxiliary project for org-glast-dataportal-wired | dima |
|
org-glast-dataportal-wired | builds and deploys webstart version of wired | dima | DataPortalWired |
org-glast-groupmanager-updater | Need to complete transition to UM tables | chee |
|
org-glast-isoc-common |
| steve |
|
org-glast-maven-project |
| max |
|
org-glast-maven-war-project |
| max |
|
org-glast-maven-jar-project |
| max |
|
org-glast-reports-web | Depends on SNAPSHOT version of jas-plotter on a branch. | max | Reports |
org-glast-runquality |
| karen | RunQuality |
org-glast-telemetry-trending |
| max |
|
org-glast-telemetry-trending-web |
| max | TelemetryTrending |
org-glast-resources | Inherits from org-srs-resources-web and has | chee | Resources |
org-glast-isoc-logging |
| steve,jim | ISOCLogging |
org-glast-dataprocessing-web |
| max | DataProcessing |
org-glast-systemtests-web |
| max | SystemTests |
org-glast-telemetry-apidstats |
| jim | APIDStats |
org-glast-latba-web |
| dan k | LATBA |
org-glast-fcwebview |
| jim | FCWebView |
org-glast-isoc-cfgwebbrowser |
| jim | WebConfigBrowser |
org-glast-isoc-mpwebview |
| jim | MPWebView |
org-glast-telemetry-rtdisplay-web |
| jim | TelemetryTableWebUI |
org-glast-telemetry-monitor-web |
| jim | TelemetryMonitor |
org-glast-historyprocessing |
| karen | HistoryProcessing |
org-glast-speakersbureau-web |
| karen | SpBureau |
org-glast-releasemanager | Contains both new rm2 and old releasemanager application | karen | rm2 |
org-glast-latcatalog-web |
| roberto | LatSourceCatalog |
org-glast-aspdataviewer-web |
| roberto | ASPDataViewer |
org-glast-elog-base | Base library for OpsLog | tony |
|
org-glast-elog-web | Ops Log web application | tony | elog,Entries |
org-glast-countdown-clock | Generates this page... http://glast-ground.slac.stanford.edu/CountdownClock/ | tony | CountdownClock |
org-glast-glossary | Produces this: |
...
Possible additional features
- Right now there is a lot of boiler-plate code which has to be copied into each new Glast project. For freehep Mark set things up so their was a master project which other projects inherited from so that we didn't have to repeat the same information in each sub-project. A maven "archetype" for Glast projects might also be a good way to achieve this.
- Now that we have 12 tomcat servers it is difficult to remember which server each application should be deploy to. It would be nice to be able to do something like mvn -Dmode=prod tomcat:deploy and have the application automatically deploy to the correct location. This would require some type of custom maven plugin which would talk to the glastgen database.
For Users
Tomcat manager authentification
To be able to deploy to a tomcat server it is necessary to provide the manager's username and password. This can be done in a file called settings.xml located in your HOME\.m2 directory.
For GLAST you have to add the glastServer server element as shown below:
...
max | glossary | ||
org-glast-installer-gui |
| tony | SConsInstaller |
Projects to convert
Module Name | Comments | Contact | Application |
---|---|---|---|
org-glast-cas-server | Backend of login server. Still needed unless we are switching to crowd | max | cas |
Not to be converted
Module Name | Comments | Contact | Application |
---|---|---|---|
tomcat | Doesnt need to be converted | tony |
|
TomcatConfigurationBuilder | Netbeans project | tony |
|
oracle | Doesnt need converting | tony |
|
org-glast-monitor | Standalong monitoring (http://glastlnx20.slac.stanford.edu:5080). Can be left where it is | tony |
|
Obsolete Projects
We might consider either moving them from cvs or disabling them
Module Name | Comments | Contact | Application |
---|---|---|---|
org-glast-downloadmanager |
|
|
|
org-silicondetecor-web | Not Needed Anymore | karen | SiliconDetectorWeb |
org-glast-dataflow-web |
|
|
|
org-glast-util-grep |
|
|
|
org-glast-calibrationtrending-web |
|
| CalibrationTrending |
org-glast-calibrationtrending |
|
|
|
org-glast-logging |
|
|
|
org-glast-clock | Produces the clock applet on https://glast-ground.slac.stanford.edu/LatOps/. I think we should declare the whole of LatOps obsolete. | tony |
|
org-glast-groupmanager-example |
|
|
|
org-glast-confluence | Obsolete (replaced by crowd). Still contains some potentially useful code so should not be lost forever. |
|
|
org-glast-dataserver-web |
|
|
|
org-glast-dataserver-portal |
|
|
|
org-glast-dataportal-xroot-gateway | Obsolete (folded into data catalog) |
|
|
org-glast-skimmer-web |
|
|
|
org-glast-dataportal-skimmer-fits | Obsolete (although still running, should be removed from data portal) |
|
|
org-glast-asp-skimmer |
| roberto |
|
org-glast-visitor-web |
|
|
|
org-glast-maven-jar-archetype |
|
|
|
org-glast-maven-war-archetype |
|
|
|
org-glast-maven-aida-project | Replaced by org-srs-maven-aida-project |
|
|
org-glast-base-web | Replaced by org-srs-web-base |
|
|
org-glast-tomcat-deploy-maven-plugin | Replaced by org-srs-tomcat-deploy-maven-plugin |
|
|
org-glast-shiftschedule-web | Replaced by org-srs-shiftschedule-web | ShiftSchedule |
|
org-glast-servermon-web | Replaced by org-srs-servermonitoring-web | ServerMonitoring |
|
org-glast-servermapping | Replaced by org-srs-servermapping | ServerMapping |
|
org-glast-pipeline-web | Replaced by org-srs-pipeline-web | Pipeline-II |
|
org-glast-pipeline-server | Replaced by org-srs-pipeline-server |
|
|
org-glast-pipeline-client | Replaced by org-glast-pipeline-client |
|
|
org-glast-jobcontrol | Replaced by org-srs-jobcontrol |
|
|
org-glast-datahandling-common | Replaced by org-srs-datahandling-common |
|
|
org-glast-datacatalog-web | Replaced by org-srs-datacatalog-web |
|
|
org-glast-datacat-sp | Replaced by org-srs-datacat-sp |
|
|
org-glast-datacat-server | Replaced by org-srs-datacat-server |
|
|
org-glast-datacat-client | Replaced by org-srs-datacat-client |
|
|
org-glast-commons-web | Replaced by org-srs-commons-web |
|
|
org-glast-base-application | Use now org-srs-base-application or org-srs-base-application-gui |
|
|
org-glast-tld-timeline | Used to be standalone application but now it is in MPWebView | jim, steve |
|
org-glast-cas-client-example | first Matt's example using ageci | tony |
|
org-glast-fcmonitor |
| bryson |
|
org-glast-fcwebview-portlet |
| max |
|
org-glast-portlet |
| max |
|
org-glast-portlet-base |
| max |
|
org.glast.portlet |
| max |
|
org-glast-portlets |
| max |
|
org-glast-skeleton-portlet |
| max |
|
org-glast-portal-theme |
| max |
|
org-glast-grbmonitoring-web |
| roberto |
|
org-glast-asdc-sourceviewer |
| roberto |
|
org-glast-asp-sourceviewer |
| roberto |
|
datacatalog-web |
| tony |
|
org-glast-datamonitoring |
| max |
|
org-glast-web-base-application |
| max |
|
org-glast-datamonitoring-web |
| max |
|
org-glast-trendable-db |
| max |
|
org-glast-pipeline-log |
| tony |
|
org-glast-pipeline-xml |
| tony |
|
org-glast-pipeline-core |
| tony |
|
org-glast-batch |
| tony |
|
org-glast-telemetry-trends |
| max |
|
org-glast-sourcemonitoring |
| max |
|
org-glast-sourcemonitoring-web |
| max |
|
org-glast-maven-web-project |
| max |
|
org-glast-fastmonitoring |
| max |
|
org-glast-fastmonitoring-web |
| max |
|
org-glast-maven-plugin-parent |
| matt |
|
org-glast-maven-xmlbeans-plugin |
| matt |
|
org-glast |
| matt |
|
org.glast.test |
| matt |
|
org-glast-hello |
| matt |
|
org-glast-profile |
| matt |
|
org-glast-common |
| matt |
|
org-glast-runquality-web |
| karen |
|
org-glast-historyprocessing-web |
| karen |
|
org-glast-mc-requests |
| karen |
|