CKM Release 1.19.0

Release Date: August 2023
Deployments: Starting late August 2023

 

Summary of Changes

CKM 1.18.0 has been a very stable release and consequently 1.19.0 contains only a few mostly minor bug fixes. Instead, the focus of the 1.19.0 release is on a wide variety of improvements in the following areas. A total of 155 issues have been addressed in this release.

Enhancements to the Federation of CKM Instances

This release improves user experience and efficient governance of remote archetypes for federated CKM instances. Editors can now apply a refined filtering mechanism on archetypes, utilizing both the archetype id and displayed concept name. Filtering based on specific projects and based on creation or modification dates is also now supported.

CKM now presents the Semantic Versions of both remote and local archetypes and in cases where an imported version lacks a semantic version, this is visually indicated.

Notably, users now have the flexibility to compare a newer revision of a remote archetype with the one currently used in the local CKM to quickly assess whether an update is needed. Direct access to the local archetype is now possible.

All this is to support editors in the decision when to update a remote archetype and governance around this.

Related to this, we've also rolled out various other related improvements, including an automatic population feature for the "Reference to original resource" text area when internalizing an archetype.

Crawlability and Direct Link Enhancements

In our ongoing commitment to improve platform accessibility and visibility, we've implemented significant updates to CKM’s crawlability features. Projects and subdomains have been modified to be more crawl-friendly, ensuring enhanced search engine interactions. The Repository Report Overview Page has been refined to offer an improved crawlable experience. Moreover, CKM’s JSON-LD Structured Data Generator that is relevant for search engine indexing has received some key fixes and enhancements.

REST-like direct links are now provided (in the browser toolbar) for discussions, archetype proposals, individual Change Requests, subdomains and various resource statistics.

Social Media Sharing Enhancements

The CKM startup pages have been optimized for social media sharing. We've integrated Open Graph and Twitter social media tags, ensuring a streamlined presentation of content when shared.

Additionally, to amplify the visibility and sharing experience, Open Graph Meta Tags and Twitter cards have also been enabled for archetypes, templates, projects, and subdomains. Whether you're sharing a CKM direct link on platforms like Discourse, LinkedIn, Mastodon, Slack, Facebook, Twitter/X, or others, you can now expect a preview of your shared content.

Revision History Improvements

In this release, we've included a few enhancements to the Revision History of resources such as archetypes and templates to improve clarity and provide more intuitive revision tracking.

Editors and other users checking out a resource to a branch will now see a "Reason for Checkout" feature, with the ability to display a shortened version of the free-text reason directly in the branch title. Also, the latest published revision will be highlighted with a green tag in the revision history. Any revision of a committed branch that wasn't committed to the immediately subsequent trunk revision will now be distinctly indicated.

Change requests mentioned in the log message (e.g. CR-123) can now be opened directly from revision history.

Review Round Tweaks

We've also made some specific modifications to the Review Round process. For example, on the initiation of a new review round, editors will now receive an immediate notification if an active review round already exists. This warning will also be reiterated just before the final creation of the review round. Regarding Review Invitation Templates, an additional placeholder has been added to represent the initiating user, and the 'editor-full-name' placeholder has been appropriately renamed for better distinction.

Improving Accessibility by Increasing Compliance with WCAG Level AA

As part of our commitment to make CKM more accessible, in this release, we have significantly enhanced CKM’s compliance with WCAG Level AA standards. This includes refining image alt attributes for relevance, ensuring colour contrasts across all themes meet the required benchmarks, and restructuring our page layouts to prioritize accessibility. We're steering clear of table structures for layout or where not avoidable use the ARIA presentation role to mark the structure as presentational only. We have optimized iframe title tags, rectified a few form label inconsistencies, and fine-tuned our interface elements like buttons and links to be WCAG-AA compliant. This also extends to CKM’s OPT to HTML transformation as well for example.

Subdomain and Project Enhancements

In this update, we've introduced a new Overview Page that presents a comprehensive view of All Projects and Incubators, grouped by Subdomains and easily accessible via the Project Menu. Likewise, a dedicated overview page of all projects has also been made available for each individual subdomain.

Each project in CKM now shows a mind map with all archetypes of the project, offering a more intuitive understanding of project structures.

To ensure clarity in resource governance, the Project Resources View and Project Dashboard now visually delineate between archetypes referenced from a remote CKM and those referenced from another local project or incubator.

Miscellaneous Enhancements and Updates

With this release of CKM, it's now possible to acknowledge multiple contributors to a translation alongside the primary translator. This adjustment necessitated an addition to the openEHR specifications, which CKM now fully supports, including when translating archetypes directly within CKM.

Additionally, CKM’s Audit log has seen multiple improvements for a more streamlined user experience.

In line with keeping our systems current, we've upgraded the version of Archie to 3.0. This relates to the conversion of archetypes from ADL 1.4 to ADL 2.

Likewise, we have upgraded the LOINC version used in CKM to version 2.74.

Under the hood, a considerable amount of foundational work has been conducted, including a clean-up of stylesheets and enhanced theme creation, CKM's Picture Server has been completely rewritten, ensuring better performance under load. We've made future-proofed several backend queries and have worked extensively on many code improvements, cleanup, and refactoring.

Lastly, we're pleased to announce the addition of a new Catalan localisation of CKM, as well as finetuning of localisations for example related to Catalan and Norwegian date formats to enhance user experience across diverse locales.

Detailed List of Changes

New & Improved Functionality (85 issues)

Key

Summary

New or Improved Functionality Description

Key

Summary

New or Improved Functionality Description

1

CKM-477

REST-like Direct Links to Subdomain Home (and other subdomain tabs)

Add a direct link that can be used to open the subdomain home directly when opening CKM via this link.

This is similar functionality as we already have for archetypes, templates, termsets, release set and project & incubators.

Direct URL style:

…/ckm/subdomains/<cid-subdomain>

The direct link is displayed in the browser and can e. g. be copied from there.

2

CKM-1164

Add a "Reason for Checkout" freetext when checking out a branch

Add a Reason for Checkout free text text area when checking out a resource to a branch.

The provided Reason for Checkout is then used as part of the log message for the first branch revision. Currently this is always “New branch” in CKM’s main server language and cannot usually be changed by the user checking out the resource.

On checkout of a resource there should be a new Text area describing the “Reason for checkout”. This must be optional to fill in.

