Drupal Planet

MidCamp - Midwest Drupal Camp: “Who in the world am I? Ah, that's the great puzzle.”

2 hours 57 minutes ago
“Who in the world am I? Ah, that's the great puzzle.” Help us out!

What do you want to see at MidCamp 2021?

Share your thoughts!

Last week, 12 folks (including one brand new face) joined our first MidCamp 2021 planning meeting. The intent of our meeting was to begin discussions for a format for 2021, but almost like clockwork, our discussion quickly came back to the classic existential question: “What are we doing here?”

You might be thinking: “Uh, what? Why is a reliably delivered event now in its seventh year and with a sizable incumbent organizing team questioning their existence?” 

Well, we’d pose to you: “Why not?”

I’ve played various roles on the MidCamp team since our inception at Drupal Camp Fox Valley 2013 and from the beginning our team has been dissatisfied with the status quo. From early efforts—like blind session selection and walking lanes, to early iterations of the Drupal Recording Initiative, to live captions as a service—the MidCamp team is always trying to be one step ahead… “trailblazing” if you will, which was my old Boy Scout troop’s motto.

So after we, hand-in-hand with NERD Summit, set the early standard for virtual Drupal events in March of 2020, of course our team wouldn’t be satisfied with “just another Zoom conference.”

There are lots of interesting ideas floating around in this space now: all new sessions, all BoFs, un-conferences, substituting monthly meetups for a yearly event, virtual sightseeing. This all leads back to: Why should MidCamp exist in 2021? What do we add to the conversation?

Here’s what we know:

  • We will not be hosting a physical event in March of 2021.
  • We are known for the care we take in crafting Drupal events for humans.
  • We are not satisfied with the status quo and seek to continue being pioneers in the events space.
  • Contribution beyond the Drupal space is essential for Drupal’s vitality, now more than ever.
  • While we welcome all, MidCamp’s goal is to serve Chicago-area Drupalists first.

Here’s what we don’t know:

  • Does the world need another virtual conference?
  • What does being a “regional camp” mean when events are globally available?
  • Is it better to have more speaking opportunities or more focused content?
  • How can we (or can we at all) recreate the human-centric experience that we all look forward to each year without being together IRL. 

If you’ve got this far, we’d love for you to share your answers and help shape MidCamp 2021.

Many thanks,

Avi Schwab
MidCamp 2021-2022 Lead

Specbee: Why the AngularJS and Drupal Combination will make you rethink your web strategy

16 hours 33 minutes ago
Why the AngularJS and Drupal Combination will make you rethink your web strategy Shefali Shetty 22 Sep, 2020 Top 10 best practices for designing a perfect UX for your mobile app

A seasoned web developer would call this a match made in heaven. Drupal and AngularJS together can create rich and dynamic web experiences that might want you to reconsider your web development strategy altogether.

We have already spoken about how Drupal has proven to be one of the best CMS frameworks out there.But what is AngularJS really and how does the combination of Drupal Angular Js work wonders for your website? Read on to also understand headless architecture better with a case study.

Why go the Headless way?

Each man is capable of doing one thing well. If he attempts several, he will fail to achieve distinction in any” – Plato.

This quote is so relevant today when we talk about CMSs and Headless architectures. Content management systems like Drupal are fantastic at managing content and data. However, with the increasing number of channels, API access points, front-end interactions and many more modern user experience demands that it is required to support, traditional CMS structures often seem inadequate. For more ambitious digital experiences, traditional architectures are now often being replaced with headless architectures. Headless or decoupled websites leverage a JavaScript framework for front-end interactions while maintaining a CMS like Drupal to manage the content. 

CASE STUDY: In one of our recent projects for our client, a leading casual dining restaurant chain, we had implemented Angular to enable API-based communication built on top of Drupal 8. The application required to interact with the web, mobile app, POS front end and other restaurant and customer management modules. Combining Drupal 8 with Angular worked out great because not only did it enable us to support their multiple channels and access points, we also saw a huge improvement in the performance of the application. Read more about the case study here.

Headless Drupal or Decoupled Drupal

With headless Drupal, the browser does not directly connect to Drupal. Instead of seeing Drupal’s presentation layer/ theme, the user will see pages that have been created by front-end frameworks such as AngularJS. Data is provided in JSON format to the front-end framework. With JSON:API module now in core and moving Drupal 8’s API-First initiative forward, things are even easier now. The idea of implementing a headless Drupal with AngularJS is to use Drupal’s flexible and powerful back-end capabilities to the fullest while letting a more interactive front-end framework do the talking to the browser. It is believed that client-side front-end frameworks like AngularJS are the future of the web, and if you are looking to build a rich and dynamic website with little to no latency, Drupal Angular JS is the answer.

The Super-heroic AngularJS

To put it simply, AngularJS is a JavaScript framework backed up by our very own glorious Google that can let you do really cool things on your user’s browser without having to fetch data from your server. HTML lets you create static pages and is not designed for dynamic views. JavaScript was created to make those static pages more interactive. Here’s some more good-to-know info about AngularJS -

Why The AngularJS And Drupal Combination Will Make You Rethink Your Web Strategy

•    AngularJS is an extremely lightweight and concise framework that is profoundly extensible and lets you do some seriously fascinating things with your website.
•    Web developers and designers love HTML for its simplicity, clarity and intuitivism in its code structure. AngularJS extends HTML to define user interfaces, hence letting you build interactive web applications that are highly functional and hard to break.
•    You can create reusable components with AngularJS code.
•    Its client-side nature keeps those cyber-attacks at bay as any injected data cannot go close to your server.
•    AngularJS implements the MVC (Model-View-Controller) framework which allows for faster development process, multiple views, asynchronous technique, SEO friendly development and many more valuable features.
•    Unit testing is a breeze with AngularJS as it comes setup with it making it fast and easy for developers to test their code.
•    With a mind-blowing functionality like two-way data binding, user actions can immediately trigger application objects and vice-versa, thereby proving to be an extremely interactive framework.

