Tech details (Under construction):
- Open Badges Infrastructure (OBI):
- third party website that our users will use to manage and share the badges that were awarded to them.
- currently visible at http://alpha.badgehub.org/ (moving to a different url and server in the future)
- the external dependency used to interact with this site is https://github.com/brianlovesdata/django-obi (developed by Brian)
- we need to provide a badge_getter function that receives a django user and returns a dictionary with data about each of the awarded badges (identified by a slug/string) to a user (identified by an email address). -- for details ask Brian and see https://github.com/brianlovesdata/django-obi/blob/master/README.md
- Feature request to OBI and django_obi: provide a simple way for the issuers to move badges from an email to another or link together several email addresses.
- Use case: allow the issuer to provide their users with the functionality of changing their email address in the issuer system.
- Award (badges.Award):
- processed by the badge_getter function.
- model fields: user (users.UserProfile), badge (badges.Badge), evidence (GenericForeignKey)
- award.get_absolute_url will be the evidence url sent to OBI, and the associated view/template will display data from the user, the badge, and the evidence
- Badge (badges.Badge):
- model fields: name (CharField), slug (CharField), image (ImageField), short description (CharField), long description (RichTextField), scope (GenericForeignKey), assesments (GenericRelation),
- its slug, name, and short description are sent to OBI
- badge.get_image_url() -- provides the image url sent to OBI
- badges.scope has to implement access control methods for the addition, edition, and deletion of a badge associated to that scope (initially will have the content_type of School, and maybe in the future the content type of Project)
- badges.assesments and badges.awards -- generic relationships are explained in https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#reverse-generic-relations
- Assesment (this is not a model but many so i am describing the interface they need to provide)
Assesment Types:
- Honorary:
- extra data: submitions (list of honor)
- submition: id (number), candidate (who will receive the badge), author (who did the submition -- needs to be allowed by the assesment scope), evidence (rich text)
- login: award the badge automatically for all submitions