CKM Release 1.19.0
Release Date: August 2023
Deployments: Starting late August 2023
- 1 Summary of Changes
- 1.1 Enhancements to the Federation of CKM Instances
- 1.2 Crawlability and Direct Link Enhancements
- 1.3 Social Media Sharing Enhancements
- 1.4 Revision History Improvements
- 1.5 Review Round Tweaks
- 1.6 Improving Accessibility by Increasing Compliance with WCAG Level AA
- 1.7 Subdomain and Project Enhancements
- 1.8 Miscellaneous Enhancements and Updates
- 2 Detailed List of Changes
- 3 New & Improved Functionality (85 issues)
- 4 Bug Fixes (50 issues)
- 5 General Tasks / Under the Hood (20 issues)
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
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
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
The full path within the git repository needs to be constructed considering
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.
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. 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:
|
| 8 | CKM-1590 | Support REST-like URLs for direct links to discussions | In CKM 1.18.0 there are direct links like for example:
These links should be REST-like, e.g.
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:
|
| 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: |
| 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:
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.”:
|
| 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/overviewExisting customers that use CKM’s twitter functionality, therefore must follow these steps:
|
| 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:
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:
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.
Do this in a similar way as we currently have this already for archetypes used in templates, e.g.https://ckm-dev.oceaninformatics.com/ckm/templates/1013.26.571/relatedresources For example:
|
| 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
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:
|
| 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 For further ARIA roles and explanations refer to: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles |
| 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
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
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
|
| 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:
|
| 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:
|
| 29 | CKM-1761 | Icon improvements | Various icons have been improved or added for this release:
|
| 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:
|