Adding First Pass Use Cases... for API Design.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-new_cache_system@4966 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
drbob 2012-02-19 19:49:01 +00:00
parent 565ef2b0f9
commit 12a94a8984

View File

@ -0,0 +1,105 @@
These are some example usages of the GxsService...
All of these must be provided by the basic system.
1) Forums
------------------------------------
1.1) Display of subscribed forums. Service must provide:
1.1.1) list of subscribed Groups.
1.1.2) list of messages for each Group.
1.1.3) newest version of each message.
1.1.4) status of message (read / unread).
1.1.5) access to Identity associated with Post.
1.1.6) updates when new messages arrive.
1.1.7) Search forums for Keywords.
1.1.8) Access new (time restricted) messages.
1.2) Creation of new material.
1.2.1) ability to create Groups.
1.2.2) ability to create Messages.
1.3) Deletion of forums and posts.
1.3.1) discard forum (can't do this currently).
1.3.2) delete post.
1.3.3) discard old posts.
1.4) Control of Forums
1.4.1) Storage Period of subscribed forums
1.4.2) Storage Period of unsubscribed forums.
1.4.3) transfer unsubscribed forums and posts (yes/no)
1.4.4) modify forums we own.
1.4.5) modify read status.
1.5) Finding other forums.
1.5.1) Listing of other forums.
1.5.2) ability to temporarily get forum messages.
1.5.3) search remote forums for keywords.
1.5.4) optional download of friends forums.
2) Channels
------------------------------------
2.1) Mostly like Forums, additional functionality.
2.1.1) Download files associated with Post.
2.2) Comments
2.2.1) Write a comment.
2.2.2) Reject (downgrade) bad comment.
2.2.3) Control Comments: Allow / Disallow, Pseudo / Authed Comments.
3) Wiki
------------------------------------
3.1) Editing functionality
3.1.1) Access to Latest Version.
3.1.2) Access to Version History. (including who edited).
3.2) Controlling Editing Rights.
3.2.1) Rejecting an Edit.
3.2.2) Changing Edit Rights.
3.3) Searching for Wikis.
3.3.1) Search for keyword.
3.3.2) Search for hashtag.
3.3.3) Search for pattern?
4) Wire (Twitter)
------------------------------------
4.1) Following Friends.
4.1.1) Adding Person.
4.2) Search The Wire.
4.2.1) Search for friends.
4.2.2) Search for hash tags.
4.2.3) Search for keywords.
4.2.4) Search for Retweets.
4.2.5) Search for replies.
5) PhotoShare.
------------------------------------
5.1) Controlling Access.
5.1.1) Friends Only.
5.1.2) Groups Only.
5.1.3) Everyone.
5.1.4) Deleting Photographs.
5.1.4) Deleting Album.
6) Acadeeb
------------------------------------
6.1) Review Article.
6.1.1) Write Review.
6.1.2) Recommend Article.
6.1.3) Get Rating of Article.
6.2) Submit Review of Article
6.2.1) stuff.
6.2.2) stuff.
7) Tracker.
------------------------------------
7.1) Tracker Stuff.