Changes between Version 55 and Version 56 of DEVELOPMENT_OVERVIEW
- Timestamp:
- 10/15/09 21:10:59 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DEVELOPMENT_OVERVIEW
v55 v56 3 3 4 4 = 0. The Setup = 5 This is a step-by-step tutorial for installing the tools used during Sophie 2development. [[BR]]5 This is a step-by-step tutorial for installing the tools used during Sophie 2.0 development. [[BR]] 6 6 7 7 '''Accounts creation'''. In order to communicate with team members, you must create the following accounts: … … 21 21 A sample book about subversion can be found at [http://svnbook.red-bean.com/].[[BR]] 22 22 23 '''JDK'''. Since Sophie 2is written in Java, it requires Java Development Kit (JDK) in order to develop it, and Java Runtime Environment to run it. JDK can be downloaded and installed from [http://java.sun.com]. [[BR]]23 '''JDK'''. Since Sophie 2.0 is written in Java, it requires Java Development Kit (JDK) in order to develop it, and Java Runtime Environment to run it. JDK can be downloaded and installed from [http://java.sun.com]. [[BR]] 24 24 25 25 '''Maven setup'''. Maven is a software tool for Java project management and build automation. Downloads and installation … … 28 28 [source:/trunk/sophie2-platform/old/lib/readme.txt sophie2-platform/old/lib/readme.txt] and read the bottom lines. [[BR]] 29 29 30 '''Eclipse setup'''. The software platform we use for developing Sophie 2 is Eclipse. First of all, the installation.31 Download the latest eclipse version from [http://www.eclipse.org/downloads/] and install it to your computer. Then, modify your compiler settings according to the [wiki:COMPILER_SETTINGS] document. The next two steps, Subclipse installation and Maven integration, are described in [wiki:PLATFORM_INFRASTRUCTURE_OVERVIEW#EclipsePlug-ins]. The most important for these is that they are eclipse plugins, which integrate the subversion and maven functionalities in Eclipse. The M2 plugin is required for loading our maven project in eclipse. Once you have installed the plugins, you can follow the steps from [wiki:PLATFORM_DEPLOYMENT_BUILD_ECLIPSE], which describes how to import Sophie 2in Eclipse and run the FakeAuthor configuration. [[BR]]32 You already have everything needed to develop Sophie 2:)30 '''Eclipse setup'''. The software platform we use for developing Sophie 2.0 is Eclipse. First of all, the installation. 31 Download the latest eclipse version from [http://www.eclipse.org/downloads/] and install it to your computer. Then, modify your compiler settings according to the [wiki:COMPILER_SETTINGS] document. The next two steps, Subclipse installation and Maven integration, are described in [wiki:PLATFORM_INFRASTRUCTURE_OVERVIEW#EclipsePlug-ins]. The most important for these is that they are eclipse plugins, which integrate the subversion and maven functionalities in Eclipse. The M2 plugin is required for loading our maven project in eclipse. Once you have installed the plugins, you can follow the steps from [wiki:PLATFORM_DEPLOYMENT_BUILD_ECLIPSE], which describes how to import Sophie 2.0 in Eclipse and run the FakeAuthor configuration. [[BR]] 32 You already have everything needed to develop Sophie 2.0. :) 33 33 34 34 … … 37 37 '''The Goal'''. The most important part of a project is its goal. So, the goal of our project is to take the good aspects of Sophie and optimize them, add features as well as to remove others. [[BR]] 38 38 39 '''Schedule'''. The Sophie 2 project is split into about 600 tasks, each with one or more revisions (in total, about 2000). These tasks have several states, and you will learn about them in the next chapter. The tasks are divided into 12 sprints (iterations). Each sprint is about 1month long. The methodology used for the schedule of the project is not exactly SCRUM, but is similar to it. For more information what SCRUM is, read [http://en.wikipedia.org/wiki/Scrum_(development)]. [[BR]]39 '''Schedule'''. The Sophie 2.0 project is split into approximately 600 tasks, each with one or more revisions (in total approximately 2000). These tasks have several states, and you will learn about them in the next chapter. The tasks are divided into 12 sprints (iterations). Each sprint is approximately one month long. The methodology used for the schedule of the project is not exactly SCRUM, but is similar to it. For more information what SCRUM is, read [http://en.wikipedia.org/wiki/Scrum_(development)]. [[BR]] 40 40 41 41 '''Layers'''. Task names are also grouped in several development layers: … … 43 43 * CORE: the smallest layer; it provides fundamental functionalities for every part of the platform. It includes the properties library (ProLib), logging, and modularity. 44 44 * BASE: provides basic GUI (menus, halos, palettes, layout). 45 * MAIN and EXTRA: they contain the main functionality, which makes Sophie 2a complete platform. These two are split according to the dependencies, so that MAIN does not depend on EXTRA.45 * MAIN and EXTRA: they contain the main functionality, which makes Sophie 2.0 a complete platform. These two are split according to the dependencies, so that MAIN does not depend on EXTRA. 46 46 * SCS: Sophie community server. It includes the Trac system we use, the Subversion, provides information for the external contributors. 47 * S2S: Sophie 2server. This is the server product.47 * S2S: Sophie 2.0 server. This is the server product. 48 48 * SUPPORTING_ARTIFACTS: the project schedule, the backlog and the process are categorized as supporting artifacts. 49 49 * END_PRODUCT: here are a few tasks related to application tuning and creating user help. [[BR]] … … 66 66 67 67 = 3. The Product = 68 '''Design'''. Here will be some of the main design features, which are present in Sophie 2.68 '''Design'''. Here will be some of the main design features, which are present in Sophie 2.0. 69 69 * Plugins: software units. In the context of our project, "plugin" is the same as module or bundle. In Eclipse, they are actually represented as different projects. Have a look at [wiki:PLATFORM_STRUCTURE platform structure]. There you can see where modules are located and what their structure is. 70 Decomposition to plugins of Sophie 2 is one of the most important things to do for the project. If you need to create a new module, one of the ways to do this is described in [wiki:PLATFORM_DEPLOYMENT_BUILD_ECLIPSE#Creatinganewmodule how to create a new module].70 Decomposition to plugins of Sophie 2.0 is one of the most important things to do for the project. If you need to create a new module, one of the ways to do this is described in [wiki:PLATFORM_DEPLOYMENT_BUILD_ECLIPSE#Creatinganewmodule how to create a new module]. 71 71 * Extensions / Extension points: these are used to reverse the dependencies so that we cannot have cyclic dependencies in the project. The other advantage of extensions is that they provide extensible functionality. 72 * Editions: different standalone subsets of the Sophie 2 platform. Sophie 2 has 3editions: Author, Reader and Server. The page dedicated to editions provides information about the [wiki:PLUGIN_EDITIONS_STRUCTURE plugin editions structure].72 * Editions: different standalone subsets of the Sophie 2.0 platform. Sophie 2.0 has three editions: Author, Reader and Server. The page dedicated to editions provides information about the [wiki:PLUGIN_EDITIONS_STRUCTURE plugin editions structure]. 73 73 * Distributions: the distribution is the end product a user will see on his/her hard drive after installing the edition. In order to be fully functional, a distribution has to provide executables and/or some other needed resources. The problem here is the way we provide these things, and the solution is the /distrib directory (look again at [wiki:PLATFORM_STRUCTURE platform structure]). [[BR]] 74 * High-level design. This refers to the Model-View-Controller (MVC) design pattern. Its purpose is to define how the model and the view interact with each other. There is an MVC tutorial at [wiki:CORE_MVC_BASE]. There is a problem with the standard MVC pattern: it is too complicated for this particular project. This is why Properties are introduced here. So, each model in Sophie 2 is defined by a property. This way the controller is replaced by Logics, and this simplifies the whole pattern. The properties are represented by the ProLib library, and you can read the important Properties tutorial here: [wiki:PRO_LIB_CORE_TUTORIAL]. [wiki:PRO_LIB_CORE_CODE_TEMPLATES This page] defines useful code templates for properties. [[BR]]74 * High-level design. This refers to the Model-View-Controller (MVC) design pattern. Its purpose is to define how the model and the view interact with each other. There is an MVC tutorial at [wiki:CORE_MVC_BASE]. There is a problem with the standard MVC pattern: it is too complicated for this particular project. This is why Properties are introduced here. So, each model in Sophie 2.0 is defined by a property. This way the controller is replaced by Logics, and this simplifies the whole pattern. The properties are represented by the ProLib library, and you can read the important Properties tutorial here: [wiki:PRO_LIB_CORE_TUTORIAL]. [wiki:PRO_LIB_CORE_CODE_TEMPLATES This page] defines useful code templates for properties. [[BR]] 75 75 76 76 … … 81 81 * In our mail groups (see the beginning of this document) 82 82 * In our Skype group chat (again, see the beginning of this document) 83 * In the Sophie 2 forum: [http://sophie2.org/trac/discussion/] [[BR]]83 * In the Sophie 2.0 forum: [http://sophie2.org/trac/discussion/] [[BR]] 84 84 Useful Links: 85 85 * [wiki:ImportantDocs Important Documents] [[BR]]