IkeWiki README
==============

(c)2005 Sebastian Schaffert and Rupert Westenthaler, Salzburg Research

Contents:
---------

1. About IkeWiki
2. License
3. Installation



1. About IkeWiki
----------------

IkeWiki is a research prototype that investigates the combination of Semantic 
Web and Wiki technologies. Such a system can serve several purposes, including
- annotation of existing wiki data with semantic annotations to make use of
  enhanced searching, navigation, and rendering
- creation of formal knowledge by means of a collaborative authoring process

While there exist several Semantic Wiki systems for the first purpose, there
is only little available for the second. IkeWiki aims to fill this gap. In
it, domain experts and knowledge engineers can work collaboratively to create
formal knowledge like ontologies. Domain experts can fill the system with
text content and perform simple annotations, and knowledge engineers can
take the data and transform it into formal knowledge.

Additional information is available at the IkeWiki homepage [1]. We will 
regularly publish research outcomes as well as practical howtos there.


[1] http://ikewiki.salzburgresearch.at


2. License
----------

IkeWiki is a research prototype. As such, its main purpose is to investigate
new ideas and technologies, and not so much to create a commercial product. We
feel that this technology should be available for everyone to learn from it
and improve it. For this reason, we publish IkeWiki as free software under
the GNU Lesser General Public License (LGPL). This license permits you to
modify and redistribute the code provided that you publish your changes
under the same license. It also permits you to use IkeWiki as part of your 
own systems, even when used commercially. Note, however, that the LGPL 
requires nonetheless that you publish all changes to IkeWiki itself as
free software under the LGPL license. Please refer to the file COPYING for 
details.

This work includes considerable technological efforts and is based on several
years of research work and experience. We would therefore be happy if you
acknowledge this work by putting a reference to us (the authors and our 
company) in your derived products or projects. Also, we would be happy to hear
from you if you use IkeWiki. This not only allows to keep us track of IkeWiki 
usage, it also gives us new ideas for possible future research and development!



3. Installation
---------------

3.1 Requirements 

IkeWiki is implemented as a Java Web Application. As IkeWiki makes extensive 
use of Java 5 features, you need at least JDK 1.5 and Tomcat 5.5.12 to run it.
Also, IkeWiki stores its articles in a PostgreSQL database. You need at least
PostgreSQL version 7.4.

    *  JDK 1.5 is available at http://java.sun.com for many platforms 
       including Windows, Linux, and Solaris
    *  Tomcat 5.5.12 is available at http://jakarta.apache.org
    *  PostgreSQL 7.4 or 8.x is available at http://www.postgres.org

Please follow the installation instructions of these two applications if you 
get into troubles. In the simplest case, you just need to unpack the Tomcat 
archive and run the provided "startup.sh" or "startup.bat" script in the 
bin/ directory. 

3.2 Deployment 

If you have Tomcat up and running, installation of IkeWiki is easy: just copy 
the IkeWiki.war file into the webapps/ folder of your Tomcat installation and 
point your browser to  http://localhost:8080/IkeWiki/setup.jsp to see whether 
it is working.

3.3 Setup 

IkeWiki comes with a setup script that guides you through the initial database
setup. You can access it by pointing your browser to 
http://localhost:8080/IkeWiki/setup.jsp.

The setup process currently involves two steps: database setup and ontology 
setup.

3.3.1 Database Setup 

If you have not yet done so, you need to configure PostgreSQL such that it 
accepts connections via TCP and MD5 passwords. The setup script gives you 
details on how to do this.

In the first setup step, you are required to enter some details about your 
database:

    *  for the superuser name and password, please provide the authentication
       details of a user that is allowed to create databases and users in 
       PostgreSQL; filling in these two fields is required
    *  if you plan to run several instances of IkeWiki on one host. you may 
       want to also change the settings for database name and IkeWiki 
       user/password; the default values are reasonable for a new install

If you have finished the form, click on the "create tables" button.

3.3.2 Ontology Setup 

In the second step, the setup script allows you to preload some common 
ontologies. Of these, the RDFS and OWL ontologies are required for every 
installation, because they define some basic relationships. Also, it is 
recommended to load the OWL and Dublin Core ontologies, and the help files 
for IkeWiki. When you have selected the desired ontologies, press 
"load ontologies". Depending on the number and size of the chosen ontologies, 
this process may take some time.

3.4 Start Working 

You can now start working with your IkeWiki installation by pointing your 
browser to http://localhost:8080/IkeWiki/index.jsp . As IkeWiki now comes with 
a sophisticated user/role and permission management, you need to login as 
"Administrator" with password "s3cr3t" the first time and change the
permissions to your needs (see below).


4. IkeWiki Permission Management
--------------------------------

IkeWiki comes now with a flexible system for managing access to actions and 
resources (only actions implemented at the moment). IkeWiki distinguishes 
between users and roles, each of which can be associated with permissions
and restrictions. A user can be associated with zero or more roles and
inherits all permissions of these roles (via union of all permissions and 
restrictions, use precedences to avoid undesirable effects). A permission
rule is currently defined by a precedence, a resource/action specification 
(using % as wildcard) and the kind of action that is allowed to be performed.

In the initial setup, only users with the role Administrator are given full
access to the system. The initial user is called 'Administrator' and has
the password 's3cr3t'.




Sebastian Schaffert, sebastian.schaffert@salzburgresearch.at
Salzburg Research Forschungsgeselschaft m.b.H.
