geschrieben von Denis Saltanakhmedov
am 2. März 2017 - 15:17

Any application should be unambiguous. Every user should easily read and understand it. OroCRM applications contain many forms and fields. Developers can customize them and add even more, which can make the application difficult to use by other parties. The easiest way to avoid this is to add comments to the application elements: fields, forms etc. This can be done with tooltips in OroCRM. And we are going to show you how to do it.

In the following example we will use a Contact form entity. You can see the form in contact/create or contact/update/(id). You can use any of the forms but if you want to add some changes to a native Oro form, you first need to overwrite it. We have overwritten the OroCRMContact form and now can add tooltips to fields. Keep in mind, the native OroCRMContact form class is vendor/oro/crm/src/OroCRM/Bundle/ContactBundle/Form/Type/ContactType.php. We need to change the $builder->add() method.

Here is how you can add fields to…

geschrieben von markoshust
am 2. März 2017 - 15:15

By default, Docker for Mac ships with the default filesystem being aufs. This is a fairly antiquated filesystem and is quite slow if you deal with lots of files and filesystem reads and writes. You can see the results of a filesystem benchmark to compare.

The easiest task to do to get better filesystem performance in Docker is to switch to the overlay2 filesystem. This achieves better performance by optimizing how layers are created and managed.

The first step to do is to check that you are in fact currently not using overlay2. Open up command line and type:

docker info | grep "Storage Driver"

The output will most likely be Storage Driver: aufs. Let's change this to overlay2.

Cleaning out your closet

Since switching filesystems will change the location of where all of the docker images and containers are stored on your machine, switching the driver will cause you…

geschrieben von Sebastian
am 2. März 2017 - 8:46

Das kostenlose Webinar wird ein Streifzug durch aktuelle Entwicklungen des Online-Marketing-Rechts. Dabei wird es drei Schwerpunkte geben: (1) Fotos in Blogs und auf der Unternehmenswebsite, (2) Google-Anzeigen und das Wettbewerbsrecht und (3) Gewinnspiele in sozialen Netzwerken. Online-Marketing- und Social-Media-Recht – Was Sie 2017 wissen müssen Datum/Uhrzeit: Freitag, 3. März 2017, 10:00 – 11:00 Uhr Jeder […]

Der Beitrag Kostenloses Webinar: Online-Marketing- und Social-Media-Recht erschien zuerst auf

geschrieben von
am 2. März 2017 - 1:00

In this article we will be going to share how we have handled Magento 2 upgrades, noting any common gotchas, and issues we have run into.Ensuring a smooth as possible upgrade is incredibly important to us.

Note: that this assumes you are using composer for your project, and that your installation is created using composer create-project --repository-url= magento/project-community-edition [your/dir] [version].

This guide also assumes you are running this on a local installation before running on a staging or production environment (we have a few tips for this at the end of the article too!).

Step One. Read the release notes.

Every release will contain detailed release notes, it's important to get familiar with the areas that are changing in each release. You can find these over on the devdocs: Magento 2 release information

Make notes on the areas…

geschrieben von
am 28. Februar 2017 - 22:08

Here’s a fun pestle command I forgot about.

pestle.phar magento2:search:search_controllers

This command accepts a file path as a single argument, searches through the specified folder for anything that looks like a Magento controller file, and then displays that controller file’s execute method along with its relative file path.

Pipe the resulting output to a file or text editor, and you can quickly search through all Magento’s controller files. For example, today I forgot the syntax for adding a custom handle to a layout update XML file – but with magento2:search:search_controllers the syntax was and a “Ctrl-F handle” away.

$ pestle.phar magento2:search:search_controllers //... vendor/magento/module-backend/Controller/Adminhtml/Denied.php -------------------------------------------------- function execute() { if (!$this->_auth->isLoggedIn()) { /** @…
geschrieben von
am 28. Februar 2017 - 18:40
This entry is part 3 of 3 in the series Pestle. Earlier posts include Pestle 1.1.1 Released, and Pestle 1.1.2 Released. This is the most recent post in the series. Today we’re going to talk about pestle’s new magento2:generate:schema-upgrade command. To do that, we need to talk a little bit about Magento 1, as well as “migrations” in information systems more generally. Information Systems Most e-commerce, content management, and CRM software can be broadly classified as information systems. An information system (IS) is any organized system for the collection, organization, storage and communication of information. More specifically, it is the […]
geschrieben von Covos
am 28. Februar 2017 - 16:29
Möchte man z.B. einen B2B-Shop einrichten bei dem sich der Nutzer erst einmal anmelden / bzw. registrieren muss, um Artikel und / oder Kategorien sehen zu können, kann man auf verschiedene Extensions zurück greifen. Eine sehr verbreitete Extension ist Groups … Weiterlesen →
geschrieben von Hrvoje Ivancic
am 28. Februar 2017 - 13:02

