P2PU API Primitives
There's been a lot of talk recently about P2PU as a platform, an API, and possibly some sort of plugin architecture. I think a good first step is to think about P2PU as a set of primitives that we expose via the API.
What are the basic primitives shared across the different learning models at P2PU?
Goal: Define an API that will let developers create new types of P2P Learning interactions in addition to Courses, Study Groups, and Challenges.
- Registration (& confirmation)
- Allow people to sign up, and confirm participation
- Group
- Create collections of users that are working together
- Notification
- Send messages to participants that must be acknowledged
- Task / Activity / Objective / Thing to do
- This could be broken down into different types providing added functionality for each type, may or may not be worthwhile
- Submission
- Again we may wan to break this down into more specific types of submissions to provide more customized functionality
- Discussion
- A space to discus a specific topic, threaded replies
- user profile, vcard
- badge (skill, value, community,osqa)
- stream
- tag
- social graph (digraph of followers / following relationship)
- {Badges, Learning Plan, Interests, Future Courses} (narrative, url or list of tags)
- {BackPack, Portfolio} (bag of Badges)
- {ExternalResource, WorkProduct, Evidence} (bag of links / bag of evidence)
- ToolBox (bag of resources links and narrative)
- Message
- Comment