You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the automatic created concept URIs without a legacy-id are built up using a #-character as separator: {base-uri}#concept{id}. This leads to problems with webserver redirect rules, as # is used for an anchor and therefore redirect rules are ignoring the # and all stuff behind it. Besides, it could also lead to problems, if on the resolving side anchors are used, because it will not allow it anymore (something like {base-uri}#concept{id}#{anchor-id} will break and not jump to the anchor).
It seems to be better to change the behviour of creating the automatic concept URIs and don't use the # anymore. Instead I propose to replace it with / and I also think that is is better readable if it also separates the concept. The schema would then look like {base-uri}/concept/{id}.
If changing to this new schema we need to be aware, that ConceptSchemes using the old schema shouldn't change to the new schema. One solution would be to use for such old vocabularies the legacy-id-field and add there the uri based on the old schema. This means that before switching to the new schema, all concepts that do not have a legacy-id-field should get a legacy-id with the old schema. Does this sound feasible or is there another option possible (maybe the date of creation defines the schema in use or maybe a configuration field to chose if it should use the old/new schema?).
The text was updated successfully, but these errors were encountered:
I'd prefer a hard solution -> replace '#' with '/'
I'd make this a configuration parameter "CONCEPT_SEPARATORS" with default '/' on application level
after all, if someone is not happy with it, its a simple search&replace to change it back
Currently, the automatic created concept URIs without a legacy-id are built up using a
#
-character as separator:{base-uri}#concept{id}
. This leads to problems with webserver redirect rules, as#
is used for an anchor and therefore redirect rules are ignoring the#
and all stuff behind it. Besides, it could also lead to problems, if on the resolving side anchors are used, because it will not allow it anymore (something like{base-uri}#concept{id}#{anchor-id}
will break and not jump to the anchor).It seems to be better to change the behviour of creating the automatic concept URIs and don't use the
#
anymore. Instead I propose to replace it with/
and I also think that is is better readable if it also separates the concept. The schema would then look like{base-uri}/concept/{id}
.If changing to this new schema we need to be aware, that ConceptSchemes using the old schema shouldn't change to the new schema. One solution would be to use for such old vocabularies the
legacy-id
-field and add there the uri based on the old schema. This means that before switching to the new schema, all concepts that do not have alegacy-id
-field should get alegacy-id
with the old schema. Does this sound feasible or is there another option possible (maybe the date of creation defines the schema in use or maybe a configuration field to chose if it should use the old/new schema?).The text was updated successfully, but these errors were encountered: