Donnerstag, 19. Januar 2012

heute bei Animexx

ich bin ja bekennender User von Animexx, aufgrund meiner Convention Streifzüge und meinem Verlangen ab und an mal mit Gleichgesinnten zu reden.

Aber heute habe ich etwas gefunden, weshalb ich gleich erstmal einen Blogbeitrag auf dem Portal erstellen musste.

Hier der Beitrag, welcher auch zur Thematik selbsterklärend sein dürfte.

Kostenpflichtiger Export von "ENS" wegen Zeitaufwand und Kosten?!?!?!

Eben grade bin ich darüber gestolpert, das Animexx eine eigene Wärung namens "GELT" hat.
An sich kein Ding, aber ein Verwendungszweck, durch den ich erast darauf gekommen bin, ist meiner Ansicht nach Abzocke.

Es geht um den Export von ENS.
begründung von Animexx:
"Da das Exportieren der ENS leider recht aufwändig ist und recht lange dauert (~10 Minuten, wenn der Server nicht ausgelastet ist), wird die Datei nicht sofort erzeugt, sondern erst über Nacht. Das Erzeugen der downloadbaren Datei kostet 5 GELT."

Yako soweit so gut. Klingt recht Plausibel...

man macht es über Nacht, damit keine Nutzer großartig eingeschränkt werden.
Es dauert ungefähr im Durchschnitt 10 Minuten das Zip-Archiv zu erstellen.
Die ENS werden "aufwendig" aufgearbeitet.

Nun mal Butter bei die Fische Leute und redet mal Klartext!!!
Was ist denn an einem Script, welches einmal erstellt wird und anschliessend von einem Serverseitig sowieso vorhandenen Prozess angestoßen wird, SO kompliziert.

Ich meine Leute!!!!
Die ENS sind mit dehr hoher Wahrscheinlichkeit in einer Datenbank abgelegt.
Mit sicherheit werden Sie nicht nur über einen sondern über mehrere Schlüssel referenziert.
Hier mal die Standart Felder, welche bei User2UserNachrichten verwendung finden, wie sie mir ein Arbeitskollege geschickt hat:
UseriD_receptionist, UserD_sender, User_ID_Copys, Message_Timestamp, Message_Text, Message_Format, MessageID_Flag_Delete....
Die Liste geht zwar noch etwas weiter, aber die wichtigsten Felder habe ich zumindest genannt.

Denn Hier ist das was Animexx SO UMSTÄNDLICH tut, laut seiner Beschreibung:

ENS-Download:
Beim ENS-Download werden sämtliche ENS (außer natürlich die komplett gelöschten) in eine große ZIP-Datei gepackt, die du dann herunterladen kannst. Die ENS sind nach Ordner, Kontakt und Datum sortiert und liegen als statische HTML-Datei vor, die auch offline genutzt werden kann. Die ZIP-Dateien sind etwa so aufgebaut:
/Empfangene_ENS/Eingang/Animexx/2008-03.html
/Empfangene_ENS/Eingang/Animexx/2008-02.html
/Empfangene_ENS/Eingang/Aiko/2007.html
/Empfangene_ENS/Ordner-2-MeinTestOrdner/Aiko/2007.html
/Empfangene_ENS/Geloescht/2007.html
/Verschickte_ENS/Gesendet/Animexx/2008-03.html
/Verschickte_ENS/Gesendet/Geloescht/Animexx/2008-02.html



Soweit ja so gut, aber schauen wir uns mal kurz die Verzeichnisstruktur an:

Ein Verzeichnis namens Empfangene_ENS: ob hier war rein kommt hängt übrigens davon ab ob die Receptionist_ID= der UserID der Anforderung ist.

Ein Verzeichnis für die gesendeten ENS: Hier liegen alle, welche ich Versendet haben soll...
Hängt übrigens ab von der Bedingung SenderID == UserID ab.

Dann noch Unterordner für die einzelnen Nutzer.. bla bla, alles nicht weiter wild.
Ein Script für den Export von ENS, oder User2User-Nachrichten, kann fast jeder Entwickler mit ein wenig SQL-Kenntnissen in unter einer Stunde schreiben.
ich bräuchte wahrscheinlich 90 bis 120 Minuten, aber es würde ebenfalls laufen.

Aber weiter im Thema:

Wir haben also eine Verzeichnisstruktur, welche SOOOOOO AUfwendig zu erzeugen ist.
Dann noch die einzelenen Nachrichten...

"select * from UseriD_receptionist, UserD_sender, User_ID_Copys, Message_Timestamp, Message_Text, Message_Format;"
(Pseudocode, nicht lauffähig und Syntaktisch weder Vollständig noch korrekt)

Das ergebnis dieser Abfrage schreiben wir in ein zweizeiliges Array nach dem Motto

Daten[][];
for each Zeile in Datenbankausgabe
Daten::add(Zeile);
next Zeile;
(pseudocode mit falscher Logik)

jetzt sind also die Daten in einem Array...und nun?
Ganz simple Stringoperationen und Sortierungen.
Das ganze ist nur ein wenig umständlich zu schreiben, aber ein Aufruf hinterher sieht ungefähr so aus:

ENS-Database::Ausgabe(USERID);

