Difference between revisions of "Documentation/Labs/ExtensionsMetadata"

From Slicer Wiki
Jump to: navigation, search
 
Line 31: Line 31:
 
* We could consider using some version of codemeta https://github.com/codemeta/codemeta to describe Slicer extensions
 
* 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
 
* 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
 +
* Add s4ext file generation feature to Extension Wizard to make it easy for Python-only extensions to create metadata file without building Slicer (see this discussion: https://github.com/Slicer/ExtensionsIndex/pull/1505#issuecomment-358719578)

Latest revision as of 17:34, 18 January 2018

Home < Documentation < Labs < ExtensionsMetadata

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 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