If you’re looking for a way to improve your user’s experience in terms of speed – try Fastly.

What is Fastly?

Fastly is a modern CDN service – it uses SSD disks in their cache servers to ensure fast content access & great cache hit ratio, it offers over 30 POP (point of presence) locations placed on strategic places all over the world (Asia, Europe, North & South America, Australia, New Zeland), it uses reverse proxying which means that the content is being fetched from your origin server as it’s requested and on top of that – they have greatly supported extensions for Magento 1 & Magento 2.

  • Faster load times for web and mobile users
  • Better site stability in the event of traffic surges…
geschrieben von Ceridwen Lentz
am 28. Februar 2017 - 12:07

Für die SCHRAMM Werkstätten GmbH hat netz98 ein E-Commerce-Projekt auf Magento-Basis realisiert, bei dem der Content die zentrale Rolle spielt. Denn bei SCHRAMM, einem Hersteller von Luxusbetten mit extrem hochwertigen Taschenfederkern-Matratzen, ist der Content auf letztlich wichtiger als der Onlineshop: Marketing vor Direktvertrieb. Darum hat netz98 die Magento 2 Community Edition kurzerhand zum richtigen

The post netz98 verwandelt Magento für SCHRAMM Werkstätten in ein CMS appeared first on Regalsprecher.

geschrieben von
am 27. Februar 2017 - 20:35
This entry is part 2 of 2 in the series Pestle. Earlier posts include Pestle 1.1.1 Released. This is the most recent post in the series. We can neither confirm nor deny that we’re filled with a positive emotion that PR folks typically call excitement or happiness that pestle 1.1.2 is now available. Existing pestle users should be able to run pestle.phar selfupdate and pestle will update itself. If you’re new to pestle the GitHub README has the low-down on why you’ll want it, and how to install it. If you run into any problems getting started please let us […]
geschrieben von Dmytro Cheshun
am 27. Februar 2017 - 14:24

Magento uses notification messages to improve user experience. You can simply add any message using the Message Manager to notify users whether the result of an action is successful or not.

In this blog post we will cover one type of the notifications – Admin System Messages. This type of notifications will be shown in a pop-up block and will be present in the admin panel as a reminder for an admin user until a special condition is met. These notifications can vary from messages about invalidated indexes to vulnerability issues. Adding custom system messages can be helpful and we are going to show you how to do it in few simple steps.

To add a custom system message you need to:

  1. Register a new message in the message list;
  2. Create a model class for the new message, which implements few necessary methods for further message handling.

The "\Magento\Framework\Notification\MessageList" class is responsible for…

geschrieben von Sebastian
am 25. Februar 2017 - 18:19

Magento Community Edition Version

Der Beitrag Magento CE erschien zuerst auf

geschrieben von
am 24. Februar 2017 - 23:00
UI Component Item `source` Nodes are Redundant:

I finally got an answer out of Magento engineering on those nodes and their best guess is as good as ours. i.e., they’re redundant/not-used.

There’s a few interesting points to make here for folks just learning to program, and just getting settled into the industry.

The first is software projects often grown beyond what any individual can understand, even (or especially) if that person works at the company responsible for that software. This is why programmers clammer for best-practices and consistency in their framework code. The ability to quickly trace out why something works a particular way is more important than any particular implementation, and inconsistent or over complex systems make that impossible.

The second is, when you find something that doesn’t work right, you’ll…

geschrieben von Sebastian
am 23. Februar 2017 - 9:42

Aufenthalt in Leipzig zur #MM17DE Bis zum 01.05.2017 steht allen Teilnehmern der Meet Magento Deutschland für die Buchung eines Hotelzimmers in der Konferenzlocation pentahotel Leipzig ein Abrufkontingent unter dem Stichwort „Meet Magento“ zur Verfügung. Die Kosten für die Einzelbelegung betragen 99,00€ (Sonntag) und 119,00€ (Montag). Im Zimmerpreis ist ein reichhaltiges Frühstücksbuffet enthalten. Reservieren kannst du […]

Der Beitrag Meet Magento DE 2017: Aufenthalt, Call for Papers und Award erschien zuerst auf

geschrieben von
am 23. Februar 2017 - 1:37

Although there’s no documentation stating this, based on system behavior it seems like the


class files are sort of required by a Magento module.

