Hi @all! For a large "Wikis in school" project we have now set up a PmWiki farm. Teachers in up to 150 schools in the region of Osnabrück, Germany will be trained and (hopefully :-) motivated to use wikis with their students for a wide range of settings. Our test users are very happy with the software, but one of the first questions which keeps coming up quite regularly is: "How can I see (in some kind of overview) who did what and how much?"
As a first approximation to that problem I implemented a simple way to count contributions by directly grepping through the page store (in case you're interested - see below [2]. It needs a UNIX environment). But mere numbers don't tell much about a user's activity. One approach is: Our teachers would like to see how much a student contributed to the current state (they are always logged on and all contributions are labelled with author names). In another wiki software I implemented myself some years ago, we have a way to display the current page with highlighted paragraphs - each contributing author is assigned a unique colour. The page thus produces a multi-colored picture and gives a quick impression, who contributed how much to that page. Has anyone created a similar view for PmWiki? Another approach: Calculate the size of all contributions (in bytes/characters) and determine how much of that content was contributed by each author. Of course this is nearly impossible: How to deal with deletions? How to deal with the limitations of paragraph diffs (instead of precise character diffs)? And, finally: Counting characters doesn't tell you anything about quality, of course. But nevertheless: Anyone ever thought about these questions? Any half-finished work that we could use? (Btw.: in [1] we developped some ideas how to classify 'wiki actions' manually - sorry, German only) Anyone interested in the topic of "measuring authors' activity" should feel free to answer (on-list or off-list). We could create a wiki page for collecting ideas, then :-) Thanks for reading and brainstorming, Tobias [1] Tobias Thelen, Clemens Gruber: *Textproduktions- und Kommunikationsprozesse in WikiWikiWebs.* In: Huneke, Hans-Werner (Ed.): Geschriebene Sprache: Strukturen, Erwerb, Modellbildung. Mattes Verlag Heidelberg. S. 183-202. Download: http://tobiasthelen.de/uploads/Wissenschaft/thelen_gruber_2005_textproduktions_und_kommunikationsprozesse_in_wikiwikiwebs.pdf [2] Counting user contributions (include in config.php and say (:usercontrib_stats:) on a properly authorized page :-/ ): ------------------------------------------------------------------------------------------------------------------ usercontrib_stats.php ------------------------------------------------------------------------------------------------------------------ <? Markup('usercontrib_stats','directives',"/\(:usercontrib_stats:\)/e",'PRR(show_stats())'); function show_stats() { $changes=get_stats(); $authors=sort_by_authors($changes); $out=array(); $out[]="!Contributions"; $out[]="||'''Author'''||'''# changes'''||"; foreach ($authors as $author=>$contris) { $out[]="||".$author."||".count($contris)."||"; } return implode("\n",$out); } function get_stats() { $cmd='cd wiki.d; grep "^author:" *'; $handle=popen($cmd,"r"); $liste=array(); while (!feof($handle)) { $line=fgets($handle,4096); $parts=explode('=',$line); $subparts=explode(":",$parts[0]); $liste[]=array('author'=>$parts[1], 'page'=>$subparts[0], 'time'=>$subparts[2]); } fclose($handle); return $liste; } function sort_by_authors($liste) { $authors=array(); foreach ($liste as $l) { if (trim($l['author'])) { $authors[trim($l['author'])][]=array('page'=>$l['page'], 'time'=>$l['time']); } } return $authors; } _______________________________________________ pmwiki-users mailing list [email protected] http://www.pmichaud.com/mailman/listinfo/pmwiki-users
