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). Copy the version property value 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"

You must change the values of latest_publication and/or latest_release:

  • If the version just published is a draft, and there has been no release version, then change the latest_publication value to be that of the current version property. latest_release should be empty.
  • If the version just published is a release, then change the latest_release value to be that of the current version property. latest_publication should be empty.
  • If the version just published is a draft, and there has been a release version, then leave the latest_release unchanged, but update the latest_publication property to be the value of the current version.

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 pull request.
Clone this wiki locally