Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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]