Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Project

DSpace ClientUI built on RESTful API

Student

Vibhaj Rajan

Mentors

Technologies

DSpace REST
JavaScript jQuery FireSpark

Proposal

Melange

Repository

https://github.com/tr4n2uil/restclient

Demo

http://ec2-107-.20-.35-121.compute-1.amazonaws.com.121:8080/restclient/

Presentation

DSpace REST ClientUI

Notes

jQuery
DSpace deployment on Amazon EC2

...

Name

Description

Options (Parameters passed to service in FireSpark)

Return Values

SessionBegin

Stores login information into session, authenticates and loads account template

  • cntr : string : Container selector for account panel : optional default '#account-panel'
  • sel : string : Selector for login form : optional default '#login-container'

None

SessionEnd

Deletes session and loads account template

  • cntr : string : Container selector for account panel : optional default '#account-panel'
  • sel : string : Selector for login form : optional default '#login-container'
  • data : object : Indicate whether to show invalid message : optional default { invalid : false }

None

ResourceLoad

Loads resource using GET and applies template into selected element

  • type : string : Resource Type : values (refer ResourceRESTURL service rsrctype values)
  • tabui : string : Saved reference index for Tabpanel : optional default 'tabuipanel'
  • title : string : Tab Title : optional default 'DSpace RESTUI'
  • id : number : Resource ID : optional default false
  • ld : string : HTML Loading content : optional default RESTClient.jquery.constant.loadmsg
  • anm : string : Animation Type : optional default 'fadein' : values ('fadein', 'fadeout', 'slidein', 'slideout')
  • dur : number : Animation Duration : optional default 100
  • dly : number : Animation Delay : optional default 0

None

ResourceEdit

Edits resource fields using PUT

  • type : string : Resource Type : values (refer ResourceRESTURL service rsrctype values)
  • id : number : Resource ID : optional default false
  • field : string : Resource Field
  • sel : string : Selector for element where response is to be loaded
  • cf : boolean : Confirm edit : optional default false
  • cfmsg : string : Confirmation Message : optional default 'Are you sure you want to continue ?'
  • ld : string : HTML Loading content : optional default RESTClient.jquery.constant.loadmsg
  • anm : string : Animation Type : optional default 'fadein' : values ('fadein', 'fadeout', 'slidein', 'slideout')
  • dur : number : Animation Duration : optional default 100
  • dly : number : Animation Delay : optional default 0

None

ResourceDelete

Deletes resource fields using DELETE

  • type : string : Resource Type : values (refer ResourceRESTURL service rsrctype values)
  • id : number : Resource ID : optional default false
  • field : string : Resource Field : optional default false
  • sel : string : Selector for element where response is to be loaded
  • cf : boolean : Confirm edit : optional default false
  • cfmsg : string : Confirmation Message : optional default 'Are you sure you want to continue ?'
  • ld : string : HTML Loading content : optional default RESTClient.jquery.constant.loadmsg
  • anm : string : Animation Type : optional default 'fadein' : values ('fadein', 'fadeout', 'slidein', 'slideout')
  • dur : number : Animation Duration : optional default 100
  • dly : number : Animation Delay : optional default 0

None

...

Name

Available

Description

FireSpark

No

Partially available in the heavily commented source code
https://github.com/tr4n2uil/firespark

jQuery Templates

Yes

Available as jQuery plugin API documentation
http://api.jquery.com/category/plugins/templates/template-tags/

Screenshots Image Added

Image Added
Image Added
Image Added
Image Added
Image Added
Image Added
Image Added
Image Added
Image Added
Image Added
Image Added
Image Added
Image Added
Image Added

Functional Specifications

...

  1. (plus) Get familiar with DSpace REST API
    1. collections, communities, items and bitstreams
      • create
      • (tick) view
      • (tick) edit
      • (tick) delete
    2. users and groups
      • (tick) view
    3. search
    4. (tick) generating statistics
  2. Wiki Markup(/) Decide the JavaScript Library to be used by discussing with the DSpace community: *jQuery* \[decided by community\(tick) Decide the JavaScript Library to be used by discussing with the DSpace community: jQuery [decided by community]
  3. (plus) Learn the jQuery JavaScript Library
    • (tick) Selectors
    • (tick) Actions and Methods
    • (tick) Events
    • (plus) UI Widgets
  4. (plus) Design client run FireSpark framework supporting JavaScript UI for RESTful (JSON) services
  5. (plus) Design generic Services and Workflows in FireSpark
  6. (plus) Plan these extensions for RestClient
    • (plus) RESTUI.Resource.Load Workflow
    • (plus) RESTUI.Resource.Edit Workflow
    • (plus) RESTUI.Resource.Delete Workflow
    • (thumbs up) ParseItemMetadata helper

...

  1. (plus) Implement extensions (Services and Workflows) to FireSpark in RESTClient to provide support for :
    1. Repository Manupulation
      • Communities
        • (plus) Edit
        • (plus) Delete
      • Collections
        • (plus) Edit
    2. Administration
      • Users
        • (plus) Login
        • (plus) Logout
        • (plus) All
        • (plus) Single
      • Groups
        • (plus) All
        • (plus) Single
    3. Content Searching
    4. Statistics
      • (plus) Reports (simple)
      • (plus) Charts and Visualization (simple)

August 1 - August 15

  1. (plus) Enhancing the look and feel
  2. (thumbs up) Look into and improve scope for customizations
  3. (thumbs up) Improve the architecture of RESTClient and FireSpark
  4. (plus) Testing
  5. (plus) Complete Documentation
  6. Final Improvements

individual templates directory (will be unified to ui/js/restclient-templates.js during build)

...

  1. (thumbs up) Final Improvements