Blog Action
> User
> Group
> Community (seems to me like a like filter for categories)
User - is like WackoWiki User with various rights on some pages all over the WackoWiki installation,
Group - is like WackoWiki Group with various rights on some pages all over the WackoWiki installation,
Community - is like WackoWiki Group with various rights on some pages but limited to pages of a single cluster.
So I guess Community - is not a separate structure but a limited configuration in WackoWiki.
The only differnece of Community from Group is being limited to a single cluster and having Community feed.
source="/ClusterNameFromWhereToTakePagesAsPosts|global|category:CatName1,CatName2,..." - "/ClusterNameFromWhereToTakePagesAsPosts" - set cluster name where to take pages from, "global" to take pages according to "users", "groups", "addwatched", "addchanged", "addcommented" etc. options, "category:CatName1,CatName2,..." - to take pages from categories like keywords to limit feed by some interests
[sort="1|0"] - 1- new on top, 0 - old on top
[prepage="10|all"] - number of posts per feed page (makes pagination of the feed) or "all" to show all posts
[users="UserName1,UserName2,UserName3,..."] - include only pages owned by listed users to feed
[groups="GroupName1,GroupName2,GroupName3,..."] - include only pages owned by users from listed groups to feed
[limitsizeto="1000|all"] - set the maximum number of shown letters to show in feed (or "all" to show all) then give a link to full page. NB: cut text on dot
[addwatched="1|0"] - 1 - add watched pages to the feed for a certain user, 0 - do not add
[addchanged="1|0"] - 1 - add changed pages to the feed for all users, 0 - do not add
[addcommented="1|0"] - 1 - add changed pages to the feed for all users, 0 - do not add
[mychanges="1|0"] - 1 - add changed pages to the feed for a certain user, 0 - do not add
[mycomments="1|0"] - 1 - add changed pages to the feed for a certain user, 0 - do not add
The confidential stuff should be controlled by ACLs on all stages:
1. ACLs for page where we call feed action.
2. ACLs for each post of feed.
Btw, a presonal feed could be made based on watched pages list (to make correspondents feed - one can just watch the root page of some user's feed cluster), or presonal owned pages list, or many other variations based on "users", "groups", "addwatched", "addchanged", "addcommented" etc. options.
All upper mentioned requires no modification of DB.
blog cluster structure [constants | config| user_settings| action| random settings] hard to change later
// needs to be numeric for ordering
// TODO: add this as config option to Admin panel
// .date('Y/') - 2011
// .date('Y/').date('m/') - 2011/07 (default)
// .date('Y/').date('m/').date('d/') - 2011/07/14
// .date('Y/').date('W/') - 2011/29
$blog_cluster_structure = date('Y/').date('m/');
// TODO: add this as config option to Admin panel
// .date('Y/') - 2011
// .date('Y/').date('m/') - 2011/07 (default)
// .date('Y/').date('m/').date('d/') - 2011/07/14
// .date('Y/').date('W/') - 2011/29
$blog_cluster_structure = date('Y/').date('m/');
> we need a table for cross referencing for all the content we want see /
> put in feed, can be any page
>
Guess we should first implement the features that don't need DB modification and then step to notifications.
What should be done is - RSS and Email notification on new posts in certain feed.
> now we need a common scheme were we place the feeds - how this is done
> in NPJ?
I don't remember exactly how it is done in NPJ. I remember that it does not work properly and was done with multiple requests to the same data that made server work slowly and show the error "server has gone away". So I guess it's not a good example.
> you have regular pages or page clusters but we also have feeds
> NPJ solves this with their node concept like group@npj
>
The node concept is outdated. Now we got openid, openauth and lots of global auth providers so one does not need to establish his own "homenode" to visit other nodes.
Having regular pages and page clusters is enough for the most applications.
> so we allow / enable feeds
> for each
> - cluser
> - user
> - group
> additionally if we want cross referencing we also need handlers and rules
If by "cross referencing" you mean putting ones document to your personal feed or a common group feed - we could let the user mark the existing page with a category for which he has a feed, or watch to add page to personal feed of watched pages.
As for the handlers we'll need some new notification handlers and for the rules maybe a new ACL to prevent page from being marked with a category by some user who is not the owner, or to deny isertion of the certain page in feeds. I think it's more than "read" ACL but less then "comment" ACL, or maybe it's all "read" ACL and we shouldn't make it more complicated with adding any new ACLs.