Difference between revisions of "Documentation/Labs/ExtensionsMetadata"
From Slicer Wiki
(Created page with "=Background= Currently, extension metadata is captured (and duplicated) primarily in two locations: 1. Top-level CMakeLists.txt in the extension repository 2. s4ext file in...") |
(No difference)
|
Revision as of 19:30, 2 August 2017
Home < Documentation < Labs < ExtensionsMetadataBackground
Currently, extension metadata is captured (and duplicated) primarily in two locations:
1. Top-level CMakeLists.txt in the extension repository 2. s4ext file in https://github.com/Slicer/ExtensionsIndex
Notably, the content of s4ext file is used primarily for getting the extension repository and revision. The rest of the metadata is extracted from the CMakeLists.txt file (see this discussion.
Specifically, the following items are currently captured (all items are unstructured free text, with no validation done or possible):
- source code manager info (scm type, url, revision, username/password - if applicable)
- dependencies
- homepage
- contributors (unstructured text)
- category
- iconurl
- status
- description
- screenshoturls
- enabled
Importantly, the current approach has several deficiencies:
- the unstructured nature of the description, and replication of items between two places, leads to inconsistencies and confusion (based on a small poll, many developers edit s4ext manually)
- the following items that are rather important are not currently included anywhere:
- funding information
- relevant citation that authors would want users to acknowledge
- license
Ideas
- We could consider using some version of codemeta https://github.com/codemeta/codemeta to describe Slicer extensions
- to reduce the redundancy, we could make all options in s4ext optional, except the scm information - see discussion in https://github.com/Slicer/ExtensionsIndex/pull/1442