Download Title

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
SCAPE
Developer Workshop
Getting started…
Andrew Jackson – SCAPE Technical Coordinator
The British Library
SCAPE Kick-Off Meeting
Vienna, February 2011
SCAPE
SCAPE Technical Coordinator
• Role
• To chair the Technical Coordination Committee
• To facilitate the development of an optimally integrated
high-quality preservation platform.
• To propose and evolve the technical infrastructure and
architecture to ensure the work in the individual workpackages can work together
• To resolve technical dependencies or conflicts between
work-packages
• To provide implementation support and expertise
SCAPE
An Initial Proposal
• This talk outlines a concrete proposal for an initial
shared development infrastructure
• It is set up and ready to work today
• But it is not set in stone
• How can I help you?
• The aim is to make it easy to work together
• Let me know if you have any ideas!
• [email protected]
SCAPE
Proposed Development Environment
• Source code hosted on github.com
• Great code and team management
• Other development tools:
•
•
•
•
A public-facing wiki (Confluence)
Issue tracking (JIRA)
Continuous integration (Bamboo)
Code inspection and review (FishEye & Crucible)
• Supported by the Open Planets Foundation.
SCAPE
Proposed Build System
• Java is expected to be the base language
• This does not require all components to be written in Java
• But all components must be interoperable, and any
interoperability layers should be specified in Java at least
• Maven 2 is the proposed build system
• Powerful dependency management
• The de facto standard for large Java projects
• Also used by JHOVE2, DROID, Hadoop, among others
• Supported by most IDE software
• No need to support multiple project files for Eclipse, NetBeans, etc
SCAPE
Platform Integration Plan
• Many components depend on the SCAPE Platform
• The platform will be developed over time
• At first, Hadoop: Map-Reduce, HDFS, etc.
• Building to the full SCAPE platform
• How to ensure we can run on all Platform iterations?
• An interface layer will be specified for all to work against.
• Based on the Characterise, Migrate, Compare interfaces
from Planets, but appropriate to distributed architecture.
• Consistent with JHOVE2, etc.
SCAPE
Understanding cross-package dependencies
• Achieving this will require a full understanding of the
cross-package dependencies.
• Data, models and code.
• I’ll need your help…
• Each sub-project should provide a technical expert to sit on
the coordination committee.
• Interdependencies will be mapped and resolved in that
committee.
• Thanks for your patience!
SCAPE
Practical Session
• It took about a year to get everyone set up on the
Planets development environment.
• For SCAPE, we’ll do it today.
• Go to the SCAPE public wiki:
• http://wiki.opf-labs.org/display/SP
• Click on ‘Getting started’ to see the links you need.
SCAPE
Practical 1 – Signing up…
Sign up with github.com
• Go here and sign up:
https://github.com/signup/free
• Note your username.
Sign up with OPF Labs
• Go here:
http://jira.opf-labs.org/
• Use the Sign Up link.
• Note your username
• Then email both usernames to [email protected]
• e.g.
github: anjackson
opf-labs: anjackson
• And I’ll add you to those projects.
9
SCAPE
Practical 2 – Set up git and github…
• As per http://help.github.com/
• Install git
• Generate SSH keypair
• Add your public key to your github account
• Set your user and email in git
• Note that the Eclipse git plugin (egit) is quite good.
• If you have set everything up okay, you should now
be able to check out the code:
• git clone [email protected]:openplanets/scape.git
• p.s. there is no code, yet.
10
SCAPE
Practical 3 – Adding your WP README file
• Add your work-package README file
• e.g. XA/WP.2.Technical.Coordination/README.md
• Include a list of the deliverables.
• If you know which deliverables, software or data models
your work depends on, please note them there.
• Add and commit it…
• git add XA/WP.2.Technical.Coordination/README.md
• git commit –m “Added WP README file.”
• Push your additions up to github:
• git push origin master
SCAPE
Summary
• Proposed environment for code development:
•
•
•
•
•
Mostly Java
Built with Maven
Managed with git
Hosted on github.com
OPF Labs provides additional services
• Issue tracking in JIRA
• Continuous Integration
• Wiki and more…
• Feedback please, to [email protected]