The Preservation Planning Tool Plato
Java JavaScript HTML XSLT CSS Shell Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
code-style
doc
idp
jboss-util
kbrowser
minimee-view
minimee
planning-core
planningsuite-ear
plato-model
plato
provisional
tools
.gitignore
.opf.yml
.travis.yml
ABOUT.md
CONTRIBUTE.md
LICENSE
README.md
Vagrantfile
bootstrap.sh
pom.xml

README.md

Plato: The Preservation Planning Tool

Efficient and trustworthy preservation planning.

How to install and use

Requirements

To install you need:

  • Java 7
  • MySQL 5 Server
  • JBoss AS 7.1.0.Final

Download

At the moment there are no precompiled versions available, please refer to the instructions for building Plato on the contribute page.

Install instructions

To install follow these steps:

  1. Install and setup MySQL server

    1. Install MySQL 5 Server (tested with version 5.1.54)
    2. Set UTF8 as a default encoding/collation. Check appropriate MySQL 5.X reference manual for instruction on how to do this. There were some changes so it might not be the same for all versions.
    3. Configuration Make the following changes in your MySQL config file (on Linux it is my.cnf and on Windows my.ini)
        #in the Server Section [mysqld] 
        max_allowed_packet = 128M
        max_sp_recursion_depth = 255
        thread_stack = 512K
       
    4. Restart MySQL server
  2. Setup Database for Planning Suite If you run Planning Suite and IDP on the same domain, you can use a predefined script:

    1. Switch to the tools directory, there you will find the script setup-database.sh. It creates DB users and databases for IDP and Plato, and prepares a config file for your JBoss AS 7 server.
    2. Run it via ./setup-database.sh <MySQL root password> <Plato DB password> <IDP DB password>
    3. You will find two new files in this directory: standalone.xml for your production environment, adjust it to your needs, and additionally standalone-test.xml - the configuration for your test server.
  3. Install and setup JBoss AS 7

    1. Download and install JBoss AS 7.1.0.Final. You can use JBoss AS 7.1.1.Final, but there are [issues with the included JSF implementation] (https://issues.jboss.org/browse/AS7-4366), so you have to replace the corresponding modules yourself.
    2. Copy the file standalone.xml you have generated during database setup to [JBOSS_HOME]/standalone/configuration/standalone.xml
  4. Install MySQL Drivers

    1. Download [MySQL Connector/J] (http://dev.mysql.com/downloads/connector/j)
    2. Create a driver module as described in [Installing a JDBC driver as a module] (https://community.jboss.org/wiki/DataSourceConfigurationInAS7#Installing_a_JDBC_driver_as_a_module)
  5. Install and setup PicketLink

    1. Go to the modules/org/picketlink/main directory and delete all jar files in it.
    2. Download Picketlink 2.1.4 jars for JBoss AS 7.1.x here: picketlink-core-2.1.4.Final.jar and picketlink-jbas7-2.1.4.Final.jar
    3. Copy both Picketlink 2.1.4 jars into modules/org/picketlink/main directory
    4. In modules/org/picketlink/main do the following changes to the module.xml file :
       
      

    <module xmlns="urn:jboss:module:1.1" name="org.picketlink"> <resources> <resource-root path="picketlink-core-2.1.4.Final.jar"/> <resource-root path="picketlink-jbas7-2.1.4.Final.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.security.auth.message.api"/> <module name="javax.security.jacc.api"/> <module name="javax.transaction.api"/> <module name="javax.xml.bind.api"/> <module name="javax.xml.stream.api"/> <module name="javax.servlet.api"/> <module name="org.jboss.common-core"/> <module name="org.jboss.logging"/> <module name="org.jboss.as.web"/> <module name="org.jboss.security.xacml"/> <module name="org.picketbox"/> <module name="javax.xml.ws.api"/> <module name="org.apache.log4j"/> <module name="org.apache.santuario.xmlsec"/> </dependencies> </module>

  6. Install UTF8EncodingValve

    Please refer to the [readme of jboss-utils] (https://github.com/openplanets/plato/blob/integration/jboss-util/README.md)

  7. Configure Plato Some aspects of Plato can be configured using configuration files. See Plato configuration for further information.

  8. Optional: FITS

Use

To use the tool, start up JBoss 7 and navigate with your browser to e.g. at http://localhost:8080/plato

Troubleshooting

If you encounter problems please use the built in feedback functionality in Plato (on the right side of the page), or refer to github

Licence

Plato is released under Apache version 2.0 license.

Acknowledgements

This work was partially supported by the SCAPE project. The SCAPE project is co-funded by the European Union under FP7 ICT-2009.4.1 (Grant Agreement number 270137)

Support

This tool is supported by the Open Planets Foundation. If you require support, feel free to contact plato [at] ifs.tuwien.ac.at.

Features and roadmap

Version 4.4

  • Policy aware
  • Reads content profiles
  • Integration of myExperiment
  • Connects to repositories via open APIs (Data Connector API and Plan Management API)
  • Read only view for public plans
  • Deploy of executable Preservation Action Plan

Roadmap

  • Improved template creation for Executable Plan (based on used migration and quality assurance components)
  • Smarter triggers for monitoring
  • Implementation of Notification API to recieve planning requests
  • Policy-based improvements to increase efficiency
  • Implementation of Reassessment API