Open Access Repository
All uploaded data are stored in repository. Data are stored in two parts. One part of metadata are stored in database. This database entry creates so called record together with paired original file. The data file is stored inside S3 storage space. Metadata stored in the database are used for search and browse through created records. The design enables easy file retrieval. Records are defined by two states: Draft and Final. Draft record is created automatically when the deposition process start. The Draft record can be further modified to achieve comprehensive and complete entry. After every record is find sufficient it is put into state Final. In this stage record is made public and everybody can search through and for it.
When creating record inside of database email needs to be provided in order to allow private alteration of a Draft record. On provided email address will be send password which will be used to access record for alterations.
User use cases
Uploading
Upload of a file is made through Upload tab. After clicking, user is redirect to view which provide functionality for creating of a record and uploading of a file. On the first page user need to fill in email address, choose from the experimental methods available in context window, and finally include uploaded file. After sending a request to server user needs to wait a few seconds after new view is loaded and user is encouraged to fill missing or edit incorrect metadata stored in database. Simultaneously, an email is send to provided email address with record PID and password, for later editing of the record.
Browsing
List of all records is shown, and basic search is provided
Editing
Edit of records is made through tab called Edit. Here we enter email address provided when record was created and also password send into email. After entering this information server will verify them and show valid record, which can be edited if needed.
Programming documentation
From programming side, all technology behind database is provided by CESNET and build over Invenio framework.
Only minor changes were made, namely in process of creating record, parser is run after creating of dummy record, which will parse metadata from document provided during upload.
Also editing of record was modified by adding layer of privacy when password need to be provided in order to edit record. For more information I recommend to read comments in code.