...
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 | |
My Project Idea...
Put a description for your project idea, along with appropriate background information, links, etc.
...