Drupal

Salesforce Term Reference

New Drupal Modules - 5 December 2016 - 1:18pm

Adds a new field mapper to the Salesforce suite of modules to allow using a term reference field. Entity references for content are supported natively by the Salesforce modules, but term references are not unfortunately.

This code is almost entirely based on the work of Mike Christianson and he deserves the credit: http://codeaweso.me/2015/04/mapping-salesforce-object-fields-to-drupal-t...

Categories: Drupal

Commerce Login and Pay with Amazon

New Drupal Modules - 5 December 2016 - 12:24pm

This module integrates Login and Pay with Amazon with Drupal and Drupal Commerce.

Amazon Payments provides Amazon buyers a secure, trusted, and convenient way to log in and pay for their purchases on your site. Buyers use Login and Pay with Amazon to share their profile information (name and email address) and access the shipping and payment information stored in their Amazon account to complete their purchase. Learn more at

Categories: Drupal

OpenConcept: Inline Form Errors - What They Are and Why they Matter

Planet Drupal - 5 December 2016 - 11:01am

This article was initially posted as a guest blog on The Digital Echidna Blog on December 2, 2016.

Lots of organizations are working hard to see that their IT is accessible to their visitors and staff. Reducing barriers for effective two-way communications is really important for businesses that want to engage fully with their community. Unfortunately, many organizations overlook the many challenges with online web forms.

Organizations who adopted Drupal 7 benefit from having semantic labels associated with their web forms automatically. This is a particular problem with custom built web-forms, but the Drupal community made an effort towards solid accessibility defaults and continues to do so.

Drupal 8 takes web forms further, adding WAI-ARIA to provide additional semantic markup around descriptive text. Drupal 8 is the first CMS to embrace the HTML5 details/summary elements. These elements allows Drupal 8 forms to use fieldsets for what they are intended and avoids the problem of nested fieldsets, which were inevitable in earlier versions of Drupal.

Adding other HTML5 tags to Drupal Core helps build more semantic sites. Users are encouraged to use tags with meaning which help screen-reader users as well as search engines.

The Accessibility Team wasn’t satisfied with this and realized that we needed to address Guideline 3.3 of WCAG 2.0 AA, which states that all users need to:

  • Be aware that an error has occurred and understand what is wrong
  • Be given suggestions for correction of an input error if it is possible
  • Be provided with safeguards to avoid serious consequences resulting from mistakes
  • Have their input checked for errors and be provided an opportunity to correct them.

These really don’t sound that difficult, but unfortunately they are. Brandon Bowersox-Johnson spearheaded this back in 2012 outlining what needed to happen.

This required many changes to Drupal’s Form API, which is used on almost every Drupal admin page and with all of its web forms. An issue to address this was started later that year in the Drupal issue queue and Inline form errors for accessibility and UX resulted in over 600 comments over four years.

It also got into Drupal Core, although not for very long. It became clear that there were a number of regressions which were major enough that Drupal 8 could not be released without their being fixed. Rather than continue to hold up the release, the community decided to roll this back into an Experimental Core module.

This was absolutely the right call for 8.0. More attention has gone into the many sub-issues and several of them have been fixed. Drupal Core needs to be stable and predictable. Several developers have been very active in trying to fix these issues. In no particular order I’d like to highlight just some of the folks who have contributed to addressing these issues: Pieter Frenssen, Tim Plunkett, Baris Wanschers, Daniël Smidt, and Scott Carpenter.

There has been a lot of effort from some really smart folks going into this very important issue. Unfortunately it isn’t enough. Inline Form Errors need to be enabled by default. Everyone benefits from this better UI. Right now only a small fraction of Drupal 8 sites have enabled this module, because it is an optional Experimental Module and there are serious warnings included with it.

This module is also slated to be removed from Core and brought in as a regular Contrib module. There are good reasons to do this, but it makes it less likely that this improved pattern will ever get into Core.

This is not a trivial request, but it is an important one. For all agencies who are legally required to meet WCAG 2.0 AA, this is an area where your site likely fails. Although there are workarounds that can be done for individual sites and specific modules, we really need a centralized solution for this.

Please consider investing time or money in addressing this outstanding Drupal 8 meta issue and seeing that Drupal remains a leader in this space.

Topic: Primary Image: 
Categories: Drupal

DCI

New Drupal Modules - 5 December 2016 - 9:31am

