Skip to content
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

Special ISO639-2 code usage in recommended language skill element #177

Closed
mkurzydlowski opened this issue Jul 11, 2024 · 11 comments · Fixed by #179
Closed

Special ISO639-2 code usage in recommended language skill element #177

mkurzydlowski opened this issue Jul 11, 2024 · 11 comments · Fixed by #179
Assignees

Comments

@mkurzydlowski
Copy link
Contributor

The recommended-language-skill element consists of an language element:
https://github.com/erasmus-without-paper/ewp-specs-api-iias/blob/v7.0.0/endpoints/get-response.xsd#L448-L455

It is defined as the xs:language type that follows RFC 3066 (see this isse). In general, EWP is following BCP 47 for specifying languages.

But ISO639-2 defines additional special codes. Most notably the und code:

       5.  [ISO639-2] has defined several codes included in the subtag
       registry that require additional care when choosing language
       tags.  In most of these cases, where omitting the language tag is
       permitted, such omission is preferable to using these codes.
       Language tags SHOULD NOT incorporate these subtags as a prefix,
       unless the additional information conveys some value to the
       application.

      [...]

       *  The 'und' (Undetermined) primary language subtag identifies
          linguistic content whose language is not determined.  This
          subtag SHOULD NOT be used unless a language tag is required
          and language information is not available or cannot be
          determined.  Omitting the language tag (where permitted) is
          preferred.  The 'und' subtag might be useful for protocols
          that require a language tag to be provided or where a primary
          language subtag is required (such as in "und-Latn").  The
          'und' subtag MAY also be useful when matching language tags in
          certain situations.

      [...]

A decision has been made by DG EAC to disallow the use of these special codes.

We will subsequently specify all language codes in EWP as following BCP 47 but disallowing special codes.

@demilatof
Copy link

A decision has been made by DG EAC to disallow the use of these special codes.

Doing so, you and the DG EAC show to not know the Erasmus Project in all its aspects.
The Un-identified (UN) is explicitly allowed and accepted by the beneficiary module dictionary, that is the golden reference for the project since it is the platform where all mobilities and funds are managed.

If you are in trouble to manage this special code, I think you should overcome this difficulty without introducing divergences among different aspect of the same project (EWP, BM, and so on)

https://wikis.ec.europa.eu/download/attachments/39355216/2023-11-21_KA131_call_2022_Data_Dictionary_BM_release_1.23.5.xlsx?version=1&modificationDate=1700581042122&api=v2&download=true

Beneficiary-Languages

@mkurzydlowski mkurzydlowski self-assigned this Jul 12, 2024
@mkurzydlowski mkurzydlowski pinned this issue Jul 12, 2024
@janinamincer-daszkiewicz
Copy link
Member

A decision has been made by DG EAC to disallow the use of these special codes.

@mkurzydlowski mkurzydlowski linked a pull request Sep 16, 2024 that will close this issue
mkurzydlowski added a commit that referenced this issue Sep 16, 2024
@demilatof
Copy link

A decision has been made by DG EAC to disallow the use of these special codes.

@janinamincer-daszkiewicz UND is disallowed, but someone could use XX in place of unknown language?
We receive this piece of XML for an IIA that was not ever exchanged in V6:

 <recommended-language-skill not-yet-defined="true">
     <language>XX</language>
 </recommended-language-skill>

@skishk
Copy link

skishk commented Dec 3, 2024

amazing...

UND is a technical solution...

XX is a... i can't find a description to it...

not-yet-defined in a IIA not started in the V6 is better then everything...

so are we all allowed to do what we want in this network?

@mkurzydlowski
Copy link
Contributor Author

mkurzydlowski commented Dec 3, 2024

@skishk
Copy link

skishk commented Dec 3, 2024

XX is not allowed: https://github.com/erasmus-without-paper/ewp-specs-api-iias/blob/v7.0.0/endpoints/get-response.xsd#L448-L459

so UND is not allowed by this comment but allowed in specification...
and XX is allowed by this comment but is out by specification...?
😵

@mkurzydlowski
Copy link
Contributor Author

Can you show me where XX is mentioned as allowed?

Also, what do you mean by "comment" vs "specification"? I refer to the whole XSD when discussing specification.

@demilatof
Copy link

Can you show me where XX is mentioned as allowed?

Could you show me where XX is mentioned as not allowed?
The specification says:

Note: EWP is following BCP 47 (https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
for specifying languages but disallows the use of special codes mentioned in
chapter 4.1. Choice of Language Tag, guideline 5 of this document.

and chapter 4.1 lists only "mul", "und", "zxx" and "mis"
XX is a valid language code that is simply not currently used by any country.
https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes

@mkurzydlowski
Copy link
Contributor Author

It is unassigned. What makes you think that it is allowed in the data exchange?

BCP 47 doesn't suggest such a thing.

@skishk
Copy link

skishk commented Dec 3, 2024

Also, what do you mean by "comment" vs "specification"? I refer to the whole XSD when discussing specification.

specification: type="xs:language"
comment:

The code of the language which the student (or staff member) is recommended to be
familiar with.
Note: EWP is following BCP 47 (https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
for specifying languages but disallows the use of special codes mentioned in
chapter 4.1. Choice of Language Tag, guideline 5 of this document.

specification, as the word say, it is what we all must respect.
comment is just a clarification of specification, not a change of specification.

and as @demilatof said there is no XX in the not allowed as you linked...

just to remind: to change a specification, it is needed a new version of them.

@demilatof
Copy link

demilatof commented Dec 3, 2024

It is unassigned. What makes you think that it is allowed in the data exchange?

BCP 47 doesn't suggest such a thing.

Someone uses it; the fact that is not currently assigned, doesn't mean that is invalid but that I cannot map it to a known language.
And it is not a special language.
So, again: if you want to restrict languages to only valid languages, you have to list all of the accepted language codes, not adding a comment that misses always something.

In my opinion, any language code plus "not-yet-available" is enough to simply understand the partner's will, much better that the ugly dirty trick to answer with an HTTP 500 error code for unexpected error, that indeed is not unexpected

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants