Planet Drupal

Subscribe to Planet Drupal feed
Drupal.org - aggregated feeds in category Planet Drupal
Updated: 13 hours 44 min ago

Vardot: 4 Patches to Get Entityqueue on Drupal 8 Behave as it Should Be (as of November 10, 2016)

10 November 2016 - 8:53am
How to, Resources Read time: 4 minutes

TLDR;

  1. Add "Reverse order in admin view" option: https://www.drupal.org/node/2821631
  2. Fix a problem that causes the queue to be always required when using "Limit to a specific entity queue": https://www.drupal.org/node/2478685
  3. Add a tab for Entityqueue on content types: https://www.drupal.org/node/2145441
  4. Make "Contextual links" work for views using Entityqueue: https://www.drupal.org/node/2825773

 

When using the Entityqueue module in Drupal 8 as a tool for editors and site admins to order content, you will end up working on the following use cases:

  • Use case 1: Use Entityqueue as a filter: shows only the items chosen in the queue.
  • Use case 2: Use Entityqueue as a loose sorting tool: does NOT limit the items based on queue, but prioritizes the items chosen in the queue to be displayed first, then shows the rest, perhaps in a reverse chronological order.

These are the most common use cases we use at Vardot for our clients when we build a site.

Use case 1 works perfectly if you use Entityqueue as is.

However, use case 2 does not work properly. Therefore, we have contributed (or contributed to), two patches that would make life easier to build a solid experience using the Entityqueue module in Drupal 8.

Added to that, we also patched two missing features that existed in Nodequeue, and should now exist in Entityqueue for Drupal 8.

Note: this post was written in November 10, 2016, which until this date, these patches are not yet committed to Entityqueue. Please review the patches, we hope that they get committed and become part of the next Entityqueue release.

1. Queue is always required when using "Limit to a specific entity queue"

Issue link: https://www.drupal.org/node/2821631

Needed for use case 2, you will most likely need your view to limit results to only items in the entity queue your joining in.

  2. Get the good old "Reverse order in admin view" option

Issue link: https://www.drupal.org/node/2478685

For use case 2, this option will come in handy, since you will be sorting in reverse chronological order after the items in the queue are shown first.
Therefore, this nice workaround allows you check "Reverse order in admin view" to ensure the items in queue appear first in view when you sort.

  3. Get the good old Nodequeue tab to appear along with content tabs

Issue link: https://www.drupal.org/node/2145441

If I'm an editor or a site admin, it wouldn't make sense to me to see the queues that I can add a piece of content to.

This tab has been missed from Entityqueue, now it comes back.

4. Get Contextual Links to send you directly to the queue edit page

Issue link: https://www.drupal.org/node/2825773

Plans for this is to integrate with the new outside-in approach of Drupal 8.2 using the Settings Tray module.

This patch provides you as an editor or site admin, to go directly to the queue from the front end using the contextual links, instead of searching for the queue by its name from the admin view.

 

 

Let's hope these patches get committed and pushed to Entityqueue module.

This tab has been missed from Entityqueue, now it comes back.

Tags:  Drupal drupal 8 Drupal Planet Title:  4 Patches to Get Entityqueue on Drupal 8 Behave as it Should Be (as of November 10, 2016)
Categories: Drupal

Dries Buytaert: Content and Commerce: a big opportunity for Drupal

10 November 2016 - 7:08am

Last week Acquia announced a partnership with Magento. I wanted to use this opportunity to explain why I am excited about this. I also want to take a step back and share what I see is a big opportunity for both Drupal, Acquia and commerce platforms.

State of the commerce market

First, it is important to understand what is one of the most important market trends in online commerce: consumers are demanding better experiences when they shop online. In particular, commerce teams are looking to leverage vastly greater levels of content throughout the customer's shopping journey - editorials, lookbooks, tutorials, product demonstration videos, mood videos, testimonials, etc.

At the same time, commerce platforms have not added many tools for rich content management. Instead they have been investing in capabilities needed to compete in the commerce market; order management systems (OMS), omnichannel shopping (point of sale, mobile, desktop, kiosk, etc), improved product information management (PIM) and other vital commerce capabilities. The limited investment in content management capabilities has left merchants looking for better tools to take control of the customer experience, something that Drupal addresses extremely well.

