Beiträge

OXID eShop Testing Library Published

OXID unit testingAs part of OXID SDK, we recently published OXID eShop Testing Library. It is intended to be an easy to use tool for writing Unit (PHPUnit), Integration (OxidTestCase) and acceptance (Mink/QUnit) tests for extension developers. In particular, it is possible to test modules against OXID eShop and against other modules (where no module activation is needed). Also, the OXID eShop Testing Library is used for the OXID module certification process.

Please find all information about the requirements, installation, configuration and on how to write and run tests in the README.md file on GitHub.

We hope you appreciate this tool as an opportunity to write clean code and to achieve the quality standards your clients expect. In case of any questions please feel free to post to the dev-general mailing list.

Happy testing ^^

Modern, benutzerfreundlich, schnell: 5 Highlights des neuen OXID eXchange

Mit mehreren hundert Produkten in über 30 Kategorien ist OXID eXchange der größte zertifizierte Marktplatz für OXID eShop Extensions. Hier finden Shopbetreiber eine vielfältige Palette an Modulen für alle OXID eShop Editionen.

Für Softwareanbieter ist OXID eXchange die perfekte Möglichkeit, um Eigenentwicklungen einer breiten Zielgruppe zugänglich zu machen und die Reichweite weiter zu erhöhen. Um Kunden ein angenehmeres Einkaufserlebnis zu bieten und das Bereitstellen eigener Extensions für Anbieter zu erleichtern, verbessern wir kontinuierlich unseren Marktplatz. Die wichtigsten Veränderungen möchten wir Ihnen hier vorstellen:

eXchange_Startseite1. Modernes Frontend
Neueste Produkte, zertifizierte und beliebteste Extensions sowie wichtige Informationen rund um OXID eXchange sind auf den ersten Blick auf der Startseite sichtbar.
Zudem wurden das Kategorie-Menü und die Informationsseiten rund um OXID eXchange zentraler platziert. So sind alle wichtigen Informationen stets verfügbar.

2. Übersichtliche Navigation
Finden Sie passende Extensions gezielt in den neu strukturierten Shop-Kategorien.
Verschiedene Filter innerhalb der Kategorien vereinfachen die Suche und führen schneller zum gewünschten Produkt.

Kategorie_Filter3. Anbieter-Seiten
Suchen Sie Extensions eines bestimmten Anbieters oder möchten Sie als Anbieter den Kunden einen Überblick über alle Ihre Extensions verschaffen? Mit der Anbieterübersicht ist dies nun möglich.

4. Schneller Upload
Gute Nachrichten für eXchange-Anbieter: Über das aktualisierte Anbieter-Backend laden Sie Ihre Extensions auf OXID eXchange in nur noch zwei Schritten hoch. Dank der Vorschau können Sie jederzeit alle Informationen ansehen und anpassen. Eine perfekte Gestaltung Ihrer Produkte ist mit den umfangreichen Beschreibungstexten, Screenshots und zusätzlichen Informationen im Anhang möglich.
Extension_hochladenUm Kunden zu helfen, Ihre Extensions schneller zu finden, wählen Sie bis zu zwei passende Kategorien aus und geben Sie geeignete Tags in Deutsch und Englisch ein.

5. Neue Bezahlmöglichkeiten
Auch für Kunden gibt es Neuigkeiten: Um die Bezahlung kostenpflichtiger Extensions zu vereinfachen, haben wir unsere Zahloptionen erweitert: Ab sofort können Sie per PayPal, Kreditkarte oder Lastschrift zahlen.

Weitere Informationen zu OXID eXchange sowie zur Entwicklung und Zertifizierung von Modulen:
Informationen für eXchange-Anbieter
Informationen für Käufer
Informationen zur Modulzertifizierung

Bei Fragen, Anregungen und Problemen wenden Sie sich per E-Mail an unser OXID eXchange Team.

Autorin
Bild_NYNatalia Yakovleva ist seit 2012 bei der OXID eSales AG tätig und verantwortet als Mitglied der Professional Services Team die Weiterentwicklung des Marktplatzes OXID eXchange. Sie verfügt neben einem Diplom im internationalen Marketing über einen Master-Abschluss in Betriebswirtschaft.

