Fedora 4
in a nutshall
Yinlin Chen
07/07/2014
Fedora 4
• A repository
• store objects, RDF, SPARQL, pluggable
• Beta release in June
• RESTful HTTP API
• primary way for applications to work with a
Fedora 4 repository
Glossary
• Node: Primary organizational structure in the repository.
• name, unique identifier, path
• 0* properties / child nodes
• Node types
• Object (aka Fedora Object)
• A node type with the Primary type of [nt:folder] and a Mixin type of [fedora:object]. It is the
primary organizational node in a Fedora repository.
• a fully qualified name including a namespace and local name. e.g. pid:1
• Workspace
• The repository is divided into separate named workspaces, and it is within these
workspaces that all content is stored as a tree-structure of nodes.
• All nodes in the tree are accessible via navigation (path) or via query result.
• E.g. A default workspace. Top of the tree-structure is the root node (“/”)
Fedora 4 user interface
• Navigation Bar

Navigation Bar
Object Title
Object Path
Featured Properties
Children
Node Properties
Inlined Resources
Actions
• Create child node
• object or datastream
• Downloaded/Update Binary Content
• Update Properties
• Use SPARQL query
Namespaces
• Must be registered
Prefix
URI
Techniques
• Java 7: Implemented using some Java 7 new features
• Maven3: Compile and build
• Git / GitHub: Source code control
• Eclipse: IDE
• Jetty
• Tomcat 7
• JUnit
Eclipse + GitHub
• Fedora GitHub: https://github.com/fcrepo4
• Eclipse preferences: http://fcrepo4/src/site/
eclipse/README.md
• Plugin
• CodeTemplate
• CodeStyle
Fedora GitHub workflow
• Fork a Repo
• Create a branch
• make changes
• commit changes
• push changes
• Pull-Request
• Cleanup
Fedora Pivotal Tracker
• https://www.pivotaltracker.com/s/projects/
684825
• Joined
Pivotal Tracker workflow
• A request is a story. Owner works on a story. (developers)
• ICEBOX
• Stories in the Icebox may not have delivery criteria. They may be rejected by the product
owner from the Icebox.
• BACKLOG
• Stories that have been accepted are moved to the Backlog.
• SPRINTS
• Stories that have been started must be moved to a sprint. Stories are finished and delivered
in sprints.
• Pivotal Tracker States
• finished
• delivered
• accepted/rejected
Fedora Pivotal Tracker
Join the dev community
• Contributor
• Committer
• Official Fedora Dev document
• IRC
• Pivotal Tracker: https://www.pivotaltracker.com/s/
projects/684825
Local Setting
• Fork Fedora source in GitHub
• Clone a branch from my Fork to local desktop
• MVN commands (code test/verify/style check)
• Fedora http api
• Make change
Fedora Commons Repository 4 - Labs
• https://github.com/fcrepo4-labs
• puppet-fcrepo: The fcrepo module installs, configures, and
manages Fedora 4 in a clustered environment.
• fcrepo-aws-puppet: This Puppet script starts an AWS EC2
instance, then deploys fcrepo-webapp to a stand-alone
Tomcat7 application server.
• Modeshape: ModeShape is a distributed, hierarchical,
transactional, and consistent data store with support for
queries, full-text search, events, versioning, references, and
flexible and dynamic schemas.
• many others.
Fedora 4 in AWS
• AWS EC2 instance
• Ubuntu 12.10 and Mac OS X 10.6.
• Tomcat 7
• Fedora webapp
New Development
• Java Client Library
• July 10
• https://wiki.duraspace.org/display/FF/Design+-
+Java+Client
• https://wiki.duraspace.org/display/FF/Design+-
+Java+Client+Library
• https://github.com/fcrepo4-labs/fcrepo4-client
Fedora VM spec for Dev
• Software:
• OS: Ubuntu 12.04
• Kernel: 3.2.0-34-generic (x86_64)
• Compiler: GCC 4.6
Discussion
• Fedora / Hydra
• Develop Environment
• Cloud: AWS / OS
• Local: where?
GitHub plan
• Micro: 5 private repositories, $7/month, $84/
year
• Small: 10 private repositories, $12/month, $144/
year
• Bronze: 10 private repositories, $25/month,
$300/year

