Difference between revisions of "Imeji Developer environment"

From MPDLMediaWiki
Jump to navigation Jump to search
m
m
Line 109: Line 109:
* Start your server
* Start your server
* imeji is available at [http://localhost:8080/imeji/ http://localhost:8080/imeji/] (port is depending to your configuration. An Apache server can be used to hide the port)
* imeji is available at [http://localhost:8080/imeji/ http://localhost:8080/imeji/] (port is depending to your configuration. An Apache server can be used to hide the port)
[[Category:Imeji|Developer environment]]
[[Category:Imeji|Developer environment]]
[[Category:Imeji_Technical_Specification|Developer environment]]

Revision as of 08:50, 4 March 2013

Imeji logo.png

Internal
Meetings
Cooperation

Specification
Architecture
Installer
Ingest
Functional Specification
Technical Specification

Metadata
RDF mapping
Metadata terms

edit


This page describes how to develop the imeji software.

Introduction[edit]

The imeji software is developed and supported by the imeji community. If you want to participate to the project, please contact the community.

Install Java[edit]

imeji supports java 6. Compatibility with Java 7 is not guarantee:

Install Eclipse[edit]

For the development, we encourage to use the Eclipse IDE for JEE developers:

Install Maven[edit]

imeji use Maven 2.2.1:

To install Maven, please follow this guide. You can also use the Maven Eclipse plugin. To install it, please follow this guide

Install application Software[edit]

imeji needs an application server to run. Currently, the supported servers are:

JBoss[edit]

Import JBoss in Eclipse[edit]

  1. Open Eclipse
  2. Since Jboss 7 is not in last default Eclipse, you need to import the jboss plugin: On the top menu, select help -> Eclipse Marketplace. Search for jboss. Install either JBoss Tools or JBoss developer studio.
  3. On the top menu, select Window -> Show View -> Server (If server is not displayed, select Other and then Server)
  4. Right click in Server View, select New -> Server
  5. Select JBoss -> JBoss 7 and click finish (or next if you want to change the default ports)

Config[edit]

  • Edit standalone.xml with (after the extensions):
   <system-properties>
       <property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
       <property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
   </system-properties>

Tomcat[edit]

Import Tomcat in Eclipse[edit]

  1. Open Eclipse
  2. On the top menu, select Window -> Show View -> Server (If server is not displayed, select Other and then Server)
  3. Right click in Server View, select New -> Server
  4. Select Apache -> Tomcat v7.0 and click finish (or next if you want to change the default ports)

Configuration[edit]

  • Edit web.xml connectors with URIEncoding attribute, as following:

<Connector URIEncoding="UTF-8"/>

Download source[edit]

The imeji code source is hosted at Github. We recommend to use the official Github client:

Clone imeji on Windows[edit]

After having installed the Github client for Windows, go on imeji Github page and click on "clone in Windows".

Import imeji in Eclipse[edit]

  1. open Eclipse
  2. Click on top menu "File"
  3. Select Import
  4. Select Maven: Existing Maven Project and click on next
  5. Browse file system, select the imeji directory and click on "Finish"

Install jRebel[edit]

jRebel is tool enabling automatic "hot deploy" to avoid to redeploy your application on the server for each changes. It can be downloaded here. To install it:

  1. Unzip jRebel, and copy it somewhere in your computer
  2. Add license (see notes) in jrebel_home directory
  3. Add it to your server (server -> double click on server -> Open launch configuration -> arguments) (replace JREBEL_HOME_PATH with your local path):
    1. for Tomcat: -javaagent:JREBEL_HOME_PATH\jrebel.jar
    2. for JBoss: -noverify -javaagent:JREBEL_HOME_PATH\jrebel.jar
  4. Check: that server publishing is set on "never publish automatically" and that imeji is build automatically (top menu -> Project -> Build automatically)

Notes: jRebel is free for open source development. Ask for a license at http://zeroturnaround.com/.

Compile imeji[edit]

  • Set credentials in your settings.xml of maven (for actual values, please contact [1]):

<properties>
  <jboss.install.dir>YOUR_JBOOS_PATH</jboss.install.dir>
  <escidoc.framework_access.framework.url>YOUR_CORESERVICE_URL</escidoc.framework_access.framework.url>	
  <imeji.tdb.path>YOUR_JENA_DIRECTORY</imeji.tdb.path> 
  <imeji.sysadmin.email>admin_email</imeji.sysadmin.email>
  <imeji.sysadmin.password>a_password</imeji.sysadmin.password>
  <imeji.escidoc.user>an_escidoc_user</imeji.escidoc.user>
  <imeji.escidoc.password>a_password</imeji.escidoc.password> 
  <framework.admin.username>coreservice_admin_login</framework.admin.username>
  <framework.admin.password>password</framework.admin.password>
  <imeji.email.server.smtp>YOUR_MAILSERVER</imeji.email.server.smtp>
  <imeji.email.user>mailserver_user</imeji.email.user>
  <imeji.email.password>mailserver_pwd</imeji.email.password>
  <imeji.email.auth>true/false</imeji.email.auth>
  <imeji.email.sender>sender_adress</imeji.email.sender>
</properties>

  • Check properties in "meta" pom.xml
    • Attention: Some properties are related to the core service. If you install your own core service, you will have to adapt it. Please check the eSciDoc core service page. For problems with the core service please contact the eSciDoc developer mailing list
    • For more information about the properties see the imeji properties page
  • If you want to use the Fledged Data Service you need to adapt the fds.properties
  • Compile presentation: clean install
    • For Tomcat users: Copy the generated war in TOMCAT_HOME/webapps and copy the imeji properties files (imeji.properties and vocabulary.properties) in TOMCAT_HOME/conf
    • For jboss users: Compile ear: clean install jboss-as:deploy (use then jboss-as:redeploy)
  • Add the properties (imeji.properties and vocabulary.properties) in:
    • TOMCAT_HOME/conf
    • JBOSS_HOME/standalone/configuration
  • Start your server
  • imeji is available at http://localhost:8080/imeji/ (port is depending to your configuration. An Apache server can be used to hide the port)