Talk:Wikistats/ToDo

From S23Wiki
Jump to: navigation, search

Discussion page for Wikistats/ToDo.

closed-zh-tw really closed

Channel #wikimedia-tech

<mutante_> why is the "closed-zh-tw" closed, but still online, in the sense that there is an empty startpage and Special:Statistics?action=raw can be accessed?
<TimStarling> mutante: because Mark Williamson complained that all his precious work was lost when we took it offline
<TimStarling> so we put it back up with a special domain so that he could recover it
<mutante_> TimStarling: if i have to specify the language it (was) in, would it be "Chinese" or English?
<TimStarling> why do you need to know that?
<mutante_> making statistics tables
<mutante_> with a column and link for each
<TimStarling> it shouldn't be in any statistics tables
<mutante_> "lang" "local lang" ..etc
<mutante_> the policy for putting it in statistics table  was/is : a) has a working .wikipedia subdomain  b) has accessible Special:Statistics?action=raw
<mutante_> other policies always cause longer discussions :p
<TimStarling> easily fixed...
<mutante_> by making the stats page unaccessible? :p
<TimStarling> http://closed-zh-tw.wikipedia.org/wiki/Special:Statistics?action=raw
<mutante_> heh, thanks ;p

Die Aktion war kontraproduktiv. Jetzt müssen wir text-en fahren, um weiter die Daten zu bekommen. Hoffentlich machen sie für tlh und tokipona nicht den gleichen Mist. RobiH 00:03, 27 March 2007 (CEST)

Haha,was? Wir müssen sie eben nicht weiter fahren. "<TimStarling> it shouldn't be in any statistics tables"

Warum sollten wir ständig etwas abfragen, wo sich die Zahlen nie ändern werden, was in jeglicher Hinsicht geschlossen ist, und unsere eigene Policy nicht erfüllt?

Die beiden o.g. Kriterien gelten für die Wikipedias-Table. Für die Mediawikis-Table hingegen gilt ein ganz anderes Kriterium: Ist es online erreichbar? Also gehört dieser Eintrag jetzt in die Mediawikis-Table. robiH 82.212.63.18 09:42, 27 March 2007 (CEST)

Feedback needed for Task "Create regexp-Script for Links in "Good" Column of these wikis"

[1] Create regexp-Script for Links in "Good" Column of these wikis (took)


Auf der Seite http://s23.org/wikistats/mediawikis_html.php?sort=stype_desc&th=250&lines=5 finde ich diese Links in der Spalte "Good":

Schauen wir uns zB http://www.hehu.se/wiki/Special:Statistics?action=raw näher an. Wie die url schon erwarten lässt sieht der Quelltext der Seite so aus:

total=3993;good=264;views=272498;edits=14730;users=407;admins=3

-->Dafür soll ich eine regexp bauen??? Wohl kaum... das funktioniert doch schon lange.

dito für http://info.sonicretro.org/Special:Statistics?action=raw

Für beide brauchst Du nix mehr machen. RobiH 13:08, 23 June 2007 (CEST)

Zu http://www.wikidweb.com/wiki/Special:Statistics?action=raw --> TODO Hier kann ich eine nonraw_en.php bauen falls ich soll (ist mir im Moment alles unklar... :-?)

Dito für http://recursostic.javeriana.edu.co/wiki/index.php/Special:Statistics?action=raw in _es

Genau das ist es, was wir brauchen. RobiH 13:08, 23 June 2007 (CEST)

Zu http://www.mein-parteibuch.de/wiki/Spezial:Statistics - sollte bereits mit nonraw_de.php funktionieren, oder nicht?

Ach, die gibt es schon? RobiH 13:08, 23 June 2007 (CEST)
Dann ist der Task hiermit erledigt? --took 13:37, 23 June 2007 (CEST)
Das muß mutante entscheiden. RobiH 13:40, 23 June 2007 (CEST)
took@geist2:~/public_html/wikistats-regexp$ php5 nonraw_es.php
<pre>total2676
total12022
total466865
</..pre>took@geist2:~/public_html/wikistats-regexp$ php5 nonraw_de.php
<pre>total1810
total2025772
total27153
</..pre>took@geist2:~/public_html/wikistats-regexp$ php5 nonraw_en.php
<pre>total25766
total47152
total1444391
</..pre>