Drupal Meets AngularJS

When an impressive front-end framework meets a super-powerful backend content management framework, there ought to be fireworks! Drupal is a flexible and scalable enterprise-class CMS which can be used to develop powerful web applications that can be designed for small to large scale businesses. Being an open-source CMS, it is highly customizable and can be tailored to fit any business requirements. You can only imagine the extensibility and customizability the combination of the two open- source frameworks, Drupal and AngularJS, can provide. Two is better than one, they say. When put together, let’s look at the goodness Drupal AngularJS can provide.

Power Packed Performance

Drupal on its own can perform effectively even when dumped with heaps of functionality. However, when you offload some of the business logic to the client-side AngularJS, you are remarkably unburdening your Drupal backend. Using AngularJS for theming or presentation and Drupal as the backend data source can substantially boost the performance of your Drupal website. The powerful combination of headless Drupal with Angular Js will allow you to move display logic to the client-side and streamline your backend, thus resulting in a super speedy site.

Reduced Coding for developers

Creating a basic working Drupal website does not take a lot of coding or development work. AngularJS can make these basic Drupal websites more interactive, rich and dynamic without a lot of complex coding. AngularJS uses directives, HTML to define user interfaces, plain objects for data models, etc. which sums up to writing much lesser code. Since it uses HTML to define user interface codes, it makes it takes lesser efforts by the developers to build interactive pages when compared to writing complete Javascript codes.

Isolation of logic

AngularJS implements the MVC framework which lets you separate business, controller and model logic in your web application. Isolating application logic from user interface will result in a cleaner, clearer and non-redundant code structure. Should your most crucial developer leave you mid-way, with this architecture, it won’t be hard for a new one to catch up. This also helps remove a lot of backend logic from Drupal, thereby making it more light-weight and efficient.

Security – Raise the bar

With Drupal you can be assured of your website’s security if you have followed the security protocols diligently. In the huge Drupal community, it is hard to have a security flaw go un-noticed and un-patched thereafter. Headless Drupal with AngularJS adds that extra layer of security to Drupal websites. Since the browser communicates with AngularJS, there’s no direct server-side interaction. This makes it difficult for hackers to inject malicious code into databases.

Drupal provides with some amazing set of APIs and modules to setup and modularize a CMS but it can be tricky to build a highly interactive frontend on Drupal. Using AngularJS as the frontend framework creates a powerful Drupal Angular JS ecosystem that lets you build rich and dynamic web application and allows Drupal to work more efficiently at the backend. The result is a future-proof and compelling Drupal website that looks and feels great. Specbee is a Drupal development company where you can find the technological expertise you have been looking for.

Drupal Planet Drupal Development Drupal Shefali ShettyApr 05, 2017 Subscribe For Our Newsletter And Stay Updated Subscribe

Leave us a Comment

  Shefali ShettyApr 05, 2017 Recent Posts Image Why the AngularJS and Drupal Combination will make you rethink your web strategy Image How to toggle between Dark and Light Mode in Drupal 8 (or 9) based on user preference Image Testing Your Drupal Website just got easier with Behat (A comprehensive tutorial) Looking to build a decoupled Drupal website ? Talk to our experts Featured Success Stories

Know more about our technology driven approach to recreate the content management workflow for [24]7.ai

link

Find out how we transformed the digital image of world’s largest healthcare provider, an attribute that defined their global presence in the medical world.

link

Discover how a Drupal powered internal portal encouraged the sellers at Flipkart to obtain the latest insights with respect to a particular domain.

link

Dale McGladdery: Ansible Starter Setup

1 day 9 hours ago

Ansible is an open source IT automation tool. I tend to describe it as a task-runner with a host database (which Ansible calls the inventory). A big selling point is no agent software is needed on managed remote hosts. Details at the Ansible website: https://www.ansible.com/use-cases

tl;dr: If you're just beginning with Ansible this might help: https://github.com/dale42/ansible-starter

I've been experimenting with Ansible for managing a handful of Drupal 7 and WordPress sites I look after. Ansible might be overkill, but this is also a learning project. So far I've been happy with results.

My Ansible learning journey began with small amounts of confusion and frustration. There are lots of different bits to learn. Ansible's file organization is flexible, the examples are data center oriented, and there are multiple syntax styles. This makes many of the examples confusing until the context and details becomes familiar. And I was getting frustrated with file path issues.

As a resource for other new Ansible learners I've created the setup I wish I'd started with. It's at https://github.com/dale42/ansible-starter

Tagged:

OpenSense Labs: Humour in Web Design

1 day 15 hours ago
Humour in Web Design Gurpreet Kaur Mon, 09/21/2020 - 18:24

There are two kinds of instances that we never forget in our lives; one is when we hysterically cry, and the other is when we hysterically laugh. The other moments in our lives are bound to lose their place in our memories, but not these. Have you ever forgotten a time when you laughed like crazy or cried like a baby? You know I am right. 

These moments are not necessarily associated with your personal lives, these can be related to the professional and commercial experiences you witness at any point. Now, I would not be talking about the upsetting consumer encounters you might have had, since I do not want to dampen your day. Instead, I will be talking about the kind of experiences that make you go all smiles.

We smile because we are happy or smile because someone has cracked a funny joke. Jokes do not have to be limited to social gatherings and Whatsapp messages; they can transcend to the world of web design. Yes, you read it right. Today, jokes, or shall I say humour has become an integral part of web design. Humour has the potential of taking an ordinary website and making it extraordinary. 

If you don’t believe me, continue reading, and by the time you will finish, I am sure your opinion would have changed.

The Importance of Humour 

