Site Building | Modules Unraveled
How to Select Modules
- So, let’s start out by talking about the genesis of your session. What made you think this topic needed to be covered?
- What’s the problem with just installing another module?
- What if I don’t program?
- Reuse modules
- Push back on requirements
- Make sure the cost of adding another module is not just the cost of the time it takes to install it
- Simple modules really aren’t programming
- What are the potential problems with custom code?
- How do you determine if you should install a module or write some custom code?
Specific Modules You Can (or Should) Avoid
Not really telling people to avoid specific modules more about thinking twice when they select them.
* Entityform vs. Webform
* Entity View Modes
* Page title
* Commerce Custom Order Status
For those new to Drupal, what is the Rules module?
- Intro Rules: events, conditions, actions
- Programming for site builders
- Giving workflows into the hands of the site builders, workflow building blocks like Lego
The Rules module allows site administrators to define conditionally executed actions based on occurring events (known as reactive or ECA rules).
Example use cases
Build flexible content publishing workflows changes
Send customized mails to notify your users about important updates
Create custom redirections, system messages, breadcrumbs, ...
Build an e-commerce store using Drupal Commerce
And many more…
Rules has fantastic integration with Drupal Core APIs and all structured data exposed using the Entity and Fields systems, over 350 other contributed modules specifically integrate with the Rules API by to provide their own custom events, conditions, actions or exposing custom data in a reusable way.
Use case: Automating processes
Rules serves the need for automating processes like comment moderation, customizable e-mail notifications or event-based calculations on social platforms. These are built by using generic tools like Flag, Organic groups and message module. More specific solutions like Privatemsg, Feeds, Activity, User point or Voting rules also tightly integrate into the system.
What is the Rules module, explain some use cases & tell us about the rules success story
- In the last episode, Crell mentioned that because of the advances in D8, there may not be a need for the Rules module. So, I told him that I would ask you guys for a response to that.
- What Drupal 8 Stuff are you building upon?
Out-of-the-box typed data support for all fields, i.e. including custom content entity types
Typed Data API
The Typed Data API was created to provide developers with a consistent way of interacting with data in different ways. Not only does the API allow you to interact with the actual data, it also provides means of fetching more information, or metadata, about the actual data.
The Typed Data API is a low level, generic and reusable object oriented API. One API that implements it is the Entity API - Drupal’s primary data model.
-> Unification of metadata systems of Drupal 7.
Conditions & Actions
We've got an Actions and Conditions API in core already, so one might think another huge part has been taken care off. Unfortunately, no - those APIs have been created/ported with other use cases in mind, so they do not cater for all the more advanced features Rules users are used to.
While I tried to make sure they fit Rules needs as far as possible when they were introduced/updated, they do not fit our needs yet and it might be impossible to make them fit without breaking those APIs. For Rules 8.x we plan to work on improving those APIs (from contrib) as needed first, so we can ensure they fit Rules' requirements.
Once we are sure everything works out we'll know what we have to adapt and whether improvements can be contributed to core.
Depending on how that works out, we'll see whether we can build up on the core Action and Conditions API or there will be Rules' variants of those APIs (again :(). For more details please see the related issues:
Rules 8.x Architecture
Rules 8.x Roadmap
Motivation behind Rules in Drupal 8
Porting Rules to Drupal 8 will require a major refactoring of the framework. The Rules Core APIs & functionality will evolve and Drupal 8 rewrite opportunities will be taken into account.
Site building based on Drupal 8 core integration wins
Admin UI usability improvements
Simple Views Bulk operations in core
Plug-in based architecture & fully object-oriented code
Rules data selector for tokens, contexts and other use cases
Typed data widgets & formatters
Embeddable Rules UI components to integrate actions & conditions
Evolved developer experience
Unified DX based on Drupal 8 plug-in system
Symfony 2 event system integration
Deployable config via CMI
Funding, milestones, Corporate & crowdfunding - how will that work out?
- sponsorship by company
- crowd funding
- What happens if the funding does not succeed?
How & who
- fago, klausi, dasjo, nico
crowd funding is live now - drupalfund.us!!!
Who supports you already?
Why should we help now?
Questions from Twitter
- What is the theme of the track?
Difficult question, since we are actually trying to cover a really broad spectrum of topics for all
kinds of audiences. We are still in the process of deciding on the final schedule, but there will be
sessions on distributions (bojan -- commerce without borders), site building changes coming
with D8 (kristof), hopefully we'll have a great case study session and so on. We do try to align
these sessions with DrupalCon's “One to Many”-theme
- What’s the spread of D7 vs. D8 session proposals that have come in?
Traditionally, Site Building relies heavily on contrib, which is a bit behind the curve when it
comes to D8 adoption, so most of the session proposals are still focused on Drupal 7. We do
have a featured session focussing on D8
- Bojan what’s the name of your session, and what will you be talking about?
Commerce without borders
I'm going to be talking about building an ecommerce solution for the global market, and all the
problems that go with it.
You need to deal with different languages, currencies, payment gateways, taxes and tax rates.
You also need to think about invoices, discounts, business rules, country laws and many other
It's funny how all this represents the hardest use case you can have, but also one of the most
at least if you're in Europe.
I will be detailing some of the solutions we’ve recently developed to make these kinds of
problems easier to handler, and how it all fits together on top of Kickstart..
- Kristof what is the name of your session, and what will you be talking about?
Drupal 8 for site builders.
So site-building is a really broad topic of course. What I’m not going to do is build a site together,
because that’s just boring. I’m going to talk about all the major contrib modules that have moved
into core, but also subtle small modules. And also big new features that make site building life
much easier. The conclusion of the session will hopefully be that Ivo should not look out for
Drupal 8 site building a lot, because Drupal 8 is going to solve everything, or at least a lot.
Rich Lyon of LiveLink New Media talks about using SASS with Drupal. He explains how it is different from writing plain CSS and how it can be used to make responsive design easier within Drupal.
- For those who’ve not heard of SASS or the Sassy module, tell us what it does
- How is this better than writing plain old CSS.
- How can SASS be used to make responsive design easier (within Drupal).
- Who should be using Sassy?
- How can SASS enhance a themer's workflow?
- Ok, let’s talk about what Sassy brings to the table, that isn’t possible with the Ruby compiler.
- Does it add any new features?
- Does it cause any performance issues?
- Is there a lack of features that the Ruby compiler has?