Skip to content

Releases: NatLibFi/Skosmos

Skosmos 3.0-alpha.2

26 May 12:43
Compare
Choose a tag to compare
Skosmos 3.0-alpha.2 Pre-release
Pre-release

This is the second alpha release of Skosmos 3.0 that provides an early peek into the upcoming final 3.0 release. It is mainly intended for Skosmos users who want to plan ahead for the 3.0 release. You can use it to test how Skosmos 3 works with your vocabulary and how to set it up on local infrastructure.

Compared to the first alpha release, this release contains fixes to the layout and improvements to the tests and plugin infrastructure.

The next release is going to be Skosmos 3.0-beta.1, due to be released in September 2025. There will be another beta release in October, followed by the Skosmos 3.0 release by the end of the year 2025.

What's Changed

  • Narrower container for landing & other global page types by @osma in #1787
  • Upgrade to Fuseki 5.4.0 in Skosmos tests and containers by @osma in #1788
  • Global Search twig-template by @joelit in #1758
  • Set max width for topbar and headerbar by @osma in #1791
  • New plugin infrastructure for Skosmos 3.0 by @UnniKohonen in #1790

Full Changelog: v3.0-alpha.1...v3.0-alpha.2

Skosmos 3.0-alpha.1

20 Mar 12:27
78e83dc
Compare
Choose a tag to compare
Skosmos 3.0-alpha.1 Pre-release
Pre-release

This is the first alpha release of Skosmos 3.0 that provides an early peek into the upcoming final 3.0 release. It is mainly intended for Skosmos users who want to plan ahead for the 3.0 release. You can use it to test how Skosmos 3 works with your vocabulary and how to set it up on local infrastructure.

There are many changes in Skosmos 3 compared to earlier 2.x releases. The front-end layer has been completely reimplemented using frameworks such as Bootstrap 5 and Vue.js 3, making the code easier to maintain. The new user interface provides roughly the same functionality as Skosmos 2, but with a fresh visual style, improved accessibility and automated Cypress front-end tests. The PHP back-end code, including the REST API, remains mostly the same as in Skosmos 2, though with updated dependencies and more emphasis on consistent code style. More information about the goals of Skosmos 3 and the technical implementation can be found in the Skosmos 3.0 Architecture. You can also watch the ISKO UK webinar presentation What's New in Skosmos 3 for an overview of the changes.

How to test this release

If you want to try out Skosmos 3 without installing it yourself, you can visit the public test instance at https://test.dev.finto.fi/ . This instance is tracking the main branch, so it is always up to date w.r.t. the current development version of Skosmos 3.

You can also install it for yourself. There is no install tutorial yet specifically for Skosmos 3, but you can follow the general InstallTutorial, but checkout the Skosmos code either from the main branch or the v3.0-alpha.1 tag that points specifically to this alpha release. However, you should use PHP version 8.1, 8.2 or 8.3. In addition to installing the Composer dependencies for the PHP back-end, you will also need to install the front-end dependencies using npm install.

Alternatively, you can use the Dockerfile to build and run a Docker image of Skosmos 3. See the Docker install instructions.

What is implemented, what is missing?

Skosmos 3 development is organized thematically using Epic-style issues. Each Epic describes the requirements for an important part of the functionality. Below, each Epic is listed with a summary of the completed requirements as well as the most important functionality that is still missing in this alpha release.

Page types

Landing Page #1480

  • Implemented: Basic multi-vocabulary layout and functionality
  • Missing functionality:
    • Single vocabulary layout
    • Customizable content boxes
    • Customizable logo

Vocabulary Home Page #1482

  • Implemented: Basic layout and functionality
  • Missing functionality: Many details and edge cases

Concept Page #1484

  • Implemented: Basic layout and functionality, mappings component
  • Missing functionality:
    • Language tags always shown when explicit language tags are configured
    • Special support for deprecated concepts
    • Tooltips for property labels

Search Results Page #1481

  • Implemented: Basic search result listing for vocabulary search
  • Missing functionality:
    • Waypoints-style loading of more results
    • Filtering of search results using different criteria
    • Global search results page

About Page #1748

  • Implemented: Very basic static About page
  • Missing functionality:
    • Customizable content
    • Layout still needs work

