Changes between Version 1 and Version 2 of PLATFORM_INFRASTRUCTURE_OVERVIEW


Ignore:
Timestamp:
09/23/08 19:52:00 (17 years ago)
Author:
pavlina
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PLATFORM_INFRASTRUCTURE_OVERVIEW

    v1 v2  
    11= Platform Infrastructure Overview = 
    2  
    3 The infrastructure is all the development tools and communication channels for teamwork,  
    4  
    5 which we use to synchronize and do our work, so we make it fast and easy. Below are the  
    6  
    7 things you should have and which you should know for starting work on Sophie 2.0. 
     2The infrastructure is all the development tools and communication channels for teamwork, which we use to synchronize and do our work, so we make it fast and easy. Below are the things you should have and which you should know for starting work on Sophie 2.0. 
    83 
    94== Accounts == 
     
    2520    * username: astea 
    2621    * password: astea1 
    27  
    28 === VNC Client (optional) === 
    29  * more about the product: http://en.wikipedia.org/wiki/VNC 
    30  * download: http://www.tightvnc.com/download.html 
    31  
     22 * text editor (notepad++ for example - download: http://notepad-plus.sourceforge.net/uk/site.htm) 
     23 * web browser (we use Mozilla Firefox) 
     24 * pdf reader (Adobe Acrobat) 
     25 * flash player 
     26 * (optional) VNC Client 
     27  * more about the product: http://en.wikipedia.org/wiki/VNC 
     28  * download: http://www.tightvnc.com/download.html 
     29 * Skype 
     30  * for communication with the team 
     31  * download: http://www.skype.com/intl/en/download/skype/windows/ 
    3232=== Subversion Client === 
    33  * we use on Windows TortoiseSVN 
    34  * more info: Subversion е version control system for various kinds of files.It is  
    35  
    36 massivly used as source control for teamwork and is newer than CVS, which is old version  
    37  
    38 control program. 
     33 * more info: Subversion ? version control system for various kinds of files. It is massivly used as source control for teamwork and is newer than CVS, which is old version control program. 
     34 * example: we use on Windows TortoiseSVN 
    3935  * download: http://tortoisesvn.net/download 
    4036 * useful URLs: 
     
    4743  * http://svnbook.red-bean.com/ - book about Subversion 
    4844 
    49   * http://wiki.freaks-unidos.net/Apache2%20SSL%20and%20Subversion%20in%20Debian -  
     45  * http://wiki.freaks-unidos.net/Apache2%20SSL%20and%20Subversion%20in%20Debian - installing Subversion under debian  
    5046 
    51 installing Subversion under debian  
     47=== Development Tools === 
     48 On every machine for developing these programs must be set up: 
     49 
     50==== Java 6 ==== 
     51  * Java is general purpose programming language 
     52  * homepage: http://java.sun.com/ - the official site about Java and Java technologies 
     53  * http://java.sun.com/docs/books/tutorial/ - useful Java tutorial 
     54  * http://en.wikipedia.org/wiki/Java_Development_Kit - what is JDK 
     55  * download: http://java.sun.com/javase/downloads/index.jsp 
     56 
     57 
     58==== Eclipse 3.4 ==== 
     59  * Eclipse is a software platform comprising extensible application frameworks, tools and a runtime library for software development and management. It is written primarily in Java to provide software developers and administrators an integrated development environment. 
     60  * homepage: http://www.eclipse.org/ 
     61  * http://en.wikipedia.org/wiki/Eclipse_%28software%29 - common information 
     62  * http://www.eclipse.org/documentation/ - official documentation for Eclipse 
     63  * http://help.eclipse.org/help33/index.jsp - Workbench Tutorial -- detailed friendly tutorial for working with the Eclipse Workbench. 
     64  * https://eclipse-tutorial.dev.java.net/ -- not bad tutorial for Eclipse 
     65  * download: http://www.eclipse.org/downloads/ - for example: Eclipse IDE for Java EE Developers 
     66 
     67=== Eclipse Plug-ins === 
     68==== Subclipse ==== 
     69   * Subclipse is plug-in for SVN integration with the Eclipse IDE. It allows users to deploy Subversion in their projects. You can use source control directly from the Package Browser from the Eclipse IDE.  
     70    
     71   * Installing Subclipse 
     72    * Go to http://subclipse.tigris.org/install.html. Follow the installation instructions up to step 11. Pay special attention on step 6 - be sure to check out only the Sublicpse Update site and the Subclipse box below it (no other components are needed). 
     73         
     74 * Deploying a project in a repository 
     75  1. From the SVN repository browser create a directory for the project in the trunk folder. 
     76  1. Right click/import/choose import directory/choose the files that should be imported (only the source files, no project settings). 
     77  1. The Sophie2 project is already imported, so this is only for reference. 
     78   
     79 * Checkout the project repository 
     80  * From your OS: 
     81   1. In a new empty folder choose "Create repository here" option 
     82   1. Choose "SVN Checkout...". Enter the URL of the repository of the Sophie2 project. (the URL is SVN://TODO/sophie2 (the public IP if you intend to work from home) or SVN://asteasolutions.net:7369/sophie2 if you prefer the local IP address, best for the office computers).  
     83   1. Choose your checkout directory(sophie2-repo). It is set by default to be the empty folder in which you choose "SVN Checkout...". 
     84   1. Write your username and password for the repo(take them from Milo). Now you have local project repository. 
     85  
     86 * Importing a project under source control(SVN): 
     87  * In Eclipse: 
     88   1. Check out as a project configured using the New Project Wizard. (This way you can customize some project settings.) Finish. 
     89   1. Choose Java/Java Project/Next 
     90   1. Choose "Create project from existing source" button and browse to the trunk directory in repository with the project you want to open. 
     91   1. Next are the settings we have chosen for creating the project. We strongly recommend you use the same settings so that we could have same names while working and not commit anything else except sources in the repository. 
     92 
     93          Project name: Sophie2 
     94          Use default JRE 
     95          Create separate folders for sources and classes files.  
     96          Finish.  
     97 
     98 * Basic Functionality of Sublipse 
     99 
     100  * Once you have created a project you can use Sublipse from the package explorer of your IDE. The files and directories that are under source control are noted with a symbol in the bottom right corner of the icon. Star(asterix) is used if the file is not synchronized with the repository and a yellow cylinder is used if the files match the repository structure. In the bottom left corner of the icon appears a red "x" if there are compilation errors in the code and a yellow "!" if there are warnings. 
     101 
     102  * We must not commit source that has errors, so that all users can always build and run the current version of the project. 
     103  * We must not commit other files except source code.  
     104  * We must not commit or update the Sophie-JR folder, only the src folder. That, for example, will allow all users to make their own modifications to the workspace settings. 
     105 
     106 * "Team" menu 
     107  * Once you have imported a project from a repository, in the Package Explorer appears a new "Team" menu. 
     108   1. Update is used to get the latest version from the repository. 
     109   1. Commit is used to commit the changes that you have made on your local copy. 
     110   1. Synchronize with repository makes both update and commit at the same time. 
     111   1. Revert is used to revert the changes you have made on your local to the current version in the repository. 
     112   1. You can revert to previous versions. Just uncheck Switch to HEAD revision and choose the revision to which you want to switch 
     113 
     114 * Conflicts 
     115  * When two users (usr1 and usr2) edit the same file, usr1 commits the changes and then usr2 tries to commit a conflict occurs. Usr2 cannot commit, because usr1 has already made changes. Then merging should be done. As the merging tool of the Eclipse IDE is very poor, I suggest we use TortoiseMerge. Download TortoiseSVN from http://tortoisesvn.net/downloads. Install it. From the Eclipse IDE choose Window/Preferences/Team/SVN/DiffMerge/. Choose External editor and choose the !TortoiseMerge.exe. In the "Variables" line add the following options: 
     116/theirs:"${theirs}" /base:"${base}" /mine:"${yours}" /merged:"${merged}" 
     117Now you have integrated TortoiseMerge in Sublcipse. Whenever you get a conflict while trying to commit, choose /Team/Update. If the conflict can be automatically merged, it is done. Otherwise files with differences are created. Choose /Team/Edit Conflicts. TortoiseMerge opens and you can merge the files. On the left is the repository version, on the right your version, bellow are the results from the merge(you can edit this version). When you synchronize the files (no conflicts are left) save and from the Eclipse IDE choose /Team/Mark Resolved. You can commit now without conflicts for errors. Do visit http://tortoisesvn.tigris.org/TortoiseMerge.html for an intuitive five minutes tutorial on TortoiseMerge. 
     118 
     119==== M2 Eclipse ==== 
     120info: http://m2eclipse.codehaus.org/Maven_2.0_Plugin_for_Eclipse.html 
     121download:  
     122 
     123=== Visual Paradigm === 
     124Visual Paradigm for UML is a UML CASE Tool supporting UML 2.1. 
     125We use Community Edition - it is free. More info: http://www.visual-paradigm.com/product/vpuml/communityedition.jsp 
     126You have to register to download it: http://www.visual-paradigm.com/product/vpuml/vpumldownload.jsp?edition=ce