Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

15REST APIs
Programme
Thursday 11 Feb WhoActions
09:30 - 10:00Informal - get set up with Jira, screens, GTMAll 
10:00 - 10:30

Tooling

Git strategy / workflow

Review workflow - BN

All 
10:30 - 11:00

Documentation tooling update - show everyone how tooling is working at the moment; solicit suggestions for improvement.

MagicDraw?!

Thomas Beale 
11:00 - 11:30Global review
  
11:45 - 12:15ITS release strategyAll 
12:15 - 13:15LUNCH  
13:15 - 14:15ITS release strategy - Sebastian Iancu
  • does ITS continually accumulate mutually consistent sets of resources, e.g. XSDs, Java code etc etc? It should be the case that the ITS project has ITS for every other component that has something available at any time.
  • ITS specifics - RM 1.0.3 XSDs
Sebastian 
14:15 - 15:15Specifications Releases  
15:15 - 15:30C O F F E E  
15:30 - 16:30Specifications Releases
  • RM Release 1.1 - move most of Common to BASE
  • SM first release timetable
  
16:30 - 17:30ADL2 migration strategyTB 
17;:30 - 18:00Cambio - GDL state of the artRong 
20:30 -Dinner  
    
Friday 12 Feb   
09:00 - 10:15TDS3  
10:15 - 10:30C O F F E E  
10:30 - 11:00REST APIs  
11:30 - 12:00AQL - functions - Bjørn Næss  
12:00 - 12:30Demographics model general model issues - Sebastian Iancu  
12:15 - 13:15LUNCH  
13:15 - 1314:30AQLrelease specifics - dates, agree forward plan  
1314:30 - 1415:30AQL00GDL / ADL rules  
1415:30 00 - 1415:45 30Next gen ADL tooling ; user experience for e.g. nurses; ADL2 adoption  
1415:45 30 - 16:00   
 drinks? :)  

Actions

Vagrant

Create list of instructions for vagrant provisioning script for documentation / publishing env. Sebastian to build and test.

MagicDraw

Do a test to see if MD XMI includes all model content including diagrams.

Do a test to transfer full model to another tool.

GDL

ROng - send TB XMI of GDL model.

Publishing / Workflow

Asciidoc or other generic small types - use a 'collector' CR on each release e.g. 'Correct Asciidoc syntax errors' - e.g. SPECPUB JIRA project.

Signficant CR-driven changes:

  • agree on private fork + change + pull request + merge
  1.  Changes is done one personal fork 
  2.  Pull request is sent to main repository 
  3. Owner of that specification Git repo will do the merge 
  4. Each commit must be assigned with a prefix for the JIRA item (e.g. SPECRM-35)

UML changes - discuss/agree in JIRA, then component owner does or delegates UML changes to one person - avoid competing UML model changes.

Review workflow options - e.g. external reviewers:

  • Component owner does
    • AsciidoctorFX export to ODT
    • generate HTML in the normal Asciidoctor way
  • reviewer uses e.g. OpenOffice to markup - comments & changes, then returns to owner who then processes manually.

Git branch philosophy

  • option #1 - single master
  • option #2 - master = dev branch; create interim branches on demand if need to apply selected later commits at an earlier point.

ITS strategy

Per-component ITS-RM, ITS-AM, etc Git repos with file structures like:

ITS-RM repo:

  • tag point: 1.0.2
    • CHANGELOG.txt
    • xml
      • xsd
  • tag point: 1.0.3
    • CHANGELOG.txt
    • xml
      • xsd
        • 6 files
      • xslt
  • tag point: 1.0.4
    • CHANGELOG.txt
    • doc
      • sdfsdfdf
    • xml
      • xsd
        • 6 files
      • schematron
        • 2 files
      • xslt
        • xxx
      • examples
        • xxxx
    • json 
      • xxx

Each repo would use same tags as SPECIFICATION-xx repos, e.g. 'Release-1.0.3'. 

To add updates to an earlier release, e.g. fix 1.0.2 XSD bug, or add JSON schema to 1.0.2, then do a branch off the relevant tag point and use tags like 'Release-1.0.3-R2' etc.

Can also add secondary 'bundle-based' tags e.g. '2016.3', '2017.6' etc.

Manually maintained CHANGELOG.txt file in root - enables consumers to easily find out what has changed.

 

Long term release?

 

Additionally, a 'whole of system' ITS repo containing e.g. whole of system documentation, packaging scripts etc.

Conformance

Release naming: use e.g. openEHR-2016.3?

Question: how to connect conformance resources/test plans etc to ITS artifacts.

Idea of 'conformance to openEHR-2016.3'...

AQL functions

Generic need for 'functions' in AQL / extension mechanism

Need to show how to define RM-independent functions e.g. math functions, 

Then need ability to define RM-specific functions e.g. instruction-aggregate-state() , etc see pres from Bjørn Næss 

Latter would be specified .... where?

Implementation guidance for AQL service implementers

also consider 'service view' of functions, i.e. REST access as well as AQL access.