Feedback Page #1749

  • Implemented: Basic layout and functionality
  • Missing functionality:
    • Length limits for feedback form
    • Option to disable Feedback page
    • Accessibility improvements

Header and Footer #1740

  • Implemented: Very basic header and footer
  • Missing functionality:
    • Layout still needs work
    • Tooltips
    • Better accessibility
    • Customizable logo

Search functionality

Vocabulary Search Bar #1514

  • Implemented: Basic layout and functionality, autocomplete
  • Missing functionality:
    • Caching for autocomplete
    • Search tips

Global Search Bar #1489

  • Implemented: Nothing yet in this release, but development is ongoing.

Sidebar and tabs within it

Sidebar #1747

  • Implemented: Basic functionality
  • Missing functionality:
    • Focus and hover handling
    • Accessibility: screen reader support & keyboard navigation

Alphabetical View Sidebar Tab #1563

  • Implemented: Basic functionality, dynamic loading of new content, partial page loads
  • Missing functionality:
    • Full alphabetical index (for small vocabularies)

Hierarchical View Sidebar Tab #1521

  • Implemented: Basic functionality, partial page loads
  • Missing functionality:
    • Showing concept schemes in hierarchy (for vocabularies with multiple concept schemes)
    • Highlight concepts from outside the vocabulary

Groups View Sidebar Tab #1704

  • Implemented: Basic functionality, partial page loads
  • Missing functionality:
    • Showing notation codes in group hierarchy
    • Showing member concepts if the group contains subgroups on the same level

New and Deprecated Sidebar Tab #1735

  • Implemented: Basic layout and functionality
  • Missing functionality:
    • Fallbacks when concept labels are not available in the right language
    • Showing notation codes in the New and Deprecated list

Infrastructure / general

Translation Infrastructure #1712

  • Implemented: Basic functionality for translating UI messages and managing translations on Lokalise
  • Missing functionality:
    • UI translations to most languages are out of date because the codebase has changed a lot

Plugin Support #1751

  • Implemented: Nothing yet, plugin support still needs to be designed and implemented!

CSS/Style #1752

  • Implemented: Basic stylesheets
  • Missing functionality:
    • Theming / color scheme support
    • Checking for redundant or unused CSS rules

Mobile Layout #1753

  • Implemented: Not much yet, though the most important pages have a responsive layout

Search Engine Optimization #1533

  • Implemented: Basic HTML title and description metadata
  • Missing functionality:
    • Update HTML metadata elements after partial page load

Next steps

This first alpha release of Skosmos 3 will be followed by more releases:

  • 3.0-alpha.2 to be released in May 2025
  • 3.0-beta.1 to be released in August 2025
  • 3.0-beta.2 to be released in October 2025
  • Final 3.0 to be released in December 2025

For more details, see the Roadmap.

Note that some Skosmos 3 features, for example customization and plugin support, will likely not be completed by the time of the Skosmos 3.0 release; their development will continue in subsequent 3.x releases in 2026.

For a full list of changes between 2.x and this release, see the list of issues and PRs in the 3.0-alpha.1 milestone.

What's Changed

  • Permit GitHub Actions CI to write Packages, needed for php-build caching by @osma in #1290
  • drop useless SKOSMOS_VERSION build arg from Dockerfile by @osma in #1293
  • Update to Bootstrap 5 by @kinow in #1182
  • drop unused URI.js dependency by @osma in #1300
  • Fix typeahead and handlebars template. by @kinow in #1303
  • Updated Handlebars v4.7.6 -> v4.7.7 by @joelit in #1305
  • Fix font color and size after Bootstrap 5 upgrade by @osma in #1304
  • Sanitize language switching URLs by @osma in #1307
  • Store current Skosmos version in composer.json by @osma in #1308
  • Use copy to clipboard icon from Font Awesome Free set by @osma in #1309
  • fix font size of autocomplete entries after Bootstrap 5 upgrade by @osma in #1310
  • add Latvian translation by @osma in #1313
  • Upgrade to PHPUnit 9, drop PHP 7.2 support by @osma in #1312
  • fix 'Any language' choice in language selection menu by @osma in #1315
  • Use explicit $.parseHTML() to avoid JS syntax error by @osma in #1316
  • provide translations for skosmos:marcSourceCode by @kouralex in #1187
  • Fix sidebar search, post bootstrap by @kinow in #1314
  • use Font Awesome fonts for icons by @osma in #1319
  • Fix SKOS-XL tooltips by @joelit in #1317
  • Create SECURITY.md by @joelit in #1318
  • minor CSS tweaks after Bootstrap 5 update by @osma in #1321
  • Modify checklist in PR template by @osma in #1322
  • Fix typeahead templates in the search auto-complete by @kinow in #1326
  • Fix highlighting of the New tab after Bootstrap 5 upgrade by @osma in #1328
  • Avoid introducing extra whitespace around literal values on the concept page by @osma in #1330
  • Update translations from Transifex by @osma in https://github.co...
Read more

Skosmos 2.18.1

01 Oct 11:18
Compare
Choose a tag to compare

This is a patch release that fixes problems building the Docker container for Skosmos 2. In the 2.18.0 release, support for PHP 7.4 was dropped, but the Dockerfile in 2.18.0 was still using PHP 7.4, so it didn't work. In this release, the Docker base image has been upgraded to Ubuntu 22.04 which includes PHP 8.1, making it work again. Credit to @matthew-morris-cessda for quickly reporting the issue after the 2.18.0 release.

Bug fixes

  • #1678/#1680 Skosmos 2 Docker: upgrade to Ubuntu 22.04 base image and PHP 8.1

See the upgrade instructions in the wiki for information about upgrading from earlier versions.

Skosmos 2.18

05 Sep 10:22
Compare
Choose a tag to compare

This is a minor version release (2.18) of Skosmos which contains several bug fixes as well as improvements to search engine and social media sharing metadata. There are also updated to the UI translations in Latvian, Norwegian Bokmål and Norwegian Nynorsk.

Due to the EasyRdf upgrade, we had to drop support for PHP 7. From now on, Skosmos 2 only works on PHP 8.0 and 8.1. Skosmos 3 will support more modern PHP versions.

We already said this for 2.17, but this will most likely be the final release in the Skosmos 2 series, unless serious bugs are discovered. Current Skosmos development is focused on Skosmos 3.

Enhancements

  • #1666 SEO functionality backport for skosmos 2

Bug fixes

  • #1574/#1575 don't perform HTML escaping for server constants to avoid breaking alphabetical index for diacritics
  • #1621 Make LOC HTTP prefLabel header parsing case-insensitive
  • #1635/#1673 Fix Skosmos 2 deprecated concept pages (bool value causes crash)
  • #1672 Fix Skosmos 2 Twig syntax error on search result page
  • #1671 Upgrade EasyRdf to fix Turtle fragment URIs
  • #1664 Fix flaky getResourceFromUri test by increasing httpTimeout
  • #1676 Avoid showing SEO/metadata description on vocab home page

Translation updates

  • #1663 Update Latvian (lv) translations from Transifex (credit: @CaptSolo)
  • #1662 Update Norwegian (nn, nb) translations (credit: @olufine)

See the upgrade instructions in the wiki for information about upgrading from earlier versions.

Skosmos 2.17

05 Dec 12:41
Compare
Choose a tag to compare

This is a minor version release (2.17) of Skosmos which contains numerous bug fixes, miscellancelous enchancements, and improvements for running Skosmos under Docker. There is also an update to the UI translation in French, Spanish, English and Northern Sámi. Special thanks for active community contributions for this release!

This will most likely be the final release in the Skosmos 2 series, unless serious bugs are discovered. Current Skosmos development is focused on Skosmos 3.

Enhancements

  • #1380 Autocomplete to support distinguisher labels in case of shared preferred labels (credit: @kouralex)
  • #1377/#1383 Avoid slow HTML parsing in hierarchy sort function
  • #1385 Add support for PHP 8.1 (credit: @kouralex)
  • #1415 Update Fuseki Docker (credit: @nichtich)
  • #1419 Enhance the feature request template with additional instructions
  • #1477 Use Apache Jena Fuseki docker image (credit: @kinow)
  • #1512 Top-level docker-compose.yml (credit: @namedgraph)
  • #1557 Implement max length for input fields on the feedback page (credit: @rvdwxl)

