EPrints4 Core Roadmap

From EPrints Documentation
Revision as of 14:39, 6 February 2014 by Sf03r@ecs.soton.ac.uk (talk | contribs) (Created page with '=EPrints4 Core Development= Trying to divide the work into smaller tasks (and questions where relevant). ==Request Handler / Page Controllers== This deals with how HTTP reques…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

EPrints4 Core Development

Trying to divide the work into smaller tasks (and questions where relevant).

Request Handler / Page Controllers

This deals with how HTTP requests are handled by EPrints: when a request is made by a client (curl, browser..) a number of headers/parameters must be processed (e.g. Accept, Content-Type, EPrints' cookies, auth etc). This is the entry point of any web requests to the system. The main module is EPrints::Apache::Handler (formerly known as Apache::Rewrite).

  • Low-level filters for processing of:
    • Cookies (eprints_session, eprints_lang)
    • URL encoding
    • specific HTTP headers: Accept, Content-Type, Content-Length, Content-Range, Content-MD5 (?), ETag (?)
  • System initialisation:
    • Repository object init (with language selection, via cookie/default lang)
    • Protocol (HTTP, HTTPS?)
  • Basic security aspects
    • detect invalid requests/URL paths (e.g. containing a dot '.')
  • Low-level redirects or custom actions via Trigger
  • Call for Controller(s) to handle the request (e.g. CRUD if /id/..., UI, storage (file delivery) etc.)