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

Compare with Current View Page History

« Previous Version 19 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 Google 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.

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)

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

Kim Shepherd

JSPUI rewrite

dspace-jspui

Rewrite JSPUI with a focus on removing as much 'business' from the JSPs to servlets/utility classes as possible, and utilising
JSTL (etc.) in JSPs.
Rewrite default theme/CSS to give the new JSPUI a "new look and feel" as well as cleaner JSPs, servlets and filters.
Must try to maintain UI parity with XMLUI where possible.

This project will result in

  • JSPs that do nothing but display content
  • Smarter, cleaner servlets and filters
  • Cleaner URL mapping
  • New, clean, intuitive default theme for default JSPUI installs
    (note: this idea might get vetoed -- it may be decided that the JSPUI, as it stands, is not worth keeping current)

Kim Shepherd

Modular configuration

dspace assembly & configuration
dspace-api

DSpace's configuration is mostly (~95%) kept in a single, clumsy, generic java properties file -- dspace.cfg
This makes merging/updating to new versions a tedious and error-prone process, and makes it hard to release async modules for DSpace without 
messy changes to configuration.
Recent new features and modules have independently split off from dspace.cfg by creating their own configurations, but this process is ad-hoc, and 
no standard or modular framework for developers yet exists.

This project will result in

  • Configuration files for each maven project, at a minimum eg.
    • dspace/config/jspui.cfg
    • dspace/config/sword.cfg
    • dspace/config/discovery.cfg

  • Use of spring / dspace-services where possible to avoid hardcoded "wiring" in ConfigurationManager

  • Comprehensive documentation for developers, administrators and users
    Notes: Mark Diggory

    _ : This should be focused in the dspace-services project,  highly recommend that defaults be maintained in individual properties files manve project resources   "project/src/main/resources/config/dspace-

    Unknown macro: {project}

    -config.cfg". The only reason to need to create a physical file in dspace/config is if your deviating from the defaults.  This is already a feature of DSpace ConfigurationService and work is already ongoing to start replacing ConfigurationManager internals with calls to ConfigurationService._

Kim Shepherd

MySQL support

dspace assembly & configuration
dspace-api

DSpace currently supports Oracle and PostgreSQL. MySQL support is an often-requested feature that should not involve too much extra work, building on existing 
postgres compatibility. A recent stable version (eg. 5.5+) will be used as the testing platform.

This project will result in

  • MySQL-compliant DatabaseManager code, prepared statements, etc.
  • MySQL-specific update / install scripts, or existing postgres scripts guaranteed to be MySQL-compliant.
  • Unit tests specific to MySQL to help ensure compliance, and highlight future problems as they arise
    Notes: _[Mark Diggory{*}

~mdiggory]_{*} : Is an excellent opportunity to participate in DAO project and actually provide support for more than Mysql, but actually provide assistance in abstracting the SQL completely out of the Domain model (the original goal of the DAO prototype).
| Kim Shepherd |
| Pluggable bitstream storage | | | |
| Usage statistics reports | | | |
| RTMP A/V streaming integration | | | |
TODO: Flesh out below ideas and transfer to table:
* Enhancements to statistics - Kim Shepherd
** Capture more event types
** Produce site-wide reports to replace legacy statistics reports, with Google Charts integration, ability to email reports to repository administrators
* Integrate RTMP A/V streaming using open source software (eg. RED5) - Kim Shepherd
** Ability to stream mp3, mp4, avi, etc.
** Must be able to authorize against DSpace and prevent unauthorised access to bitstreams
** Streaming to clients (player) is the only requirement, no recording to server required
**  
* Pluggable bitstream storage for DSpace
** Kim Shepherd
*** DSpace bitstream storage can be made more modular without a great deal of effort.
*** Implement this modularity, demonstrate with existing storage alternatives (S3 etc)
*** (per-bundle / per-bitstream / per-item basis rather than repository wide?)
** _[Mark Diggory{*}

~mdiggory]_{*}

      • Should leverage binary storage service work done last year, possible 1.8 refactoring project for BitstreamStorageManager to back with dspace 2.0 storage services.
      • Unify approach for creating separate storage services for srb/irods, s3, duracloud, etc
      • Utilize spring configuration as example of how to stop using PluginManager
      • Also have tooling to support asynchronous processing of storage requests

My Project Idea...

Put a description for your project idea, along with appropriate background information, links, etc.

Past GSoC Projects

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

Past Ideas for Potential 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