@Mutante: Die url ist jetzt jeweils hardgecodet in den scripten... musst du dann so bauen, das da der teil aus der db mit der passenden url eingesetzt wird natülich ;) --took 13:38, 23 June 2007 (CEST)

Eh sorry, aber jetzt muss mir jemand erklären was hieran neu ist. Spanisch, deutsch und englisch non_raw gabs doch schon. Und es ist genauso eine Sonderregel die nur für diese URLs klappt. Oder auf wieviele kann mann die anwenden? Mutante 01:18, 24 June 2007 (CEST)

@mutante: Du wolltest doch text-xx auf regexp umgestellt haben, und eben das hat took jetzt geproggt. RobiH 01:32, 24 June 2007 (CEST)

Schön, das mag die bessere Programmierweise zu sein, und ich kanns auch einabauen, aber ob man nun "$urlpattern = '@there are <b.?>([0-9]*)</b.?> pages@iU'; preg_match_all($urlpattern, $html, $matches);" oder "$total = explode("Thereare",$buffer); $total = explode("totalpages..." macht bringt keinen Unterschied darin wieviele Wikis du damit abfragen kannst, bzw was du dir als Vorteil von regexp erwartet hast. Mutante 18:41, 24 June 2007 (CEST)

Vor allem eine geringere Fehleranfälligkeit. RobiH 20:56, 24 June 2007 (CEST)

Wenn die Zahl nicht direkt hinter exakt den Zeichen "There are" kommt ist es in beiden Fällen das gleiche.

fullack. und was wäre der eigentlich task gewesen? --took 00:57, 14 July 2007 (CEST)

Feedback needed for Task "Create regexp-Script for Hyperwaves. (took)"

Kann mal einer in ganzen deutschen Sätzen mit je einem funktionierendem Beispiel-Link pro gewünschter RegExp und vollständiger Aufzählung aller gewünschten Felder/Daten hier aufschreiben was ich genau machen soll? /me blickts so leider nicht was passieren soll.

Das regexp-Skript soll daraus eigentlich nur folgendes erzeugen (Durchnummeriert und sortierbar, versteht sich):

TypNr Hex-IP Documents Link Title
1 0xd417eb28 85372 Link Hyperwave Root Collection
2 0x811bc836 211286 Link AEIOU Information Server
3 0x811bc833 1484885 Link IICM Information Server
4 0xc0a80112 15126 Link Hyperwave Root Collection

Die Quelldaten dazu finden jeweils wie folgt:

http://www.osec.ch/rootcollection2 (1 entry) (im Quelltext):

    <META NAME="Author" CONTENT="system">
    <META NAME="DocumentType" CONTENT="collection">
    <META NAME="GOid" CONTENT="0xd417eb28_0x00000002">
    <META NAME="HW_ChildAccess" CONTENT="NO_ACCESS">
    <META NAME="HW_CompoundSearchable" CONTENT="true">
    <META NAME="HW_EffectiveAccess" CONTENT="READ_ACCESS">
    <META NAME="HW_ObjectName" CONTENT="_id1_">
    <META NAME="Name" CONTENT="rootcollection2">
    <META NAME="ObjectID" CONTENT="0x00000002">
    <META NAME="Rights" CONTENT="R:a, g everyone; W:a; A:a">
    <META NAME="Subdocs" CONTENT="85372">
    <META NAME="TimeCreated" CONTENT="2003/05/02 11:35:50">
    <META NAME="TimeModified" CONTENT="2003/05/02 11:36:53">
    <META NAME="Type" CONTENT="Document">
    <META NAME="TITLE" LANG="de" CONTENT="Hyperwave Root Collection">
    <META NAME="keywords" LANG="de" CONTENT="">


