Home Forums AFP548 Community Projects Fedora Digital Repository Management System

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #356029
    ElgertS
    Participant

    PROJECT DESCRIPTION

    Fedora is an open source project to be used by universities and other organizations for management of digital assets. The project is written in Java 1.4 and takes advantage of MySQL. In its 1.0 release it can be compared in some ways to Canto Cumulus or Extensis Portfolio in their high end iterations. Future enhancements should easily take it far past these products as it integrates versioning and Access Control and Aunthentication features to become a fully functional Digital Asset System.

    #356030
    ElgertS
    Participant

    Step 1: Prepare for installation

    Fedora requires Java version 1.4 or higher as well as MySQL 3.2.3 or higher, both of which come installed on Mac OS X Server 10.2.

    #356031
    ElgertS
    Participant

    Step 2: Download Fedora

    The current release is 1.0 and is available at this url:

    http://www.fedora.info/release/

    #356032
    ElgertS
    Participant

    Step 3: Fedora home directory

    Fedora prefers to be installed in /usr/local in a directory called fedora-1.0. Within this directory you will want to install both the server and the client. In this way you will have to directories within fedora-1.0: server & client.

    #356033
    ElgertS
    Participant

    Step 4: Set permissions for Fedora

    Fedora must have write permissions for its bin directories. These are set with the following commands:

    sudo chmod 755 /usr/local/fedora-1.0/server/bin/*

    sudo chmod 755 /usr/local/fedora-1.0/client/bin/*

    #356034
    ElgertS
    Participant

    Step 5: Prepare environmental variables

    These variables need to be set prior to launching Fedora:
    JAVA_HOME
    PATH
    FEDORA_HOME

    They can be set on a single instance basis in the following way:

    1. Log into the terminal
    2. type “sh”
    3. type “export” to get a list of current exports. You will note that PATH already exists.
    4. type each of the following lines to create your necessary exports:
    export PATH=”/bin:/sbin:/usr/bin:/usr/sbin:
    /System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Home/bin:
    /usr/local/fedora-1.0/server/bin:/usr/local/fedora-1.0/client/bin”
    export FEDORA_HOME=/usr/local/fedora-1.0
    export JAVA_HOME=”/Library/Java/Home”

    Note the PATH export above is broken into three lines for posting but must be one contiguous line.

    Now, obviously this is not the correct way to do this. To permanently set the environmental variables you need to create an XML file named “environmental.plist” inside a folder named “.MacOSX” within the home directory of the login account. To format the information correctly within the XML file, Apple suggest you use the PropertyListEditor application that comes with Developer Tools:

    http://developer.apple.com/qa/qa2001/qa1067.html

    #356035
    ElgertS
    Participant

    Step 6: Symobolic Link for orbd location

    To verify that you are using Java 1.4 or higher, Fedora checks for the presence of orbd. Apple does not place orbd in the location Fedora expects. To resolve this you will need to symlink the orbd found at:

    /System/Library/Frameworks/JavaVM.framework/Commands
    to
    /System/Library/Frameworks/JavaVM.framework/Home/bin/orbd

    #356036
    ElgertS
    Participant

    Step 7: Configure database

    You need to create a database in MySQL named “FedoraObjects”. It is probably easiest to do this within PHPMyAdmin.

    #356037
    ElgertS
    Participant

    Step 8: Modify Fedora Configuration file

    Prior to launching Fedora you need to edit the Fedora configuration file located at:

    /usr/local/fedora-1.0/server/config/fedora.cfg

    The following list of elements should be configured to your specific server settings:

    adminPassword

    This is where you set the value of the administrative user, ìfedoraAdminîís password. This is used when authenticating remote requests for performing administrative functions.

    object_store_base

    A directory where XML serializations of the digital objects will be stored. This will be created if it doesnít already exist. This parameter must be given as an absolute path.

    fedora_temp

    A temporary directory. This will be created if it doesnít already exist. This parameter must be given as an absolute path.

    fedora_datastreams

    A directory where datastreams of digital objects will be stored. This will be created if it doesnít already exist. This parameter must be given as an absolute path.

    fedoraServerPort

    The port on which the server should run. 8080 is often used, but this can be anything your OS / user privleges will allow.

    fedoraServerHost

    The host name of the machine on which Fedora runs. If the machine has aliases, use the alias that will be used by people connecting to the server (be it via a web browser or one of the SOAP API exposures).

    DOManager/pidNamespace

    This is the namespace id part of newly generated PIDs for objects. This should be a short string consisting of the characters [a-z][0-9]. When objects are first ingested or created in the repository, this will be the first part of the identifier used for them. (Note: the pid namespace wonít be used for objects that are ingested with a ìdemo:î pid)

    DOManager/storagePool

    This specifies the database connection pool to be used for the storage subsystem. Normally this will just identify ConnectionPoolManagerís default connection pool.

    Management/allowHosts

    A comma-separated list of IP ranges (for example, ì200.200.0.0-255.255.0.0,100.0.0.0-180.0.0.0î) that the clientís address is compared to for Management API access. If this is specified, the remote address must match for any Management request in order to be accepted. If this is not specified, all requests will be accepted unless the remote address matches a deny pattern (see below).

    Management/denyHosts

    IP Ranges to deny. If specified, the remote address must not match for any Management request in order to be accepted. If this is not specified, request acceptance is governed solely by the allowHosts parameter.

    Access/allowHosts

    Same as Management/allowHosts, except this controls access to the Access API.

    Access/denyHosts

    Same as Management/denyHosts, except this controls access to the Access API.

    Access/doMediateDatastreams

    This is for additional repository security. If true, all datastreams (even those that are referenced) will be piped through Fedora when they are sent to behavior services. See the description of this parameter inside fedora.fcfg for more detail on this option.

    FieldSearch/connectionPool

    Specifies the database connection pool to be used for the fielded search functionality. Normally this will be ConnectionPoolManagerís default pool.

    OAIProvider/repositoryName

    How you want your repository to be named in the OAI-PMH interfaceís Identify request.

    OAIProvider/adminEmails

    Who the OAI-PMH interface identifies as administrators to harvesters. This is a space-separated list.

    OAIProvider/friends

    A space separated list of OAI-PMH provider endpoints identifying other providers that you associate with. OAI harvesters use this for discovery purposes.

    fedoraServerPort

    The port on which the server should run. 8080 is often used, but this can be anything your OS / user privleges will allow.

    ConnectionPoolManager/defaultPoolName

    The pool to be provided to modules that request the default connection pool.

    ConnectionPoolManager/poolNames

    A comma delimited list of pools to make available. These should be identified by the id attribute of one of the datastore elements.

    datastore/dbUsername

    The username for database access. This should match the username used previously when setting up the database for Fedora.

    datastore/dbPassword

    The password for the database user.

    datastore/jdbcURL

    A JDBC URL that can be used to connect to your database. The syntax must match that required by the driver. Working examples for MySQL and McKoi are included.

    datastore/jdbcDriverClass

    Identifies the driver to use for connecting to the database. This is RDBMS-specific. If you need to use a driver that isnít already included, put the .jar file in server/tomcat41/common/lib./

    #356038
    ElgertS
    Participant

    Step 9: Start Fedora

    You need to make sure Tomcat is running on your server. This is done through the Server Settings application via a checkbox under “Configure Web Service”.

    The scripts for starting the server are located in the /usr/local/fedora-1.0/server/bin directory. To start the server issue this command:

    sh fedora-start.sh

    #356039
    ElgertS
    Participant

    Step 10: Start the Fedora Admin

    To begin working with Fedora, you can start the admin client located at /usr/local/fedora-1.0/client/bin. The command to start the Admin application is:

    sh fedora-admin.sh

    This will launch a Java Application which can be used to injest the demo files located in /usr/local/fedora-1.0/client/demo

    #356309
    ElgertS
    Participant

    The Fedora project has been updated to release 1.1. This is a bug fix release with few new features. New features include support for Oracle 9i & support for self-referential URLs.

    #357225
    ElgertS
    Participant

    The Fedora project has been updated to 1.2. This release adds content versioning of assets, improved interface, and new features to the Java client software.

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.

Comments are closed