Schnell und effizient in PHP entwickeln mit OXID eShop und Xdebug

Die OXID Plattform ist ein skalierbares und modulares E-Commerce System, welches an unterschiedliche Geschäftsmodelle angepasst werden kann. Durch den modularen Aufbau eröffnen sich dem Betreiber beinahe unbegrenzte Möglichkeiten die Funktionalität individuell zu erweitern und zu modifizieren. Für effizientes Entwickeln von eigenen Modulen, vor allem in komplexen Systemlandschaften ist der Gebrauch von professionellen Entwickler-Tools empfehlenswert.

Im folgenden Beitrag soll die Verwendung von Xdebug im OXID eShop erläutert werden. Eine allgemeine Beschreibung zur Installation und Konfiguration der beiden PHP-Entwicklungsumgebungen Eclipse und PhpStorm finden Sie hier. Bei Xdebug handelt es sich um eine Erweiterung von PHP, die eine Möglichkeit zum Debuggen (Fehleranalyse) bereitstellt. Aber nicht nur zum Analysieren von Fehlern ist Xdebug interessant. Da sich mit dem Tool die Funktionsweise einer Web-Applikation wie OXID eShop einfacher nachvollziehen lässt, ist es ein wertvolles Werkzeug für jeden PHP-Entwickler.

Der nachfolgende Abschnitt beschreibt den Prozess des Debugging anhand eines konkreten Beispiels im OXID eShop. Der Aufruf des OXID-Frameworks findet in der Regel folgendermaßen statt: In der oxseo.php wird die URL decodiert und die index.php geladen. Diese bindet über die bootstrap.php u.a. die Konfiguration ein und gibt anschließend über die oxid.php an oxshopcontrol.php weiter. Erst in oxshopcontrol.php wird dann der benötigte Controller geladen. Bis hierher ist der Ablauf immer gleich. Deshalb kann man den Anfang auslassen und sollte möglichst den Breakpoint an der Stelle setzen, die man mit dem Tool untersuchen möchte. Als möglichst früher Breakpoint, der aber die Initialisierung auslässt, bietet sich der Anfang der Funktion \oxShopControl::_process an.

Ein mögliches Vorgehen zum Finden eines Fehlers soll am Beispiel der Umsatzsteuer ID-Prüfung gezeigt werden. Nehmen wir als Beispiel eine fehlgeschlagene ID-Prüfung, die mit Xdebug untersucht werden soll. Normalerweise wird die Umsatzsteuer-ID abgelehnt, wenn der Benutzer eine ungültige ID eingibt. Es wird mit Hilfe eines Online-Services überprüft, ob die eingegebene ID korrekt ist. Wenn jedoch häufig auf den ersten Blick korrekte IDs abgelehnt werden, muss das genauer untersucht werden. Da die Prüfung unter anderem während des Bestellvorgangs bei der Adresseingabe stattfindet, wird durch einen Blick in den Quelltext der Seite ersichtlich, dass der Button zum Absenden der Adresse die Funktion \oxcmp_user::createUser() aufruft.

Einsteigspunkt der Überprüfung

Abbildung 1: Einstiegspunkt der Überprüfung

Nachdem ein Breakpoint in die erste Zeile gesetzt wurde, kann es losgehen. Wird ein Artikel in den Warenkorb gelegt und die Adresse in Bestellschritt 2 abgesendet, geht die Kontrolle an den Debugger. Zunächst wird untersucht, was bei einer völlig falschen ID passiert (z.B. „keine USt-ID!“ als USt-ID). Mit der Funktion Step Over ist die in Abbildung 1 gezeigte Stelle schnell erreicht. Da die Funktion checkValues() offensichtlich die Prüfung startet, wird hier mit Step Into hineingesprungen. Irgendwann ist mit dieser Strategie (unintessantes Überspringen, bei interessantem Step Into) die Funktion \oxCompanyVatInValidator::validate() erreicht. In dieser Funktion werden verschiedene Überprüfungen aufgerufen.