Humour is an element of our lives that makes it brighter and livelier. People look forward to reading jokes, making jokes and laughing at their hilarity. You know you like those PJs as well, they might not make any sense, but they can be funny. Stepping a little up from the PJs, and moving on to web design. Humour has become extremely important in the world of web designers. It can make or break their designs, it is that powerful. Let us understand why.

If someone is funny and quirky, you will instantly like him or may even be drawn to his or her funniness. Am I right? The same is true for web designs. A user experience that is instilled with enlightening as well as humorous elements is going to be a hit. Humour has the potential of contributing to sales by highlighting a product or service’s attractiveness and making you drawn to them. It does so by giving them a genuine personality. Don Norman believes the same and has vocalised his beliefs in his book, Emotional Design - Why We Love (or Hate) Everyday Things.

After a customer is lured in, you have to keep in mind his needs in order to gain his loyalty. These needs start with the functionality of a product, then move onto its reliability, after becoming satiated with the usability of the same, these needs are finally placated with the pleasure factor. If a product is pleasurable to the user, only then can it be deemed as a success. And you must know that pleasure and humour are the best of friends.

Aaron Walter's pyramid of emotional design | Source: Treehouse

Humour is bound to create positive emotional stimuli in all of us. When a user experiences such a response from a web design, there is a high likelihood that he will develop a sense of trust in the same. And that is the reason why humour is important in web designs and should be implemented, but with caution. Read more about the link between decision science and web design to understand how to make design decisions. 

The Subjectivity of Humour 

Humour is a kind of quality that is possessed by everyone, yet everyone has a different notion of it. What may be funny to me, can be offensive for you and nobody can say that our notions about it are wrong. We just have a different perspective.

So, the web designers have to keep this in mind, you have to understand your audience before committing to any humorous elements you want in your designs. 

A web developer has to first comprehend the subjectivity of humour. Yes, every joke is not going to be funny for everyone, but it can be funny for the majority of the people and that should be the ultimate aim. Your jokes need to be understood by most people visiting your site, even if you are using innuendos, they should not be indecipherable. 

The confused expression is not the reaction that the web developer aims for.

Zeroing in on your target audience will help a great deal in this feat. To help you catch my drift, I will tell you something that you must already know. And that is the fact that the eastern and western cultures are vastly different. So, the kind of jokes these two people find funny are also different. You can joke about celibacy in the west and people would laugh, but if you joke about celibacy in the east, where the Buddhist Monks preach it, you will not get the same reaction.

So, identifying your target audience is crucial, as it would decide whether your humour would hold a punch or not. The subjectivity, the cultural intonation and the contextual meaning of a joke are to be mastered before using it into your designs. 

Source: 9GAG

Here the second phrase, when used in different contexts has very different meanings, and this kind of contextual differences cannot happen in your web design.

The Categories of Humour 

Humour is something that is funny, something that makes us smile, laugh and roll on the floor laughing or ROFL, if you please. I like to believe that I have a great sense of humour, I laugh at things that are not even worth laughing at and a person with that kind of humour must know everything about it, right? But that isn’t the case with me, I did not know that there were seven categories of humour. Did you? For me funniness, satire and irony all fall into the same category, being one and only one. 

So, getting to know the seven varying diversifications of humour in web designs was quite enlightening for me. I hope it is the same way for you.

Comparing with comedy 

Humour by comparison is the most commonly used way of making boring elements on a website become interesting and refreshing. Going through a product’s specifications becomes a chore, if you do not find something funny in the never ending description. Making comparisons that are not only funny, but also serve the purpose of highlighting what the web designer wants is a tactic that could never go wrong.

Personifying with cartoons 

Do you remember the early 2000s? Did you use Microsoft Office then? If you did, you must remember Clippit or Clippy. It was a cartoon paper clip that served as an office assistant. I thought it was cute, funny and somewhat useful; however my belief was not very popular. The point I am trying to make here is that the addition of an animated personification can add character to your web content, giving the customer a break from the monotony of the content. A mascot is a great way to do just that.

Source: Wikipedia Exaggerating with hilarity 

With exaggeration, we take a normal incident, magnify it in our minds, and relay the same with a lot of more severeness than it actually had. It is like saying that you were attacked by a mammoth sized dog, when in actuality a pug barked at you. If you know something is being exaggerated, then it becomes quite hilarious. 

Pun with fun 

Pun is something we are all familiar with, and enjoy a great deal. So, why not use it to make your website all the more interesting. The thing about the usage of pun is that it is quite tricky. It can very easily go into the territory of offensive, if it is not used properly. So, tread lightly when using it in your web design.

Silliness with funniness

Have you ever watched the American TV show Friends? If you have, what do you think of Phoebe? Do you find her funny? I personally do, she is the kind of funny that is silly, yet hilarious. You would never be offended by her character. So, taking inspiration from Phoebe’s hilarity and silliness and implementing it into your website could be a genius stroke. 

Surprise with laughs

Getting pranked is the best kind of surprise, at least to me it is. Being ambushed by a horrifying ghost in a funny video is bound to make you laugh until you cry with your heart racing at 100 km an hour. You must have experienced it sometime. Now, you tell me would an unexpected element of humour not be appreciated in a webpage that could otherwise be boring?

Jesting over the Easter Egg

As finding the easter egg amidst bunnies is no easy task, the same way the humour denoting with the same name is also not easy to find. This one is hidden and that is why it is a gem, when you finally get it. Web developers have been increasingly making use of easter eggs as an element of humour in their web designs and the users have been appreciating the hunt. Have you ever searched the meaning of the word askew on Google? Before you get on to the meaning, you would find something that would give you a clue as to the literal meaning of the word. Your beloved Google would become skewed itself. Is this not clever?

The skewed screen on your computer when searching the term askew.

An amalgamation of all of these with subtly can make your website’s experience a memorable one for every user to come.

