diff --git a/src/site/apt/development.apt b/src/site/apt/development.apt new file mode 100644 index 0000000000000000000000000000000000000000..a03c524381d5be473e1b760983413912737ae7d1 --- /dev/null +++ b/src/site/apt/development.apt @@ -0,0 +1,127 @@ + ------------------- + ARSnova Development + ------------------- + ------------------- + ARSnova Developers + ------------------- + 2013-03-11 + +Development + + This short guide will help you get your development environment up and running. In brief, here is the list of the required tools: + + * Apache HTTP Server + + * Apache Maven + + * Git + + * Apache CouchDB + + * ARSnova + + ARSnova consists of several sub projects. The first one is the project you're currently looking at. All projects except for 'arsnova-war' are optional: you don't need to download them if you do not plan to work with them. + + * arsnova-war (this project) + + * arsnova-legacy-js + + * arsnova-js + + * arsnova-st2-js + + * setuptool + + * connector (manual installation is currently required in order to run 'arsnova-war') + + * Sonar and Sonar Runner + + * JavaScript Plugin + + * Eclipse JEE + + Install the following plugins from the Eclipse Marketplace: + + * Maven WTP + + * EGit + + * Sonar + + * Checkstyle + + A note to all Windows users: We did not test this documentation on any Windows machine, so your mileage will certainly vary. + +* Apache HTTP Server + + The best option is to use your distribution's package manager to install your first piece of software: the Apache HTTP Server. For now, no additional configuration is necessary. + +* Apache Maven + + As you might have noticed, ARSnova and its tools require a JDK. So go ahead and install it from your favorite package manager if you haven't already. + + Download Maven and follow the installation instructions: {{http://maven.apache.org/download.cgi}} + +* Git + + Install Git via your package manager. Windows users might want to try {{{http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git}msysgit}}. + +* Apache CouchDB + + Again, the best way is to use your package manager to install CouchDB. Additionally, some binaries are available at {{http://couchdb.apache.org}}. + +* ARSnova + + Head over to {{https://scm.thm.de/arsnova}}. Here you'll find all ARSnova repositories. You could now either clone them directly onto your machine, or create a personal clone first ('Clone repository' button). The first option will usually suffice, and you may create a personal clone later at any time. + + It's best to first create an ARSnova project folder. Inside this folder clone all of the following repositories: + + * arsnova-war + + * arsnova-legacy-js + + * arsnova-st2-js + + * arsnova-js + + * setuptool + + * connector + + A folder for each project will be created during checkout. + + Now is a good time to check if you configured your Git client correctly. Type in the commands 'git config --global user.name' and 'git config --global user.email', and verify they return the values you want. By leaving out the '--global' part while being inside a folder with a Git repository, the settings will be specific to this repository. + + The next task is to configure ARSnova according to the {{{installation.html}installation manual}}. + + As we're going to modify the local CouchDB, make sure you also specify the properties 'couchdb.username' and 'couchdb.password'; they are not present in the example properties file. Either put in your CouchDB credentials, or leave them blank if you did follow this guide step by step. + + If your system has Python installed, head into the 'setuptool' project and run 'python tool.py' to automatically set up the CouchDB database and all views. If Python is not available, you will need to execute this project from Eclipse. + + Finally, by running 'mvn install' inside each repository you will compile, test and install the project into your local Maven repository. This step is not required, but it will show if everything is set up correctly. + + Note: If you get build failures because the 'connector' dependency could not be resolved, you have to manually 'mvn install' the 'connector'. + +* Sonar + + Use your package manager to install Sonar and Sonar Runner, or follow the instructions at {{http://docs.codehaus.org/display/SONAR/Installing+Sonar}}. Once both are installed start the Sonar server if it is not yet running, then go to {{http://localhost:9000}}, and click 'Log in' (located in the far right corner). Username and password both are 'admin'. Then, click on 'Settings' and select 'System'. In the menu on the left you can then select 'Update Center'. Now, change to 'Available Plugins' and search for JavaScript. Click the name and then click Install. A restart of Sonar is required to finish the installation process. + +* Eclipse + + For our IDE we chose Eclipse JEE: {{http://www.eclipse.org/downloads/}} + + Unpack it into a folder of your choice. Run Eclipe, and then open the Eclipse Marketplace; it's located in the Help menu. There, search and install the following plugins (you might have to restart Eclipse several times along the way): + + * m2e-wtp + + * EGit (might already be installed) + + * Sonar (you might want to deselect the Python and C/C++ analyzers) + + * Checkstyle + + Next, you're going to import each project into the workspace. Select 'Import...' from the File menu, open the 'Maven' category, and select 'Existing Maven Projects'. Browse into a project you cloned previously, checkmark the project as it appears and click finish. Repeat for every project you want to develop for. + + For Checkstyle support in 'arsnova-war', right click the project, open the properties, and select the Checkstyle category. Switch to the 'Local Check Configurations' tab, and for 'Type' select 'External Configuration File'. Give it a name (eg. 'ARSnova'), then browse into the project's folder, and select 'ARSnova-checkstyle-checker.xml'. When you click on 'OK', you will get an error message. But don't worry, just click on 'Edit properties...' and follow the instructions. An empty property for a cache file will get created, and you need to enter a file name of your choice. Now Close all dialogs. To test drive Checkstyle right clicking on the project and select 'Check Code with Checkstyle' from the 'Checkstyle' menu. + + And that's it! If you have spotted any mistakes please let us know. \ No newline at end of file diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt index 3cbc4127ac1c52203cb0b4d4459294e2bacfa6a3..0de3f466fa60e79e2162c6808ee9f3adb955a7ec 100644 --- a/src/site/apt/index.apt +++ b/src/site/apt/index.apt @@ -1,7 +1,7 @@ ----- ARSnova Landing Page ----- - SCM-Helpdesk + ARSnova Developers ----- ----- diff --git a/src/site/apt/installation.apt b/src/site/apt/installation.apt index 2ab33c32099ca05cd5ec9ce05c866d7fa24f50d5..824ec56bcaab052d5f97bdfbd961d1c1ce4e14e5 100644 --- a/src/site/apt/installation.apt +++ b/src/site/apt/installation.apt @@ -1,7 +1,7 @@ ----- - ARSNova landingpage + Installation Instructions ----- - SCM-Helpdesk + ARSnova Developers ----- ----- @@ -60,13 +60,13 @@ Make environment usable for productive usage If you intend to use ARSnova in productive environment, you will have to change a setting in your Tomcat installation. Look for your Tomcat configuration directory and change the file "context.xml" to match this example: - +---------------------------+ ++---------------------------+ <Context> <Manager pathname="<...your_tomcat_installation...>/sessions/arsnova.ser"/> </Context> - +---------------------------+ ++---------------------------+ This will enable session persistance across restarts as described {{{http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html#Special_Features}here}}. diff --git a/src/site/site.xml b/src/site/site.xml index 8eb6310fba52b7542e484da41102a710e84e0bdc..c29364d8c13c22a3d033de91e8b5119873d37e80 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -28,7 +28,7 @@ </custom> <bannerLeft> - <name>ARSNova</name> + <name>ARSnova</name> <src>arsnova.png</src> <href>https://arsnova.thm.de/</href> </bannerLeft> @@ -51,6 +51,7 @@ </menu> <menu name="Documentation"> <item name="Installation" href="installation.html" /> + <item name="Development" href="development.html" /> <item name="Dependencies" href="dependencies.html" /> <item name="API Docs" href="apidocs/index.html" /> </menu>