adlnet / xapi-profiles

A set of documents addressing the structure of and supporting services for xAPI Profiles.
https://adlnet.gov/projects/xapi/
Apache License 2.0
54 stars 27 forks source link

Profile identity crisis #142

Closed garemoko closed 7 years ago

garemoko commented 7 years ago

A few of the issues I've raised today have been around the term "profile" and what it actually means in this specification. Is a profile:

  1. A set of rules for defining xAPI statements that may be in English, JSON or some other format.
  2. A JSON document conforming to the xAPI profiles specification defining a specific set of rules.
  3. A collection of profile versions, each profile version being a JSON document conforming to the xAPI profiles specification.

My opinion is that option 2 is going to make for the simplest reading and that we should come up with alternative ways of referring to 1 and 3. Either way, we should be consistent and it might help to include a glossary defining 'this is what the word profile means in this specification'.

garemoko commented 7 years ago

As I get further, I'm leaning more towards option 3. There are places where we need to specifically call out that it's the profile version IRI that has to be used.

That said, we could ditch the concept of profile versions entirely and call each new version a new profile instead. I'm not suggesting any functional difference here - just the way things are described and conceptualized.

garemoko commented 7 years ago

@jhaag75 posted some definitions of profiles from other places here: https://github.com/DataInteroperability/xapi-profiles/issues/46 - probably not useful for picking one of the three options above, but certainly very useful when we come to write our own definition of what we mean by 'profile' in this document.

fugu13 commented 7 years ago

I think calling every version of, say, the video profile a new profile would both confuse people and would never be adopted in actual usage -- people would still refer to the "video profile" and mean the ongoing succession of versions. I don't think there's any problem with introducing things in terms of 2 and then clarifying that the JSON document will need updating over time, resulting in versions of the same profile. People are used to documents having versions.