People tags
Notes on the upcoming lists implementation. Checkout @shashi's people_tags branch for the code.
Contents |
[edit] Beta testing
http://statusnetdev.net/g0 is where the latest code is running. You can sign up for a new account and start testing now! Please send any bug reports or feedback to connect2shashi@gmail.com or to identi.ca/shashi
Note: if you want to test the federation, we will be setting up sub-domains soon.
[edit] Checklist
Here is a (guess of a) list of things to implement.
- Peopletag as list.
-
Decide & implement DB schema - basic caching
-
- Inbox handling in Notice.php
- UI
-
actions/*-
edittag - description, allow deletion / renaming tag -
style peopletag list - autocomplete for tags -- Branched out
- ajax tag editing -- TODO field specific search
-
ajax subscription / unsubscription -
OStatus subscribe / unsubscribe forms
-
-
cache statistics
-
- OStatus & Feeds
-
Discovery - PuSH feed
- use Salmon to keep track of tags from remote instances.
- use salmon to add/remove subscriptions
- RSS
- Atom
-
-
API (see twitter api documentation scroll down to lists section)- List methods (create, update, index, show, destroy, statuses, memberships, subscriptions)
- List Members Methods (index, create, destroy, show)
- List Subscribers Methods (index, create, destroy, show)
- remove need to authenticate where not required.
You can now test the twitter-compatible api at by using http://statusnetdev.net/g0/api as the api path in your twitter client.
[edit] Configuration options
- enable/disable people tags
-
max tags a user can create (default 100) - who can a user tag?
- local users
- local users and remote subscriptions
- any OStatus user
- Plugin to allow tagging groups
- Some super users who don't care about twitter compatibility might want this. Plus this gives an opportunity to develop and show off a pretty comprehensive set of plugin hooks.
[edit] Cache
- local subscribers
- global subscribers
-
tags (tag, tagger, tagged) -- how best to pack this? - statistics
[edit] Documentation
- Some places use the word "peopletags" and some use "people tags" some use "profiletags". Fix this.
- Take time to comprehensively write documentation for every function.
[edit] Manual Tests
- Installation Passed
- Tagging / Untagging locally Passed
- Tagging / Untagging remotely Passed
- No way to figure out private tags Passed
- CacheLog checks with caching enabled Passed
- Tagging / Untagging locally with memcache Passed
- Tagging / Untagging remotely with memcache Passed
- Tag Autocomplete Passed
- @# replies Passed
- API tests Unknown
[edit] Discussion
Things yet to be figured out:
-
How can peopletags and lists coexist?-
lists (on twitter) have a description that go with them, peopletags don't, but peopletags are self-descriptive and cooler. They can also be used to send notices using the @# syntax.
-
-- let peopletags have descriptions. Send an @# notice to everyone in the peopletag who are subscribed to you as a mention. Basic idea is to keep the ease and awesomeness of peopletagging interface and also the goodness of twitter's list interface.
-
Should groups be allowed to be included in lists? (they are themselves lists of people). There are a few issues with this:- maybe, a plugin.- Twitter API compatibility
- Showing both users and groups in the same view
Feel free to discuss!
[edit] OStatus workflow
- New activity verb - ostatus:untag being used
[edit] Discovery and Subscription process
-
Peopletag represented as a list activity object of person activity objects is the activity:subject of the atom feed. - Rest of it works exactly like follow/unfollow for groups.
[edit] Tags by remote servers
-
a tag/untag activity object comes with a "target" which is the peopletag and an "object" which is the remote person being tagged. "actor" is the tagger - garbageCollect user's feed.
[edit] UI Notes
The sidebar is getting too cluttered, need feedbacks and suggestions.
-
A peopletag list item widget has a (un)subscribe button, statistics: no. of members & subscribers -
Profile list item widget will have editable tags with autocomplete. - Sidebar widgets peopletag mini list:
-
has a mini avatar, username & tag, statistics on mouseover! - each item has a height of 50px which is huge and needed to accommodate the avatar
-
- List of sidebar widgets:
-
Public page:- List of tags with largest subscribers
-
- Profile page:
- Tag cloud by most subscribed
- Latest subscriptions
- Peopletagsbyuser page
- tag cloud by most subscribed
- Peopletagsforuser page
- tag cloud by frequency