To overcome the limitations that today's commerce platforms have with building content-rich shopping experiences, organizations want to integrate their commerce platform with a content management system (CMS). Depending on the situation, the combined solution is architected for either system to be "the glass", i.e. the driver of the shopping experience.

Lush.com is a nice example of a content-rich shopping experience built with Drupal and Drupal Commerce. Drupal's unique advantage for commerce

Drupal is unique in its ability to easily integrate into ambitious commerce architectures in precisely the manner the brand prefers. We are seeing this first hand at Acquia. We have helped many customers implement a "Content for Commerce" strategy where Acquia products and Drupal were integrated with an existing commerce platform. Those integrations spanned commerce platforms including IBM WebSphere Commerce, Demandware, Oracle/ATG, SAP/hybris, Magento and even custom transaction platforms. Check out Quicken (Magento), Puma (Demandware), Motorola (Broadleaf Commerce), Tesla (custom to order a car, and Shopify to order accessories) as great examples of Drupal working with commerce platforms.

We've seen a variety of approaches to "Content for Commerce" but one thing that is clear is that a best-of-breed approach is preferred. The more complex demands may end up with IBM WebSphere Commerce or SAP/hybris. Less demanding requirements may be solved with Commerce Tools, Elastic Path or Drupal Commerce, while Magento historically has fit in between.

Additionally, having to rip and replace an existing commerce platform is not something most organizations aspire to do. This is true for smaller organizations who can't afford to replace their commerce platform, but also for large organizations who can't afford the business risk to forklift a complex commerce backend. Remember that commerce platforms have complex integrations with ERP systems, point-of-sales systems, CRM systems, warehousing systems, payment systems, marketplaces, product information systems, etc. It's often easier to add a content management system than to replace everything they have in place.

This year's "State of Retailing Online" series asked retailers and brands to prioritize their initiatives for the year. Just 16% of respondents prioritized a commerce re-platform project while 41-59% prioritized investments to evolve the customer experience including content development, responsive design and personalization. In other words, organizations are 3 times more likely to invest in improving the shopping experience than in switching commerce platforms.

The market trends, customer use cases and survey data make me believe that (1) there are hundreds of thousands of existing commerce sites that would prefer to have a better shopping experience and (2) that many of those organizations prefer to keep their commerce backend untouched while swapping out the shopping experience.

Acquia's near-term commerce strategy

There is a really strong case to be made for a best-of-breed approach where you choose and integrate the best software from different vendors. Countless point solutions exist that are optimized for narrow use cases (e.g. mobile commerce, marketplaces and industry specific solutions) as well as solutions optimized for different technology stacks (e.g. Reaction Commerce is JavaScript-based, Magento is PHP-based, Drupal Commerce is Drupal-based).

A big part of Acquia's commerce strategy is to focus on integrating Drupal with multiple commerce platforms, and to offer personalization through Lift. The partnership with Magento is an important part of this strategy, and one that will drive adoption of both Drupal and Magento.

There are over 250,000 commerce sites built with Magento and many of these organizations will want a better shopping experience. Furthermore, given the consolidation seen in the commerce platform space, there are few, proven enterprise solutions left on the market. This has increased the market opportunity for Magento and Drupal. Drupal and Magento are a natural fit; we share the same technology stack (PHP, MySQL) and we are both open source (albeit using different licenses). Last but not least, the market is pushing us to partner; we've seen strong demand for Drupal-Magento integration.

We're keen to partner with other commerce platforms as well. In fact, Acquia has existing partnerships with SAP/hybris, Demandware, Elastic Path and Commerce Tools.

Conclusion

Global brands are seeing increased opportunity to sell direct to consumers and want to build content-rich shopping journeys, and merchants are looking for better tools to take control of the customer experience.

Most organizations prefer best of breed solutions. There are hundreds of thousands of existing commerce sites that would like to have more differentiation enabled by a stronger shopping experience, yet leave their commerce capabilities relatively untouched.

Drupal is a great fit. It's power and flexibility allow it to be molded to virtually any systems architecture, while vastly improving the content experience of both authors and customers along the shopping journey. I believe commerce is evolving to be the next massive use case for Drupal and I'm excited to partner with different commerce platforms.

Special thanks to Tom Erickson and Kelly O'Neill for their contributions to this blog post.

Categories: Drupal

OSTraining: How to Use the Drupal 8 Video Embed module