The Implementation of Humour in Web Design 

The thing to remember about humour is that if you have to force it, it is bound to lose its intensity over the audience and your joke would fall flat. Under no circumstances, do we want that. Humour has to seem spontaneous and natural, only then can we enjoy its full magnitude. 

To help you do the same, I will tell you some of the insider secrets of web developers and the way they make humour work for them.

Introducing yourself with a flair

Every website is going to have an About Us page, this is one area in a website that the content creator can create any way he wants to. So, if you want the customer to remember everything about you, you have to make yourself interesting enough to be remembered and humour helps in that. You can talk about history with light heartedness, you can talk about your struggles with humour rather than seriousness, and you can present your team in a fun and refreshing way. See the following example from Lessfilms website:

This one hit the mark with the introduction of its employees. The red guitar stole the show. | Source: Less FilmsMaking boring, yet crucial information interesting 

Webpages are supposed to have a lot of information and a lot of information can become quite boring to peruse through. Since the information has to be given to the user, what can be the solution here? The answer is simple, humour. Adding humour, in all of its categories can make your website content speak through and serve its intended purpose.

A customised chatbot message. | Source: Lazy Gardener Covering up your mistakes

There are often times when your users face problems while surfing through the website. More times than not these problems are frustrating and annoying to the point that they think about going back and looking for something else entirely. Can this annoyance be overcome with humour? Let us see if it works for two of the most annoying things.

The 404 error 

When you get to know a page you were looking for does not exist anymore, you will become frustrated. Here a joke is bound to alleviate some of that. Look at the picture below, did it not make you smile just a tad bit?

Slow loading 

Apart from the page not found error, when a web page takes ages to load, that also becomes quite a nuisance for the user. There might be a genuine reason for the slow loading, but the problem would still be there, so what does the web developer do? You would use humour in a very subtle way to make the user wait a little longer and see what he had intended to.

Narrating a story 

Sometimes storytelling becomes a necessary part of the web design. It is important to make your point come across in a simple, yet comprehensive manner at the same time making it relatable to the audience. Now, when you add a dose of funniness in your story, it would accentuate your point even more.

Creating a mascot 

A mascot is any object, human or otherwise that is bound to bring you luck. And web developers need all the luck they can get, like most of us. So, creating a website with a funny mascot that keeps popping up in regular intervals to let the users know whatever they want is a great way to make your website’s experience a little more eccentric than dull.

The cute kid with that appetising burger is enough to start a craving.Baiting with humour 

You must be familiar with the term bait, it basically means to lure people in by enticing them with what you have. Have you ever read something like, “If your dog does this, here is what it means.” You might not even have a dog, but you will be inclined to know what the dog actually does. This is what bait means and it can increase the traffic on many websites.

If it were me hovering over the click button, I would certainly press it and find out what is inside.The Avoidance of Humour 

Just knowing where and when to use humour is not sufficient, you should also know when to avoid it. Humour can only work its charm when it is used appropriately, incongruous use of humour can lead to devastating effects. You can’t be cracking jokes at a funeral, right? Right!

Here are three ways to avoid humour taking a toll on your website’s traffic.

Unnecessary implementation

You have to assess the right place and time of using comical aspects in your web design. Using comedy in a serious situation can have serious repercussions, one of which is a brutally harsh feedback from a customer and we do not want that. 


Seeing something like this on a retail website when your transaction failed and money got deducted from your account is bound to make the customer livid. So, to all web designers, do not go this route.

Confirmshaming 

This one is as insulting as it is inappropriate, if you want your website to be user friendly, I would advise to stay away from confirmshaming. This is a form of humour that uses guilt to make the customer do its bidding and that is just wrong. Telling someone that they are fat and should join your 15-day detox program is not the right approach from any perspective. 

This image is a prime example of insulting and goading a customer in clicking, since nobody would want to be unhealthy.Making it a distraction 

Using humour in a way that it distracts the customer from what you and your website is all about is probably not the aim. So, when you use comedic elements in your design, try to ensure that it is clearly understood by all the audiences or at least your target audience and it aligns with your website’s purpose. You do not want to leave any room for misinterpretation. This is because if a product is misinterpreted and the consumer does not get what he thought he would, he is definitely going to regard you as a liar.

The Backlash of Humour 

After telling you the ways to avoid humour getting in the way of your success, I want to tell you a story about the negative repercussions of the wrong kind of humour.

Pepsi is a world renowned beverage company, second most successful in the world in its arena. Pepsi is also famous for creating inspiring and unique ad campaigns. They are usually a hit, but their 2019 campaign missed its mark by a long shot. The only reason was the fact that they had taken a serious situation and made light of it. 


As you can see in the video, a bottle of Pepsi was all it took to restore peace in the world. Do you also see the bizarreness in this idea? On top of this, the stark resemblance to the Black Lives Matter campaign did all the more damage to the company, the tweets are proof that. Pepsi had to retract the ad and issue a public apology. 

Therefore, it is advisable to avoid making humorous content on serious topics than making it and apologise later. Although it was a video commercial, the implication will be the same for website design as well. Nobody will tolerate humour on a subject they are sensitive about. The fine between humour and offensiveness has to be made very clear before implementing humour in your designs. Otherwise the backlash is going to be too brutal to bear. Take a look at how diverse design teams can help make better design decisions.

The Bottom Line 

Using humour to make your website’s experience more enjoyable has indeed become a trend; however, content creators and web developers have to understand that humour can just as easily turn deleterious as easily it can turn meritorious. 

Humour in web design is like a flaming ball of fire, the appropriate usage can make it as powerful as Goku’s dragon balls, and inappropriately used humour can turn your design into ashes; metaphorically speaking of course. You have to have a balance, do not go overboard and do not use it so little so that it becomes non-existent. When you attain that balance, your web design would become one to watch out for, trust me.