The Distance Cataloging Interface (DCI) was built as a way to collect and review feedback on specified content on a Drupal website from it's users.

Categories: Drupal

Drupal core announcements: Global virtual UX sprint day on December 9, 2016

Planet Drupal - 5 December 2016 - 8:22am
Start:  2016-12-09 (All day) Europe/Amsterdam Organizers:  yoroy Event type:  Sprint

On Friday, December 9 we are organizing a global virtual Drupal UX sprint. As always, many different features and projects are currently worked on. We'll use this day to work on issues that need UX input or feedback.

What will happen that day?

Join the #ux channel on drupal.slack.com (get an invite automatically at http://drupalslack.herokuapp.com/) to participate all day.

  • UX mentors will be available to help onboard designers who want to contribute
  • We'll pair designers and devs (as available) to work on actionable tasks
  • Planning to do some ad hoc usability testing
  • An introduction to the main strategic initiatives and their UX components will be provided
Join the team

You can join us even after the global UX sprint. We have meetings every Tuesday at 9pm CEST and every Wednesday at 9am CEST on the #ux Slack channel at drupal.slack.com (get an invite automatically at http://drupalslack.herokuapp.com/). Bring your issues there to discuss! CEST is the timezone observed in Amsterdam.

Categories: Drupal

Drupal Modules: The One Percent: Drupal Modules: The One Percent — Markup (video tutorial)

Planet Drupal - 5 December 2016 - 7:56am
Drupal Modules: The One Percent — Markup (video tutorial) NonProfit Mon, 12/05/2016 - 09:56 Episode 9

Here is where we bring awareness to Drupal modules running on less than 1% of reporting sites. Today we'll consider Markup, a module which allows you to insert additional markup on the node/edit form just for content authors.

Categories: Drupal

HTTP Auth

New Drupal Modules - 5 December 2016 - 3:54am

This module allows you to set up HTTP authentication on your site. You can easily set username and password for HTTP Authentication. No server site configuration needed.

Features:

* Restricting crawler to crawl on your site while development.
* Restrict admin pages after being your site Live.
* Easy to activate or deactivate HTTP Auth without deactivating module.

Categories: Drupal

drunomics: Drupal IronCamp Prague 2016

Planet Drupal - 5 December 2016 - 3:46am

The first Drupal IronCamp took place in the beautiful capital of the Czech Republic in Prague at the end of November 2016. More than 200 attendees from 27 countries took part in four days of sprints and two days of sessions.

In such a relatively small group of people I could get in touch with everyone I liked to, keynote speakers, CEOs, friends and other drupalists.

So here is my summary of the sessions I have attended and which I found of interest.

KEYNOTE - Michael Schmid (@Schnitzel): The Future of Drupal

Michael showed us what people had in mind at the beginning of the 20th century when they wanted to predict the future now. It was both interesting and predictalbe, but also showed us that we still have not reached everything those people had in mind. The focus of this keynote was on Personalisation, Decoupled, Microservices and Containers - four fields, in which Drupal is already prepared for the future but not yet fully developed.

  • Personalisation: Websites won't be looking the same anymore. For disabled persons or based on a user's preferences websites will display only partial content or different content. This results in complex testing scenarios.
  • Decoupled: Drupal already consists of third party components, like Symfony or Twig. Also, Drupal already works great with decoupled frontends and technologies like node.js, React and other javaScript frameworks.
  • Microservices: Split up larger tasks into smaller ones, but keep an eye on coding standards and used programming languages and libraries.
  • Containers: A consistent website environment for development, testing and live will be achieved with the use of docker containers.

[Slides] 

Fabian Bircher (@fabianbircher): Configuration Management: Theory and Practice

Fabian had one of the most interresting talks of this camp, which resulted in many discussions and talks in person with Fabian Bircher, Wolfgang Ziegler (@the_real_fago) and me (@KnudFrank).

The core theme of this presentation was the introduction of a new Drupal 8 module Configuration Split, where you can easily use Drupal 8s configuration managemen and split configurations for the use of different environments or different use cases.

