Permalink

2

Mein Praktikum bei GN2

Mein letzter Tag bei GN2-Netwerk ist nun schon einige Tage vorbei, doch heute möchte ich auf das vergangene halbe Jahr zurückblicken. Ich – Stephan – bin Informatikstudent im 5. Semester an der Hochschule Coburg. In unserem Praxissemester sollen wir, laut FH, Erfahrungen in der Projektarbeit oder im Servicegeschäft von Informatik-Dienstleistern sammeln. Auf der Suche nach dem richtigen Unternehmen, fallen einem natürlich verschiedenste lokale Firmen in der Maschinenbau- oder Automobilindustrie ein, doch ich habe mich für eine Hosting- und Webentwicklungsagentur entschieden.

Der erste Kontakt zu GN2 über Rüdiger erfolgte nicht wie klassischer Weise per Mail oder per Telefon sondern über Twitter und Facebook. Natürlich reichte ich im Nachgang noch meine Bewerbungsunterlagen ein und wir haben uns auch zu einem Vorstellungsgespräch getroffen. Der lockere und offene erste Eindruck bestätigte sich auch während meiner Praktikumszeit. Schon während den ersten Stunden bekommt man mit was für das GN2-Team „schwarzer Humor“ bedeutet und dass auch „Nerds“ viel Spaß an der Arbeit haben können. Nicht zuletzt die Arbeitszeiten sind Studenten- und Informatiker-freundlich, denn gestartet wird nicht etwa um 07:00 Uhr sondern um 09:00 Uhr und mit reichlich Kaffee intus :) .

Ich merkte bei den Projekten aber auch, dass meine theoretischen Web- Programmierkenntnisse aus der FH für die tägliche Arbeit noch nicht ausreichten. Dank dem Internet und Dave – der mir mit Rat und Tat zur Seite stand – fand ich mich allerdings schnell zurecht und konnte die anfallenden Projekte mit Redaxo und Oxid eSales eigenständig und vor allem nach „neustem Standard“ erledigen. Während meiner Praktikumszeit konnte ich für viele verschiedene Kunden Projekte erledigen, die immer abwechslungsreich und interessant waren.

Für dieses tolle Praktikum möchte ich mich beim gesamten Team bedanken. GN2 ist wirklich ein „toller Laden“, den ich am Ende schweren Herzens für mein letztes Semester an der Hochschule verlassen habe.

Permalink

1

Integration von REDAXO in OXID esales mit TOXID: Installation

Hat zwar etwas gedauert seit dem REDAXO-Tag 2011, aber jetzt kommt endlich der erste Teil der Anleitung zur Einbindung von REDAXO in OXID esales mit Hilfe von TOXID (danke an Christoph, der das für unsere interne Doku zusammengestellt hat).

Installation REDAXO