blog banner blog image Web Developer Web Design web development Design Humour Blog Type Articles Is it a good read ? On

Jacob Rockowitz: Where should Webforms live within Drupal’s Admin Toolbar?

1 day 15 hours ago

Currently, in Drupal’s admin toolbar, the Webform module is listed under ‘Structure’.

If you have installed the contributed Admin Toolbar module, which adds drop-down menus to Drupal’s admin toolbar, it’s relatively easy to access Webforms from any page on your website.

There are two immediate explanations as to why I chose to list ‘Webforms’ under ‘Structure.’

First, it’s much easier to add links to Drupal’s ‘Structure’ section because it provides a dedicated overview page. Drupal’s ‘Content’ section, on the other hand, displays a tabbed user interface to manage content, comments, files, and media. This tabbed interface does not easily support multiple levels of administrative pages.

Secondly, webforms are configuration entities that create webform submissions, which are content entities. This pattern aligns with how ‘Taxonomy’ and ‘Content types’ work, and they are listed in Drupal’s ‘Structure’ section. Generally, the ‘Structure’ section includes things that a site builder configures yet does not frequently update. The ‘Content’ section is where content editors continually create and update content. For a more in-depth explanation about Drupal’s admin tool, you can learn more about working with the toolbar.

For small websites with just a few webforms, like a contact or registration form, it makes sense to list ‘Webforms’ under ‘Structure’ because a site builder would configure these types of webforms once and not frequently update them. As organizations have started leveraging the Webform module to build applications and event registration systems, having ‘Webforms’ nested under ‘Structure’ makes less sense. For example, content editors that are only allowed to manage content and webforms would have the ‘Structure’ section visible with only the ‘Webforms’ sub-menu item.

The...Read More

Tag1 Consulting: Git basics keep you on track

1 day 16 hours ago

In his Drupal4Gov webinar Using tools and Git workflow best practices to simplify your local development, Greg Lund-Chaix, Senior Infrastructure Engineer at Tag1, talks about some of the ways that teams struggle when they become successful and need to learn to scale. He recommends using some basic tools to make your workflow easier. The right tools in your environment can prevent big problems down the line with merge conflicts, code committed to the wrong branch, or other mistakes.

Read more [email protected]… Mon, 09/21/2020 - 05:07

Palantir: Thoughts and Reflections on Drupal Association Governance

2 days 16 hours ago

How organizational cruft creates confusion for the contributor community and what might be done to address it.

I am no longer a Drupal Association board member nor was I involved in or privy to the discussions around the changes that the Drupal Association Board made to voting eligibility made this spring.  I’ve been reflecting on what I’ve heard from all sides and find that I may have some context that might prove helpful in understanding how we got here and some ideas on moving forward. Ultimately, the vestigial linguistic mapping that we used to ease the transition from Drupal VZW to DrupalCon, Inc. may instead be creating tension and misaligned expectations. The more the DA can clarify and create aligned expectations between itself and its contributors the stronger the Drupal’s future can be.

Drupal VZW - The Original Drupal Association

The Drupal Association has actually been two separate legal entities during its short lifespan. The current US-based 501(c)3 organization, DrupalCon, Inc. (DCI) that does business as (DBA) the Drupal Association is the successor organization to Drupal VZW, a Belgian organization originally founded in 2006. 

Drupal VZW was structured as an “association with non-profit purpose” (Vereniging zonder winstoogmerk in Dutch, abbreviated VZW or in French, Association sans but lucratif, or ABSL). A VZW has a defined structure which may be unfamiliar to non-Europeans: an association has a General Assembly (GA) of permanent “members” who nominate new people to become members of the GA at their discretion and then select the board of directors from among that GA membership; the membership rights and obligations are also quite defined and standardized. The original Drupal Association began as a GA of members selected by Dries with other members added annually by nomination of existing members based on their contributions to Drupal. 

While establishing the DA as a VZW initially was the most expedient option, by 2009 when I joined the GA and the board, the structure was under strain. At its peak, Drupal VZW was an international organization with a General Assembly of about four dozen and a board of ~8 people, most of whom did the work of unpaid staff. 

There were many reasons why we decided to deprecate the Belgian organization in 2010 and transfer the primary governance and assets to a US-based 501(c)3. The top three from my perspective were fiscal and tax considerations from the increasingly successful US-based educational conferences (North American DrupalCon), governance challenges with the GA/board structure (quorum was incredibly difficult to obtain to even consider structural changes) and difficulties operating the organization internationally especially during a period of Belgian political instability. Things may have been different had it been structured as an internationale vereniging zonder winstoogmerk (IVZW) from the start, but that is neither here nor there at this point.

The Transition to DrupalCon, Inc.