Ausgangspunkt für weitere Prüfungen

Abbildung 2: Ausgangspunkt für weitere Prüfungen

Um die Umsatzsteuer-ID-Prüfung zu untersuchen, werden mehrere Durchgänge durchgeführt. Da diese Funktion Ausgangspunkt für mehrere Überprüfungsmethoden der Umsatzsteuer-ID ist, bietet es sich an den Breakpoint an einer neuen Stelle zu setzen (siehe Abb. 2, Zeile 130) und den vorherigen zu löschen. In der darauffolgenden Schleife werden mehrere Validators (jeder Validator prüft einen bestimmten Aspekt der ID) aufgerufen, die sich im Array $aValidators befinden. Ein Blick auf die derzeitige Belegung der Variablen (Abb. 3) zeigt, dass es dort zwei Einträge gibt. Mit Step Into lassen sich die jeweiligen validate()-Funktionen überprüfen. Im Fall der völlig falschen USt-ID gibt schon der erste Validator (oxCompanyVatInCountryChecker) ein ungültiges Ergebnis zurück. Eine Onlineprüfung wird also gar nicht durchgeführt.

Abbildung 10: Array aller Validators

Abbildung 3: Array aller Validators

Die (falsche) USt-ID DE 0815 wird bei einem neuen Versuch im nächsten Anlauf diese erste Hürde nehmen. Hier wird letztendlich der oxOnlineVatIdCheck fehlschlagen. In dessen validate()-Funktion lässt sich der Call zum Onlinedienst nachvollziehen. In der Variablenübersicht stehen alle Belegungen, also sind auch alle Parameter erkennbar. Außerdem steht nach dem Call dort auch das Ergebnis (Abb. 4). Zu erkennen ist hier, dass der countryCode und die vatNumber wie eingegeben richtig übernommen wurden. Der Onlineservice hat dann aber festgestellt, dass die USt-ID falsch ist.

Abbildung 11: Ergebnis der Onlineabfrage

Abbildung 4: Ergebnis der Onlineabfrage

Mit dem Beobachten der Variablen vor und nach dem Onlineabruf sollte also herauszufinden sein, warum eine USt-ID nicht angenommen wurde. Oder womöglich war die Struktur der eingegebenen USt-ID falsch, sodass es gar nicht erst zu der Onlineprüfung gekommen ist. Am Beispiel der Onlineprüfung der USt-ID wurde also gezeigt, wie der Debugger helfen kann, Licht ins Dunkel einer unbekannten Funktion zu bringen. Häufig ist der Weg über den Debugger schneller, als in Foren oder anderen Informationskanälen zu suchen, wo der Fehler liegen könnte. Denn das Problem kann auch in einem speziellen Verhalten der eigenen Systemumgebung liegen, die kein anderer kennt. Der Debugger zeigt aber Stück für Stück, wie sich die Software verhält, so dass so gut wie jedes Problem zu finden sein sollte. Wir setzen diese hilfreichen Tools im OXID Support täglich ein, um komplexe technische Probleme, die im Zusammenhang mit Kundenanfragen stehen, zu analysieren.

Weitere Informationen zur Installation und Konfiguration von Xdebug, auf dem Server und in den beiden oben genannten Entwicklungsumgebungen finden Sie hier.

Autor:

Hendrik_Freytag_swHendrik Freytag hat während seines Informatikstudiums an der Technischen Universität Carolo-Wilhelmina zu Braunschweig, das er mit einem Masterabschluss (M.Sc.) 2014 erfolgreich beendete, ein umfassendes Wissen in der Informationstechnik aufgebaut. Er verfügt über umfangreiche Kenntnisse in OOP, PHP, Java, Unix und Datenbanken. Seit 2014 ist er als Support Account Manager für die technische Betreuung von Großkunden im internationalen Umfeld tätig.

OXID eFire Extension PayPal 3.0 Released

