Kategorie: OXID

share

OXSEARCH 3.6.0 released

Mit dem neuen Release gibt es auch eine erweiterte Dokumentation des Moduls. Diese wurde mit GitBook realisiert und steht damit tagesaktuell online zur Verfügung:

screenshotGitbookDokuOxsearch

Das ist neu im Modul:

  • Bugfixes für Promotionen
  • der Request Timeout ist konfigurierbar
  • Performanceverbesserungen
  • Vereinfachungen für das Überladen der JavaScript- und CSS-Includes
  • Codestyle PSR-2 kompatibel
  • weitere Bugfixes

Ein Dank geht an die Kollegen von DotFly, die uns neben wichtigem Feedback sogar einen Bugfix bereit gestellt haben.

share

Pull Requests – Fluch und Segen

Die Zusammenarbeit bei OpenSource-Projekten auf GitHub oder GitLab ist großartig. Ich freue mich immer wie ein Schneekönig, wenn jemand eine Erweiterung für eines unserer OpenSource-Projekte macht und über einen Pull Request zum Mergen übergibt.

TOXID ist so über die Jahre gewachsen, dass es inziwschen in großen Enterprise-Projekten zum Einsatz kommt, das cleartmp-Modul aus dem Kochbuch ist erweitert worden und kommt viel zum Einsatz und für viele andere Module bekommen wir Feedback.

Was jedoch –  und damit zum „Aber“ – das mergen, also das Zusammenführend des Codes unglaublich schwer macht, ist das automatische Ändern von Code-Style durch die Entwicklungsumgebungen.

Was passiert, ist, dass große Codeblöcke und teilweise ganze Dateien als geändert markiert werden, weil die IDE Methoden umsortiert, andere Einrückungn hat, etc.

Man sitzt also vor einem riesigen Block Änderungen und muss sehr mühsam suchen, was denn nun wirklich geändert wurde. Das kostet Zeit, Nerven und ist nicht mal so eben nebenher zu machen.

Wie sieht ein guter Pull Request aus?

  1. Es werden neue Funktionen hinzugefügt
  2. Sind Code-Style-Änderungen unbedingt nötig, werden die in einem separaten Commit gemacht, der entsprechend markiert ist.
  3. Umsortieren kompletter Methoden findet nicht statt.
  4. Code-Style-Änderungen gehen immer in Richtung des betroffenen Projekts.

Inzwischen gibt es ja einen de Facto Standard für Codestyle, den alle großen Projekte die wir einsetzen verfolgen: PSR-2

Wir werden daher alle Module auf PSR-2 wechseln. Doch seht es uns nach, wenn das nicht immer klappt, weil wir unseren alten Style noch gewöhnt sind.

Um Energie zu sparen, werden wir bei folgenden Änderungen nur sehr selten mergen:

  • Pull Requests die NUR Codestyle ändern. Das ist kein Update bei allen Usern wert!
  • Pull Requests, die Funktions-Änderung und Code-Style-Änderungen an bestehendem in einem Commit enthalten.

Pull Requests, die Codestyleänderungen an bestehendem Code enthalten die nicht PSR-2 sind.

Ich freue mich, auf die nächsten gemeinsamen Projekte und gerne eine anregende Diskussion!

share

OXID Datenbankdump ohne Views

OXID nutzt für die Mehrsprachigkeit die Views von MySQL. Bei einigen Hostern machen diese jedoch Probleme, wenn man die Datenbank per mysqldump sichern möchte.

Glücklicherweise beginnen die Views alle mit „oxv_“, so dass man diese auschließen kann.

Hier das Entsprechende Script für den Aufruf auf der Commandline:

mysql [dbname] -u [username] -p[password] -e 'show tables where tables_in_[dbname] not like "oxv\_%"' | grep -v Tables_in | xargs mysqldump [dbname] -u [username] -p[password] > [dump_file]

Es werden alle Tabellen ausgelesen, welche nicht mit oxv_ beginnen und ein Dump mit allen anderen erzeugt.

Nachdem man den Dump in die neue Datenbank importiert hat, im Backend unter „Tools“ einfach die Views neu erzeugen.

In manchen Versionen ist jedoch ohne Views gar kein Login ins Backend möglich. Hier hilft das setzen des entprechenden Eintrags in der config.inc.php

$this->blSkipViewUsage = true;


EDIT:

Bei Profihost müssen noch die Pfade für MySQL5 angepasst werden:

