Benutzer:Kpfiwa/calc/Pflichtenheft

aus Wikipedia, der freien Enzyklopädie
Vorwort
Die Diskussion zu Vorlage/Modul:calc wurde bewusst hier her ausgelagert, um dem Vandalismus und Gelaber zu begegnen, den ein paar Übereifrige veranstalten, weil sie meinen vom Thema abschweifen zu müssen um ihre Thesen und Selbstdarstellungen loszuwerden. Ich behalte mir ausdrücklich vor, unpassende Beiträge auf das für das Thema Wesentliche zu kürzen.

In fruchtbarer Kooperation mit einigen Freunden anderssprachiger Wikis (en, lv, uk, ru, © „CC-by-sa 4.0“) entstand der Plan, ein Kalkulationsmodul zu etablieren bzw. bestehende Ansätze und bereits laufende Vorlagen auszubauen. In weiten Passagen wurde das bereits realisiert und die Funktionen der Module sind in Rohfassung schon einsatzbereit.

Funktion

Hauptziel ist es, aus einer Sammlung von eingetragenen Werten, Summen und/oder Mittelwerte zu berechnen und an vorgegebener Position formatiert darzustellen. Die numerischen Werte sollten in beliebigem Text eines Abschnitts eingestreut sein. Man wird sie aber eher in Listen und Tabellen einbinden. Beispielsweise könnte aus entsprechend markierten Werten einer Tabellenspalte oder -zeile eine Summe erzeugt werden. Mehrere Spalten resp. Zahlenreihen sollten bedienbar sein. Es können theoretisch beliebig viele Gruppen zur Berechnung angelegt werden.

Minimalanforderung

  1. Der zu bearbeitende und numerische Werte enthaltende Text wird von dem Vorlageaufruf eingeschlossen
    {{calc|Parameter| ... Textblock mit Kalkulationsanweisungen ... }}
    Mehrfachaufruf von Abschnitten/Segmenten (z.B. Absatzweise, mehrere Tabellen) sollte möglich sein.
    • Da bei Tabellen die |-Pipe-Zeichen von der Vorlage als Parametertrenner interpretiert werden, muss derzeit die Tabelle mit<nowiki>Tabelle</nowiki>eingeschlossen werden, um den gesamten Abschnitt (Parameter 0) zu erfassen.
  2. Innerhalb des Textes wird aus den eingetragenen Werten {?{12345.123}} eine Summe gebildet und am vorgegebenen Platz eingetragen
    {?{123}} {?{-4,56}} {?{32.1}} {?{3.123,769}} ... {?|sum}} }}
    ?steht für ein Gruppenkennzeichen (a-z0-9),sumfür Summe. Andere Rechenoperationen (min, max, avg, %-Berechnung) werden ermöglicht.
  3. Das Endergebnis, also Summe oder Mittelwert {?{sum}} können an beliebiger Stelle innerhalb des definierten Textraums dargestellt werden.
  4. Unterschiedliche Gruppen erhalten unterschiedliche Kennzeichen(a-z0-9)
  5. Bei der Bearbeitung von Tabellen, die ja ‚Hauptkunde‘ sind, ist noch das Pipe-Konfliktproblem: Parametertrenner ↔ Tabellenpipes zu lösen. Vorübergehend wäre
    {{calc|<nowiki> Tabelle mit Werten und Summenfeld </nowiki>}}
    denkbar, aber kaum elegant. Eine generelle Erweiterung auf alternative Parametetrenner bei Templates ist kaum zu erwarten.
  6. Die Namen der Vorlage und Kurzzeichen sollte international verständlich sein, also vorzugsweise Englisch orientiert. Für ru und uk sind bereits Aliase eingerichtet. Groß-/Kleinschreibung wird gleichwertig akzeptiert. Es bleibt fraglich, ob für de:WP eine Sonderbehandlung nötig ist.
  7. Da einige WP-Spezifische Funktionen nicht in allen Wikis verfügbar sind (z.B. mw) ist, soweit möglich, Basis-Lua zu bevorzugen.

Mögliche Erweiterungen

  1. Tausender- und Dezimaltrennzeichen werden intelligent erfasst und korrekt verarbeitet. Das Modul erkennt, was gemeint ist und die Ausgabe erfolgt nach Parameter-Vorgabe oder automatisch nach Ländereinstellung. So können auch Fremdwerte (gemischt) eingebracht werden.
    • Per Parameter sind die Ausrichtung incl. Berücksichtigung erforderlicher Leerstellen vor der Zahl und auch die darzustellenden Nachkommastellen bestimmbar.
    • Parameter zur Zahlendarstellung (Tausender-,Dezitrenner) sollten sich nach dem übermitteltem LKZ richten, aber auch als abweichender Parameter der Vorlagen, der Gruppe oder sogar dem Einzelwert übergeben werden. {a{1234|format=.,2 €}}=‚1.234,00 €‘ oder {b{-1234,567|-,.2 US$}}=‚-1,234.57 US$‘. Die Gesamtbreite der Zahlendarstellung incl. führende Leerzeichen kann aus dem größten Zahlenwert der Gruppe für kleinere übernommen werden.
  2. Per Parameter „deko“ ist ggf. die Darstellung (normal, fett, kursiv ... rechts, links, zentriert) vorzugeben.
  3. Denkbar wären Funktionen für Zwischensummen und/oder Auf-/Abschläge als Prozentwert.
  4. Denkbar wäre, als Eingabewerte auch Berechnungen einzufügen, die automatisch erkannt und berechnet werden:
    {{calc| {c{5*44}} {c{4,56/3}} {c{32^3}-} ... }}
  5. Denkbar wären Berechnungen gruppenübergreifend (z.B. Gesamtsumme mehrerer Gruppen)
  6. In den ausländischen Versionen ist die optionale farbliche Gestaltung der Zellen in Abhängigkeit vom numerischen Wert enthalten/vorgesehen. Da Vorlage:Coltab unerwünscht war und gelöscht wurde, werden nur in der de-WP diese und ähnliche Funktionen (Beispiele) ausgelassen.
  7. Eine Multilinguale Version zumindest in Englisch, Lettisch, Ukrainisch, Russisch (Französisch, Niederländisch ist angedacht) wäre zu überlegen, da das Modul außer Errormeldungen nur Zahlen rauswirft. Die Doku wird separat pro Sprache erstellt.

--Klaus-Peter 10:58, 8. Jun. 2020 (CEST)

Anmerkungen und Kommentare

Ergänzungen, Verbesserungen

  • Eingeschlossene Vorlagen werden typischerweise zuerst abgearbeitet, quasi von innen nach außen. Wird der von Vorlage:calc eingeschlossene Abschnitt mit <nowiki> übergeben, wird die Vorverarbeitung unterbunden. Das Modul muss das erkennen und erledigen. Daher wurde vorgeschlagen, die an die Berechnung zu übergebenden Argumente in {?{ ... }} einzuschließen, um Verarbeitungskonflikte zu vermeiden. (? steht für ein beliebiges Gruppenkennzeichen)-(en:robin)-

Vorschläge

Ablehnung weil ...

Zustimmung weil ...