Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel

Contents

Table of Contents
outlinetrue
stylenone

DSpace and Google Summer of Code

Student applications are accepted Mon, March 28, 12pm PDT – Fri, April 8, 12pm PDT.

...

Ideas for Potential DSpace Summer of Code projects

Note
titleAdd your ideas here!

Please add your suggestions for GSoC 2011 2012 projects related to DSpace! If you are interested in mentoring, please let us know! Also, be sure to visit the listing of Past GSoC Project Ideas below, to see if anything there is still relevant.

...

GFDAO (Generic Fedora Data Access Objects) Bring together the storage-fedora and storage-triplestore projects to produce a Fedora store based persistence tier that includes use of SPARQL to retrieve "Related and/or Contained" Fedora Objects. Objective is: That once DSpace Communties, Collections, and Items are represented as Fedora Objects with relationships captured in RELS-EXT, then a data persistence and mapping layer will need to be engineered for DSpace / Fedora interaction. Such a Data Access tier will provide a suite of Domain Model Centric Data Access Objects that will provide a DOFM (DSpace Object Fedora Mapping). Semantic Queries will be utilized to acquire sub collections, sub-communities, Items and parent objects.  Further thought can be placed into creating a generic Fedora Data Access Object that is capable of resolving any RELS-EXT (or other rdf based relation for that matter).