10 November 2016 - 5:54am

In this tutorial, I will explain how to use the Drupal 8 Video Embed module so that you can easily add YouTube videos to your Drupal 8 site.

Categories: Drupal

Drop Guard: Drupalers, what do you want?

10 November 2016 - 2:50am

It's no secret that Drupal's success depends heavily on the collaborative community culture and the continuous communication process between all members of the community. It’s not for nothing that we embrace the “come for the code, stay for the community” mantra.

Today we're asking you - an agency, freelancer or a lone webmaster - to think with us a little bit about the quality of security protection your service provider delivers to ensure your website and online services are running smoothly.

Security Drupal Planet Drupal Process Drupal Community
Categories: Drupal

Annertech: No Surprises - Using PatternLab to Build the Design Your Client Signed Off

10 November 2016 - 2:17am
No Surprises - Using PatternLab to Build the Design Your Client Signed Off

I bet this opening sounds familiar to you.

Clients sign off on designs. You build a website for them based on these designs. It looks quite like the designs, but not exactly like them. It's not your fault. It's not the client's fault. But wouldn't it be nice if you could build what the client signed off?

Why are the websites we build not exactly like what the client signs off and why is it nobody’s fault? Here’s three (good) reasons:

Categories: Drupal

Unimity Solutions Drupal Blog: Steps for Theme Development in Drupal 7 using ZEN Theme

9 November 2016 - 11:59pm

Here are Simple steps to get started with theming for a Drupal newbee.

Categories: Drupal

Acquia Developer Center Blog: Contribution Stories: Amin Astaneh, using data to make better teams.

9 November 2016 - 12:40pm

Drupal gets better when companies, organizations, and individuals build or fix something they need and then share it with the rest of us. Our community becomes better, stronger, and smarter when others take it upon themselves to make a positive difference contributing their knowledge, time, and energy to Drupal. Acquia is proud to play a part, alongside thousands of others, in some of the stories making tomorrow’s Drupal better than today’s. One of them is Amin Astaneh.

Tags: acquia drupal planetdevopspeopledata
Categories: Drupal

myDropWizard.com: Drupal 6 security update for Views Send

9 November 2016 - 11:08am

As you may know, Drupal 6 has reached End-of-Life (EOL) which means the Drupal Security Team is no longer doing Security Advisories or working on security patches for Drupal 6 core or contrib modules - but the Drupal 6 LTS vendors are and we're one of them!

Today, there is a Moderately Critical security release for the Views Send module to fix a Cross Site Scripting (XSS) vulnerability.

Views Send enables you to send mail to multiple user from a View.

The module doesn't sufficiently filter potential user-supplied data when it's previewing the mail which can lead to a Cross Site Scripting (XSS) vulnerability.

This vulnerability is mitigated by the fact that an attacker must have a role with the permission "mass mailing with views_send".

You can download the patch.

If you have a Drupal 6 site using the Views Send module, we recommend you update immediately! We have already deployed the patch for all of our Drupal 6 Long-Term Support clients. :-)

If you'd like all your Drupal 6 modules to receive security updates and have the fixes deployed the same day they're released, please check out our D6LTS plans.

Note: if you use the myDropWizard module (totally free!), you'll be alerted to these and any future security updates, and will be able to use drush to install them (even though they won't necessarily have a release on Drupal.org).

Categories: Drupal

valechatech: Hack Proof your drupal site

9 November 2016 - 9:25am
Hack Proof your drupal site naveenvalecha Wed, 11/09/2016 - 22:55
Categories: Drupal

Pantheon Blog: Writing Composer Scripts

9 November 2016 - 8:47am
The composer.json file schema contains a script section that allows projects to define actions that are executed under certain circumstances.
Categories: Drupal

ThinkShout: Demystifying Content Rendering in Drupal 8 Twig Files

9 November 2016 - 6:00am

Have you ever stared at your computer screen with a deer-in-headlights expression on your face thinking “I have no idea where to even start with this…”? That was me about a month ago when I was asked to help theme a Drupal 8 project for the very first time. Getting started theming in Drupal 8, still being in a fairly new iteration with a programming style differing from Drupal 7, was both an exciting and daunting task. It was exciting in the sense that I heard good things from those who’ve already started theming in D8, and daunting because there’d been a lot of changes between D7 and D8.