This context of VZW is important to understand how the bylaws for DrupalCon Inc., the US-based 501(c)3 were drafted. Largely, they are standard non-profit bylaws, but there were some key questions that we considered that informed the ways in which they were different (at least initially):

  1. What might the role be for former General Assembly permanent members?

    In VZW, the GA served as the accountability check for the board, which in turn functioned as staff. For example, the VZW board brought the budget to the General Assembly for review and approval once per year in the annual meeting. However, in the US, boards typically have a mix of those involved with the organization as well as outside perspectives that serve as the directors who are legally accountable for the actions of organizations.  

    As a transition, we created opportunities for interested former GA members to retain involvement and oversight. Initially, the bylaws created an Advisory Board committee for former GA members to serve on, but within the first few years, it was defunct through neglect. The board itself was advisory only and didn’t need another advisory board to advise it. In addition, GA members were invited to serve on the permanent committees of the board such as the Nominating Committee. Over time, that too has fallen off. Now the board committees are entirely composed of board members, which is typical of US-based non-profits.

    Many former GA members have moved on from the project; some remain involved in leadership roles: George DeMet is the chair of the Community Working Group. Neill Drumm is a Senior Technologist at the Drupal Association, and  Angie Byron is a Drupal Product Manager. Others remain contributors at various levels. None, aside from Dries, is currently serving on the Board.
  2. As we professionalized the board (e.g., became a strategic board that supported staff rather than a board of hands-on doers or managers or staff), how might we ensure a continued voice for hands-on contributors in the community?

    The strength of the Drupal community has always been in and derived from its contributor base. There was a lot of anxiety and care in our bylaw drafting process given to how we could preserve that connection and culture on the board even as we knew we would need to adapt the composition of the board to suit the needs of a strategic board. This is where the concept of the At-Large Director came in.

    The idea was that having two At-Large Directors would guarantee that at a minimum there would always be at least two representatives of the contributor community on the board to give voice, connection and insight to Drupal’s core strength. That, combined with Dries’s permanent seat as founder, created the three-person backbone of the organization that offsets the three rotating classes of self-selected Director slates, more typical of professional not-for-profit boards.

    The shorter term length was to keep this voice fresh and increase the accountability to the contributor community through frequent opportunity for the community to weigh in. After a few years it became clear that the one-year term was too short. It truly does take a year to get your bearings on any board. To enable an At-Large Director to make a meaningful contribution to the board, a two-year term was necessary and the director openings were staggered to keep elections annual.
  3. How to map the European structures and concepts to a US-based 501(c)3?

    Despite all the hours spent redesigning the organization, its structure, and its bylaws, there was never any consideration given to changing the name “The Drupal Association.” The US-based entity DrupalCon, Inc. (DCI) that had been created for DrupalCon DC as a Co-op was converted into the 501(c)3 and all of the assets from Drupal VZW were transferred to it. “The Drupal Association” was overlaid as a DBA (doing business as) due to the equity in the name and to minimize confusion. 

    For the US organization, the General Assembly (GA)’s oversight responsibilities (budget oversight, statutes, legal status, adding/removing members, etc.) moved to the Board of Directors with operational responsibilities transitioned to staff. We recognized that the elimination of the GA and the shift to a strategic board with a professional staff represented a necessary maturation of the organization and also had the potential to impact our culture unless deliberately preserved. Looking for opportunities for broader and more inclusive participation and to ensure that the voices of contributors remained strong, we created the At-Large Directors “elected by the community and ratified by the rest of the Board.”
The Challenge and Impact of Not Defining “Community”

The bylaws are silent on the definition of “community” even though it bestows a pretty important right to it. That lack of clarity has been the root cause of frustrations for both the community and the DA staff over the years and, it seems to me, underlies these current concerns. Without a clear alignment, it has been difficult to establish mutual expectations, to know what to expect and what might be expected in return.

This ambiguity becomes especially confusing in an organization that refers to itself an “Association.” The name itself implies there would be (or should be) members. In an association, the most common right bestowed upon a member of the association is voting eligibility.

Because “community” is not defined it falls to the Board to define. For expediency prior to those first At-Large elections, the DA used logging into Drupal.org in the year prior to the opening of the election to define the “community” as it was easy to quantify and provided some safeguards against fraud. While I recall discussing it as a board, the discussion was about technical feasibility rather than strategic value or engagement. I recall it as a case of measuring what was easy/feasible. We knew it was ridiculously overbroad, but it had worked well enough and better to be more inclusive than less. I don’t recall discussing or validating a definition of “community” with respect to election eligibility again during my tenure, which ended in December 2017.

The problem with this definition is that it sets the bar too low. It is not unreasonable that an organization ask that those who vote in its election be restricted to those who engage with and contribute to the organization. Failure to revisit this definition earlier has ossified an expedient definition into an expectant right. To change a privilege that had been in place that long (albeit one that was very underused) needed more communication with those impacted than was provided.

I fully support the Board in revisiting this neglected portion of its governance process. However, restricting voting eligibility to those with purchased memberships (while again expedient/easy) seems a flawed approach as it both perpetuates the “association” confusion and is overly restrictive. The DA bylaws explicitly state: “DrupalCon, Inc. (the "Corporation") is a Washington, D.C., nonprofit, public benefit corporation, and it has no members.” The fact that the DA offers individual “memberships” and is now extending voting rights only to those with membership is confusing. To be clear, these individual recurring donations are an essential form of support for the organization (as with any non-profit), but they do not constitute memberships of the non-profit corporation in a traditional association sense. Further, financial donations are not the only support upon which the DA relies. To bestow voting rights in exchange for primarily financial considerations (absent individual appeals) feels restrictive and like an alarming usurpation especially for an open source community.

What now?

Over the last ten years, the DA has gradually evolved and matured. The unique characteristics designed to ease the transition from VZW to DCI have increasingly been deprecated or brought into alignment with standard practice for a US-based 501(c)3. The changes have been gradual; to those actively involved in the DA, they might feel like a steady natural progression or for those who are newer to the organization, might feel completely non-controversial. It’s important to keep in mind that the 2019-2020 Drupal Association Board marked the first time when no former member of the Drupal VZW General Assembly (aside from Dries) served on the DA (DCI) Board. 