http://aeiou.iicm.tugraz.at/rootcollection;internal&action=attributes.action (1 entry) (über lynx):

DocumentType: collection 
GOid: 0x811bc836_0x00000002 
HW_EffectiveAccess: READ_ACCESS 
Name: rootcollection 
Subdocs: 211286 
TimeModified: 1996/04/29 08:39:51 GMT 
Title: en:AEIOU Information Server 
Title: ge:AEIOU Informationsserver 
Type: Document 

CSS Statistics: Beispiel (5 entries): http://www2.iicm.tugraz.at/rootcollection;internal&action=attributes.action (über lynx):

DocumentType: collection  
GOid: 0x811bc833_0x00000002  
HW_EffectiveAccess: READ_ACCESS  
Name: rootcollection  
Subdocs: 1484885  
TimeModified: 05/22/2001 07:46:48  
Title: en:IICM Information Server  
Title: ge:IICM Informationsserver  
Type: Document  

Tabbed Statistics (23 entries): http://demo.hyperwave.de/rootcollection;internal&action=dialog.attributes.action (im Quelltext):

  <tr>
    <td class="AttrName">Informationstyp:</td>
    <td class="AttrValue">collection<xy>
</TD></TR>
  <tr>
    <td class="AttrName">Typ:</td>
    <td class="AttrValue">Document<xy>
</TD></TR>
  <tr>
    <td class="AttrName">Objektkennung:</td>
    <td class="AttrValue">0xc0a80112 0x00000002<xy>
</TD></TR>
<!-- function HW_DC_dialogContent end for-loop 0 -->
</TABLE>
</CENTER></DIV>
<!-- end div -->
<script>
document['f14'] = document.forms['f1'];
document.forms['f14'] = document.forms['f1'];
</script>
<DIV CLASS="RealTabBodyContainer" TabNr="4" ID="Tab4"><CENTER>
<script>
gHandleShowTabCallbacks["4"]=[];
</script>
<TABLE ID="TabTable4" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<!-- function HW_DC_dialogContent start for-loop 0 -->
  <tr>
    <td class="AttrName">Verbundsuche:</td>
    <td class="AttrValue">true<xy>
</TD></TR>
<!-- function HW_DC_dialogContent end for-loop 0 -->
</TABLE>
</CENTER></DIV>
<!-- end div -->
<script>
document['f13'] = document.forms['f1'];
document.forms['f13'] = document.forms['f1'];
</script>
<DIV CLASS="RealTabBodyContainer" TabNr="3" ID="Tab3"><CENTER>
<script>
gHandleShowTabCallbacks["3"]=[];
</script>
<TABLE ID="TabTable3" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<!-- function HW_DC_dialogContent start for-loop 0 -->
  <tr>
    <td class="AttrName">Sortierreihenfolge:</td>
    <td class="AttrValue">#S<xy>
</TD></TR>
<!-- function HW_DC_dialogContent end for-loop 0 -->
</TABLE>
</CENTER></DIV>
<!-- end div -->
<script>
document['f12'] = document.forms['f1'];
document.forms['f12'] = document.forms['f1'];
</script>
<DIV CLASS="RealTabBodyContainer" TabNr="2" ID="Tab2"><CENTER>
<script>
gHandleShowTabCallbacks["2"]=[];
</script>
<TABLE ID="TabTable2" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<!-- function HW_DC_dialogContent start for-loop 0 -->
  <tr>
    <td class="AttrName">Besitzer:</td>
    <td class="AttrValue">hwsystem<xy>
</TD></TR>
  <tr>
    <td class="AttrName">Rechte:</td>
    <td class="AttrValue">R:a, g everyone; W:a; A:a<xy>
</TD></TR>
  <tr>
    <td class="AttrName">Rechte des aktuellen Benutzers:</td>
    <td class="AttrValue">READ_ACCESS<xy>
</TD></TR>
  <tr>
    <td class="AttrName">Rechte für aktuelle Collection:</td>
    <td class="AttrValue">NO_ACCESS<xy>
