[[BackLinksMenu]] = Analysis = == Overview == Decomposition to plug-ins of Sophie 2 is one of the most important things to do for the project. There should be more modules decomposed from the current base modules. Keep in mind that modules, plug-ins and bundles are the same thing in our case. == Task requirements == Plug-ins should: * be divided into more plug-ins * be switchable * use actual extensions and extension points (now this is done in base.dialogs and core.modularity) == Task result == * new project structure * the project must run == Implementation idea == * use the related tasks for help == Related == [wiki:PLUGIN_DECOMPOSITION_R0] [wiki:PLUGIN_MODULE_STRUCTURE_R0] [wiki:PLUGIN_EDITIONS_STRUCTURE_R0] [wiki:PLUGIN_EDITIONS_STRUCTURE_R1] == How to demo == Show the project with the new plug-ins. = Design = * There are two new modules extracted as maven projects. * org.sophie2.main.model * org.sophie2.main.view * The '''org.sophie2.main.model''' module contains the model part of Sophie2's [wiki:CORE_MVC_BASE MVC]. This is easy to do since the model is almost entirely independent from the module messy. * The '''org.sophie2.main.view''' module contains the view part of Sophie2's [wiki:CORE_MVC_BASE MVC]. This will cause problems and ever move modules should be defined. The !AppView, !BookView, !PageView and !FrameView are all dependent on one another. What is more, they depend on the org.sophie2.main.model module and on the Logics. The !AppView is also dependent on some GUI things which are contained in the messy module. In conclusion the '''org.sophie2.main.view''' module will be created later since it has more dependencies than expected. = Implementation = * Done according to the Design. = Testing = = Comments = = Log = [[Include(PLUGIN_DECOMPOSITION_R1_LOG)]]