A Disseminator Framework will associate Disseminators with Items and/or Bitstreams,  Disseminators will combine METS file description and behavior sections to supply the user interface with a standard representation of the dissemination services that can be applied to a content bitstream in DSpace.  See for further background:

  • http://www.loc.gov/standards/mets/METSOverview.v2.html
  • https://wiki.duraspace.org/display/DSPACE/DSpaceMETSSIPProfile
  • http://scm.dspace.org/svn/repo/dspace/trunk/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/objectmanager/
  •  
    The XMLUI XSLT templates can be extended to support the definition of different types of METS "Behaviors" (links, embedded, alternative protocols, external embedded sites) 
    Disseminator Viewers and the Framework will provide a "Pluggable" solution for DSpace Addon Modules to Deliver new Viewer capabilities into the DSpace UI
    Domain Model
    The Domain Model Project seeks to resurrect the DAO prototype work of James Rutherford and others to provide a cleaner mean to replace the underlying data storage tier in DSpace.  Such efforts will more than likely be pivotal in achieving a DSpace with Fedora inside integration. Likewise, anyone interested in providing support for additional database vendors will find the DAO refactoring project of value in terms of providing a separation of relations data storage away from the Domain and Business Services tier of the DSpace application.
    Mark Diggory
    The new solr statistics engine in DSpace needs to generate more reports, replace the legacy "site-wide" statistics report that is still in use, and make use of
    Google Charts API (or similar) to make graphs easier to read, compare between items, etc.
     This project will result in
    • Legacy site-wide statistics (generated w/ log analyzers) replaced with reports generated from new statistics engine
    • More usage event types being captured (?)
    • Reports presenting aggregations of counts across site/communities/collections/items/etc
    Kim Shepherd
    Andrea Schweer
    Integrate DSpace authentication, authorization and bitstream dissemination with an open source RTMP streaming server such as RED5.
    Custom flash player is also desirable.
    This project will result in
    • Ability for DSpace to serve most A/V  content via RTMP
    • Ability to deny playback for non-public bitstreams to unauthorized users
    • Custom flash player for use with XMLUI and JSPUI(?)
    • Integration with UsageEvents system to fire events on pause, resume, connect, etc.
    Kim Shepherd
    Andrea Schweer

    Currently, DSpace functionality could be accessed using JSP and XML user interfaces. As in the meantime many other technologies arrived which could provide different way of user experience and UI customization, the idea is to create a new interfaces using some of the following technologies:

  • Vaadin - component based framework, server run, provides rich visual experience to the users. Demonstration of functionality could be accessed here.
  • GWT or ExtGWT  based frameworks. The bridge between DSpace API and client run components from these frameworks should be developed and tested. Demonstrations are available here and here
  • Flex, different approach by Adobe. Provider and bridge between DSpace API and Flex client application should be provided. 
    The most important functionality these interfaces should deliver is user interface which has attractive look and feel and provides users with enhanced usability. Additionally, easier customization of resulting interface would be additionally appreciated. As of project complexity and project deadlines, support for many administrative functions in the interface is not so important in current stage. It is more important to have rich and attractive user interface conforming to actual visual and usability trends. Accessibility
    DSpace is selected as an institutional repository platform for one special library for the blind (details come later). Its implementation/adaptation for institutional use is currently in progress (near end-stage). The institution would be willing to share some ideas, requirements and code already done in order to make solution widely available for institutions of similar type.
    Some of important aspects and ideas of customizing DSpace for such purposes would be:
  • adopt it on such way that it provides higher usability for blind persons
  • create mobile application (Android, IOS...) which could provide blind users possibility to browse repository, download and listen books
  • provide member management interface for closed-type library repository
  • adopt DSpace components in order to better fit institutional needs of such libraries
  • provide better support for delivering secured content (DRM of PDF documents, Daisy books etc)
  • DSpace's Curation System allows administrators to run tasks on individual items or sets of items at various stages of the item's lifecycle. At the moment, new tasks need to be written in Java, compiled and made available to the DSpace codebase. The curation system could be extended by allowing administrators to write curation tasks in a simplified programming language (eg Groovy, Jython or JRuby) that can then be run in a one-off fashion, or stored within DSpace and re-run at a later point. This would give DSpace administrators a middle ground between bulk metadata editing and writing full-out Java code; it would also allow simple code to be run by people without shell access to the DSpace server.
    Example tasks are:
  • For all items (in the repository/in a given collection), if the item's dc.description metadata contains a given string, move the item's bitstream from the ORIGINAL bundle to a different bundle
  • For all items in the repository/in a given collection), if the item' metadata value in dc.identifier.doi starts with 'http://xyz/', strip out that part and write the remainder of the value back into dc.identifier.doiFor all items (in the repository/in a given collection, if the item's metadata value in dc.identifier starts with 'ISBN: ' or 'doi: ', remove the value, strip out that part and write the remainder of the value into dc.identifier.isbn or dc.identifier.doi as appropriate

    Summary

    Relevant DSpace component(s)

    Detailed Description

    Mentor volunteer(s)

    Anchor
    GFDAOGFDAO

    storage-triplestore
    storage-fedora
    dspace-storage

    Mark Diggory

    Disseminator Framework

    ItemView
    Item
    Bitstream
    XMLUI

    Mark Diggory

    Extend Metadata Framework to Support Stronger Typing and Validation

    MetadataValue
    MetadataField
    MetadataSchema
    Community
    Collection
    Item
    Bitstream
    XMLUI

    Extend the DSpace Metadata Domain Model to support the following features:

    • Community, Collection and Bitstream Level Metadata
    • Create "ContentType" or "Classes" Domain Model for Items and Bitstreams that define Metadata Fields that Should / Could be Present and their occurence
    • Allow MetadataFields to define the appropriate Authority Controls that can be applied to them at the Domain Model level so that they can be used to inform Submission and Edit Forms (rather than using dspace.cfg properties.
    • Correct Dublin Core Model and Add More default namespaces (Dublin Core Terms, ETD, VRACore and BIBO Namespaces
      Research Applying METS more fully in the DSpace Domain Model
    • Allow Metadata "Files" that are stored in Bitstreams attached to Item but rendered in XMLUI and Descriptive, Administrative Metadata Sections
    • Allow Behaviors to be attached to Fiel Descriptions, Structure Maps, etc
    • Allow Structure Maps to be more descriptive of the contents of the item.
    • Describe and attach Bitstream level metadata as descriptive and administrative metadata sections
    • Describe and Attach Collection and or other relationships in administrative metadata sections (Similar to Fedora)
    • Formalize how "Relations" Between Items should be expressed in METS metadata (see Fedora Rels-Ext for examples).
      Create a Validation Service Capable of Reviewing the Metadata and Content of the Items, Create Curation Tasks that can call the Validation Service by the Repository Managers

    Mark Diggory

    Rewrite Packager Framework

    dspace-api
    packagers
    crosswalks

    Refactor Packagers to support Chain of Command
    The packager framework in DSpace is rather rigid and unwheldy, an excellent project would refactor the Packager and Crosswalk frameworks to support more basic packagers and crosswalks.  DSPace METS SIP Packages and/or SWORD packages are not the only types of packages out there. in fact, METS was never meant to be "repository specific", but to be "content specific". A better Packager Framework would gracefully degrade based on features it could detect about the incoming content being ingested, even in the METS case, DSpace should be "Profile Agnostic" and accept any METS package to derive one or more DSpace items.

    Mark Diggory

    DSpace Core Domain Model

    dspace-api
    dspace-services
    dspace-core

    Enhanced RESTful API

    dspace-api
    dspace-services
    rest

    Building on previous years' REST projects, this project is to result in:

    • (non-basic!) authN and authZ functionality
    • write / admin methods
    • minimum of JSON and XML output formats
    • communication and collaboration with community, on:
      • testing, benchmarking, hacking demo apps
      • promotion and awareness
      • documentation
        Note: The student who previously implemented RESTful API (both write and read-only) project has indicated he would like to continue work on it outside GSoC, so this entry should perhaps be removed for now

     

    Usage statistics reports

    dspace-xmlui
    dspace-jspui?
    dspace-stats?
    dspace-solr?

    RTMP A/V streaming integration

    dspace-api
    dspace-xmlui
    dspace-jspui?

    New UI built over DSpace API, based on popular frameworks

     

    Bojan Suzic

    dspace-api
    dspace-xmlui

    Bojan Suzic

    Scriptable Curation Tasks

    dspace-xmlui
    dspace-jspui
    curation tasks

    (

    s

    )

    The first task cannot be done using bulk metadata editing because it affects the item's bitstreams as well as the metadata. The other two tasks could be done using bulk metadata editing but, for someone who can write code, may be faster to do in a scripting language than via metadata editing.

     

     

    This project would consist of writing the infrastructure that allows administrators to define and run these tasks.
    A good trade-off must be made in exposing enough of DSpace's data model to be useful while hiding some of the more complex parts; some precautions will most likely need to be taken to ensure that the core DSpace functionality can't be compromised by the tasks.

    Andrea Schweer 
    Kim Shepherd

    Improve Submitter User Experience

    dspace-xmlui
    dspace-jspui?
    webmvc?

    Generally clean up submission process, especially at UI level, and provide a more user friendly submitter experience. (Need to brainstorm out exactly what changes to make obviously)
    Examples may include:

  • Finding ways to ease interaction with the submisssion UI via jQuery or similar technologies (improved step-by-step feedback, improved upload process, etc)
  • Provide popup help/tips on various submission fields?

  • Perform Usability Studies on users of the system to find pain points during submission. (i.e. does user know what collection they are submitting to, can they find the item they just submitted, do they have to delete everything in an entry to change an author's name while still preserving the order of authors, do all the checkboxes and radio bubbles make sense as to what they do?)
  • Finding ways to minimize the length of time required to submit something.
  • Since XMLUI is the main interface for dspace, it would be required that the project primarily improves the XMLUI interface. Improving JSPUI, SWORD/easy-deposit, WebMVC, or batch submission could be additional improvements to work on.
  • (Other thoughts/ideas welcome...)
    Comment (Andrea): I'd really like to see an option for DSpace administrators to configure the submission UI via the web interface. I'm aware of the Google Summer of Code 2009 Submission Enhancements but I don't know what the outcome of this project was -- it doesn't seem to have made it into DSpace yet.
  • Peter Dietz
    Andrea Schweer  (as co-mentor)

    ...

    ...

    Past

    ...

    Ideas for Potential DSpace GSoC projects

    We have archives of all our Past GSoC Ideas Pages still available for reference/ideas. However, you should check with the available mentors before suggesting any of these older project descriptions. In many cases these projects may no longer be applicable, or may require rethinking to bring them up to date.

    Children Display
    depth1
    pageGSOC:DSpace Summer of Code Ideas
    sorttitle
    reversetrue
    excerpttrue
    excerptTypesimple

    Past DSpace GSoC Projects

    Please visit Past DSpace Summer of Code Projects for a full listing of all past DSpace GSoC projects.