OpenWorksGroup / openbadges-directory

Mozilla Public License 2.0
12 stars 9 forks source link

Badge Class uniqueness #7

Closed jpcamara closed 1 year ago

jpcamara commented 10 years ago

What is the best way to differentiate badges and keep them unique with respect to their origin? So for instance, if we are indexing and referencing badge classes, obviously doing it by name is a no-go, since that could conflict within a single badge issuer let alone the whole world of badges. There's also no uid on badge classes.

I believe this was discussed lightly here: https://github.com/mozilla/openbadges-discussion/issues/1, though I don't think any conclusion was come to.

For now, not a big deal if we're dealing with a small, tailored set of badges. But perhaps even now, we could do a weak form of uniqueness just from the issuer url + badge name?

stenington commented 10 years ago

Oh, interesting. My gut reaction was "what are you talking about, the 1.0 spec has a required UID" but that's the assertion, not the badge class...

If we assume 1.0 spec badges only, which I think we decided to do for now, I'd say the BadgeClass's URL could serve as the ID I guess.

jpcamara commented 10 years ago

Wow. I feel a little dumb for not thinking that. Thanks! That makes total sense, and seems like a legit solution in general, not just for now.

jpcamara commented 10 years ago

Some future thoughts:

If crawling working off of big json blob stores, it would need to have a ref to the URL in it as well for each badge If a badge moved, but didn't actually change (site name change with a redirect or something), we'd prob need to know they're the same badge and not two different ones

stenington commented 10 years ago

Yeah, I think it's not ideal not only because the url could change, but because we don't actually stipulate that the data can't be duplicated (although I don't know why anyone would duplicate the badge class data needlessly). So maybe the badge class URL + md5 or something?

I'm not sure I follow the comment about big json blob stores though... do you mean for things like the demo data? In that case I think you could fake a url, or even use filename and line number or something. But yeah, if we were going to support importing badge classes by json dump, it would have to include URLs.