</TD></TR>
<!-- function HW_DC_dialogContent end for-loop 0 -->
</TABLE>
</CENTER></DIV>
<!-- end div -->
<script>
document['f11'] = document.forms['f1'];
document.forms['f11'] = document.forms['f1'];
</script>
<DIV CLASS="RealTabBodyContainer" TabNr="1" ID="Tab1"><CENTER>
<script>
gHandleShowTabCallbacks["1"]=[];
</script>
<TABLE ID="TabTable1" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<!-- function HW_DC_dialogContent start for-loop 0 -->
  <tr>
    <td class="AttrName">Objektname:</td>
    <td class="AttrValue">/<xy>
</TD></TR>
  <tr>
    <td class="AttrName">Aliasname (URL):</td>
    <td class="AttrValue">rootcollection<xy>
</TD></TR>
  <tr>
    <td class="AttrName">Erstellt:</td>
    <td class="AttrValue"><SCRIPT>document.write(transformDate('2004/01/26 22:48:21',HWDate,HW_UI_Date.full,false));</SCRIPT><xy>
</TD></TR>
  <tr>
    <td class="AttrName">Geändert:</td>
    <td class="AttrValue"><SCRIPT>document.write(transformDate('2006/12/29 09:50:30',HWDate,HW_UI_Date.full,false));</SCRIPT><xy>
</TD></TR>
  <tr>
    <td class="AttrName">Link-Karte:</td>
    <td class="AttrValue"><span id="buttoncontainerbutton_id_0" CLASS="ButtonFrame" >
  <button NAME="" ID="button_id_0" TYPE="BUTTON"  onclick="button_button_id_0_onclick_(this)">Ansicht</button>
</span>
<SCRIPT><!--

function button_button_id_0_onclick_(button) {
  button._onclick = function button_button_id_0_inner_onclick_() {
    opDlg('/0x00000000_0x00000002;internal&action=dialog.docreferences.back.action','dialogs');
  }
  return button._onclick();
}
//--></SCRIPT><xy>
</TD></TR>
  <tr>
    <td class="AttrName">Enthaltene Objekte:</td>
    <td class="AttrValue">15126<xy>
</TD></TR>
<!-- function HW_DC_dialogContent end for-loop 0 -->
</TABLE>
</CENTER></DIV>
<!-- end div -->
<script>
document['f10'] = document.forms['f1'];
document.forms['f10'] = document.forms['f1'];
</script>
<DIV CLASS="RealTabBodyContainer" TabNr="0" ID="Tab0"><CENTER>
<script>
gHandleShowTabCallbacks["0"]=[];
</script>
<TABLE ID="TabTable0" BORDER="0" CELLPADDING="0" CELLSPACING="0">
<!-- function HW_DC_dialogContent start for-loop 0 -->
  <tr>
    <td class="AttrName">Titel (Englisch):</td>
    <td class="AttrValue">Hyperwave Root Collection<xy>
</TD></TR>

RobiH 13:30, 23 June 2007 (CEST)

Wieviele Gruppen gibt es hier? Und wieviele sind in jeder Gruppe? Mutante 01:19, 24 June 2007 (CEST)

Added counts. RobiH 01:32, 24 June 2007 (CEST)

done

den für 23 Einträge(TypNr4) hab ich erledigt. @mutante: Lohnen sich die anderen überhaupt? 1 Eintrag?! Ist zu erwarten das es noch andere mit dem gleichen format gibt?

took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection4.php
hexip 0xc0a80112
total 16904
link http://demo.hyperwave.de/rootcollection;internal&action=dialog.attributes.action
title Hyperwave Root Collection

dito für den mit 5 einträgen(TypNr3):

took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection3.php
hexip 0x811bc833
total 1484885
link http://www2.iicm.tugraz.at/rootcollection;internal&action=attributes.action
title IICM Information Server

TypNr 2 funzt mit dem gleichen script wie TypNr 3.....

took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection3.php
hexip 0x811bc836
total 211292
link http://aeiou.iicm.tugraz.at/rootcollection;internal&action=attributes.action
title AEIOU Information Server

