Drupal

Bookable Entities Everywhere

New Drupal Modules - 22 November 2017 - 7:52am
Categories: Drupal

Dries Buytaert: An update on the Workflow Initiative for Drupal 8.4/8.5

Planet Drupal - 22 November 2017 - 6:57am

Over the past weeks I have shared an update on the Media Initiative and an update on the Layout Initiative. Today I wanted to give an update on the Workflow Initiative.

Creating great software doesn't happen overnight; it requires a desire for excellence and a disciplined approach. Like the Media and Layout Initiatives, the Workflow Initiative has taken such an approach. The disciplined and steady progress these initiative are making is something to be excited about.

8.4: The march towards stability

As you might recall from my last Workflow Initiative update, we added the Content Moderation module to Drupal 8.2 as an experimental module, and we added the Workflows module in Drupal 8.3 as well. The Workflows module allows for the creation of different publishing workflows with various states (e.g. draft, needs legal review, needs copy-editing, etc) and the Content Moderation module exposes these workflows to content authors.

As of Drupal 8.4, the Workflows module has been marked stable. Additionally, the Content Moderation module is marked beta in Drupal 8.4, and is down to two final blockers before marking stable. If you want to help with that, check out the Content Moderation module roadmap.

8.4: Making more entity types revisionable

To advance Drupal's workflow capabilities, more of Drupal's entity types needed to be made "revisionable". When content is revisionable, it becomes easier to move it through different workflow states or to stage content. Making more entity types revisionable is a necessary foundation for better content moderation, workflow and staging capabilities. But it was also hard work and took various people over a year of iterations — we worked on this throughout the Drupal 8.3 and Drupal 8.4 development cycle.

When working through this, we discovered various adjacent bugs (e.g. bugs related to content revisions and translations) that had to be worked through as well. As a plus, this has led to a more stable and reliable Drupal, even for those who don't use any of the workflow modules. This is a testament to our desire for excellence and disciplined approach.

8.5+: Looking forward to workspaces

While these foundational improvements in Drupal 8.3 and Drupal 8.4 are absolutely necessary to enable better content moderation and content staging functionality, they don't have much to show for in terms of user experience changes. Now a lot of this work is behind us, the Workflow Initiative changed its focus to stabilizing the Content Moderation module, but is also aiming to bring the Workspace module into Drupal core as an experimental module.

The Workspace module allows the creation of multiple environments, such as "Staging" or "Production", and allows moving collections of content between them. For example, the "Production" workspace is what visitors see when they visit your site. Then you might have a protected "Staging" workspace where content editors prepare new content before it's pushed to the Production workspace.

While workflows for individual content items are powerful, many sites want to publish multiple content items at once as a group. This includes new pages, updated pages, but also changes to blocks and menu items — hence our focus on making things like block content and menu items revisionable. 'Workspaces' group all these individual elements (pages, blocks and menus) into a logical package, so they can be prepared, previewed and published as a group. This is one of the most requested features and will be a valuable differentiator for Drupal. It looks pretty slick too:

I'm impressed with the work the Workflow team has accomplished during the Drupal 8.4 cycle: the Workflow module became stable, the Content Moderation module improved by leaps and bounds, and the under-the-hood work has prepared us for content staging via Workspaces. In the process, we've also fixed some long-standing technical debt in the revisions and translations systems, laying the foundation for future improvements.

Special thanks to Angie Byron for contributions to this blog post and to Dick Olsson, Tim Millwood and Jozef Toth for their feedback during the writing process.

Categories: Drupal

An update on the Workflow Initiative for Drupal 8.4/8.5

Dries Buytaert - 22 November 2017 - 6:57am

Over the past weeks I have shared an update on the Media Initiative and an update on the Layout Initiative. Today I wanted to give an update on the Workflow Initiative.

Creating great software doesn't happen overnight; it requires a desire for excellence and a disciplined approach. Like the Media and Layout Initiatives, the Workflow Initiative has taken such an approach. The disciplined and steady progress these initiative are making is something to be excited about.

8.4: The march towards stability

As you might recall from my last Workflow Initiative update, we added the Content Moderation module to Drupal 8.2 as an experimental module, and we added the Workflows module in Drupal 8.3 as well. The Workflows module allows for the creation of different publishing workflows with various states (e.g. draft, needs legal review, needs copy-editing, etc) and the Content Moderation module exposes these workflows to content authors.

