Elsewhere

ActiveLAMP: Adding CKEditor plugins to Drupal 8

Planet Drupal - Sat, 07/05/2016 - 04:00

Drupal 8 has greatly improved editor experience out-of-the-box. It comes shipped with CKEditor for WYSIWYG editing. Although, D8 ships with a custom build of CKEditor and it may not have the plugins that you would like to have or that your client wants to have. I will show you how to add new plugins into the CKEditor that comes with Drupal 8.

Read more...
Categories: Elsewhere

Drupal Bits at Web-Dev: Drupal: Enable or Disable a View in Deployment.

Planet Drupal - Sat, 07/05/2016 - 03:41

Drupal Hook Update Deploy Tools now (as of v 7.x-1.16) has the ability to enable or disable  a View from within a hook_update_N().  It handles validation to make sure that your request to enable or disable a View actually did what you asked it to do.

 

Add something like this to a hook_update_N in your custom deploy module.install
to enable some Views.

<?php
  $views = array(
    'some_view_machine_name',
    'another_view_machine_name'
  );
  $message =  HookUpdateDeployTools\Views::enable('$views');

  return $message;
?>

To disable some Views, it looks like this:

<?php
  $views = array(
    'some_view_machine_name',
    'another_view_machine_name'
  );
  $message =  HookUpdateDeployTools\Views::disable('$views');

  return $message;
?>

Here is an example of what your terminal would show after running the enable method above:

Categories: Elsewhere

DrupalCon News: Scholarship, grant, training proposals open for DrupalCon Dublin

Planet Drupal - Fri, 06/05/2016 - 21:16

DrupalCon Dublin will be here before you know it! Join us this 26-30 September in one of Europe's major centers for technology. We're looking for bright ideas from our amazing community when it comes to training proposals and other programmign content. While registration isn't open just yet, it's never too early to book your hotel room, make your travel plans, and send in your proposals for training, or to apply for a grants or scholarship. Consider it like an early RSVP!

Categories: Elsewhere

myDropWizard.com: myDropWizard is providing Drupal 6 Long-Term Support for 424 sites!

Planet Drupal - Fri, 06/05/2016 - 21:16

We've been pretty busy in the 11 weeks since Drupal 6's End-of-Life on February 24th.

Really, CRAZY busy, in fact!

We're currently responsible for providing Drupal 6 Long-Term Support for 424 sites in total!

For some of our bigger clients with large numbers of sites on a single code-base or those subject to regulation (for example, governments and universities) we had to compromise on not providing "security updates only" service - but some protection is certainly better than no protection.

Going through the sales process (which includes performing an in-depth site audit), on-boarding process and subsequently supporting and maintaining 424 sites in only 11 weeks has been enormously challenging for a small company like ours - but also an amazing learning experience.

Things are finally slowing a bit with regard to Drupal 6 LTS, we're heading out to DrupalCon New Orleans next week, and starting to look at the next phase for our business.

This feels like a good time to stop and reflect on the things we've learned from our experience with providing Drupal 6 LTS: what worked, what didn't and what we can improve for the future!

This isn't a marketing post (unlike most of our posts recently - sorry!) but a look Behind the Veil at our growing startup, what we do and why we do it. And it's about time! The last one I did was back in June, explaining why we we're launching myDropWizard.

So, if you're still interested in my meandering reflections, please read on!

Categories: Elsewhere

Scarlett Clark: Kubuntu: Debian: KDE: Outreachy! Yay! Upcoming changes

Planet Debian - Fri, 06/05/2016 - 20:30

I was approved to participate in Outreachy!
https://www.gnome.org/outreachy/

I will be working on the Debian reproducible builds.
https://wiki.debian.org/ReproducibleBuilds

Some of you in the Debian community might know me from working with the debian-qt-kde team
as we (Kubuntu) collaborated in packaging for some time.

Will this affect my current volunteer work for my current projects? Absolutely.
I am currently putting in 10-18 hours a day in volunteer work. Obviously, I cannot give up sleep.
I love all of my projects dearly, but after some recent events, I have found that I absolutely must
resurrect my career. AKA I need to make money to be able to stand on my own two feet without relying on
someone else. I do appreciate the donations, but they do not even dent my student loans :-).
So with all of that said, this will be a positive move in my career path.