Fedora4

  • 1.
    Fedora 4 in anutshall Yinlin Chen 07/07/2014
  • 2.
    Fedora 4 • Arepository • store objects, RDF, SPARQL, pluggable • Beta release in June • RESTful HTTP API • primary way for applications to work with a Fedora 4 repository
  • 3.
    Glossary • Node: Primaryorganizational structure in the repository. • name, unique identifier, path • 0* properties / child nodes • Node types • Object (aka Fedora Object) • A node type with the Primary type of [nt:folder] and a Mixin type of [fedora:object]. It is the primary organizational node in a Fedora repository. • a fully qualified name including a namespace and local name. e.g. pid:1 • Workspace • The repository is divided into separate named workspaces, and it is within these workspaces that all content is stored as a tree-structure of nodes. • All nodes in the tree are accessible via navigation (path) or via query result. • E.g. A default workspace. Top of the tree-structure is the root node (“/”)
  • 4.
    Fedora 4 userinterface • Navigation Bar
 Navigation Bar Object Title Object Path Featured Properties Children Node Properties Inlined Resources
  • 5.
    Actions • Create childnode • object or datastream • Downloaded/Update Binary Content • Update Properties • Use SPARQL query
  • 6.
    Namespaces • Must beregistered Prefix URI
  • 7.
    Techniques • Java 7:Implemented using some Java 7 new features • Maven3: Compile and build • Git / GitHub: Source code control • Eclipse: IDE • Jetty • Tomcat 7 • JUnit
  • 8.
    Eclipse + GitHub •Fedora GitHub: https://github.com/fcrepo4 • Eclipse preferences: http://fcrepo4/src/site/ eclipse/README.md • Plugin • CodeTemplate • CodeStyle
  • 9.
    Fedora GitHub workflow •Fork a Repo • Create a branch • make changes • commit changes • push changes • Pull-Request • Cleanup
  • 10.
    Fedora Pivotal Tracker •https://www.pivotaltracker.com/s/projects/ 684825 • Joined
  • 11.
    Pivotal Tracker workflow •A request is a story. Owner works on a story. (developers) • ICEBOX • Stories in the Icebox may not have delivery criteria. They may be rejected by the product owner from the Icebox. • BACKLOG • Stories that have been accepted are moved to the Backlog. • SPRINTS • Stories that have been started must be moved to a sprint. Stories are finished and delivered in sprints. • Pivotal Tracker States • finished • delivered • accepted/rejected
  • 12.
  • 13.
    Join the devcommunity • Contributor • Committer • Official Fedora Dev document • IRC • Pivotal Tracker: https://www.pivotaltracker.com/s/ projects/684825
  • 14.
    Local Setting • ForkFedora source in GitHub • Clone a branch from my Fork to local desktop • MVN commands (code test/verify/style check) • Fedora http api • Make change
  • 15.
    Fedora Commons Repository4 - Labs • https://github.com/fcrepo4-labs • puppet-fcrepo: The fcrepo module installs, configures, and manages Fedora 4 in a clustered environment. • fcrepo-aws-puppet: This Puppet script starts an AWS EC2 instance, then deploys fcrepo-webapp to a stand-alone Tomcat7 application server. • Modeshape: ModeShape is a distributed, hierarchical, transactional, and consistent data store with support for queries, full-text search, events, versioning, references, and flexible and dynamic schemas. • many others.
  • 16.
    Fedora 4 inAWS • AWS EC2 instance • Ubuntu 12.10 and Mac OS X 10.6. • Tomcat 7 • Fedora webapp
  • 17.
    New Development • JavaClient Library • July 10 • https://wiki.duraspace.org/display/FF/Design+- +Java+Client • https://wiki.duraspace.org/display/FF/Design+- +Java+Client+Library • https://github.com/fcrepo4-labs/fcrepo4-client
  • 18.
    Fedora VM specfor Dev • Software: • OS: Ubuntu 12.04 • Kernel: 3.2.0-34-generic (x86_64) • Compiler: GCC 4.6
  • 19.
    Discussion • Fedora /Hydra • Develop Environment • Cloud: AWS / OS • Local: where?
  • 20.
    GitHub plan • Micro:5 private repositories, $7/month, $84/ year • Small: 10 private repositories, $12/month, $144/ year • Bronze: 10 private repositories, $25/month, $300/year