Versions Compared

Key

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

Contents

Table of Contents
outlinetrue
stylenone

...

Google Summer of Code

...

Student applications are accepted Mon, March 29, 12pm PDT – Fri, April 9, 12pm PDT.

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

Ideas for Potential Google Summer of Code 2010 projects

DSpace REST API

Continue integration of DSpace REST services for DSpace 1.x and 2.0

Comment: The REST support for DSpace has been done by me during GSOC09 and is available in repository. Currently it is not fully integrated in DSpace and extensively tested, by I am planning to do it soon at least for integration as there was limited interest among developers during GSoc to test/suggest – Bojan 21:42, 10 March 2010 (UTC)

Database Driven Configuration

dspace.cfg to be migrated into the database (so dspace.cfg holds nothing but db connection details, and maybe email server settings, and changes can be made without requiring DSpace restarts)

Mentor Comments

There are two types of configuration present in the dspace.cfg, configuration properties and application context configuration for the Plugin Manager. It would be good to see these classified and separated.

  1. Simple Properties Configuration should be moved into the ConfigurationService and a ConfiguratonService provider should be created to manage database based configuration values.
  2. Application Context Configuration (associating Classes and Wiring Dependencies) should be moved to the new Spring configuration found in the DSpace Services.

--Mark Diggory 15:18, 31 March 2010 (UTC)

DSpace 2.0 Back-porting

  • Migrate Plugin Manager to DSpace Services
  • Migrate DSpace EPerson/Group to User Service
  • Port Storage Services API to DSpace 1.x

Mentor Comments

  • For Migrate Plugin Manager See Database Drive Config --Mark Diggory 15:26, 31 March 2010 (UTC)

Integrate DSpace with Social Networking Services

Commenting Feature for DSpace

Ability of users to add comments to archived items

Customizable User Registration

Ability to customize registration process

JSF User Interface Implementation

JSF implementation of the DSpace user interface.

Community Tools and Community Trends - Visualization of Author Association in DSpace.

DSpace Discovery Projects

DSpace Discovery is Solr based Search and Browse for the DSpace XMLUI. We do not yet have a project space/website/wiki ATM, but are rapidly evolving. We have many opportunities for new projects and activity At many different levels. Replacement of Lucene by SolR(J) to index + retrieve metadata and full text. Demonstration with Ajax SolR as an UI.

Integrate JSON driven Javascript enhancements to Discovery

Utilizing http://wiki.github.com/evolvingweb/ajax-solr/reuters-tutorial-step-9 Integrate AutoSuggest, Tag Clouds, Google Maps and dynamic Paging into DSpace Search Results.

Metadata Tracings

Enable tracings on such metadata fields as dc.contributor.author, dc.subject, etc. to launch a faceted repository search for the metadata value from within another item or search results list (i.e. clicking 'Albert Einstein' in the author field display of one item would search the repository for all occurrences of 'dc.contributor.author=Albert Einstein' in the repository). Would be best if it allow aggregating facet values that had been previously selected (new search) vs (add to existing search)

Integrate with DSpace 1.6.0 Authority Control

Integrate Plugin to use Discovery as a source for "default" Authority Control / Autosuggest for DSpace. See also #Stackable Support of Naming Authority Tools

Access Control

Build Proxied SOLR search service for exposing JSON and XML search responses while allowing access control and filtering of search results based on users permissions.

This includes exposing OpenSearch, Media RSS and JSON of search query results.

Authority Control Related Projects

Stackable Support of Naming Authority Tools

Write Plugins for the Authority Control Service which support possible Authorities (Sources: LDAP, JDBC, DNS, XCat/OCLC/Barton, Google Scholar etc, GFR, HIVE and other SKOS Metadata Registries).

At the moment metadata is not controlled (apart from controlled vocabularies) by any authority tool. There are a lot of national (mostly based on national libraries) tools and some international projects like VNAF in this area. Enabling metadata field based stackable integration of tools for ingest would increase the qualitiy of metadata and facilitate a lot of other tasks, like reporting and evaluation etc.

Past GSoC Projects

2009

2008

2007

Ideas List for DSpace

Note
titleAdd your ideas here!

Please add your suggestions for GSoC 2015 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. Also, please note that Google has recommendations on what to minimally include in each "Idea", see: What is an Ideas List?

NOTE: The below DSpace-specific ideas table is automatically embedded into the global DuraSpace Google Summer of Code Ideas page.

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

Excerpt
Project TitleDescriptionMentor Volunteers
File format validation with DROID and JHOVE

When a file is currently uploaded in DSpace, its file format is guessed by looking at the file extension. This means if I change the extension ".exe" of a file containing a virus to ".pdf", DSpace will not have a clue what's going on and identify the file as a PDF. You can make this more robust by working on the class FormatIdentifier. The student is expected to work on this class to handover the task for format identification to a library like JHove, DROID, or both.

Minimal viable work:

  • Implement JHove OR Droid, and demonstrate that it can perform identification on a number of text and image formats when uploaded to DSpace.