It seems to me that it is time to further evolve and here are my unsolicited recommendations:

  1. Clarify what the DA is: drop the legacy language inherited from our VZW days that is confusing and distracting. 
    • The organization is not an “Association”. It is a Foundation. Consider renaming it.
    • There are no “members”. There never have been. There are and always have been “contributors”. Discontinue calling financial supporters “members”. Orient services and benefits provided for contributors, both individual and organizational, comprehensively recognizing all forms of contribution.
    • Update the wording around the At-Large Director: “elected by the Contributors to the DA and ratified by the Board of Directors.”
  2. Clarify what the DA does: it is the clearinghouse for resources that support Drupal and its contributors. While the DA (and Drupal project itself) may provide benefit to those who are not contributors, the sustainability of the organization depends on optimizing benefit for those who are contributors.

    Adopting this lens provides the opportunity to clarify the ambiguous “community” in the bylaws with a much more objective definition of “contributors” particularly following implementation of the forthcoming recommendations from the Contribution Committee that recognizes all types of contribution (individual and organizational). 
  3. Consider expanding the number of At-Large Directors. As I left the Board, I advocated that the number of At-Large board positions be increased to 4, two elected each year. The switch to two-year terms for each At-Large Director was important. However, an unintended consequence of that change has been that those elected have been less globally representative than the representatives with two people elected at once. In fact, to date, all have been North American, with the exception of the remarkable Shyamala Rajaram from India in 2016 (the year of DrupalCon Asia, which saw increased eligibility and turnout).

    At-Large Directors bring tremendous value and perspective to the board. Ranked voting from a single pool for two positions gives candidates from smaller emergent contributor communities greater statistical odds of success. I encourage the board to consider expanding the number of At-Large Directors for that reason.

My hope is that by addressing some of these legacy semantic issues, the Drupal Association will be able to provide greater clarity, move forward into its next decade and build the kind of strong relationships that allow us all to focus on our shared goals.
 

Community Drupal Open Source

Promet Source: Advantages of Component-Based Web Design Systems

3 days 22 hours ago
In the evolving world of web design and development, component-based design systems represent a revolutionary leap -- a previously missing link that replaces an environment of siloed functions and time-consuming complexities with high velocity capabilities that fuel flexibility, consistency, and collaboration.

Drupal.org blog: What’s new on Drupal.org - August 2020

4 days 12 hours ago

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. You can also review the Drupal project roadmap.

Drupal.org Updates GitLab Merge Request beta

Back in July we kicked off the GitLab merge request beta, and over the course of August more and more project maintainers opted-in. The merge request workflow is available on more than 150 projects, and in several core issues. This is a *dramatic* improvement in the contribution workflow, especially for newer contributors or contributors making 'drive-by' contribution - and makes the lives of our existing long-term contributors much easier.

We're getting ever closer to enabling this workflow on every project across Drupal.org - but we still need your help! You can try out the contribution workflow on any of the projects that have opted in, opt-in your own projects, or check out the workflow in the core issues trying the beta.

Check out these issues to opt-in your project or core issue.  We anticipate general availability across all projects within just a few more weeks as we gather the final feedback from our beta contributors.

Auto Updates contribution week(s)!

During the week of August 3rd, 2020, representatives from three of the most successful open source content management systems came together to collaborate on a mechanism for securing software updates. Each of these open source projects is based on PHP, with similar use-cases, users, and update delivery architecture. By teaming up across these three projects, and any others who choose to join, we hope to standardize on a secure update delivery and validation mechanism. With this mechanism in place, each project can then build on top of it for additional features for our respective communities, such as providing secure automatic updates in Drupal.

      

Drupal, Typo3, and Joomla spent the week evaluating The Update Framework (aka TUF), an initiative of the Cloud Native Computing Foundation to provide a standardized framework or managing secure updates, minimize the impact of any potential compromises, and to be flexible enough to be used across different software systems.

Over the course of the week we made significant progress by replicating the reference implementation and its test fixtures in php, hosting the work in a shared repository: https://github.com/php-tuf/php-tuf. As we left the contribution we agreed to regroup in September for an additional collaboration. (That second contribution week has now happened, so look for an update in our September blog post!)

How can you get involved?

If you're interested in contributing to the PHP-TUF effort, you can take a look at the GitHub repository for the project: https://github.com/php-tuf/php-tuf

If you're connected to the Drupal community and are interested in PHP-TUF, or the larger initiative to work towards automatic updates, you can join us in Drupal Slack in the #autoupdates channel.

Per-project issue summary templates

Contributing to Drupal can be intimidating for a newcomer. One of the first barriers is just knowing 'how do I file a bug or feature request?'

Drupal core has a project issue summary template that is predefined to ask the right questions to help build a useful, actionable issue report.

And now, thanks to community contributors, each project hosted on Drupal.org can now define its own issue summary template - extending this great contributor onboarding feature to all projects in the Drupal ecosystem.

Launched the Lazy Load initiative

An increasing goal of the Drupal Association is to foster and onboard more major contributors to the Drupal project. One of the organizations we've been talking to recently is Google. Google has a vested interest in the performance of the open web, and over the course of the past several years has begun hosting a CMS leadership summit, to bring representatives from many CMS projects together.

As part of this growing collaboration, the Drupal Association has helped to coordinate is the Lazy-Load initiative, which seeks to load all images lazily in Drupal core by default. Google has generously sponsored this work, and we hope to see it included in Drupal 9.1.

Supporting DrupalCon Europe - now virtual!

DrupalCon Europe has gone virtual! Early in the year, many of us hoped that we might be able to come together in person in Barcelona this fall. Unfortunately, this was not to be. But the European community is not letting that stop them from having a great event - online!

The Drupal Association spent some time in August working with the DrupalCon Europe team to integrate their chosen virtual event platform with the events.drupal.org schedule!

Registration is open now: https://events.drupal.org/europe2020 

And you can browse the program here: https://events.drupal.org/europe2020/schedule/2020-12-08

———

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

If you would like to support our work as an individual or an organization, consider becoming a member of the Drupal Association.

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

BADCamp News: Earn Drupal contribution credit while upping your professional development at BADCamp

4 days 16 hours ago
Earn Drupal contribution credit while upping your professional development at BADCamp Fri, 09/18/2020 - 12:00 volkswagenchick Fri, 09/18/2020 - 04:38

BADCamp is understanding that there are many different ways that folks can contribute back to Drupal. Not a coder!? Not a problem! We have plenty of opportunities for people to earn contribution credits while working on their professional development. 