PayPal LogoWe would like to inform you that in the last week, we published the new OXID eFire extension PayPal, that was developed with the grateful help from PayPal (Europe) S.à r.l. et Cie, S.C.A. and is a complete overhaul in comparison to the former OXID eFire portlet.

What’s new in this version?
First off – the licensing. The PayPal module 3.0 comes under a commercial license for our commercial products OXID eShop Enterprise and Professional Edition including support and warranty. The same piece of software is licensed under GPLv3 for our open sourced OXID eShop Community Edition.
With this new module a connection to or registration with the OXID eFire platform is not longer necessary; it is a standalone module that only has to be installed in your shop environment. And of course, PayPal 3.0 is completely encapsulated as a module, no worries about upcoming shop updates 🙂

The soon-to-release OXID eShop versions 4.8 and 5.1 (presently available as release candidates) will already contain the module PayPal 3.0 in their standard delivery. If you want to use this extension, simply activate it, if not – just no activation needed. It is safe to remove the files from the module folder if you don’t want to use this feature.

Online merchants and developers who run present or older OXID eShop versions will have to download PayPal 3.0 from OXID eXchange first, copy the files to the module folder and activate this function.

Main features

  • PayPal is available as a regular payment method in the appropriate checkout step.
  • PayPal express is already included at the checkout (registration step), at the so called “mini cart” and at the product detail pages.
  • The module is highly customizable through many options at the admin panel, for example the step to transfer the money (at the order date or on delivery).
  • Options are adjustable in different ways for each multishop (OXID eShop Enterprise Edition only).
  • The payment page at PayPal can be customized by your own logo and the name of your online store.
  • If you wish, you can transfer the content of the cart (purchased product items) to PayPal. Your customer has to decide whether this data shall be transferred or not.
  • Partial payment is possible.
  • The admin panel provides an overview of the PayPal payments per order.

For more information about the features, on how to customize the module or how to adjust the options, please see the documentation delivered inside the module package.

Please note that the release of this module is an addition to the remaining OXID eFire PayPal portlet. Also, this module now can be installed by international users regardless of their German know-how.

Download your free copy of the new OXID eFire extension PayPal today and let us know how it is running!

OXID eShop Mobile Theme Published

OXID eShop mobile themeThe stats of the development of mobile commerce tell us the story: due to the constant spread of mobile devices, more and more prospective clients spend time on the road doing Internet research or even place orders. Your OXID eShop is ready for this trend, with our free from costs OXID eShop mobile theme.

This mobile theme can be easily and quickly installed. The provided theme switch recognizes and delivers the mobile theme in the case of a mobile device (can be configured) or the usual browser agent bringing up the regular theme of the shop. The mobile theme’s usability has explicitly been optimized for usage with smart phones, starting from the basic layout through the navigation elements, and up to the displayed texts. PayPal is preinstalled as a payment method and will work out-of-the-box if you already use the Portlet PayPal-Module. Thanks to the usage of Twitter Bootstrap, this theme is ready to become a responsive design. We also used “LESS“ for an easy adaptability of the theme’s design to your own requirements.

In this package you’ll find a documentation that might help you to understand how to enhance this theme. Both extensions, theme switch as well as mobile theme, are distributed under the free and open source license GPLv3 and can be used for OXID eShops of all editions.

Download your free copy of OXID eShop mobile theme today and make your OXID eShop ready for the future. If you find any bugs, we appreciate if you felt free to either contribute fixes on GitHub or use the bug tracker for OXID eShop mobile theme.

Incite product recommendations with commissions through spread-this!

This is a guest blog post by Christoph Koeth, CEO, spread-this!.

OXID eShop users can now effectively incite visitors to directly recommend certain products or services via their Facebook or Twitter account or via Email, simply by clicking on the spread-this! button. What does the trick? For each recommendation, visitors will be rewarded with a commission.