Rename the text areas to

  • “Checkout log message” - for checking out

    • Normal checkout: Provide an empty text similar to the other empty texts (e.g. “Please provide a brief log message that describes the reason for checkout.”

    • Translation checkout (for uploading translation or starting an online translation): Prefill the log message text area with “Translation”

  • “Update log message” - for any branch updates

On the checkout tab of a resource (i.e., when the resource is already opened), remove the “Revision History” Button because it is more confusing than useful at this place. Keep at all other places a checkout can occur.

Refer to CKM-1802: Display shortened "Reason for Checkout" freetext in the branch title on how this will be displayed (in addition to the normal log message).

3

CKM-1286

Automatically link Change Requests mentioned in a log message to the Change Request

Automatically link Change Requests mentioned in a log message (e.g. CR-123) to go to the CKM Change Request directly.

For each CR mentioned in the log message, a link is added underneath the log message that opens the Change Request directly.

For this link to work the Change Request MUST exist and be a Change Request of the resource (and not for some other resource).

 

4

CKM-1406

Display link to CKM resources on GIT more prominently

In a CKM with configured GIT export of its resources, there should be a panel linking to the archetypes and templates on the GIT repository available from the Export tab.

This link panel should be available for all archetypes, templates and termsets that are

  • in an active state and

  • owned by a project (not an incubator).

The full path within the git repository needs to be constructed considering

  • the local vs remote state of an archetype (they need to go to different git folders: local vs remote)

    • If remote, the namespace of the remote subdomain is added.

  • the RM Class of the resource (e.g. OBSERVATION → entry/observation)

  • the archetype id or the template name as filename.

See e.g. https://github.com/openEHR/CKM-mirror for the openEHR CKM git repository.

This new panel has been added to the Archetype/Template Export panels underneath the buttons but before the “Archetype Transforms”.

5

CKM-1429

Overview Page of All Projects and Incubators grouped by Subdomains

Currently projects and incubators are mainly opened via Projects / Open Project or the respective Open Incubator menu item. This displays a select box to open a project. Alternatively, the projects and incubators can be opened from the left hand accordion panel. However, neither provides a good overview of what projects are available in the CKM instance. It would therefore be very useful to have an overview of all projects and (visible to the user) incubators and their descriptions, grouped by subdomains.

In this new overview, the subdomains should be sorted so that the local subdomains are displayed first in alphabetical order, followed by the remote subdomains (which often will only have one project anyway). This new overview is available from the Projects Menu: Projects & Incubator Overview.

 

6

CKM-1481

Add appropriate support for TRANSLATION_DETAILS.other_contributors and version_last_translated

With the advent of TRANSLATION_DETAILS.other_contributors as per SPECBASE-23 as well as version_last_translated, this needs to be supported appropriately by CKM.

  • This includes parsing, storing, reconstructing of archetypes with these fields set in TRANSLATION_DETAILS

  • Appropriate display in the simple and mindmap views of the archetype.

  • Appropriate support when translating an archetype with these fields set using CKM’s online translation functionality.

    • When translating an archetype directly in CKM, other_contributors of the translation can be added directly in the translation tree.

    • version_last_translated is shown if already set in the archetype and in these cases can be updated. It will however not be exposed to the online translation if not populated at all.

Example display:

Example of the display in CKM’s online translation functionality.

 

Note that as discussed in SPECBASE-23 this is only available explicitly in combination with ADL2. Therefore, the translations other_details map is used with a key of other_contributors. This can be used with ADL1.4 to store the other_contributors, one row per other contributor to the translation.

7

CKM-1514

Archetypes Overview Mind Map of each project

Each project and incubator now provides an overview mind map of all its archetypes, organised by RM classes.

A similar mind map is already available for all archetypes via the Archetypes menu in CKM.
However, nowadays, this mind map typically contains so many archetypes in larger CKM instances that it make less sense than it used to.

The new project-based mind map will provide a better overview on a per project basis.

In addition to making the project-based mind map available, this issue also includes various extensions and finetuning of the mind map:

  • Ensure all ITEM_* archetypes are added as structure (get ckm-test or openEHR CKM)

  • Fix missing icon on Structure node

  • Only add RM class nodes with archetypes in it

  • More flexibly assign RM class nodes to the left or right of the mind map, in a best-effort to keep a logical structure, for example: ENTRY nodes should be adjacent to each other on one side if there are others, but in case there are only ENTRY nodes can use a layout that considers the typical clockwise order of Observation, Evaluation, Instruction, Action.

  • Add resource status icon as image to the individual nodes

  • Finetune horizontal rule (hr) display

  • On hover over each node, more information is revealed, such as

    • the archetype id,

    • the revision number,

    • the resource description (concept description), and

    • an indication of the ownership status of the resource (owned by project, referenced by project, remote).

8

CKM-1590

Support REST-like URLs for direct links to discussions

In CKM 1.18.0 there are direct links like for example:

  • …./ckm/#showGComment_1013.18.1787 to directly go to a general discussion

  • …./ckm/#showAComment_1013.18.1600_1013.1.3574 for a discussion with citeable id 1013.18.1600 for an archetype with citeable id 1013.1.3574,

  • similar for other resource types (templates, termsets, release sets),

  • and discussions for projects as whole: …./ckm/#showPComment_1013.18.1748_1013.30.44 for a discussion with citeable id 1013.18.1748 for a project with citeable id 1013.30.44.

These links should be REST-like, e.g.

  • For General Discussions: …./ckm/discussions/1013.18.1787 (or maybe .../generaldiscussions/... for clarity’s sake?)

  • For archetype-related discussions: …./ckm/archetypes/<archetype-cid>/discussions/<discussion-thread-cid>

  • Similar for templates, termsets, release sets

  • For project-related discussions: …./ckm/projects/<project-cid>/discussions/<discussion-thread-cid>

If the discussion-thread-cid is specified (and valid) the exact Change Request is opened. If no discussion-thread-cid is provided (or it is not valid/unknown), the discussion tab for the resource or project is opened without expanding any particular Change Request.

Note: The plural form of “discussion*s*” is consistently used instead of discussion, comment or comments.

These new REST-like links are also now used in generated CKM emails (such as for a new comment for an archetype or a new general comment) and are shown as direct URL underneath the discussion thread as well as in the browser toolbar.

9

CKM-1591

Improve Audit Log Initial View

When the Audit Log is opened, up to now a result has immediately been displayed based on the default search parameters (everything in the last month).

Unfortunately, the fact that this result only covers the last month is is not very clear and thus the fact that this is not the complete available audit log may be missed.

Therefore, this issue changes the behaviour in the following way:

  1. Do not display an initial result grid. Display the grid only after the user has specified the options and clicked on the search button.

  2. In the header of the result grid, show the actual parameters used for the search if they are constrained (such as start date, end date, actor, event and asset type).

10

CKM-1592

Add the Resource Main Id to the Audit Log when a Resource event is audited (esp. deletion)

Capture the resource’s main Id to the Audit Log when a Resource event is audited, for example: add the archetype id to the Audit Log when an archetype event is audited.

This is most relevant for deletion, but has also been implemented for updates and creations.

Issue created as result of this CKM discussion:
https://ckm.openehr.org/ckm/#showGComment_1013.18.1787

11

CKM-1647

Increase usage of css variables to better support the creation of themes

Due to Internet Explorer’s incapability to use css variables, core css variables have so far only been used for unessential styling.

However, in the absence of Internet Explorer 11, and with all reasonably latest releases including for Edge supporting this properly, it is now possible to use css variables to streamline the creation and maintenance of the various ckm themes.

Streamline the current themes (blue, gray, ocean) so that (nearly) the only thing that needs to be specified in the gray and the ocean themes are these variables, mainly for colour changes. This will greatly increase maintainability of existing and make the creation of new themes a lot easier and less error prone.

The CKM gray theme was based on a gray theme of the core framework, however this additional dependency has been removed as well as part of this streamlining.

12

CKM-1700

Improve recipients of email notifications for submitted translations

Currently, only project editors get notified of submitted translations via email.

However, in many cases, the integration of the translation could and should be done by translation editors of the project.

After some discussion, the following behaviour has been implemented:

  • If at least one translation editor exists for the project owning the archetype, send the notification email to all translation editors of the project.

  • If no translation editors exist in the project at all, all editors of the project are notified instead.

  • If the translation branch competes with other active branches or is outdated because it was not branched from the latest trunk revision:
    Notify both the resource's project editors and translation editors. This is because in this case, translation editors need to coordinate the commit process with the project editors: Due to the restrictions introduced in CKM-1477 of CKM’s 1.18.0 release, it is no longer possible for translation editors to commit the translation on their own.

To clarify this behaviour, the email template for notifying the translation editors or editors has been finetuned and the following sentences have been added after “Please check and commit the translation as soon as possible.”:

Please coordinate the commit process with the project editors and translation editors as appropriate: Translation editors can only commit a translation branch if there are no other active branches and if the translation branch is branched from the latest trunk revision of the archetype. In all other cases, translation editors need to coordinate the commit with the project editors.

13

CKM-1702

Remote Archetypes Import: Ability to filter archetypes (free text filter on the archetype id and displayed concept name)

In order to improve the usability of the functionality to import remote archetypes or update them to a newer revision, CKM now offers the ability in the Remote Archetypes Import/Update panel to filter on archetype id and concept name (as displayed).

For this, a “Filter” text field has been added that can be used to quickly filter the displayed archetypes for their archetype concept name (as displayed) and archetype id, considering partial results, case-insensitively.

All archetypes that don’t fit the filter are temporarily hidden from the archetypes displayed, if and only if they are not selected (checkbox). Any already selected archetypes are shown in addition, so that it is always clear which archetypes are to be imported or updated, when the Import button at the bottom is clicked.

This functionality applies to the NEW and UPDATED archetype panels.

14

CKM-1728

Upgrade to Twitter [X] API v2

For new twitter apps, tweeting is only possible via the new v2 of the Twitter API. Alternatively, each app/CKM would need to apply for elevated access to be able to continue the use of v1.1 of the Twitter API. For current apps, this restriction has been gradually implemented by Twitter/X as well, making this an important update also for CKMs with existing Twitter configuration.

Unfortunately, the library currently in used by CKM for twitter access does not seem to be maintained anymore and is not likely to experience upgrades to v2.

Therefore, the connection to twitter had to be completely rewritten so that CKM can continue to support twittering for new CKMs or existing CKMs that would like to configure the twitter functionality.

Existing users of the CKM twitter functionality, will need to to create project-based app credentials with OAuth1a enabled and update accordingly.

Without this, a 403 Forbidden error is likely to occur:

When authenticating requests to the Twitter API v2 endpoints, you must use keys and tokens from a Twitter developer App that is attached to a Project. You can create a project via the developer portal. https://developer.twitter.com/en/docs/projects/overview

Existing customers that use CKM’s twitter functionality, therefore must follow these steps:

  1. Go to https://developer.twitter.com/en/portal/dashboard and login with the account used for CKM twittering.

  2. Ensure that OAuth1a is enabled for the existing App (with the credentials used by CKM).

  3. Create a new project.

  4. Add the existing App (with the credentials used by CKM) to it.

  5. If OAuth authentication details have changed as part of the process, they need to be supplied, so that CKM’s twitter connection can be updated accordingly.

15

CKM-1730

WCAG Level AA: Add alternate (alt) attributes to images where necessary (and remove where redundant)

To improve accessibility and comply with WCAG Level AA, all relevant images should have “alt” attributes with a short alternate description of the image.

Ideally this alt attribute should only exist if there is no identical text next to it.

This issues comprises many such additions, including but not limited to the following places:

  • The left hand resources panels

  • All combo boxes which contain images for the trigger area

  • Data type images

  • Project & Incubator icons in panel titles

  • TreePanels and TreeNodes

  • Resource type images

  • Remote archetype import dashboard for status icons, RM icons, etc

  • InfoTooltip icons

  • UserPanel, Users overview panel, Tri.states renderer, user tooltip

  • The collapsed and expand icons in the Archetype html view that are updated accordingly on collapse and expand

  • The more info and more details (zoom) images.

  • Reviews (question marks for special questions, padlock for closed review rounds, …)

  • Loading Panel loading icon

  • Export icon in grids and charts.

  • ResourceAdvancedDisplayPanel: RM class images in the results header.

  • Workflow states in the Tasks Panel

Also, restructure generic Panels to automatically add alt tags to the placeholder img used for the background icons as applied via css. This avoids the problem in all such Panels with an icon in the header.

Decorative images should have an empty alt tag:

Also see https://www.w3.org/WAI/GL/WCAG3/2020/methods/decorative-images/

Decorative images don’t add information to the content of a page. For example, the information provided by the image might already be given using adjacent text, or the image might be included to make the website more visually attractive.

In these cases, a null (empty) alt text should be provided (alt="") so that they can be ignored by assistive technologies, such as screen readers. Text values for these types of images would add audible clutter to screen reader output or could distract users if the topic is different from that in adjacent text. Leaving out the alt attribute is also not an option because when it is not provided, some screen readers will announce the file name of the image instead.

Whether to treat an image as decorative or informative is a judgment that only the author can make, based on the reason for including the image on the page. Images may be decorative when they are:

  • Visual styling such as borders, spacers, and corners;

  • Supplementary to link text to improve its appearance or increase the clickable area;

  • Illustrative of adjacent text but not contributing information (“eye-candy”);

  • Identified and described by surrounding text.

Alternative text that is the same as nearby or adjacent text will be presented multiple times to screen readers or when images are unavailable.

Change either the alternative text or the adjacent text to eliminate the redundancy. In most cases, you can give the image empty/null alternative text (alt="") because the content of the image is already provided in context through text. 

16

CKM-1732

Catalan Localisation

Add a new Catalan Localisation (ca) for CKM.

17

CKM-1735

Remote Archetypes Import/Update Panel: Show Semantic Revision numbers of the remote archetype and the local archetype

In the panel to import remote archetypes, the semantic revision numbers should be made available, especially where archetypes can be updated.

  1. Show the semantic revision numbers of the remote archetype for

    1. the latest asset version and

    2. the latest published

  2. Show the current semantic revision number of the local archetype

Do this in a similar way as we currently have this already for archetypes used in templates, e.g.Template: End of Life Care Coordination Document - Leeds EPCCS (Composition) [DEV Clinical Knowledge Manager]

For example:

Certificate (openEHR-EHR-COMPOSITION.certificate.v0) 

↪ Latest revision: 6 1.0.1-alpha 

↪ Latest published revision: 5 1.0.0 

↪ Current revision used in this CKM: 3 0.0.1-alpha

18

CKM-1736

Remote Archetypes Import Update Panel: Ability to compare a (newer) revision of a remote archetype with the currently used revision in CKM

When updating remote archetypes, it would be very helpful if it was possible to compare the remote archetype with the currently used local one.

Therefore, two new links are provided in the Remote Archetypes Import/Update Panel to

  1. compare the latest remote version with the latest version in the local CKM, and

  2. the latest remotely published version with the with the latest version in the local CKM.

This is done by providing two new links that open the respective comparison in a new CKM tab.

19

CKM-1737

Remote Archetypes Import/Update Panel: Ability to filter by project

In the panel to import and update archetypes from a remote CKM, it would be very helpful to be able to filter by archetypes of one project only - i.e. usually the remote archetypes referenced by this project.

This is very useful to be able to quickly see which archetypes may need to be updated for a certain project.

20

CKM-1742

WCAG Level AA: All colour contrasts used in CKM should have sufficient contrast in all themes

To increase accessibility and to improve compliance with WCAG Level AA all colour contrasts used in CKM should have a ratio of 4.5:1 or greater for normal text and 3:1 for large text as defined by the guideline.

Changes include but are not limited to the following examples:

  • Passed Deadlines in grids where the contrast seems not sufficient for WCAG AA.

  • Version color in left hand trees

  • Colour for mindmap nodes

  • clickable-tree css file for the template form display.

  • Drop area background

  • Introduce an unobtrusive color var in the css to use in various places that can be used for sufficient contrast ratio on white background. Rework various generators to increasingly use the related css classes.

  • Fine-tune colour codes in org chart css (used for the statistics) to have sufficient contrast and also slightly increase the text size for the smaller text.

  • Add incomplete colour code to css that is WCAG compliant and replace various direct references to a red warning colour + use unobtrusive colour for some grey (insufficient contrast) colours in grids.

  • Colour contrasts of User classification Tags

  • Colour contrasts for non specialised items in a specialised archetype.

21

CKM-1743

WCAG Level AA: Improve Page Structure for Accessibility

To improve accessibility and improve compliance with WCAG Level AA, CKM’s page structure should be improved.

This is typically possible either by using html structural elements such as header. While this is the preferred method, this is not easily possible everywhere - in this case adding the equivalent ARIA role attribute is helpful (and required for WCAG AA compliance)

ARIA alternative   <header> <div role="banner"> For the header / banner element <main> <div role="main> For the main content <nav> role="navigation" For navigational elements <footer> role="contentinfo" For the footer, if any   <form id="search" role="search"> When the form is for searching, use the search role <h1>, <h2>, <h3>, ...    

For further ARIA roles and explanations refer to: WAI-ARIA Roles - Accessibility | MDN

22

CKM-1744

WCAG Level AA: Avoid tables structures for layout purposes or where not avoidable use ARIA presentation role to mark the structure as presentational

To improve accessibility and to improve WCAG Level AA compliance, tables structure should not be used for layout purposes or be marked with ARIA Role “presentation”.

Layout tables exist merely to position content visually but the content is not at all tabular in nature. They can introduce reading and navigation order issues. Screen readers may interpret them as data tables and thus introduces significant overhead on screen reader users.

Therefore either

  • replace the layout table with other html elements and style using CSS, or

  • add ARIA role="presentation" to the table (and possibly all tables underneath if required) to ensure it is not identified as a table to screen reader users.

While the first is preferred, some layout tables can not easily be replaced with the currently used components and in these case adding a role=presentation attribute is helpful for screen reader and ensure WCAG 2 AA compliance.

Some Horizontal and Vertical Panels can be replaced with new and more powerful implementations based on Flex layout.

23

CKM-1747

Remote Archetypes Import/Update Panel: Ability to filter the information and warning panels as well for the filter text and project

On the Remote Archetypes Import/Update Panel, CKM-1702: Remote Archetypes Import: Ability to filter archetypes (free text filter on the archetype id and displayed concept name) and CKM-1737: Remote Archetypes Import/Update Panel: Ability to filter by project have added the ability to filter by free text and by project a remote archetype is referenced in.

This functionality so far is only applied to archetypes that can be imported or updated.

This card extends the above filtering on free text and project to the Information and Warning Panels of the Remote Archetypes Import and Update Panel as well.

24

CKM-1749

Remote Archetypes Import/Update Panel: Ability to open the local archetype from the "Updated Remote Archetypes" panel

In the Remote Archetypes Import/Update Panel, add the ability to open the local archetype from the "Updated Remote Archetypes" panel (in a new CKM tab).

This is done by displaying a link » after the

Current revision used in this CKM: 3 0.0.1-alpha

as implemented as part of CKM-1735: Remote Archetypes Import/Update Panel: Show Semantic Revision numbers of the remote archetype and the local archetype

25

CKM-1750

Finetune the English Versions of Various Review Deadline Notification Emails

Finetune the English Versions of Various Review Deadline Notification Emails, in particular the

  • The Review Round Deadline Expired Email sent to the Editors upon expiry.

  • The Review Round Deadline Expired Reminder Email sent to the Editors on a weekly basis for the first month after expiry.

  • The Review Round Deadline Expired A Long time ago Email to the Clinical Knowledge Administrators, sent if no editors follow up for approx. a month.

26

CKM-1751

Update openEHR logo

Update the openEHR logos where used in CKM to the latest version of the logo / favicon; see https://openehr.org/about/logos

This affects the AboutPanel in CKM in the Powered by Section in all CKM instances.

In addition, there are three places where the logo may be used by various CKM instances:

  • In the header, top left as the instance logo

  • In the About Panel - as the big instance logo

  • As the favicon

27

CKM-1752

Add new CKM logo to About Panel, About Menu Item and (randomly) Dashboard

Add the new CKM logo to the About Panel in CKM and the corresponding menu item.

Also add the logo to the Dashboard as one of the randomly chosen community images. For a dark theme like the ocean blue, the dark version of the logo is used, for the lighter themes (blue, gray) the light version of the logo is used.

28

CKM-1760

Remote Archetypes Import/Update Panel: Filter by Created and/or last modified date

As an editor importing or updating remote archetype, it is very helpful to be able to filter or sort by the creation and/or last modification date of the remote archetype, so that the newest additions can be found easily. This way the editor can quickly exclude all archetypes that have previously been considered (and rejected) for use in the local ckm.

More specifically, a date box is added to the other new filtering options of the Remote Archetypes Import/Updated Panel.

If a date is selected and the results are filtered, the following filter applies:

  1. For new archetypes that can be imported: In addition to any already selected archetypes, any new archetype will only be displayed if it has been created (in its initial asset version) on or after the selected date.

  2. For already imported archetypes that can be updated: In addition to any already selected archetypes, any archetype that can be updated will only be displayed if it has been modified (in its latest asset version) on or after the selected date.

29

CKM-1761

Icon improvements

Various icons have been improved or added for this release:

  • Rework Log off icon

  • Rework the Add “+” icon that scales better

  • New “Update” icon for use in Remote Archetype Import Panel

  • Archetype from Remote icon converted to SVG to avoid having various differently sized icons with insufficient rendering in small.

  • Subdomain icon simplified and converted to SVG to avoid having various differently sized icons with insufficient rendering in small.

  • Rework validation icon as SVG and to better differentiate it from a generic warning icon in CKM, use a shield with an exclamation mark in it.

  • Rework Classification “tick-box” icon as SVG: Better colour contrast for some themes (similar to the related resources green).

  • Rework Change Requests / To Do list icon: New SVG icon with a minor tick and change colour to blue for better visibility in some themes.

30

CKM-1766

Make projects and subdomains crawlable

Projects and Subdomains should be crawlable in a similar way to archetypes, templates and projects so that they can be picked up by search engines.

This is deemed to be of particular importance for remote subdomains because cross-linking typically increases the importance.

31

CKM-1776

Remote Archetypes Import/Update Panel: Various additional improvements

In addition to the many other improvements and additions to the remote archetypes import process in this release, the following additional improvements have been made:

  • Rework the layout of the display of each archetype (Floating icon, two lines, separator dotted line between each archetype, rename current revision to “imported revision” for clarity.

  • Ability to open the local (as well as the remote) archetype from all warnings that an archetype with the same archetype id exists already in the local CKM.

  • Improve project filter to deal correctly with the edge case of remote archetypes that have changed the archetype id. Previously, such archetype would not reappear when the filter is removed again. Cp. CKM-1737: Remote Archetypes Import/Update Panel: Ability to filter by project.

  • Add Major version, Minor version and Patch labels to indicate the type of change between the currently imported version and the latest and latest published version from the remote CKM.

  • Use Collapsible panel for the filter options and finetune display.

  • Add Filter icon to Filter button.

  • Add new icons to the New and Updated archetypes panels.

  • Do not show a comparison option for the latest published revision if it is identical to the currently imported revision (but a more recent latest revision exists).

  • Move the Select and Deselect buttons to a toolbar at the bottom of the Updated and New archetypes panels.

  • Only show the Demographic archetype select and deselect buttons if there is at least one in either updated or new archetype panels, for consistency

  • Harmonise and finetune some column widths.

  • Increase maximum width of the drop down list of the remote subdomain select box to fit longer CKM names + URLs.

  • Finetune vertical alignment of resource status icon and name as well as the comparison icon and name.

Under the hood, the following changes have supported this:

  • Extend with a Tooltip and use GWTLabelledDatebox for the Date Filter.

  • Extend the GWTLinkPanel used to create the links to be able to properly center align using a flex layout.

  • Many Code and comment improvements, cleaning up and streamlining.

  • Add German translations.

32

CKM-1786

WCAG Level AA: Add title tags for initial iframes

To improve accessibility and improve compliance with WCAG Level AA, title tags have been added to two two iframes in the loading html.

33

CKM-1787

Remote Archetypes Import/Update Panel: If no semantic version exists for the imported version, visualise this

In the remote archetypes import and update panel, if no semantic version exists for the imported version, this should be visualised with a tag similar to “minor revision”, “major revision” “patch” next to the imported version: “Semantic Version: N/A”.

This only occurs for archetypes that have been unchanged for many many years before semantic versions were introduced to CKM archetypes.

This is to provide a clear indication that this archetype should be updated.

34

CKM-1788

WCAG Level AA: Fix missing, empty or double form labels causing a WCAG AA validation error as e.g. used by Checkboxes and Focus panels

To improve accessibility and to improve compliance with WCAG Level AA, any form labels that are missing, empty or duplicated have been fixed.

For example, the check boxes used may have empty or missing form labels. In combination with a tool tip or when the label is rendered after the checkbox itself, there may be a second (empty) label - thus causing two validation errors.

Note that current FocusPanels internally use an <input> tag accompanied by an aria-hidden attribute but do not have a form label. Since this is aria-hidden, this should not matter and has not been changed, even though not all validators recognize this accordingly.

Errors

Missing form label

What It Means

A form control does not have a corresponding label.

Why It Matters

If a form control does not have a properly associated text label, the function or purpose of that form control may not be presented to screen reader users. Form labels also provide visible descriptions and larger clickable targets for form controls.

How to Fix It

If a text label for a form control is visible, use the <label> element to associate it with its respective form control. If there is no visible label, either provide an associated label, add a descriptive title attribute to the form control, or reference the label(s) using aria-labelledby. Labels are not required for image, submit, reset, button, or hidden form controls.

The Algorithm... in English

An <input> (except types of image, submit, reset, button, or hidden), <select>, or <textarea> does not have a properly associated label. A properly associated label is:

  • a <label> element with a for attribute value that is equal to the id of a unique form control

  • a <label> element that surrounds the form control, does not surround any other form controls, and does not reference another element with its for attribute

  • a non-empty title attribute, or

  • a non-empty aria-labelledby attribute.

35

CKM-1789

Break overly long paths in Comparison Panels

Overly long paths were not broken into multiple lines in the Comparison Panels.

This is particular relevant for some very long path in the OPT Comparison Panel where this is destroying the table structure.

Very large paths (and words) should be broken into multiple lines if required at forward slashes .

36

CKM-1790

Comparison Panel: Harmonise the display of the semantic version change using a coloured tag

Harmonise the display of the semantic version change (“Major Revision”, “Minor Revision”, “Patch”) using a coloured tag. This is both for the overall compatibility as well as for each individual change.

 

37

CKM-1792

WCAG Level AA: Avoid Buttons and ToolbarButtons without text or provide an alternative text

To improve accessibility and increase compliance with WCAG Level AA, Buttons without Text should either be avoided or an alternative text should be provided via an ARIA label.

This includes changes to for example, buttons in the main panels of all resources, projects and subdomains.

38

CKM-1795

Comparison Panels: Display the Translation Language of changes in client language where possible in addition to the ISO language code

In the archetype comparison panels, CKM now displays the Translation Language of changes in the client language (where possible) in addition to the ISO language code.

For example:

The archetype has translations changes for: German de, Italian it

instead of the previous slightly confusing

The archetype has translations changes for: de, it

39

CKM-1801

Visualise the difference between archetypes referenced from remote or referenced from another (local) project/incubator in the Project Resources View

With increased governance, it is sometimes important to be able to clearly and easily differentiate whether an archetype is

  • owned by the project/incubator,

  • referenced from another (local) project or incubator, or

  • referenced from a remote CKM instance.

This is especially relevant in the following places:

  • Left hand explorer: As soon as a project or incubator is selected, it is currently only possible to differentiate local and remote references by hovering over it to display the tooltip.

  • Project Dashboard, Project Resources and Project Hierarchy Views where it so far has not been possible to differentiate between referenced from remote or referenced from local project/incubator.

As a first step, this issue tackles the Project Resources View as available from e.g. Resources of Project Common Resources, International Clinical Knowledge Manager

In this Project Resources View, the remote (@) icon is displayed in the Owned column as applicable and a tooltip has been added for the three states:

  • owned = tick icon,

  • remote = remote @ icon,

  • referenced from another local project = empty.

40

CKM-1802

Display shortened "Reason for Checkout" freetext in the branch title

In the resource revision history, the checkout reason introduced as part of CKM-1164: Add a "Reason for Checkout" freetext when checking out a branch should be displayed as part of the branch title. This is especially important if the branch is active and has not been committed yet.

Because the reason for checkout can potentially be quite long, only a shortened version should be displayed in the title, using “…” to cut it off so that it does not usually take more than one line.

For legacy reasons, if the reason for checkout is just a localisation of “new branch”, we don’t display this in the title as it is not very useful. Likewise for the old (up to approx. 2017) default message of “Branched archetype created by checking out the archetype.“ (or templates and termsets, respectively).

The complete reason for checkout is displayed as the “Log message” in the same way as the log message has always been displayed.

This issue also includes some finetuning of the visuals of title of the branch, so that where possible only one line is used for the branch name (user name) and the revision number and version, for example using a tag for the revision number and semantic version.

 

41

CKM-1805

Present the LATEST PUBLISHED revision as a green tag in the revision history

Present the Revision tag for the LATEST PUBLISHED revision as a “published” green tag in the revision history.

Especially, in the Development View of the revision history, this improves the way the published vs. more recent but unstable or previous revisions can be differentiated.

Also make the individual revision boxes slightly wider to accommodate sufficient space for slightly longer names without requiring a line break.

42

CKM-1806

Finetune shortening algorithm to consider line breaks as a word boundary to ensure that the "reason for checkout" is not shortened more than necessary

CKM-1802: Display shortened "Reason for Checkout" free text in the branch title adds a shortened “Reason for Checkout” to the always visible title of the corresponding element in the Revision History.

If the reason for checkout (log message) has a line break, this was not considered as a word boundary for shortening and may have caused the reason for checkout to be shortened more than necessary.

43

CKM-1810