Entries tagged installieren

Anleitung: Produkte bei eBay über API mit PHP SDK listen – Teil 3: Keys, Sandbox und AddFixedPriceItem

Posted on 13. Oktober 2014 Comments

Dieser Blog Post ist Teil der Reihe Produkte bei eBay listen.


3.1/3.2. Keys und Sandbox

Um die Beispiele von dts ausführen zu können muss man sich am eBay Developer Program anmelden. Man kann hier nicht seinen normalen eBay Account benutzen. Nach der Anmeldung kann man sich jeweils eine DEVID, AppID und CertID für Sandbox und Production erstellen. Erstmal ist es sicher sinnvoll Sandbox Keys zu erstellen. Anschließend musst man sich noch einen User Token generieren lassen. Die mit den Sandbox Keys eingestellten Angebote wird man später unter sandbox.ebay.com bzw. in der deutschen Version finden.

3.3. Vorbereitung des SDK

Abhängigkeiten installieren:

git clone https://github.com/davidtsadler/ebay-sdk-examples.git
curl -sS https://getcomposer.org/installer | php
php composer.phar install

Jetzt müssen nur noch die eben erstellen Keys und der Usertoken in die configuration.php eingetragen werden. Das eigentliche SDK befindet sich in vendor/dts, man muss also nichts anderes von GitHub herunterladen.

3.4. AddFixedPriceItem

Die benötigten Dateien befindet sich im Ordner large-merchant-services, für das Hinzufügen von Artikel wird die 02-add-fixed-price-item.php gebraucht. Sie ist relativ gut verständlich geschrieben. Man sollte darauf achten, dass in den Variablen $exchangeService und $transferService die Sandbox Keys benutzt werden:

'authToken' => $config['sandbox']['userToken'],
'sandbox' => true

Man kann diese Datei mehr oder weniger so benutzen. Sie wird eine .gz-gezippte Datei namens AddFixedPriceItem.xml.gz aus demselben Ordner hochladen. Wenn die .xml-Datei bzw. .gz-Datei wie in Teil 1 und 2 beschrieben erstellt ist und im selben Ordner liegt, kann diese .php-Datei einfach ausgeführt werden. Das Hochladen bzw. Verarbeiten seitens eBay kann eine ganze Weile dauern. Es wird auf jeden Fall eine .xml-Datei gezippt zurückkommen. In ihr findet man ggf. Fehlermeldungen, Warnings und was das Erstellen gekostet hat. In der Sandbox ist dies natürlich kostenlos, es werden 0.0 € berechnet. Es ist deshalb, vor allem bei größeren Tests, wichtig noch einmal die Keys zu überprüfen, so dass nicht ungewollt Kosten entstehen. Möchte man irgendwann umstellen, sehen die beiden Variablen oben folgendermaßen aus:

'authToken' => $config['production']['userToken'],
'sandbox' => false

Außerdem müssen dann in der configuration.php die entsprechenden keys bzw. ein neuer Usertoken für die Production Keys eingetragen sein.

Wird die Datei ausgeführt, die AddFixedPriceItem.xml.gz liegt aber nicht im gleichen Verzeichnis oder wird das Hochladen abgebrochen ist trotzdem ein Job erstellt. Ein weiterer Job des Typs AddFixedPriceItem ist nicht möglich und so muss erst der Job abgebrochen werden. Zu diesen und weiteren nützlichen API, siehe Teil 4.

ArgoUML 3.4 unter Ubuntu 12.04

Posted on 6. März 2014 Comments

ArgoUML ist ein Open Source Tool zum Erstellen von UML Diagrammen.Leider ist es Standardmässig nicht in den Ubuntu Paketquellen enthalten, ich habe aber eine .deb-Datei gefunden, mit der man das Programm installieren kann: Original / lokale Kopie.

 

sudo dpkg -i argouml_0.34-1~getdeb1_all.deb

Eine Alternative ist z.B. StarUML

Grub installieren ohne Linux mit Wechsel der Startreihenfolge unter Windows

Posted on 9. August 2013 Comments

GRUB ist ein Bootloader, der häufig für Linuxsysteme zum Einsatz kommt. Besonders praktisch ist er für Dual-Boot Systeme, wenn man z.B. noch die Windows Installation für ein paar Programme braucht und sonst auf Linux arbeitet oder auch andersherum, kann man beim Start des Computers auswählen, welches System starten soll. Oder unterschiedliche Linux Distributionen. Oder oder oder…halt auch 2 Windows Installationen. Dafür braucht es allerdings kein Linux, da man GRUB natürlich auch ohne ein Linux läuft.

In diesem Beispiel habe ich erst Windows XP und Windows 7 installiert. Wie das geht, ohne dass die beiden sich in die Quere kommen, habe ich in einem anderen Blog-Eintrag geschrieben. Diese Anleitung geht davon aus, dass XP und 7 bereits installiert sind.

1. Linux Live CD downloaden.