/usr/local/mysql5/bin/mysql [dbname] -u [username] -p[password] -e 'show tables where tables_in_[dbname] not like "oxv\_%"' | grep -v Tables_in | xargs /usr/local/mysql5/bin/mysqldump [dbname] -u [username] -p[password] > [dump_file]

share

OXSEARCH 3.4 – Suchen um zu finden


Das Modul „OXSEARCH“ verbindet ihren OXID eShop mit der Suchtechnologie Elasticsearch. Wir arbeiten stetig daran, das Modul weiter zu entwickeln. Letzte Woche haben wir die neue Version veröffentlich, die Ihre Suche noch performanter und fehlertoleranter macht:

Um die Suche in Ihrem eShop noch umfassender zu gestalten, nutzen Sie mit OXSEARCH 3.4  die verbessterte Teilbegriffsuche und die Wildcardsuche zum Auffinden verwandter Begriffe. So finden Ihre Kunden Artikel noch leichter und komfortabler.
›› weiterlesen…

share

Billsafe Zahlungsinformation auf dem OXID eShop Rechnungs-PDF angeben bei Einsatz des PayOne-Moduls

PayOne bietet mittels des fcPayOne-Moduls (von der Berliner OXID Agentur Fatchip) auch die Zahlart Billsafe an. Leider kann das Modul noch nicht die Daten für die Rechnung, die in der OXID Community & Professional Edition bequem im Backend als PDF generiert werden können ausgeben.

Im Wiki von Fatchip finden sich lediglich die Angaben, welche Felder auszulesen sind.

Hier ein Snippet, mit dem die Daten auszulesen und im PDF dargestellt werden.

Grundsätzlich empfiehlt es sich, die oxOrder zu erweitern, in der die PDF-Generierung eingehängt ist. Leider müssen wir die zwei Methoden, die wir verändern wollen aus der Originaldatei kopieren.

Zuerst blenden wir in unserem Modul in der Methode „exportStandart()“ die normalen Rechnungseinstellungen aus:


public function pdfFooter( $oPdf )
{
...
if( $this->oxorder__oxpaymenttype->value != "fcpobillsafe")
{
// hier die Bankangaben
}

Am Ende der Methode „exportStandart()“ fügen wir nun die Billsafe Daten ein:
if( $this->oxorder__oxpaymenttype->value == "fcpobillsafe")
{
$oLang = oxRegistry::getLang();
$sBrutPrice = $oLang->formatCurrency( $this->oxorder__oxtotalbrutsum->value, $this->getCurrency() ).' '.$this->getCurrency()->name;
$oPdf->MultiCell( 170, 10, $this->_getFatchipPayoneBillsafeData( 'clearing_legalnote'), 0, 'J' , 0, 1, 14, $siteH+10 );
$oPdf->SetTextColor(50, 150, 50);
$oPdf->MultiCell( 170, 10, $this->_getFatchipPayoneBillsafeData( 'clearing_instructionnote'), 0, 'J' , 0, 1, 14, $siteH+24 );
$oPdf->SetTextColor();
$oPdf->text( 15, $siteH+38, "Empfänger:" );
$oPdf->text( 55, $siteH+38, $this->_getFatchipPayoneBillsafeData( 'clearing_bankaccountholder' ) );
$oPdf->text( 15, $siteH+43, "Bank:" );
$oPdf->text( 55, $siteH+43, $this->_getFatchipPayoneBillsafeData( 'clearing_bankname' ) );
$oPdf->text( 15, $siteH+48, "IBAN:" );
$oPdf->text( 55, $siteH+48, $this->_getFatchipPayoneBillsafeData( 'clearing_bankiban' ) );
$oPdf->text( 15, $siteH+53, "BIC:" );
$oPdf->text( 55, $siteH+53, $this->_getFatchipPayoneBillsafeData( 'clearing_bankbic' ) );
$oPdf->text( 15, $siteH+58, "Betrag:" );
$oPdf->text( 55, $siteH+58, $sBrutPrice );
$oPdf->text( 15, $siteH+63, "Verwendungszweck:" );
$oPdf->text( 55, $siteH+63, $this->_getFatchipPayoneBillsafeData( 'clearing_reference' ) );
}

Bitte – wie oben bereits erwähnt – nicht die Core-Datei ändern, sondern oxOrder sauber mit einem Modul überladen. Wer nicht weiß wie das geht: Roman Zenner und ich haben ein Buch dazu geschrieben. 😉