Simplenews | Modules Unraveled

054 The Simplenews and Newsletter modules with Sascha Grossenbacher and Paris Liakos - Modules Unraveled Podcast

Photo of Paris and Sascha

Background

This is the second episode in the “Newsletters in Drupal” mini-series, and I’m really excited for this show! We’re actually going to be talking about two modules, and the reason I’m excited is because there’s potential for these two modules to merge into one. We all know that there are a million ways to do any one thing in Drupal, and from a site-builder, and maintenance point of view, it’s always a good thing if we can eliminate duplicate modules! So, while nothing’s set in stone yet, this might just be the beginning of the end for at least one redundant module!

Alright, before we get into the modules themselves, I’m going to be asking all of the guests in this series the same two questions about newsletters in Drupal.

  • What do you see as a benefit of using a “Drupal” setup like Simplenews or Newsletter over an external service like MailChimp?
    • Sascha:
      • Everything happens in Drupal, Full control over the data, user interface and processes. Simplenews allows you create personalized newsletters based on the context of the user, using other data from your site. For example, you could add the list of content they flagged last month or suggestions based on that.
    • Paris:
      • Better integration of your drupal data with the newsletter system.
      • You can use other existing modules to improve the creation or automatic population of your newsletter.
      • Central place for its administration.
      • It is open source, so you can easily modify it further according to your needs, or hire someone to build another custom module on top of it.
      • Of course, it is free
  • And for the sake of argument, what might you see as the benefit of using an external service as opposed to a “Drupal” specific setup?
    • Sascha:
      • A large number of features that are ready to use and better backend user iinterfaces like templates and template builders. We are currently working on integrating with Panelizer, so that you can use similar tools as well in Simplenews but we don’t have nearly as much time as the teams behind these services to provide the same experience.
      • Scalability, being able to send tens of thousands of e-mails in short time. You can of course use a transactional e-mail service like Mendrill or Mailjet for reliability, statistics and so on but the e-mails are still built on your site.
    • Paris:
      • You dont have to think about server configuration, mail servers, spam mails, blacklisting and other technical things.
      • Your server load, since the whole system is hosted elsewhere
      • Maturity: i think most external services are more mature than simplenews and of course a lot more than newsletter

Simplenews

  • What is simplenews, and how does it work?
  • What are some of the features?
    • Sending nodes as newsletters to subscribers
    • Multiple newsletter categories with separate settings
    • Per category and multi-signup Blocks and Pages
    • Subscriber management including mass-subscription and export
    • Optional E-mail confirmations for anonymous users
    • Customizable newsletter templates
    • Support for HTML (including text alternative) newsletter when used in combination with a supported mail system module
    • Views and Rules integration
    • Support for multi-language newsletters
  • What is the documentation like? Are there screencasts?