As of Drupal 8.4, the Workflows module has been marked stable. Additionally, the Content Moderation module is marked beta in Drupal 8.4, and is down to two final blockers before marking stable. If you want to help with that, check out the Content Moderation module roadmap.

8.4: Making more entity types revisionable

To advance Drupal's workflow capabilities, more of Drupal's entity types needed to be made "revisionable". When content is revisionable, it becomes easier to move it through different workflow states or to stage content. Making more entity types revisionable is a necessary foundation for better content moderation, workflow and staging capabilities. But it was also hard work and took various people over a year of iterations — we worked on this throughout the Drupal 8.3 and Drupal 8.4 development cycle.

When working through this, we discovered various adjacent bugs (e.g. bugs related to content revisions and translations) that had to be worked through as well. As a plus, this has led to a more stable and reliable Drupal, even for those who don't use any of the workflow modules. This is a testament to our desire for excellence and disciplined approach.

8.5+: Looking forward to workspaces

While these foundational improvements in Drupal 8.3 and Drupal 8.4 are absolutely necessary to enable better content moderation and content staging functionality, they don't have much to show for in terms of user experience changes. Now a lot of this work is behind us, the Workflow Initiative changed its focus to stabilizing the Content Moderation module, but is also aiming to bring the Workspace module into Drupal core as an experimental module.

The Workspace module allows the creation of multiple environments, such as "Staging" or "Production", and allows moving collections of content between them. For example, the "Production" workspace is what visitors see when they visit your site. Then you might have a protected "Staging" workspace where content editors prepare new content before it's pushed to the Production workspace.

While workflows for individual content items are powerful, many sites want to publish multiple content items at once as a group. This includes new pages, updated pages, but also changes to blocks and menu items — hence our focus on making things like block content and menu items revisionable. 'Workspaces' group all these individual elements (pages, blocks and menus) into a logical package, so they can be prepared, previewed and published as a group. This is one of the most requested features and will be a valuable differentiator for Drupal. It looks pretty slick too:

I'm impressed with the work the Workflow team has accomplished during the Drupal 8.4 cycle: the Workflow module became stable, the Content Moderation module improved by leaps and bounds, and the under-the-hood work has prepared us for content staging via Workspaces. In the process, we've also fixed some long-standing technical debt in the revisions and translations systems, laying the foundation for future improvements.

Special thanks to Angie Byron for contributions to this blog post and to Dick Olsson, Tim Millwood and Jozef Toth for their feedback during the writing process.

Categories: Drupal

Workbench Access Menu Link

New Drupal Modules - 22 November 2017 - 5:35am

This module provides access controls for menu hierarchies using Workbench Access and based on menu link fields.

Categories: Drupal

Sooper Drupal Themes: It's Happening! SooperThemes Portfolio Views For Drupal 8 and Drupal 7

Planet Drupal - 22 November 2017 - 3:50am

Our very first official Drupal 8 product release is our SooperThemes Drupal Portfolio Module! While working on a full release of all our themes and modules we saw an oppurtunity to re-invent our portfolio solution and wrote a new module from scratch, ensuring compatibility and ease of maintenance across Drupal 7 and Drupal 8 ecosystems. We're telling you that our new portfolio module is better, faster, sexier, and easier to use than any portfolio module you're used before, on Drupal or elsewhere.

Creating Professional Portfolio Views Has Never Been Easier

You only have mere seconds to impress people with your website. SooperThemes Portfolio offers 65 design settings and unlimited control over animation, color, and content to help you get it right the first time.

Leverage query building, ordering, and contextualization that made Views and Drupal big. Whether you're displaying nodes, files, or custom entities SooperThemes Portfolio will handle it.

65 Settings, 14 Caption Designs, Advanced Motion Design... And Still Easy To Use

As you've come to expect of SooperThemes' products customisability is something we pay attention to. Without being overbearing we provide settings that allow you to match your portfolio, showcase, or e-commerce grid to you site's branding and content. We implemented color pickers that support transparency, example caption designs, and individual motion design options for loading the image grid, filtering, and hovering items. 

Get the details on our portfolio module landing page:Portfolio Drupal Module
Upgrading Your Drupal 7 Site From Glazed Portfolio/MD Portfolio

First of all, if Glazed Portfolio is working fine for you, you don't have to upgrade. While the new module provides more features and easier customisability this doesn't mean it's worth your time to configure new views with SooperThemes Portfolio  if you're going to end up with the same design that was already working fine for you.

