Preparing Development Environment
Table of Contents
Preparing Development Environment 1
Installing Required Software 1
Install Database Management Tool 2
Install Rhizome Networks Project 5
Overview
PAGE IS UNDER CONSTRUCTION – FOR REVIEW ONLY
This document cover the tasks required in order to prepare a full development environment. The document is required by open-source community members that develop sources for Rhizome Networks project
Installing Required Software
In this section you will find a list of all the required software. Note that not all tasks required all type of softwares. Use this list as required by tasks assigned to you. This document does not specify installation instructions for other software other then those of Rhizome Networks. Instead, use the link specified for each of the softwares and act according to instructions on this link.
Install Java JDK6 and JRE6
Use the instructions on this link to download and install. At this point project is developed and tested using JDK6 and JRE6. Install both and make sure to enable the live update feature.
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Install InteliJ Java IDE
To make sure that all developers share use the same style and share the same project structure, it is required that all open-source contributers will install InteliJ version7 or higher. In case you already have a license for InteliJ that great. Else, you can use the community-version that can be used with open source projects. For most of the tasks it should be sufficient.
http://www.jetbrains.com/idea/
Install MySQL
We are using MySQL for bot, development and production databases. In case that you are involved in a tasks that requires development of database components, you will have to install MySQL community edition.
http://www.mysql.com/downloads/mysql/
In addition you should include the Java connection for MySQL – Connector/J
http://www.mysql.com/downloads/connector/j/
Install Database Management Tool
Database management tool is required in order to perform maintenance tasks on database and check queries and data. Squirell SQL Client tool is free. Other tools are also fine as long as they provide you with the required functionality.
http://squirrel-sql.sourceforge.net/
Java Application Servers
Java Application server is used for both, running central service environments on development and production mode – those services act as both, web-service and/or peer of p2p network. In addition, application server is required to test deployment of environments performed by Rhizome Browser.
The main application server that is required in many tasks (to run central services on environment mode) is Tomcat. You may be required to install other servers, depnading on specific tasks, such as Gigaspaces, GlassFish and other.
To install Tomcat application server use the link below. Use version 6 to match with version on production environment.
http://tomcat.apache.org/download-60.cgi
Tomcat library setup
Here is the general setup. More specific setup is required for various tasks.
Copy to [tomcat-home]/lib the jars of Rhizome Networks:
rhz_bean.jar (find under [project-home]/lib/rhz – after creating the jars by IDE)
rhz_ee.jar (find under [project-home]/lib/rhz – after creating the jars by IDE)
rhz_ide.jar (find under [project-home]/lib/rhz – after creating the jars by IDE, only required for dev mode)
Copy to [tomcat-home]/lib the following libraries:
jnlp-servlet.jar (find under [project-home]/lib/jnlp)
mail.jar (find under [project-home]/lib/mail)
org.mortbay.jetty.jar (find under [project-home]/lib/jxta)
jxtashell.jar (find under [project-home]/lib/jxta)
jxtaext.jar (find under [project-home]/lib/jxta)
jxta.jar (find under [project-home]/lib/jxta)
bcprov-jdk14.jar (find under [project-home]/lib/jxta)
mysql-connector-java-5.1.7-bin.jar (find under [project-home]/lib/mysql)
Install FTP Client tool
The FTP browsing tool is required in order to upload and download files to the production and testing sites. You can use Win SCP tool that is free.
* This tool is required is required only be contributors that maintain files on the testing/production servers. There is no need to install the tool unless requested to, and user/password was assigned to you by project's administrator.
http://winscp.net/eng/index.php
Setup:
Assign user/password from administrator.
Start the tool
Define “New” connection
Provide the host IP: 216.154.218.82
Set port 22
Provide user/password
Save
Connect
Install SSH Client tool
some of the contributors will have access to the testing or production server that is required in order to manage central service environment. SSH shell tool should be used for that. You can use Putty that is free tool.
* This tool is required is required only be contributors that maintain files on the testing/production servers. There is no need to install the tool unless requested to, and user/password was assigned to you by project's administrator.
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Setup:
Assign user/password from administrator.
Start the tool
Provide host IP: 216.154.218.82
Set port: 22
Save
Connect with your user/password
Install Open-Office
We are using Open-Office to generate documentation. Open-Office is a free office suite and is provided with all the relevant functionality. All documents are in English.
Install popular Browser
Contributors that work with CMS and/or websites are required to test their work with the top 5 popular browsers. This is the only way to get indication that some page is working properly on various browsers.
Install Internet Explorer: http://www.microsoft.com/windows/internet-explorer/default.aspx
Install Firefox: http://www.mozilla.com/en-US/firefox/firefox.html
Install Chrome: http://www.google.com/chrome?hl=en
Install Opera: http://www.opera.com/browser/
Install Safari: http://www.apple.com/safari/
Install 7-Zip
In case you don't have Zip packer/unpacker you can use 7-Zip. This tool is also used for creating EXE installation files of Rhizome Browser and other applications.
Install LzPack
This tool s is required only by those that create and test Rhizome Browser's and other application's installation package.
Install Appach Web server
This is required only by those that develop for the website. For example, those that develop for the Drupal CMS. After installing, set Appache Document-Root the root of your local website.
http://httpd.apache.org/download.cgi
Installing the website project of CMS profile is explained later on this page.
Install PHP
Those that work with Drupal CMS should install PHP. He current version we are using of protection environment is PHP5 so local installation should match.
Install Drupal CMS
Drupal CMS is required only by those that work in the CMS integrations group. Use the following link to download Drupal profile similar to profile used on production site. Note that we update the sample profile frequently yet, some differences may exist when change was applied on production site, but was not updated to sample profile. Sample profile is intend for experimenting, so a new clear database need to be created. Use Drupal instructions for that.
Download sample profile from here: [TBD link]
Documentation and support: http://drupal.org
Install Rhizome Networks Project
Installing the project has two steps – Install the library of external Jar files and then use InteliJ IDEA to download source files from SVN and building the project. There is no need for external build tool.
Preparing project directory
Create the project directory. While most paths are set to relative mode, there are settings that still requires absolute path. For example, environment setting of run applications, defined by IDE. To avoid confusion please use the following path if possible:
D:\Rhizome Networks\project
This path will be considered as [project-home]
Create folder [project-home]/lib
Download the the rhz_libs.zip file with all the Jars from here [TBD link to download website] and unpack. [project-home]/lib should be created with all the required libraries. Note that project profile as defined or InteliJ IDEA contains that the required setting for pointing those jars.
Download the ide_config.zip and extract in temporary folder. The zip contains configuration files used by InteliJ and are required to make sure that we are all codding with the same style. Copy the files into InteliJ application data directory to replace the default settings there. This is usually found in this path:
C:\Documents and Settings\[YOUR USER]\.IntelliJIdea70\config
Start InteliJ IDE , Open IDE settings dialog, Select the “File Templates” settings, browse the template and whenever is written “Gilad Tiram” Replace with your name.
Download the sources from SVN source repository
Start InteliJ IDE
Create new project and call in “install”. Set project location under [project-home]/install.
Open IDE settings dialog, and select the “Version Control” settings option.
You will see a single entry: <Project Root>. Select the “Subversion” option under the VCS column
From main-menu select “Version Control” > “Browse Subversion Repository”
“SVN Repositories” window will appear. See that the path into project files is already there. Select the path and right-click to present context menu.
Select “Checkout” option. “Destination Directory” dialog is open, select the path you set for [project-home] . Checkout dialog is presented – make sure that “Checkout directories recursively” is selected. Start to checkout files. This may take some time
After done, close the “install” project
From main menu select “File” >”Open Project” and this time point to RHZ-Networks.ipr that is now located under [project-home].
Give the IDE time to sync all files. Your environment should be now up to date.
From main-menu select “Build” > “Rebuild Project” and let all classes to be created. This take few minuets.
From now on you should be able to work on sources and submit to SVN. Please follow all the rules.
Build Jar
Building Jars is required only for preparing builds or when using application server. At this point only check that Jar are created properly.
From main menu select “Build” > “Build Jars” . The build dialog is open. You will see many modules there however for most of the modules we should not make a build. By default, only the following modules are required.
Module:RHZBean
Module:RHZEE
Module:RHZHelp
Module:RHZIDE
Start the build. It takes seconds to complete.
All those module point to create Jar at [project-home]/lib/rhz with a specific Jar file for each module.
Start Rhizome Browser
Starting Rhizome Browser is presented here only as an example of starting application from within InteliJ. Same concept is applied for other applications
On applications drop-down of main-menu, select Rhizome Browser.
Click the drop-down once, and select “Edit Configuration”
In the VM parameters, check that all paths are accurate. If you used the default [project-home] as suggested above, there should not be any problem.
Check the “rhz_browser” is set as the execution module for this application. This is relevant for InteliJ to construct the relevant classpath for an application.
Start the application. Rhizome Environment Startup dialog is presented. This dialog is used mainly for development to allow selection of different environments to be startup.
Set the installation directory to [project-home]\environments\rhz_browser. This is where the environment of Rhizome Browser is installed when working in development mode.
Since this is the first time, no settings was created yet on your system and the radion button “new” is selected. Set the environment-id to “rhz-browser”. The setup files will be created in: C:\Documents and Settings\[]YOU USER]\.Rhizome_NetWorks\rhz_browser\ which is considered as application-data directory.
Press “Start” button. Since this is the first time you start the application, and since Rhizome Browser is a large environment, it takes few minutes for caches to create. You will learn in your training how to delete caches or configure for automatic recreation of some specific component's caches. Environment should be loaded with no problem. However, please remember that, AT THIS POINT of the project you are always working on last-version from SVN, so some problem may exist. This is a very preliminary stage of product life and we want to make sure that last version is always actual, and all previous functionality work fine. This may cause you problems in your work from time to time, but it has two great advantages - we are depends on each other so we can not avoid from using other member work, and therfore testing this work. And – it saves all the versioning and bunching efforts. When you encounter a problem your duty is to report the administrator and other members, so that we can recognize the source of the problem and fix.
You are ready – but wait
If there was no special problems you are ready now to work on the project. This means, working on the core or working on one of the applications. However before starting, you should follow the basic training to make sure that you know what you are doing. Also, please refer to submit policy before apply any update to SVN.
Please refer to Training Program[TBD Link] to start your training
Please refer to Contribution Policy[TBD Link] before you submit any change
Please refer to Codding Style[TBD Link] conventions to make sure we can read your code
- Printer-friendly version
- Login or register to post comments
