TASK_INDEX
ITERATION_02
UNPLANNED_TEST_TRACKING_MAINTENANCE_R1b
S2S_TESTING_SERVER_R0
PLUGIN_DECOMPOSITION_R1
UNPLANNED_TEST_TRACKING_MAINTENANCE_R1b/ManualTests
APP_PLUGIN_STARTUP_R0
PLUGIN_EDITIONS_STRUCTURE_R2
Analysis
Overview
We should define a new set of plug-ins, which is packed and combined to construct the Reader part of Sophie2 Project (there are three main parts - the Author, the Reader and the Server). Keep in mind that a plug-in which is part of the Author may also be part of the Reader.
Task requirements
In this revision of the task:
- we should create Reader edition of Sophie 2.0 which
- there should be difference between author and reader edition (at least one plug-in)
- the project should run through a real OSGI container, not through our fake one
- we should update PLUGIN_EDITIONS_STRUCTURE page
Task result
New Reader edition for the project Updated PLUGIN_EDITIONS_STRUCTURE page
Implementation idea
- use PLUGIN_EDITIONS_STRUCTURE to make new Reader edition
- get into the OSGI implementation Apache Felix we use reading some examples: http://felix.apache.org/site/apache-felix-application-demonstration.html
Related
How to demo
Show the new edition in the project.
Design
- Look at PLUGIN_EDITIONS_STRUCTURE
- The reader and author differ in:
- Create a Server edition containing:
- Results from S2S_ tasks in this iteration
- non-GUI modules
- plug-in that embeds an application server
- Running using OSGI
- Using service based application hosting(embedding) Felix.
- Correct the paths to other plug-ins that should be automatically started in Author/Reader Activator class
- Fix exported libraries in org.sophie2.author.Activator.main
- Move Main class and org.sophie2.messy.base.GUI package in messy package
- Add new run configuration
- Fix SophieModule in order to register/unregister OSGI services
- Write a method that collects available modules and adds them to the auto-loaded ones.
- Searcing in the /modules catalog in deployed application
- Searching in /modules/<modulename>/target in the project
- Create a maven goal, that makes the distribution(deployment) of the project. This could be achieved through the assembly maven plug-in
Implementation
- A new launch configurations were added trunk/sophie2-platform/dev-tools/author.TrueAuthorMain.launch and trunk/sophie2-platform/dev-tools/server.TrueServerMain.launch. They run the application and the server respectively using Apache Felix. The JSPs of the server cannot be deployed for now. May be it should be done the next revision of the task.
- The main method of the Main class of the launcher module was refactored:
- Added runtime libraries to the exported classpath
- Corrected the paths to the initially loaded bundles
- Added new modules to the initially loaded bundles
- Corrected the start method of the SophieModule class in order to correctly process extensions and extension points
- Added a start method to the SophieExtensionPoint class that is used to manage the extensions available for each extension point
- Corrected the <Embed-Dependency> instruction in pom.xml files of all modules.
- Corrected packging of some modules.
- cglib posed a serious issue so it is temporally disabled. This concerns all logics.
- changed all concrete logics' constructors visibility to public
- removed an assertion in Logic contructor
- disabled cglib usage in makeInstance method of Logic class
- the assembly plugin is integrated and used for packaging Sophie 2. The maven goal is assembly:directory. It creates the directory structure in the main target dir(sophie2-platform/target) containing the module folders and its jars inside them.
- the application is now runnable outside the development environment and can be started through command line using the build scripts located in trunk/sophie2-platform/src/main/resources
- all of the above is correct for revision 694
Testing
Comments
Log
Analysis: Pav (done: 35m)
Review: 2 by Pap. I think that update to PLUGIN_EDITIONS_STRUCTURE should be included in the requirements.
Analysis 2: Pav (done: 10m)
Review: 3.5 by Pap
Design: Pap (done: 4h)
Review: 3.5 by Pav (done: 15m). Note that maven already has a goal for the assembly plug-in.
Implementation: Pap (done - 4d). Overtimed and still incomplete
Testing:
Comments:
