User:Jukeboksi/Chat Gallery/11.10.2003 with Brion
PLEASE DON'T LINK TO ANY "ARTICLE" FROM THIS PAGE, THEY ARE HERE JUST TO ILLUSTRATE A POSSIBLE DESIGN STRUCTURE
[09:04] Juxo: i've been thinking about this "Campaign management by Wiki" thingy
[09:04] Juxo: but since there is the "score" in each campaign
[09:04] Juxo: which makes it rather suspect to vandalism
[09:05] Juxo: like swithcing a "Boycott" to "Endorse" just by switching the score from -3 to 3
[09:05] brion: hmm
[09:06] Juxo: so the Campaign:Some Campaign pages have to be protected and unprotected on demand
[09:06] Juxo: or portions of them??
[09:06] Juxo: how difficult would you figure it to be to implement UNIX-style user/group scheme in MediaWiki?
[09:06] brion: perhaps you could set something up to import data into the page; the data itself would be more protected
[09:06] brion: for whole pages, not too hard
[09:07] brion: with some slight expansion of existing usage
[09:07] Juxo: hmm
[09:07] brion: so the 'cur_restrictions' field could include things other than 'sysop'
[09:07] brion: arbitrary groups
[09:07] Juxo: i've never needed to protect a page
[09:07] Juxo: how is it like
[09:08] Juxo: so if you logged in as sysop then there is an "edit this Page" button?
[09:08] Juxo: on a protected page
[09:08] brion: right
[09:10] Juxo: there are situations like Party A (A) and Party B (B) doing distinct campaigns on the same issue and then they decide to merge the campaigns and the result is that both A and B have equal rights to modify the merged campaign so then there would have to be groups A, B and A-and-B
[09:11] Juxo: it would ease the development work of The Consumerium Exchange if campaign management was done in the Content Wiki
[09:11] brion: hmm
[09:11] brion: rather than A-and-B it seems simpler to grant access to both groups A and B
[09:12] Juxo: you are right
[09:12] brion: or maybe that's the same thing
[09:12] brion: my mind is going :)
[09:12] Juxo: i'm not thinking straight
[09:12] Juxo: i went to bed on the wrong feet
[09:12] Juxo: as you might recall
[09:12] brion: :)
[09:12] * Juxo coffee
[09:24] Juxo: hmmm
[09:25] Juxo: come to think of it majority of The Consumerium Exchange could be implemented in wiki
[09:25] Juxo: maybe
[09:25] Juxo: with proper page protection
[09:25] Juxo: and proper syntax
[09:27] Juxo: and just inserting hooks into the page edit that look up the changes in variables and update the "backend" that calculates indices, composite instruments and peer-review values
[09:27] Juxo: hmm
[09:27] Juxo: hmm
[09:27] Juxo: hmm
[09:27] brion: could do, sure
[09:27] Juxo: then there is just the problem of security
[09:27] Juxo: though https would help some
[09:28] Juxo: and no reason why not GnuPG signatures of article versions could not be added
[09:28] Juxo: so we would have
[09:30] Juxo: [[User:]], Group:, Campaign: ???
[09:32] * Juxo gone to sql
[09:35] Juxo: user.user_rights <-> cur.restrictions ???
[09:36] brion: they're actually comma-separated lists
[09:36] brion: though in practice this is rare
[09:37] brion: and not all code is set up to support such use
[09:37] Juxo: so it's no hack at all to have any number of user.user_rights?
[09:38] brion: right, but i've never tested arbitrary usage
[09:38] brion: and there's no ui for creating such priviledges/access lists
[09:38] Juxo: I'll have to code it
[09:38] brion: :)
[09:44] Juxo: if cur.restrictions == the article is editable and if cur.restrictions == 'CompanyXHatersEurope,CompanyXHatersUSA' then the article is editable only by UnitedCompanyHaters
[09:44] brion: right
[09:44] brion: "in theory"
[09:45] Juxo: and who/where gets to set cur.restrictions currently (outside of sql) ?
[09:46] brion: functions in Title i think
[09:46] brion: which simply switch between and 'sysop'
[09:47] Juxo: we have to set it up so that whoever is in cur.restrictions can add new members and so that whoever is in cur.restrictions can remove oneself from there
[09:47] Juxo: i have to think
[09:48] Juxo: now the crucial question:
[09:49] Juxo: is user.user_rights also a comma separated list?
[09:49] brion: yes
[09:49] Juxo: YES!!!
[09:49] Juxo: then it's mostly a question of making some new UI for group-management
[09:50] Juxo: oh down with the XML... we are wiki-bound
[09:50] Juxo: :)
[09:50] brion: hehe
[09:54] Juxo: i guess consumerium is in for the rererevised design paradigm ;)
[09:58] Juxo: hmm
[10:00] Juxo: User:UserName would be as in wikipedia
[10:01] Juxo: User:UserName/Keys would be designated for publishing keys
[10:05] Juxo: Group:GroupName poses problems like we wouldn't want to have folk hi-jacking known names eg. Amnesty International and such. so...
[10:07] Juxo: Group:GroupName would be created upon request by sysops
[10:09] Juxo: with cur.restriction == GroupName
[10:11] Juxo: Group:GroupName/Keys would be designated for publishing keys the group uses to sign articles
[10:15] Juxo: WikiGroup:WikiGroupName would be used when Group:s and/or [[User:]]s decide to combine forces for some cause. With a strict policy of not selecting names of real world organisations like UN would definatelly be renamed by the control freaks in charge of irrigation systems
[10:16] Juxo: subarticle Keys as before
[10:17] Juxo: and cur.restriction = $prefix . $WikiGroupName;
[10:20] brion: at present there's no restrictions on pages that don't exist yet
[10:20] brion: might want ot hack something in for subpages for instance
[10:21] Juxo: Campaign:CampaignName/Members would be used to harvest all [[User:]], Group: and WikiGroup: links recursively to determine the momentum of the campaign
[10:24] Juxo: Campaign:CampaignName/Vote could be used as a link-to target from User:UserName/MyVotes, Group:GroupName/OurVotes, WikiGroup:WikiGroupName/OurVotes, which could naturally be protected by their respective members
[10:24] Juxo: ...used also to weigh the momentum of the Campaign:
[10:28] Juxo: User:UserName won't propably get her/his own unique user.user_rights entry
[10:30] Juxo: But there won't be much need for that likely. Like there should be this social contract that _you_don't_touch_ User:NotMyUserName/MyVotes or User:NotMyUserName/Keys
</nowiki>