However, if your portfolio views are up for a make-over, or if some of the little bugs and limitations in the old module are bothering you this is the time to upgrade! Since both modules are based on the same grid system the views settings will be familiar. 

Upgrading is very simple:

1. Install new module

2. Create new view or edit example view. Customize to your liking

3. Reference the new view in your menu links and drag and drop pages

4. Uninstall glazed portfolio/MD Portfolio

Where are Drupal 8 Glazed Builder and Glazed Theme at?

Releasing SooperThemes Portfolio is just one of the stepping stones on the way to a full Drupal 8 release for our flagship products. The only 2 remaining stepping stones are finalization of our Entity Browser/Media integration in Glazed Builder and the migration of our theme demos to the Drupal 8 ecosystem. The release itself will take some work in terms of updating our provisioning software and content/documentation on sooperthemes.com. Expect new updates in December!

Categories: Drupal

Webform Scheduled Tasks

New Drupal Modules - 22 November 2017 - 2:11am

Webform Scheduled Tasks is a module which allows the regular cleansing/sanitization of sensitive fields in Webform.

Using cron or drush, this module can update webform submissions to delete data which should only be kept for a limited period of time.

An example of this - a form where a user provides an email to receive a confirmation notification, but doesn't want their email to be kept indefinitely.

Categories: Drupal

Custom Voice Search

New Drupal Modules - 22 November 2017 - 1:40am

Custom Voice Search

This module adds the ability to any form having search field to add voice support.

Configure:
Enable like any other module.
Go to: /admin/config/custom_voice_search/customvoicesearch
Add Form id on which voice search needs to be implemented like: "user_login_form" not "user-login-form"
Add Input id like: "edit-keys" not "edit_keys"
Add Input field name attribute like: keys or name etc.

Categories: Drupal

qed42.com: Override existing Configuration entity types - Drupal 8

Planet Drupal - 22 November 2017 - 12:16am
Override existing Configuration entity types - Drupal 8 Body

Why do we need to override Config Entity Types?

  1. By default, Vocabulary list displays all the vocabularies. In case we want to restrict certain roles from viewing certain vocabularies. Overriding that Class(VocabularyListBuilder) function would be the solution to display specific/no/all vocabularies.
  2. Let's assume we need to specify vocabulary-path for each vocabulary apart from name, title, description, vid etc. In this case we would need to override the default Vocabulary Form of taxonomy_vocabulary config entity type.
  3. Suppose we want to custom access check for views on the basis of role/user/views operation or whatever, we would need to override ViewsAccessControllerhandler of view configEntityType and write our own logic.
  4. Another use case can be, if we want to display all the image fields which use image style being deleted, on confirm text message, we again need to override ImageStyleFlushForm class and redefine getconfirmText function.

In short, to customise and meet our dynamic requirements which may not be supported by config entity type definition as a part of @ConfigEntityType annotations in core or contributed modules, we need to override existing config entity types and write some custom code :).

How can we override Config Entity Types?

Entity types use object based annotation unlike array based annotation which is commonly used. Also, Unlike Content Entity Types where every thing is a field, NOTHING is a field for Configuration Entity type.

Every Drupal config entity type is defined as a particular ConfigEntityType Annotation. Entity controller is completely different from the Controller of MVC pattern. To avoid this confusion in terminology Entity Controllers are termed as handlers, each form related to a particular entity type say taxonomy_vocabulary is declared inside handlers with form key. 

In this article, will take an example of adding custom form elements to config entity type forms to explain this.

In case we need to add a custom element to any of these forms, we need to follow these 2 steps:

I) Set a new handler class specific to that form.

  1. Implement hook_entity_type_alter(array &$entity_types).
  2. Set new handler class as :  $entity_types[{id}]->setHandlerClass('form', ['{form_type}' => 'Drupal\my_module\MyModuleForm', '....', '....' ]);

    where, id = configEntityType id,  form_type eg: default, reset, delete etc is whichever form we want to override and MyModuleForm is the Class name of new form we'll define in Step II.
    Here is the sample code of overriding default form of taxonomy vocabulary.

    $entity_types['taxonomy_vocabulary']->setHandlerClass('form', ['default' => 'Drupal\my_module\VocabularyForm', 'reset' => 'Drupal\taxonomy\Form\VocabularyResetForm', 'delete' => 'Drupal\taxonomy\Form\VocabularyDeleteForm' ]);

     

II) Define the class set in Step I.

  1. Extend the actual class of the form we want to add new form elements to.  use Drupal\taxonomy\VocabularyForm as VocabularyFormBuilderBase;

    {this is optional, we need to do this to keep the new class name same as base class i.e VocabularyForm}.

    class MyModuleForm extends VocabularyFormBuilderBase

    OR simply, 

    class MyModuleForm extends VocabularyForm

    This override is important because we need to inherit functions and form elements defined in the parent class i.e VocabularyForm and also add additional feature i.e form element without disturbing the core code. This is purely OOPs concept of inheritance.

  2. We need to override the form function by 
    1. Inheriting the parent elements by parent::form(....) and
    2. Defining the new custom elements as the basic example below: $form['third_party_settings']['qed42_textfield'] = array( '#type' => 'textfield', '#title' => t('QED42 Custom Form Element'), '#default_value' => $vocabulary->getThirdPartySetting('my_module', 'qed42_textfield', 'Qed42 textfield default value') );

      Config Entities have by default "getThirdPartySetting()" function { Config entities inherit this function if these extend ConfigEntityBase class which implements ConfigEntityInterface interface which in turn extends ThirdPartySettingsInterface interface}. This thirdParty function allows to set and retrieve a value particularly for a module.

    3. Similarly, we can inherit the save function to save the value of newly added form element with Third Party Settings  as : 

      If the form is set as Tree we need to set value as

      $vocabulary->setThirdPartySetting('my_module', 'qed42_textfield', $form_state->getValue('third_party_settings')['qed42_textfield']);

      else :

      $vocabulary->setThirdPartySetting('my_module', 'qed42_textfield', $form_state->getValue('qed42_textfield'));

      and of course inherit the parent save function. 

    4. We can implement the same logic for extending definition of any existing method  AND can also define new functions inside our new Form.

Any Configuration Entity Type (Date format etc) can be overridden similarly, this can be extended to list_builder, access etc.  Apart from overriding, we can also add new flavours of entity controller using the above steps.

 

jyoti.bohra Wed, 11/22/2017 - 13:46
Categories: Drupal

User Edit

New Drupal Modules - 21 November 2017 - 5:20pm

This module provides alias "user/edit" to have better user experience.
By using this, current logged in user can edit own profile and don't mind of his UID.
Sometimes, using "user/%/edit" is pretty uncomfortable.

The development is in progress.

Categories: Drupal

PreviousNext: Introducing the Display Suite Chained Fields module for Drupal 8

Planet Drupal - 21 November 2017 - 1:41pm
Share:

Need a way to mix fields from referenced entities with regular fields from managed display?

Then the Display Suite Chained Fields module might be for you.

by Lee Rowlands / 22 November 2017

So how do you go about using the module?

Step 1: Enable a display suite layout for the view mode

To use the chained fields functionality, you must enable a display suite layout for the view mode. Select a layout other than none and hit Save.

Enabling a layoutStep 2: Enable the entity reference fields you wish to chain

To keep the manage display list from being cluttered, you must manually enable the entity reference fields you wish to show chained fields from. For example, to show the author's picture, you might enable the 'Authored by' entity reference field, which points to the author. After you've enabled the required fields, press Save.

Enabling fields for chainingStep 3: Configure the chained fields as required

Finally, just configure the chained fields as normal.

Configuring chained fields

That's it - let me know your thoughts in the comments or the the issue queue.

Tagged Drupal 8, Display Suite

Posted by Lee Rowlands
Senior Drupal Developer

Dated 22 November 2017

Add new comment
Categories: Drupal

Chromatic: Common Drupal Problems - Solutions Included

Planet Drupal - 21 November 2017 - 9:27am

Whether you are a Drupal newcomer or a seasoned Drupal developer, you're bound to run into one, some, or all of the issues outlined below. Some are obvious, some not so obvious, but we'll show you how to troubleshoot them all regardless.

Categories: Drupal

Elevated Third: WEBINAR: How NFPA Is Bringing Paper Processes Online With Drupal 8

Planet Drupal - 21 November 2017 - 8:16am
WEBINAR: How NFPA Is Bringing Paper Processes Online With Drupal 8 WEBINAR: How NFPA Is Bringing Paper Processes Online With Drupal 8 Nick Switzer Tue, 11/21/2017 - 09:16

Firewise USA™'s paper application process existed for 15 years but, in 2016, the Firewise team decided to bring the process online. They chose to build this process on top of Drupal 8.

Since moving to Drupal, the Wildfire Division of the National Fire Protection Association has streamlined their processes - enabling them to more efficiently deliver on their program’s goal: teaching individuals how to adapt to living with wildfires and take community action to prevent loss of property.

