You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 24
Next »
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
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
|
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
|
Kim Shepherd |
Pluggable bitstream storage |
dspace-api
dspace-services |
DSpace's storage services are not fully modular, though work has been done towards this in the past, and there are a number of alternative storage schemes that
are easily integrated once storage is made fully pluggable. (eg. Amazon S3).
If possible, dspace-services is to be utilized over the legacy PluginManager
This project will result in
- Pluggable storage implemented using dspace-services
- At least one working demonstration of alternative bitstream storage
|
Kim Shepherd |
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 | |
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 | |
-
- 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?)
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.