Bug fixes

  • #1343/#1568 Avoid showing vocabulary modified timestamp on concept page when the concept doesn't have a specific modification date
  • #1408/#1409 Skosmos crashes silently on missing void:uriSpace (credit: @nichtich)
  • #1423 fix conversion of DateTime to string in getContainsHtml
  • #1453/#1455 UI language negotiation fix (credit: @namedgraph)
  • #1457 Fixes and unit tests for UI language detection
  • #1529 Show deprecated concepts without replacement in change list
  • #1559 fix guessVocabularyFromURI when some vocabulary has no URI space
  • #1389/#1425 SKOSXL labels displayed multiple times (credit: @henriyli)
  • #1567 Fix feedback form limit php81 deprecation warning

Code quality and tests

  • #1394 CI builds are failing due to dubious ownership in repository at '/app' (credit: @kouralex)
  • #1397 Fix running git commands in CI tests under GitHub Actions
  • #1553 Harden JSONP callback filter

Translation updates

  • #1424 update German & Northern Sámi translations + English language template
  • #1536/#1569 update Spanish UI translations (credit: Meron Ewketu)
  • #1569 update French UI translations (credit: plecor)

See the upgrade instructions in the wiki for information about upgrading from earlier versions.

Skosmos 2.16.1

23 Mar 13:33
Compare
Choose a tag to compare

This is a minor patch release (2.16.1) of Skosmos which contains some bug fixes as well as updated UI translations for German and Northern Sámi languages.

Bug fixes

  • #1377/#1383 Opening the hierarchy for a concept takes a long time
  • #1423 Fix conversion of DateTime to string in getContainsHtml
  • #1408/#1409 Don't crash on incomplete vocabulary configuration (credit: @nichtich)

Translation updates

See the upgrade instructions in the wiki for information about upgrading from earlier versions.

Skosmos 2.16

06 Oct 11:48
Compare
Choose a tag to compare

This is a minor version release (2.16) of Skosmos which contains significant upgrades to jQuery and many other JavaScript libraries, some of which were removed and replaced with plain CSS rules. There are important bug fixes to the search functionality and SKOS XL support. Some layout regressions caused by the Bootstrap upgrade in Skosmos 2.15 were corrected. There is also a new UI translation in the Northern Sámi language.

Enhancements

Bug fixes

  • #1333/#1332 Concept-specific REST method groupMembers is missing an URI parameter in the swagger documentation (credit: @danmichaelo)
  • #1345/#1354 Fixes setting the language and the vocabulary on the global search box
  • #1346/#1356 Graceful handling of partial SKOS XL data for concept labels
  • #1355/#1357 "show all X paths" message misplaced when concept has many paths (credit: @kinow)
  • #1362 fix display of DC properties in reified property value tooltips
  • #1367/#1369 Modify counting for search limit in typeahead (credit: @kinow)

Code quality and tests

  • #1286/#1359 Refresh contributing guidelines documentation
  • #1358 Add failure message explaining how to fix Composer/git version mismatch
  • #1365 Remove unneeded jQuery UI dependency

Translation updates

See the upgrade instructions in the wiki for information about upgrading from earlier versions.

Skosmos 2.15

02 Jun 13:28
Compare
Choose a tag to compare

This is a minor version release (2.15) of Skosmos that brings several updates to the frontend with a significant upgrade to Bootstrap 5 and minor updates to third-party JS libraries. The Bootstrap 5 update causes many changes to the HTML and CSS structure and necessitated many subsequent fixes that are also included in this release. Users with heavily customized Skosmos installations will need to review their CSS styles and adapt them for this release. The old Bootstrap 3 version included Glyphicons, which are no longer available with an open license; this release instead includes the similar Font Awesome Free icon set.

The test environment has been updated to PHPUnit 9 for better compatibility with latest PHP versions. Support for PHP version 7.2 has been dropped, since PHPUnit tests are no longer working on that version. The code in this release should still work on PHP 7.2 but we cannot offer any guarantees going forward. The support for SKOS-XL labels has been improved and a brand new Latvian translation of the UI has been added.

Enhancements

