Activation code provides an entity type that is fieldable called activation_code. This gives you an entity with the following fields:
- acid - Activation code ID - this is the primary key for the site it's implemented on
- code - A Universal Unique ID that is the code to unlock access
- created - date / timestamp of when its created
- used - date / timestamp of when its used
- name - user name of who used the code
- granted - Can store a UUID (36 chars) or any other value for what access was granted to
This module is implemented in the Course information system distribution. It is built for use as a registry for other sites to provide the access granting. CIS uses Activation code along with the RestWS module in order to allow for access of a certain role to be granted to users of a certain role. The MOOC distribution implements activation code (optionally) to allow for locking user access after a certain date (listed in CIS).
To the majority of Drupal users this is probably just an example of how you can build an entity that utilizes UUID and entitycache. To those that buy into the CIS / Suite of Tools approach to distributed learning management system development this provides an additional method of authorization to course materials / or additional resources.