Difference between revisions of "JKey Player & JKey Editor"

From Biowikifarm Metawiki
Jump to: navigation, search
 
(11 intermediate revisions by the same user not shown)
Line 4: Line 4:
  
 
== Todos JKey Player ==
 
== Todos JKey Player ==
 +
* neue Bilder für historyActiveOn & historyActiveOff
 
* Stresstest
 
* Stresstest
  
== Todos JKey Editor==
+
== Todos JKey Editor ==
 +
* neues Bild für edtIconActionEdit
 
* Renummerierung der Couplets beim Bewegen
 
* Renummerierung der Couplets beim Bewegen
 
: a) Referenzen der zu den coupletIDs gehörenden objs mit den itemIDs im coupletMemory tauschen
 
: a) Referenzen der zu den coupletIDs gehörenden objs mit den itemIDs im coupletMemory tauschen
 
: b) transformiert: für alle itemIDs zugehörig zu einer coupletID (siehe coupletMemory) die ...unnamed_x (die mit class jedtCoupletID_jedtParseLeadID) suchen und analog zu coupletID den Wechsel anpassen
 
: b) transformiert: für alle itemIDs zugehörig zu einer coupletID (siehe coupletMemory) die ...unnamed_x (die mit class jedtCoupletID_jedtParseLeadID) suchen und analog zu coupletID den Wechsel anpassen
: c) transformiert: analog alle ...unnamed_x (die mit class jedtNextCouplet), sprich "Next Lead" anpassen
+
: c) transformiert: analog ...unnamed_x (die mit class jedtNextCouplet), sprich "Next Lead" anpassen, wenn nötig
: d) transformiert: alle ...unnames_xc (die mit class jedtCoupletBacklink) anpassen
+
: d) transformiert: alle ...unnames_xc (die mit class jedtCoupletBacklink) anpassen, wenn nötig
: e) nicht transformiert: dt-nodeid suchen und Inhalt in der cell direkt ändern; nach leadalt suchen und schaun ob "(\d+)" und anpassen
+
: e) nicht transformiert: dt-nodeid suchen und Inhalt in der cell direkt ändern; nach leadalt suchen und schaun ob "(\d+)" und anpassen, wenn nötig
: f) nicht transformiert: "span.leadon a" links anpassen
+
: f) nicht transformiert: "span.leadon a" links anpassen, wenn nötig
: g) natürlich auch alle anderen Couplets betrachten und ändern, die auf die "bewegten" verweisen ("Next Lead" || "span.leadon a")
+
: g) natürlich auch "alle anderen Couplets" betrachten und ändern, die auf die "bewegten" verweisen ("Next Lead" || "span.leadon a")
: h) Achtung: für alle Couplets, die nicht in den Bearbeiten-Modus überführt wurden, ist das Flag wasEdited natürlich noch nicht gesetzt worden im coupletMemory - also entwedern neues Flag mit neuem Wert einführen im itemID obj und dann beim Serialisieren beachten oder direkt im jedtParsedPageData in den uniqueParsedID objs ändern
+
: h) Achtung: für alle Couplets, die nicht in den Bearbeiten-Modus überführt wurden, ist das Flag wasEdited natürlich noch nicht gesetzt worden im coupletMemory - also entwedern neues Flag mit neuem Wert einführen im itemID obj und dann beim Serialisieren beachten oder direkt im jedtParsedPageData in den uniqueParsedID objs ändern (letzteres würde verlangen, das die felder dann einzeln serialisiert werden); bei "alle anderen Couplets" auch Änderungen merken
 
: i) die IDs der beiden getauschten Rows mit class edtCouplet sowie table mit class coupletItems anpassen -> letzten Teil ..._coupletX bzw ..._coupletItemsX das X
 
: i) die IDs der beiden getauschten Rows mit class edtCouplet sowie table mit class coupletItems anpassen -> letzten Teil ..._coupletX bzw ..._coupletItemsX das X
 
* Renummerierung aller Couplets beim Speichern
 
* Renummerierung aller Couplets beim Speichern
 
* Stresstest
 
* Stresstest
  
== Aufbau jedtParsedPageData und coupletMemory ==
+
== Infos JKey Player ==
 +
* wenn in "Key Start" ein field: "flags" existiert, kann mit den Werten "jkey-autostart" und "jkey-nocontrols" zusätzliche Funktionalität gesteuert werden
 +
* "jkey-autostart" - Schlüssel automatisch in den interaktiven Modus wechseln
 +
* "jkey-nocontrols" - keine Player Controls anbieten
 +
 
 +
== Infos JKey Editor ==
 
* jedtParsedPageData enthält die geparste Struktur einer WikiSeite
 
* jedtParsedPageData enthält die geparste Struktur einer WikiSeite
 
