19
Richard Jones, July 2005 Integrating Local Developments to DSpace

Richard Jones, July 2005 Integrating Local Developments to DSpace

Embed Size (px)

Citation preview

Page 1: Richard Jones, July 2005 Integrating Local Developments to DSpace

Richard Jones, July 2005

Integrating Local Developments to DSpace

Page 2: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Richard Jones

Edinburgh University LibraryEdinburgh Research Archive (ERA) (http://www.era.lib.ed.ac.uk)E-Theses tools for DSpace Tapir (http://sourceforge.net/projects/tapir-eul)

Bergen University LibraryBergen Open Research Archive (BORA) (http://bora.uib.no/)

Page 3: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

What we're talking about

• A brief introduction to community development

• What is the Tapir?

• Tapir structure and installation

• Alternative Tapir structure and installation

• Are developments appropriate for the main codebase?

• Making and submitting patches

Page 4: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

A brief introduction to community development

• Keep your source code up to date with the CVS

• Follow community coding standards

• Monitor the mailing lists– [email protected]

[email protected]

• Share early, share often

Page 5: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

What is the Tapir

• E-Theses management tool for DSpace developed for

Edinburgh University Library

• Open Source since 2003

• Some parts now included in the DSpace 1.3 codebase

Page 6: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Tapir general structure

Page 7: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Tapir installation (current)

Page 8: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

The choices we made

• Ease of development and local maintenance

• The need to diverge slightly from the original DSpace

code

• Hope that the installation would not be too technically

demanding

• Perhaps appropriate for the time, but not necessarily the

way to continue

Page 9: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Alternative structure for Tapir

Page 10: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Alternative installation of Tapir

Page 11: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Package design notes

• Patching may be a neater solution, but requires a degree of technical

knowledge, especially when things go wrong

• Not using a patch makes the install process very long

• Having a separate JAR for the module may be more desirable

• Building components into the same package

– increases the ease with which modules may utilise eachother's functionality

– makes it easier to extend existing core functionality

• Since dspace.cfg will always be localised, we shouldn't patch it

Page 12: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

One you have developed

• Are you ready to submit contributions to the DSpace

codebase?

• Have you followed the coding standards?

• Are the licensing terms compatible?– Berkley Software Distribution (BSD)

– (Gnu) Lesser General Public Licence (LGPL)

– Apache Licence

• Are the developments appropriate for DSpace?

Page 13: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Is the development appropriate for DSpace?

• Developments not of use to the community– Local user interface modifications

Tapir dual fixed submission systems

MIT customisablesubmission formsfor each collection

VS

• Developments useful to some, but not fitting with the

direction of DSpace development– Dual submission process (superceded)

• Create patches for the rest

Page 14: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Making patches (1)

• Produce against the most recent CVS HEAD

• Bundle in small units– Individual files

– Individual units of functionality• supervisor administration tools

• end user supervisor interface

• statistics reporting system

Page 15: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Making patches (2)

• Include the administrative code– Database create and destroy scripts

– Database upgrade script

– Database sequence integrity script

• Allow functionality to be switched off (and done so by

default)

• Upload to SourceForge

Page 16: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Patch review and commit• Schema changing developments only included between

major versions (1.x – 1.y, not 1.x.a – 1.x.b)

• The committers– Testing patches

– Determine applicability to DSpace

– Liaise with contributor

– Commit the patch

• The contributors– Discuss the feature with the committers

– Keep patches up to date with CVS HEAD

– Apply required changes during testing process

Page 17: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Becoming part of the DSpace codebase

• Functionality description added to version history

• Contributors attributed in version history:

(Richard Jones)- Addition of Tapir workspace to MyDSpace pages: authoring and supervising itemlistings, a workspace for each item and a workspace item metadata viewer

Page 18: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

References

• DSpace on SourceForge: http://sourceforge.net/projects/dspace

• DSpace Wiki: http://wiki.dspace.org/

• DSpace developing: http://wiki.dspace.org/DspaceDeveloping

• How to contribute: http://wiki.dspace.org/HowToContribute

• Submitting a patch: http://wiki.dspace.org/ContributionGuidelines

• Jones, R, (2004). The Tapir: Adding E-Theses functionality to DSpace. Ariadne. Issue 41. http://www.ariadne.ac.uk/issue41/jones or http://hdl.handle.net/1842/632

Page 19: Richard Jones, July 2005 Integrating Local Developments to DSpace

Integrating LocalDevelopments to

DSpace

DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library

Thanks for listening

Richard Jones

Universitetsbiblioteket i BergenTilvekstavdelingNygårdsgaten 55015 BergenNorway

[email protected]://bora.uib.no/

This work is licensed under the Creative Commons Attribution-NonCommercial-

ShareAlike License. To view a copy of this license, visit

http://creativecommons.org/licenses/by-nc-sa/2.5/ or send a letter to Creative Commons,

559 Nathan Abbott Way, Stanford, California 94305, USA.

http://www.ub.uib.no/prosj/BORA/Presentasjoner/RJ-DSUG-2005.ppt