Mostly for the benefit of lj_manage, I think it'd be cool if we could link todo items from communities we are members of into our own personal todo lists.
Not only would this make the item appear on my list, it would also make me be listed as a "User Working on This" on the community todo list. I envision this working as follows:
- Someone from
lj_manage posts an item in their todo list calling for, say "Message Boards in the todo system".
- The team leader (see the posts in
lj_manage for what that means) or the lj_manage contact from
lj_dev will link that todo item into the
lj_dev todo list. This creates a 'symlink', so any changes made to this entry from either list will affect the other. However, only the percentage, status and details can be changed from
lj_dev, and only by the team leader and other nominated individuals.
- I decide that I would like to take on this project (or more likely, I already volunteered to) and I would, from
lj_dev, add the entry to my own todo list, therefore indicating to the todo system that I'm working as a member of the
lj_dev team on the project. Changes I make to the record will again affect the display in the two communities. As I work, I can (from my account) update the status and percentage of the item, but change nothing else.
- When I am done, I mark the item as "100%, Complete" and remove it from my list. The
lj_dev team leader will see that it is done, and unlink it from there too, letting the
lj_manage people know that there is nothing left to do on the project.
There are security considerations to be noted here:
- Users and communities must only be able to link entries from communities.
- Communities can optionally restrict which other users are allowed to link entries, using the friends group mechanism as used for todo list privs now. Alternatively, they can choose to allow all members to link. I anticipate that lj_manage will only allow the other lj_ communities to link, for example, and require users to link from one of those to show whose team they are working in.
- As mentioned above, an item linked from a community to another community will, from the second community, only be updateable by the community maintainer and other nominated user accounts, and they will only be able to update the status, percentage and details.
- Also mentioned above, user accounts will only be able to update the status and percentage of an item from their own account. This is to prevent problems where a malicious user could join a community, grab a todo item, and screw with it before dropping it again.
- Related to the previous point, communities (or perhaps todo entries?) should optionally be restricted so that only a team leader can assign it to a community member. Once added, though, the user should be able to unlink the item at any time.
- Finally, as a last catch-all measure, users should be able to opt-out of this todo linking system altogether, preventing their todo list from being soiled by external tasks. </ol>
From the display perspective, on my personal todo list I would get an extra column called "source" (or similar) which would show me the chain of communities this item is linked through, thus:
Status | P | Item | Date Due | Category | Source |
---|---|---|---|---|---|
0% | ! | Message Boards for Todo System Abstract talk code |
2001-09-21 | LiveJournal | ![]() ![]() |
...and in the lj_manage todo list...
Status | P | Item | Date Due | Category | Taken on By |
---|---|---|---|---|---|
0% | ! | Message Boards for Todo System Abstract talk code |
2001-09-21 | lj_dev | ![]() ![]() |
0% | ! | Create Press Kit Something for interested newspaper journalists to read. |
2001-09-25 | lj_biz | Take on Project |
0% | ! | Rewrite Directory Search Paid users only? |
2001-09-25 | lj_dev |
During my pondering, I decided that it would be a good idea to allow each community and user to specify their own category keywords for the linked entries, since they are liable to all have a different categorisation system.
There's a lot to do here. I'm wondering if anyone has any amendments or additions they think would be necessary or useful, and also if anyone is really itching to work on this. Someone is already working on the todo system I believe, but I can't recall who - does that person want to make this part of the task, or should we wait until that person is done and add it in then?