Drupal News

mark.ie: Creating a Drupal Field Group Programmatically

Main Drupal Feed - Thu, 06/02/2022 - 13:26

How to create a Drupal field group programatically in Drupal 8, 9, 10, etc.

mark.ie: Creating a Drupal Field Group Programmatically

Main Drupal Feed - Thu, 06/02/2022 - 13:26

How to create a Drupal field group programatically in Drupal 8, 9, 10, etc.

Droptica: Enhanced Drupal templates. Review of the Twig Tweak Module

Main Drupal Feed - Thu, 06/02/2022 - 12:23

When using any kind of solution, we usually encounter the need to create generic support functions. A similar situation occurs when working with templates in Drupal 9. If you’ve ever created custom code to display a block, view, or entities in a Drupal 9 template, and are interested in ready-made and tested solution, this article is for you. We’ll show you the Twig Tweak module, which provides a number of support functions.

Twig and Drupal

Twig is a template engine for PHP, released in 2009. It’s constantly developed. As at the date of writing this article, the latest version is 3.4.1. Twig is an integral part of the Symfony framework, and thus – also of Drupal 9. Drupal in its own way implements certain concepts, such as entities, blocks, and views. To build the final HTML from the so-called render arrays, Drupal uses internal classes designed for this purpose. Twig, however, doesn't know by default how they work. Because of this, it’s natively impossible to, for example, render a block or view with any parameters and in any place just by using the Twig engine. To make such an operation possible, the Drupal community has created the Twig Tweak module, which introduces a substantial list of Twig extensions addressing the most common Drupal-specific problems.

Twig Tweak module

The module was released on 3 January 2016, and its latest update was on 15 April 2022. Twig Tweak has an older version that is compatible with Drupal 8 and 9, and a newer one that requires Drupal 9. For obvious reasons (using Symfony from version 8), the module doesn't have a Drupal 7 version.

The Twig Tweak module provides a collection of extensions for Twig that allow you to, for example, render views, blocks, regions, entities, fields, menus, forms, tokens, and more. The full list of possibilities is provided in the Twig Tweak cheat sheet prepared by the authors.

Twig Tweak is currently used by over 100 thousand websites. The latest 3.x version is gaining in popularity over the older 2.x version, which is experiencing slight but continuous drops.

 

Source: Drupal.org

The creator and the main person maintaining the module is the user Chi. Due to the popularity of the module, the full list of people who contributed to its development is too extensive to be quoted.

Installation

The Twig Tweak module's installation is standard.

composer require drupal/twig_tweak drush pm:enable twig_tweak

The module has no dependencies other than Drupal Core and also doesn't provide custom permissions.

There is one configuration option - twig_tweak_enable_php_filter - which is set in the settings.php file. It is set to TRUE / FALSE and is FALSE by default. Enabling this option adds the possibility of using pure PHP in Twig. The option is turned off by default, possibly for security reasons.

How to use Twig Tweak

After installing the module, we get access to the following functions:

drupal_view

Renders the provided view. Example: 

