This RFC proposes a solution for the TANGO Controls community to facilitate finding and sharing device servers by creating a database of solutions which can be searched and which links to the source code and developers. Such a solutions database can be used to store information of other types of solutions like training material, system designs, applications etc.
Examples of existing solutions databases which could serve as models for the TANGO Controls Solutions Database are the Eclipse Marketplace and the Jetbrains Plugin Repository.
Requirements
The solutions must be stored with their metadata in a database which is searchable via the website for any of the metadata tags. The database must support different categories. The following categories must be supported in the first edition:
- Device Servers
- Applications
- Training
The Device Servers category must contain the following metadata:
- Name
- Description
- Programming Language
- Platform(s)
- Author
- Maintainer
- Affiliation
- Date created
- Date of last change
- Interface description (xmi)
- Link to Code Repository
- Used by
- Download link
- Downloads
- Comments
- Likes
The Applications category must have the following metadata:
- Name
- Description
- Programming Language
- Platform(s)
- Author
- Maintainer
- Affiliation
- Date created
- Date of last change
- Link to Code Repository
- Used by
- Download link
- Downloads
- Comments
- Likes
The Training category must have the following metadata:
- Name
- Description
- Programming Language
- Author
- Maintainer
- Affiliation
- Date created
- Date of last change
- Download link
- Downloads
- Comments
- Likes
Home Page
The Solutions Database home page must have the following features:
- Integrated into the TANGO Controls website
- A list of categories and the number of solutions
- A summary of the latest entries with link to the entries
- A list of the most popular downloads
- A search interface for searching on metadata per category
- An upload feature for adding entries to the database either manually or by uploading a file with a list of entries
- An attractive pleasing to the eye layout