Fedora4

511 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Fedora4

  1. 1. Fedora 4 in a nutshall Yinlin Chen 07/07/2014
  2. 2. 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
  3. 3. 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 (“/”)
  4. 4. Fedora 4 user interface • Navigation Bar
 Navigation Bar Object Title Object Path Featured Properties Children Node Properties Inlined Resources
  5. 5. Actions • Create child node • object or datastream • Downloaded/Update Binary Content • Update Properties • Use SPARQL query
  6. 6. Namespaces • Must be registered Prefix URI
  7. 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. 8. Eclipse + GitHub • Fedora GitHub: https://github.com/fcrepo4 • Eclipse preferences: http://fcrepo4/src/site/ eclipse/README.md • Plugin • CodeTemplate • CodeStyle
  9. 9. Fedora GitHub workflow • Fork a Repo • Create a branch • make changes • commit changes • push changes • Pull-Request • Cleanup
  10. 10. Fedora Pivotal Tracker • https://www.pivotaltracker.com/s/projects/ 684825 • Joined
  11. 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. 12. Fedora Pivotal Tracker
  13. 13. Join the dev community • Contributor • Committer • Official Fedora Dev document • IRC • Pivotal Tracker: https://www.pivotaltracker.com/s/ projects/684825
  14. 14. 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
  15. 15. 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.
  16. 16. Fedora 4 in AWS • AWS EC2 instance • Ubuntu 12.10 and Mac OS X 10.6. • Tomcat 7 • Fedora webapp
  17. 17. 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
  18. 18. Fedora VM spec for Dev • Software: • OS: Ubuntu 12.04 • Kernel: 3.2.0-34-generic (x86_64) • Compiler: GCC 4.6
  19. 19. Discussion • Fedora / Hydra • Develop Environment • Cloud: AWS / OS • Local: where?
  20. 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

×