* für jeden Schlüssel, wenn er bearbeitet wird, werden zusätzliche Felder (wasEdited, domRef, coupletMemory) innerhalb des zugehörigen "Key Start"-Templates eingefügt, durch die der Bearbeiten-Vorgang dokumentiert wird (weitere Änderungen an der Struktur werden nicht vorgenommen)
 
* für jeden Schlüssel, wenn er bearbeitet wird, werden zusätzliche Felder (wasEdited, domRef, coupletMemory) innerhalb des zugehörigen "Key Start"-Templates eingefügt, durch die der Bearbeiten-Vorgang dokumentiert wird (weitere Änderungen an der Struktur werden nicht vorgenommen)
Line 65: Line 72:
 
::::: wasOrigin : true, // default gesetzt bei original geparstem "decisons"
 
::::: wasOrigin : true, // default gesetzt bei original geparstem "decisons"
 
::::: wasEdited : false // wird gesetzt, sobald Couplet in Bearbeiten-Modus transformiert wird
 
::::: wasEdited : false // wird gesetzt, sobald Couplet in Bearbeiten-Modus transformiert wird
 +
::::: hasNamedID : true
 
:::: },
 
:::: },
 
:::: "4n1": { // neue itemID entstanden durch die AddNew action; n ist der separator; Zahl davor ist Verweis auf uniqueParsedID und dessen obj
 
:::: "4n1": { // neue itemID entstanden durch die AddNew action; n ist der separator; Zahl davor ist Verweis auf uniqueParsedID und dessen obj
 
::::: wasOrigin : false, // wird gesetzt, wenn AddNew action ausgeführt wird
 
::::: wasOrigin : false, // wird gesetzt, wenn AddNew action ausgeführt wird
 
::::: wasEdited : true // wird gesetzt, wenn AddNew action ausgeführt wird
 
::::: wasEdited : true // wird gesetzt, wenn AddNew action ausgeführt wird
 +
::::: hasNamedID : true
 
:::: },
 
:::: },
 
:::: ...
 
:::: ...
Line 128: Line 137:
 
* sowohl parameter name als auch parameter value werden auf beiden Seiten whitespace-trimmed (aber im parameter value, sind returns und blanks signifikant)
 
* sowohl parameter name als auch parameter value werden auf beiden Seiten whitespace-trimmed (aber im parameter value, sind returns und blanks signifikant)
  
* <nowiki></nowiki> & <!-- --> tags und dessen childs ignorieren = überspringen
+
* <nowiki><nowiki></nowiki></nowiki> & <nowiki><!-- --></nowiki> tags und dessen childs ignorieren = überspringen
 +
 
 +
== parentlead ==
 +
: http://biowikifarm.net/testwiki/index.php?title=Nested_Key_Test gibt eine Fehlermeldung.
 +
 
 +
: Grund ist ziemlich klar, die erst seit einigen Wochen bestehende Möglichkeit von nested Unterschlüsseln.
 +
 
 +
: Vermutete Lösung: Wenn es ein "parentlead="  value gibt, gelten Regeln für das parsen der LeadID.
 +
 
 +
: Bei z.B.:
 +
:: <nowiki>{{Lead | parentlead=1 | a1| Statement a | result= Aus bus ssp. ixus}}</nowiki>
 +
:: <nowiki>{{Lead | parentlead=1 | a2| Statement b | b }}</nowiki>
 +
:: <nowiki>{{Lead | parentlead=1 | a3| Statement c | result= Aus bus ssp. ypsilon}}</nowiki>
 +
 
 +
: Ist die couplet-ID die 1a und die alternative "" bzw "*"
 +
 
 +
: Die Hauptschwierigkeit ist, dass es naturlich auch 1a gibt, wobei der LeadID Parser dann 1 + a parsen soll.
 +
 
 +
: Es gibt auch:
 +
 
 +
:: <nowiki>{{Lead | #1 | Statement a | result= Aus bus ssp. ixus}}</nowiki>
 +
:: <nowiki>{{Lead | #2| Statement b | b }}</nowiki>
 +
:: <nowiki>{{Lead | $1 | Statement c | result= Aus bus ssp. ypsilon}}</nowiki>
 +
:: <nowiki>{{Lead | $2</nowiki>
 +
 
 +
: Schlüsselnummerierungen
 +
: Vielleicht:
 +
:: WENN links eine Ziffer, dann sind Buchstaben  UND XXX  als Alternative wegzuparsen,
 +
:: WENN links keine Ziffer (Buchstabe oder auch Symbol!), dann Ziffern UND XXX wegparsen, wobei  XXX = *. ', "-" usw.
 +
 
 +
: Das Parentlead sollte editierbar sein, ist evtl. im HTML-Form noch nicht enthalten.
 +
</nowiki>

Latest revision as of 15:47, 11 December 2009