Conceptpower Installation

Installing Conceptpower is quite easy. You need to have WordNet and a servlet container installed and you need to be able create war-files.

System Requirements

You need the following software to be installed on your computer:

  • A servlet container such as Apache Tomcat (http://tomcat.apache.org/). Conceptpower was developed and tested on Apache Tomcat 6.0.
  • WordNet has to be installed (http://wordnet.princeton.edu/). 

    migrating installation

    if you're migrating an existing Conceptpower installation, make sure to use the same version of Wordnet on both servers.


    OS X Mountain Lion or later:
    • Make sure that XQuartz is installed.
    • If you try to install WordNet on Mac OSX 10.8 or 10.9 you might get the following error: 
      When you run ./configure it aborts with checking for Tcl configuration... configure: WARNING: Can't find Tcl configuration definitions and if you try to run make afterwards, you get the error make: *** No targets specified and no makefile found. Stop. If this happens, make sure that you have the XCode Command Line Tools installed. If you already have XCode installed, run xcode-select --install. A description of the problem is described here.
    • If that does not fix the error, make sure XCode is installed. Then when running ./configure specify the --with-tcl and --with-tk parameters and point them to the Tcl and Tk installations that ship with XCode. It should look similar to this:
      ./configure --with-tcl=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Tcl.framework/ --with-tk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Tk.framework/
      Note, that if you run this command right after you've installed XCode, you might get an error like this: "checking for C compiler default output file name... configure: error: C compiler cannot create executables". If that's the case you probably have to accept XCode's license agreement. You can do this by running sudo xcodebuild -license.
    • Another error you might encounter is:
      In file included from tkAppInit.c:16: 
      /usr/include/tk.h:78:23: error: X11/Xlib.h: No such file or directory". 

      You can find a description of how to solve that problem here.
    • For OSX systems Mountain Lion and later the above solution won't work. Instead run Wordnet's configure script and pass a CPPFLAGS parameters:
      ./configure CPPFLAGS=-I/opt/X11/include

Installation Process (Version v2.0)

If you're looking for the documentation of the installation process of version 1.0, please look here.

To install Conceptpower three steps are necessary: download Conceptpower, configure Conceptpower, and deploy Conceptpower. In the following each step is described in more detail.

Download

There are two ways of getting Conceptpower, check out its code from the repository or download the latest release. It is recommended to use the latest release.

You can download the latest release of Conceptpower here.

The latest version of the source code of Conceptpower can be checked out from GitHub.

Configure Conceptpower

There are five settings that need to be configured before deploying Conceptpower: path to the database, path to WordNet, admin users, and the URI prefix, email server. If you downloaded the latest release, rename it from conceptpower-vX.Y.Z.war to conceptpower.zip and unzip the downloaded file. Then do the following.

db4o-config.xml
  1. To configure the path to the database, open the file db4o-config.xml that is located in the folder WEB-INF/spring.
  2. In the XML file find the section that defines the database paths and replace all occurances of ${db.path} with the full path to the folder where the database files should be stored. Make sure that the database folder is modifiable by the servlet container. You should see something like: <bean id="userDatabaseManager" class="edu.asu.conceptpower.db4o.DatabaseManager" init-method="init" destroy-method="close"> <property name="databasePath" value="${db.path}/users.db" /> </bean> </li>
wordnet-config.xml
  1. To configure the path to the database, open the file wordnet-config.xml that is located in the folder WEB-INF/spring.
  2. Find the section that defines the path to WordNet and replace ${wordnet.install.path} with the full path to your WordNet installation (e.g. /usr/local/WordNet-3.0 on a Unix system) <bean class="edu.asu.conceptpower.wordnet.WordNetConfiguration"> <property name="wordnetPath" value="${wordnet.install.path}" /> <property name="dictFolder" value="dict" /> </bean>
xml-config.xml
  1. To configure the path to the database, open the file xml-config.xml that is located in the folder WEB-INF/spring.
  2. To change the default URI prefix or XML namespace (for REST interface) modify the uriPrefix and xmlNamespace properties as needed.<bean id="xmlConfiguration" class="edu.asu.conceptpower.xml.XMLConfig"> <property name="uriPrefix" value="http://www.digitalhps.org/concepts/" /> <property name="xmlNamespace" value="http://www.digitalhps.org/" /> </bean>
root-context.xml
  1. To configure the path to the database, open the file root-context.xml that is located in the folder WEB-INF/spring.
  2. Replace ${email.host}${email.port}${email.user}, and ${email.pw} with the information for your email server. <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="${email.host}" /> <property name="port" value="${email.port}" /> <property name="username" value="${email.user}" /> <property name="password" value="${email.pw}" /> <property name="javaMailProperties"> <props> <prop key="mail.transport.protocol">smtp</prop> <prop key="mail.smtp.auth">true</prop> <prop key="mail.smtp.starttls.enable">true</prop> <prop key="mail.debug">true</prop> </props> </property> </bean>
user.properties

To configure the admin password open the file user.properties in the folder WEB-INF/classes and change the first word after the equal sign. You can add more user accounts by adding additional rows similar to the first one. The user entries follow the schema [username]=[password],[role ROLE_CP_ADMIN or ROLE_CP_USER],[enabled or disabled].

admin=admin,ROLE_CP_ADMIN,enabled


Deploy Conceptpower

To deploy Conceptpower first create a war-file from the modified code and then deploy it in your servlet container. If you update an existing Conceptpower installation, you might have to restart your servlet container. Otherwise the database connection might cause problems.

If you downloaded the latest release of Conceptpower as a war-file (and unzipped it) and if you are using a Unix-based system, you can create a war-file by navigating into the unzipped folder using a terminal. Then type

jar -cvf conceptpower.war *A new war-file will be create in the current folder.