Pixum Expose (pexpose)

Die Vorgeschichte

Vor einigen Wochen habe ich mich als ich wieder einmal meine neusten Bilder bei Pixum (http://www.pixum.de) im Java Applett hochgeladen habe, wiedereinmal gefragt, warum es ein Tool wie Pixum Easy Print nicht auch für Linux gibt.
Ich habe das Java applett sofort geschlossen, meinen Experimentier Rechner auf dem es auch eine Windows Installation gibt, wieder aus der hintersten Ecke geholt und Pixum easy Print installiert.
Danach habe ich mich mich durch das Programm geklickt, zwei Bilder hochgeladen und ohne auch nur ein bisschen über meine aktuellen Programmierkenntnisse nachzudenken folgende Anfrage an den Pixum Support gestellt:

Betreff: Anfrage wegen Programm Dokumentation Easy Print
> Guten Tag.
>
> Währe es möglich dass sie mir die Software
> Schnittstellen Dokumentation der Bildübertragung zu Pixum  des
> Programms Easy Print zur verfügung stellen?
>
> Ich möchte aus privatem Interesse ein Programm auf Basis der GPL Lizenz entwickeln,
> dass es Linux (und durch die portierbarkeit von GPL code auch weit
> mehr Plattformen, wie Handys, Handhelds, etc) Nutzern ermöglicht
> ähnlich wie unter Windows mit Easy Print Bilder komfortabel an Pixum
> zu senden und aus belichten zu lassen.
> Natürlich plane ich das
> Programm wie unter der GPL Lizensierung üblich kostenlos allen
> interessierten Nutzern zur Verfügung zu stellen.
>
> Sie sollten
> bedenken dass Sie durch das Programm einen weiteren Zuwachs an Kunden
> bekämen, das mitunter die Zahl der Linux Nutzer durch gesteigertes
> Sicherheitsbewusstsein und mit Einführung von Windows Vista weiter
> wächst.
>
> Dieses Programm währe also für mich ein Gewinn an Komfort,
> und für sie ein weitere Kundenzuwachs.
>
> MfG
> Bernd Luxenburger

Nach dem Absenden habe ich dann dem Programm etwas genauer bei der Arbeit zugesehen, festgestellt dass die Kommunikation mit Pixum in XML über http und https geschieht.

Am 28.03.2007 erhielt ich tatsächlich eine positive Antwort.
Man nehme meine Anfrage sehr gerne zum Anlass die Software Schnittstellen für Easyprint zu öffnen und mit mir gemeinsam Lösungen für andere Plattformen zu entwickeln.
Ich solle mich doch zur Prüfung des weiteren vorgehens näher vorstellen.

Dieser Bitte bin ich nachgekommen, und erhielt wieder eine Antwort am 10.04.2007 mit der bitte ein bisschen refernzcode einzureichen. Seit dieser Antwort habe ich mich nun in die GUI programmierung mit GTK+ Eingearbeitet und ein Konzept für dieses Projekt erarbeitet.

Die Konzeption fand unter anderem in lange Diskussionen in der Linux user Group Saar (http://lug-saar.de.de) statt, bei dessen Mitgliedern dieses Projekt auf Resonaz und grosse zustimmung stiess.
An dieser Stelle sei schoneinmal Herrn Göttel Gedankt für seine Denkanstösse, und das Angebot seiner Mithilfe, mir wird also ein erfahrener Programmierer zur Seite stehen.

Konzeption

Namensgebung

Im ersten Anlauf taufte ich das Projekt „Pixum Easy Expose“ in Anlehnung an das Orginal Programm „Pixum Easy Print (R)“ ( www.pixum.de )von Pixum.
Da die kurtzform von pixum easy expose jedoch auf pee hinauslief, was im englischen das Umgangsprachliche Wort für Pinkeln ist,
entschloss ich mich zu einer Namensänderung.
Bevor ich diese Wiki Seite zu erstellen begann, sollte es „piex“ heissen, als ich jedoch die Überschrift dieser Seite schrieb,
wurde der Name zu „pexpose“

Icon

Icon v0.01 150x150

Das Icon, so war es von Anfang an beschlossen, sollte selbstsprechend sein. Ich entschied mich Kurzerhand für ein Foto (meiner Freundin, entwickelt von Pixum :-) ), dass im Begriff ist aus einem „Entwicklerbad“ gehoben zu werden in Anlehung an das manuelle entwickeln von Fotos in Wannen mit den entsprechenden Bädern (Entwickler, wässern, fixer, wässern).











Nachdem der Name und das Icon nun ersteinmal festeht, kommen wir zum wesentlichen, dem

Software Konzept

Da sehr sehr viele Linux Programme aufeinander aufsetzten, soll auch dieses Programm ein „darauf aufbauen“ ermöglichen, und das die Software insgesamt drei Teilig sein.

Lizensierung

Ganz klar die Anwendung soll unter der GPL ( http://de.wikipedia.org/wiki/GNU_General_Public_License )Lizens veröffendlicht werden.

Programm Kern

Den Kern (und die meiste Arbeit) wird in der Entwicklung eine Programm Bibliothek liegen die für die direkte Kommunikation mit Pixum zuständig ist.
Dadurch dass die kernfunktionalität wie unter linux üblich in einer Bibliothek liegt, kann das programm sehr leicht in alle möglichen Fotoverarbeitenden Linux Programme integriert werden.

Möglichkeiten
  • Kommandozeilen Version zum scripten und automatisieren
  • integration in Gthumb als GUI
  • „Senden an“ Plugin in den gängigen Datei Browsern
  • Integration in KPhoto oder ähnlich
  • Portierung nach PHP → in gallery (http://gallery.menalto.com/) wird nicht nur „Photos bei Shutterflybestellen“ oder „bei Fotobucket bestellen“ möglich, sonderen auch „bei Pixum“
  • Generell: Integration in alle Programme die Bilder bearbeiten

Der GUI (bzw Gthumb patch)

Der GUI soll durch die Integration der zum Foto upload nötigen Funktionen in das bereits vorhandene Linux (Bildverwaltungs-) Programm gthumb (http://gthumb.sourceforge.net/) geschaffen werden.
Dieses Programm erfeut sich grosser beliebtheit und hat einen Funktionsumfang wie ich ihn keinenfalls implementieren könnte. Warum also das Rad ein zweites mal erfinden.

Die Konsolenanwendung

Da die viele Linux Nutzer (Mich inbegriffen) auf die „scriptbarkeit“ von Linux schwören, wird es ein kommandozeilenversion des Programms geben. Man wird also ganze Ordner von Bildern manuell (oder auch automatisch nachts, wenn das Netz schneller ist) mit dem Aufruf einer Befehlzeile hochladen können.

Das könnte dann so aussehen:

schroeder@Linuxkiste#>pexpose -u schöderheinz /home/schroeder/Bilder-fur-pixum/
 
  pexpose your photos with Pixum 
 
 please enter your Pixum Password :
 
uploading /home/schroeder/Bilder-fur-pixum/Bild1.jpg
 [====                                                               ]  230Kb/s (1/30)
 
  undsoweiter und soähnlich

Bernd 2007/04/24 17:45

libpexpose

Um diese lib zu programmieren benötigt man zwangsläufig xml, http und https, da pixum easy Print die Informationen im XML formatiert via https und die Bilder als http POST überträgt.

Also benötige Ich folgende Libs

Notizen

Ein paar code Schnipsel wie man XML Datensätze Baut aus gthump, comments.c

Nimmt einen Commentar entgegen und speichert oder liest diese aus den entsprechenden Dateien. Nur einige Stellen raus kopiert.

#include <libxml/tree.h>
#include <libxml/parser.h>
#include <libxml/xmlmemory.h>
 
#define PLACE_TAG    ((xmlChar *)"Place")
 
        xmlDocPtr    doc;
        xmlNodePtr   tree, subtree;
 
 
        /* Create the xml tree. */
 
        doc = xmlNewDoc ((xmlChar*)"1.0");
 
        doc->xmlRootNode = xmlNewDocNode (doc, NULL, COMMENT_TAG, NULL);
        xmlSetProp (doc->xmlRootNode, FORMAT_TAG, FORMAT_VER);
 
       tree = doc->xmlRootNode;
 
       subtree = xmlNewChild (tree, NULL, PLACE_TAG,    (xmlChar*)e_place);
 
        /* Write to disk. */
 
      comment_file = comments_get_comment_filename (local_file, TRUE);
 
       dest_dir = remove_level_from_path (comment_file);
 
        if (ensure_dir_exists (dest_dir, 0700)) {
             xmlSetDocCompressMode (doc, 3);
 /* comprimieren */
             xmlSaveFile (comment_file, doc);
/* Speichern*/
 
      }
       g_free (dest_dir);

linux/pixum-expose.txt · Zuletzt geändert: 2012/09/10 23:13 (Externe Bearbeitung)
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki