Upload
berenice-rich
View
214
Download
0
Embed Size (px)
Citation preview
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/)
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
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]
• Share early, share often
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
Integrating LocalDevelopments to
DSpace
DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library
Tapir general structure
Integrating LocalDevelopments to
DSpace
DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library
Tapir installation (current)
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
Integrating LocalDevelopments to
DSpace
DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library
Alternative structure for Tapir
Integrating LocalDevelopments to
DSpace
DSpace User Group Meeting, Cambridge, July 2005. Richard Jones, Senior Engineer, University of Bergen Library
Alternative installation of Tapir
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
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?
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
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
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
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
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
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
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