Extra kudos:

  • The student implemented BOTH JHove and Droid, and produced a performance analysis on which of the two (or both) should be preferred, leading up to a more optimized solution.

GODLIKE:

  • Aside from the inclusion in the submission form, the student also creates a DSpace Curation Task that allows a repository manager to run file format identification against existing items, or entire collections. The administrator receives a report on those items that are differently identified by JHove/DROID, compared to what's already stored as the bitstreams format.

Difficulty level: Easy

Philip Vissenaekens (Atmire)

Andrea Schweer

TranslateWiki Integration

The DSpace community has approached TranslateWiki.net (TWN), the mediawikibased platform for interface translation of open source projects. The initial discussions are promising and the TWN community is currently building support for the Apache Cocoon message format that is used by XMLUI. We need an ambitious GSOC student to connect the dots, working with both communities in extending the integration and ensuring that in the end, the threshold is lowered for external translators to provide interface translations for DSpace.

Related Links:

Related DSpace Components:

Recommended Skills:

  • Multilingual and/or translation experience
  • Familiarity with Java web application Internationalization

Difficulty Level: Medium

Bram Luyten (Atmire)
Virtual Sets: Separate the internal repository structure from the navigation structure

Currently, the hierarchical structure used in DSpace allows sharing items between collections by explicitly declaring these relations on each item. However, DSpace does not allow to relate a collection or a sub-community between two or more communities.

Virtual Sets are arbitrary aggregations of DSpace Objects and criteria, composed of:

  • arbitrarily selected communities, collections and/or items,
  • dynamic results from criteria/queries (logical expressions; e.g. Solr queries)
  • other declared Virtual Sets (initially, cycles are not allowed)

Virtual Sets in DSpace would allow the creation of complex navigation structures regardless of the hierarchical (perhaps administrative) structure of communities and collections.

Structures, as described above, are supported in at least another repository software such as Fedora-based Hydra due to its generic object model.

The initial implementation would affect the dspace-api component and either of the web UIs, since both now use Discovery (Solr) by default. Virtual Sets should be implemented at the dspace-api level for DSpace Objects to offer more orthogonal features like Virtual Sets backup, export and exposure through OAI-PMH. Stretch goals would include making use of Virtual Sets in other interfaces like REST and/or OAI.

Related links:

Related DSpace Components:

Recommended Skills:

  • Java programming experience

Difficulty Level: High

Ivan Masár
Create a puppet-dspace module

Develop a Puppet-DSpace module for deploying DSpace, and provisioning DSpace-related services. The goal would be to deploy on at least one popular Linux OS, and likely the target will be Debian/Ubuntu since testing will be done with Vagrant-DSpace, which currently uses only Ubuntu. The final product should be useful for deploying DSpace to a cloud infrastructure, or really any server configured to run Puppet (in other words, the module should make no assumptions that rely upon paths used by Vagrant). A stretch goal for this project will be to make the puppet module OS-agnostic, and have it run on both Debian/Ubuntu as well as CentOS/RHEL. But just meeting the Ubuntu target would be sufficient for this project. The puppet module already built for use in Vagrant-DSpace would be a great starting point. The module, when complete, should enable an operator to go from a standard OS base image to a running instance of DSpace, complete with a container to host the application, and (optionally) a PostgreSQL database for metadata.

Related DSpace Components/Links:

  • vagrant-dspace : A Vagrant setup for DSpace development. It includes the "starting point" for a puppet-dspace module under "/modules/dspace/"
  • Installing DSpace : DSpace 4 Installation instructions

Recommended Skills:

  • Experience with Puppet or similar tools (e.g. Chef). At a minimum some base familiarity and even some Ruby experience (which Puppet is based on).
  • Familiarity with Vagrant, or willingness to learn.

Difficulty Level: Medium

 

 

Next-gen UI

MDS is an experimental offshoot of DSpace in which new ideas may be prototyped and examined. Recently a REST API (with CRUD operations, etc) has been added to MDS. A valuable 'proof of adequacy' is building an entire functional web UI backed only by the API. The goal of this project is to construct such an admin UI for MDS, using a modern, agile web application framework. A proof of concept using AngularJS already begun could serve as a basis for further work.

Related DSpace Components:

  • mds : "Modernized DSpace". An attempt to refactor/redesign the DSpace API to make it more simplistic/modernized.This is a side-project of long-time Committer, Richard Rodgers
  • mds/webapi : the REST API for MDS project. This API supports CRUD operations.
  • dspace-rest (loosely related): the official REST API  which now ships with DSpace 4 may also provide a possible integration point. However, it is currently read-only.

Recommended Skills:

  • Experience or familiarity with one or more agile web frameworks
  • Experience or familiarity with buiding agile interfaces against a REST API

Difficulty Level: Medium to High

Richard Rodgers

Philip Vissenaekens (Atmire)

Past Ideas Lists for 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 some cases these projects may no longer be applicable, or may require rethinking to bring them up to date.

Children Display
depth1
sorttitle
pageDSpace Summer of Code Ideas
reversetrue
excerpttrue

Past DSpace GSoC Projects