One of the differences between Drupal 7 and 8 is template files; PHPTemplate (.tpl.php) files were replaced with Twig (.html.twig) files. Twig is a robust and elegant template engine for PHP. Once I started working with Twig, I instantly loved it. I found it to be lightweight, fairly quick to pick up, and very readable. Not only that, but I had what felt like ultimate control to the markup, including wrapping elements and rendering exactly the ouput I needed. Often with Drupal 7, wrapping elements in a <div> requires assistance from a back-end developer.

With this newfound enthusiasm, I set out to write the best twig code ever! In order to find the output I needed, I used the Twig function dump(). This function “dumps” a variable’s information right on the screen. This proved highly useful until I realized I needed to dig deeper into the arrays and objects contained within the variable. There was only so much guess work I could do here before getting epically frustrated, seemingly wasting valuable time looking for an image file’s path.

Though there are a handful of debugging methods to choose from, I had the best luck getting what I needed by using PHPStorm to debug Twig files. That’s right, front-end friends, PHPStorm isn’t just for back-end PHP-coding devs. It can be a great tool for front-end programmers as well!

After following the steps listed in Lubomir Culen’s post about debugging Twig templates, I began to look for templates in the following path sites/default/files/php. From my understanding, opening a template folder gains access to the current template version the project is using, hence the long hash.

If a change is made to the template, an additional hash file is created and a new breakpoint will need to be set. If at any point the hash template files get overwhelming, clearing the cache (running drush cr all) will reset the PHP folder and the template files, reducing the hash files to one per template folder.

