Skip to content
Ken McLeod edited this page Nov 28, 2019 · 12 revisions

Instructions to update profiles

  1. Update the GSheet.

  2. Pull github repo and branch it.

  3. Generate the yaml using GoWeb. This will be your new profile file.

  4. Find the previous version of the profile. I.e., the latest version in the _profiles subdirectory of the GitHub repo. Copy the header from this file (i.e., from the 1st line of the file up to, but not including, the spec_info: line). You can see the header from DataCatalog in the next code snippet.

---
redirect_from:
- "devSpecs/DataCatalog/specification"
- "devSpecs/DataCatalog/specification/"
- "/devSpecs/DataCatalog/"
- "/profiles/DataCatalog/"

name: DataCatalog

previous_version: '0.3-DRAFT-2019_06_20'
previous_release: '0.2-RELEASE-2019_06_14'

status: release #revision replace with revision for next version
spec_type: Profile
group: datarepositories
use_cases_url: /useCases/DataRepository/
cross_walk_url: https://docs.google.com/spreadsheets/d/1kB_0vPm78oPZOE9wJWFvBnlU9PN6j9Jk0FzqoqxImYA/
gh_tasks: https://github.com/BioSchemas/specifications/labels/type%3A%20DataCatalog
live_deploy: /liveDeploys/

parent_type: DataCatalog
hierarchy:
- Thing
- CreativeWork
- DataCatalog

# spec_info content generated using GOWeb
# DO NOT MANUALLY EDIT THE CONTENT
spec_info:
  1. Paste the header into the top of the yaml file you generated with GoWeb in step 3.

  2. Delete the redirects (i.e., redirect_from property and values) from the previous version of the profile. Save this.

  3. Update the previous_version and previous_release properties in your new profile (i.e. the yaml file generated by GoWeb). Use the value of the version property from the last version of the profile.

  4. If necessary change the status property in the header. It should be either release or revision

  5. Make sure the cross_walk_url points to the current GSheet. Use the edit link not the published link.

  6. In the yaml generated by GoWeb (underneath the DO NOT MANUALLY EDIT THE CONTENT message) you will find a version property. This needs to be changed. The format is: VERSION-STATUS-DATE.html. E.g.,

    • 0.1-DRAFT-2019_11_12.html
    • 0.3-RELEASE-2019_11_28.html
  7. Add the html from the snippet below to the bottom of new yaml file (see below).

---
<!DOCTYPE HTML>
<html>
   {% include head.html %}
   <body>
      {% include header.html %}
      {% include navbar.html %}
      <div class="page-content">
         <div class="wrapper">
            <div id="main-content-wrapper" class="outer">
               <section id="main_content" class="inner">
                  {% include profile_start.html %}
                  {% include specification_table.html %}
               </section>
            </div>
         </div>
      </div>
      {% include footer.html %}
   </body>
</html>
  1. Rename the file using the value of the version property. I.e., if we have version: 0.3-RELEASE-2019_07_01 the file will be called 0.3-RELEASE-2019_07_01.html.

  2. Move the specification version to bioschemas.github.io > profiles > PROFILE_NAME folder. So DataCatalog goes into bioschemas.github.io > profiles > DataCatalog.

  3. Now you must update the bioschemas.github.io > _data > profile_versions.yaml file. Each profile has a section like:

DataCatalog:
    name: "DataCatalog"
    latest_publication:
    latest_release: "0.3-RELEASE-2019_07_01"
    status: "active"

If not deprecated you must change the values of latest_publication and/or latest_release:

  • If this is a new release: update the value of latest_release using the value of the version property from step 10. Finally, ensure latest_publication is blank.
  • If this is a new draft and there is no existing release, update the value of latest_publication using the value of the version property from step 10. Finally, ensure latest_release is blank.
  • If this is a new draft and there is an existing release, update the value of latest_publication using the value of the version property from step 10. Leave latest_release unchanged.

HOWEVER, if the profile is being deprecated leave the latest_publication and latest_release values unchanged. Instead, change the status: "active" to status: "deprecated" and add a deprecated_date property. For example, if we deprecate the DataCatalog profile we get:

DataCatalog:
    name: "DataCatalog"
    latest_publication:
    latest_release: "0.3-RELEASE-2019_07_01"
    status: "deprecated"
    deprecated_date: "2019-11-28"
  1. Commit changes, push branch and create a pull request.
Clone this wiki locally