I have not sorted out how my current projects contributions will change, but I can tell you
Debian reproducible builds will be number one priority come May 20th. This will last for 3 months.
Then my focus will be on getting a paying job.

Please understand, I need this. One needs money to survive, and working for donations is not working.
I feel the Outreachy work will improve my chances at obtaining a paid job in the open source field.
I have been chasing my “dream job” for some time now, and it is time to go get it.

I will post again, when I have sorted out how I will split up my time.
Thank you my friends.

Categories: Elsewhere

Aten Design Group: Drush Tools for Inspecting Configuration

Planet Drupal - Fri, 06/05/2016 - 19:50

I have a confession to make: I don't like clicking through the Drupal admin. Over the course of a project, beit one with content migrations, configuration in code, or just general site building, the information I need the most is field and taxonomy configuration. Typically, this means bouncing betweens tabs for content types and taxonomies which consumes time and precious clicks. Add in custom entities in our new Drupal 8 projects and there's even more time spent in the admin.

After a few dozen repetitions of navigating between field and taxonomy screens, I was ready to build tools to make the pain points of this process go away. I’d like to introduce you to Drush TypeInfo, Drush TaxonomyInfo, and Migrate Inspect. Hopefully, you find these tools helpful in working on your projects. Besides helping with the initial setup of a project, I feel like these tools are excellent when you're dropped into a project later in the process. Even for project with a detailed architectural plan, things change, documentation goes stale, and the only real source of truth is the actual site being built.

Content Types and Entities

Born from the fire of massive migrations, Drush TypeInfo is a Drush command that can provide you with all the information you could want about your content types and entities. The examples below show the full command names, but everything also has short aliases which you can find by running drush --help.

First up, if you need to figure out the machine name of a content type or see if a content type exists, try:

drush typeinfo-list

This will list all the content types and entities on your site:

item_instruction item_instruction item_instruction_type - language_content_settings - menu - menu_link_content - node article node page node testlet node testlet_item taxonomy_term tags taxonomy_term trajectories taxonomy_vocabulary - user - user_role - view -

Pro tip for the list: if you only want a specific entity type, you can specify that as well: drush typeinfo-list node. Next, maybe you need to check out the fields on an article content type:

drush typeinfo article

If you're looking for information about the fields on an entity besides nodes, you can look that up too. For fields on a taxonomy term the command would be:

drush typeinfo tags taxonomy_term

Now we're in business, but what about even more information? Well, field_tags probably relates to a taxonomy, but let's make sure we know exactly which one:

drush typeinfo-field field_tags article

This will show us:

Field info for: field_tags Type: entity_reference Form displays: - node.article.default Widgets (node.article): default: entity_reference_autocomplete_tags Target type: taxonomy_term Target bundles: tags Cardinality: unlimited

We can see that the field is targeting the topic taxonomy and that it accepts unlimited values. If you want to see field instance info (like field widget settings), you can also pass the bundle/entity type:

drush typeinfo-field field_shared_topic event node

This example will show the field_shared_topic information as it relates to the event content type (I'm specifying the node entity type here, but Drush TypeInfo will also make this assumption for you by default if you want to be lazy).

If you want to see raw internal arrays that Drupal uses for a field, you can get extra in-depth details with the --field-info, --display-info, and --widget-info flags.

Drupal 8 note: this is mostly up-to-date with Drupal 8 functionality, but there are likely more things to load (including some of the display and form display information).

Taxonomy

Next up: taxonomies. It's common to have several vocabularies complete with their own terms. Accessing a list of vocabularies and their terms used to mean plenty of clicking and tabbing through the UI. Not anymore -- I created Drush TaxonomyInfo to display site-wide taxonomy information with a single command.

To list out the vocabularies on a site:

drush taxonomyinfo-vocab-list

To list terms within the topic taxonomy:

drush taxonomyinfo-term-list topic

Drupal 8 note: this should be updated and ready to go for Drupal 8 with the exception of nested terms, these will not show up as nested (yet).

Migrate

Several Drupal 7 projects I worked on last year included very large content migrations. The Migrate module has command line tools for core functionality (importing, rolling back, etc.) but what happens with the data once it is imported? Let's check it out with the help of a tool called Migrate Inspect.

If we've imported some legacy events with an Event migration, we may want to open the last node we imported in a browser:

drush migrate-inspect-last Event

Or even a random event we imported (useful when you want to spot check 30,000 nodes you imported!):

drush migrate-inspect-random Event

When you're reviewing your migration, you may notice a source node that didn't get pulled into the destination correctly. In a case where you know the source ID, but you don't know where that content ended up on the new site, you can find that with the command:

drush migrate-inspect-destination Event 100

Or if you know the destination ID on the new site, but want to know the legacy ID from the old site:

drush migrate-inspect-source Event 200

Sometimes you might know a source or destination ID but unsure which migration it came from. This usually happens for me in cases where there are multiple migrations that can put content into a destination node (for example, when the old site has blog posts and news, but they're being combined on the new site). Migrate Inspect comes with two commands to make this easier by searching for you. Again the commands are broken up into source or destination versions, depending on the ID you have at hand:

drush migrate-inspect-find-source 200 drush migrate-inspect-find-destination 100

Drupal 8 note: this has not been updated for Drupal 8 yet.

Categories: Elsewhere

Acquia Developer Center Blog: Faceted Search in Drupal 8: Using Search API Solr and Facets

Planet Drupal - Fri, 06/05/2016 - 15:20

When module authors decide to port their modules to a new major version of Drupal (e.g. 6 to 7, or 7 to 8), they often take the time to rearchitect the module (and sometimes an entire related ecosystem of modules) to make development more efficient, clean up cruft, and improve current features.

Tags: acquia drupal planetsolracquia searchSearch API
Categories: Elsewhere

Tim Millwood: Drupal Deploy demos

Planet Drupal - Fri, 06/05/2016 - 09:32
Single site content staging with Deploy This demo shows creating content on a stage workspace then...
Categories: Elsewhere

Jay L.ee: Drupal Background Images Module Configuration Manual

Planet Drupal - Fri, 06/05/2016 - 08:06

During my San Diego Drupal Users Group lightning talk on March 8, I showed a brief demo of how background images can be made to be clickable via CSS, something that many people consider to be impossible. But as I'll show you over the next few days, it actually is 100% possible, and I had a LOT of fun getting it to finally work exactly the way I want it. Today's tutorial will be part 1 of 3. My next two blog posts will cover the rest of the steps for creating clickable background takeover ads.

Tags: Drupal 7Drupal Planet
Categories: Elsewhere

Russ Allbery: Review: The Language of Power

Planet Debian - Fri, 06/05/2016 - 05:15

Review: The Language of Power, by Rosemary Kirstein

Series: Steerswomen #4 Publisher: Rosemary Kirstein Copyright: 2004, 2014 Printing: April 2014 ISBN: 0-9913546-3-X Format: Kindle Pages: 400

This is the fourth book in the Steerswomen series and definitely not the place to start. It's also a difficult series to review without spoilers, so I won't be able to provide too many details about the plot.

I will say that this is a reunion and a return of sorts to themes from earlier in the series, rather than a direct follow-up to the revelations at the end of The Lost Steersman. Rowan is back in the Inner Lands, continuing to investigate the affairs of wizards. In particular, she's digging into the past of the town of Donner, following up on the report of an earlier steerswoman and investigating a now-dead wizard who seemed to act far different from a typical wizard. And Bel is back at her side again, watching her back.

The first half of The Language of Power goes over somewhat familiar ground. Similar to both The Steerswoman and The Lost Steersman, Rowan is poking around in a city, getting to know unfamiliar people, being a steerswoman, and winning people over with her unique charm. But that's a theme I don't mind seeing repeated, since Rowan is one of my favorite protagonists from any series I've read. She's both ethical and respectful in a way that doesn't feel artificial or constructed. She thinks oddly and dives into sudden fascinations, and she does rely on the conventions for interacting with steerswomen, but the more time one spends with her, the better one likes her. This is true of both the reader and the town inhabitants, and Kirstein is brilliant at writing the gradual getting-to-know and growing-respect process.

Events in The Language of Power slowly build up to another confrontation with wizards, and this one is full of major revelations about the world. Some of the ambiguity of earlier books is firmly resolved, we find out a lot more about how wizards view themselves and their abilities, and tons of new questions are raised. It's not a conclusion in any way, which is a bit unfortunate given that the next book is still being written (twelve years later, although thankfully it's being actively worked on as I write this). But we get the first clear look at the substratum of the world that Kirstein is building in this series.

This sounds satisfying, and to some extent it is, but any regular SFF reader will have guessed at many of the revelations here. I was pretty sure the world was following one of two possible patterns partway through the second book, certain which it was during the third book, and was nodding right along with the revelations in this book. I'm trying to avoid spoilers, but if you read a lot of SFF, chances are you've read about something akin to this background before. That takes a bit of the thrill out of the revelations, unfortunately.

What adds the excitement and thrill back in are Rowan's reactions. It's very difficult to write a character who comes from an entirely different perspective than either the author or the reader, and Kirstein does an amazing job. Not perfect, quite, at least for me: there were a few points where I thought Rowan was more baffled or more upset than it felt like she should have been. But they are few and far between, and it's quite possible my expectations are the ones that wouldn't ring true if written into the story. It's just such a delight to see Rowan analyzing the world, incorporating new revelations into her growing world model, and figuring out how to take the most moral action at any point. I would happily read another dozen books of this (but I wish they were all already written).

If you've read the previous three books, definitely pick up this one as well. For me, it narrowly misses being the best book of the series (I think that's still The Outskirter's Secret because of the difficulty of the perspective change Kirstein pulls off), but it's a close competition. And the final reveal at the very end of this book points to upcoming adventures that I can hardly wait to read.

Rating: 8 out of 10

Categories: Elsewhere

Dirk Eddelbuettel: RcppArmadillo 0.6.700.6.0

Planet Debian - Fri, 06/05/2016 - 04:18

A second Armadillo release 6.700.6 came out in the 6.700 series, and we uploaded RcppArmadillo 0.6.700.6.0 to CRAN and Debian. This followed the usual thorough reverse-dependecy checking of by now 220 packages using.

This release is a little unusual in that it contains both upstream bugfixes in the same series (see below) but also two nice bug fixes from the RcppArmadillo side. Both were squashed by George G. Vega Yon via two focused pull request. The first ensures that we can now use ARMA_64BIT_WORD (provided C++11 is turned on too) allowing for much bigger Armadillo objects. And the second plugs a small leak in the sparse matrix converter I had added a while back. Nice work, all told!

Armadillo is a powerful and expressive C++ template library for linear algebra aiming towards a good balance between speed and ease of use with a syntax deliberately close to a Matlab.

Changes in this release are as follows:

Changes in RcppArmadillo version 0.6.700.6.0 (2016-05-05)
  • Upgraded to Armadillo 6.700.6 (Catabolic Amalgamator Deluxe)

    • fix for handling empty matrices by kron()

    • fix for clang warning in advanced matrix constructors

    • fix for false deprecated warning in trunc_log() and trunc_exp()

    • fix for gcc-6.1 warning about misleading indentation

    • corrected documentation for the solve() function

  • Added support for int64_t (ARMA_64BIT_WORD) when required during compilation time. (PR #90 by George G. Vega Yon, fixing #88)

  • Fixed bug in SpMat exporter (PR #91 by George G. Vega Yon, fixing #89 and #72)

Courtesy of CRANberries, there is also a diffstat report for this release. As always, more detailed information is on the RcppArmadillo page. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.

This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.

Categories: Elsewhere

Drupal.org blog: What’s new on Drupal.org? - April 2016

Planet Drupal - Thu, 05/05/2016 - 23:44

Read our Roadmap to understand how this work falls into priorities set by the Drupal Association with direction and collaboration from the Board and community.

We'll see you at DrupalCon!

DrupalCon New Orleans is about to get underway next week, and the Drupal Association will be there to talk about some of our recent work, to collaborate with the community, and to present some exciting things that are coming soon. We'll be giving a variety of presentations as part of the Drupal.org track, so if you'll be attending DrupalCon in New Orleans, please join us!

Laissez les bon temps roulez!

Drupal 8.1.0 released

On April 20th, the Drupal core maintainers released Drupal 8.1.0. This is the first release of the new Drupal release cycle in which new features of Drupal will be released much more rapidly than during the Drupal 7 cycle. The Drupal 8.1 release includes: an experimental UI for the Migration module for migrating from Drupal 6 or 7, BigPipe for improving the perceived rendering time of Drupal 8 sites, support for JavaScript automated testing, improved support for Composer, and much more.

The Drupal Association supported the release in several ways. We updated Drupal.org to use Composer to package Drupal Core's dependencies. We updated api.drupal.org to reflect the new point release, and the development branch for 8.2.x. We also bulk updated issues opened against Drupal Core 8.1.x to be open against 8.2.x moving forward. Finally, we updated DrupalCI to support JavaScript testing with PhantomJS. As this new, faster Drupal release cycle continues, we'll continue to refine the process and tools that the core developers use to make this process more efficient.

Drupal.org updates Composer repository alpha

We're very happy to announce the alpha release of Drupal.org's Composer repositories. One of our Community Initiatives for 2016, adding Composer repositories to Drupal.org, has been a concerted effort here at the Association for the past several months. Composer is the tool for dependency management in PHP, and by using Drupal.org's Composer endpoints you can use Composer to manage Drupal modules and themes.

The Drupal.org Composer façade also handles the translation of Drupal.org versioning into the semver format that Composer needs, which should also allow the community to move forward choosing a semver format for contrib. For example, we could now fairly easily support a Platform.Major.Minor.Patch versioning scheme until the semver standard itself supports the same.

As the current release is an alpha, we don’t recommend relying on the Drupal.org Composer repositories in a production environment quite yet. If you would like to help us test the system, you can start with our documentation for the Drupal.org Composer repositories, and then leave us feedback in the Project Composer issue queue.

Our work on Composer specifically, like many of the initiatives we undertake, was made possible through the support of our generous sponsors. If you would like to sponsor our work on Drupal.org, please consider our Supporting Partner Program.

PhantomJS testing in DrupalCI

A key milestone for core developers in Drupal 8.1 was adding the ability to test the front end, by using PhantomJS for JavaScript testing. After some concerted work by dawehner, pfrenssen, alexpott, and several others on the Drupal core side, isntall here at the Drupal Association was able to get PhantomJS properly running on the DrupalCI testbots.

More work will continue to improve our ability to test the front-end, and Drupal 8 continues to be among the most thoroughly tested open source projects in the ecosystem today.

Visual design system for Drupal.org

In April, our lead designer, DyanneNova, outlined the new design system and principles we’re using in all of our work to improve Drupal.org. Our most significant undertaking is the long term restructuring of Drupal.org, which will be implemented in an iterative way as we work through the many different content areas of Drupal.org. The next area of Drupal.org to receive updates, as previewed in the post above, will be Documentation.

Documentation

In our March update, we teased some of the upcoming Documentation features, and talked about the usability testing we performed at DrupalCamp London, and in the Drupal Association office here in Portland. In April, we took our observations from the usability testing, and began implementing these new features. We'll be previewing these upcoming changes in more detail at DrupalCon New Orleans next week, so stay tuned!

Sustaining support and maintenance Infrastructure

In April, we began the build-out of a new staging infrastructure for Drupal.org, part of the continual process of upgrading and refining the tools we use to develop Drupal.org. At the same time, we've updated several of our management and automation tools to keep our stack running smoothly. Work refining our pre-production environments will continue into May.

Maintenance and Bug Fixes

No month is complete without a bit of time spent on maintenance and bug fixes. In April, we spent some time cleaning up spam on archived sites of past DrupalCons, removed unneeded comment render cache code, fixed some bugs with featured job credits on Drupal Jobs, and worked on our payment processor implementation for our European DrupalCons.

———

As always, we’d like to say thanks to all the volunteers who work with us, and to the Drupal Association Supporters, who made it possible for us to work on these projects.

Follow us on Twitter for regular updates: @drupal_org, @drupal_infra

Categories: Elsewhere

Lullabot: DrupalCon New Orleans Session Extravaganza!

Planet Drupal - Thu, 05/05/2016 - 22:00
Matt and Mike talk with a plethora of Lullabots about their sessions at DrupalCon New Orleans, what their favorite all-time DrupalCon experience was, and what sessions they’re looking forward to seeing this year.
Categories: Elsewhere

Greg Boggs: Drupal 8 Theming Best Practices

Planet Drupal - Thu, 05/05/2016 - 21:43

The theming guide for Drupal 8 will get you started in the basics for theming a Drupal site. But, once you’ve learned the basics, what best practices should you be applying to Drupal 8 themes? There are lots of popular methods for writing and organizing CSS. The basics of CSS, of course, apply to Drupal.

  • Don’t get too specific
  • Place your CSS in the header and JavaScript in the footer
  • Organize your CSS well
  • Theme by patterns, don’t go top down
  • Preprocess your styles
Use configuration first

When it comes to Drupal, there are some common mistakes that happen when a front end developer doesn’t know Drupal. In general, apply your classes in configuration. Do not fill your Drupal theme with custom templates like you would for WordPress. Template files, especially with Twig, have their place. But, configuration should be your primary tool. My favoriate tool for applying classes is Display Suite and Block class. Panels is also good. And, fences isn’t terrible.

By applying your classes in configuration allows you to easily edit, reuse, and apply classes across every type of thing in Drupal. If you apply your classes with templates, it’s difficult to apply them across different types of content without cutting and pasting your code. However, don’t be afraid to use some presentational logic in your Twig templates.

Be careful what you target

In Drupal, there are many times where the only selector you have that will work is an ID. If you have this problem, Don’t use it! Never, ever, ever, apply your CSS with ids in Drupal. This is true for every framework, but in Drupal it’s a bigger problem because IDs are not reusable, they are hard to set, and they often change. A backend developer will not be able to apply your styles to other items without fixing your CSS for you. Don’t write CSS that you know a PHP programmer will have to rewrite because you don’t want your PHP programmer writing CSS.

Use view modes

Make sure to target your styles to reusable elements. So, avoid node types because those aren’t reusable on other nodes. Instead, use view modes and configuration to apply selectors as you need them.

Avoid machine names

This relates back to avoiding IDs. Machine names in Drupal sometimes need to change, and they are not reusable. So, don’t target them. Instead use view css, block class and configuration to apply classes to your content.

Don’t get too specific

Drupal 8 markup is better, but Drupal is still very verbose. Don’t get sucked in by Drupal’s divs. Only get as specific as you need to be. Don’t replicate Drupal’s HTML in your CSS.

Apply a grid to Drupal

Choose a grid system that allows you to apply the grid to any markup like Singularity or Neat. While you certainly can Bootstrap Drupal. Using Bootstrap on Drupal requires a heavy rewrite of the HTML which will break contributed modules like Drupal Commerce in obscure, hard to fix ways.

Use a breadcrumb module

Do not write advanced business logic into your theme templates. If your theme is programming complex features, move that code to a module. Or, install modules like Current Page Crumb, or Advanced Agg to handle more complex functions. This isn’t WordPress, your theme shouldn’t ship with a custom version of Panels.

Don’t hard code layouts

Use {{ content }} in your templates and let the View Modes, Display Suite, or Panels handle your layouts.

Don’t use template.php

If you need some ‘glue’, write or find a module meant for it. Drupal is built by many, many tiny modules. Learn to love it because well-written modules are reusable, maintained for free and always improving. Custom code dropped into your theme makes for hard to maintain code.

Categories: Elsewhere

Four Kitchens: DrupalCon New Orleans 2016

Planet Drupal - Thu, 05/05/2016 - 21:00

We’re packing up our green gear and heading to the Big Easy for DrupalCon 2016! …

Categories: Elsewhere

Sean Whitton: dh_make_elpa & dh_elpa_test

Planet Debian - Thu, 05/05/2016 - 20:08

I recently completed and released some work on Debian’s tooling for packaging Emacs Lisp addons to GNU Emacs. Emacs grew a package manager called package.el a few years ago, and last year David Bremner wrote the dh_elpa tool to simplify packaging addons for Debian by leveraging package.el features. Packaging a series of addons for Debian left me with a wishlist of features for dh_elpa and I was recently able to implement them.

Debian tooling generally uses Perl, a language I didn’t know before starting on this project. I was fortunate enough to receive a free review copy of Perl 5 by Example when I attended a meeting of the Bay Area Linux Users Group while I was visiting San Francisco a few months ago. I accepted the book with the intent of doing this work.

dh_make_elpa

dh_make_elpa (at present available from Debian experimental) is a Perl script to convert a git repository cloned from the upstream of an Emacs Lisp addon to a rudimentary Debian package. It performs a lot of guesswork, and its simple heuristics are something I hope to improve on. Since I am new to object-oriented program design in Perl and I wanted to leverage object-oriented Debian tooling library code, I took the structure of my project from dh_make_perl. In this manner I found it easy and pleasant to write a maintainable script.

dh_elpa_test

A lot of Emacs Lisp addon packages use a program called Cask to manage the Emacs Lisp dependencies needed to run their test suites. That meant that dh_auto_test often fails to run Emacs Lisp addon package test suites. Since the Debian packaging toolchain already has advanced dependency management, it’s undesirable to involve Cask in the package build pipeline if it can be avoided. I had been copying and pasting the code needed to make the tests run in our environment to the debian/rules files of each package whose test suite I wanted to run.

dh_elpa_test tries to detect Emacs Lisp addon package test suites and run them with the workarounds needed in our environment. This avoids boilerplate in debian/rules. dh_elpa_test also disables dh_auto_test to avoid a inadvertent Cask invocation.

Future & acknowledgements

My hope for this work was to make it easier and faster to package Emacs Lisp addon packages for Debian, for my own sake and for anyone new who is interested in joining the pkg-emacsen team. In the future, I want to have dh_elpa_test generate an autopkgtest definition so that a Testsuite: pkg-emacsen line in debian/control is enough to have an Emacs Lisp addon package test suite run on Debian CI.

I’m very grateful to David Bremner for reviewing and supporting this work, and also for supporting my Emacs Lisp addon packaging work more generally.

Categories: Elsewhere

Palantir: It's here: Workbench for Drupal 8

Planet Drupal - Thu, 05/05/2016 - 18:00

In Dries’ latest blog post about the state of Drupal 8 adoption, he mentions the results of a survey of 1,800 people. The number one reason that people haven’t upgraded to Drupal 8 yet is availability of modules.

Feature readiness is a critical topic for agencies and clients alike. At Palantir, it particularly affects the Workbench series of modules. We developed Workbench for Drupal 7 to address a set of common editorial problems:

  • An editorial workspace customized for each editor, which shows what work needs to be done next.
  • A draft-revision-published workflow.
  • Review states that require permission to publish content.
  • The ability to create a new “forward revision” waiting for approval while retaining the published version.
  • An extensible, consistent workflow system.
  • Access controls that grant access to specific sections of a website using a hierarchy that maps to an organization chart.

The modules are a cornerstone of every site we build in Drupal 7 – and many that we don’t.

We're happy to report that Workbench is available for Drupal 8.

We receive emails and calls often inquiring about the state of Workbench in Drupal 8; folks in government, higher education, nonprofits, and media all use Workbench. It's a testament to the module suite, and how vital it has been to countless organizations over the years, regardless of industry. In fact, our own Director of Production Scott DiPerna used to run digital at our client Barnard College, and used Workbench extensively:

"Another difficult, though probably common, requirement dealt with access and permissions. With 40-plus academic departments and roughly 200 regular editors of the overall website, Barnard's permissions needs don't fall neatly along the lines of traditional Drupal publishing rights.

For this reason, we needed a system that could handle granular levels of access to particular pieces of content, such that an editor could have access to edit one sibling and its children, but not all siblings of the first.

The Workbench module developed by Palantir handles these needs well by using a hierarchical vocabulary to set levels of access for each piece of content."

Scott is right: the module addresses a common need. So common, in fact, that our partner Acquia has included Workbench as part of its new author-focused Lightning distribution for Drupal 8.

Want to learn more about Workbench for Drupal 8? We're hosting a free webinar on May 24th at 1:00pm CDT, and would love for you to join us. What is Workbench?

Workbench is made up of three essential modules, which provide the functionality listed above. Here’s is an update on the current status of each.

Workbench Moderation
Thanks to a grant from the Module Acceleration Program at Acquia, and the work of the content staging group, Workbench Moderation has a stable release. We’ll be talking about that process at DrupalCON, too. The work we’ve been doing in this space also factors in to Dries’ call for better content authoring tools, so expect to see more from us in this space.

Workbench Access
We’ve been working on access controls for a very long time. (Over 10 years.) Our priority for Drupal 8 has been on moderation, so access is a bit of a side project. You can download pre-alpha code from https://github.com/agentrickard/workbench_access and see the list of required features at https://github.com/agentrickard/workbench_access/issues. The good news, however, is that we’re actively testing the module on a client project, so we expect a stable release by midsummer.

Workbench
The core Workbench module is largely a collection of custom Views that create dashboards for content editors. With Views in core, this module is less critical now, and we’ve made sure that both Workbench Moderation and Workbench Access provide Views support. So you can roll your own dashboards for now while we decide on the architecture for how to provide these as a default module.

Ken Rickard is the product owner and one of the original architects of the Workbench module suite. He’ll be at DrupalCON next week, so drop us a line or come by booth 222 if you’d like to chat.

We're closer than ever on the remaining modules, so if you'd like to play an integral part in the development of these important modules as a funding partner, let's talk.
Categories: Elsewhere

ThinkShout: See You in the Big Easy

Planet Drupal - Thu, 05/05/2016 - 17:00

Next week, nine of us will ship out to New Orleans for DrupalCon. As excited as we are to finally enjoy an authentic beignet and explore the French Quarter, the real draw here is the opportunity to once again catch up with our friends and collaborators in the Drupal community.

We’ve been hard at work preparing our presentations and lining up BoF schedules, and putting those finishing touches on our booth. All that’s missing is you! We have five short days to see what all DrupalCon has to offer, and meet everyone we want to meet. Can we do it? Two words: Challenge accepted.

As always, if you’re reading this and you plan on attending DrupalCon, too, we want to meet you! Here’s what we’ve got lined up.

Exhibit Hall

This year, booth 216 is the ThinkShout headquarters! Rest assured, we brought the swag. Shirts, socks, and MailChimp hats await you, so be sure to stop by and grab one before they’re all gone! We’ll also be raffling off another BB-8. All you have to do is sign up for our newsletter by dropping off a business card. Painless, right?

We’ll also be on the lookout for folks interested in pursuing the senior engineer position we recently listed, so if you think you might be a good fit for the position and you’ll be at DrupalCon, then let’s chat! Drop us a line and we’ll set up a time to get to know each other a little better. Or just show up - that’s fine too.

ThinkShout Sessions

Content Strategy in Pop Culture” - Wednesday (5/11), 1:00pm - 2:00pm

Join Brett Meyer for an unconventional look at content strategy through a pop culture lens. Draw parallels between the information you consume every day and the sites you build, and have a little fun while doing it!

The Story of Successful Drupal Integrations in 3 Acts” - Thursday (5/12), 10:45am - 11:45am

Lev Tsypin will share the stories of the MailChimp, iATS Payments, and Salesforce Drupal integrations, and share some insight into how to be successful when setting out to integrate Drupal with other third party systems.

Birds of a Feather (BoF) Discussions

Our team has three birds of a feather discussions planned on the Tuesday of DrupalCon, so mark your calendars and join the conversation!

Fundraising in Drupal” - Tuesday (5/10), 11:00am - 12:00pm

Static Fanatic: Tips on Developing Static Sites” - Tuesday (5/10), 11:00am - 12:00pm

Event Registration in Drupal” - Tuesday (5/10), 3:45pm - 4:45pm

Of course, we also plan on checking out the many wonderful social events that DrupalCon has in store in the evenings, so there’s a good chance you’ll see us there as well! It’s going to be a jam-packed week, and we can’t wait. As always, we’re looking forward to catching lots of sessions, brushing up on trends, and learning new things. We hope to see you there!

Categories: Elsewhere

Acquia Developer Center Blog: Free Advanced Acquia Academy Courses on Lift: Personalization, User Interface, and Best Practices

Planet Drupal - Thu, 05/05/2016 - 15:23

Acquia Academy is filled with courses to help our community, customers, and partners build amazing digital experiences. Our goal is to advance learners for the next challenge, no matter if they are leading front-end developers, or want-to-be leading developers.

For instance, Acquia Lift enables developers to create dynamic and targeted site personalization campaigns. We have the tools to bring any audience up to speed.

Tags: acquia drupal planet
Categories: Elsewhere

Pages

Subscribe to jfhovinne aggregator - Elsewhere