Learning Outcomes
- Deploying Fedora
- Explore features
- Gain insight into content modeling
- Set up a federation over a local filesystem
- Set up JMS message consumer
- Set up external triplestore
Prerequisites
- Java7 installed
- WAR file(s) downloaded
- Configuration files downloaded
- Tomcat installed (optional)
Downloads
War files
Required
- One click run of Fedora 4: fcrepo-webapp-4.0.0-beta-03-jetty-console.war
- One click run of external message consumer: fcrepo-message-consumer-webapp-4.0.0-beta-03-jetty-console.war
Optional
- fcrepo-webapp-4.0.0-beta-03-auth.war (optional, only needed if deploying to Tomcat with authorization)
- fcrepo-message-consumer-webapp-4.0.0-beta-03.war (optional, only needed if deploying to Tomcat)
- fcrepo-webapp-4.0.0-beta-03.war (optional, only needed if deploying to Tomcat)
Configuration files
- repository.json
- repository-federation.json
- fedora-node-types-training.cnd
- fedora-node-types-indexing.cnd
Triplestore
- Download and install "Jena Fuseki" prior to the training
Deploying Fedora4
java -jar fcrepo-webapp-4.0.0-beta-03-jetty-console.war --headless
- Or just click on the war file
Note: The location where Fedora writes to disk can be specified with the following flag:
java -Dfcrepo.home=/path/fedora/data -jar fcrepo-webapp-4.0.0-beta-03-jetty-console.war --headless
Using Admin Features
Transactions (docs)
Versioning (docs)
Enable versioning on a resource / resource-tree
<> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.jcp.org/jcr/mix/1.0versionable> -- or, shorthand -- <> a mix:versionable
Create a version with a label
curl -XPOST http://localhost:8080/rest/item/fcr:versions/my-label
Enable auto-versioning on a resource
<> fedoraconfig:versioningPolicy "auto-version"
Admin Search ( docs )
Import/Export (docs)
Federation aka Projection
- Modify repository-federation.json for local system ("externalSources:federated-directory:directoryPath")
java -Dfcrepo.modeshape.configuration=file:/path/to/repository-federation.json -jar fcrepo-webapp-4.0.0-beta-03-jetty-console.war --headless
Content Modeling
- Modify repository-federation.json to point to fedora-node-types-training.cnd
"node-types" : ["/path/to/fedora-node-types-training.cnd"]
- Run
java -Dfcrepo.modeshape.configuration=file:/path/to/repository-federation.json -jar fcrepo-webapp-4.0.0-beta-03-jetty-console.war --headless
- Examine default property created on new objects
- Examine effect of applied type
<> a carl:page
External Triplestore
- Setup Fuseki (docs)
Start Fuseki
./fuseki-server --update --mem /test
- Verify running at –
http://localhost:3030
Modify repository-federation.json to point to fedora-node-types-indexing.cnd
"node-types" : ["/path/to/fedora-node-types-training.cnd"]
Start Fedora
java -Dfcrepo.modeshape.configuration=file:/path/to/repository-federation.json -jar fcrepo-webapp-4.0.0-beta-03-jetty-console.war --headless
Start fcrepo-message-consumer
java -jar fcrepo-message-consumer-webapp-4.0.0-beta-03-jetty-console.war --headless --port 9090
Create/Update some objects and perform some queries (examples)