Newsletter

  • What sets Newsletter apart from Simplenews? How is it different?
    • Newsletter was built with automated newsletters in mind..That is, you have many newsletter lists and want to send them with different time intervals each..I know that there is an add-on module for simplenews that does that, but it came a lot later than newsletter was released
    • It also has easier workflow for admins and statistics (Same as above, there is a simplenews module for that
    • Finally it is base on Drupal 7 entities, which makes it easier to integrate with other entity based modules.
  • What are some of the features?
    • Multiple newsletters lists configurable on existing terms
    • Plain text or HTML out of the box.
    • Multiple schedules Each newsletter can have more than one schedule, e.g. Daily, Monthly, Weekly, manually or even custom, eg after 10 new posts for this term.
    • Centralized administration and configuration on a single page.
    • Users can customize the terms in the list they subscribe to.
    • Custom template per list.
    • Statistics (CTR and Open-Rate)
  • What is the documentation like? Are there screencasts?
    • Unfortunately not..all documentation there is, is in README.txt

Use Cases

  • When would someone use one module over the other?
    • Sascha:
      • I had only a quick look at Newsletter today but from what I saw, it has more functionality for administrators and is probably also easier to use out of the box than Simplenews. I think it is a typical project that has been built for a specific use case and if that use case is what you are looking for, then newsletter might be a good match for you.
      • Simplenews has evolved over a long time and has some of advantages due to that
      • A reliable spooling system that makes sure that mails are sent and are only sent once, including support for large numbers of subscribers and parallel send processes
      • A more flexible sign-up process which can be configured per newsletter category, configurable confirmation mails, combined confirmations for multiple categories and so on
      • The fact that newsletters are nodes makes it easy to provide an online archive and a web-version of your newsletter
      • Uses Drupal’s theming system to build the outgoing mails.
      • So if those things sound like something you want or need, then you should probably have a look at Simplenews
    • Paris:
      • Agreed with above, don’t have anything to add

What does the future hold?

  • Can we expect to see the modules merge in the near future?
    • Sascha:
      • Depends on what you understand from a merge. A number of additional features provided by Newsletter (statistics, scheduling) is already available as separate projects. The new major version for Simplenews, which we are currently working on, will contain an improved architecture based on entities, similar to Newsletter. That should make it possible to provide the remaining additional functionality that Newsletter provides on top of Simplenews, for example the simple and straightforward of for creating and re-using templates. So once we are there, then we can probably state that Newsletter is deprecated for most usage in favor of Simplenews
    • Paris:
      • Newsletter will just provide a migrate class to transfer all the data to simplenews equivalent and of course requiring as dependencies simplenews add-on modules (like simplenews_statistics)
  • What are the goals and features developed in for Simplenews 7.x-2.x?
    • Sascha:
      • New underlying, entity-based architecture
      • Clean terminology in the UI and code: newsletters, subscribers, newsletter issues
      • Recipient handlers, allowing to address a subset of your subscribers based on views, organic groups, per language, a CRM

046 Fabian Franz and Twig in Drupal 8 Core - Modules Unraveled Podcast

Fabian Franz joins me this week to talk about what Twig is, and how it got into Drupal 8 Core.

Background on Twig

  • Before we jump into what Twig is, what it does, and how it got into core, I want to get a little background on the topic.
  • Twig is an external project that we’re integrating into Drupal, right?
  • Who started the Twig project?
    • Fabien Potencier, founder of Symfony
  • When was that?
    • October 07, 2009 (http://fabien.potencier.org/article/34/templating-engines-in-php)
    • When I started with Drupal, another coincidence?
  • What is Twig replacing?
    • PHP Template
  • Why?
    • Easier syntax
    • Security
    • Endless possibilities

Twig as it is now

Jen Lampton was on the Drupalize.Me Podcast back in September talking with Addie about Twig. But, for the three people who are listening to this, and aren’t subscribed to the Drupalize.Me podcast, can you tell us a little bit about:

  • How it affects site administrators/clients?
  • How it affects site-builders?
  • How it affects theme developers?
  • How it affects module developers?
  • Is there a user interface that comes with Twig? Or is this just for coders?
  • Does Twig affect the way we use Panels, Display Suite, Context or other layout modules?
  • How does Twig affect:
    • Security
    • Performance
    • Multilingual sites

Twig in Core!

<

ul>

  • How long has the “get Twig in core” process been in-progress?
  • How many people have been working on getting Twig into Drupal?
    • I don’t really know, but over all code sprints and sandbox commits I would say 50-100 with a core team of around 5-10 people.
    • Just looking at who has sandbox commit access is exciting.

  • What was/is your involvement with that process?
    • Late to the game: 24th of September, through chx role call
    • Found an issue, thought about a different solution, worked on it
    • First working approach posted on my birthday :-D
    • Solved a real blocker (references in twig land) with some MAGIC!
    • Then First real Core Patch by me: Oct 4

  • When did it get committed to Core?
    • LIVE COMMIT! :-D on Nov, 3rd. Soo exciting!

  • How much of core has been replaced with Twig?
  • If I download Drupal 8 today, will the core themes all be ‘Twig themes’?
  • Questions from Twitter

    • Micah Godbolt (@micahgodbolt): what are the major frustrations in d7 that twig will be addressing in d8
    • Cameron Eagans (@cweagans): Pretty much everyone knows that Twig is awesome, and the ones that don't are in denial =P
    • Karyn Cassio (@TechGirlGeek): Kudos to the team implementing #TWIG for #Drupal 8's theme layer. Exciting stuff.
    • Carson Black (@carsonblack): what kind of feedback have they received from designers about how it works?
    • Carson Black: have they seen an increase in the # of designers since they created twig?
    • Transition (@Transition): what are the best ways to get started learning it? It'll be new to most Drupal Front-End devs.
    • Transition: also, are there any differences b/w using Twig on it's own vs. using it in Drupal?
    • Jared Stoneberg (@rock_soup): really impressed that twig actually works w/render arrays

    009 Larry Garfield and The Future of Drupal Core - Modules Unraveled Podcast

    Photo of Larry Garfield

    Larry Garfield (@Crell), who is the "Web Services and Context Core Initiative Lead", talks to me about WSCCI and how it will fundamentally change the way Drupal's back-end will function in Drupal 8. He starts out by talking about what web services are and how they work, then he talks about how Drupal 8 will incorporate REST and Symfony2 into core. He also gives an idea of how this will (or will not) affect Drupal module developers and site builders.

    003 Jess and Core Office Hours - Modules Unraveled Podcast

    Have you heard of Drupal Core Office Hours? Do you know what they are? How about the fact that you, yes YOU can help make Drupal better every week?!

    Listen in as I talk with Jess about what Drupal core office hours are, who can get involved, and what they can do to make Drupal a better CMS for everyone. Below you'll find a rather detailed outline that Jess put together.

    About Jess

    • xjm on drupal.org (http://drupal.org/user/65776)
    • Community Spotlight: Jess (xjm) (http://drupal.org/node/1390816)
    • Drupal 8 core commit mentions (http://ericduran.co/drupalcores/)

    Resources for the Drupal core office hours

    • Drupal core office hours (http://drupal.org/core-office-hours)
    • Denver core office day (http://xjm.drupalgardens.com/blog/core-office-hours)
    • @drupalcore (https://twitter.com/#!/drupalcore)
    • Drupal IRC handbook (http://drupal.org/irc)
    • Setting up a development environment (http://drupal.org/node/28245)

    Resources for contributing to Drupal core

    • Core and you! (http://xjm.drupalgardens.com/blog/core-and-you)
    • Drupal core issue queue (http://drupal.org/project/issues/drupal?categories=All)
    • Novice issues (http://drupal.org/project/issues/search?status[0]=1&status[1]=8&status[2]=13&status[3]=14&status[4]=15&issue_tags_op=or&issue_tags=Novice)
    • API Documentation issues (http://drupal.org/project/issues/drupal?component=documentation)
    • Drupal coding standards (http://drupal.org/coding-standards)

    Configuration management Initiative

    • Drupal core initiatives (http://drupal.org/community-initiatives/drupal-core)

    Office hours outline

    Purpose of office hours

    1. Help people work on the Drupal core issue queue
    2. Onramp new contributors to core
    3. Encourage experienced developers to devote time to the core queue periodically

    Where and when

    • #drupal IRC (irc://irc.freenode.net/drupal)
    • Tuesdays, 0400 UTC (http://www.worldtimeserver.com/convert_time_in_UTC.aspx?y=2011&mo=8&d=9&h=4&mn=0) (Note: This is Monday night in the Americas)
    • Wednesdays, 1600 UTC (http://www.worldtimeserver.com/convert_time_in_UTC.aspx?y=2011&mo=8&d=10&h=16&mn=0)

    Why

    1. Drupal core developers are all volunteers (and you can be one too!)
    2. There are currently over 9300 open issues filed against Drupal core, many of which need basic handling
    3. Getting involved in Drupal core development can be intimidating

    How

    • If possible, set up a sandbox Drupal site, preferably with git (http://drupal.org/node/28245)
    • Join Drupal IRC during one of the timeslots above
    • Say that you’re interested in participating in office hours
    • Work on one or more issues

    Ways a non-developer can help

    1. Get steps to reproduce
    2. Triage potential contributed module issues and move to correct queues
    3. Look for duplicates of issues and related issues
    4. Handle or refer support requests
    5. Write issue summaries

    Ways to help with git

    1. Help test patches
    2. Improve patch code style or documentation
    3. Patch novice issues