Drupal Planet

Dries Buytaert: How governments can help sustain Open Source

4 days 16 hours ago

Yesterday I wrote about why software funded with tax dollars should be Open Source. Based on the feedback in email and social media, lots of people seem to agree.

Today, I want to highlight how this could be a game changer for Open Source sustainability.

Using Drupal as an example, let's do some quick math. Imagine if:

  • 1,000 government agencies around the world (federal, state, or local) spend an average of $300,000 a year on their Drupal sites.
  • 5% of that investment results in Open Source contributions.

Even if these numbers are conservative, it would lead to $15 million in annual contributions to Drupal: 1,000 x $300,000 x 0.05 = $15,000,000. That could be 150 full-time contributors each year.

In other words, requiring public code in government could be Open Source's best funding mechanism.

Promet Source: What is Atomic Design?

5 days ago
Often, the most effective means of managing complexity is a laser-sharp focus on simplification -- breaking down a project into its smallest component parts and visualizing incremental  steps toward completion beginning with the smallest building blocks.   

Chapter Three: Drupal Backender Learns Gatsby: Speed up Gatsby Builds With Drupal Image Processing

6 days 9 hours ago

Gatsby Image, along with gatsby-transformer-sharp and gatsby-plugin-sharp, is a common way to handle images in a Gatsby project.  It gives us the power to process source images at build time to create a 'srcSet' for  '' or '' tags, or create versions in grayscale, duotone, cropped, rotated, etc.

When Gatsby builds from a Drupal source, it downloads the source images and processes them to create these image variations which are stored in the public directory. The ability to optimize and art-direct images at build time is great, but build performance suffers while these assets are generated. As a site grows in images, the time it takes to build grows as well. Image processing can take hours, while the rest of the build takes mere minutes.

myDropWizard.com: Drupal 6 core and CTools security update for SA-CORE-2020-007

6 days 9 hours ago

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 Drupal core and CTools to fix a Cross-Site Scripting (XSS) vulnerability. You can learn more in the security advisory:

Drupal core - Moderately critical - Cross-site scripting - SA-CORE-2020-007

Here you can download:

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

FYI, there were other Drupal core security advisories made today, but those don't affect Drupal 6.

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).

Nonprofit Drupal posts: September Drupal for Nonprofits Chat

6 days 10 hours ago

Our normally scheduled call to chat about all things Drupal and nonprofits will happen TOMORROW, Thursday, September 16, at 1pm ET / 10am PT. (Convert to your local time zone.)

Alberto Rojas from Manati will be giving an update about Layout Builder. We will also discuss whatever Drupal related thoughts are on your mind. If you would like to contribute to the conversation, please join us.  

All nonprofit Drupal devs and users, regardless of experience level, are always welcome on this call.

Feel free to share your thoughts and discussion points ahead of time in our collaborative Google doc: https://nten.org/drupal/notes

This free call is sponsored by NTEN.org and open to everyone.

View notes of previous months' calls.

Security advisories: Drupal core - Moderately critical - Information disclosure - SA-CORE-2020-011

6 days 11 hours ago
Project: Drupal coreDate: 2020-September-16Security risk: Moderately critical 12∕25 AC:None/A:User/CI:Some/II:None/E:Theoretical/TD:DefaultVulnerability: Information disclosureCVE IDs: CVE-2020-13670Description: 

A vulnerability exists in the File module which allows an attacker to gain access to the file metadata of a permanent private file that they do not have access to by guessing the ID of the file.

Solution: 

Install the latest version:

Versions of Drupal 8 prior to 8.8.x are end-of-life and do not receive security coverage. Sites on 8.7.x or earlier should update to 8.8.10.

Reported By: Fixed By: 

Security advisories: Drupal core - Moderately critical - Access bypass - SA-CORE-2020-008

6 days 11 hours ago
Project: Drupal coreDate: 2020-September-16Security risk: Moderately critical 12∕25 AC:Basic/A:None/CI:Some/II:None/E:Theoretical/TD:DefaultVulnerability: Access bypassCVE IDs: CVE-2020-13667Description: 

The experimental Workspaces module allows you to create multiple workspaces on your site in which draft content can be edited before being published to the live workspace.

The Workspaces module doesn't sufficiently check access permissions when switching workspaces, leading to an access bypass vulnerability. An attacker might be able to see content before the site owner intends people to see the content.

This vulnerability is mitigated by the fact that sites are only vulnerable if they have installed the experimental Workspaces module.

Solution: 

Install the latest version:

Versions of Drupal 8 prior to 8.8.x are end-of-life and do not receive security coverage. Sites on 8.7.x or earlier should update to 8.8.10.

Once a site running Workspaces is upgraded, authenticated users may continue to see unauthorized workspace content that they accessed previously until they are logged out.

If it is important for the unintended access to stop immediately, you may wish to end all active user sessions on your site (for example, by truncating the sessions table). Be aware that this will immediately log all users out and can cause side effects like lost user input.

Reported By: Fixed By: 

Security advisories: Drupal core - Moderately critical - Cross-site scripting - SA-CORE-2020-010

6 days 11 hours ago
Project: Drupal coreDate: 2020-September-16Security risk: Moderately critical 13∕25 AC:Basic/A:User/CI:Some/II:Some/E:Theoretical/TD:DefaultVulnerability: Cross-site scriptingCVE IDs: CVE-2020-13669Description: 

Drupal core's built-in CKEditor image caption functionality is vulnerable to XSS.

Solution: 

Install the latest version:

Versions of Drupal 8 prior to 8.8.x are end-of-life and do not receive security coverage. Sites on 8.7.x or earlier should update to 8.8.10.

Reported By: Fixed By: 
Checked
1 hour 2 minutes ago
Drupal.org - aggregated feeds in category Planet Drupal
Subscribe to Drupal Planet feed