User Tools

Site Tools


magik-demo:developer:magik-project

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
magik-demo:developer:magik-project [2013/05/15 12:20]
admin [Install MAGIK on Server or Localhost]
magik-demo:developer:magik-project [2017/07/06 15:24] (current)
Line 1: Line 1:
 +{{:​magik-demo:​magik_logo.png?​nolink&​500|}}
 +
 +====== MAGIK Project ======
 +
 This document describes how to manipulate with MAGIK project. \\ This document describes how to manipulate with MAGIK project. \\
 In particular how to:  In particular how to: 
-  * [[#Install ​MAGIK on Server or Localhost]] +  * [[#Deploy ​MAGIK on Server or Localhost]]
-    * [[#​Download|Download]] +
-    * [[#​Install|Installation]]+
   * [[#Import MAGIK Project in Eclipse]]   * [[#Import MAGIK Project in Eclipse]]
   * [[#MAGIK Project Description]]   * [[#MAGIK Project Description]]
Line 16: Line 18:
  
 === Steps === === Steps ===
 +  - First step is to set the DLV executable file path and PROLOG folder (for the code to execute for the specialization) by setting up environment variable ​
 +    - Detect where is located the folder magik_libs
 +    - Copy the (absolute) entire path (file name included)
 +    - Put in an __ENVIRONMENT VARIABLE__ called **MAGIK_LIBS**. An example: <​code>​ DLV_PATH =/​Users/​user/​Documents/​workspace/​MAGIK_WEB_3/​magik_libs</​code>​
 +    - E.g., on Mac OS X or Linux Operating systems, one can set this environment variable the following command in terminal <​code>​$export MAGIK_LIBS=aboslute_path_to_your_local_magik_libs</​code>​
 +
   - Deploy WAR file to Apache Tomcat server. \\ There are two ways to do it:   - Deploy WAR file to Apache Tomcat server. \\ There are two ways to do it:
     - Using **Tomcat Web Application Manager**     - Using **Tomcat Web Application Manager**
Line 32: Line 40:
   - Specify database connection for MAGIK web application. ​     - Specify database connection for MAGIK web application. ​  
    
-[[magik-demo:​developer:​magik-project|Back to Top]] | [[magik-demo:​start|Back to Home Page]]+[[magik-demo:​developer:​magik-project|Back to Top]] | [[magik-demo:​start-here|Back to Home Page]]
 ===== Import MAGIK Project in Eclipse ===== ===== Import MAGIK Project in Eclipse =====
  
Line 39: Line 47:
   ​   ​
 === Steps === === Steps ===
-  * Download Eclipse 3.x. Choose a workspace folder (not the one using for MEGIK-DEMO SVN). +  * Download Eclipse 3.x. Choose a workspace folder (not the one using for MAGIK-DEMO SVN). 
-  * Install Eclipse plugin ''​subversion.tigris.org''​ for SVN control (see instruction http://​web.mit.edu/​6.005/​www/​fa11/​psets/​ps0/​subclipse.html)+  * Install Eclipse plugin ''​subversion.tigris.org''​ for SVN control (see instruction http://​web.mit.edu/​6.005/​www/​fa11/​psets/​ps0/​subclipse.html). Alternatively,​ one can use any SVN control program (e.g., svn command line tool, SmartSVN, etc.) but here we provide instruction for  ''​subversion.tigris.org''​ only. 
   * Import MAGIK project:   * Import MAGIK project:
               * ''​File>​Import>​SVN>​Check out project from SVN''​               * ''​File>​Import>​SVN>​Check out project from SVN''​
-              * Create new repository location, and enter in the URL field: ''​https://​babbage.inf.unibz.it/​repositories/​svn/​osavkovic/​MAGIK-DEMO/​Implementation''​. Use your unibz credentials for the username and password. Beforehand, you need to obtain reading rights for the SVN (request by email). ​+              * Create new repository location, and enter in the URL field: ''​https://​babbage.inf.unibz.it/​repositories/​svn/​osavkovic/​MAGIK-DEMO/​Implementation/​MAGIK_WEB_[VERSION]''​. ​ Use your unibz credentials for the username and password. Beforehand, you need to obtain reading rights for the SVN (request by email). ​
               * Select MAGIK folder and press Next. Again Next. And Finish. Now the Eclipse should import the project and MAGIK folder (with small database icon) appears in the package explorer.               * Select MAGIK folder and press Next. Again Next. And Finish. Now the Eclipse should import the project and MAGIK folder (with small database icon) appears in the package explorer.
  
-  * **DLV API** for Win, Mac and Linux comes within the project. +=== Running MAGIK from Eclipse in localhost === 
-      * DLV systems offers DLV Wrapper to use DLV in Java Object Environment (''​http://​www.dlvsystem.com/​dlvsystem/​index.php/​DLV_WRAPPER''​).  +  ​To do so, one needs to link locally installed Apache Tomcat with Eclipse (see [[http://​www.coreservlets.com/​Apache-Tomcat-Tutorial/​eclipse.html| tutorial]]). Go to ''​File>​New>​Other''​. Find ''​Server''​ and click ''​Next''​. Then choose ''​Apache>​Tomcat v7.0 Server''​ and click ''​Next''​. Then go ''​Browse''​ and enter the local directory path where Apache Tomcat is installed. Finally, click ''​Finish''​. 
-      * Wrapper Installation instructions - a remainder:+  ​To run your MAGIK copy within Eclipse, right-click on the main project folder and then go to ''​Run As>Run on Server''​ and then ''​Finish''​.  
 + 
 +=== DLV API === 
 +  ​DLV is an Answer-Set Programming solver that MAGIK uses internally to reason about completeness. 
 +  ​DLV executable files for Win, Mac and Linux comes within the project. ​They are located in project directory ''/​lib'' ​ 
 +  * DLV systems offers DLV Wrapper to use DLV in Java Object Environment (''​http://​www.dlvsystem.com/​dlvsystem/​index.php/​DLV_WRAPPER''​).  
 +  * In case Eclipse is not able to find DLV using relative path, edit class  ''​it.unibz.inf.magik.core.DLV_engine''​ and set absolute path to your DLV executable. 
 +  ​* Wrapper Installation instructions - a remainder:
                * Go to ''​http://​www.dlvsystem.com/​dlvsystem/​files/​DLVwrapper-v4.2.jar''​. Add this file to your MAGIK libraries (RightClick on ''​project>​Properties>​Java Build Path>​Libraries>​Add external JARs''​).                * Go to ''​http://​www.dlvsystem.com/​dlvsystem/​files/​DLVwrapper-v4.2.jar''​. Add this file to your MAGIK libraries (RightClick on ''​project>​Properties>​Java Build Path>​Libraries>​Add external JARs''​).
-               * Depending on the OS (Win, Mac, Linux) one will use different DLV executable. The committed DLV executables for major systems are in the project folder ​ ''/​dlv''​. ​+               * Depending on the OS (Win, Mac, Linux) one will use different DLV executable. The committed DLV executables for major systems are in the project folder ​ ''/​lib''​. ​
                * To test your DLV API, we created a ''​JUnit''​ class ''​TestDLVAPI'',​ which one should run to test whether ​ DLV API is properly installed. Finally, set a path variabile DLV_PATH to the absolute path of your DLV executable. ​                * To test your DLV API, we created a ''​JUnit''​ class ''​TestDLVAPI'',​ which one should run to test whether ​ DLV API is properly installed. Finally, set a path variabile DLV_PATH to the absolute path of your DLV executable. ​
  
  
-[[magik-demo:​developer:​magik-project|Back to Top]] | [[magik-demo:​start|Back to Home Page]]+[[magik-demo:​developer:​magik-project|Back to Top]] | [[magik-demo:​start-here|Back to Home Page]]
 ===== MAGIK Project Description ===== ===== MAGIK Project Description =====
 MAGIK Web application is developed using Eclipse as a Web development platform, with the type of [[http://​help.eclipse.org/​indigo/​topic/​org.eclipse.wst.webtools.doc.user/​topics/​ccwebprj.html|Dynamic Web project]]. ​ MAGIK Web application is developed using Eclipse as a Web development platform, with the type of [[http://​help.eclipse.org/​indigo/​topic/​org.eclipse.wst.webtools.doc.user/​topics/​ccwebprj.html|Dynamic Web project]]. ​
Line 68: Line 83:
       * ''​[[#​it.unibz.inf.magik.db|it.unibz.inf.magik.db]]''​       * ''​[[#​it.unibz.inf.magik.db|it.unibz.inf.magik.db]]''​
       * ''​[[#​it.unibz.inf.magik.exception|it.unibz.inf.magik.exception]]''​       * ''​[[#​it.unibz.inf.magik.exception|it.unibz.inf.magik.exception]]''​
-      * ''​[[#​it.unibz.inf.magik.hibernate|it.unibz.inf.magik.hibernate]]''​+      * ''​[[#​it.unibz.inf.magik.hibernate|it.unibz.inf.magik.hibernate]]'' ​
       * ''​[[#​it.unibz.inf.magik.test|it.unibz.inf.magik.test]]''​       * ''​[[#​it.unibz.inf.magik.test|it.unibz.inf.magik.test]]''​
       * ''​[[#​it.unibz.inf.magik.web|it.unibz.inf.magik.web]]''​       * ''​[[#​it.unibz.inf.magik.web|it.unibz.inf.magik.web]]''​
Line 77: Line 92:
     * ''​**WEB-INF**''​ → contains the supporting Web resources for a Web application,​ including the web.xml file and the classes and lib directories.     * ''​**WEB-INF**''​ → contains the supporting Web resources for a Web application,​ including the web.xml file and the classes and lib directories.
       * ''​**/​classes**''​ → for servlets, utility classes, and the Java compiler output directory.       * ''​**/​classes**''​ → for servlets, utility classes, and the Java compiler output directory.
-      * ''​**/​lib**''​ → contains the supporting JAR files that the Web application references. Any classes in .jar files placed in this directory will be available for the Web application.+      * ''​**/​lib**''​ → contains the supporting JAR files that the Web application references. Any classes in .jar files placed in this directory will be available for the Web application. MAGIK comes with the following libraries.
         * [[http://​www.dlvsystem.com/​dlvsystem/​index.php/​DLV_WRAPPER|DLV Wrapper]]         * [[http://​www.dlvsystem.com/​dlvsystem/​index.php/​DLV_WRAPPER|DLV Wrapper]]
         * [[http://​jdbc.postgresql.org/​|PostgreSQL JDBC Driver]]         * [[http://​jdbc.postgresql.org/​|PostgreSQL JDBC Driver]]
Line 84: Line 99:
   * ''​**doc**''​ → contains all the documentation files related to the project.   * ''​**doc**''​ → contains all the documentation files related to the project.
  
-It is also possible to compile the project as standalone application to be deployed ​in local machine. ​One only needs to change one line in ''​[[magik-demo:​documentation:code:​functionality#​index.jsp|WebContent/​index.jsp]]'':​+It is also possible to compile the project as standalone application to be deployed ​on a local machine. ​This is obtained by changing the line in ''​[[magik-demo:​developer:magik-business-logic#​index.jsp|WebContent/​index.jsp]]'':​
 <code java> <code java>
 sessionSchemas.setWebApp(true);​ sessionSchemas.setWebApp(true);​
Line 93: Line 108:
 </​code>​ </​code>​
  
-[[magik-demo:​developer:​magik-project|Back to Top]] | [[magik-demo:​start|Back to Home Page]]+[[magik-demo:​developer:​magik-project|Back to Top]] | [[magik-demo:​start-here|Back to Home Page]]
magik-demo/developer/magik-project.1368613246.txt.gz · Last modified: 2017/07/06 15:24 (external edit)