Version 8 (modified by pav, 16 years ago) (diff) |
---|
Analysis
Overview
The goal of this group of tasks is to finalize all the things from the other two revisions of the deployment and to try to run Sophie 2 with Java 1.5 version.
Task requirements
- FileEntryManager should be refactored not to depend on static things and util methods should be separated in utility class.
- Rpm and dep packages should be created. Rpm package generation should be automated.
- Under Mac and Linux bug with the resource directory that is named with %20% in its name should be fixed.
- Script for daily update of applet and jws Sophie jars should be created.
- JWS local storage on user machine should be implemented.
- Applet should not have to be run twice to launch Sophie 2.
- Installer can be optimized to create runnable shortcut under linux. Some readme.txt can be created too.
- Make a try to run Sophie 2 under Java 1.5.
- Create MacOS packages that use macOS menu bar.
Task result
New packages, java web start local storage, daily update of applet and jws jars, better installer
Implementation idea
- See the implementation ideas from the other revisions(r1 and r0).
- Use jar bundler under MacOS.
- Discuss how to prevent static paths in the entry manager.
- Create new FileSearchUtil class where all the utility methods will be available.
Related
GROUP_DEPLOYMENT_R0
GROUP_DEPLOYMENT_R1
How to demo
- Demonstrate all the packages, applet and jws running and resource folders created on the user machine.
Design
- FileEntryManager and FileSearchUtil class diagram follows:
- First I'll note which system propeties should be used for help cleaning the static paths from FEM:
- sophie2.development - True if Sophie 2 is launched under Fake or True launchers in Eclipse
- sophie2.testing - True if we are in testing phase.
- sophie2.config.file - String with the config file location
- java.class.path - the class path which is used under fake to gather the module names
- user.dir - location of the current user directory
- sophie2.module.paths - String with the location of all the modules to target/classes(or target/test-classes) folder. This is done because there is no other (known) way(under Fake launch) to extract the paths to the sophie modules. The java class path didn't do the work because there are some other packages and we use prefix to extract only org.sophie2 modules, but if the prefix become different a problem will occur.
- Some of the logic how the things work for the FileEntryManager should be changed:
- fillFakeModulePaths should not fill the paths using the class path but the sophie2.module.paths system property.
- in roRoots there is no need to append target/classes and target/test-classes suffixes to the paths because src/main(test)/resources locations won't be read only roots anymore. All resources should be searched in target folder where are the compiled classes.
- rwRoot - tmp-distrib folder(created under Fake and True for shared entries for writing) has to be stored in launcher/tmp-distrib but has to be ignored from the svn. This way we can save the configurations for the next launch of Sophie 2.
- getEntry method can check if the entry file exists and after this returing it.
- About the FileSearchUtil:
- The URI and URL classes has to be used except String everywhere is possible, because they manage to deal with the protocols before the location addresses.
- Each exception has to be caught and logged with appropriate message.
Implementation
(Describe and link the implementation results here (from the wiki or the repository).)
Testing
(Place the testing results here.)
Comments
(Write comments for this or later revisions here.)