{{ drupal_view(‘view_id’, 'view_display_id’) }}

drupal_view_result

Renders only the result of the provided view. Example: 

{{ drupal_view_result(‘view_id’, 'view_display_id’) }}

drupal_block

Renders the provided block. Example:

{# Block with default configuration. #} {{ drupal_block('block_id') }} {# Block with custom configuration. #} {{ drupal_block('block_id', {config_id: 'foo', another_config_id: false}) }} {# Block without block.html.twig theming. #} {{ drupal_block('block_id', wrapper=false) }}

drupal_region

Renders the provided region. Example:

{# Foo region of the default theme. #} {{ drupal_region(‘foo’) }} {# Foo region of Bartik theme. #} {{ drupal_region('foo', 'bartik') }} Other functions in Twig Tweak

Let's take a look at other options available in this module:

drupal_entity - renders entities,

drupal_entity_form - renders entity form,

drupal_field - renders field,

drupal_menu - renders menu,

drupal_form - renders form,

drupal_image - renders image,

drupal_token - replaces token,

drupal_config - renders configurations,

drupal_dump / dd - renders a readable version of the variable's content (helpful for debugging),

drupal_title - renders the title of the current page,

drupal_url - renders URL,

drupal_link - renders link,

drupal_messages - renders status messages,

drupal_breadcrumb - renders breadcrumbs,

drupal_breakpoint - triggers the Xdebug's breakpoint,

drupal_contextual_links - renders contextual links.

Filters in the Twig Tweak module

Now we'll take a look at the filters available in the tool:

token_replace - replaces token,

preg_replace - enables using the preg_replace function in Twig,

image_style - applies the given image style,

transliterate - transliterates text from Unicode to US-ASCII,

check_markup - filters text based on the text style specified in the system,

format_size - formats the given number of bytes into a character representation with a multiple suffix,

truncate - limits the given text to the chosen number of characters,

view - returns the render array for the given entity or field,

with - works inversely to the core's without filter,

children - used in multiple-selection fields to get a list of items,

file_uri - returns the URI of a given media file,

file_url - enables using the file_url function in Twig,

translation - returns the translation of a given entity,

cache_metadata - adds cache metadata to the printed field,

php - executes the given string of characters as PHP code.

You can find a detailed description of the filters together with examples of use in the above-linked Twig Tweak cheat sheet.

Twig Tweak module - summary

The Twig Tweak module saves time and opens up new possibilities for developers. The filters and functions it provides are useful in everyday work with Twig. The module is very popular, well-supported, and willingly recommended by the community. As a team of Drupal developers, we recommend installing and trying out the possibilities provided by the Twig Tweak module.

Droptica: Enhanced Drupal templates. Review of the Twig Tweak Module

Main Drupal Feed - Thu, 06/02/2022 - 12:23

When using any kind of solution, we usually encounter the need to create generic support functions. A similar situation occurs when working with templates in Drupal 9. If you’ve ever created custom code to display a block, view, or entities in a Drupal 9 template, and are interested in ready-made and tested solution, this article is for you. We’ll show you the Twig Tweak module, which provides a number of support functions.

Twig and Drupal

Twig is a template engine for PHP, released in 2009. It’s constantly developed. As at the date of writing this article, the latest version is 3.4.1. Twig is an integral part of the Symfony framework, and thus – also of Drupal 9. Drupal in its own way implements certain concepts, such as entities, blocks, and views. To build the final HTML from the so-called render arrays, Drupal uses internal classes designed for this purpose. Twig, however, doesn't know by default how they work. Because of this, it’s natively impossible to, for example, render a block or view with any parameters and in any place just by using the Twig engine. To make such an operation possible, the Drupal community has created the Twig Tweak module, which introduces a substantial list of Twig extensions addressing the most common Drupal-specific problems.

Twig Tweak module

The module was released on 3 January 2016, and its latest update was on 15 April 2022. Twig Tweak has an older version that is compatible with Drupal 8 and 9, and a newer one that requires Drupal 9. For obvious reasons (using Symfony from version 8), the module doesn't have a Drupal 7 version.

The Twig Tweak module provides a collection of extensions for Twig that allow you to, for example, render views, blocks, regions, entities, fields, menus, forms, tokens, and more. The full list of possibilities is provided in the Twig Tweak cheat sheet prepared by the authors.

Twig Tweak is currently used by over 100 thousand websites. The latest 3.x version is gaining in popularity over the older 2.x version, which is experiencing slight but continuous drops.

 

Source: Drupal.org

The creator and the main person maintaining the module is the user Chi. Due to the popularity of the module, the full list of people who contributed to its development is too extensive to be quoted.

Installation

The Twig Tweak module's installation is standard.

composer require drupal/twig_tweak drush pm:enable twig_tweak

The module has no dependencies other than Drupal Core and also doesn't provide custom permissions.

There is one configuration option - twig_tweak_enable_php_filter - which is set in the settings.php file. It is set to TRUE / FALSE and is FALSE by default. Enabling this option adds the possibility of using pure PHP in Twig. The option is turned off by default, possibly for security reasons.

How to use Twig Tweak

After installing the module, we get access to the following functions:

drupal_view

Renders the provided view. Example: 

{{ drupal_view(‘view_id’, 'view_display_id’) }}

drupal_view_result

Renders only the result of the provided view. Example: 

{{ drupal_view_result(‘view_id’, 'view_display_id’) }}

drupal_block

Renders the provided block. Example:

{# Block with default configuration. #} {{ drupal_block('block_id') }} {# Block with custom configuration. #} {{ drupal_block('block_id', {config_id: 'foo', another_config_id: false}) }} {# Block without block.html.twig theming. #} {{ drupal_block('block_id', wrapper=false) }}

drupal_region

Renders the provided region. Example:

{# Foo region of the default theme. #} {{ drupal_region(‘foo’) }} {# Foo region of Bartik theme. #} {{ drupal_region('foo', 'bartik') }} Other functions in Twig Tweak

Let's take a look at other options available in this module:

drupal_entity - renders entities,

drupal_entity_form - renders entity form,

drupal_field - renders field,

drupal_menu - renders menu,

drupal_form - renders form,

drupal_image - renders image,

drupal_token - replaces token,

drupal_config - renders configurations,

drupal_dump / dd - renders a readable version of the variable's content (helpful for debugging),

drupal_title - renders the title of the current page,

drupal_url - renders URL,

drupal_link - renders link,

drupal_messages - renders status messages,

drupal_breadcrumb - renders breadcrumbs,

drupal_breakpoint - triggers the Xdebug's breakpoint,

drupal_contextual_links - renders contextual links.

Filters in the Twig Tweak module

Now we'll take a look at the filters available in the tool:

token_replace - replaces token,

preg_replace - enables using the preg_replace function in Twig,

image_style - applies the given image style,

transliterate - transliterates text from Unicode to US-ASCII,

check_markup - filters text based on the text style specified in the system,

format_size - formats the given number of bytes into a character representation with a multiple suffix,

truncate - limits the given text to the chosen number of characters,

view - returns the render array for the given entity or field,

with - works inversely to the core's without filter,

children - used in multiple-selection fields to get a list of items,

file_uri - returns the URI of a given media file,

file_url - enables using the file_url function in Twig,

translation - returns the translation of a given entity,

cache_metadata - adds cache metadata to the printed field,

php - executes the given string of characters as PHP code.

You can find a detailed description of the filters together with examples of use in the above-linked Twig Tweak cheat sheet.

Twig Tweak module - summary

The Twig Tweak module saves time and opens up new possibilities for developers. The filters and functions it provides are useful in everyday work with Twig. The module is very popular, well-supported, and willingly recommended by the community. As a team of Drupal developers, we recommend installing and trying out the possibilities provided by the Twig Tweak module.

Droptica: Enhanced Drupal templates. Review of the Twig Tweak Module

Main Drupal Feed - Thu, 06/02/2022 - 12:23

When using any kind of solution, we usually encounter the need to create generic support functions. A similar situation occurs when working with templates in Drupal 9. If you’ve ever created custom code to display a block, view, or entities in a Drupal 9 template, and are interested in ready-made and tested solution, this article is for you. We’ll show you the Twig Tweak module, which provides a number of support functions.

Twig and Drupal

Twig is a template engine for PHP, released in 2009. It’s constantly developed. As at the date of writing this article, the latest version is 3.4.1. Twig is an integral part of the Symfony framework, and thus – also of Drupal 9. Drupal in its own way implements certain concepts, such as entities, blocks, and views. To build the final HTML from the so-called render arrays, Drupal uses internal classes designed for this purpose. Twig, however, doesn't know by default how they work. Because of this, it’s natively impossible to, for example, render a block or view with any parameters and in any place just by using the Twig engine. To make such an operation possible, the Drupal community has created the Twig Tweak module, which introduces a substantial list of Twig extensions addressing the most common Drupal-specific problems.

Twig Tweak module

The module was released on 3 January 2016, and its latest update was on 15 April 2022. Twig Tweak has an older version that is compatible with Drupal 8 and 9, and a newer one that requires Drupal 9. For obvious reasons (using Symfony from version 8), the module doesn't have a Drupal 7 version.

The Twig Tweak module provides a collection of extensions for Twig that allow you to, for example, render views, blocks, regions, entities, fields, menus, forms, tokens, and more. The full list of possibilities is provided in the Twig Tweak cheat sheet prepared by the authors.

Twig Tweak is currently used by over 100 thousand websites. The latest 3.x version is gaining in popularity over the older 2.x version, which is experiencing slight but continuous drops.

 

Source: Drupal.org

The creator and the main person maintaining the module is the user Chi. Due to the popularity of the module, the full list of people who contributed to its development is too extensive to be quoted.

Installation

The Twig Tweak module's installation is standard.

composer require drupal/twig_tweak drush pm:enable twig_tweak

The module has no dependencies other than Drupal Core and also doesn't provide custom permissions.

There is one configuration option - twig_tweak_enable_php_filter - which is set in the settings.php file. It is set to TRUE / FALSE and is FALSE by default. Enabling this option adds the possibility of using pure PHP in Twig. The option is turned off by default, possibly for security reasons.

How to use Twig Tweak

After installing the module, we get access to the following functions:

drupal_view

Renders the provided view. Example: 

{{ drupal_view(‘view_id’, 'view_display_id’) }}

drupal_view_result

Renders only the result of the provided view. Example: 

{{ drupal_view_result(‘view_id’, 'view_display_id’) }}

drupal_block

Renders the provided block. Example:

{# Block with default configuration. #} {{ drupal_block('block_id') }} {# Block with custom configuration. #} {{ drupal_block('block_id', {config_id: 'foo', another_config_id: false}) }} {# Block without block.html.twig theming. #} {{ drupal_block('block_id', wrapper=false) }}

drupal_region

Renders the provided region. Example:

{# Foo region of the default theme. #} {{ drupal_region(‘foo’) }} {# Foo region of Bartik theme. #} {{ drupal_region('foo', 'bartik') }} Other functions in Twig Tweak

Let's take a look at other options available in this module:

drupal_entity - renders entities,

drupal_entity_form - renders entity form,

drupal_field - renders field,

drupal_menu - renders menu,

drupal_form - renders form,

drupal_image - renders image,

drupal_token - replaces token,

drupal_config - renders configurations,

drupal_dump / dd - renders a readable version of the variable's content (helpful for debugging),

drupal_title - renders the title of the current page,

drupal_url - renders URL,

drupal_link - renders link,

drupal_messages - renders status messages,

drupal_breadcrumb - renders breadcrumbs,

drupal_breakpoint - triggers the Xdebug's breakpoint,

drupal_contextual_links - renders contextual links.

Filters in the Twig Tweak module

Now we'll take a look at the filters available in the tool:

token_replace - replaces token,

preg_replace - enables using the preg_replace function in Twig,

image_style - applies the given image style,

transliterate - transliterates text from Unicode to US-ASCII,

check_markup - filters text based on the text style specified in the system,

format_size - formats the given number of bytes into a character representation with a multiple suffix,

truncate - limits the given text to the chosen number of characters,

view - returns the render array for the given entity or field,

with - works inversely to the core's without filter,

children - used in multiple-selection fields to get a list of items,

file_uri - returns the URI of a given media file,

file_url - enables using the file_url function in Twig,

translation - returns the translation of a given entity,

cache_metadata - adds cache metadata to the printed field,

php - executes the given string of characters as PHP code.

You can find a detailed description of the filters together with examples of use in the above-linked Twig Tweak cheat sheet.

Twig Tweak module - summary

The Twig Tweak module saves time and opens up new possibilities for developers. The filters and functions it provides are useful in everyday work with Twig. The module is very popular, well-supported, and willingly recommended by the community. As a team of Drupal developers, we recommend installing and trying out the possibilities provided by the Twig Tweak module.

Samuel Mortenson: Meet Bookish, an install profile for static Drupal blogs

Main Drupal Feed - Thu, 06/02/2022 - 08:00
For the last four years I’ve been working on a static site generator for Drupal called Tome. Unlike other generators Tome uses “vanilla” Drupal, which means that if you know how to build a Drupal site, you know how to build a Tome site! One downside of this is that when comparing a default install of Drupal with a default install of something like Gatsby, Drupal looks pretty outdated. I wanted to show Tome off but couldn’t do it well with core, so I decided to focus my energy on a new install profile for static blogs - Bookish.

Samuel Mortenson: Meet Bookish, an install profile for static Drupal blogs

Main Drupal Feed - Thu, 06/02/2022 - 08:00
For the last four years I’ve been working on a static site generator for Drupal called Tome. Unlike other generators Tome uses “vanilla” Drupal, which means that if you know how to build a Drupal site, you know how to build a Tome site! One downside of this is that when comparing a default install of Drupal with a default install of something like Gatsby, Drupal looks pretty outdated. I wanted to show Tome off but couldn’t do it well with core, so I decided to focus my energy on a new install profile for static blogs - Bookish.

Samuel Mortenson: Meet Bookish, an install profile for static Drupal blogs

Main Drupal Feed - Thu, 06/02/2022 - 08:00
For the last four years I’ve been working on a static site generator for Drupal called Tome. Unlike other generators Tome uses “vanilla” Drupal, which means that if you know how to build a Drupal site, you know how to build a Tome site! One downside of this is that when comparing a default install of Drupal with a default install of something like Gatsby, Drupal looks pretty outdated. I wanted to show Tome off but couldn’t do it well with core, so I decided to focus my energy on a new install profile for static blogs - Bookish.

PreviousNext: The right way to check for empty content in Twig

Main Drupal Feed - Thu, 06/02/2022 - 05:39

Have you ever used {% if content|render|trim is not empty %} in twig to validate content is not empty?

If so, you might end up with some surprises related to the use of the render method.
 

by mohit.aghera / 2 June 2022 Introduction

Checking that content is not empty before rendering is good practice. Typically we call the “trim” method as well so all the space gets trimmed and we get an accurate indication if the content is empty.

Usually, developers uses snippet like {% if content|render|trim is not empty %} to ensure that content is not empty.

Recently while working on one of our projects, the client informed us that Webform was having issues with Recaptcha and was throwing errors related to invalid tokens. To debug further, we disabled recaptcha handler and saw that Webform submissions were being recorded twice.

While debugging further, we noticed that all the things were working as expected for Webform and simple_recaptcha module’s Webform handler. So both of those causes were out of the picture.

We'd experienced a similar issue before, and in that case the cause was a [node:description] tag from Metatags that was rendering the embedded Webform. At first we thought this might have been the case, but debugging revealed that Metatags was not in the mix this time.

During debugging further around rendering process, we noticed that render() was being called twice. Rendering twice was causing issues with recaptcha tokens. Because the second render was invalidating the original recaptcha token.

Upon debugging further we found the following twig templates code was causing issues. 
 

​​{% if content|render|trim is not empty %} 
 
  
 {{ content.content }} 
  
 
{% endif %} 
 

Here, if you notice the block {% if content|render|trim is not empty %} that we are calling render method of TwigExtension.php. So this was rendering the content the first time and then the second time we are actually rendering the content using {{ content.content }}. So this second render was invalidating the previous token generated by the Webform handler.

Solution

As the use of the render function was causing issues we need to use a different approach to validate the issue.

In such situations twig’s set tag comes to the rescue.

We can use it in conjunction with the spaceless twig filter to only render the content once. The spaceless filter makes sure we don't get a false positive from whitespace, just like the trim function did before.

So we can refactor above twig snippet using the set tag and the spaceless filter like this:

{% set content_render %}{% apply spaceless %}
 {{ content.content }}
{% endapply %}{% endset %}
{% if content_render is not empty %}
 
   
     {{ content_render }}
   
 
{% endif %}

By using this approach, we can achieve the same thing as the original approach, but with only one render.

Conclusion

The set tag in conjunction with the spaceless filter allows us to safely render a variable, remove any whitespace between HTML tags and then use that as a variable to evaluate if the output is empty. If not, we can just output the already-rendered variable and in doing so avoid additional render in our twig templates. 
 

Tagged Drupal Development, Theming, Drupal Theming, Twig

PreviousNext: The right way to check for empty content in Twig

Main Drupal Feed - Thu, 06/02/2022 - 05:39

Have you ever used {% if content|render|trim is not empty %} in twig to validate content is not empty?

If so, you might end up with some surprises related to the use of the render method.
 

by mohit.aghera / 2 June 2022 Introduction

Checking that content is not empty before rendering is good practice. Typically we call the “trim” method as well so all the space gets trimmed and we get an accurate indication if the content is empty.

Usually, developers uses snippet like {% if content|render|trim is not empty %} to ensure that content is not empty.

Recently while working on one of our projects, the client informed us that Webform was having issues with Recaptcha and was throwing errors related to invalid tokens. To debug further, we disabled recaptcha handler and saw that Webform submissions were being recorded twice.

While debugging further, we noticed that all the things were working as expected for Webform and simple_recaptcha module’s Webform handler. So both of those causes were out of the picture.

We'd experienced a similar issue before, and in that case the cause was a [node:description] tag from Metatags that was rendering the embedded Webform. At first we thought this might have been the case, but debugging revealed that Metatags was not in the mix this time.

During debugging further around rendering process, we noticed that render() was being called twice. Rendering twice was causing issues with recaptcha tokens. Because the second render was invalidating the original recaptcha token.

Upon debugging further we found the following twig templates code was causing issues. 
 

​​{% if content|render|trim is not empty %} 
 
  
 {{ content.content }} 
  
 
{% endif %} 
 

Here, if you notice the block {% if content|render|trim is not empty %} that we are calling render method of TwigExtension.php. So this was rendering the content the first time and then the second time we are actually rendering the content using {{ content.content }}. So this second render was invalidating the previous token generated by the Webform handler.

Solution

As the use of the render function was causing issues we need to use a different approach to validate the issue.

In such situations twig’s set tag comes to the rescue.

We can use it in conjunction with the spaceless twig filter to only render the content once. The spaceless filter makes sure we don't get a false positive from whitespace, just like the trim function did before.

So we can refactor above twig snippet using the set tag and the spaceless filter like this:

{% set content_render %}{% apply spaceless %}
 {{ content.content }}
{% endapply %}{% endset %}
{% if content_render is not empty %}
 
   
     {{ content_render }}
   
 
{% endif %}

By using this approach, we can achieve the same thing as the original approach, but with only one render.

Conclusion

The set tag in conjunction with the spaceless filter allows us to safely render a variable, remove any whitespace between HTML tags and then use that as a variable to evaluate if the output is empty. If not, we can just output the already-rendered variable and in doing so avoid additional render in our twig templates. 
 

Tagged Drupal Development, Theming, Drupal Theming, Twig

Liip: Liip revolutioniert das Lohnsystem

Main Drupal Feed - Wed, 06/01/2022 - 22:00

Das neue Lohnsystem der selbstorganisierten Digitalagentur Liip gewinnt den Swiss HR Award in der Kategorie “Diversity, Inclusion, Equality”. Der Liip Deal stellt Mitarbeitende ins Zentrum. Ganz nach dem Motto digital, human progress wird die agile Weiterentwicklung zugänglich gemacht, denn viele fortschrittliche Organisationen stehen vor dem Schritt, neue Lohnsysteme einzuführen.

Der Swiss HR Award

Der Swiss HR Award zeichnet jährlich innovative Projekte in der “People-Welt” aus. Die Inhalte der Arbeiten müssen kreativ neue Wege beschreiten, mutig Neues ausprobieren und Wirkung zeigen - mit effektiven Resultaten. Der Swiss HR Award setzt damit Qualitätsstandards für Arbeitsmodelle und zukunftsweisende Ideen im HR Bereich. Die Fachjury beurteilt Projekte in sieben Kategorien. Mit dem neuen Lohnsystem wandelt Liip die Kultur und setzt sich aktiv für ein System ein, welches Diversität, Inklusion und Gleichstellung fördert.

Von link nach rechts: Zahida Huber, Sergio Mendolia, Nadja Perroulaz und Pascal Helfenstein

“Selbstbestimmung, Gleichstellung und Klarheit in der Entschädigung war unser Ziel. Das war nicht immer einfach zu balancieren. Aber wir haben es geschafft, ein System zu kreieren, dass zur Selbstorganisation passt und die Mitarbeitenden ins Zentrum stellt”. So Sergio Mendolia, Fullstack Developer and Salary Process Developer bei Liip.

Das neue Lohnsystem - der Liip Deal

Ein gleichberechtigtes Lohnsystem, das keine Unterschiede zwischen Berufsbildern und möglichst kleine Lohnunterschiede macht, das lebt Liip schon seit der Gründung. Um am Ball zu bleiben, entwickelt das Digitalunternehmen sein Entlöhnungssystem kontinuierlich weiter. Das Lohnsystem wurde 2016 entwickelt und basiert auf dem Konzept der Peer-Evaluation. Seit 2018 sind das System sowie die daraus resultierenden Löhne vollständig transparent: Alle Mitarbeitende wissen, wer was verdient und wie der Lohn berechnet wird; das bleibt auch so. Das neue System basiert auf 2 Kriterien mit jeweils 6 Stufen, Ein Basissalär basierend auf den Lohnrechner bildet die Grundlage. Mitarbeitende schätzen darin selbst ihre Expertise und den erzielten Impact ein, welcher dann von mindestens 2 Kolleg*innen überprüft und kommentiert wird. Das Alter und die Loyalität dazugerechnet, entsteht der individuelle Lohn.

Jurypräsident Jörg Buckmann übergibt den Swiss HR Award an Sergio Mendolia und Pascal Helfenstein

“Agiles Arbeiten gehört auch bei internen Veränderungen zum Standard. Wir teilen unsere Erfahrungen bewusst mit agilen Organisationen und anderen interessierten Unternehmen, denn Open Source ist in unserer DNA. Es macht Spass, mit solchen Projekten aktiv etwas zu bewegen.” sagt Pascal Helfenstein, Software Engineer und Salary Process Developer bei Liip.

Mitarbeitende im Zentrum des neuen Lohnsystems

Was ist revolutionär am neuen Lohnsystem von Liip? Es ist auf agile Organisationen zugeschnitten, impliziert eine hohe Eigenverantwortung und ist Zweck- und Wirkungsorientiert. Ein Lohnsystem also, das nicht verhandelbar ist, auf Selbst- und Peer-Evaluationen basiert und transparent ist. Alle Mitarbeitenden - auch die ehemalige Geschäftsleitung - werden in das System eingebunden. Es gilt die gleiche Bezahlung in allen Funktionen durch das Basissalär. Zusätzlich dazu werden höhere Gehaltsstufen mit der Expertise und Wirkung erreicht. Zudem macht Liip als Arbeitgeberin explizit, dass Mitarbeitende nicht nur mit ihrem monatlichen Gehalt entlöhnt werden, sondern mit einem ganzen Paket, dem “Liip Deal”.

“Mit unserem “Liip Deal” haben wir ein in der Schweiz neues und einzigartiges System entwickelt. Alle Prozesse und Systeme wurden von Grund auf neu definiert und entwickelt. Mit dem Lohnrechner als Basis bleiben die Löhne marktgerecht. Und wir nehmen die Mitarbeitenden in die Verantwortung, denn sie starten eine Lohnveränderung mit der Selbstevaluation”, sagt Nadja Perroulaz, Mitgründerin von Liip.

Die Digitalagentur freut sich sehr über die Auszeichnung am diesjährigen Swiss HR Award.
Mehr zum Thema: liip.ch/de/blog/salary-system-liip
Der Podcast des Agile Breakfast: swissict.ch/agile-breakfast-kompakt-002-mit-nadja-perroulaz

Liip: Liip revolutioniert das Lohnsystem

Main Drupal Feed - Wed, 06/01/2022 - 22:00

Das neue Lohnsystem der selbstorganisierten Digitalagentur Liip gewinnt den Swiss HR Award in der Kategorie “Diversity, Inclusion, Equality”. Der Liip Deal stellt Mitarbeitende ins Zentrum. Ganz nach dem Motto digital, human progress wird die agile Weiterentwicklung zugänglich gemacht, denn viele fortschrittliche Organisationen stehen vor dem Schritt, neue Lohnsysteme einzuführen.

Der Swiss HR Award

Der Swiss HR Award zeichnet jährlich innovative Projekte in der “People-Welt” aus. Die Inhalte der Arbeiten müssen kreativ neue Wege beschreiten, mutig Neues ausprobieren und Wirkung zeigen - mit effektiven Resultaten. Der Swiss HR Award setzt damit Qualitätsstandards für Arbeitsmodelle und zukunftsweisende Ideen im HR Bereich. Die Fachjury beurteilt Projekte in sieben Kategorien. Mit dem neuen Lohnsystem wandelt Liip die Kultur und setzt sich aktiv für ein System ein, welches Diversität, Inklusion und Gleichstellung fördert.

Von link nach rechts: Zahida Huber, Sergio Mendolia, Nadja Perroulaz und Pascal Helfenstein

“Selbstbestimmung, Gleichstellung und Klarheit in der Entschädigung war unser Ziel. Das war nicht immer einfach zu balancieren. Aber wir haben es geschafft, ein System zu kreieren, dass zur Selbstorganisation passt und die Mitarbeitenden ins Zentrum stellt”. So Sergio Mendolia, Fullstack Developer and Salary Process Developer bei Liip.

Das neue Lohnsystem - der Liip Deal

Ein gleichberechtigtes Lohnsystem, das keine Unterschiede zwischen Berufsbildern und möglichst kleine Lohnunterschiede macht, das lebt Liip schon seit der Gründung. Um am Ball zu bleiben, entwickelt das Digitalunternehmen sein Entlöhnungssystem kontinuierlich weiter. Das Lohnsystem wurde 2016 entwickelt und basiert auf dem Konzept der Peer-Evaluation. Seit 2018 sind das System sowie die daraus resultierenden Löhne vollständig transparent: Alle Mitarbeitende wissen, wer was verdient und wie der Lohn berechnet wird; das bleibt auch so. Das neue System basiert auf 2 Kriterien mit jeweils 6 Stufen, Ein Basissalär basierend auf den Lohnrechner bildet die Grundlage. Mitarbeitende schätzen darin selbst ihre Expertise und den erzielten Impact ein, welcher dann von mindestens 2 Kolleg*innen überprüft und kommentiert wird. Das Alter und die Loyalität dazugerechnet, entsteht der individuelle Lohn.

Jurypräsident Jörg Buckmann übergibt den Swiss HR Award an Sergio Mendolia und Pascal Helfenstein

“Agiles Arbeiten gehört auch bei internen Veränderungen zum Standard. Wir teilen unsere Erfahrungen bewusst mit agilen Organisationen und anderen interessierten Unternehmen, denn Open Source ist in unserer DNA. Es macht Spass, mit solchen Projekten aktiv etwas zu bewegen.” sagt Pascal Helfenstein, Software Engineer und Salary Process Developer bei Liip.

Mitarbeitende im Zentrum des neuen Lohnsystems

Was ist revolutionär am neuen Lohnsystem von Liip? Es ist auf agile Organisationen zugeschnitten, impliziert eine hohe Eigenverantwortung und ist Zweck- und Wirkungsorientiert. Ein Lohnsystem also, das nicht verhandelbar ist, auf Selbst- und Peer-Evaluationen basiert und transparent ist. Alle Mitarbeitenden - auch die ehemalige Geschäftsleitung - werden in das System eingebunden. Es gilt die gleiche Bezahlung in allen Funktionen durch das Basissalär. Zusätzlich dazu werden höhere Gehaltsstufen mit der Expertise und Wirkung erreicht. Zudem macht Liip als Arbeitgeberin explizit, dass Mitarbeitende nicht nur mit ihrem monatlichen Gehalt entlöhnt werden, sondern mit einem ganzen Paket, dem “Liip Deal”.

“Mit unserem “Liip Deal” haben wir ein in der Schweiz neues und einzigartiges System entwickelt. Alle Prozesse und Systeme wurden von Grund auf neu definiert und entwickelt. Mit dem Lohnrechner als Basis bleiben die Löhne marktgerecht. Und wir nehmen die Mitarbeitenden in die Verantwortung, denn sie starten eine Lohnveränderung mit der Selbstevaluation”, sagt Nadja Perroulaz, Mitgründerin von Liip.

Die Digitalagentur freut sich sehr über die Auszeichnung am diesjährigen Swiss HR Award.
Mehr zum Thema: liip.ch/de/blog/salary-system-liip
Der Podcast des Agile Breakfast: swissict.ch/agile-breakfast-kompakt-002-mit-nadja-perroulaz

Liip: Liip revolutioniert das Lohnsystem

Main Drupal Feed - Wed, 06/01/2022 - 22:00

Das neue Lohnsystem der selbstorganisierten Digitalagentur Liip gewinnt den Swiss HR Award in der Kategorie “Diversity, Inclusion, Equality”. Der Liip Deal stellt Mitarbeitende ins Zentrum. Ganz nach dem Motto digital, human progress wird die agile Weiterentwicklung zugänglich gemacht, denn viele fortschrittliche Organisationen stehen vor dem Schritt, neue Lohnsysteme einzuführen.

Der Swiss HR Award

Der Swiss HR Award zeichnet jährlich innovative Projekte in der “People-Welt” aus. Die Inhalte der Arbeiten müssen kreativ neue Wege beschreiten, mutig Neues ausprobieren und Wirkung zeigen - mit effektiven Resultaten. Der Swiss HR Award setzt damit Qualitätsstandards für Arbeitsmodelle und zukunftsweisende Ideen im HR Bereich. Die Fachjury beurteilt Projekte in sieben Kategorien. Mit dem neuen Lohnsystem wandelt Liip die Kultur und setzt sich aktiv für ein System ein, welches Diversität, Inklusion und Gleichstellung fördert.

Von link nach rechts: Zahida Huber, Sergio Mendolia, Nadja Perroulaz und Pascal Helfenstein

“Selbstbestimmung, Gleichstellung und Klarheit in der Entschädigung war unser Ziel. Das war nicht immer einfach zu balancieren. Aber wir haben es geschafft, ein System zu kreieren, dass zur Selbstorganisation passt und die Mitarbeitenden ins Zentrum stellt”. So Sergio Mendolia, Fullstack Developer and Salary Process Developer bei Liip.

Das neue Lohnsystem - der Liip Deal

Ein gleichberechtigtes Lohnsystem, das keine Unterschiede zwischen Berufsbildern und möglichst kleine Lohnunterschiede macht, das lebt Liip schon seit der Gründung. Um am Ball zu bleiben, entwickelt das Digitalunternehmen sein Entlöhnungssystem kontinuierlich weiter. Das Lohnsystem wurde 2016 entwickelt und basiert auf dem Konzept der Peer-Evaluation. Seit 2018 sind das System sowie die daraus resultierenden Löhne vollständig transparent: Alle Mitarbeitende wissen, wer was verdient und wie der Lohn berechnet wird; das bleibt auch so. Das neue System basiert auf 2 Kriterien mit jeweils 6 Stufen, Ein Basissalär basierend auf den Lohnrechner bildet die Grundlage. Mitarbeitende schätzen darin selbst ihre Expertise und den erzielten Impact ein, welcher dann von mindestens 2 Kolleg*innen überprüft und kommentiert wird. Das Alter und die Loyalität dazugerechnet, entsteht der individuelle Lohn.

Jurypräsident Jörg Buckmann übergibt den Swiss HR Award an Sergio Mendolia und Pascal Helfenstein

“Agiles Arbeiten gehört auch bei internen Veränderungen zum Standard. Wir teilen unsere Erfahrungen bewusst mit agilen Organisationen und anderen interessierten Unternehmen, denn Open Source ist in unserer DNA. Es macht Spass, mit solchen Projekten aktiv etwas zu bewegen.” sagt Pascal Helfenstein, Software Engineer und Salary Process Developer bei Liip.

Mitarbeitende im Zentrum des neuen Lohnsystems

Was ist revolutionär am neuen Lohnsystem von Liip? Es ist auf agile Organisationen zugeschnitten, impliziert eine hohe Eigenverantwortung und ist Zweck- und Wirkungsorientiert. Ein Lohnsystem also, das nicht verhandelbar ist, auf Selbst- und Peer-Evaluationen basiert und transparent ist. Alle Mitarbeitenden - auch die ehemalige Geschäftsleitung - werden in das System eingebunden. Es gilt die gleiche Bezahlung in allen Funktionen durch das Basissalär. Zusätzlich dazu werden höhere Gehaltsstufen mit der Expertise und Wirkung erreicht. Zudem macht Liip als Arbeitgeberin explizit, dass Mitarbeitende nicht nur mit ihrem monatlichen Gehalt entlöhnt werden, sondern mit einem ganzen Paket, dem “Liip Deal”.

“Mit unserem “Liip Deal” haben wir ein in der Schweiz neues und einzigartiges System entwickelt. Alle Prozesse und Systeme wurden von Grund auf neu definiert und entwickelt. Mit dem Lohnrechner als Basis bleiben die Löhne marktgerecht. Und wir nehmen die Mitarbeitenden in die Verantwortung, denn sie starten eine Lohnveränderung mit der Selbstevaluation”, sagt Nadja Perroulaz, Mitgründerin von Liip.

Die Digitalagentur freut sich sehr über die Auszeichnung am diesjährigen Swiss HR Award.
Mehr zum Thema: liip.ch/de/blog/salary-system-liip
Der Podcast des Agile Breakfast: swissict.ch/agile-breakfast-kompakt-002-mit-nadja-perroulaz

Ny Media: Strex is now integrated in Drupal!

Main Drupal Feed - Wed, 06/01/2022 - 21:21
Strex is now integrated in Drupal! thomas June 1, 2022

You can now use Strex to send SMS messages from Drupal. Ny Media and Strex have cooperated on a integration module that makes sure Strex can now be installed and used together with Drupal's SMS functionality.

Who is Strex and why do I need their SMS functionality in Drupal?

Strex is one of Norway's largest players in mobile payment and SMS communication, and is owned by the mobile operators Telenor, Telia and Ice. More than 4.6 million Norwegians have already used one or more of Strex's services. Strex has two main products:

  • Strex Connect which is a complete SMS platform for incoming and outgoing SMS
  • Payment solutions that are integrated into a large number of services in Norway.

The first version of the module concentrates on the SMS functionality. The module makes it possible to implement SMS sending in Drupal via the Strex Connect platform.

Examples of areas where the Drupal module have already been used:

  • Two-step verification with SMS code at login.
  • Mass communication in member solutions for sports management systems.
  • Mass communication with personalized content via our marketing and personalization solution for shopping malls.
  • Distribution of tracking and order status in our e-commerce solutions.

Questions about Drupal and the Strex module?

ASK US!

The main reasons why we want to use Strex for SMS handling is:

  • Powerful and easy to use management service on strexconnect.no.
  • Flexibility in relation to using several customer accounts and tagging of messages that make invoicing, re-invoicing and statistics easy to handle.
  • Good availability of support and the product team at Strex.
  • Competitive pricing.


 

Some facts about the integration

The module is an extension of Drupal's SMS Framework. The framework is designed to be able to be expanded with third-party providers of SMS services such as Strex. The framework itself takes care of, among other things:

  • Sending SMS via integrated gateways (Strex SMS gateway is now an option here). SMS Framework supports having multiple gateways in the same installation.
  • Collect, verify and store mobile number information on Drupal users.
  • Mass sending of SMS to Drupal users based on batch operations.
  • Send content or portions of content to mobile phones.

Technical information on how the SMS Framework and Strex integration specifically works and is set up can be found here.

How do I get started using Strex in Drupal?

If you are a customer of Ny Media already, just get in touch with your contact person, and we will help you get started.

If you have your own Drupal installation or are a company that offers Drupal services, then it is still very easy. All you need to do is:

  1. Create an agreement with Strex by filling out the following form.
  2. Download and install the module according to the instructions on drupal.org.
  3. Configure the module and start sending SMS from Drupal's SMS Framework functionality. More info can be found here.
  4. After you have used the module, you have a full overview of statistics etc. at strexconnect.no.

CONTACT STREX TODAY TO GET STARTED!

Ny Media: Strex is now integrated in Drupal!

Main Drupal Feed - Wed, 06/01/2022 - 21:21
Strex is now integrated in Drupal! thomas June 1, 2022

You can now use Strex to send SMS messages from Drupal. Ny Media and Strex have cooperated on a integration module that makes sure Strex can now be installed and used together with Drupal's SMS functionality.

Who is Strex and why do I need their SMS functionality in Drupal?

Strex is one of Norway's largest players in mobile payment and SMS communication, and is owned by the mobile operators Telenor, Telia and Ice. More than 4.6 million Norwegians have already used one or more of Strex's services. Strex has two main products:

  • Strex Connect which is a complete SMS platform for incoming and outgoing SMS
  • Payment solutions that are integrated into a large number of services in Norway.

The first version of the module concentrates on the SMS functionality. The module makes it possible to implement SMS sending in Drupal via the Strex Connect platform.

Examples of areas where the Drupal module have already been used:

  • Two-step verification with SMS code at login.
  • Mass communication in member solutions for sports management systems.
  • Mass communication with personalized content via our marketing and personalization solution for shopping malls.
  • Distribution of tracking and order status in our e-commerce solutions.

Questions about Drupal and the Strex module?

ASK US!

The main reasons why we want to use Strex for SMS handling is:

  • Powerful and easy to use management service on strexconnect.no.
  • Flexibility in relation to using several customer accounts and tagging of messages that make invoicing, re-invoicing and statistics easy to handle.
  • Good availability of support and the product team at Strex.
  • Competitive pricing.


 

Some facts about the integration

The module is an extension of Drupal's SMS Framework. The framework is designed to be able to be expanded with third-party providers of SMS services such as Strex. The framework itself takes care of, among other things:

  • Sending SMS via integrated gateways (Strex SMS gateway is now an option here). SMS Framework supports having multiple gateways in the same installation.
  • Collect, verify and store mobile number information on Drupal users.
  • Mass sending of SMS to Drupal users based on batch operations.
  • Send content or portions of content to mobile phones.

Technical information on how the SMS Framework and Strex integration specifically works and is set up can be found here.

How do I get started using Strex in Drupal?

If you are a customer of Ny Media already, just get in touch with your contact person, and we will help you get started.

If you have your own Drupal installation or are a company that offers Drupal services, then it is still very easy. All you need to do is:

  1. Create an agreement with Strex by filling out the following form.
  2. Download and install the module according to the instructions on drupal.org.
  3. Configure the module and start sending SMS from Drupal's SMS Framework functionality. More info can be found here.
  4. After you have used the module, you have a full overview of statistics etc. at strexconnect.no.

CONTACT STREX TODAY TO GET STARTED!

Ny Media: Strex is now integrated in Drupal!

Main Drupal Feed - Wed, 06/01/2022 - 21:21
Strex is now integrated in Drupal! thomas June 1, 2022

You can now use Strex to send SMS messages from Drupal. Ny Media and Strex have cooperated on a integration module that makes sure Strex can now be installed and used together with Drupal's SMS functionality.

Who is Strex and why do I need their SMS functionality in Drupal?

Strex is one of Norway's largest players in mobile payment and SMS communication, and is owned by the mobile operators Telenor, Telia and Ice. More than 4.6 million Norwegians have already used one or more of Strex's services. Strex has two main products:

  • Strex Connect which is a complete SMS platform for incoming and outgoing SMS
  • Payment solutions that are integrated into a large number of services in Norway.

The first version of the module concentrates on the SMS functionality. The module makes it possible to implement SMS sending in Drupal via the Strex Connect platform.

Examples of areas where the Drupal module have already been used:

  • Two-step verification with SMS code at login.
  • Mass communication in member solutions for sports management systems.
  • Mass communication with personalized content via our marketing and personalization solution for shopping malls.
  • Distribution of tracking and order status in our e-commerce solutions.

Questions about Drupal and the Strex module?

ASK US!

The main reasons why we want to use Strex for SMS handling is:

  • Powerful and easy to use management service on strexconnect.no.
  • Flexibility in relation to using several customer accounts and tagging of messages that make invoicing, re-invoicing and statistics easy to handle.
  • Good availability of support and the product team at Strex.
  • Competitive pricing.


 

Some facts about the integration

The module is an extension of Drupal's SMS Framework. The framework is designed to be able to be expanded with third-party providers of SMS services such as Strex. The framework itself takes care of, among other things:

  • Sending SMS via integrated gateways (Strex SMS gateway is now an option here). SMS Framework supports having multiple gateways in the same installation.
  • Collect, verify and store mobile number information on Drupal users.
  • Mass sending of SMS to Drupal users based on batch operations.
  • Send content or portions of content to mobile phones.

Technical information on how the SMS Framework and Strex integration specifically works and is set up can be found here.

How do I get started using Strex in Drupal?

If you are a customer of Ny Media already, just get in touch with your contact person, and we will help you get started.

If you have your own Drupal installation or are a company that offers Drupal services, then it is still very easy. All you need to do is:

  1. Create an agreement with Strex by filling out the following form.
  2. Download and install the module according to the instructions on drupal.org.
  3. Configure the module and start sending SMS from Drupal's SMS Framework functionality. More info can be found here.
  4. After you have used the module, you have a full overview of statistics etc. at strexconnect.no.

CONTACT STREX TODAY TO GET STARTED!

Lullabot: Component Libraries in Drupal

Main Drupal Feed - Wed, 06/01/2022 - 14:26

Component libraries have become one of the first things organizations require for new engagements. There are many reasons for organizations to want a component library, but the reality is that Drupal, and PHP in general, have not been in a good place to deliver great solutions in this area. This is why we have created the Component Libraries suite of modules.

Lullabot: Component Libraries in Drupal

Main Drupal Feed - Wed, 06/01/2022 - 14:26

Component libraries have become one of the first things organizations require for new engagements. There are many reasons for organizations to want a component library, but the reality is that Drupal, and PHP in general, have not been in a good place to deliver great solutions in this area. This is why we have created the Component Libraries suite of modules.

Pages