You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 67 Next »

Contents

DSpace and Google Summer of Code

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

Please spread awareness of this program and DSpace among your best students! Point them to:

Ideas for Potential DSpace Summer of Code 2011 projects

Add your ideas here!

Please add your suggestions for GSoC 2011 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.

Ideas List has Changed since March 30, 2011

In our DSpace Developers Meeting on March 30, 2011, the developers in attendance voted up/down various project ideas listed here. Based on general lack of interest & support, the following projects were REMOVED:

  • "JSPUI Rewrite" project – This project idea has been replaced by the "WebMVC (Freemarker) UI" project (see below), which has the same goals.
  • "Modular Configuration" project – it was determined this involved too many core infrastructure changes, which should be done by a core committer
  • "MySQL Support" project – Although most are in favor of this project, it has a dependency on Refactoring the DSpace Domain Model (which is not yet completed)
  • "Pluggable bitstream storage" project – concerns that this had too many dependencies. Also, Richard Rodgers is working on something similar which is almost ready to commit.

The full discussion of this meeting is logged in our IRC logs at: http://irclogs.duraspace.org/index.php?date=2011-03-30

Please add your own ideas to the table below, and feel free to volunteer as a mentor for any existing idea 

Summary

Relevant DSpace component(s)

Detailed Description

Mentor volunteer(s)

GFDAO (Generic Fedora Data Access Objects)

storage-triplestore
storage-fedora
dspace-storage

Bring together the storage-fedora and storage-triplestore projects to produce a Fedora store based persistence tier that includes use of SPARQL to provide queries 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 OFM (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).

Mark Diggory

SKOS Authority Controls

Authority Control
MetadataField
MetadataVlaue

@Mire has prototyped a Solr driven Authority Control capable of caching and mixing together authority sources so that they can utilized for super fast term completion and lookup.  Solr is quite effective for quickly retrieving lists of values that a field should be restricted to.  Likewise, when the original DSpace metadata is indexed into the Solr based authority control, the Submitter is also presented with an ad-hoc authority of existing values already contained within the repository.   However, it is recognized that Authority Controls Sources are not just lists and have structural components as well.  SKOS applies quite well to expressing the structured relationships between taxonomies and hierarchical vocabularies that are often relied on for Authority Control.  Recent research in publishing Library of Congress Subject Authorities, Getty TGN Vocabularies etcetera confirms that SKOS is the predominant form to capture these resources for placement on the web.

Create a SKOS RDF Triplestore Authority Control for DSpace that utilizes SPARQL to provide a rich queriable local cache of Authority Control Sources that may be utilized in term completion and lookup in existing Authority Controls.  Extend the Authority presentation to support more useful AC exploratory widgets using jquery and AJAX.

Refer to the following projects and resources for ideas:

Mark Diggory

Disseminator Framework

ItemView
Item
Bitstream
XMLUI

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:

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

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

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 previously the working on read-only RESTful API project has indicated they'd like to continue work on it outside GSoC, so this entry should perhaps be removed for now

 

WebMVC (Freemarker) UI development

modules/webmvc

WebMVC is currently under development, and is creating a new user interface based on Spring's WebMVC framework. This has the same goals as the JSPUI rewrite project in providing a clean technical implementation with business logic removed from the presentation layer.

Although a number of technologies can be used for the presentation layer, the current implementation focuses on Freemarker - a template based language that restricts the amount of logic that you can place in the presentation layer. In addition, it gives more flexibility as to where those templates can be stored, which gives greater possibilities for future customisation.

It has extensive theme support, and allows different themes to be applied to different areas of a repository.

Possible GSoC work includes ensuring parity with XMLUI where possible, or further extending the functionality.

Graham Triggs

Usage statistics reports

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

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

RTMP A/V streaming integration

dspace-api
dspace-xmlui
dspace-jspui?

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

New UI built over RESTful services

dspace-api
dspace-XXXui

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. In this project the implementation would be coupled directly with dspace-api.
  • Client run interface (maybe ExtJS other JavaScript based) backed by REST API for DSpace .

    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.

    Attractive, easy to use and customize interface based on currently appealing technologies would further promote DSpace capabilities and play role in its adoption. Client rendered interface based on REST would further decrease load on the server and therefore push DSpace deployment for bigger repositories.

Bojan Suzic

Accessibility

dspace-api
dspace-xmlui

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)

Bojan Suzic

Scriptable Curation Tasks

dspace-xmlui
dspace-jspui
curation tasks

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's 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.doi
  • For 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

  • 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.

    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?

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?
  • (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.

Needs a Mentor
Andrea Schweer  (as co-mentor)

Past DSpace GSoC Projects

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

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.

  • No labels