Image result for eagle scout badge coding


  • Add a reviewer when submitting a pull request. Bitbucket will send an email notification to the reviewer.
  • A merge conflict is often due to the working branch being behind of the master. Issue a git merge master may help resolve it.
  • For additional resources, refer to Surviving Project Repo Using Git bash

The master branch of the CDISC Library project repo is protected as a best practice in a team setting. A reviewer will inspect changes made in associated commits, checking for merge conflicts, accidental file removals, and unintentional updates. After that, the reviewer will issue a merge command to merge the changes from a working branch to master.

Unable to render {include} The included page could not be found.

  • If it is stemmed from configuration, check typos in the chains of referenced views and SPARQL statements. Make sure views are in the correct module (i.e., folder).
  • If it is stemmed from triple store, re-run Prembler and RdfResourceChecker. Also, try to load the Turtle file in TopBraid.
  1. Log into CDISC's Postman (desktop version)
  2. Launch Runner
  3. Switch to Team Workspace
  4. From the collection pane, select CLIB-API > System Smoke Test (General)
  5. Select appropriate environment, i.e., QA or Production Server
  6. Click Run Smoke Test
  7. Short video

The files are attached to 5 Release Details, along with other relevant release notes.

The most important thing to note is cache management. MDSP always sends back cached result, when available. In other words, it does not know when metadata are updated. These are the steps should be considered before unit testing:

  1. Clear the cache for /mdr/products
  2. Clear the cache for the versioned standards being tested
  3. Update the corresponding index
  4. Clear the UI cache
Sample cURL command to clear all UI cache, recursively
curl -X POST \
  https://cdisc-mdsp-qa.nurocorcloud.com/api/admin/cache/actions/delete \
  -H 'Content-Type: application/json' \
  -d '{
   "keys": [
      "GET::/mdr/ui::{}::application/json",
      "GET::/mdr/ui::{}::text/csv",
      "GET::/mdr/ui::{}::application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
      "GET::/mdr/ui::{}::application/odm+xml"
   ],
   "deleteSubKeys": true
}'
Sample cURL command to clear /mdr/products, recursively
curl -X POST \
  https://cdisc-mdsp-qa.nurocorcloud.com/api/admin/cache/actions/delete \
  -H 'Content-Type: application/json' \
  -d '{
    "keys" : [
        "GET::/mdr/products::{}::application/json",
        "GET::/mdr/products::{}::text/csv",
        "GET::/mdr/products::{}::application/vnd.ms-excel",
        "GET::/mdr/products::{}::application/xml",
        "GET::/mdr/products::{}::application/odm+xml"
    ],
    "deleteSubKeys" : true
}'
Sample cURL command to clear cache related to ADaMIG v.1.2, recursively
curl -X POST \
  https://cdisc-mdsp-qa.nurocorcloud.com/api/admin/cache/actions/delete \
  -H 'Content-Type: application/json' \
  -d '{
    "keys" : [
        "GET::/mdr/adam/adamig-1-2::{}::application/json",
        "GET::/mdr/adam/adamig-1-2::{}::text/csv",
        "GET::/mdr/adam/adamig-1-2::{}::application/vnd.ms-excel",
        "GET::/mdr/adam/adamig-1-2::{}::application/xml",
        "GET::/mdr/adam/adamig-1-2::{}::application/odm+xml"
    ],
    "deleteSubKeys" : true
}'
Sample cURL command to reindex all CT packages, in synchronous mode
curl -X POST \
  https://cdisc-mdsp-qa.nurocorcloud.com/api/admin/search/index \
  -H 'Content-Type: application/json' \
  -d '{
    "async": false,
    "index": [
        "/index/adamct",
        "/index/cdashct",
        "/index/coact",
        "/index/protocolct",
        "/index/qrsct",
        "/index/qsftct",
        "/index/sdtmct",
        "/index/sendct"
    ]
}'

Although there are no straightforward methods such as debugger or trace stack, here are a few pointers:

  • The message object in the JSON response may provide a starting point for troubleshooting. Do note it may not always pertain to the source of fault.
  • Conflict with an element's cardinality will result in HTTP 500, i.e., non-unique results for element whose cardinality is expected to be ONE. In other words, a JSON object is expected, but an array is returned.
  • In MDSP configuration, an element's cardinality is defaulted to be ONE unless specified with "cardinality": "MANY".
  • Use TopBraid as a troubleshooting tool. For example, load the Turtle file and navigate to the graph & resource where the source of fault is suspected.
  • Use Bitbucket's diff as a troubleshooting tool to inspect the changes between commits. Do note this may not always be useful when a file is too large or its statements are scrambled.
  • If none of the troubleshooting yielded a solution, submit a Service Desk ticket to Nurocor and request diagnoses from server log.

From Nurocor Support:

When you execute the API request to publish the triple store, it will use the datasources config to determine which turtle files to load into the triple store. There is no remove functionality for a single turtle file. To update the triple store and have sendig-3-0 not included, you must update the datasources file by removing the entry for sendig-3-0 (remember there are two places in the datasources file). You may remove or leave the actual turtle file in Bitbucket, but since CDISC removed the load file, it makes sense to also remove the turtle file.

After updating the datasources file and pushing it to Bitbucket, you can then proceed to use postman to execute a pull, do a git log head to check the result of the pull, followed by a publish API configuration (to pick up the new datasources file), followed by a publish triple store. That should do the job.

  • No labels