[Fabian' blog post and slides] [Module: Configuration Split]

KEYNOTE - Larry Garfield (@Crell): Software Management Lessons from the 1960s

Has project management, described in "The Mythical Man Month" by Frederick P. Brooks Jr. in 1975 and 1995 changed in today's world? Most of the thesis described by the pioneers of modern computer architects and project management are still true. Larry and the audience had to admit this with no regret, but with relief. So project and software management has a steady and solid fundament to build upon and to rely on. This is good for companies working in collaboration with other companies and especially for the open source community to work together in such a large project as Drupal.

[Slides]

Théodore Biadala (@nod_), Mathieu Spillebeen (@MathieuSpil): Offline-Drupal

Comparing the approaches of Google's AMP, Facebook's instant articles, Appcache and Serviceworkers with real-world examples. Some techniques have limitations in browser support. Serviceworkers seems to be the most promising technology for caching websites in the browser, but unfortunately this still lacks support from Apple Safari. 
What's interesting about those "Progressive web apps" is that they do not necessarily require a front-end developed in Javascript. There is even a Drupal module: Progressive Web App.

[Slides]

KEYNOTE - Janez Urevc (@slashrsm): Ask Not What the Community Can Do for You, Ask What You Can Do for the Community

Only 0.5% of the users of Drupal contribute to the community. In this keynote Janez engaged the listeners to contribute to the community as well. He also showed the pros and cons of free software and propriety software and the processes in development with too many discussions and too few releases and too few contributers and missing functionalities. Engagement of developers is the core key for a community driven development.

Tamás Hajas (@eccegostudio): Short Twig recipes for Drupalers

Basics and advanced examples of Twig templates, inheritance, embedding, including and other useful recipes around Twig. An interesting talk but sadly a small crowd.

[Slides]

Wolfgang Ziegler: Efficient development workflows with Composer

Wolfgang had quite a big audience and lots of talk after the session. It seems that many developers have not worked so intensly with composer yet. But  this session provided an overview of possible workflows and showed practical solutions for building and deploying composer-managed projects. Wolfgang shared his experiences with handling Drupal projects and focued in his talk on approaches that can be shared across projects and team members.

[Slides]

Summary

A beautiful city but cloudy weather. Nevertheless the christmas market at night was shiny and also the after-parties had some surprises like the Cinema Zapping on Friday or the secret visit to Unijazz on Saturday. In two years the event will be back in Belgrad and I'm sure to be there too.

Categories: Drupal

Agiledrop.com Blog: AGILEDROP: Drupal Camps in Middle America

Planet Drupal - 5 December 2016 - 2:09am
As promised in one of our previous blog posts, the area between North and South America will not be forgotten. Therefore we present you Drupal Camps in Middle America. We already guided you through Drupal Camps, which were organized in Africa, Asia, North America, Europe and South America. Since our expectations were so wrong last time, we'll say that we expect Middle America to be ranked between South America and Africa in our world tour ranking table, which measures the quantity of organized Drupal Camps. Let's clear up first the geographic part of view. Term Middle America can also be… READ MORE
Categories: Drupal

Frederic Marand: I hit ⌘D⌘R, you won't believe what happened next!

Planet Drupal - 4 December 2016 - 9:59am
OK, so you know the contents has almost nothing to do with the pseudo-clickbait-y title, right ? Well, it actually it has: this is about the single most useful command in Drupal development. Guess which ?

read more

Categories: Drupal

DrupalCon News: Get Ready for DrupalCon Baltimore

Planet Drupal - 2 December 2016 - 4:36pm

It is with great excitement that we officially invite you to join us at DrupalCon Baltimore!  Our website launches today, and there are already many ways that you can already get involved.

Categories: Drupal

Acquia Developer Center Blog: Learn Drupal 8 for Free: Extending and Managing a Drupal 8 Site

Planet Drupal - 2 December 2016 - 10:57am

If you, or a colleague, is wondering about why "community" is an important part of the Drupal experience, this course could be a good way to introduce the topic.

Because community is an underlying theme that runs through many of the 20+ segments that make up the course.

The section on Modules is a good example. Our instructor, Rod, explains the concept of "contributed modules," and illustrates how they work in practice using three specific modules: Book, Forums, and Telephone.

Tags: acquia drupal planet
Categories: Drupal

Purecloud

New Drupal Modules - 2 December 2016 - 10:20am

Purecloud REST API.

Categories: Drupal

Drupal core announcements: Drupal 8 and 7 core release window on Wednesday, December 07, 2016

Planet Drupal - 2 December 2016 - 10:15am
Start:  2016-12-06 12:00 - 2016-12-08 12:00 UTC Organizers:  stefan.r David_Rothstein Fabianx catch xjm cilefen Event type:  Online meeting (eg. IRC meeting)

The monthly core patch (bug fix) release window is this Wednesday, December 07. Drupal 8.2.4 and 7.53 will be released with fixes for Drupal 8 and 7.

To ensure a reliable release window for the patch release, there will be a Drupal 8.2.x commit freeze from 12:00 UTC Tuesday to 12:00 UTC Thursday. Now is a good time to update your development/staging servers to the latest 8.2.x-dev or 7.x-dev code and help us catch any regressions in advance. If you do find any regressions, please report them in the issue queue. Thanks!

To see all of the latest changes that will be included in the Drupal 8 release, see the 8.2.x commit log. The Drupal 7 release will only contain one fix for a drag-and-drop regression introduced in Drupal 7.51 (see also the 7.x commit log).

Other upcoming core release windows after this week include:

  • Wednesday, December 21 (security release window)
  • Wednesday, January 04 (patch release window)
  • Wednesday, April 5 (scheduled minor release)

Drupal 6 is end-of-life and will not receive further releases.

For more information on Drupal core release windows, see the documentation on release timing and security releases, as well as the Drupal core release cycle overview.

Categories: Drupal

OpenConcept: Drupal 8 - Accessibility Now; Supporting Continued Accessibility in the Future

Planet Drupal - 2 December 2016 - 9:46am

This article was initially posted as a guest blog on The Digital Echidna Blog on November 29, 2016.

So you’ve gone all out on making your website accessible. You considered accessibility at every stage of your project. You started by choosing Drupal. You then evaluated the wireframes for potential problems, took careful consideration that the colours had sufficient contrast, had your developers do regular accessibility checks with every sprint, brought in an external reviewer at the end of the project to evaluate your work, etc.

It was the textbook example of how you should approach building a modern site using a Content Management System.

Then you hand over this gem to the content editors.

And quickly the accessibility gains you have worked so hard on start to be compromised.

Editors copy/paste bad HTML from Microsoft Word and break functionality. They use font tags to mark-up their document or start inserting H1s in the body of the content. They upload images without alternative text. These are just a few random errors that slowly start getting added to the site.

Sure, you do an accessibility review of your site every six months using a third-party evaluation tool. It hits some of the errors that are being added, but by the time it takes you to organize and address these issues, some of those folks who added that content are no longer doing that job. Now someone else needs to be educated about both the problem and the solution.

This is really a best case scenario. Content Management Systems were designed to enable people with little or no technical knowledge to create and maintain content without knowing anything about HTML or accessibility. So why are we surprised that they haven’t grok’d* the WCAG 2.0 specs? (*editor's note: this means 'understood' for the less technically inclined amongst us!)

Fortunately, there is a solution, and we've already done a lot to implement it in Drupal 8.

Authoring Tool Accessibility Guidelines (ATAG) 2.0. ATAG 2.0 is just over a year old now and it comes in two parts.

Most content management systems really struggle with the first part: making the authoring tool itself accessible. Fortunately, we’ve been working on this since Drupal 7 and we can be very confident that users of all abilities can perceive, operate, and understand Drupal’s admin pages in a robust context. Drupal 8 isn’t perfect, but this commitment to make both the front and back-ends respect WCAG 2.0 AA is still, sadly, quite unique.

The second part comes from finding ways to make it easier for content authors to produce accessible content. We know that people learn best when they are corrected while creating a document, rather than a few months later. Drupal can make it easier for authors to improve their content as they are creating it.

There are a few bold things that we’ve done in Drupal 8.

  • Alt tags are now required by default. This can be disabled but, by default, editors will be asked to create alternative text for every image;
  • We chose CKEditor for Drupal 8, which has a long track record with accessibility, including ATAG. It defaults to semantic markup where possible;
  • Headings and spans are now allowed by the default filter for body text. Headings help manage a hierarchy while spans allow for WCAG 2.0’s Language of Parts;
  • Browser spell check is enabled by default. Screen-readers aren’t good at pronouncing spelling errors;
  • Summary and caption elements have been added to Views tables. This additional information can be very useful in providing additional context to assistive technology users; and
  • We have accessibility information added to help pages to help make the information more discoverable.

There is a lot more that can be done, but the groundwork has been set in Drupal 8 to help content editors produce better content for less. Better, more understandable content will not only help people with disabilities, but everyone who needs to access information in this fast-paced, mobile world.

Topic: Primary Image: 
Categories: Drupal

SSP IDP

New Drupal Modules - 2 December 2016 - 7:17am

It turns your Drupal 8 site into a Identity Provider using SimpleSAMLphp.

Categories: Drupal

Disable menu blocks

New Drupal Modules - 2 December 2016 - 7:13am
Menu module creates new blocks for every menu
.. and there's no easy way to remove them.

These automatic menu blocks are irrelevant when using Menu Block module, or modules like OG Menu, and as such they will just clutter the admin UI and even cause performance problems in some admin areas on sites with many menus.

Categories: Drupal

Amazee Labs: Drupal Mountain Camp is coming

Planet Drupal - 2 December 2016 - 6:58am
Drupal Mountain Camp is coming

Together with the local Drupal Community, we are inviting you to join us for Drupal Mountain Camp in Davos, Switzerland. More than 200 attendees are expected to come for sessions, workshops, sprints and stay for the community ... as well as a great amount of powder for those interested in skiing or snowboarding under perfect conditions!

Josef Dabernig Fri, 12/02/2016 - 15:58

After a very successful and very interesting Drupal Commerce Camp in 2011, the team of Drupal Events Schweiz decided that it is again time for a Drupal Camp in Switzerland. As Switzerland provides so much more than bright attendees and speakers, we also want to show the beauty of our country and mountains. We found the perfect location for this: Davos!

The camp will happen from 16 to 19 February 2017 at the Davos Congress Centre. We expect around 200 attendees from Switzerland, all over Europe and the world. We will feature a day of summits, two days of sessions, a day fully dedicated to sprints, and social activities each day.

I'm especially excited that Preston So has been confirmed to be the first keynote speaker. He will be giving a talk on "API-first Drupal and the future of the CMS". In addition, we have confirmed a number of speakers internationally & from Switzerland. Interested in presenting? The call for sessions is open until beginning of January.

Sprints are a great place to get involved with development of Drupal 8, join an initiative and get to work with experts and people interested in the same areas. See the sprint sheet to sign up already to join forces for improving Media, Paragraphs, Drupal 8 core as well as the Rules module for Drupal 8.

We are thankful for a great number of sponsors already which help keep ticket prices low. If you are interested in finding Drupal talent or providing your services to Swiss customers, this is a unique opportunity. See the Drupal Mountain Camp website for information about sponsoring or contact Michael directly. 

Discounted hotel options are available from CHF 59 per person/night via the following link: http://www.davoscongress.ch/DrupalMountainCamp

Early Bird Tickets are available until end of December for only CHF 80. With your purchase you already get a discount on travels with the famous Swiss railway service. There is more to come!

See you 16-19 of February in Davos, Switzerland. In the meantime, follow us on twitter.

Categories: Drupal

cub

New Drupal Modules - 2 December 2016 - 4:51am

Create Campaign URL Builder for your contents.

This módule helps you to create Campaign URL Builder following the rules the helps and suggestions of google: https://ga-dev-tools.appspot.com/campaign-url-builder/

Categories: Drupal

Ixis.co.uk - Thoughts: The wonders of Twig theming

Planet Drupal - 2 December 2016 - 4:47am

Part of the plan for rebuilding the Ixis site in Drupal 8 was for us to write up some of our thoughts at the end. Writing about the theme layer is hard, because it’s all completely new. There’s a million things I want to talk about, some of the Drupal related, some of them just about frontend tools in general, so I’m going to try and squeeze as much as I can in here.

Bootstrap is awesome

The frontend theme is built on Bootstrap, which allowed us to get the site up and running quickly, and iterate on feedback from the rest of Ixis and the design agency. We only started building the theme 6 days before the site went live!

Using a fairly heavy framework like Bootstrap often raises concerns about performance, but considering that all of the CSS on one of our page loads is ~30kb, it was worth the trade off for the speed of development and iteration. At some point we’ll go through Bootstrap and remove the parts we aren’t using, but right now we’re still iterating and improving things.

Libsass is awesome

We’ve been using Sass for a while at Ixis, it’s amazing for writing clear CSS that can actually be maintained after a few years of iterative development work. Up until now we’ve relied on Compass to compile that for us, but this time we took a look at Gulp and libsass with node-sass.

Damn is it fast. We’re compiling bootstrap-sass as part of our theme, which used to take Compass ages every time we changed a variable. Libsass builds the whole thing in about a second. On top of compiling the CSS, we’re using Gulp on the Ixis site to automatically add vendor prefixes (no more reliance on compass for browser compatibility), provide image mappings (which lets Sass access information about the images, like dimensions) and optimise the file size of those images.

Twig is awesome

I <3 Twig. After so many years of wrangling the Drupal PHPTemplate engine into usable markup, it is so refreshing that everything is templated. No more overriding theme functions just to add an extra class to a div. You don’t even need to use PHP at all to do it.

Dealing with render arrays in a template? Just print them! Doesn’t matter what’s in them. Let Twig sort it out. You’ll never again see “Array” printed to the screen because you forgot to pass something through render().

I know a huge amount of effort went into making Drupal 8 more accessible to frontend folks, and it really does seem to have paid off! The only downside is that I still have to go back to the Drupal 7 way of PHP everywhere occasionally to support older sites.

Libraries are awesome

The new libraries.yml file makes it a lot easier to define libraries, which are collections of Javascript and CSS, along with their dependencies, so you can just load things when you need them. No gallery on this page? Drupal won’t load that javascript, and if the gallery was the only reason you needed jQuery then it won’t load that either if no gallery is being rendered on the page. A contrib module that adds a library can now be boiled down to just an info.yml and libraries.yml filebe 2 yaml files in the theme.

Contrib for libraries is in a bit of a weird state in Drupal 8 at the moment. If you’ve used Drupal 7 then you’ve probably used the Libraries API module, it’s there to allow other contrib modules to share third party libraries. It looks like the plan for Drupal 8 is to eventually have a centralised repository of third-party libraries, but currently it doesn’t seem like a lot of contrib is using it, instead just relying on the library being in /libraries in the Drupal root.

Paragraphs are awesome

We went with paragraphs in order to allow content editors a bit of control of the layout of the pages. I won’t waffle too much about how we set up paragraphs because we’ve already talked about that, but from a frontend point of view, each paragraph type has it’s own twig template, and we can load separate libraries just for that one paragraph, so we were able to make each paragraph into it’s own self contained component. Did I mention I love the new Twig stuff in Drupal 8?

Caching is awesome, but you should probably learn how it works

The new caching layer is amazing, it just seems to work magically behind the scenes. It can be quite easy to be caught out by it though, if you don’t understand what’s happening behind the curtain, especially if you’re used to Drupal 7’s way of caching each page.

Here’s an example from building the Ixis site: The logo on our site links to the front page. It’s a fairly common thing to do. If you’re already on the frontpage though, that’s a redundant link, there’s no reason for it to be there and it can confuse things for those using screen readers.

So we added a simple check: If we’re on the front page, just show the logo, otherwise wrap the logo in a link to the front page. Without caching, this works fine. With caching, Drupal caches that block the first time it’s rendered, then uses it everywhere, because we haven’t told Drupal that this block can differ based on path.

In the end, we added a new cache context to the ‘site branding’ block, so Drupal knows it can differ based on the url. We’re currently relying on just the ‘url.path’ context, but in 8.3 there’s a new url.path.is_front context we’ll be using.

Debugging is easy.

Debugging Twig is easy peasy; In your sites/default/services.yml file (copy the one from default.services.yml if it doesn’t exist), then change the debug value to ‘true’.

parameters:  twig.config:    debug: true

Then you get handy comments like this in the page source:

                 

You can quickly dump a variable with the dump function like {{ dump(a_variable) }}, which just uses PHP’s var_dump() behind the scenes, but if you want to poke at array they you’ll probably want to use the kint module from devel, which gives you a much nicer output with {{ kint(content) }}. Word of warning, the little + will expand everything, and if it’s a big tree it’ll just crash your browser.

Frontend developer experience in Drupal 8 is a huge improvement over what was in Drupal 7, and thanks to the new release cycle, it’s continuing to improve even after Drupal 8 has launched. Really looking forward to seeing what new features we’ll get in the future, and I’ll be keeping an eye on the ‘core ideas’ issue queue.

Categories: Drupal

Pages

Subscribe to As If Productions aggregator - Drupal