spread-this! is essentially a four steps process:

  1. As a shop owner you decide how much commission you want to give to a visitor for each successful recommendation. This can be done individually for each product or on a general basis with the same provision for all products in your free spread-this! account.
  2. A visitor spots a great deal in your shop and recommends the product to one of his or her friends by clicking on the spread-this! button.
  3. A friend who received the recommendation via Facebook or Twitter buys the product in your shop.
  4. As a shop owner you reward the recommendation whereas the commission can be split between the one who recommended the product and the one who received the recommendation.

By combining social communities and word-of-mouth recommendations the shop’s visibility and visitor count can be increased significantly. Moreover, spread-this! maximizes Search Engine Optimization (SEO) with the shop’s URL being spread throughout social networks on the Web.

Thus, spread-this! enables you to significantly increase your shop’s awareness and revenue. It combines the enormous potential offered by social communities such as Facebook or Twitter and the high credibility of word-of-mouth recommendations.

The integration and use of spread-this! in an OXID eShop is plain simple:

  • We offer a predefined module which takes not more than 5 minutes to install.
  • We take care of all customer care and the processing of commissions.
  • No risk for the shop-owner as the integration and use of spread-this! is open source and available for free. Costs occur only after a successful recommendation.

Learn more about spread-this! and try it for free: Download spread-this! on OXID eXchange.

The Feature Request Tool: A Module Writer’s Gold Mine

If you’re a programmer of OXID eShop extensions, you’re probably stuck for ideas sometimes. For all those moments, allow us to point you to our feature request tool, which we introduced over a year ago. It’s gathered a lot of ideas and votes from OXID eShop users, and it’s a great place to find new ideas and inspiration.

Of course, it’s OXID’s responsibility to work on the most wanted feature requests as well as to handle inquiries that concern core development of OXID eShop. But leaving these aside and reading carefully, you’re sure to find many entries that are specific to certain projects and can be easily integrated as modules or even as template extensions – for example, the request to „add rounding function for Swiss shops„. Each feature request is voted on by users, so it’s easy to see which feature requests are generating the most interest; this then becomes a list of exciting ideas for you to work on.

Once you’ve selected something to work on, you need to decide whether you want to collaborate with other coders and place the project under the GPL, or whether you wish to develop it independently and sell it under a commercial license. If you choose the former option, remember that you can use OXIDprojects as your collaborative development platform.

Once your module is complete, you can upload it to the OXID eXchange marketplace to give it better visibility. Regardless of whether you’re distributing it for free ot selling it under a commercial license, OXID eXchange will ensure that a large number of users will see your work. 

Finally, if you also want to contribute to the core, we’d be happy to hear from you, so please get in touch with us via the dev-general mailing list. And don’t forget to blog about your work as well. Remember, if you send us a related RSS feed and a nice picture of you, we’ll get your blog post published on OXID planet and on our Twitter stream and Facebook page.

Introducing OLIGOFORM GbR, One of our Latest Partners

We are OLIGOFORM GbR from Halle (Saale), and we offer Web design, development and consulting services. Our business focus is to „put your ideas into a digital design“.

Our first experience with e-commerce was with osCommerce and xt:Commerce. Our customers, however, required a shop solution that offered fully developed, out-of-the-box features on the one hand, but also allowed complex individual programming on the other hand. From a technical point of view, the existing systems were all at the same level. However, from our agency’s point of view, there were two criteria that made us choose OXID, and that was the professional and quality-conscious infrastructure for partners (modules) and an open community (know how).

Once we decided to become OXID partners in mid-2009, we gained a number of further advantages and we are now also able to react to individual customer demands much quicker. For example, one day after we were listed online as an OXID partner, we received a request from a customer near us and, one week later, we convinced him of an OXID-based solution after a corporate briefing.

The technical implementation and individualization of e-commerce have become
fixed business activities of OLIGOFORM since then. Our customers are to be found in several different branches. Besides a young and rising Berlin fashion label, we recently successfully launched the online shop of a start-up entrepreneur who specialises in creating customised and fancy cakes.

We will prove, in the next few weeks, that we have personally caught the e-commerce fever: our own shop with a well-known mascot will reach the Web soon!