Bug fixes

  • #1301/#1303 Autocomplete problems after Bootstrap 5 upgrade (credit: @kinow)
  • #1311/#1314 Fix sidebar search after Bootstrap 5 upgrade (credit: @kinow)
  • #1304/#1310 Fix font size issues after Bootstrap 5 upgrade
  • #1321 minor CSS tweaks after Bootstrap 5 upgrade
  • #1326 Fix typeahead templates in the search auto-complete (credit: @kinow)
  • #1328 Fix highlighting of the New tab after Bootstrap 5 upgrade
  • #1315 fix 'Any language' choice in language selection menu
  • #1289/#1307 Sanitize language switching URLs
  • #1270/#1316 JavaScript error on hierarchy sort
  • #1167/#1187 provide translations for skosmos:marcSourceCode
  • #1263/#1317 Popup fo SKOS-XL labels not always populated
  • #1330 Avoid introducing extra whitespace around literal values on the concept page

Code quality and tests

  • #1288/#1290 GitHub Actions CI tests failing on PHP 7.x
  • #1293 Drop useless SKOSMOS_VERSION build arg from Dockerfile
  • #1297/#1300 Drop unused URI.js dependency
  • #1269/#1305 Upgraded Handlebars to v4.7.7
  • #1255 Document default values for vocabulary-specific configuration settings in the wiki
  • #1322 Modify checklist in PR template

Translation updates

See the upgrade instructions in the wiki for information about upgrading from earlier versions.

Skosmos 2.14

10 Mar 13:38
58b4b20
Compare
Choose a tag to compare

This is a minor version release (2.14) of Skosmos. This release brings support for PHP 8.0, improves handling of plugins and improves logging when running under Docker. There are bugfixes related to the handling of "0" as a search string and to the display of concept types in search results. Some dependencies are upgraded, including the Twig template engine and the Jena Fuseki triple store used for unit tests.

Enhancements

Bug fixes

  • #1254/#1284 Concept types in the search box are shown as URIs, not labels
  • #1260/#1261/#1267 Fix vocabulary search using "0" as the search string (credit: @kinow)
  • #1275/#1276 Searching via API using the search term '0' without asterisk (0*) fails (credit: @kinow)
  • #1262/#1271/#1280 Allow plugin robloach/component-installer and update Twig to 2.14 (credit: @janvanmansum)
  • #1278 Added the possibility to define parameter plugins outside of the ordered plugin list

Code quality and tests

  • #1273 Upgrade to newest Fuseki 4.4.0 for running unit tests
  • #1277 Enable GitHub Actions CI runs for pull requests from forks
  • #1282/#1283 Reformat JSON strings in RestControllerTest

See the upgrade instructions in the wiki for information about upgrading from earlier versions.

Skosmos 2.13

08 Dec 14:07
5b9a75c
Compare
Choose a tag to compare

This is a minor version release (2.13) of Skosmos that brings accessibility and theming improvements. Labels and tooltips for concept properties can now be overridden in the configuration file. Docker builds are now faster. There are numerous bug fixes and minor improvements to code quality. We are thankful for the large number of contributions we received from the international Skosmos user community!

Enhancements

  • #1222/#1223 Accessibility improvement: Remove hardcoding of allcaps label styling, move to CSS (credit: @schlawiner)
  • #1165/#1233 Show newly deprecated concepts in the new concepts list
  • #1201 Make it possible to define order of plugins in configuration (part of #1148)
  • #1226 Theming Enhancement: Extract and consolidate colors, create css variables (credit: @schlawiner)
  • #1235 Faster docker build (credit: @pulquero)
  • #806/#1244 Custom labels and tooltips for properties in concept view

Bug fixes

  • #1221/#1227 Fix hierarchy js error for special characters in prefLabels (credit: @schlawiner)
  • #1234/#1258 Fix language switcher "eating" part of vocids that end in a langcode (credit: @schlawiner)
  • #1170/#1231 Avoid uncaught fatal errors in REST API if vocabulary ID not found
  • #1184/#1239 Searching with decomposed unicode characters
  • #1238/#1241 Remove float property of reified property element (credit: @kinow)
  • #1109 Hierarchy tab looking all funny (was already fixed in Skosmos 2.12)

Code quality and tests

  • #1124 Add pull request template
  • #1249 Remove PHP 8 from build matrix to avoid hanging CI jobs

Translation updates

  • #1256 Update translations from Transifex for Skosmos 2.13 release
  • #1181/#1237 Change the message shown for deprecated concepts
  • #1225 German translation updated (credit: @schlawiner)
  • Brazilian Portuguese translation updated (credit: Pedro Paulo Favato Barcelos)

See the upgrade instructions in the wiki for information about upgrading from earlier versions.