Last modified 12 years ago Last modified on 01/10/09 21:29:28

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt
Error: Macro TicketQuery(summary=PLUGIN_DECOMPOSITION_R2, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block



In this revision the modularization should be continued and well documented.

Task requirements

  • Create a component diagram of all of the existing (and planned for the near future)
    • Modules
    • Extension points
    • Extensions
  • Review existing code (messy), identify suitable code for modularizing
  • Apply the decomposition
  • Ensure that the modules are
    • Well defined
    • Have proper packages
    • Resources and modules are in place.

Document results for each module!

Task result

A diagram stored in the repository and linked in the wiki. New modules (source code).

Implementation idea

  • You can generate dependency tree in plain text format using the command mvn dependency:tree.
  • Use the dependency plugin
  • Describe the new modules created.
  • Rename the wrong named modules (org.sophie2.func.file to org.sophie2.main.func.file, layout.vldocking to main.layout.vldocking, base.scene.jogl to main.scene.jogl


How to demo

Show the new modules and the dependency diagram.


  • The dependency tree is generated using mvn dependency:tree command in sophie2-platform folder. Here is the corresponding diagram:


  • The extensions and extension points defined in the project now are:


  • There is no more time for this task and that's why there are listed only the extensions/extension points which are currently defined in sophie2-platform.
  • Something like a legend for the upper diagram for clear understanding about the arrows and components is created:


  • Renaming of the modules should be performed as it is described in the implementation idea. Do not forget to rename also the packages in the classes.
  • Wrong dependencies should be removed. They are main.view -> base.model.resources and media.fobs -> core.modularity.
  • Edit the base pom.xml and add information about the new developers.


  • All steps from the design are completed.
  • author.bundles.config is edited.

1295 1296 1293 1292 1290 1288 1287



(Write comments for this or later revisions here.)