Wäre eine Möglichkeit.
Was ist daran bitte Umständlich?
Aso ja...die erstellung des Zip Archives und das schicken des Downloadlinks...

"tar -cvf * Datein.zip"
Das ist ein Befehl in Unix, welcher ein Archiv erstellt. Zwar sind die Daten mit diesem befehl nicht komprimiert, aber doch schon mal in einer Datei...
wenn man Zip selber nutzen möchte:
"zip * Datein.zip"

Was ist daran schon mal schwer?
aso ja den Link...
Also im ganzen als shellscript mit Pseudofunktionen da es leichter zu verstehen ist:

"
#!/bin/bash
USERID=$1
DOWNLOADVERZEICHNIS=/var/www/downloadbereich/`$USERID`
DOWNLOADLINK=`$DOWNLOADVERZEICHNIS`/export.zip

#erstellen des verzeichnisses im Downloadbereich
mkdir /var/www/downloadbereich/`$USERID`
#Erstellen der Datein durch Aufruf des kleinen Servertools
ENS_EXPORT `$USERID` `$DOWNLOADVERZEICHNIS`
#Das tolle Tool erstellt jetzt also den Export und Verpackt es schön ordentlich
#in einem ZIP-Archiv und legt es im Downloadverzeichnis ab.

#Versenden des Downloadlinks an den User
send_ens_to_user ´$USERID` `$DOWNLOADLINK`

#Das war auch schon alles.

"

Sowei also zu dem Script, welches und den mist erstellt...
ABER

Es muss ja auch immer Abends und für alle erstellt angeforderten User erstellt werden...

Datein und CronJob sei dank das das geht.
Hier die Simple version der Erklärung, da ich euch bereits genug bestrafft habe.

Also:
Der knopf/Button/schalter/whatEver auf dem "Exportieren" steht, trägt eure UserID in eine Datei ein, welche irgendwo im System an einer definierten stelle steht. Natürlich wird eure USERID in einer neuen Zeile eingetragen, damit keine fremden IDs verfälscht werden.

Und da Unix-Systeme und auch Windows-Systeme einen eigenen Zeitplaner für Aufgaben und Befehle haben, welcher unter Linux "cron" heist, wird jetzt das Abarbeiten in den Nachtstunden, extrem einfach.
In den CronJobs ist lediglich eingetragen, das der Befehl jede nacht zu einem bestimmten Zeitpunkt ausgeführt wird.

Soviel also zum großen Mysterium des Exportes.
Da es sich sowieso bereits um die eigenen Daten handelt, sehe ich nicht ein dafür Geld zahlen zu müßen.
Als Begründung einen angeblich sehr aufwendigen Prozess an zu führen ist jenseits von gut und Böse.
ich bin selber in der IT tätig, und daher weiss ich wovon ich rede, wenn ich sage, dass das Exportieren und Bereitstellen von User2User-Nachrichten keine große Sache ist und auch nicht lange dauert.
Was natürlich sein kann:
Die Datenbank ist so veraltet, dass eine effektive Suche in dieser mehrere Minuten dauern würde, dann würden wir allerdings auch auf die Seitenaufrufe ewig warten müssen, da die meisten Seiten Dynamisch aus der Datenbank gefüttert werden.

Und ich sage es nochmal:
Ich sehe nicht ein mein Geld für meine Daten aus zu geben.
Auch wenn es nur 50 Euro-Cent sind. Das ist nen Witz! Wenn ich anfangen würde belanglose Dienstleistungen in Rechnung zu stellen, wäre ich Pleite und Arbeitslos.

Ich würde mich ja mal freuen, zu dem Thema eine Reaktion von Animexx zu bekommen, da ich der meinung bin, dass es immer wichtig ist, beide Seiten zu hören.

In diesem Sinne

Nerdy


Und weil es so schön ist, hier auch noch gleich einmal die erste Reaktion, ohne meine Antwort:


Von: JavaAshtray 19.01.2012 11:05
Betreff: Kostenpflichtiger Export von "ENS" wegen...


Und wenn es nicht um den Aufwand geht?

1. ist die Funktion ziemlich unnütze, weil man online alles nachlesen kann. die ENS verschwinden niemals. sie sind kein rpg, was bei inaktivität gelöscht wird (werden sollte).

2. bist du hier auf einer Seite eines Vereins, der sich durch das Geld finanziert. du zahlst hier nichts, außer du willst es. viele viele user verbringen hier eine menge zeit und geben keinen einzigen cent aus.
seh es als wohltätige spende!
oder als ausgabe für den hobby!

3. ist überhaupt nichts falsch daran diese spezielle funktion als "aufwendig" zu beschreiben, um das benötigte geld zu bekommen, anstatt eine große disskussion zum thema finanzierung anzufangen.

Du siehst es nun als Abzocke, weil du es nicht aufwendig findest. Trotzdem sehe ich nichts falsches daran, denn du bist hier nicht bei einer commerziellen Firma, sondern bei einem Verein, der das Geld was er bekommt wieder in den Verein rein steckt!

1 Kommentar:

  1. blubb blubb!
    schön, dass du mich zitiert hast :D
    aber mach doch bitte mal aus meinem nick einen synonym. ich mag es nicht, wenn man meinen nick seitenübergreifend finden kann.
    danke!

    AntwortenLöschen