Ich habe Ubuntu genommen, die Live-CD bekommt man auf der Website. Einfach starten und den Live Modus auswählen.

 

2. GRUB 2 deinstallieren

Für dieses Beispiel werde ich GRUB 1/GRUB Legacy verwenden. Es basiert auf einer simplen Textdatei, die übersichtlich und gut editierbar ist.

sudo apt-get remove grub*

3. GRUB 1 installieren

sudo apt-get install grub

4. ext2 Partition erstellen

gparted aus dem Startmenü wählen. Bei der Installation von Windows XP und Windows 7 habe ich so viel Platz gelassen, dass man hinter den beiden Partitionen noch eine z.B. 256MB große Partition erstellen kann, aufgrund der verfügbaren Windows Tools zum Lesen bzw. Schreiben von Linux Partionen nehme ich hier ext2. Ist die Partition erstellt, gebe ich dieser Partition das boot-flag.

 

5. GRUB auf dieser Partition installieren

Erstmal die neu erstellte Partition mounten. Nach Windows XP(/dev/sda1) und Windows 7(/dev/sda2) ist das hier logischerweise /dev/sda3. Gemountet wird sie hier z.B. nach /mnt.

sudo mount /dev/sda3 /mnt

Jetzt kommt die eigentliche Installation, die GRUB in den MBR schreibt und damit Windows 7 dort überschreibt. Das root-directory flag gibt an, wohin GRUB die Dateien schiebt. /dev/sda ist das Gerät(!) auf dem der MBR geschrieben wird, hier also nicht die Partition angeben!

sudo grub-install --root-directory=/mnt /dev/sda

Fertig 🙂 Jetzt muss man nur noch die Datei /mnt/boot/grub/menu.lst erstellen. Man kann sich eine default Variante erstellen mit folgendem Befehl

sudo update-grub

Ihr findet dann in /boot/grub/menu.lst eine Vorlage, die man erstmal 1:1 kopieren kann in /mnt/boot/grub/menu.lst.

Um Windows XP und Windows 7 nebeneinander zu booten muss man wie im letzten Blog Artikel erklärt die hidden Flags setzen. Für Sicherungen, bei denen man ganze Festplatten sichert ist es aber nötig die hidden flags beide zu entfernen. Hierfür habe ich mir einen Dummy Eintrag gebastelt, der an dritter Stelle steht. Den Kernel gibt es natürlich auf meiner Installation nicht und sollte man versuchen diesen Eintrag zu starten gibt er eine Fehlermeldung aus. Beim Start von Windows XP muss man jeweils Windows 7 ausblenden und anders herum. Meine menu.lst sieht(im relevanten Teil)  so aus:

title        WindowsXP
hide        (hd0,1)
unhide        (hd0,0)
root        (hd0,0)
makeactive
savedefault
chainloader    +1

title        Windows7
hide        (hd0,0)
unhide        (hd0,1)
root        (hd0,1)
makeactive
savedefault
chainloader    +1

title        Dummy
unhide        (hd0,0)
unhide        (hd0,1)
root        (hd0,0)
kernel        /boot/memtest86+.bin

 

Natürlich gibt es hier auch die Möglichkeit neue Einträge im GRUB hinzuzufügen. Wenn man die User aussperren möchte, legt man also ein Passwort fest. Dies am besten nicht im Klartext; Grub bietet hier allerdings nur MD5 an.

Benutzt z.B. dieses Perl Skript von mir um euer Passwort lokal in einen MD5 Hash umzuwandeln.

Dann kommt einfach dieser Eintrag hinzu

password --md5 $1$MD5HASH

6. Wechsel zwischen Windows XP und Windows 7 als default Eintrag.

Für das Umschalten zwischen Windows Installationen habe ich 2 Batchdateien erstellt: bootwinxp.bat und bootwin7.bat. Beide befinden sich in C:\Windows\system32, also im PATH. Wie man ext2 zum Schreibenrechten mountet erfahrt ihr in meinem anderen Blog-Eintrag. Ich gehe einfach mal davon aus, dass die eben erstellte GRUB-Partition auf X:\ gemountet ist. Der Einfachheit halber mache ich dort keine komplizierten Textersetzungsbefehle sondern erstelle einfach eine menu.xp und eine menu.7 Datei auf dieser Partition. Diese enthalten entweder einen anderen Wert für default in menu.lst oder eine andere Reihenfolge, d.h. jeweils Windows XP oder Windows 7 steht zuerst in der Datei(default ist standardmässig auf 0). Diese beiden Dateien überschreiben dann mit

COPY X:\boot\grub\menu.xp X:\boot\grub\menu.lst

bzw.

COPY X:\boot\grub\menu.7 X:\boot\grub\menu.lst

in bootxp.bat bzw. boot7.bat einfach nur die aktuelle menu.lst und beim nächsten Bootvorgang wird dann das jeweilige Betriebsystem gebootet. Wenn man mehrere Rechner verwaltet, kann man diese Batch Datei z.B. auch über SSH aufrufen.