Als CMS-Grundlage empfiehlt sich eine normale “nackte” REDAXO-Installation mit REXseo. Zum Testen kann man natürlich die Installation mit Demo-Daten verwenden (wie wir das auf http://toxid-shop.gn2-dev.de auch gemacht haben). Folgende Templates sind anzulegen (die REX_TEMPLATE IDs für Navi, Beadcrumb im Beispielcode beachten!):

Name: default aktiv: ja


<!--?php <br ?--> header('Content-Type: application/xml');
 header('Content-Encoding: text/html; charset=utf-8');
 echo '<!--?xml version="1.0"?-->'."\n";

class toxid {
 function prepareContent($params) {
 $content = $params['subject'];
 $content = str_replace('"./files/','"'.rexseo::base().'files/',$content);
 $content = str_replace('href="/','href="'.rexseo::base().'',$content);
 return $content;
 }
 }
 rex_register_extension('OUTPUT_FILTER',array('toxid','prepareContent'));
?>

 <![CDATA[ REX_TEMPLATE[3] ]]>
 <![CDATA[ REX_TEMPLATE[2] ]]>
 <![CDATA[ REX_ARTICLE[] ]]>

Name: Navigation: Breadcrumb Aktiv: Nein


<!--?php if ($this--->article_id != $REX['START_ARTICLE_ID']) {
 $category = OOCategory::getCategoryById($this->article_id);
 if (is_object($category)) {
 $parents = $category->getParentTree();
 if ($this->article_id != $this->category_id) {
 $parents[] = OOArticle::getArticleById($this->article_id);
 }
 foreach ($parents as $cat) {
 if (is_object($cat)) {
 echo ' / <a href="'.$cat->getUrl().'">'.$cat->getName().'</a>';
 }
 }
 }
}
?>

Name: Navigation: Links Aktiv: Nein


<!--?php // navigation generator erstellen $nav = rex_navigation::factory(); // ---------- HEAD NAVI // Beginne in der Wurzelkategorie // 1 Ebene Tief // Nicht aufklappen (hier egal da nur 1 Ebene) // Offline ausblenden $category_id = 0; $depth = 3; $open = TRUE; $ignore_offlines = TRUE; echo $nav--->get($category_id, $depth, $open, $ignore_offlines);

?>
Das default-Template muß für alle Artikel ausgewählt sein (das ist nur ein Beispiel, natürlich kann man verschiedene Templates für verschiedene XML-Ausgaben generieren).
Installation OXID
Die folgende Anleitung bezieht sich auf den aktuellen Stand von Toxid (10.01.12). Die aktuellste Version von TOXID gibt es auf GITHUB zum Download https://github.com/jkrug/TOXID-cURL
  1. Alle Dateien aus der ZIP Datei in die entsprechenden Ordner kopieren
  2.  Folgende Zeile in modules/functions.php hinzufügen:
    require_once('toxid_curl/toxid_curl_autoloader.php');
  3. Folgende Zeilen im OXID-Backend unter “module” aufnehmen:
    oxseodecoder => toxid_curl/core/toxid_curl_oxseodecoder
    oxviewconfig => toxid_curl/core/toxid_curl_oxviewconfig
    
  4. Folgende Zeilen in config.ini.php aufnehmen und anpassen:
    // your URL-Snippet to dectect TOXID-Pages
     $this->aToxidCurlSeoSnippets = array(
     '0' => 'toxid-curl',
     '1' => 'toxid-curl-en',
     );
    
    // URL to your CMS
     $this->aToxidCurlSource = array(
     '0' => 'http://yourcmspage.com/',
     '1' => 'http://yourcmspage.com/en/',
     );
     // Additional Params for URL
     $this->aToxidCurlUrlParams = array(
     '0' => '?type=1',
     '1' => '?type=1',
     );
    
    // FOR BACKWARDS COMPATABILITY UNCOMENT
     // template variable name, with will be accessible like [{$toxid_curl_cmp->getCmsSnippet('text1')}]
     // $this->sTplVariable = 'toxid_curl_cmp';
Einbindung
Über folgende Zeilen können die einzelnen XML-Tags aufgerufen werden.
Im untenstehenden Beispiel wird <test></test> der XML-Ausgabe aufgerufen:
[{assign var='toxid' value=$oViewConf->getToxid()}]
[{ $toxid->getCmsSnippet('test') }]
Nun muss man nur die XML Ausgabe im REDAXO nach Wunsch anpassen und die XML-Tags an den gewünschten Stellen mit der obigen Zeil ausgegeben werden. (Templates und Module, je nach Bedarf).
Permalink

3

Bye bye REXsale!

Nach 5 Jahren (2006 wurde die Urversion für ein Kundenprojekt programmiert und auch relativ schnell als Addon veröffentlicht) haben wir uns entschlossen, die Entwicklung von REXsale endgültig einzustellen und auch keinen Download des aktuellen Stands mehr zur Verfügung zu stellen. Eine wirkliche Weiterentwicklung fand ja schon länger nicht mehr statt bis auf kleine Bugfixes und Erweiterungen, die für Kundenaufträge programmiert wurden und anschließend in die öffentliche Version integriert worden sind. Die Gründe für die stagnierende Entwicklung sind relativ schnell aufgezählt:

  • veraltete und unflexible Codebasis, die eine komplette Neuprogrammierung notwendig gemacht hätten, allerdings stehen Aufwand und Nutzen in keinem Verhältnis (mindestens 6 Monate Entwicklungszeit für eine flexible und zeitgemäße Basis ohne notwendige Erweiterungen und Schnittstellen)
  • wir entwickeln seit längerem Shopprojekte ausschließlich mit OXID esales, was eine perfekte Basis für große und kleine Shops bietet und entsprechend skalierbar ist, außerdem sind alle notwendigen Schnittstellen zu Paymentanbietern usw. vorhanden, damit können wir unsere Ressourcen verwenden, um individuelle Erweiterungen zu programmieren
  • trotz mehrfacher Aufrufe an die Community kam keine größere Entwicklergemeinschaft oder auch Unterstützung für Dokumentation und Support zustande und wir waren dauerhaft nicht in der Lage, die ganzen Fragen und Bugfixes zeitnah zu bearbeiten (als einziger hat sich Jan stark engagiert und zur Weiterentwicklung beigetragen, ansonsten war das ein Projekt, was ausschließlich von Dave programmiert und supportet wurde).

Damit ist das Thema REDAXO + Shop für uns allerdings nicht erledigt, dank TOXID gibt es eine relativ smarte Methode, REDAXO-Inhalte in OXID zu integrieren, Anleitungen und notwendigen Code werden wir dafür demnächst hier veröffentlichen.

Permalink

0

Payone – wirklich smartes Payment (auch) für OXID esales

Um Zahlungsanbieter in OXID einzubinden, gibt es verschiedene Möglichkeiten, zum einen natürlich OXID efire, ansonsten gibt es einzelne Module der verschiedenen Anbieter, die man in der OXID eXchange finden kann. eFire ist an sich eine super Lösung, allerdings gibt es immer mal wieder Ausfälle, die man als Dienstleister nicht debuggen kann, da man keinerlei Zugriff auf Fehlermeldungen oder Errorlogs hat und damit auf den Support von OXID angewiesen ist. Leider gibt es für eFire keinen separaten Supportvertrag, so dass man beim Einsatz der Community-Edition von OXID keinen oder nur kostenintensiven Support erhält. Aus dem Grund setzen wir seit längerem fast ausschließlich das OXID-Modul von Payone ein, mit dem alle wichtigen Zahlungsarten aus einer Hand angeboten werden, außerdem ist die Integration sowohl im Checkoutprozess im Shop, als auch im Adminbereich (Konfiguration, Logs, Fehlermeldungen) perfekt gelöst. Abgerundet wird das Ganze durch einen superschnellen und kompetenten technischen Support, falls doch mal Probleme auftauchen, rundum empfehlenswert also und der Slogan “Smart.Simpel.Safe”, mit dem Payone wirbt entspricht unserer Erfahrung nach den Tatsachen.

Permalink

0

shop.knorr-baby.de

Nachdem wir letztes Jahr schon die Website der knorr-baby GmbH gestalten und umsetzen durften, folgte jetzt der Auftrag, einen Webshop für ausgewählte Produkte zu gestalten und umzusetzen. Technische Basis ist OXID esales, als Basis für die Gestaltung wurde sich natürlich an der Website orientiert, um ein einheitliches Erscheinungsbild und Wiedererkennung zu gewährleisten.

shop.knorr-baby.de

Permalink

0

caresa.de

Die erste Version des Onlineshops für caresa – feine Sachen haben wir letztes Jahr auf Basis von REXsale umgesetzt. Relativ schnell wurde jedoch klar, dass für den Shop eine Anbindung an eine Faktura und Warenwirtschaft notwendig wird, um die Bestellungen und Versand so automatisiert wie möglich abwickeln zu können, da der Aufwand für die manuelle Bearbeitung einfach zu hoch wurde. Deshalb kommt jetzt OXID esales mit einer Anbindung an Actindo zum Einsatz, das Payment wird über Payone abgewickelt. Das bestehende Layout wurde für die neue Shopsoftware und deren erweiterte Darstellungsmöglichkeiten angepasst.

caresa – feine Sachen

Permalink

0

thompson-bags.de – Taschen mieten und kaufen

Ursprünglich sollten wir nur die Reservierungskomponente für die Taschen programmieren, zusätzlich wurde von uns das bestehende Template noch etwas überarbeitet, die Bühnengrafiken für die Startseite erstellt und die Gutscheine gestaltet. Da für Kauf und Miete unterschiedliche Kosten und auch Vertragsbedingungen gelten, mussten Warenkorb und Bestellprozess angepasst werden, damit da eine eindeutige Zuordnung möglich ist. Als Paymentschnittstelle kommt Payone zum Einsatz.

thompson-bags.de