First off, I needed to acclimate myself to translating PHPStorm syntax into Twig. For example, copying a variable name in PHPStorm produces a syntax like this: $context[‘page’][‘#title’]->arguments[‘@name’]. That gets translated into the twig file like so: page[‘#title’].arguments[‘@name’]. Here’s what my PHPStorm screen looked like while working on this solution:

Some patterns and tricks I found helpful:

  • Ignoring $context and starting with the main content variable.
  • Strip array syntax, i.e. [‘page’] = page.
  • If arrays exist next to each other, separate them with periods. Ex. [‘page’][‘content’] = page.content.
  • If an array has a #, @, or other symbol associated, keep its integrity. No period is needed here. Ex. [‘page’][‘#title’] = page[‘#title’], and arguments[‘@name’] stays the same.
  • If an arrow exists, treat the method (what comes after the ->) in the same manner as arrays. Ex. [‘#title’]->arguments = [‘#title’].arguments
  • If you’re having trouble rendering the desired output, try adding .value to the end of the render code and see if that does the trick.
  • Use dump() simultaneously with PHPStorm’s suggested variable path.
  • Refer to the Twig documentation for other handy built-in features.

Up until the moment I got PHPStorm doing the heavy lifting, my team and I were relying soley on the dump() Twig function. We were halfway through the project when I discovered a value was no longer present. The disappearance was due to a template’s reliance on a value being rendered via an array placement, i.e. content.tile.3['#markup'], the ‘3’ referring to the 4th placement in the ‘tile’ array. To alleviate potential confusion, ‘tile’ happened to be the custom field group where the field_to_render existed, and the field_to_render was the 4th field in the list of fields. When a field was moved within the ‘tile’ field group, the code broke. Once I had access to the phpstorm debugger, I was able to see a better way to render this element, i.e. content.field_to_render. It suddenly dawned on me that our project needed some tidying, so I rolled up my sleeves and got to work.

These are the strategies I established during my clean-up process:

  • Create the shortest render code possible with the closest placement to the main content variable. This will be the most stable. My array placement example mentioned previously is a good example of this. The same value can be present and rendered in numerous ways.
  • If rendering a field, use this pattern: content.field_to_render. This will render the field object, inheriting any backend logic that’s been applied to that field existing in the view_mode you are theming.
  • If you prefer having just the markup or integer value, try adding a .value to the end. Examples: content[‘#node’].nid.value will provide just the node id, and content.node_title will render the title object whereas content[‘#node’].title.value will render the title as a string.
  • The first element in an array might be the most stable. For example, we often use the media module which can add complexity to a media item’s data structure. In order use a node’s image as a background for a <div>, this is the best approach we found: <div class=”banner-image” style="background-image: url()"> .

Any change can be tough to navigate, but it’s often well worth the effort. My experience theming in Drupal 8 thus far has been lovely, and fairly intuitive. I find it offers front-end developers more authority over the markup than its predecessor, and makes me excited for the future of theming in Drupal 8. If you were at all daunted by the thought of theming in Drupal 8, I hope this post helps you in your future twig debugging endeavors!

Note: Devel and Kint are a couple additional tools available for debugging Twig variables, and I mention those in case others find them useful. More information on how to set those tools up for debugging Twig files (and more!) can be found in this Drupal 8 Theming Guide and on Amber Matz’s Let’s Debug in Drupal 8! post.

If you’re new to Drupal 8 theming, I would start with the resources Amber specifies in her “Editor’s notes”, and sqndr’s D8 theming docs. Debugging twig files is an intermediate topic.

If you have any personal experience with Drupal 8 theming, or insight you’d like to share, I’d love to hear about it in the comments section!

Categories: Drupal

Unimity Solutions Drupal Blog: Why choose Drupal over AEM and Sitecore

9 November 2016 - 4:50am

Choosing CMS platform is very crucial for organizations.

Categories: Drupal

Agiledrop.com Blog: AGILEDROP: Drupal Camps in Asia

8 November 2016 - 10:06pm
After our world tour of Drupal Camps took a lift-off in Africa, it continued its journey in Asia. We concluded that Drupal activities in Africa are poorly represented and on the other hand predicted that Drupal Camps are more spread across the world’s largest continent. We also expected not to find the most of Drupal activities gathered in one country, like it was the case in South Africa. We were quite right. Before we take a look at the most important Drupal Camps in Asia, we should explain that at the beginning of this year, everything was under the shade of DrupalCon. It was organized… READ MORE
Categories: Drupal

Valuebound: How Drupal handles the page request: Bootstrap Process

8 November 2016 - 8:32pm

This is an interesting topic to get to know more about Drupal core activity. We will be looking into ‘how to use drupal echo on request?’ and ‘how many process it has gone through?’ Basically the process flow of Drupal Pipeline to interpret the steps & finally respond to the end users. Which is called as Bootstrap Process.

Having a little bit of knowledge on bootstrap could help us to develop & customized complicated area of drupal development.

Sample:
When we hit URL in browser: https://domain.com/node/234. which is a standard node page created under any of the Bundle.

Categories: Drupal

Freelock : Ask Freelock: What e-commerce platform would you recommend?

8 November 2016 - 4:41pm

Shan asks,

Hi folks- I am looking for an out of box eCommerce solution that meets the following criteria and hope to get some pointers on few solutions that's already available in the market.

Drupal 8Drupal CommerceE-CommerceDrupal Planet
Categories: Drupal

Aten Design Group: Create Comments in Drupal 8 Programmatically

8 November 2016 - 12:30pm

Creating comments programmatically in Drupal 8 is incredibly easy once you know just which fields are required and why. In Drupal 8, comments are now full-featured, fieldable entities — just like nodes or taxonomy terms. In addition to unifying the way we create content, comments, and other entities, this has made Drupal’s commenting system much more robust and flexible.

Recently, we needed to allow certain users to leave short notes about a node (almost like revision notes without the revisions). Only certain users would be able to leave these notes and the notes are added as part of a custom form. This meant that we needed to handle comment creation ourselves. After much googling, we finally figured out just how to create comments manually.

To create a new comment, you need to create a comment entity in code and then save it. There are a lot of required fields and we'll go over each one below. But first, here’s the code:

// To create a new comment entity, we'll need `use` (import) the Comment class. use Drupal\comment\Entity\Comment;   // The function name doesn't matter. Just put the the function body where you need it. function my_modules_function_or_method() {   // First, we need to create an array of field values for the comment. $values = [   // These values are for the entity that you're creating the comment for, not the comment itself. 'entity_type' => 'node', // required. 'entity_id' => 42, // required. 'field_name' => 'comment', // required.   // The user id of the comment's 'author'. Use 0 for the anonymous user. 'uid' => 0, // required.   // These values are for the comment itself. 'comment_type' => 'comment', // required. 'subject' => 'My Awesome Comment', // required. 'comment_body' => $body, // optional.   // Whether the comment is 'approved' or not. 'status' => 1, // optional. Defaults to 0. ];   // This will create an actual comment entity out of our field values. $comment = Comment::create($values);   // Last, we actually need to save the comment to the database. $comment->save(); }

The first three required fields are telling Drupal what entity the comment should be attached to.

  • entity_type: This is the entity to which you want to attach the comment. If you're creating a comment on an article or basic page, for example, this would be node.
  • entity_id: The id of the entity to which you want to attach the comment. If you're attaching to a node, this would be its nid.
  • field_name: The field on the entity to which this comment should be attached. Note: This is something new in Drupal 8. In D8, you can have multiple comment fields on an entity and those comments' fields can use different comment types. The default article content type is the only content type that comes with a comment field. If you want to enable comments on your own content type, you have to add your own comment field which receives a unique machine name. That machine name is the value you would put here.

The uid field tells Drupal which user authored the comment.

The remaining values are all specific to the comment itself.

  • comment_type: The type of comment to create. Note: This is new in Drupal 8 too. You can have different types of comments with completely different fields, just like nodes or taxonomy terms. Think of this as the comment "bundle" if you're familiar with that term. The default comment type is just comment.
  • subject: Every comment has a subject field, just like the title field on a node.
  • comment_body: This field is provided by default just like the body field on nodes. However, it can be removed like any other field.
  • status: Set this to 1 if you would like the comment to be automatically approved. Otherwise, an administrator will need to approve it.
  • field_foobar: This isn't in the example, but comment types can have custom fields just like any other content entity. If you have custom fields on your comment type, you can just use the field’s machine name and provide a default value here.
Categories: Drupal

qed42.com: New Module - AddToCalendar Drupal Integration

8 November 2016 - 10:03am
New Module - AddToCalendar Drupal Integration Body

Drupal sites with events functionality, often have to allow their users to export events in their personal calendars. On a recent Drupal 8 project we were asked to integrate 3rd party service Add to Calendar to their events and having found no formal integration of the widget with Drupal we developed and contributed this module. The widget provided by Add to calendar supports export of Dates / events to iCalender, Google Calendar, Outlook, Outlook Online and Yahoo Calendar.

  Why use Add To Calendar Service?
  • Add to Calendar Module provides a widget to export events.
  • With Add to Calendar Module, you can create event button on a page and allow guests to add this event to their calendar.
How Does Add to Calendar Module Works?

Add to Calendar Module provides third party field formatter settings for DateTime fields. Module internally uses services provided by http://addtocalendar.com to load free add to calendar button for event page on website and email. Clicking on this button, the event is exported to the corresponding website with proper information in the next tab where a user can add the event to their calendar. Besides, it provides a handful of configuration for a really flexible experience, Allowing you to use your datetime format along with Add to Calendar button.

Using Add to Calendar
  1. Download and enable Add to Calendar module (https://www.drupal.org/project/addtocalendar)

    • The module has both D8 and a backported D7 versions.

  2. Adding Add to Calendar button to any datetime field would require enabling “Show Add to Calendar” checkbox present at format configurations on Manage Display page of the desired content type.

 

  1. Following configurations are available:

Option Description Style Three basic styles are available: Basic, Blue and Glow Orange Display Text Text for the display button. Event Details Module provides you three options here. You may opt for static data, tokenized value or any field value, specific to the current entity. Privacy Use public for free access to event information while private if the event is closed to public access. Security Level To specify whether button link should use http or https Calendars to show Select Calendars to be enabled for the display.

4. Save the settings and visit content display page.

Developer Support

Devs have the option to add "Add to Calendar" button anywhere on the website by following below steps:

1. Include base library ('addtocalendar/base') for add to calendar basic functionality. Optionally, You may also one of the following style libraries for styling the display button:

  • 'addtocalendar/blue'
  • 'addtocalendar/glow_orange'
$variables['#attached']['library'][] = 'addtocalendar/base';

2. Place event data on the page as:

2016-05-04 12:00:00 2016-05-04 18:00:00 Europe/London Star Wars Day Party May the force be with you Tatooine Luke Skywalker luke@starwars.com

For further customization of this custom button visit: http://addtocalendar.com/ Event Data Options section.

3. This would create "Add to Calendar" button for your website.

 

PURUSHOTAM RAI Tue, 11/08/2016 - 23:33
Categories: Drupal

myDropWizard.com: Don't Leave Your Website Support & Maintenance to Junior Developers

8 November 2016 - 9:19am

In talking to Drupal shops and agency about how they do support, we've sometimes heard something like:

We have junior developers / paid interns handle one-off support and maintenance requests as a way to train them!

We provide white-label fixed-monthly-cost support for agencies, so I am a little biased. :-) But I used to run a small Drupal agency and I truly believe that there are a number of potential issues with this view.

From my perspective, certainly: IT IS NOT OK to leave support and maintenance to junior developers.

I'll try to give some detail to explain my viewpoint on this... Read on to learn more!

Categories: Drupal

J-P Stacey: Tutorials on the Drupal 8 APIs, collected

8 November 2016 - 8:59am

Recently I've been writing a number of blogpost tutorials about the Drupal 8 APIs. If you like, you can read all tutorials so far, collected and broken down by topic, roughly following the breakdown in the official documentation.

The tutorials have been written with a focus on achievable results, and with accompanying screenshots explaining what you should see if you work through the examples; like this one:

Read more of "Tutorials on the Drupal 8 APIs, collected"

Categories: Drupal

Drupal Association News: The future of Community Summit. Help drive us forward.

8 November 2016 - 7:58am

Come for the code, stay for the community. That’s the mantra of the Drupal community. It’s the reason many of us are here. It’s why we contribute in our spare time, spend our weekends organizing Drupal events, attend week-long DrupalCons. As a community we are continuing to grow and change, just like the project. DrupalCon programming should be changing too.

In particular, we at the Drupal Association want to make sure that the community programming at DrupalCons best serves the community it is made for. And that means that we need fresh voices, more support, and new ideas. We are asking for a new crop of community leaders and leading companies to step in and help us move community programming at DrupalCons forward.

How community programming got here:
Originally, community conversations at DrupalCon took place in sessions for the community track, running alongside all the other content at DrupalCons. The community track allowed for presentations on topics related to our community and although it was valuable to raise the topics, there were concerns that the session format made it difficult to continue the momentum after the Con. Further, the community track was not well attended.

At DrupalCon Prague in 2013, we launched the first Community Summit, a day-long event, on the Monday of DrupalCon week. Morten DK, Addison Berry, and others (thank you all - you have been great collaborators) ran the program and led a number of very useful conversations.

At the past few DrupalCons, Donna Benjamin has stepped up to lead unconference-style Community Summits open to anyone who wants to join, contribute to, or lead a local community. Through the unconference format, the Summit has been able to foster conversations about nonviolent communication, camp budgeting, public speaking, local community activities and more. Unfortunately, unconferences seem to stop once the Summit is over, and continuing conversations and action plans prove difficult with a community spread across the world.

Where is community programming headed?
As we continue to grow as a project and community, we recognize that we need to make sure we have the right format and space for our community to continue to grow and learn from each other.
Community programming needs some new faces to help move us forward into a world of Drupal 8, new camps, project-wide discussions, etc. We are a community full of incredible leaders and we are putting out a call for some of you to stand up and help us design the future for our community.

Community programming also needs a fiscal champion - a sponsor who fully recognizes the importance of investing in our community. Our community leaders are volunteers and e want to minimise barriers for participation. To date, the Community Summit has been free to attend. We’d like to keep it that way. But we’d like to provide attendees with lunch, and workshop tools like post-it notes, markers and flipcharts. Because we offer the Summit at no cost, we have needed to limit the space available which has meant it has booked up early, and many who would have liked to attend, have missed out.

We need you to contribute to community programming
We need you. And we are asking - can you contribute? We would love a team of community organizers to work with the Drupal Association on community programming at DrupalCon Baltimore and beyond. We need a sponsor or two to financially support the Community Summit and allow us to continue to grow it.

We are close to finalizing our space at the Baltimore Convention Center and are also nearing our online registration launch. We need to determine what the Community Summit will be so we can allocate the appropriate space and include tickets on our website. If you can help, take action now by contacting us at the Drupal Association before November 21, 2016. There are a few ways to get involved:

Are we supporting new initiatives like Drupal Diversity in the best way that we can? Are we providing our Camp Organizers with the opportunity to convene and share tips and tricks to running amazing camps around the globe? What other programming can we be providing?  Comment below to let us know what you’d like to see from community programming at DrupalCons.

Thank you for your endless support of this amazing community.

Categories: Drupal

Pages