...und btw: auch ohne lynx ganz prima


zu TypNr 1:
hinter http://www.osec.ch/rootcollection2 verbirgt sich ein frameset. die gewünschten informationen kann ich dort nicht finden. see also Gespräch mit einem Suchmaschinen-Robot ;P


-->Task erledigt?

Typ 1: Versuchs mal mit der URL http://www.osec.ch/rootcollection2?hyperwave=action%3Dplain.action RobiH 02:43, 14 July 2007 (CEST)
Also die hexip finde ich dort schonmal definitiv nicht, den "total"-count auch nicht - oder hab ich den übersehn? "Title" wird jetzt erfasst... --took 00:48, 23 July 2007 (CEST)
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection1.php|grep d417eb28
took@geist2:~/public_html/wikistats-regexp$ php5 rootcollection1.php
[...]
hexip
total
link http://www.osec.ch/rootcollection2?hyperwave=action%3Dplain.action
title Hyperwave Root Collection
Du hast recht, das isses noch nicht. Versuche mal http://www.osec.ch/rootcollection2 die Meta-Tags im Quelltext des Content-Frames (rechte Maustate) RobiH 06:49, 23 July 2007 (CEST)

Template "Subtasks for new table creation" / checklist

[1] Create new mysql table for XXX-Wikis
[2] XXX-Wikis: Fill table with statsurls
[2] XXX-Wikis: Create update_.php / fill table with values
[2] XXX-Wikis: add update_php to cronjob
[2] XXX-Wikis: create _html
[2] XXX-Wikis: create_wiki, update links in _html
[2] XXX-Wikis: create _csv,_ssv,_xml
[2] XXX-Wikis: update links on Wikistats index
[2] XXX-Wikis: update coalesced_query, check coalesced_html
[2] XXX-Wikis: update largest_query, check largest_html
[2] XXX-Wikis: define new color (hexvalue), check/update legends with color
[2] XXX-Wikis: add Wiki page on S23 with table, update wikistats_extension in mediawiki
[3] XXX-Wikis: optional: create page on XXX-Wikis itself, pasting _wiki code manually
[3] XXX-Wikis: optional: ask took to create autohostlists and implement as cronjob

hmm, i bet still forgot something here

Adding Wikilivres?

Hello, Would you add Wikilivres to the list? It has currently 6,825 pages. Thanks, Yann 00:21, 1 October 2008 (CEST)

Done. RobiH 18:42, 1 October 2008 (CEST)

Edit stats +

How about some stat's like

  1. Number of edits per page
  2. Number of Edits per Day
  3. Edits per User

A spin-of from these could be:

Most edited page's per wiki (Or Topic Trending)


Also What a bout a Twitter bot that posts these stat's?

Just have it run through the day and randomly choses a stat about a random wiki and Tweets it. I have some basics together, (ok so i googled and found a Perl Module and a nice example of how to "Perl Twit" Need to find a way to get data from wikistats/ pages!

1. These figures are not delivered by mediawiki stats, they'd have to be calculated.
2. That would be over 50,000 tweets per day. Who wants to be a follower of that?

RobiH 21:29, 14 June 2011 (CEST)

1. The calculations should be simple enough and im interested in learning _some_ DB stuff any how =)
2. Oh yes maybe not tweet about every thing then, Limit of 17 or 5 tweets a day? Maybe most number of edits in a day, most new pages...?
3. what's the difference between Total, and Good?

--DrOwl 10:28, 15 June 2011 (CEST)

Upgrade to API and automatic bulk additions

The stats are also an incredibly useful list of MediaWikis which can used for various purposes. For instance, I've used it to archive some dozens of wikis (WikiTeam), but I had to look for links to api.php and for license by hand. It would be great if you could automatically switch to API statistics (which give link to api.php). From the "rights" field in siteinfo it's often possible to automatically extract license info as well.
To increase the database, this script could be studied (list of 21000 MediaWikis, code). Thank you, Nemo bis 01:25, 16 July 2011 (CEST)