-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New configuration file format to replace config.inc #738
Comments
I'm used to YAML for several SpringBoot projects, Ansible, some AWS stuff, and even PHP Symfony projects. Happy to use .inc and JSON too. But what I like the most about YAML are: i) comments are easy There're also great libraries for YAML validation such as SnakeYAML and also for search/query like JMESPath (learned it after debugging an issue in aws-cli). Just my 0.02 cents |
Thanks @kinow for your comments! Now that you mentioned comments, I think that's one good reason to prefer YAML over JSON. So the contenders are PHP .inc and YAML. |
@kinow Any pointers to a YAML based configuration file with an include mechanism? |
I'm more familiar with Laravel, but lately have been learning Symfony at work. So the first one that came to my mind was Symfony YAML configuration: https://symfony.com/doc/current/service_container/import.html Look at the But shouldn't be very complicated. Here's another example, now a module just for configuration (never used it tho): https://github.com/awurth/PHP-Config And this package https://packagist.org/packages/pragmarx/yaml has some interesting features that could be handy. Alas I couldn't find a good library for PHP, generic enough so that it would be easy to integrate into Skosmos. I believe you will have to grab bits and pieces from the PHP Yaml module, plus examples/snippets from some libraries like these with compatible license, and create a Skosmos configuration parser :-/ Hope that helps |
How about config.ttl? For instance
I'm a big fan of YAML but Skosmos is configured in Turtle syntax anyway so why add another syntax? |
I'm OK with Turtle too.
I believe this is partly right? You have the vocabulary config... but also a config.inc? Which points to the vocab config file location if I remember well... I think this issue is to replace that other config file. But making everything Turtle could be an intetesting option. I had had to compare JSON, INI, XML, YAML, and other formats. But never compared any of these with Turtle. So definitely interested in what others think about it. |
Great idea @nichtich ! As @kinow said the original idea was to replace the current Then the configuration could also be kept in a triple store, as somebody requested a while ago. Another idea would be to support |
I think we still need to define how the configuration will be modelled with turtle then. Maybe something like
Or we could have something like
And try to have subClasses as sections. Which I think would overcomplicate, and possibly reduce performance as PHP would have to re-evaluate it constantly, or cache it. Not too fluent nor used to model many classes like these, so let me know if it is way off of a possible solution :-) no hard feelings. Cheers ps: loading the first example, the following query would expand most blank nodes
The languages were actually a variable in the configuration file, holding a PHP array. We can try to expand it too, or just leave it to be done programmatically with EasyRDF... |
Oh, and not too sure about importing vocabularies.ttl. Easier to see how it would work once the first part which loads the new |
@kinow That's a good start! But I think it can be simplified. First of all let's think of the whole Skosmos configuration (global + vocabularies) as a single RDF graph. We can later think about using owl:imports or some other mechanism to construct that graph from multiple files (or URLs) if necessary, but let's put that aside for a moment and assume it's just a single file with a well-known file name, say For the other settings, most of them are just a single value, so the blank node with There could be two RDFS/OWL classes, let's say |
So something more like this?
|
@osma updated the query... not so familiar with lists/collections in RDF/Turtle, so hopefully this version would return the languages in order? Will wait a bit more to see what @nichtich thinks about it before starting to code. 🎉 By the way, in the beginning I wasn't sure how it would look... but now after looking at this version, and comparing with what I had in mind for YAML... I think I prefer this version :-) |
@kinow Actually EasyRdf doesn't contain a SPARQL engine, so if the configuration is stored in a file that's parsed by EasyRdf, the graph has to be navigated using the EasyRdf API, not SPARQL. VocabularyConfig already does that for vocabularies defined in |
@osma that's what I had in mind too. My initial idea is to modify GlobalConfig.php, keeping all methods, but changing the constructor to handle a ... Keeping the GlobalConfig object and its methods, I think the impact in the rest of the code would be minimum. Still need to consider whether the GlobalConfig object will parse/load the vocabularies, or if that'll be kept in the Model object. Horrible weather here, and Queen's Birthday holiday next Monday. Might spend most of the time this coming long weekend having fun with Skosmos, RDF, Jena, EasyRDF, etc 🎉 |
…files. The cache that was created in the Model instance, now was moved to the GlobalConfig, but is still accessed from Model to add entries looked up. There is no more need of a separate .ttl file for vocabularies, as it is now part of the configuration file. Old files were removed. In order to maintain backward compatibility, most methods of GlobalConfig and of VocabularyConfig were maintained as-is. With internal changes to re-route requests to the right RDF objects. Tests were minor updates in tests, but only to replace .inc by .ttl or fix coverage annotations.
And now we have some working code to review & discuss ! 🎉 |
The cache that was created in the Model instance, now was moved to the GlobalConfig, but is still accessed from Model to add entries looked up. There is no more need of a separate .ttl file for vocabularies, as it is now part of the configuration file. Old files were removed. In order to maintain backward compatibility, most methods of GlobalConfig and of VocabularyConfig were maintained as-is. With internal changes to re-route requests to the right RDF objects. Tests were minor updates in tests, but only to replace .inc by .ttl or fix coverage annotations.
#769 merged and mentioned this on the Upgrading page in the wiki. All done until 2.0 release time. |
* adding limited support for showing skosxl:prefLabels * Exploding on whitespace _after_ urldecoding the request parameter value Use UNION when building SPARQL search conditions on schemes Added unit test for multiple scheme query use implode * Added SPARQL query to query for super properties of a property * Used graph-agnostic queries through default endpoint to retrieve label and superproperty of a property. * Fixed call to Namespace.shorten(). Added types to property declarations in test files. * Issue 666 - squash commits (#8) * Added preferredVocabUri parameter to Model::guessVocabularyFromURI() * Added preferredVocabUri parameter to Model::guessVocabularyFromURI() * Comment just to have one additionnal commit * Compared vocab on IDs rather than URIs * Add the preferred vocabulary parameter when calling guessVocabularyFromURI * Comments * 1. Ability to fetch and return dct:subject of ConceptSchemes in the list of Concept schemes. 2. Ability to fetch and return multiple concept schemes for which a concept is a top concept in the parent hierarchy (new 'tops' key in the JSON-LD result) * skos-xl labels should now work * fixing the preflabel right pad * fixing the unit tests * fixing the skosxl qtips not appearing after ajaxing content, related to NatLibFi#533 * removing unused ?member variable, fixes NatLibFi#655 * moving mapping concept notations inside the a element, related to NatLibFi#623 * Read property label from current vocabulary before querying the default graph * updating the composer dependencies before 1.10 release * Look for property label and superproperties in the current EasyRdf Model rather than making another SPARQL query. * Use locale-based sort to sort values in concept page * initializing the superprops variable as an empty array * pulled files from master * Issue NatLibFi#665 Remove SERVICE_LOGO old constant and related code * Add Jena Fuseki to gitignore * updating composer packages, related to NatLibFi#684 * running travis with php 7.0, related to NatLibFi#684 * migrating to phpunit 6, related to NatLibFi#684 * moving to new codeclimate reporter * removing copypaste error * updating the mockery package, related to NatLibFi#684 * moving old dependencies to composer, related to NatLibFi#684 * loading the remaining dependencies that were not managed by composer as a composer package, related to NatLibFi#684 * Fix hard crash on missng skosxl:literalForm If skosxl:literalForm is missing on a label resource the $label variable remains uninitialzed and causes a hard crash * finished jsonld augmentation * cleaned code and added phpdoc * Implements CBD solution for blank nodes and adds reification nodes * refactored duplicate code * adding a configurable property that enables defining a priority for label fallback languages, related to NatLibFi#688 * improving the fallback language order feature, related to NatLibFi#688 * fixing the missing prefLabel language tag when showing a fallback label, related to NatLibFi#688 * adding a few tests for getLanguageOrder(), related to NatLibFi#688 * using the configurable fallback languages for the concept property value labels as well, related to NatLibFi#688 * using the skosmos:feedbackLanguages for the rest api hierarchy fallback, related to NatLibFi#688 * fixing missing lang parameter from a getLanguageOrder-call, related to NatLibFi#688 * code style cleanup: removing trailing whitespaces * whoops * Cleaned for PR and made tests * add build/ directory to .gitignore * fixes NatLibFi#690 * using the configurable fallback language for the REST API children function as well * filtering out hiddenLabels always when the concept has been found earlier, related to NatLibFi#690 * fixes NatLibFi#692 * applying a band aid for the broken mobile screen vocabulary info layout, related to NatLibFi#691 * recoded long URIs as shortened versions as requested * only querying for concept info when the search has found some results, related to NatLibFi#696 * fix NatLibFi#701 updates embedded json-ld data correctly * add language ordering to passed through variables to javascript * fixing wrong translations * using a more specific selector for the sidebar custom scrollbar * fixing a bug with displaying language codes for fallback labels * using the configured languages as fallbacks too * fixing false language tags sometimes appearing with mapping concepts * Issue NatLibFi#661 add a copy to clipboard button * Add Dutch translations by @mrvdries and @ismakutl. Fixes NatLibFi#710 * css for the copy button * fixes hard crash when collection doesnt return a label * adding a random fallback for the guessLanguage so the negotiator wont crash when the accept header has not been set * run Travis tests with newer Fuseki 3.6.0 * define Code Climate variable as global, separating it from matrix vars * Remove support for obsolete APC caching functions. Fixes NatLibFi#728 * Issue NatLibFi#712: display the concepts of the first letter available * Default to the first letter of the alphabet when no letter is selected. Fixes NatLibFi#712 * Add Dockerfile and a docker-compose to run SKOSMOS with Fuseki * Add Dockerfile container_name's * Add volume binding example in comments for Fuseki * Rename Skosmos docker-compose created container name to skosmos * Fixes NatLibFi#638 * fix constructor call due to previously done refactoring(?) * Run Travis tests also under PHP 7.1 and 7.2 * add checks to prevent sizeof() related warnings in PHP 7.2 * fix PHP 7.1+ build test by changing the name for error raised * Changed test fuseki port to 13030; upgraded test fuseki to 3.7.0; fixed PHP 7.2+ build test * allow tests to fail on PHP 7.2 due to JsonLD compatibility problems * expect different exceptions depending on PHP version (7.0 vs 7.1+) * adjust build matrix: test fuseki SNAPSHOT only on php 7.1, allow failures on 7.2 & fuseki SNAPSHOT * further adjust build matrix * specify PHP versions without quotes * adjust build matrix: only test fuseki SNAPSHOT on php 7.1 * bump Fuseki version to 3.7.0 also on Travis tests * move notifications to new NatLibFi Slack instance * Allow request input to be mocked * Refactor getQueryParamArray to always return array * Add additional fields to JSON-LD context for search endpoint If additional fields are requested using the 'fields' parameter, add them to the JSON-LD context. Note: This will break any implementation that relies on the 'skos:' prefix being part of the keys. * Add mapping relations to JSON-LD context * Add unit test for NatLibFi#744 / PR NatLibFi#756. Fixes NatLibFi#744 * Open all hierarchies when a concept is in multiple schemes. Fixes NatLibFi#765 * fix layout issue due to having a <p> element instead of <span> in skosxl display * Change feedback message headers to use Reply-To and make name and e-mail optional. Fixes NatLibFi#761 * Set the feedback email sender address properly when a vocabulary-specific recipient has been set. Fixes NatLibFi#761 * Add Arabic translation from Transifex. Fixes NatLibFi#767 * Fix Dockerfile by automatically answering yes to apt-get install locales * Issue NatLibFi#738 replace .inc configuration files by .ttl (turtle) files. The cache that was created in the Model instance, now was moved to the GlobalConfig, but is still accessed from Model to add entries looked up. There is no more need of a separate .ttl file for vocabularies, as it is now part of the configuration file. Old files were removed. In order to maintain backward compatibility, most methods of GlobalConfig and of VocabularyConfig were maintained as-is. With internal changes to re-route requests to the right RDF objects. Tests were minor updates in tests, but only to replace .inc by .ttl or fix coverage annotations. * Fix scrutinizer issues * Remove unused graph variable from Model * Use a list for skosmos:languages * add skosmos:globalPlugins example which was forgotten in PR NatLibFi#769 * Use RDFS properties for language settings. Fixes NatLibFi#772 * Fix test config for NatLibFi#772 * Replace PHP explode function call by a Turtle list for globalPlugins * Include unit test for new globalPlugins with list, and update distributed configuration file * Issue NatLibFi#771 config migrate tool * Replace exit() by exceptions, and fail earlier if invalid mode * Leave values not defined as comments * Fix search with double quotes * Upgrade Travis config to use newest Fuseki 3.8.0 * Use Fuseki 3.8.0 by default for tests * fix getVersion when on a branch with no tags available in recent history * use the dev.finto.fi SPARQL endpoint as default endpoint, to match vocab config * Disable Travis tests for Fuseki snapshot. There is no longer a Fuseki1 distribution snapshot we could use, after building it was disabled in JENA-1573. * updated German translations. Credit: Jonas Waeber * updated French translations. Credit: Thomas Francart * updated Polish translations. Credit: Łukasz Szeremeta * update translation files to match latest template; no actual changes in translations * Add translations for Farsi, by Omid Ghiasvand and Reza Ghiasvand. Still missing true RTL support (NatLibFi#768) * fixes NatLibFi#714 * sorting concept property values with natural case sort when sortByNotation is true, fixes NatLibFi#737 * Fixed the variable name notsort for a clearer sort_by_notation * Avoid double encoding of search query string. Fixes NatLibFi#763 * fix issue regarding updating the json-ld data * Specify skosmos:defaultEndpoint as a resource, not literal. Fixes NatLibFi#786 * updated German translations for 100% coverage. Credit: Jonas Waeber * Fix PHP syntax when calling a method * Set a value for variable when declaring it * Avoid type coercion in JS when comparing values * Avoid declaring a variable twice * Remove unused variable * Remove duplicated semicolon * Add Vagrantfile and Ansible Playbook setup for deploying and running Skosmos in virtual environment * Add .vagrant and .DS_Store to .gitignore * Remove unnecessary installation of Python 2.7 and configure to use python3 * Removed old config files and added references to eclipse project file to .gitignore * Remove Fuseki deployment * Fix apt not installing php-mbstring by updating cache before apt install * Turn off verbose/debug mode for Ansible provisioner * Delete .DS_Store * Delete second .DS_Store * Remove unnecessary, duplicate configuration file * Add Vagrantfile and Ansible Playbook setup for deploying and running Skosmos in virtual environment * Add .vagrant and .DS_Store to .gitignore * Remove unnecessary installation of Python 2.7 and configure to use python3 * Removed old config files and added references to eclipse project file to .gitignore * Remove Fuseki deployment * Fix apt not installing php-mbstring by updating cache before apt install * Turn off verbose/debug mode for Ansible provisioner * Delete .DS_Store * Delete second .DS_Store * Remove unnecessary, duplicate configuration file * reorder .gitignore * Use correct value when retrieving settings * Add tests for GlobalConfig * Add more tests for VoacabularyConfig * Use array in the test for GlobalConfig::getGlobalPlugins * Fix parameter order for jena-text queries - MAX_N setting was being ignored. Fixes NatLibFi#794 * Loosen the check for port numbers in guessBaseHref. Fixes NatLibFi#796 * removed references to old configuration files
* adding limited support for showing skosxl:prefLabels * Added SPARQL query to query for super properties of a property * Used graph-agnostic queries through default endpoint to retrieve label and superproperty of a property. * Fixed call to Namespace.shorten(). Added types to property declarations in test files. * Issue 666 - squash commits (#8) * Added preferredVocabUri parameter to Model::guessVocabularyFromURI() * Added preferredVocabUri parameter to Model::guessVocabularyFromURI() * Comment just to have one additionnal commit * Compared vocab on IDs rather than URIs * Add the preferred vocabulary parameter when calling guessVocabularyFromURI * Comments * 1. Ability to fetch and return dct:subject of ConceptSchemes in the list of Concept schemes. 2. Ability to fetch and return multiple concept schemes for which a concept is a top concept in the parent hierarchy (new 'tops' key in the JSON-LD result) * skos-xl labels should now work * fixing the preflabel right pad * fixing the unit tests * fixing the skosxl qtips not appearing after ajaxing content, related to NatLibFi#533 * removing unused ?member variable, fixes NatLibFi#655 * moving mapping concept notations inside the a element, related to NatLibFi#623 * Read property label from current vocabulary before querying the default graph * updating the composer dependencies before 1.10 release * Look for property label and superproperties in the current EasyRdf Model rather than making another SPARQL query. * Use locale-based sort to sort values in concept page * initializing the superprops variable as an empty array * pulled files from master * Issue NatLibFi#665 Remove SERVICE_LOGO old constant and related code * Add Jena Fuseki to gitignore * updating composer packages, related to NatLibFi#684 * running travis with php 7.0, related to NatLibFi#684 * migrating to phpunit 6, related to NatLibFi#684 * moving to new codeclimate reporter * removing copypaste error * updating the mockery package, related to NatLibFi#684 * moving old dependencies to composer, related to NatLibFi#684 * loading the remaining dependencies that were not managed by composer as a composer package, related to NatLibFi#684 * Fix hard crash on missng skosxl:literalForm If skosxl:literalForm is missing on a label resource the $label variable remains uninitialzed and causes a hard crash * finished jsonld augmentation * cleaned code and added phpdoc * Implements CBD solution for blank nodes and adds reification nodes * refactored duplicate code * adding a configurable property that enables defining a priority for label fallback languages, related to NatLibFi#688 * improving the fallback language order feature, related to NatLibFi#688 * fixing the missing prefLabel language tag when showing a fallback label, related to NatLibFi#688 * adding a few tests for getLanguageOrder(), related to NatLibFi#688 * using the configurable fallback languages for the concept property value labels as well, related to NatLibFi#688 * using the skosmos:feedbackLanguages for the rest api hierarchy fallback, related to NatLibFi#688 * fixing missing lang parameter from a getLanguageOrder-call, related to NatLibFi#688 * code style cleanup: removing trailing whitespaces * whoops * Cleaned for PR and made tests * add build/ directory to .gitignore * fixes NatLibFi#690 * using the configurable fallback language for the REST API children function as well * filtering out hiddenLabels always when the concept has been found earlier, related to NatLibFi#690 * fixes NatLibFi#692 * applying a band aid for the broken mobile screen vocabulary info layout, related to NatLibFi#691 * recoded long URIs as shortened versions as requested * only querying for concept info when the search has found some results, related to NatLibFi#696 * fix NatLibFi#701 updates embedded json-ld data correctly * add language ordering to passed through variables to javascript * fixing wrong translations * using a more specific selector for the sidebar custom scrollbar * fixing a bug with displaying language codes for fallback labels * using the configured languages as fallbacks too * fixing false language tags sometimes appearing with mapping concepts * Issue NatLibFi#661 add a copy to clipboard button * Add Dutch translations by @mrvdries and @ismakutl. Fixes NatLibFi#710 * css for the copy button * fixes hard crash when collection doesnt return a label * adding a random fallback for the guessLanguage so the negotiator wont crash when the accept header has not been set * run Travis tests with newer Fuseki 3.6.0 * define Code Climate variable as global, separating it from matrix vars * Remove support for obsolete APC caching functions. Fixes NatLibFi#728 * Issue NatLibFi#712: display the concepts of the first letter available * Default to the first letter of the alphabet when no letter is selected. Fixes NatLibFi#712 * Add Dockerfile and a docker-compose to run SKOSMOS with Fuseki * Add Dockerfile container_name's * Add volume binding example in comments for Fuseki * Rename Skosmos docker-compose created container name to skosmos * Fixes NatLibFi#638 * fix constructor call due to previously done refactoring(?) * Run Travis tests also under PHP 7.1 and 7.2 * add checks to prevent sizeof() related warnings in PHP 7.2 * fix PHP 7.1+ build test by changing the name for error raised * Changed test fuseki port to 13030; upgraded test fuseki to 3.7.0; fixed PHP 7.2+ build test * allow tests to fail on PHP 7.2 due to JsonLD compatibility problems * expect different exceptions depending on PHP version (7.0 vs 7.1+) * adjust build matrix: test fuseki SNAPSHOT only on php 7.1, allow failures on 7.2 & fuseki SNAPSHOT * further adjust build matrix * specify PHP versions without quotes * adjust build matrix: only test fuseki SNAPSHOT on php 7.1 * bump Fuseki version to 3.7.0 also on Travis tests * move notifications to new NatLibFi Slack instance * Allow request input to be mocked * Refactor getQueryParamArray to always return array * Add additional fields to JSON-LD context for search endpoint If additional fields are requested using the 'fields' parameter, add them to the JSON-LD context. Note: This will break any implementation that relies on the 'skos:' prefix being part of the keys. * Add mapping relations to JSON-LD context * Add unit test for NatLibFi#744 / PR NatLibFi#756. Fixes NatLibFi#744 * Open all hierarchies when a concept is in multiple schemes. Fixes NatLibFi#765 * fix layout issue due to having a <p> element instead of <span> in skosxl display * Change feedback message headers to use Reply-To and make name and e-mail optional. Fixes NatLibFi#761 * Set the feedback email sender address properly when a vocabulary-specific recipient has been set. Fixes NatLibFi#761 * Add Arabic translation from Transifex. Fixes NatLibFi#767 * Fix Dockerfile by automatically answering yes to apt-get install locales * Issue NatLibFi#738 replace .inc configuration files by .ttl (turtle) files. The cache that was created in the Model instance, now was moved to the GlobalConfig, but is still accessed from Model to add entries looked up. There is no more need of a separate .ttl file for vocabularies, as it is now part of the configuration file. Old files were removed. In order to maintain backward compatibility, most methods of GlobalConfig and of VocabularyConfig were maintained as-is. With internal changes to re-route requests to the right RDF objects. Tests were minor updates in tests, but only to replace .inc by .ttl or fix coverage annotations. * Fix scrutinizer issues * Remove unused graph variable from Model * Use a list for skosmos:languages * add skosmos:globalPlugins example which was forgotten in PR NatLibFi#769 * Use RDFS properties for language settings. Fixes NatLibFi#772 * Fix test config for NatLibFi#772 * Replace PHP explode function call by a Turtle list for globalPlugins * Include unit test for new globalPlugins with list, and update distributed configuration file * Issue NatLibFi#771 config migrate tool * Replace exit() by exceptions, and fail earlier if invalid mode * Leave values not defined as comments * Fix search with double quotes * Upgrade Travis config to use newest Fuseki 3.8.0 * Use Fuseki 3.8.0 by default for tests * fix getVersion when on a branch with no tags available in recent history * use the dev.finto.fi SPARQL endpoint as default endpoint, to match vocab config * Disable Travis tests for Fuseki snapshot. There is no longer a Fuseki1 distribution snapshot we could use, after building it was disabled in JENA-1573. * updated German translations. Credit: Jonas Waeber * updated French translations. Credit: Thomas Francart * updated Polish translations. Credit: Łukasz Szeremeta * update translation files to match latest template; no actual changes in translations * Add translations for Farsi, by Omid Ghiasvand and Reza Ghiasvand. Still missing true RTL support (NatLibFi#768) * fixes NatLibFi#714 * sorting concept property values with natural case sort when sortByNotation is true, fixes NatLibFi#737 * Fixed the variable name notsort for a clearer sort_by_notation * Avoid double encoding of search query string. Fixes NatLibFi#763 * fix issue regarding updating the json-ld data * Specify skosmos:defaultEndpoint as a resource, not literal. Fixes NatLibFi#786 * updated German translations for 100% coverage. Credit: Jonas Waeber * Fix PHP syntax when calling a method * Set a value for variable when declaring it * Avoid type coercion in JS when comparing values * Avoid declaring a variable twice * Remove unused variable * Remove duplicated semicolon * Add Vagrantfile and Ansible Playbook setup for deploying and running Skosmos in virtual environment * Add .vagrant and .DS_Store to .gitignore * Remove unnecessary installation of Python 2.7 and configure to use python3 * Removed old config files and added references to eclipse project file to .gitignore * Remove Fuseki deployment * Fix apt not installing php-mbstring by updating cache before apt install * Turn off verbose/debug mode for Ansible provisioner * Delete .DS_Store * Delete second .DS_Store * Remove unnecessary, duplicate configuration file * Add Vagrantfile and Ansible Playbook setup for deploying and running Skosmos in virtual environment * Add .vagrant and .DS_Store to .gitignore * Remove unnecessary installation of Python 2.7 and configure to use python3 * Removed old config files and added references to eclipse project file to .gitignore * Remove Fuseki deployment * Fix apt not installing php-mbstring by updating cache before apt install * Turn off verbose/debug mode for Ansible provisioner * Delete .DS_Store * Delete second .DS_Store * Remove unnecessary, duplicate configuration file * reorder .gitignore * Use correct value when retrieving settings * Add tests for GlobalConfig * Add more tests for VoacabularyConfig * Use array in the test for GlobalConfig::getGlobalPlugins * Fix parameter order for jena-text queries - MAX_N setting was being ignored. Fixes NatLibFi#794 * Loosen the check for port numbers in guessBaseHref. Fixes NatLibFi#796 * removed references to old configuration files * Choose feedback recipient based on selection on feedback form, not the URL from which the feedback page was invoked. Fixes NatLibFi#808 * Fix unit test that broke after the fix to NatLibFi#808 (cherry picked from commit 1a55e8b) * Fix fragile unit test (may break if /tmp/skosmos-template-cache exists but is owned by another user) * Fix config migration of LOG_FILE_NAME=null Fixes NatLibFi#801 * fixes NatLibFi#804 * fix some css; addresses issue NatLibFi#799 * #fixes NatLibFi#791; also update fuseki to 3.9.0 * Reenable Fuseki snapshot builds on Travis; use Fuseki2 3.9.0 on Travis instead of 3.8.0 * Don't allow Travis builds with PHP 7.2 to fail; run Fuseki snapshot builds with PHP 7.2. Related to NatLibFi#758 * check which locales are installed in Travis environment * Try to break unit tests by setting LANGUAGE=fr. Part of NatLibFi#816 * Always set LANGUAGE environment variable when setting LC_ALL. Fixes NatLibFi#816
* finished jsonld augmentation * cleaned code and added phpdoc * Implements CBD solution for blank nodes and adds reification nodes * refactored duplicate code * adding a configurable property that enables defining a priority for label fallback languages, related to NatLibFi#688 * improving the fallback language order feature, related to NatLibFi#688 * fixing the missing prefLabel language tag when showing a fallback label, related to NatLibFi#688 * adding a few tests for getLanguageOrder(), related to NatLibFi#688 * using the configurable fallback languages for the concept property value labels as well, related to NatLibFi#688 * using the skosmos:feedbackLanguages for the rest api hierarchy fallback, related to NatLibFi#688 * fixing missing lang parameter from a getLanguageOrder-call, related to NatLibFi#688 * code style cleanup: removing trailing whitespaces * whoops * Cleaned for PR and made tests * add build/ directory to .gitignore * fixes NatLibFi#690 * using the configurable fallback language for the REST API children function as well * filtering out hiddenLabels always when the concept has been found earlier, related to NatLibFi#690 * fixes NatLibFi#692 * applying a band aid for the broken mobile screen vocabulary info layout, related to NatLibFi#691 * recoded long URIs as shortened versions as requested * only querying for concept info when the search has found some results, related to NatLibFi#696 * fix NatLibFi#701 updates embedded json-ld data correctly * add language ordering to passed through variables to javascript * fixing wrong translations * using a more specific selector for the sidebar custom scrollbar * fixing a bug with displaying language codes for fallback labels * using the configured languages as fallbacks too * fixing false language tags sometimes appearing with mapping concepts * Issue NatLibFi#661 add a copy to clipboard button * Add Dutch translations by @mrvdries and @ismakutl. Fixes NatLibFi#710 * css for the copy button * fixes hard crash when collection doesnt return a label * adding a random fallback for the guessLanguage so the negotiator wont crash when the accept header has not been set * run Travis tests with newer Fuseki 3.6.0 * define Code Climate variable as global, separating it from matrix vars * Remove support for obsolete APC caching functions. Fixes NatLibFi#728 * Issue NatLibFi#712: display the concepts of the first letter available * Default to the first letter of the alphabet when no letter is selected. Fixes NatLibFi#712 * Add Dockerfile and a docker-compose to run SKOSMOS with Fuseki * Add Dockerfile container_name's * Add volume binding example in comments for Fuseki * Rename Skosmos docker-compose created container name to skosmos * Fixes NatLibFi#638 * fix constructor call due to previously done refactoring(?) * Run Travis tests also under PHP 7.1 and 7.2 * add checks to prevent sizeof() related warnings in PHP 7.2 * fix PHP 7.1+ build test by changing the name for error raised * Changed test fuseki port to 13030; upgraded test fuseki to 3.7.0; fixed PHP 7.2+ build test * allow tests to fail on PHP 7.2 due to JsonLD compatibility problems * expect different exceptions depending on PHP version (7.0 vs 7.1+) * adjust build matrix: test fuseki SNAPSHOT only on php 7.1, allow failures on 7.2 & fuseki SNAPSHOT * further adjust build matrix * specify PHP versions without quotes * adjust build matrix: only test fuseki SNAPSHOT on php 7.1 * bump Fuseki version to 3.7.0 also on Travis tests * move notifications to new NatLibFi Slack instance * Allow request input to be mocked * Refactor getQueryParamArray to always return array * Add additional fields to JSON-LD context for search endpoint If additional fields are requested using the 'fields' parameter, add them to the JSON-LD context. Note: This will break any implementation that relies on the 'skos:' prefix being part of the keys. * Add mapping relations to JSON-LD context * Add unit test for NatLibFi#744 / PR NatLibFi#756. Fixes NatLibFi#744 * Open all hierarchies when a concept is in multiple schemes. Fixes NatLibFi#765 * fix layout issue due to having a <p> element instead of <span> in skosxl display * Change feedback message headers to use Reply-To and make name and e-mail optional. Fixes NatLibFi#761 * Set the feedback email sender address properly when a vocabulary-specific recipient has been set. Fixes NatLibFi#761 * Add Arabic translation from Transifex. Fixes NatLibFi#767 * Fix Dockerfile by automatically answering yes to apt-get install locales * Issue NatLibFi#738 replace .inc configuration files by .ttl (turtle) files. The cache that was created in the Model instance, now was moved to the GlobalConfig, but is still accessed from Model to add entries looked up. There is no more need of a separate .ttl file for vocabularies, as it is now part of the configuration file. Old files were removed. In order to maintain backward compatibility, most methods of GlobalConfig and of VocabularyConfig were maintained as-is. With internal changes to re-route requests to the right RDF objects. Tests were minor updates in tests, but only to replace .inc by .ttl or fix coverage annotations. * Fix scrutinizer issues * Remove unused graph variable from Model * Use a list for skosmos:languages * add skosmos:globalPlugins example which was forgotten in PR NatLibFi#769 * Use RDFS properties for language settings. Fixes NatLibFi#772 * Fix test config for NatLibFi#772 * Replace PHP explode function call by a Turtle list for globalPlugins * Include unit test for new globalPlugins with list, and update distributed configuration file * Issue NatLibFi#771 config migrate tool * Replace exit() by exceptions, and fail earlier if invalid mode * Leave values not defined as comments * Fix search with double quotes * Upgrade Travis config to use newest Fuseki 3.8.0 * Use Fuseki 3.8.0 by default for tests * fix getVersion when on a branch with no tags available in recent history * use the dev.finto.fi SPARQL endpoint as default endpoint, to match vocab config * Disable Travis tests for Fuseki snapshot. There is no longer a Fuseki1 distribution snapshot we could use, after building it was disabled in JENA-1573. * updated German translations. Credit: Jonas Waeber * updated French translations. Credit: Thomas Francart * updated Polish translations. Credit: Łukasz Szeremeta * update translation files to match latest template; no actual changes in translations * Add translations for Farsi, by Omid Ghiasvand and Reza Ghiasvand. Still missing true RTL support (NatLibFi#768) * fixes NatLibFi#714 * sorting concept property values with natural case sort when sortByNotation is true, fixes NatLibFi#737 * Fixed the variable name notsort for a clearer sort_by_notation * Avoid double encoding of search query string. Fixes NatLibFi#763 * fix issue regarding updating the json-ld data * Specify skosmos:defaultEndpoint as a resource, not literal. Fixes NatLibFi#786 * updated German translations for 100% coverage. Credit: Jonas Waeber * Fix PHP syntax when calling a method * Set a value for variable when declaring it * Avoid type coercion in JS when comparing values * Avoid declaring a variable twice * Remove unused variable * Remove duplicated semicolon * Add Vagrantfile and Ansible Playbook setup for deploying and running Skosmos in virtual environment * Add .vagrant and .DS_Store to .gitignore * Remove unnecessary installation of Python 2.7 and configure to use python3 * Removed old config files and added references to eclipse project file to .gitignore * Remove Fuseki deployment * Fix apt not installing php-mbstring by updating cache before apt install * Turn off verbose/debug mode for Ansible provisioner * Delete .DS_Store * Delete second .DS_Store * Remove unnecessary, duplicate configuration file * Add Vagrantfile and Ansible Playbook setup for deploying and running Skosmos in virtual environment * Add .vagrant and .DS_Store to .gitignore * Remove unnecessary installation of Python 2.7 and configure to use python3 * Removed old config files and added references to eclipse project file to .gitignore * Remove Fuseki deployment * Fix apt not installing php-mbstring by updating cache before apt install * Turn off verbose/debug mode for Ansible provisioner * Delete .DS_Store * Delete second .DS_Store * Remove unnecessary, duplicate configuration file * reorder .gitignore * Use correct value when retrieving settings * Add tests for GlobalConfig * Add more tests for VoacabularyConfig * Use array in the test for GlobalConfig::getGlobalPlugins * Fix parameter order for jena-text queries - MAX_N setting was being ignored. Fixes NatLibFi#794 * Loosen the check for port numbers in guessBaseHref. Fixes NatLibFi#796 * removed references to old configuration files * Choose feedback recipient based on selection on feedback form, not the URL from which the feedback page was invoked. Fixes NatLibFi#808 * Fix unit test that broke after the fix to NatLibFi#808 (cherry picked from commit 1a55e8b) * Fix fragile unit test (may break if /tmp/skosmos-template-cache exists but is owned by another user) * Fix config migration of LOG_FILE_NAME=null Fixes NatLibFi#801 * fixes NatLibFi#804 * fix some css; addresses issue NatLibFi#799 * Added a check for empty arrays to avoid the situation in NatLibFi#813 * #fixes NatLibFi#791; also update fuseki to 3.9.0 * Reenable Fuseki snapshot builds on Travis; use Fuseki2 3.9.0 on Travis instead of 3.8.0 * Don't allow Travis builds with PHP 7.2 to fail; run Fuseki snapshot builds with PHP 7.2. Related to NatLibFi#758 * check which locales are installed in Travis environment * Try to break unit tests by setting LANGUAGE=fr. Part of NatLibFi#816 * Always set LANGUAGE environment variable when setting LC_ALL. Fixes NatLibFi#816 * update gitignore to match Fuseki2 directory naming (NatLibFi#791) * Update fi, sv UI translations for skos:relatedMatch. Fixes NatLibFi#707 * support for MARC sources in REST controller * fix updated, unit tests passed * Display concept types for search * Adapt code from concepts page * Added the new icon and updated tooltip translations * refactor: rename function for clarity, and make it private since it's only needed internally * Rewrite concept group handling to take into account multiple hierarchical groups. Fixes NatLibFi#811 * Fix display of array property values * Use test-specific template cache dir to avoid permission problems. Fixes NatLibFi#821 * updated translations for Finnish, Swedish and German * Fix case when a concept property value is from another vocabulary. Fixes NatLibFi#819 * Fix concept group display also in search result list. Related to NatLibFi#811 * mark the start of 2.2 development * Switch from FILTER NOT EXISTS to MINUS to avoid Jena 3.8+ performance issue. Fixes NatLibFi#829 * Also move the VALUES block to avoid Jena 3.8+ performance issues. Fixes NatLibFi#829 * Add phpdocs type hints * Don't perform label and subPropertyOf lookups for well-known properties. Part of NatLibFi#836 * Support last modified header * Fix type hints in Model * Be more lenient with mixed types from EasyRDF * Add unit test for VocabularyConfig * Add unit test for Vocabulary * Add unit test for Concept * Make unit tests work on both command line and IDE * Add test data for HTTP 304 RDF tests * Add unit test for Controller (and include a function to encapsulate header) * Report coverage for controllers * Move php built-in functions to other functions, so that we can mock and test everything * Add unit test for Controller where the 304 response is sent successfully * Add unit test for WebController * Update controller/Controller.php Co-Authored-By: kinow <kinow@users.noreply.github.com> * Fixed function calls for getLiteral with property and lang * Added redirection to vocab main page for vocab uri * Prevent error when the system is configured to use dc:modified, but neither concept nor scheme have dates * Remove duplicated array index * Added text to the feedback form in fi, en & sv * Add REST endpoint for mappings * Mappings endpoint: Return 404 if concept not found * Mappings endpoint: Handle case when no label is found * Mappings endpoint: Fix routing * Mappings endpoint: Make querying external endpoints optional * Avoid second unnecessary getProperties call in search result list. Part of NatLibFi#836 * Changed SPARQL query in Count Lang Concepts Better performance when counting the languages for all concepts by optimizing the SPARQL query * Avoid unnecessary properties when calling getMappingProperties from search result page. Part of NatLibFi#836 * clean up formatValuesFilterAndBind method * further simplify generation of languageStatistics query * Add a cache to avoid computing language order many times during a request * Added the correct parameters for a constructor call * Update of Fira Sans embedded fonts with newer version from https://github.com/mozilla/Fira/tree/4.202 - related to bug NatLibFi#855 * Fix methods calls following pull request about concept property mappings * Get git modified date * Get config.ttl modified date * Rename test for getConceptModifiedDate * Return the most recent date, or null if no date found/retrieved * Fix data provider name * Use Model::getConfig() instead of accessing private Model:: * Use a constant of 10 minutes to read configuration for last-modified headers * Update mocks to expect getConfig called * Store result of filemtime in GlobalConfig, and re-use in WebController * Rename constant used only by Git now, and amend comment * Return a DateTime instead of int in Controller:getIfModifiedSince * Add missing return statement (used in an empty() function in another part of the code) * Remove unnecessary variable (it is instantiated in each try/catch block) * Add missing throws docstring * Use !== for comparison * Add missing return statement (returning false as in the other function) * Turn off mouse events on the dropdown menu * Rename docker-compose created container from "web" to "skosmos" There was a note in the Docker installation documentation about renaming it. I'd agree it makes more sense, so prepared this PR. * Remove playbook.retry file and prevent Ansible from creating one * Add Fuseki installation and configurations for locally-hosted example data * Add new line to end of Fuseki config file * Add config file for using locally-hosted data * Use a default vocabulary ID when guessing vocabulary, to save lookups. Part of NatLibFi#836 * fix operator that got reverted to != when resolving merge conflict * Make guessVocabularyFromURI more careful and avoid calling it unless absolutely necessary. Fixes NatLibFi#868 * more elegant way of checking whether a ConceptPropertyValue has a label * Update README.md Updated to match current development (delete mention of technologies no longer used) * upgrading phpunit to 7.5.10 and fixing one test broken by the upgrade * updating the phpunit configuration file
* adding limited support for showing skosxl:prefLabels * Added SPARQL query to query for super properties of a property * Used graph-agnostic queries through default endpoint to retrieve label and superproperty of a property. * Fixed call to Namespace.shorten(). Added types to property declarations in test files. * Issue 666 - squash commits (#8) * Added preferredVocabUri parameter to Model::guessVocabularyFromURI() * Added preferredVocabUri parameter to Model::guessVocabularyFromURI() * Comment just to have one additionnal commit * Compared vocab on IDs rather than URIs * Add the preferred vocabulary parameter when calling guessVocabularyFromURI * Comments * 1. Ability to fetch and return dct:subject of ConceptSchemes in the list of Concept schemes. 2. Ability to fetch and return multiple concept schemes for which a concept is a top concept in the parent hierarchy (new 'tops' key in the JSON-LD result) * skos-xl labels should now work * fixing the preflabel right pad * fixing the unit tests * fixing the skosxl qtips not appearing after ajaxing content, related to NatLibFi#533 * removing unused ?member variable, fixes NatLibFi#655 * moving mapping concept notations inside the a element, related to NatLibFi#623 * Read property label from current vocabulary before querying the default graph * updating the composer dependencies before 1.10 release * Look for property label and superproperties in the current EasyRdf Model rather than making another SPARQL query. * Use locale-based sort to sort values in concept page * initializing the superprops variable as an empty array * pulled files from master * Issue NatLibFi#665 Remove SERVICE_LOGO old constant and related code * Add Jena Fuseki to gitignore * updating composer packages, related to NatLibFi#684 * running travis with php 7.0, related to NatLibFi#684 * migrating to phpunit 6, related to NatLibFi#684 * moving to new codeclimate reporter * removing copypaste error * updating the mockery package, related to NatLibFi#684 * moving old dependencies to composer, related to NatLibFi#684 * loading the remaining dependencies that were not managed by composer as a composer package, related to NatLibFi#684 * Fix hard crash on missng skosxl:literalForm If skosxl:literalForm is missing on a label resource the $label variable remains uninitialzed and causes a hard crash * finished jsonld augmentation * cleaned code and added phpdoc * Implements CBD solution for blank nodes and adds reification nodes * refactored duplicate code * adding a configurable property that enables defining a priority for label fallback languages, related to NatLibFi#688 * improving the fallback language order feature, related to NatLibFi#688 * fixing the missing prefLabel language tag when showing a fallback label, related to NatLibFi#688 * adding a few tests for getLanguageOrder(), related to NatLibFi#688 * using the configurable fallback languages for the concept property value labels as well, related to NatLibFi#688 * using the skosmos:feedbackLanguages for the rest api hierarchy fallback, related to NatLibFi#688 * fixing missing lang parameter from a getLanguageOrder-call, related to NatLibFi#688 * code style cleanup: removing trailing whitespaces * whoops * Cleaned for PR and made tests * add build/ directory to .gitignore * fixes NatLibFi#690 * using the configurable fallback language for the REST API children function as well * filtering out hiddenLabels always when the concept has been found earlier, related to NatLibFi#690 * fixes NatLibFi#692 * applying a band aid for the broken mobile screen vocabulary info layout, related to NatLibFi#691 * recoded long URIs as shortened versions as requested * only querying for concept info when the search has found some results, related to NatLibFi#696 * fix NatLibFi#701 updates embedded json-ld data correctly * add language ordering to passed through variables to javascript * fixing wrong translations * using a more specific selector for the sidebar custom scrollbar * fixing a bug with displaying language codes for fallback labels * using the configured languages as fallbacks too * fixing false language tags sometimes appearing with mapping concepts * Issue NatLibFi#661 add a copy to clipboard button * Add Dutch translations by @mrvdries and @ismakutl. Fixes NatLibFi#710 * css for the copy button * fixes hard crash when collection doesnt return a label * adding a random fallback for the guessLanguage so the negotiator wont crash when the accept header has not been set * run Travis tests with newer Fuseki 3.6.0 * define Code Climate variable as global, separating it from matrix vars * Remove support for obsolete APC caching functions. Fixes NatLibFi#728 * Issue NatLibFi#712: display the concepts of the first letter available * Default to the first letter of the alphabet when no letter is selected. Fixes NatLibFi#712 * Add Dockerfile and a docker-compose to run SKOSMOS with Fuseki * Add Dockerfile container_name's * Add volume binding example in comments for Fuseki * Rename Skosmos docker-compose created container name to skosmos * Fixes NatLibFi#638 * fix constructor call due to previously done refactoring(?) * Run Travis tests also under PHP 7.1 and 7.2 * add checks to prevent sizeof() related warnings in PHP 7.2 * fix PHP 7.1+ build test by changing the name for error raised * Changed test fuseki port to 13030; upgraded test fuseki to 3.7.0; fixed PHP 7.2+ build test * allow tests to fail on PHP 7.2 due to JsonLD compatibility problems * expect different exceptions depending on PHP version (7.0 vs 7.1+) * adjust build matrix: test fuseki SNAPSHOT only on php 7.1, allow failures on 7.2 & fuseki SNAPSHOT * further adjust build matrix * specify PHP versions without quotes * adjust build matrix: only test fuseki SNAPSHOT on php 7.1 * bump Fuseki version to 3.7.0 also on Travis tests * move notifications to new NatLibFi Slack instance * Allow request input to be mocked * Refactor getQueryParamArray to always return array * Add additional fields to JSON-LD context for search endpoint If additional fields are requested using the 'fields' parameter, add them to the JSON-LD context. Note: This will break any implementation that relies on the 'skos:' prefix being part of the keys. * Add mapping relations to JSON-LD context * Add unit test for NatLibFi#744 / PR NatLibFi#756. Fixes NatLibFi#744 * Open all hierarchies when a concept is in multiple schemes. Fixes NatLibFi#765 * fix layout issue due to having a <p> element instead of <span> in skosxl display * Change feedback message headers to use Reply-To and make name and e-mail optional. Fixes NatLibFi#761 * Set the feedback email sender address properly when a vocabulary-specific recipient has been set. Fixes NatLibFi#761 * Add Arabic translation from Transifex. Fixes NatLibFi#767 * Fix Dockerfile by automatically answering yes to apt-get install locales * Issue NatLibFi#738 replace .inc configuration files by .ttl (turtle) files. The cache that was created in the Model instance, now was moved to the GlobalConfig, but is still accessed from Model to add entries looked up. There is no more need of a separate .ttl file for vocabularies, as it is now part of the configuration file. Old files were removed. In order to maintain backward compatibility, most methods of GlobalConfig and of VocabularyConfig were maintained as-is. With internal changes to re-route requests to the right RDF objects. Tests were minor updates in tests, but only to replace .inc by .ttl or fix coverage annotations. * Fix scrutinizer issues * Remove unused graph variable from Model * Use a list for skosmos:languages * add skosmos:globalPlugins example which was forgotten in PR NatLibFi#769 * Use RDFS properties for language settings. Fixes NatLibFi#772 * Fix test config for NatLibFi#772 * Replace PHP explode function call by a Turtle list for globalPlugins * Include unit test for new globalPlugins with list, and update distributed configuration file * Issue NatLibFi#771 config migrate tool * Replace exit() by exceptions, and fail earlier if invalid mode * Leave values not defined as comments * Fix search with double quotes * Upgrade Travis config to use newest Fuseki 3.8.0 * Use Fuseki 3.8.0 by default for tests * fix getVersion when on a branch with no tags available in recent history * use the dev.finto.fi SPARQL endpoint as default endpoint, to match vocab config * Disable Travis tests for Fuseki snapshot. There is no longer a Fuseki1 distribution snapshot we could use, after building it was disabled in JENA-1573. * updated German translations. Credit: Jonas Waeber * updated French translations. Credit: Thomas Francart * updated Polish translations. Credit: Łukasz Szeremeta * update translation files to match latest template; no actual changes in translations * Add translations for Farsi, by Omid Ghiasvand and Reza Ghiasvand. Still missing true RTL support (NatLibFi#768) * fixes NatLibFi#714 * sorting concept property values with natural case sort when sortByNotation is true, fixes NatLibFi#737 * Fixed the variable name notsort for a clearer sort_by_notation * Avoid double encoding of search query string. Fixes NatLibFi#763 * fix issue regarding updating the json-ld data * Specify skosmos:defaultEndpoint as a resource, not literal. Fixes NatLibFi#786 * updated German translations for 100% coverage. Credit: Jonas Waeber * Fix PHP syntax when calling a method * Set a value for variable when declaring it * Avoid type coercion in JS when comparing values * Avoid declaring a variable twice * Remove unused variable * Remove duplicated semicolon * Add Vagrantfile and Ansible Playbook setup for deploying and running Skosmos in virtual environment * Add .vagrant and .DS_Store to .gitignore * Remove unnecessary installation of Python 2.7 and configure to use python3 * Removed old config files and added references to eclipse project file to .gitignore * Remove Fuseki deployment * Fix apt not installing php-mbstring by updating cache before apt install * Turn off verbose/debug mode for Ansible provisioner * Delete .DS_Store * Delete second .DS_Store * Remove unnecessary, duplicate configuration file * Add Vagrantfile and Ansible Playbook setup for deploying and running Skosmos in virtual environment * Add .vagrant and .DS_Store to .gitignore * Remove unnecessary installation of Python 2.7 and configure to use python3 * Removed old config files and added references to eclipse project file to .gitignore * Remove Fuseki deployment * Fix apt not installing php-mbstring by updating cache before apt install * Turn off verbose/debug mode for Ansible provisioner * Delete .DS_Store * Delete second .DS_Store * Remove unnecessary, duplicate configuration file * reorder .gitignore * Use correct value when retrieving settings * Add tests for GlobalConfig * Add more tests for VoacabularyConfig * Use array in the test for GlobalConfig::getGlobalPlugins * Fix parameter order for jena-text queries - MAX_N setting was being ignored. Fixes NatLibFi#794 * Loosen the check for port numbers in guessBaseHref. Fixes NatLibFi#796 * removed references to old configuration files * Choose feedback recipient based on selection on feedback form, not the URL from which the feedback page was invoked. Fixes NatLibFi#808 * Fix unit test that broke after the fix to NatLibFi#808 (cherry picked from commit 1a55e8b) * Fix fragile unit test (may break if /tmp/skosmos-template-cache exists but is owned by another user) * Fix config migration of LOG_FILE_NAME=null Fixes NatLibFi#801 * fixes NatLibFi#804 * fix some css; addresses issue NatLibFi#799 * Added a check for empty arrays to avoid the situation in NatLibFi#813 * #fixes NatLibFi#791; also update fuseki to 3.9.0 * Reenable Fuseki snapshot builds on Travis; use Fuseki2 3.9.0 on Travis instead of 3.8.0 * Don't allow Travis builds with PHP 7.2 to fail; run Fuseki snapshot builds with PHP 7.2. Related to NatLibFi#758 * check which locales are installed in Travis environment * Try to break unit tests by setting LANGUAGE=fr. Part of NatLibFi#816 * Always set LANGUAGE environment variable when setting LC_ALL. Fixes NatLibFi#816 * update gitignore to match Fuseki2 directory naming (NatLibFi#791) * Update fi, sv UI translations for skos:relatedMatch. Fixes NatLibFi#707 * support for MARC sources in REST controller * fix updated, unit tests passed * Display concept types for search * Adapt code from concepts page * Added the new icon and updated tooltip translations * refactor: rename function for clarity, and make it private since it's only needed internally * Rewrite concept group handling to take into account multiple hierarchical groups. Fixes NatLibFi#811 * Fix display of array property values * Use test-specific template cache dir to avoid permission problems. Fixes NatLibFi#821 * updated translations for Finnish, Swedish and German * Fix case when a concept property value is from another vocabulary. Fixes NatLibFi#819 * Fix concept group display also in search result list. Related to NatLibFi#811 * Don't perform label and subPropertyOf lookups for well-known properties. Part of NatLibFi#836 (cherry picked from commit 9de5b86) * Switch from FILTER NOT EXISTS to MINUS to avoid Jena 3.8+ performance issue. Fixes NatLibFi#829 (cherry picked from commit 00eabb3) * Also move the VALUES block to avoid Jena 3.8+ performance issues. Fixes NatLibFi#829 (cherry picked from commit 3e4884c) * Avoid second unnecessary getProperties call in search result list. Part of NatLibFi#836 (cherry picked from commit 995777a) * Avoid unnecessary properties when calling getMappingProperties from search result page. Part of NatLibFi#836 (cherry picked from commit 50bb1a1) * Add a cache to avoid computing language order many times during a request (cherry picked from commit c10bd71) * Update of Fira Sans embedded fonts with newer version from https://github.com/mozilla/Fira/tree/4.202 - related to bug NatLibFi#855 * Fixed function calls for getLiteral with property and lang (cherry picked from commit 499e38a)
At the moment we use a PHP file called
global.inc
for global configuration settings. Most of them are set usingdefine()
statements. But this is not a very flexible format and causes difficulties in unit testing, because while theconfig.inc
is parsed within the GlobalConfig constructor, its effects are global so there cannot be two configurations active within the same PHP environment.We could introduce a new configuration file format for Skosmos 2.0 since it's a major version bump. There should be some migration mechanism, for example a script that converts an old configuration file to the new format.
Reasonable options for a new configuration file format:
.inc
file that defines an array with settingsNot so good options:
The text was updated successfully, but these errors were encountered: