Inhalt abgleichen
Drupal.org - aggregated feeds in category Planet Drupal
Aktualisiert: vor 24 Minuten 44 Sekunden

Mediacurrent: Diversity at Mediacurrent: A Path Forward

29. November 2017 - 16:53

The issue of workforce diversity has been in the news a lot lately, and rightfully so. Diversity data is pretty dismal, particularly in the technology industry. Essentially, there is a long history of white males disproportionately holding leadership roles and minorities being immensely underrepresented. You already knew that though.

Colorfield: Drupal 8, React, Vue, JSON API and ES6 learning resources

29. November 2017 - 11:24
Drupal 8, React, Vue, JSON API and ES6 learning resources christophe Wed, 29/11/2017 - 10:24

Start by Contenta or Reservoir and if you are still hungry, here are some clues.

Tag1 Consulting: Background Image - A New Drupal 8 Module

29. November 2017 - 3:00
Introducing a new, easy to use, Drupal 8 module for background images: https://www.drupal.org/project/background_image If your site is designed around utilizing background images, then this module is for you! Whether you need a surgical implementation that only administrators/developers can implement or provide the ability to allow users to attach their own background images to entities, this module has you covered.Read more markcarver Tue, 11/28/2017 - 17:00

Agiledrop.com Blog: AGILEDROP: Drupal meetup with two great sessions

29. November 2017 - 2:51
In the middle of November, we organized a Drupal meetup. Meetup is a great way to connect web developers, designers, and other web enthusiasts. We were hosting two lecturers, David Ličen from Slovenia and Philipp Melab from Austria. In this blog post, you can learn, what they shared with us.   David Ličen, Slovenia: “Drupal point of Vue” The Drupal point of Vue session, led by David Ličen, was a very good introduction to the decoupled Drupal, where the web application and server are separated. Session attendees were acquainted with the basics of a very simple yet powerful JavaScript… READ MORE

PreviousNext: Workflows: A new tool in the toolbox

29. November 2017 - 1:26
Share:

At DrupalSouth 2017, I presented a session on the new Workflows module, which just went stable in Drupal 8.4.0. Workflows was split out from content moderation as a separate module, and can be used independently to create custom workflows. In this presentation, I gave a demonstration of how to create a basic workflow for an issue tracker.

by Kim Pepper / 29 November 2017

Since 2011 we have had access to a content moderation tool in Drupal 7 in the form of Workbench Moderation. This module introduced the concept of Draft ➡ Review ➡ Published workflows, with different user roles having specific permissions to move from one state to the next.

Unfortunately, the underlying Drupal core revision API was not designed to deal with this, and there were some pretty crazy workarounds.

Content moderation has long been a key feature request for Drupal, and so effort was made to port Workbench Moderation across to Drupal 8. 

Content Moderation drove a lot of cleanup in Drupal core APIs, including proper support for forward revisions, and adding revision support to other content entities besides Content Types, such as Custom Blocks. More are on the way.

In Drupal 8.3, the Workflows module was split out of Content Moderation. Why you may ask? Well, because the Workflows module provides the state machine engine that Content Moderation relies on.

What is a State Machine?

A state machine defines a set of states and rules on how you can transition between those states.

A door state machine

In our simple example of a door, it can only be opened, closed or locked. However, you can't go directly from locked to open, you need to unlock it first.

Content Moderation Workflow Configuration

Content Moderation provides a set of Workflow states and transitions by default.

Content Moderation StatesContent Moderation Transitions

If we were to put this together in a state machine diagram, it would look like the following:

Content Moderation State Machine

From the above diagram, it becomes clear what the allowed transitions are between states.

So now Workflows has been configured with our Content Moderation states and transitions, what is left for Content Moderation to do?

What Does Content Moderation Do?

It turns out quite a lot. Remember, that Workflows only provides the state machine. It in no way prescribes how you should manage the current state of a particular entity.

Content Moderation provides:

  • Default Workflows configuration
  • A fairly complex WorkflowType plugin which works with the Revision API.
  • Storage for individual states on content entities
  • Configuration of which entity bundles (Content types, etc.) should have Content Moderation
  • A number of admin forms for configuring the workflows and how they apply
  • Permissions
Building an Issue Tracker

We want to build a very simple issue tracker for our example. The state machine diagram is the following:

Issue Tracker State Machine

That's the simple bits out of the way. Now, in order to build an issue tracker, we will need to replicate the rest what Content Moderation does!

Fortunately there is a module that can do most of the heavy lifting for us.

Workflows Field

“This module provides a field which allows you to store states on any content entity and ensure the states change according to transitions defined by the core workflows module.” 

Perfect! Let's download and install it.

Next we want to add a new Workflow. We can assign it a label of Issue Status and you'll see that we have a new Workflows Field option in the Workflow Type dropdown.

Add new workflow

We can then configure the desire Workflows states and transitions.

Issue StatesIssue Transitions

Thats the our Workflows configured. Now we need to create a new Issue content type to attach our workflow to. It's assumed you know how to create a content type already. If not, check out the User Guide.

Next, we need to add our Workflows Field to our Issue content type. Follow the usual steps to add a field, and in the drop down choose Workflows as the field type, and our previously created Issue Status workflow.

Add workflows fieldTest it out!

Now we can test our our workflow by creating a new Issue from the Content page. If everything was configured correctly, we should see a new field on the edit form for Status.

Issue status form

Given the transitions we defined in our workflow, we should only be allowed to see certain values in the drop-down, depending on the current state.

Testing workflow constraintsWhat next?

That's it for setting up and configuring a custom workflow using Workflows Field. Some next steps would be:

  • Add permissions for certain users (there's an issue for that #2904573 )
  • Add email notifications
How would you use the new Workflows API?

Let me know in the comments!

Tagged Workflows, Content Moderation

Posted by Kim Pepper
Technical Director

Dated 29 November 2017

Add new comment

DrupalCon News: Calling all Drupalers!

28. November 2017 - 22:36

We want to hear your voice at DrupalCon. 

Acro Media: Video: Recurring Billing, Now Baked Right In to Drupal Commerce 2

28. November 2017 - 21:06

If you ever have need of timed or delayed payments, we have some good news: recurring billing (also known as subscriptions) is new and improved in Commerce 2. Check out this week's High5 episode and learn more!

What is recurring billing?

It's anything where we want to have a transaction happen after the initial time when a customer is on our site. That might be monthly or yearly, or it might be when you want the last half of the payment to go through in a couple days or a week.

How does it work?

It's not like we store pictures of everyone's credit cards and just keep applying charges to them. Instead, we store tokens, or references to the credit cards. This is much safer because it means that even if the site got hacked, no one would have access to your actual banking information. At no point does Commerce ever store your actual credit card.

If you're interested in reading more about tokenization, Wikipedia has a lot of good information on the subject. 

How is this different from Commerce 1?

We sort of had tokenization (a.k.a card on file) in Commerce 1. It was a contrib module and wasn't actually part of Commerce itself. Some payment gateways supported it, some didn't, some did but only partially… it was much more of an ad hoc thing.

Now, tokenization is built into Commerce, so any major payment gateway that gets set up and has the capacity to store tokens (which is most of them), will do so. You don't need to do anything special for your payment gateway to handle recurring billings. As long as we have that token, we can keep making charges to it until that token becomes invalid (i.e. the card gets cancelled).

It was actually a credit to Commerce 1 that it had tokenization at all. It's a complex thing. For instance, if a payment doesn't go through, do we have to cancel the subscription? Do we have to get the product back? Do we do that immediately, or give them a window of time to put in the new card? A lot of ecommerce setups just avoided that entirely, so it was definitely a strength of Commerce 1, and now it's really a strength of Commerce 2.

The bottom line

Recurring billing rocks, and is now built right into Commerce 2. 

Jacob Rockowitz: Removing paid promotions from the Webform module and not asking for forgiveness

28. November 2017 - 19:00

I have decided to remove paid promotions from the Webform module to focus on promoting the Drupal Community as a whole, the Drupal Association, and Webform module, I am also comfortable stating that I am not asking for forgiveness for my decision.

It is important that the Drupal community understand that I reached out to Lingotek and chose to promote their services within the Webform module's UX. Lingotek has made and continues to make amazing contributions to Drupal and the community. I want to thank them for allowing me to promote their services in such an experimental way.

Removing the paid promotion

I documented my original intentions in a blog post about promoting paid services within the Drupal community. I have come to fully agree with lslinnet's comment...

The Drupal community needs to explore ways to help support and fund core contributors and project maintainers. The goal of the paid promotion experiment was to see how everyone, including myself, felt about this concept.

The Discussion

MortenDK's (mortendk) very upset and direct tweet triggered the largest debate...

A few responses resonated with me, including one by kevinquillen and this one by tedbow:

Yes, the promotions of third-party services within a module's UX could open some floodgates that could create a horrendous user experience and first impression of Drupal. First impressions are very...Read More

Acquia Developer Center Blog: Creating a Decoupled Drupal Application in 30 Minutes with Lightning, BLT, and DrupalVM

28. November 2017 - 18:43

Acquia’s Professional Services team recently released an open-source application that demonstrates how Drupal and Node.js can easily be paired to create beautiful and functional decoupled applications. See how easy it was to create the Drupal backend using a combination of Acquia and Drupal community projects such as Lightning, BLT, and DrupalVM. This will allow you to follow the same process to rapidly create your own custom decoupled applications.

Tags: acquia drupal planet

Promet Source: Drupal Commerce: Powering ALA.org on Giving Tuesday

28. November 2017 - 18:34
Promet Source is proud to partner with the American Library Association (ALA) to deliver a flawless user experience with Drupal Commerce on Giving Tuesday, and every day of the year. Related: ALA | Empowering Association Fundraising with Drupal Commerce

Drupal 8 Rules: #d8rules status update November 2017

28. November 2017 - 15:13

Hi everyone,

it's been since March 2016 when we posted our last update on reaching Milestone 2 for porting Rules to Drupal 8. In the last 1.5 years, we haven't made significant progress because of limited resources available to contribute to the module. From an initiative perspective this is unfortunate, because we would like to fulfill the mission of providing a stable release for the Rules module in Drupal 8.

During DrupalCon Vienna we had various good talks but nothing confirmed yet. Our overall status summary is:

  • Milestones 1 & 2 have been completed

  • Milestone 3 is still pending

So we are at 70% of providing a stable release for Rules in Drupal 8

Fago can’t dedicate time required to develop the module further. What Rules is really missing at the moment is development capacity to help finish the last milestone. We have some early alpha releases out and are “only” missing 30% to complete development but to provide Rules’ capabilities to the ecosystem this investment would be really needed. If we look at the usage statistics, we can see that more than 5000 Drupal 8 sites already rely on Rules and there is a potential for almost 300,000 Drupal 7 sites with active Rules installations to migrate. It would be great to have all of them not rely on alphaware that doesn’t have an upgrade path or security coverage.

Various supporters already have helped us achieve 2 out of 3 milestones. Especially in the last weeks we have seen good activity in the Rules issue queue. Still, the Rules initiative won’t get much further without dedicated development capacity available. Even if we got more funding today, fago the current principal maintainer of the Rules module wouldn’t have enough capacity to do the work himself. So, if you are or if you know a good developer that could work on Rules, thanks for reaching out in the issue queue or contacting me directly via drupal.org.

We are hosting initiative meetings every second Thursday. Details and agenda can be found in our roadmap issue.

Best,

Josef / dasjo

 

Valuebound: Drupal Commerce: Splitting a package into multiple shipments using Packer & PackerManager

28. November 2017 - 15:04

Drupal 8 commerce shipping contributed module introduced an extendable and prioritized concept of Packer and PackerManager. Packer allows sites to automatically split an order into multiple shipments based on stock location, weight, dimensions, or some other criteria.

Let’s see what Packer and PackerManager do.

Packer and PackerManager
  1. Packer: Creates one or more shipments for a given order. We can create an end number of Commerce Packer class, which implements `Drupal\commerce_shipping\Packer\PackerInterface`. PackerInterface provides abstract methods:
    1. applies:

InternetDevels: Drupal 8: multilingual from interface to content

28. November 2017 - 14:33

In every corner of the world, your potential customers are waiting for your website to start “speaking” their language. And it’s easy to provide that with Drupal 8, a true polyglot among CMSs. Unmatched multilingual capacities are among Drupal 8’s most lucrative features that inspire website owners to choose “the great eight” — either to get a website or to upgrade their existing one. Well, it’s really hard to resist!

Read more

Drupal Association blog: Drupal Association Board Meeting Announcement

28. November 2017 - 0:21

The Drupal Association board meeting and executive session moved from Wednesday, November 28 to Tuesday, December 12 at noon ET / 1700 GMT. The board meeting is virtual and open to the public and it will be followed by a closed executive session. Go here to join the board meeting. Below is the agenda for both the board meeting and executive session.

Board Meeting Agenda:
  • Approve 27 September, 2017 board meeting minutes
  • Vote: Bylaws Changes
  • Vote: Extend Community At-large board member seats to expire in November rather than January
  • Operational Update
  • Q&A from community
Executive Session
  • Executive Update
  • Board nomination committee discussion and vote in board members
  • Vote to approve Q3 financial statements
  • Discussion 2018 committees and meeting schedule

DrupalCon News: Meet the new face of DrupalCon

27. November 2017 - 23:22

First introduced at the DrupalCon Baltimore closing session, we're very pleased to announce that the new brand for DrupalCon is now live. Take a look to see how the new brand evokes all aspects of the Drupal project and community - from the technical to the human.

DrupalCon News: Nashville Registration is Open

27. November 2017 - 23:09

Looking for the perfect way to celebrate Cyber Monday - you could be one of the first to buy tickets to DrupalCon Nashville!

Did you see our new site? Have you clicked through the pages? Did you read the headline of this story? If you have, then you’ve heard: DrupalCon Nashville 2018 registration is OPEN - and it’s music to our ears.

OSTraining: Show Code in Drupal Content with the CodeSnippet Module

27. November 2017 - 19:09

Out of the box, Drupal displays code snippets that don't get highlighted.

In this blog post, you will learn how to show code snippets in Drupal content highlighted with the CKEditor CodeSnippet module and CKEditor CodeSnippet plugin.

orkjerns blogg: Automatic updates using violinist.io

27. November 2017 - 17:31
Automatic updates using violinist.io admin Mon, 11/27/2017 - 15:31

Violinist.io is a new service that is continuously trying to update your composer dependencies. When a new update is found, a pull request is created on the github repo for the project in question, for example your Drupal site. If you have a good testing setup, this will trigger your tests, and hopefully pass. Now, if you have continuous deployment set up, you can basically merge and deploy updates while sitting in a coffee shop on your phone. Which is now something I have done several times!

I am planning to write a longer blog post about a more complete continuous deployment setup, but just wanted to share a couple of quick fun animated gifs about how Violinist.io works

A couple of weeks ago a new version of Drupal console came out. After it was tagged on Github, an update was available through composer. Since Violinist picked this up, it opened up a new pull request on all of my projects that depend on this. That looks something like this:

I captured this animation because I was fascinated about the short time window between the release and the pull request. As you can see in the animation, it was only around 10 minutes! Now all left for me was to see that the tests passed, read through the changelog (including links to all commits) and merge in the update. Minutes after it was automatically deployed to the production server. About as easy as it gets!

But it's not only other Github hosted projects, or generic php packages that gets updated. For a typical Drupal project I also depend on modules from Drupal.org, and I download these modules with composer. Violinist.io supports those as well. Here is one example (from this very site you are reading) where a new pull request with a full changelog was posted only 8 minutes after it was released on Drupal.org.

Since admin_toolbar is a module I use on many projects, I now could just navigate from pull request to pull request, and update all of my sites within minutes, while still on my phone. A real time saver!

Full disclosure: As you probably understand from the enthusiastic description, I am also the creator of the service. It is completely free for open source projects, and up to one private project. Feel free to reach out if you have any questions or comments! To finish it off, here is an animated gif about enthusiasm.

DrupalCon News: Thank you Vienna

27. November 2017 - 17:22

Thank you to the 1,670 people who joined us at DrupalCon Vienna!

So many volunteers! So many sandwiches! We had a wonderful time in Vienna and can't wait to see you all for DrupalCon Europe 2019.

Until then - we hope to see you in Nashville 2018.

DrupalEasy: DrupalEasy Podcast 199 - David Rogers - What's up with React?

27. November 2017 - 14:33

Direct .mp3 file download.

David Rogers, Senior Front End Engineer at Pendo.io, joins Mike Anello to discuss from a Drupal-specific standpoint. They discuss the road to the Drupal community selecting React for use in Drupal core, when a typical Drupal developer should start thinking about React, and what the best first steps are for learning it.

Interview DrupalEasy News Sponsors Follow us on Twitter Subscribe

Subscribe to our podcast on iTunes, Google Play or Miro. Listen to our podcast on Stitcher.

If you'd like to leave us a voicemail, call 321-396-2340. Please keep in mind that we might play your voicemail during one of our future podcasts. Feel free to call in with suggestions, rants, questions, or corrections. If you'd rather just send us an email, please use our contact page.