1 / 6

EPrints4

EPrints4. Sébastien François, EPrints Lead Developer EPrints Developer Powwow, ULCC. Main objectives. Separation of the code and the UI elements Possibility to deploy other types of repositories Disentangle the spaghetti code into lasagna Generalisation & Simplification

Download Presentation

EPrints4

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EPrints4 Sébastien François, EPrints Lead Developer EPrints Developer Powwow, ULCC

  2. Main objectives • Separation of the code and the UI elements • Possibility to deploy other types of repositories • Disentangle the spaghetti code into lasagna • Generalisation & Simplification • Code normalisation (“session” etc.) • Easier for dev’s (hence increasing their life expectancy) • Modern UI for interactive workflows

  3. Code generalisation • Code generalisation: datasets, controllers, acl, storage, crud • Datasets: a number of new properties have been added: • Flow: states and transitions (“eprint_status”) • Revision/History • Security contexts: “owner”, “editor”, “co-author”, etc • Lastmod/datestamp • ACL/Security • Read-only

  4. Code generalisation (2) • Controller Plug-ins: CRUD, Storage, UI, Static Pages • ACL: security-context (“owner”..) & action based (“view”, “edit”…) • Storage: arbitrary files can be stored against any data-obj, separate storage paths, isolated thumbnails • Authentication: generalised, hidden behind “user-sessions” (Similar to logintickets), trigger-based

  5. Code simplification & improvements • Removed XHTML, any render method in Repository, DataObj, MetaField -> MVC-ish approach • Memcached for single data-obj (could be extended to List) • InnoDB (default on MySQL 5.5+): transactions and foreign keys definition (cascade) • Removed many data entry-points in favour of CRUD: REST, Toolbox, CGI’s (show CRUD on wiki) • (review EPrints4_Status on wiki)

  6. Future Directions for UI Elements • Current limitations of EPrints: Prototype, XHTML, citations, workflows, !MVC • Good opportunity to modernise the UI: Bootstrap, jQuery(-ui) • What has been tested, what to keep/discard: • Server-side Mustache templating • Strict MVC frameworks: AngularJS, EmberJS • jQuery, jQueryUI > EPrints JS API

More Related