I say sort of required because you can run a module without them. You can use that module to add features to Magento. However, a version number for that module will not be added to the setup_module table unless the InstallSchema class is present.

I discovered this when I tried adding an UpgradeSchema class to a module that didn’t have an InstallSchema. The UpgradeSchema still ran, but calling $context->getVersion()

public function upgrade( SchemaSetupInterface $setup, ModuleContextInterface $context ) { $setup->startSetup(); $version = '[' . $context->getVersion() . ']'; file_put_contents('/tmp/schema.log',$version . "\n",FILE_APPEND); $setup->endSetup(); }

returned an empty string, as…

geschrieben von
am 21. Februar 2017 - 19:44
This entry is part 1 of 1 in the series Pestle. This is the first post in the series. Hot on the heels of pestle 1.1, I’ve just released the inevitable pestle 1.1.1. Pestle users should be able to pestle selfupdate and be good to go. Things in this release include An updated, and reorganized command list A magento2:generate:ui:add_to_layout, which adds a uiComponent node to a layout update XML file A magento2:generate:controller_edit_acl command, which changes an admin controller’s configuration ACL rule A magento2:generate:full_module command, which generates a shell script that can generate a “full” module. The magento2:generate:full_module command it probably […]
geschrieben von
am 21. Februar 2017 - 18:06

While PHP production environments have long made use of extra systems like memcache, varnish, and redis, most successful PHP projects also let developers and technically savvy folks drop an archive of files on a server, point the web server at those files, configure the application to point to a traditional RDMS/database, and have a working application.

After a year or so of life with the Magento 2 non-beta-beta, it’s becoming clearer that this isn’t a priority for Magento’s engineering team. The first run experience remains dismal, and the company’s efforts seem focused on tools for Silicon Vally professionals, such as Docker.

For my on work, I’m still installing Magento directly on my OS X/macOS workstation. With out of the box performance of the file based cache being what it is, I’ve started using redis as Magento’s…

geschrieben von Ralf Lieser
am 21. Februar 2017 - 12:44

Omnichannel ganz aus Kundensicht zu gestalten, damit der Kunde nach einem positiven Einkaufserlebnis wiederkommt – das ist das Ziel von Omnichannel-Händlern. Daneben müssen natürlich auch die Verkaufszahlen stimmen und Prozesskosten möglichst niedrig bleiben. All das regelt sich nicht von alleine – sondern bestenfalls mit einer geeigneten Software, wie zum Beispiel dem Magento Commerce Order Management.

The post 5 Einsatzzwecke des Magento Commerce Order Management appeared first on Regalsprecher.

geschrieben von Fabian Schmengler
am 20. Februar 2017 - 16:00
This is my weekly Kata post. Read the first one to learn what it is all about.

Last week: Coin Changer

This week it did not work out for me, I did the kata only once in PHP and that was not enough to get any particular insights. I’ll have to repeat it again some time soon! But on to the next one:

Eighth Kata: Functions Pipeline

The task: build a function pipe() that takes any number of callables as arguments and returns a new callable.
The returned callable passes any arguments to the first callable, then the result of that to the next callable, and so on, and will return the final result.
So the processing order is left to right.


// first apply strtolower(), then apply ucwords second. $f = pipe('strtolower', 'ucwords'); $f('FOO BAR') === ucwords(strtolower('FOO BAR'));

Optional follow up exercise:

implement a function compose(), which behaves just like pipe()…

geschrieben von Fabian Schmengler
am 20. Februar 2017 - 16:00
Dies ist mein wöchentlicher Kata Post. Lies den ersten um zu erfahren, worum es hier geht.

Letzte Woche: Münzwechsler

Diese Woche hat es bei mir nicht hingehauen, ich habe die Kata nur einmal in PHP gemacht und das war nicht ausreichend für irgendwelche Einsichten. Ich werde sie demnächst noch mal wiederholen müssen. Aber jetzt erst mal zur nächsten:

Achte Kata: Functions Pipeline

Schreibe eine Funktion pipe(), die eine beliebige Zahl von Funktionen (callables) als Argumente akzeptiert und eine neue Funktion zurückgibt.
Die zurückgegebene Funktion übergibt alle Argumente an die erste Funktion, das Ergebnis an die zweite, und so weiter, und gibt das letzte Ergebnis zurück.

Die Funktionen werden also von links nach rechts verarbeitet.

Beispiel: // erst strtolower() anwenden, dann ucwords $f = pipe('strtolower', 'ucwords'); $f('FOO BAR') === ucwords(strtolower('FOO BAR')); Optionale Zusatz-…