...
Project | DSpace ClientUI built on RESTful API |
Student | |
Mentors |
|
Technologies | DSpace REST |
Proposal | |
Repository | |
Demo | http://ec2-107-.20-.35-121.compute-1.amazonaws.com.121:8080/restclient/ |
Presentation | |
Notes |
...
DSpace REST | Built on the DSpace REST API developed as GSoC project in 2009-10 |
FireSpark | Interface powered by FireSpark - JavaScript Service Computing Platform - which |
RESTClient Extensions | Services and Workflows built for RESTClient using FireSpark for providing core |
jQuery Templates | Client side processing supported by flexible templates written in JavaScript |
CKEditor | HTML Rich Text Editor supported for easier text input during repository |
User Documentation
Source Structure
Directory Structure
Customizations
Developer Documentation
Screenshots
File / Directory / Subdirectory | Description | Files |
---|---|---|
index.html | initialization page for loading all necessary client scripts + basic document layout |
|
README |
|
|
ui/ | top level folder containing interface resources |
|
ui/css/ | styles and themes directory |
|
ui/css/default.css | global styles |
|
ui/css/jquery.css | jquery styles |
|
ui/css/restclient-styles.css | RESTClient styles unified from dev/ |
|
ui/img/ | images directory |
|
ui/js/ | scripts directory |
|
ui/js/jquery-1.6.1.min.js | jQuery |
|
ui/js/jquery-ui-1.8.13.min.js | jQuery UI |
|
ui/js/jquery.tmpl.min.js | jQuery Templates |
|
ui/js/jquery-firespark.js | jQuery FireSpark |
|
ui/js/ckeditor | CKEditor directory |
|
ui/js/restclient-jquery.js | RESTClient Extensions unified from dev/ |
|
ui/js/restclient-templates.js | RESTClient Templates unified from dev/ |
|
dev/ | top level folder containing developer resources |
|
dev/styles/ | individual styles directory |
|
dev/templates/ | individual templatesdirectory |
|
dev/build.bat (build.sh for linux) | Build script for unification |
|
dev/init.js | RESTClient initialization |
|
dev/helpers/ | individual helpers directory |
|
dev/services/ | individual services directory |
|
dev/workflows/ | individual workflows directory |
|
Customizations
Customization | Support | Description |
---|---|---|
Stylesheets (CSS) | Yes | Individual stylesheets in dev/styles/ control the styles for different pages |
Layout | Yes | Layout is configured in dev/styles/layout.css |
Themes | Yes | Themes are supported natively by jQuery UI |
Internationalization | No | Support for i18n is planned to be integrated into FireSpark soon using the i18n plugin |
Developer Documentation
RESTClient Extensions
Services
Name | Description | Options (Parameters passed to service in FireSpark) | Return Values |
---|---|---|---|
SessionWrite | Saves session information (email/password) for use in further requests |
| None |
ResourceRESTURL | Generates REST URL from resource information |
|
|
SessionRESTURL | Appends Session information (email/password) to URL |
|
|
Workflows
Name | Description | Options (Parameters passed to service in FireSpark) | Return Values |
---|---|---|---|
SessionBegin | Stores login information into session, authenticates and loads account template |
| None |
SessionEnd | Deletes session and loads account template |
| None |
ResourceLoad | Loads resource using GET and applies template into selected element |
| None |
ResourceEdit | Edits resource fields using PUT |
| None |
ResourceDelete | Deletes resource fields using DELETE |
| None |
Helpers
Name | Description | Arguments | Return Value |
---|---|---|---|
getDate | Returns timestamp as properly formatted date string | time : number : Timestamp | date : string : Formatted Date |
readFileSize | Returns size in bytes as properly formatted string | size : number : Size in bytes | size : string : Formatted Size |
init.js
Option | Description | Default Value |
---|---|---|
RESTClient.urls | URLs to be used | { |
RESTClient.jquery.constant.loadmsg | HTML content to show while loading content | '<p class="loading">Loading ...</p>' |
RESTClient.jquery.constant.successimg | HTML content to indicate successful execution | '<img src="ui/img/icons/ok.gif">' |
RESTClient.jquery.constant.errorimg | HTML content to indicate erroneous execution | '<img src="ui/img/icons/error.gif">' |
Documentation Resources
Name | Available | Description |
---|---|---|
FireSpark | No | Partially available in the heavily commented source code |
jQuery Templates | Yes | Available as jQuery plugin API documentation |
Screenshots
Functional Specifications
...
- Get familiar with DSpace REST API
- collections, communities, items and bitstreams
- create
- view
- edit
- delete
- users and groups
- view
- search
- generating statistics
- collections, communities, items and bitstreams
(/) Decide the JavaScript Library to be used by discussing with the DSpace community: *jQuery* \[decided by community\ Decide the JavaScript Library to be used by discussing with the DSpace community: jQuery [decided by community]Wiki Markup - Learn the jQuery JavaScript Library
- Selectors
- Actions and Methods
- Events
- UI Widgets
- Design client run FireSpark framework supporting JavaScript UI for RESTful (JSON) services
- Design generic Services and Workflows in FireSpark
- Plan these extensions for RestClient
- RESTUI.Resource.Load Workflow
- RESTUI.Resource.Edit Workflow
- RESTUI.Resource.Delete Workflow
- ParseItemMetadata helper
...
- Implement extensions (Services and Workflows) to FireSpark in RESTClient to provide support for :
- Repository Manupulation
- Communities
- Edit
- Delete
- Collections
- Edit
- Communities
- Administration
- Users
- Login
- Logout
- All
- Single
- Groups
- All
- Single
- Users
- Content Searching
- Statistics
- Reports (simple)
- Charts and Visualization (simple)
- Repository Manupulation
August 1 - August 15
- Enhancing the look and feel
- Look into and improve scope for customizations
- Improve the architecture of RESTClient and FireSpark
- Testing
- Complete Documentation
- Final Improvements