Wikiup Diskussion:Mentorenprogramm/Versionswechsel
Manuell gepflegtes Archiv. Zu früh archivierte Beiträge einfach wieder hervorholen.
mein persönliches beispiel für sone portierung...:
-> purwin.de (die originäre, äusserst umfangreiche kunst-homepage): IIS/CF/Access
-> purwin.artkatalog.net: (eine 'abgespeckte', essentielle (ohne netzkunstprojekte usw. , natürlich!) variante in Apache/PHP/MySql...)
Inaktive Mentees und Bot
Hallo, da ihr die DB gerade umgestaltet wollte ich auch mal meinen Hut in den Ring werfen und fragen, ob es keine Idee wäre meine Tätigkeit (Mentoren informieren, dass ihre Mentees inaktiv sind) zu auomatisieren via Bot. Ich würde mir vorstellen, dass nach etwas mehr als der offiziellen Betreuungszeit (also nach eine Woche nach den zwei Monaten zum Beispiel) dem Mentor eine Nachricht geschickt wird, dass Mentee XY inaktiv ist. Möglicherweise nach einer weiteren Woche eine weitere Mahnvorlage, sollte es vergessen werden. Ob es der Mentor dann tut, das ist sein Kaffee. Zusätzlich sollte die Möglichkeit einer Opt-Out Liste entstehen, in der man sich jeglichen Benachrichtungen entziehen kann, denn einige Mentoren betreiben da wirklich fast Statistik und die haben für gewöhnlich alles unter Kontrolle. Nur eine Idee ... -- Freedom Wizard 13:35, 7. Jun. 2010 (CEST)
- Ich würde das eher andersrum machen: Wer will, kann sich eintragen. Genrell ist das aber eine gute Idee, die gerne auch über das Webinterface verwaltet werden kann, sodass der Bot letztendlich die Daten aus der p_dewpmp-Datenbank ziehen kann. Welcher Bot das dann letztendlich macht, kann ja noch überlegt werden – er müsste halt als dewpmp laufen, da die DB privat ist. --ireas Diskussion // Bewertung 13:39, 7. Jun. 2010 (CEST)
- Dafür wäre ich dankbar ... --Freedom Wizard 19:50, 7. Jun. 2010 (CEST)
Redlinux
also ich "kann" php (+MySQL natürlich) - Java ist nicht "mein Ding" - wenn Euch das was hilft ... (?) lg Redlinux·→·☺·RM 21:34, 7. Jun. 2010 (CEST)
- Java brauchen wir hoffentlich auch nicht. :) Hast du einen Toolserver-Account? Wenn ja, kannst du dich zum Projekt dewpmp hinzufügen lassen. Und ganz wichtig: Herzlich willkommen im Team und viel Spaß. :) --ireas Diskussion // Bewertung 21:38, 7. Jun. 2010 (CEST)
- Hallo Ireas, danke für den Hinweis, ich hab allerdings offen und ehrlich gesagt mich für den wiki-Toolserver bislang nur als "Nutzender" interessiert und halt ggf. speziell fürs MP daran gedacht was zu machen. Allgemein hab ich nicht vor in dem Bereich hochaktiv zu werden. Also, wenn Du meinst, daß es trotzdem Sinn macht, dann kann ich mich da ja mal um einen Account kümmern. Viele Grüße Redlinux·→·☺·RM 00:07, 5. Jul. 2010 (CEST)
Newsticker
Das Grundgerüst steht: Ich kann Mentees wie Mentoren suchen, betrachten, die Querbeziehungen sind ersichtlich. Nun folgt die eigentliche Aufgabe: die Feinheiten. Bei Verbesserungsvorschlägen bitte einen JIRA-Bugreport aufmachen. Danke! --ireas {d · c · b} 20:49, 22. Jul. 2010 (CEST)
- Hallo Ireas, ich habe die Anwendung schon letzte Nacht getestet und bin sehr beeindruckt von dem, was fertig ist. Genau so hatte hätte ich sie mir gewünscht, mit übersichtlicher Oberfläche, informativen und verständlichen Texten sowie barrierefreiem und validem Code. Eine Reihe kleiner Wünsche möchte ich noch loswerden. Einen Jira-Zugang habe ich schon, einen Toolserver-Zugang noch nicht. Also öffne ich am besten Bugreports. Ähnliche Anliegen kann ich sicher zusammenfassen? Sollten sie auf Englisch verfasst sein? Ist die Datenbankstruktur dokumentiert? Viele Grüße --Wiegels „…“ 21:26, 22. Jul. 2010 (CEST)
- Hallo Wiegels, schön, dass es dir gefällt. :-) Zusammenfassen: gerne. Sprache: egal. Datenbankstruktur: Ja, hier (du musst etwas runterscrollen). Wobei – dokumentiert ist vielleicht etwas viel gesagt, auf jeden Fall ist sie dort dargestellt. ;-) Viele Grüße, --ireas {d · c · b} 21:31, 22. Jul. 2010 (CEST)
hallo Ireas!
die darstellung sollte imo schriftmässig erzwungen werden: am besten mit dem meta-tag <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> .
denn sonst passiert sowas (bei den utf8-nerds; gerade bei Wikipedianern recht häufig anzutreffen):
->umlautfehler im utf8-zeichensatz
lg, ulli p. (nach erstem kurztest der neuversion)
- Öhm, sieht echt schick aus, hat aber nen Fehler. Bei MittlererWeg wird angezeigt, er hätte keine Artikel geschrieben. Er hat aber schon mehrere hundert. XenonX3 - (☎:±) 00:09, 23. Jul. 2010 (CEST)
- ...das liegt daran, dasses nich online iss, sondern auf dem stand von vor einem monat. wir hatten das schonmal bei den vorschlägen von Reinhard Kraasch - erstmal muß dieses online-update geklärt werden! ich kann nich jedesmal db-copies verschicken... --NB/archiv MP-DB 00:11, 23. Jul. 2010 (CEST)
- Alles klar! XenonX3 - (☎:±) 00:14, 23. Jul. 2010 (CEST)
- Da muss ein php header("Content-Type: text/html; charset=utf-8"); in die index.php, aber ich will ireas nicht reinfuschen.
- Das mit neuen db-copies bringt nichts, solange wir noch nicht in der lange sind, diese dann anschließend auch live weiterzuführen. Das ist erstmal ein Testsystem. Merlissimo 00:14, 23. Jul. 2010 (CEST)
- ...das liegt daran, dasses nich online iss, sondern auf dem stand von vor einem monat. wir hatten das schonmal bei den vorschlägen von Reinhard Kraasch - erstmal muß dieses online-update geklärt werden! ich kann nich jedesmal db-copies verschicken... --NB/archiv MP-DB 00:11, 23. Jul. 2010 (CEST)
- ...sorry - ich korrigiere mich: es liegt daran, daß nur die aktuellen neulinge aus der NB berücksichtigt werden. Mittlerer Weg iss ja schon seit urzeiten erfasst... es müssen aber auch die archivierten berücksichtigt werden - der war natürlich auch schon letzten monat dabei... lg, --NB/archiv MP-DB 00:17, 23. Jul. 2010 (CEST)
an die PHP-leute:
...ein unbedingt zu schlagendes (oder wenigstens annähernd erreichbares) feature der PHP-variante sollte es sein, query-populated selectfields zu ermöglichen. so wie in der jetzigen db-suchfunktion: man aktiviert das selectfeld(danach isses mit pünktchen umrandet, also 'markiert') und es genügen die anfangsbuchstaben - im idealfall nur drei oder so - um auf einen der 3.300 mentees des gesamtselects zu kommen. die notwendigkeit, exakt komplette namen wie "Kuchenbuch-Henneberg thomas" eintippen zu müssen, halte ich für ne zumutung. müsste selbst ohne großbuchstaben gehn... derzeit genügt bei mir "kuc" ! lg, --NB/archiv MP-DB 00:38, 23. Jul. 2010 (CEST)
- ;-) -> jira Merlissimo 00:42, 23. Jul. 2010 (CEST)
- ... :-)) -> 0228 9814533 oder 0179 4567333 !! ... mit jira hab ich leider auchn problem...
- (tut mir ja leid, dassich hier ColdFusion-selbstverständlichkeiten anfordere - aber wir wollen uns doch auf keinen fall verschlechtern mit der neuen version, oder? lg, --NB/archiv MP-DB 00:48, 23. Jul. 2010 (CEST)
...ich sage dies nich umsonst. selectfields (die nach aussen nur den "first entry" zeigen - nach dem aufklappen aber unbegrenzt lang sind und gescrollt werden können) sind für mich das A und O jeder db-orientierten anwendung. in CF ab 1995 (3 jahre nach erfindung des www) möglich - an PHP war damals noch garnich zu denken ;) ...
wer auch immer von den PHP-freaks weiß, wie sowas programmierungstechnisch aussieht, der möge sich melden. ich gebe ihm mindestens ein bier aus ;)) ! z.b. AleXXw ???
lg, ulli p.
- Kleines Beispiel zum Rumspielen: http://toolserver.org/~dewpmp/search.html Merlissimo 02:32, 23. Jul. 2010 (CEST)
- ...und es geht doch - klasse, merl!! jetzt noch den code bitte (damit ich es auch nachvollziehen kann)
- danke dir, --ulli purwin fragen? 02:40, 23. Jul. 2010 (CEST)
- Das ist nichts großes. Ich habe mich einfach JQuery bedient. search.html kannst du dir ja so ansehen. Ein kleines Formular, was nach der Eingabe von z.B. "ku" http://toolserver.org/~dewpmp/search.php?queryString=ku aufruft. search.php sieht dann so aus:
<?php
$db['de'] = mysql_connect(...); //db-Verbdinung - Code ausgelassen
$querystring = $_REQUEST['queryString'];
if(!isset($querystring) || strlen($querystring)<=0) return;
$querystring = str_replace(' ', '_', $querystring);
$sql = "(select mentee_user_name AS value from p_dewpmp.mentee WHERE mentee_user_name LIKE '".mysql_real_escape_string($querystring)."%' LIMIT 5)";
$sql .= " UNION ";
$sql .= "(select mentor_user_name AS value from p_dewpmp.mentor WHERE mentor_user_name LIKE '".mysql_real_escape_string($querystring)."%' LIMIT 5) ORDER BY value";
$result = mysql_query($sql, $db['de']);
while ($row = mysql_fetch_assoc($result)) {
echo '<li onClick="fill(\''.$row['value'].'\');">'.$row['value'].'</li>';
}
?>
- Beim Klick auf ein Ergebnis wird fill aufgerufen, was den Wert in das Inputfeld einfügt und submit aufruft. Wenn du es ohne jquery machen willst musst du halt selbst ein XMLHttpRequest-Object erstellen (mit Fallback zu ActiveX für IE6. Das Ergebnis wird so in das suggestions-div eingefügt.
- Das Ergebnis wird dann einfach ireas Script weitergeleitet. Er sucht dann nochmal ordentlich mit "SELECT * FROM mentor WHERE mentor_user_name REGEXP :nameregexp ORDER BY mentor_user_name". Wenn du die Vorschlagauswahl nicht nutzt bekommt du halt eine Auswahlliste mit Namen, die den String enthalten. Merlissimo 03:03, 23. Jul. 2010 (CEST)
- Hallo Ulli, falls es dir um die schnelle Suche nach Mentees geht, so reicht jetzt schon die Eingabe von „kuc“ im Textfeld, um den einen genannten Mentee zu finden, weil bei nicht übereinstimmendem Namen mit einer Buchstabenfolge nach Namensbestandteilen gesucht wird. Die Suche kann wahlweise nach Namensanfang oder -bestandteil an beliebiger Stelle erfolgen (vgl. Suche nach „^henne“ bzw. „henne“). Ich bin nicht gegen den Vorschlag, eine zusätzliche Auswahlliste mit allen Namen anzubieten, bitte aber zu zu bedenken, dass sie eine Freitextsuche (zumal mit regulären Ausdrücken) nicht ersetzen kann und dass für die Anzeige der Namensliste erstmal alle tausenden Listeneinträge zum Browser des Benutzers übertragen werden müssen. Bei einer Umsetzung mit PHP würde eine Folge von option-Elementen mit sortierten Wert-Text-Paaren aus dem Ergebnis einer Datenbankabfrage angelegt, was nicht schwer ist. Dass dem Benutzer in einer fokussierten (punktierter Rahmen) Liste nach Eingabe der Anfangszeichen passende Einträge angezeigt werden, ist eine Leistung des Browsers, nicht der Server-Software. --Wiegels „…“ 02:44, 23. Jul. 2010 (CEST)
- ...ich hatte es vor einigen stunden mal ausprobiert - da war es noch nich so: 'kuc' gab einfach nur '0'...
- aber umso besser, wenn es jetzt verbessert wurde - sorry, merl, für die zusatzaufgabe! wenn du das auch gewusst hättest, hättest dus mir sicher gesagt und dir die arbeit erspart, oder ;) ?
- ernst beiseite: wenns klappt, isses ok. ich hätte nur gerne den PHP-code dafür - sonst nix. lg, --NB/archiv MP-DB 02:59, 23. Jul. 2010 (CEST)
Ich habe jetzt der Einfachheit halber jQuery-UIs Autocompletion-Modul verwendet, um im Suchmodus bei der Suche nach entweder Mentoren oder Neulingen Vorschläge zu unterbreiten. Ist das so okay? Oder sollen wir Merlissimos Lösung einbauen? Beides hat Vor- und Nachteile, die kann man ja leicht sehen. ;-) Ich habe außerdem die Knöpfe und Kreuzchen in jQuery-UI-Dinge umgewandelt (ein Zeilchen Code). Ist das so okay? Lieber wieder klassisch? Wichtiger Hinweis zum Schluss: Natürlich funktioniert das alles auch ohne Javascript; dieses dient nur der Verschönerung. --ireas {d · c · b} 19:55, 25. Jul. 2010 (CEST)
- Lässt sich die Vervollständigung nicht auch für den Fall „Mentor oder Mentee“ (nicht „Neuling“) nutzen? Ich persönlich bevorzuge ein Design, bei dem Schaltflächen („Suchen“) anders aussehen als Links (im Menü), aber ich werde wohl kein regelmäßiger Nutzer der Web-Anwendung sein. --Wiegels „…“ 00:56, 26. Jul. 2010 (CEST)
Crashkurs Templatesystem
Kurzer Einblick, wie das Templatesystem aufgebaut ist, über die Vorgehensweise zum Erstellen einer neuen Seite.
- Implementiere das Interface Page in der Datei include/mypage.php:
class MyPage implements Page
{
private $db;
private $access;
public function __construct($db, $access) # hier können die MP-, die WP-Datenbank oder das Modul fürs Login ($access) übergeben werden -- je nach Bedarf
{
# diese zeilen und die Membervariablen sind logischerweise entsprechend anzupassen
$this->db = $db;
$this->access = $access;
}
public function display()
{
$rv = array();
$rv['page'] = 'mypage'; # → templates/mypage.html wird geladen
$rv['title'] = 'Toller Titel'; # → Inhalt des title-Tags
$rv['data'] = array(); # dieses Array steht in mypage.html als $this->data zur Verfügung. Hier muss alles reinkommen.
# ... $rv['data'] füllen ...
if (error)
{
return 'Error message'; # Die Rückgabe eines Strings ergibt eine Fehlermeldung.
}
# alles okay → array zurückgeben
return $rv;
}
}
- Modifiziere include/main.php:
- Die Datei include/mypage.php muss eingebunden werden.
- Im Konstruktor muss in $pages der Eintrag 'mypage' => new MyPage($this->db, $this->access) hinzugefügt werden (→ Zugriff über action=mypage).
Alles klar? :D --ireas {d · c · b} 23:03, 26. Jul. 2010 (CEST)
Insert und Delete
Brauchen wir spezielle Insert- und Delete-GUIs? In meinen Augen nein; für den Bot reicht eine API (oder er macht das direkt per DB); und in den wenigen Fällen, in denen von uns jemand einfügen oder löschen muss, kann er das auch über die CLI machen, oder? --ireas {d · c · b} 00:25, 18. Aug. 2010 (CEST)
- ...nach meiner erfahrung brauchen die mentoren überhaupt keine weiteren sql-funktionen als "SELECT". mit "INSERT" und "UPDATE" wurden bisher schon eine menge falscheingaben gemacht, was dann über logfiles hinterher entdeckt, nachvollzogen und geändert werden musste. "DELETE" kam so selten vor, daß es reichte, wenn ich es selber machte. heute bin ich froh darüber, einer kleinen, hochmotivierten und erfahrenen gruppe (den "wizards") speziell für nicht-automatisierbare wartungsarbeiten eine gui gebastelt zu haben - das hat den vorteil verlässlich zu sein und keiner der wizards hat sich je über "bürokratie, unnötige mehrarbeit, statistik-wahn" o. ä. beschwert. im grunde ist das jetzige mentoren-login noch ein relikt aus der zeit vor der bot-unterstützung - und damals wollte es die mehrheit der mentoren garnicht haben, weswegen es auch freiwillig war. heute rufen viele der neu-mentoren schon nach den zugangsdaten, bevor sie überhaupt einen mentee haben. und wenns dann hinterher drauf ankommt, es sinnvoll anzuwenden, machen sie nicht mit. dann doch lieber nur eine handvoll zuverlässiger mentoren mit erweiterten rechten auf der db... lg, --NB/archiv MP-DB 01:38, 18. Aug. 2010 (CEST)
Status?
Ahoi, an dem technischen Kram bin ich zwar nicht beteiligt, aber ich wollte mal in Erfahrung bringen, welchen Status wir schon haben. Ist ein Ende in Sicht? Danke und Gruß, -- Freedom Wizard 12:27, 3. Okt. 2010 (CEST)
- ...ich versuche grade, mit dieser 4-fachen gegenüberstellung (WP:MP, CF-db, PhP-test I auf toolserver, Php-test II auf artkatalog.net) vergleiche anzustellen, um das jeweils beste aus den vorhandenen varianten herauszufiltern. genau darüber wollten aber wir auch in Meißen diskutieren. lg, --NB/archiv MP-DB 14:26, 3. Okt. 2010 (CEST)
- Wann können wir deine Archivsammlung begutachten Zacke? -- Freedom Wizard 18:46, 29. Okt. 2010 (CEST)
- ...und ich weiß schon garnich mehr, was ich als erstes machen soll.
- @Zacki: wärest du evtll. bereit, mich für ne weile als "php-bot" abzulösen? zugangsdaten schick ich dir per mail... morgen werde ich nochmal meine test-db auf artkatalog.net mit der cf-db abgleichen (incl. der artikelzählung) und du müsstest nur die neuen mentees in die NB bzw. ins NB-archiv eintragen. ich werde mich dann mit Euku kurzschliessen - falls der nächste woche kann, und nach Aachen fahren... lg, --NB/archiv MP-DB 15:14, 30. Okt. 2010 (CEST)
- Also bei mir ist der Status momentan wie folgt: Es fehlen noch:
- die „Neulingsbörse“. [done]
- die Schreib-API für Eukus Bot. Die werde ich diese Woche in Angriff nehmen. [done]
- die restlichen Maintenance-Skripte. Diese will ich nächste Woche machen.
- Grüße, --ireas :disk: :bew: 23:08, 7. Nov. 2010 (CET)
- ...das freut mich sehr, Ireas! sagt mir bitte noch genau bescheid, wann ihr den endgültigen aktuellen db-stand haben wollt - ich schicke dann die konvertierten tabellen wie gehabt per mail. bis denne, --NB/archiv MP-DB 12:59, 8. Nov. 2010 (CET)