We don’t regret our decision to become a OXID solution partner at all, and we are
eagerly looking forward to further exciting projects and upcoming versions 😉

 

NECKERMANN – now on OXID eShop

The client

neckermann.ch AG is a subsidiary of the German neckermann.de group, one of the leading mail order companies in Europe. The former Neckermann Versand AG successfully conquered the market  from its headquarters in St. Gallen, CH, where the Swiss Corporation was founded in 2003. Like its parent company in Germany, Neckermann in Switzerland also counts on the internet as the sales channel of the future.

The task

The new neckermann.ch online store required a set up utilizing the OXID eShop Enterprise Edition and should have a similar layout to the German neckermann.de store. Another important part of the request catalog was the implementation of several e-commerce partners. Issues such as payment, tracking, content management, intelligent search, an ERP-system and online marketing had to be addressed.

The challenge

To fulfill the various special requests and ideas of the client, the system had to be extended by several modules. Another challenge was the huge variety of items and categories to be displayed in a user-friendly way.
For the Neckermann „Erlebniswelt“ and components, like a size-adviser tool or landing pages, many CMS extensions had to be made. Additionally, an automatic update of over 100K product data sets via the ERP System „Tradebyte“ to the eCommerce system had to be completed. Also, the connection to an ad-server to display the product teaser banners at the online store was quite unusual for an online store.

The solution

The complex challenges have been worked out together with the Shoplupe consulting team. Recommending modules and processes, Shoplupe focused on very innovative providers that can deal with the Neckermann’s complexity and dimension.

OXID eShop together with the FATCHIP-CMS module has a quite intuitive and fast usability and outstanding options for individualization.
The neckermann.ch team has the possibility to set up its own sub-pages and to split them up with a separate menu hierarchy. The integration of several payment interfaces coded by FATCHIP allows the client to offer a large variety of payment methods including credit card and installment payment. For the integration of an intelligent and clear search function, the on-site search has been extended by the FACT-Finder portlet at the e-commerce platform OXID eFire. For the data exchange between the stock holding system „Tradebyte“ and the Neckermann specific system VIS for client and order data, a special XML interface has been developed. The modules developed for the storefront open up new possibilities in usability and guarantee a more comfortable and transparent shopping experience. Besides FACT-Finder’s search optimization, there are Econda, product proposals from Ireus, and product videos by Clipster and MagicZoom in use.

The time-to-market for the complete project took only three months. This was only possible due to the good co-operation in the neckermann.ch team, the product management of FATCHIP and the easy adaptability of OXID eShop Enterprise Edition.

Dirk Gaffrontke, IT& Systeme neckermann.ch ag, said, „Due to the enormous standard functionality and the wide palette of available modules of OXID eShop EE, FATCHIP, our implementation agency, could concentrate to the individual requests of neckermann.ch such as specific payment modules for Switzerland.

We are confident that neckermann.ch and others are well-positioned for future challenges in e-commerce due to the modular architecture of OXID eSales EE and the permanent development of the OXID community,“ he added.

„During the implementation of neckermann.ch online store we were occupied with lots and lots of individual requests. Focusing on these extensions was possible only because of the modular concept of OXID eShop … ,“ Dipl.-Ing. Hendrik Bahr, the CEO of FATCHIP GmbH said.

 

Martin Gittel, CEO at neckermann.ch, said,

In the purview of the relaunch of our new online store, we hired Shoplupe for the concept, the consulting and the project management. Choosing this service provider, it was important to me that they were experienced in projects and e-commerce because of the considerable risks of a relaunch of this dimension and complexity.

The modus operandi of Shoplupe overall was very professional and immediately convinced me: extensive workshops, a professional concept and expert talks on a high level showed that complete professionals are at work. The project management was organized efficiently so that the project could be executed quickly. But the biggest advantage I see in the fact that Shoplupe namely took over the concept as well as the project management but the technical implementation could be conducted by any agency. Thus, the consulting is judicious and independent as the project management remains strict. The given budget was managed perfectly.

And the very best of all: the online store was done exactly according to the project plan and could be launched with the utmost precision.