-
Notifications
You must be signed in to change notification settings - Fork 8
3. List of Requirements
Annotation: Annotation is the web annotation that is an online annotation associated with a web resource.
Authenticated User: An “authenticated user” is a user that has logged into the system.
Flag: Concept for digitally marking a content by a user.
Moderator: A person that is responsible for editorial issues of the system or managing the users.
Registered User: A “registered user” is a user that has an account registered to Heritago.
User: A “user” is any person accessing Heritago.
-
User Account Operations
- User shall provide their username, email and password while creating a new account.
- User shall login to their account using username and password.
- User shall be able to update their user name, e-mail and password.
- User shall be able to reset their password by using their email address.
- Registered user shall have a portfolio page that includes all the cultural heritage items and annotations created by them.
-
Creating Cultural Heritage Items
- Authenticated user shall be able to create new cultural heritage items by providing title, description, origins, tags, audio, locations, images and videos.
-
Deleting Cultural Heritage Items
- Authenticated user shall be able to delete their own cultural heritage item.
-
Editing Cultural Heritage Items
- Authenticated user shall be able to edit their own cultural heritage item.
-
Displaying Cultural Heritage Items
- The system shall display the total number of annotations, heritage item creator's name, item description, basic information and multimedia sections.
- The system shall emphasize the annotated sections in a heritage item description.
- User shall be able to view the multimedia items in a popup window by clicking the related thumbnail in the “Multimedia” section.
- System shall display more images in the “Multimedia” section each time the “More” button is clicked.
-
Displaying Annotations
- User shall be able to see alternative annotations on a specific section in the description if multiple annotations are provided in the same section.
- User shall be able to see the existing annotations in the multimedia item, through the enlarged multimedia item popup window.
- User shall be able to distinguish different annotations made for the same point or location in an image and a video.
- User shall be able to filter annotations for a specific user or date.
-
Searching
- Searching cultural heritage items
- User shall be able to search for a cultural heritage item by name.
- User shall be able to use advanced search for searching cultural heritage items by date, time interval, origin, specific user.
-
Searching annotations
- User shall be able to search among their annotations by entering a keyword.
-
Creating Annotations
- Authenticated user shall add annotations to the cultural heritage items that they have created or the cultural heritage items created by other users.
- Annotations shall be in the format of text, image, video, audio and location and any web resource shall be annotated with any kind of web resource which is supported by W3 Web Annotation Standards.
- Text annotations shall be in rich text format, which shall allow a user to underline, make italic or bold a certain text.
- While annotating an image, user shall be able to indicate an area (a square, a rectangle, a circle, an ellipse or a polygon) with a desired color.
- Video annotations shall support the following types (These types are described and visualized in this video by YouTube ): Speech bubble: for creating pop-up speech bubbles with text. Spotlight: for highlighting areas in a video; when the user moves the mouse over these areas the text you enter will appear. Note: for creating pop-up boxes containing text. Title: for creating a text overlay to title the video. Label: for creating a label to call out and name a specific part of the video.
-
Deleting Annotations
- Authenticated user shall be able to delete their own annotations.
-
Editing Annotations
-
Authenticated user shall be able to edit their own annotations.
-
Preventing Abuses
-
There shall be a flagging system which will allow users to report abuse in the system.
- User shall be able to flag any annotation.
- User shall provide an abuse type while flagging an annotation.
- The moderators of the system shall be able to edit or remove the abusive content.
-
System shall implement a “kick out” or “ban system” (might only be a warning) which will be operated by the moderators of the system.
- The system shall be both resource-efficient and scalable. That is, as the number of users increases, the system, by adding new resources, shall work as if there is only one user. This scalability shall be satisfied in a distributed manner.
- The system shall be usable. In other words, user shall not need to be trained to use the system. The first time a user browses a heritage item, they will be provided with an introduction sequence which shows the annotation process.
- The system shall adopt and follow certain quality standards such as W3C Html/XHtml Markup Standards, most common coding/documenting styles (for instance PEP8 for Python).
- The system shall have responsive user interfaces so that it can be more accessible. It shall support modern web browsers such as Firefox or Chrome and their corresponding mobile versions.
- The system shall run on a *unix based operating system such as Ubuntu, Debian or OSX.
- The system shall use and contain only open source technologies, libraries, and tools.
- The system shall be fast enough not to bother its users. Any user interaction shall not take longer than 3 seconds in a local development environment, except for 3rd party API transactions.
- The system shall expose an HTTP RESTful API which supports every user interaction which can also be done via the user interfaces of the system. This API shall have complete documentation.
- The system shall have unit tests and functional tests for the back-end side. Test coverage shall be at least 70%
- The system shall be able to be deployed in a virtual environment which is completely isolated from operating systems.
- The system must follow the W3 Web Annotation Standards. Three basic recommendations of W3 (data model, vocabulary and protocol) must be implemented. The MUSTs of the standards must be strictly followed. The 23 February 2017 version must be used for all of them.
- Software developments related with annotations shall be performed in accordance with W3C Linked Data Platform standards.