Versions Compared

Key

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

...

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

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

...

|

...



...

...

...


|

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?)

...