usevote/CHANGES

540 lines
28 KiB
Plaintext
Raw Normal View History

UseVoteGer Versionshistorie (aktuelle Version: 4.13, released 27.01.2022)
=========================================================================
TODO:
- aussortieren von Bounces aus Stimmenliste
Version 4.13 (27.01.2022):
- BDSG-Klausel an die DSGVO angepasst
- "mailcmd" muss mit "--" enden, damit Mailadressen, die mit "-"
beginnen, richtig erkannt werden.
- "diff -u" ist ein besserer Default fuer das Diff-Programm
- Standardwert fuer Mindest-JA-Stimmenzahl von 50 auf 15 verringert
Version 4.12 (28.02.2014):
- uvbounce.pl und uvballot.pl benutzen jetzt wieder den uebergebenen
Dateinamen statt irrtuemlich das Mailboxfile aus usevote.cfg
(Bugfix in UVreadmail.pm)
- UVreadmail.pm setzt beim Schreiben eines Mailarchivs nun einen
Timestamp in der mbox-Fromline, der aus der Mail stammt
(timestamp()-Funktion von Mail::Box) statt dem aktuellen Datum
- UVreadmail.pm laesst nun Mailboxdateien bzw. -ordner bestehen,
auch wenn sie leer sind, um Kompatibiliaetsprobleme mit anderen
Programmen zu vermeiden
- neue Config-Optionen "diff" und "sampleballotfile"
- im Fehlermenue bei der Wahlscheinverarbeitung ist es nun moeglich,
mit der Option "0" einen Dateivergleich (diff) zwischen dem gemailten
Wahlschein und einem Musterwahlschein (wie im CfV geposted) zu starten.
Dazu muss die Config-Option "sampleballotfile" gesetzt und die Datei
vorhanden sein (Standard-Dateiname: ballot.sample)
- im Fehlermenue wird nun der Name der Abstimmung als Ueberschrift
angezeigt. Ausserdem wurde in UVmenu.pm ein redundanter Code-Abschnitt
entfernt
- BDSG-Klausel muss nun standardmaessig zwingend mit JA beantwortet
werden, DAFUER wird nicht mehr akzeptiert. Dies kann in usevote.cfg
konfiguriert werden
- Regular Expression fuer Pruefung des Abstimmungsnamens weiter
verbessert
- Standardwert fuer Mindest-JA-Stimmenzahl von 60 auf 50 verringert
Version 4.11 (25.09.2012):
- Regular Expression fuer Pruefung des Abstimmungsnamens verbessert.
Es kam zu vielen False Positives
- Einlesen der Mailbox auf Perlmodul Mail::Box umgestellt, damit
auch Maildir moeglich (neue Option "mailboxtype" in usevote.cfg).
Archivierung erfolgt aber vorerst weiterhin immer als mbox
Version 4.10 (17.09.2012):
- Fehler in uvvote.pl, Zeile 126 behoben (Verarbeitung von temporaeren
Dateien - es wurde nicht korrekt auf vorhandene Temp-Dateien
geprueft)
- Typo in bdsgtext.cfg behoben
- doppelten Identifier "VOTE_NO_VOTES" in messages.cfg/uvvote.pl umbenannt
- templates/ack-mail: Votetaker (Unterschrift) linksbuendig statt
wie vorher rechtsbuendig einfuegen; Anleitung fuer Annullierungen
verbessert; Hinweis darauf, dass Stimmaenderungen an den
Voteaccount geschickt werden muessen und nicht einfach als Antwort
auf die Ack-Mail geschickt werden koennen)
- Fehler in Annullierungsbearbeitung behoben (wurde nur bei erstem
oder letztem Abstimmungspunkt ausgewertet)
- Abstimmungsname wird nun auf Korrektheit geprueft (Wahlschein geh<65>rt
zur richtigen Abstimmung)
- neue Konfigurations-Option "ballotintro" und neues Template
tpl_wrong_voting
- usenet@ und news@ werden nicht mehr als ungueltige Mailadressen
angesehen. Vor allem usenet@ wird von vielen Waehlern verwendet.
- Aenderung der Wahlregeln: statt 60 nur noch 50 JA-Stimmen benoetigt
- kleinere Template-Aenderungen (verbesserte Texte/Formatierungen)
Version 4.09 (14.09.2007):
- "votefile"-Option in usevote.cfg an passendere Stelle verschoben und
den Kommentar korrigiert (natuerlich gilt pop3=0 als Bedingung, nicht
etwa wie vorher angegeben smtp=0)
- Fehler in Template fuer Ergebnisausgabe korrigiert (fehlendes Newline
nach umgebrochenen Abstimmungspunkten)
- Fehler in Doku der Kommandozeilenoptionen von uvcount.pl behoben
(--voters statt --votes)
- Date-Header in Englisch erzeugen (statt in eingestellter locale)
(verwendet nun Modul Email::Date)
- Message-ID-Header selbst erzeugen
Version 4.08 (06.10.2005):
- beim Ignorieren von Regelverletzungen (im Menue mit "Stimmen OK" bestaetigt)
wird jetzt keine (dann ja unangebrachte) Fehlermail mehr verschickt.
- neuer Buchstabe I bzw. i in usevote.rul, der auf NEIN und ENTHALTUNG matcht.
Damit l<>sst sich eine Stichwahl realisieren, bei der nur f<>r eine von
zwei M<>glichkeiten mit JA gestimmt werden darf und im anderen Feld entweder
NEIN oder ENTHALTUNG (bzw. garnichts, was Enthaltung enspricht)
eingetragen werden muss.
- analog neuer Buchstabe H bzw. h f<>r JA/ENTHALTUNG, der Vollstaendigkeit halber
- uvvote.pl sortiert die Liste der Ergebnisdateien jetzt vorm Zusammenfuegen
zur neuen ergebnis.alle, so dass die Reihenfolge auf jeden Fall stimmt,
auch wenn das System die Dateien unsortiert liefert
- wenn uvcount.pl in der ergebnis.alle auf eine falsche Anzahl von Abstimmungspunkten
bei einer Stimme trifft (z.B. versehentlich Leerzeichen oder Buchstabe
am Ende einer Zeile zuviel, wenn manuell editiert wurde), bricht es ab und
weist auf die fehlerhafte Stimme hin. Vorher wurde das als weiterer
Abstimmungspunkt gez<65>hlt.
- Doku erg<72>nzt: "envelopefrom" bezieht sich nur auf SMTP, ansonsten muss
das in "mailcmd" konfiguriert werden
- Bug bei Eingruppenmodus behoben: Es wurde immer das selbe ausgegeben,
unabhaengig vom Ergebnis (keine 60 Stimmen, keine 2/3 Mehrheit)
Version 4.07 (26.09.2004):
- wenn "nodup=1" gesetzt war, wurden auch keine Annullierungen aussortiert.
Ausserdem wurde ansonsten der Wahlleiter unnoetig gefragt, welche
Stimme aussortiert werden soll, auch wenn letztlich beide annulliert
waren (die Annullierung aber erst spaeter eingegangen war).
Um diese Fehler zu beheben, wurde ein zusaetzlicher Verarbeitungsschritt
in uvcount.pl eingefuehrt, der sich nur um Annullierungen kuemmert und
die gleich am Anfang verarbeitet.
- es ist jetzt auch moeglich, nach einer Annullierung mit derselben
Mailadresse nochmal abzustimmen. Vorher wurde so eine Stimmabgabe
durch die vorher erfolgte Annullierung mit erfasst
- Template result-proportional korrigiert. Es kam zu Darstellungsfehlern
bei umgebrochenen Gruppennamen/Wahlgegenstaenden (falsche Einrueckung,
falscher Umbruch)
- Formatfunktion 'generate-date-header' fuer Templates eingefuehrt
- Template 'mailheader' um Date-Header ergaenzt
- chomp auf Message-ID nur noch machen, wenn eine Message-ID vorhanden ist
(gibt sonst Warnung wegen undef)
- wenn die Option "mailcc" gesetzt ist, wurden die Hochkommata in der
domail-Datei (siehe Changelog von Version 4.06) um beide Adressen gesetzt.
Jetzt wird in einer Schleife jede Adresse einzeln gequotet.
- RegEx fuer Realnamenserkennung um den Bindestrich erweitert, damit
Doppelnamen anerkannt werden
Version 4.06 (18.06.2004):
- Es werden nun "In-Reply-To:" und "References:" Header in den
generierten Mails erzeugt
- beim Schreiben des domail-Scripts (Verschicken von Mails ohne SMTP)
wurde ein fehlerhafter Zeilenumbruch eingefuegt
- Leerzeichen am Zeilenende in der usevote.cfg hatten dazu gef<65>hrt,
dass Einstellungen nicht korrekt eingelesen wurden. Jetzt werden
beim Einlesen der Konfiguration solche Leerzeichen gel<65>scht (au<61>er
wenn der Teil rechts vom Gleichzeichen durch Anf<6E>hrungsstriche umschlossen
ist)
- Mailadresse und Waehlername werden jetzt korrekt zurueckgesetzt, so
dass bei fehlendem From-Header nicht noch die Daten der vorherigen Mail
in den Variablen stehen
- Mailadresse wird nun in Hochkommata eingeschlossen, wenn sie in die
"domail"-Datei geschrieben wird (bei smtp=0 in usevote.cfg), damit
Shell-Metazeichen nicht beim Ausfuehren des MTA interpretiert und damit
die Mailadresse veraendert bzw. potentiell schaedlicher Code ausgefuehrt
wird
- Es ist jetzt moeglich, bei der Warnung "Es wurden nicht alle Fehler behoben,
der Waehler wird eine Fehlermail erhalten" zurueck ins Menue zu gehen
und die Fehler doch noch zu beheben
- in uvcfv.pl (Verschicken von personalisierten Wahlscheinen) einige
Bugs behoben [warum hatte das ueberhaupt so funktioniert? Schroedinger
laesst gruessen.] und den Hinweistext "Wahlschein wurde bereits einmal
zugeschickt" aus dem Perlcode in das Template ballot-personal verlagert
- mittels "uvcfv.pl -t" laesst sich jetzt ein personalisierter
Dummy-Wahlschein ausgeben (wenn "personal=1" in usevote.cfg), um ihn
vorab der dana-Moderation zur Pruefung zukommen lassen zu koennen
Version 4.05 (27.12.2003):
- Aendern von Mailadressen oder Namen im Menue fuehrte zu "keine Scheinkennung"
Fehlern, auch wenn die personalisierten Wahlscheine nicht aktiviert waren
(personal=0 in usevote.cfg).
- Fehler beim Verarbeiten von Mailbox-Files behoben. In den letzten
Versionen funktionierte nur POP3.
- In Wahlschein-Templates "kann fuer ungueltig erklaert werden" in
"wird fuer ungueltig erklaert werden" geaendert (bei falschem Realname)
- kosmetische Aenderungen in Templates (Anpassung an neue Rechtschreibung,
Entfernung von Umlauten fuer einheitliches Schriftbild)
Version 4.04 (22.11.2003):
- uvcount.pl: Fehler beim Aussortieren von Duplikaten behoben, was
i.d.R. nur bei doppelten Mailadressen, nicht aber bei doppelten Namen
funktionierte (falsche Regular Expression und Probleme bei
unterschiedlicher Gross-/Kleinschreibung der Namen)
Version 4.03 (19.10.2003):
- UVsendmail.pm: Vernuenftige Fehlerbehandlung bei SMTP implementiert:
Bei fehlgeschlagenen Zustellversuchen wird jetzt die Datei ack.control
passend neu geschrieben, so dass mit "uvvote.pl clean" ein neuer
Versuch unternommen werden kann. Vorher wurde zwar eine Fehlermeldung
angezeigt, die Mail aber einfach geloescht...
- es wird kein Fehler mehr angezeigt, wenn ack.control bereits existiert,
da der Code durchaus damit umgehen kann (es wird einfach an die
Datei angehaengt). Entsprechende Fehlermeldung aus messages.txt
entfernt
- Schreibfehler in messages.cfg behoben (ggf. statt ggfls.)
- me@privacy.net in mailpatterns.cfg aufgenommen
- UIDLs werden jetzt in der Reihenfolge gespeichert, in der die
Mails auf dem POP3-Server lagen. Dadurch ist bei einem Abbruch
waehrend der Auswertung leichter kontrollierbar, welche Mails noch
einmal abgerufen werden sollen (einfach die letzten X UIDLs aus
der Datei uidlcache loeschen)
- uvcfv.pl, uvbounce.pl und uvvote.pl besitzen jetzt einen Locking-
Mechanismus, der ein gleichzeitiges bzw. mehrfaches Starten dieser
Programme unterbindet. Andernfalls koennte es zu Inkonsistenzen
im Datenbestand kommen (gleichzeitiger Abruf derselben Mailbox,
Auswertung noch nicht fertig geschriebener Ergebnisdateien)
- es koennen jetzt zusaetzliche Konfigurationsdateien in usevote.cfg
eingebunden werden, um z.B. die immer gleichen Einstellungen nur
einmal zentral abzulegen. Hierzu einfach eine Zeile
include dateiname
einfuegen. Die Position ist wichtig: Bei mehrfacher Definition
der selben Option gilt die letzte. Daher sollte eine globale
Konfigurationsdatei am Anfang eingebunden werden, um die
Einstellungen bei Bedarf mit wahlspezifischen ueberschreiben zu
koennen
Version 4.02 (31.05.2003):
- UVpath.pm wieder entfernt, da mittlerweile eine bessere Loesung
gefunden: Das Modul FindBin wird eingesetzt, um den Pfad der
ausgefuehrten .pl Datei zu ermitteln. Wenn die .pm Dateien im selben
Verzeichnis liegen, werden sie dort gefunden. Ausserdem wurde der
Hinweis auf die Umgebungsvariable PERL5LIB in die README Datei
aufgenommen, die ansonsten auch auf den Pfad zu den Usevote-Perlmodulen
gesetzt werden kann.
Version 4.01 (29.05.2003):
- Wahlschein-, Result- und Bestaetigungsmail-Templates angepasst, so dass
bei langem "votename" ein Umbruch im Wahlschein erfolgt und auch bei einer
zweistelligen Anzahl von Wahlgegenstaenden eine buendige Ausgabe erfolgt
- uvballot.pl und Template "result-multi" angepasst, so dass bei
Mehrgruppenabstimmungen die Anzahl der Enthaltungen nicht ausgegeben
wird (laesst sich nicht als Gesamtzahl ermitteln, koennte man hoechstens
fuer jede Gruppe einzeln angeben)
- Es brauchen jetzt nur noch die Konfigurationsdateien sowie die
UVpath.pm in einem Abstimmungsverzeichnis zu liegen, die .pl und .pm
Dateien koennen zentral fuer mehrere Abstimmungen abgelegt werden.
- Formatierungsfunktion "replace" in UVformats.pm implementiert, mit
deren Hilfe die Ersetzung von Zeichen oder Zeichenketten in Templates
moeglich ist. Praktische Anwendung ist z.B. die Verfremdung von
Mailadressen im Result als trivialer Spamschutz. Wie die Templates
dafuer geaendert werden muss, ist in der README Datei im Abschnitt 10
beschrieben
- Bei den Standard-Funktionen append und justify (inkl. justify-before
und justify-behind) wird der uebergebene Key jetzt rekursiv ueber die
Formatdefinitionen im Template aufgeloest. Das ermoeglicht die
Vorbehandlung eines Wertes, z.B.:
mail := value mail | replace '@' '-at-'
line := value name | justify-before mail 70
Hier wurde vorher die unveraenderte Mailadresse benutzt, jetzt wird
die obere Definition beachtet und zunaechst die Ersetzung durchgefuehrt.
- Formatierungsfunktion "sprintf" in UVformats.pm implementiert, um
z.B. Verhaeltnisse in Results formatiert ausgeben zu koennen
- Auswertung nach Verhaeltnis Ja- zu Nein-Stimmen implementiert
(in usevote.cfg proportional=1 setzen und prop_formula passend waehlen).
Damit ist z.B. fuer jeden Abstimmungsgegenstand das Verhaeltnis oder
auch die Differenz zwischen Ja- und Nein-Stimmen ermittelbar. Letzteres
wird fuer Moderationsnachwahlen benoetigt. Kombiniert werden kann dies
mit einer weiteren Bedingung, z.B. mindestens soviele Ja- wie Nein-Stimmen.
Version 4.0 (22.03.2003):
- UVformats.pm dokumentiert
- Defaultwert fuer "formats" korrigiert (UVconfig.pm)
- Defaultwert fuer "bdsgfile" fehlte (UVconfig.pm)
- kosmetische Aenderung (fehlende Leerzeichen) an Template result-multi
- Windows-Pager-Empfehlung in README und usevote.cfg geaendert (vorher
wurde "more" empfohlen, da mitgeliefert, aber more ist so buggy, dass
jetzt die Installation von "less" nahegelegt wird
- Fehler in UVsendmail.pm behoben: Wenn beim "uvvote.pl clean" Aufruf keine
Mails zu verschicken waren, wurde das Programm in UVsendmail::send()
einfach mit "exit 0" beendet (korrigiert in "return 0"). Ausserdem
wurde die Fehlermeldung wegen eines Schreibfehlers im Konstantennamen
nicht angezeigt.
Version 4.0beta15:
- Fehlermeldung bei nicht vorhandener messages.cfg korrigiert
(Dateiname wurde wegen falschen Configschluessels nicht angezeigt)
- Bei manuell eingegebener Scheinkennung wurde irrtuemlicherweise eine
Fehlermeldung angezeigt, auch wenn die Kennung zur Mailadresse passte
- Bei neu eingegebener Mailadresse wurde die Zugehoerigkeit der
Scheinkennung nicht neu geprueft
- bei nicht erkannten Abstimmungspunkten im Wahlschein wurde eine
Warnmeldung angezeigt, die auf Nicht-Wertung hinwies. In Wirklichkeit
wurde die Stimme aber normal bestaetigt und lediglich alle nicht erkannten
Punkte als "Enthaltung" gewertet. Die Warnmeldung erscheint jetzt nicht
mehr, um keine Verwirrung zu stiften.
- Fehler in UVmessage.pm behoben: Der Wert 0 wurde durch den leeren String
ersetzt. Jetzt wird defined() eingesetzt statt auf true/false zu pruefen.
- Fehler in UVsendmail.pm behoben: Wenn kein SMTP aktiviert war, wurde
die "domail" Datei mit den MTA-Aufrufen zwar geschrieben, aber nicht
ausgefuehrt. Dadurch schlug auch das Loeschen der Temp-Dateien fehl,
was beim naechsten Aufruf Fehlermeldungen verursachte.
- Templates eingebaut
- acktext.txt durch Templates ersetzt. BDSG-Text ist jetzt in der
Datei bdsgtext.cfg
- "cfvfile" Option entfernt (nicht mehr noetig, durch Templates abgeloest)
- Bedingungen fuer Wahlerfolg ueber usevote.cfg konfigurierbar gemacht.
Standardwerte:
condition1 = $yes>=2*$no
condition2 = $yes>=60
- usevote.cfg bzgl. der Ueberschriften "jedes Mal anpassen" / "nur einmal
anpassen" ein wenig umsortiert
- wenn kein "smtphelo" definiert wurde, wird jetzt der eigene
Hostname genommen
- README an aktuelle Aenderungen angepasst (Dateilisten, Beschreibungen
der Menues) und vervollstaendigt
Version 4.0beta14:
- Fehler in UVmenu.pm behoben, der beim Auswaehlen von
"Stimmen vom Waehler annulliert" im Menue auftrat
- Erkennung von doppelten, sich widersprechenden Stimmabgaben in einer
Mail funktioniert jetzt
- beim Verschicken per SMTP gibt es die neue Option envelopefrom, die
die Absenderadresse im Envelope (Return-Path) enthaelt, an die auch
Bounces zurueckgehen
- Neu: Erkennung von fehlenden Abstimmungspunkten im Wahlschein, Behandlung
wie bei unleserlichen Stimmabgaben mit entsprechendem Hinweis im Menue
- Fehler in uvvote.pl behoben, der bei unleserlichen Stimmabgaben auftrat
- statt encode_mimewords wird jetzt encode_mimeword verwendet und das
"Drumherum" komplett selbst gemacht. Man schaue in den Code von
MIME::Words::encode_mimewords(), dann weiss man, warum ;-)
- Weitere Texte in messages.txt ausgelagert (uvvote.pl, uvcount.pl)
- config test (-t Option) gibt jetzt auch Auskunft ueber die Konfiguration
(falls Option nicht in usevote.cfg gesetzt, wird der Standardwert
ausgegeben)
Version 4.0beta13:
- Fehlerbehandlung bei SMTP eingefuehrt, so dass keine Mails verloren gehen
- es laesst sich jetzt ein anderer Port fuer SMTP/POP3 angeben
- uvbounce.pl benutzt jetzt auch POP3, falls dieses in usevote.cfg aktiviert
wurde. Mit der Option -f ist aber unabhaengig davon das Einlesen der
Bounces aus einer Datei in jedem Fall moeglich
- auftretende Fehler beim Ausfuehren von uvvote.pl werden jetzt in eine
Datei geschrieben und beim Verlassen wird darauf hingewiesen
- Wenn das interaktive Menue ausgeblendet und dazu der Bildschirm geloescht
wird, informiert jetzt eine Meldung darueber, dass Mails verarbeitet werden
- Menues so umgestellt, dass [a] immer fuer "alles OK" steht, egal ob
Mailadresse, Name, Stimmen oder die BDSG-Klausel strittig sind
- Ausgaben/Texte von UVreadmail.pm und UVsendmail.pm nach messages.txt
ausgelagert
- Verzeichnisnamen "fertig" und "tmp" jetzt konfigurierbar
- Zeilen "Waehleradresse: " und "Wahlscheinkennung: " im Wahlschein
konfigurierbar gemacht
- Pager konfigurierbar gemacht (vorher immer "more") und standardmaessig
auf "less" gesetzt, weil "more" mit der Umleitung von STDERR Probleme hat
- kleinere Bugs behoben
Version 4.0beta12:
- Fehler in Menue behoben
- im Menue kann man jetzt explizit Stimmen ungueltig werten, indem man
den Namen, die Adresse oder die Stimmen ungueltig macht. Es wird eine
passende Fehlermail generiert.
- genauso kann man jetzt explizit annullieren (sinnvoll, falls der Waehler
z.B. "annullierung" falsch buchstabiert hat *g*), wobei automatisch
diverse andere Probleme als irrelevant erkannt werden (z.B. braucht man
in dem Fall keinen Datenschutzhinweis zu akzeptieren und nicht unbedingt
einen Namen anzugeben, falls die Adresse stimmt)
- MIME-Kodierung fuer Subject- und From-Header in UVsendmail.pm eingefuehrt
- In Bestaetigungsmails gibt es jetzt kein gesondertes Feld mehr zum
Korrigieren des Namens, sondern es kann einfach die ohnehin vorhandene
Zeile "Wahlername: Vorname Nachname" editiert werden.
- "nametext2" in usevote.cfg ist jetzt "Waehlername:" und wird auch
statt des fest kodierten Strings an den entsprechenden Codestellen
verwendet
- uvcount.pl: Bugs bei Annullierungen und fehlendem Namen behoben
- uvbounce an geaendertes UVreadmail.pm angepasst (funktioniert bei
Aktivierung des POP3-Zugriffs nicht mehr)
- saemtliche Ausgaben/Texte in UVmenu.pm nach messages.txt ausgelagert
Version 4.0beta11:
- kompletter Rewrite der Ueberpruefungsfunktionen in uvvote.pl und UVmenu.pl.
Es werden jetzt alle Fehler an ein Array angehaengt und in einem Rutsch
von der Menue-Funktion verarbeitet. Fuer Darstellung der Votemail wird
"more" benutzt.
Version 4.0beta10:
- Zeilenumbrueche richten sich jetzt nach der "rightmargin"-Einstellung
aus usevote.cfg (vorher waren die Zeilenlaengen teilweise noch hartkodiert)
- Fehler beim Erstellen des domail-Scripts behoben
- kosmetische Code-Aenderungen
Version 4.0beta9:
- Auch bei zurueckgeschickten (korrigierten) Wahlbestaetigungen wird
jetzt der Name automatisch im Body erkannt (Zeile "Waehlername:").
- Regular Expressions zur Stimmerkennung geaendert: Manche komische
Mailprogramme benutzen zum Kodieren von Leerzeichen =A0, was aber
nach der Dekodierung nicht als \s erkannt wird. \W ist nicht optimal,
aber funktioniert.
- uvbounce.pl: Bounces von Antworten auf Wahlscheinanforderungen werden
jetzt erkannt und mit einem gesonderten Hinweis gekennzeichnet
("Wahlschein nicht zustellbar")
- in den Config Files koennen die Kommentarzeichen escaped werden: \#
Version 4.0beta8:
- beim Einlesen aus usevote.cfg wird ein eventuelles \r geloescht
- es werden nicht mehr jedes Mal saemtliche Mails abgerufen (bei POP3),
sondern es wird mit dem UIDL Kommando geprueft, ob schon ein vorheriger
Abruf stattfand. Ausserdem ist es jetzt moeglich, die Mails vom Server
zu loeschen.
- uvcfv.pl kann jetzt auch richtig mit POP3 umgehen
- Platzhalter im Wahlschein bei personalisierten Wahlscheinen geaendert
- Aktuelle Werte werden teilweise jetzt im Menue angezeigt (wenn man
Stimmen, Name oder Mailadresse neu gesetzt hat)
- Dokumentation verbessert
Version 4.0beta7:
- kosmetische Code-Aenderungen (Vereinfachungen, Verschoenerungen, ...)
- Inhalt der Datei bdsgtext.txt als Abschnitt [BDSG Hinweis] in
acktext.txt uebernommen (es gibt keinen Grund dafuer, dass dieser
Text eine eigene Datei bekommen sollte...)
- Testweise einige Programm-Meldungen in externe Datei (meldungen.cfg)
ausgelagert, um eine leichtere Anpassung zu ermoeglichen (z.B.
Uebersetzung in andere Sprachen). Nach und nach werden saemtliche
Meldungen in diese Konfigurationsdatei wandern.
- acktext.txt in acktext.cfg umbenannt: Alle Konfigurationsdateien
haben damit die Endung .cfg
- POP3-Abruf und Verschicken per SMTP eingebaut
- Shellbefehl-Aufrufe (chmod- und mkdir) durch Perl-Pendants ersetzt,
um Plattformunabhaengigkeit zu bieten
- In uvcfv.pl Doppelung im Mailsubject geloescht
- In uvcount.pl stimmte die Zuordnung von Abstimmungsgegenstand zur
einzelnen Stimmabgabe nicht (umgekehrte Reihenfolge)
- in UVmenu.pm entstand bei Mehrgruppenabstimmungen der Kommentar
"Wahlleiter setzte Stimmen, Stimmen, Stimmen" (jetzt nur noch
einmal gesetzt statt fuer jede Gruppe)
- Falls keine Scheinkennung und keine BDSG-Zustimmung: Bislang wurden
dann zwei Mails generiert (keine Abfrage auf bereits aufgetretenen
Fehler), nun behoben
Version 4.0beta6:
- RegExp fuer Namensangabe im Body verbessert (wenn kein Name angegeben
wurde und auch im Header keiner zu finden war, wurde der nachfolgende
Hinweissatz "Wenn Du keinen Namen angibst..." als Realname erkannt
- RegExp fuer Namenserkennung konfigurierbar gemacht (usevote.cfg)
und um Accents erweitert
- RegExp fuer Erkennung verdaechtiger Adressen trifft jetzt nur noch
zu, wenn der String direkt am Anfang der Adresse steht. Gegenteiliges
Verhalten kann durch Wildcards herbeigefuehrt werden
- Statt manuellen Trennens von Header und Body wird in UVreadmail.pm
jetzt das Modul MIME::Parser eingesetzt
- kleinere Bugs behoben (z.B. einfache vs. doppelte Anfuehrungsstriche)
- Fehler bei UVmenu::menu-Aufruf im Falle von "keine Stimmen" behoben
(eine Variable fehlte in der Uebergabeliste)
- uvcount.pl um Eingruppen-Format ergaenzt
- uvballot.pl um Option -t ergaenzt, um eine Vorlage fuer cfv.txt bei
Verwendung von personalisierten Wahlscheinen zu erzeugen
- uvbounce.pl zur Generierung von ungueltigen Adressen aus einer
Mailbox mit Bounces implementiert
- Bei Annullierungen wird jetzt nicht mehr die BDSG-Klausel geprueft
(es erfolgt ja ohnehin eine Loeschung der Stimmabgabe)
- Statt Mail::Field wird nun eine eigene RegExp verwendet (Danke an
Marc Brockschmidt fuer die Idee), Mail::Field hat einige unschoene Bugs.
- Bei nicht erkannten Stimmabgaben bei Abstimmungen mit nur einem
Abstimmungsgegenstand wird nun auch die Ungueltigwertung angeboten
(als Alternative zu "Enthaltung").
Version 4.0beta5:
- die Mailboxdatei wird nun vor der Verarbeitung verschoben, so dass waehrend
des uvvote-Laufs keine neuen Mails angehaengt werden koennen
- es wird jetzt fuer jeden Durchlauf eine gesonderte Ergebnisdatei angelegt
- neu eingefuehrter Parameter "clean", der Bestaetigungen verschickt,
Ergebnisdatei und die Mailbox in das Verzeichnis fertig/ verschiebt,
temporaere Dateien loescht und aus allen Einzelergebnissen eine neue
Gesamtergebnisdatei (normalerweise "ergebnis.alle") erstellt
- dadurch sind jetzt zwei Durchgaenge erforderlich: Erster Aufruf ohne
die Option "clean" (Erzeugt die Ergebnisse und Mailvorlagen), dann kann
eine Kontrolle erfolgen, anschliessend ein weiterer Aufruf mit der Option
"clean" zum Aufraeumen und Verschicken der Bestaetigungen
- neues Modul UVsendmail.pm, in das die Funktion zum Erstellen von
Mails ausgelagert wurde
- neues Modul UVmenu.pm mit der Menuefunktionalitaet zum interaktiven
Eingriff in die Stimmwertung
- Bugs bei Stimmaufzeichnung behoben: Fehlerhafte Stimmen wurden teilweise
nicht in der Ergebnisdatei vermerkt. Ausserdem wurde nicht konsequent
auf die Option "voteack" geprueft
- Reply-To kann jetzt beachtet werden (muss in usevote.cfg eingeschaltet
werden) und ueberschreibt das From. Mit Vorsicht zu geniessen, da so
jeder Waehler fuer andere Stimmen abgeben und die Bestaetigungen zu
sich umlenken kann!
- Umgang mit personalisierten Wahlscheinen (Abschnitt 6a der Wahlregeln
fuer de.*), Generierung und Pruefung von Scheinkennungen. Siehe Optionen
"personal" und "idfile" in usevote.cfg sowie das Programm uvcfv.pl zum
Verschicken der persoenlichen Wahlscheine
- Das Flag beim Aufruf der Menuefunktion ist jetzt ein Hash, in dem
diverse Werte ueber- und zurueckgegeben werden. Dadurch auch feine
Steuerung der aktiven Menuepunkte moeglich
- Ausgabe der Fehlermeldung in UVmenu.pm verlagert (wird in besagtem
Hash uebergeben)
- Kommentarfeld fuer Ergebisdatei ("Wahlleiter setzte xyz") wird erst
zum Schluss erzeugt, vorher werden nur die vom Wahlleiter manuell
veraenderten Felder in einem Array mitgefuehrt
- uvcfv.pl zum Generieren der persoenlichen Wahlscheine und Verschicken
des CfVs implementiert
- Bisherige Funktionalitaet von uvack, uvcount, uvdup in uvcount.pl
implementiert
- uvballot.pl zum Erstellen eines Musterwahlscheins
- uvcfv.pl: Es wird nun auch die Vollstaendigkeit von $config{bdsgtext}
im Wahlschein geprueft und bei Auswahl von "Ende+Speichern" wird
noch einmal zur Sicherheit gefragt, ob die Stimme wirklich
gespeichert und verarbeitet werden soll
- Kompatibilitaetsprobleme mit Perl 5.6.1 bei Variablenzuweisungen behoben
Version 4.0beta4:
- bei Regelverletzung wird jetzt ein interaktives Menue aufgerufen,
so dass der Wahlleiter entscheiden kann, was er machen will
- Stimmerkennung legt unbekannte Vote-Strings (nicht Ja, Nein,
Enthaltung oder Annullierung) jetzt dem Wahlleiter vor und
laesst ihn entscheiden (Default ist Enthaltung). Fehlermail ist
in so einem Fall bislang nicht vorgesehen, laesst sich aber noch
einbauen, falls erforderlich. Wenn der Waehler die Bestaetigung
ueberprueft, reicht es auch, wenn dort "Enthaltung" auftaucht...
- Pruefung auf vollstaendige Bestaetigung der Datenschutz-Klausel
ist implementiert und ueber usevote.cfg und bdsgtext.txt konfigurierbar
- Regelpruefung kompakter und dreimal schneller gemacht (Idee von
Cornell Binder), dafuer Code schlechter lesbar... aber dokumentiert ;-)
- Alle Regel-Subs in UVrules.pm ausgelagert
Version 4.0beta3:
- Einlesen und Testen der Konfiguration sowie Ausgabe der Regeln
im Klartext sind jetzt im externen Modul UsevoteConfig.pm untergebracht
- Das Einlesen der Mail und MIME-Bearbeitung erfolgt wurde in das
Modul UsevoteReadmail.pm ausgelagert
- verdaechtige Mailadressen werden nun in einer gesonderten Datei
konfiguriert (Default: mailpatterns.cfg)
- Fehler bei Parsing von %body% und %headbody% in acktext.txt behoben
Version 4.0beta2:
- Auslagerung des Abschnittes [Realname Info] nach acktext.txt
(vorher hardcoded)
- Einfuehrung des Platzhalters %version% fuer acktext.txt
- Einfuehrung der Option voteack (Einzelbestaetigung kann deaktiviert werden)
- saemtliche Konfigurationsoptionen sind nun mit Defaultwerten belegt,
aber wahlspezifische Optionen (Gruppennamen etc.) muessen natuerlich
auf jeden Fall gesetzt werden
- Aenderung der Stimmerkennungsmethode. Um problemlos mit eigenwilligen
Zeilenumbruechen diverser schrottiger Software umgehen zu koennen,
wird ein Identifier an den Zeilenanfang gesetzt und direkt dahinter
die Stimme. Der Gruppenname kann dann ruhig umgebrochen sein.
Version 4.0beta1:
- kompletter Rewrite in Perl. Noch ziemlich unvollstaendig (nur uvvote.pl)
bis Version 3.1beta7 (Wolfgang Behrens):
- Funktionialitaet fuer persoenliche Wahlschein eingebaut
- Reply-To Auswertung u.a. auf GVV-Beduerfnisse angepasst
Version Usevote 3.0a
- Uebersetzung ins Deutsche und Anpassung an Wahlregeln in de.*
(Frederik Ramm)
Version Usevote 3.0
- Urversion von Ron Dippold (Englisch), nicht an hiesige Wahlregeln angepasst