Join us, Acquia, and our client Aron to discuss the challenges and rewards of bringing a paper process online as a Drupal 8 web app. Topics we’ll discuss:

  • Leveraging an agile philosophy to respond quickly to change, collaborate across disciplines and stakeholder groups and get to a working product in as little time as possible.
  • Balancing effective deliverables with shared understanding to produce working software that meets the organization’s needs.
  • Organizational hurdles to overcome when adding structure and bringing an established paper application process online.

 

Categories: Drupal

Acro Media: Video: Point of Sale (POS) for Drupal Commerce 2

Planet Drupal - 21 November 2017 - 8:14am

 

 

A point of sales system is already in production in Drupal 7; people are using it and seem to like it. And now, we've ported it to Commerce 2 for Drupal 8. Check out this week's High5 to learn more!

What does this mean?

In Drupal 8, the POS is much more built in, and you can easily do things like change out widgets. So if you update your orders and you add a new field, the field will show up there. If you add a specific widget that controls how that field displays, you can pick from a list of available options and it will work in the POS.

How is this different?

In Drupal 7, the POS was very stand alone—it was all custom-built forms and custom-built options. You actually configured it outside of Commerce itself. It used some of the underlying parts of Commerce, but from a user perspective it was almost as if it was a separate module.

For Drupal 8, that's not the case. It has the same level of functionality, but it's integrated much more so you can use a lot of the Commerce infrastructure. For instance: Drupal 7 had the concept of locations (as in store locations), but Drupal 8 has the concept of stores built right in, so we just use that. There's lots of stuff that goes along with stores: you can attach addresses and extra billing information and so on, and the POS can take full advantage of that in Drupal 8.

Are there any new features?

We have quite a bit more reporting (such as KPI reports for tacking metrics for sales people, for instance.) We also have a new "quick add" section that lets you easily add common products without having to look them up by SKU—it's quite robust and fits nicely into the user interface.

When will all this be ready?

We're only at Alpha 1 right now. Alpha 2 should be coming soon. The module should be fully ready to go in the near future. You can download it's current state and follow progress here.

The bottom line

POS is finally ready for Drupal 8. You can start using it, and we're going to continue releasing new features at least once a month for the foreseeable future.

Categories: Drupal

Activity Calendar

New Drupal Modules - 21 November 2017 - 8:08am

This module show activity calendar in user profile. The activity based on created posts and comments. Coefficient (weight) of posts and comments can be configured.

Categories: Drupal

SendinBlue Rules

New Drupal Modules - 21 November 2017 - 6:34am

Rules integration for SendinBlue module.

Categories: Drupal

Responsive Panel Panes

New Drupal Modules - 21 November 2017 - 6:28am

Loads panels panes dynamically via Ajax when active screen matches the media queries configured.

This module allows site builders to load different content in each screen sizes like desktop, tablet, mobile, etc.

Categories: Drupal

Extra Field As Plugin

New Drupal Modules - 21 November 2017 - 4:51am

Exposes extra fields as a Plugin.

Categories: Drupal

Valuebound: Resolving translation issue of Placeholder in Drupal 8

Planet Drupal - 21 November 2017 - 4:40am

Hello Drupalers! Here is another #Tips&Trick to make your placeholder translatable. Recently, I have an opportunity to fix one of the issues in Drupal 8 instance where the website was not multilingual hence unable to handle internationalization. After fixing the issue, the contact form now supports more than 25 languages. Let me explain you, what exactly was the issue over here? And how did we overcome this issue?

Issue: Here, Drupal Contact Form Placeholder was not translatable from User Interface Translation.

As we all know anything passes…

Categories: Drupal

InternetDevels: Subrequests as another speed secret for Drupal 8

Planet Drupal - 21 November 2017 - 4:36am

The unmatched capabilities to interact with other systems is listed among Drupal 8’s best improvements (along with the Views and BigPipe in core,

Read more
Categories: Drupal

ADCI Solutions: 2 things everyone can do to boost the Drupal adoption

Planet Drupal - 21 November 2017 - 3:09am

This time we want to draw your attention to one of the serious questions - Drupal adoption, and two easy things everyone can do to facilitate it. I guess the Drupal Community helped you a lot when you were a newbie. Now it’s time to pay back and help the Community and its developers to grow and mature faster.

 

Let’s see what every Drupaler can do to ease the process of learning Drupal.

 

Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal