Drupal Planet

1xINTERNET blog: Headless applications with Drupal in 2020

3 weeks 3 days ago
Headless applications with Drupal in 2020 breidert 31. January 2020

In this blog post I share our thoughts and assumption on headless applications with Drupal in 2020.

Last year we launched more than 20 new webprojects based on Drupal 8 and/or React. Most of the projects have one thing in common: They combine standard Drupal server-side rendering with client side React applications. This is what is sometimes referred to as progressive decoupling. Only few applications we have built in 2019 are completely headless.

Dries Buytaert: Acquia a Leader in the 2020 Gartner Magic Quadrant for Digital Experience Platforms

3 weeks 3 days ago

Today, for the first time in our company's history, Acquia was named a Leader in Gartner's new Magic Quadrant for Digital Experience Platforms (DXPs). This is an incredible milestone for us.

In 2014, I declared that companies would need more than a website or a CMS to deliver great customer experiences. Instead, they would need a DXP that could integrate lots of different marketing and customer success technologies, and operate across more digital channels (e.g. mobile, chat, voice, and more).

For five years, Acquia has diligently been building towards an "open DXP". As part of that, we expanded our product portfolio with solutions like Lift (website personalization), and acquired two marketing companies: Mautic (marketing automation + email marketing), and AgilOne (Customer Data Platform).

Being named a Leader by Gartner in the Digital Experience Platforms Magic Quadrant validates years and years of hard work, including last year's acquisitions. We also join an amazing cohort of leaders, like Salesforce and Adobe, who are among the very best software companies in the world. All of this makes me incredibly proud of the Acquia team.

This recognition comes after six years as a Leader in the Gartner Magic Quadrant for Web Content Management (WCM). We learned recently that Gartner is deprecating its Web Content Management Magic Quadrant as Gartner clients' demand has been shifting to the broader scope of DXPs. We also see growing interest in DXPs from our clients, though we believe WCM and content will continue to play a foundational and critical role.

You can read the full Gartner report on Acquia's website. Thank you to the entire Acquia team who made this incredible accomplishment possible!

Mandatory disclaimer from Gartner

Gartner, Magic Quadrant for Digital Experience Platforms, Irina Guseva, Gene Phifer, Mike Lowndes, 29 January 2020.

This graphic was published by Gartner, Inc. as part of a larger research document and should be evaluated in the context of the entire document. The Gartner document is available upon request from Acquia.

Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner's research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.

Srijan Technologies: Clear Cache Tag to Improve Caching Mechanism in Drupal

3 weeks 4 days ago

Regardless of the extra-ordinary design, captivating content, and right product illustration on a company’s website, how bad would it be if it fails to engage users most of the times. A Google report unveils that a new visitor will stay and come back only if the app or page loads content within 3 seconds. Having said that, the online brands only get 3 seconds to hook the new visitor to their site or application. 

Srijan Technologies: Clear Cache Tag Module To Improve Caching Mechanism in Drupal

3 weeks 4 days ago

Regardless of the extra-ordinary design, captivating content, and right product illustration on a company’s website, how bad would it be if it fails to engage users most of the times. A Google report unveils that a new visitor will stay and come back only if the app or page loads content within 3 seconds. Having said that, the online brands only get 3 seconds to hook the new visitor to their site or application. 

qed42.com: Drupal Global Contribution Weekend 2020

3 weeks 4 days ago
Drupal Global Contribution Weekend 2020 Body

After a successful DrupalCamp Pune 2019 last September, the Pune Drupal community did not hold any meetups. Global Contribution Weekend was scheduled in January 2020, and I thought this would be a great opportunity for the Drupal Pune community to have a meetup as well. 

Core members of the Pune community had a meeting, where we decided the event format and location. QED42 which always volunteers and encourages people to participate in the opensource events decided to host the Drupal Global Contribution Weekend.

| Drupal communities began uniting in India

Drupal Delhi community had already planned for GCW on the 25th January. Jaideep, Senior Engineer at QED42, who is one of the active members of the Drupal Community in India connected with us and shared the idea of collaborating with the Pune community. We had an initial meeting about the type of issues that should be targeted in the GCW 2020. Later it came to our knowledge that other communities are also planning to have the GCW 2020 event. We contacted other communities and proposed the idea of carrying out the GCW 2020  unitedly all over India.

The following Indian Local Drupal communities were planning to host the Global Contribution Weekend: 

  1. Pune

  2. Delhi 

  3. Bangalore

  4. Kolkata 

  5. Chennai 

  6. Kochi 

  7. Mumbai 

| Sprint Planning

We decided to focus on the Drupal 9 readiness, Olivero theme and contrib modules issue queue. Olivero, one of the Drupal core initiatives, seeks to create a new default front-end theme for Drupal with a modern look and feel. The Community started triaging the issues. Hardik Patel shared a large number of issues which he had prepared for the Global Contribution Weekend and needed to be review. Sonal Sangale triaged several frontend issues from the Drupal issue queue. Similarly, the other communities were triaging the issue queue.

| Event Day 

The code sprint in India started at 10 AM. Prasad Shirgaonkar presented a session about Drupal India Association and its vision. This was the first time we saw different local communities from India collaborating at a global event. Approximately 150+ people from different Indian Drupal communities were connected via video conferencing. 



Following Prasad’s session, VijayaChandran Mani delivered a session on the State of Drupal 9 from London. He spoke about various tools which can be used to check  Drupal 9 compatibility. Vijaya presented tools like drupal-cheker, drupalstan, etc. which make upgrading the existing Drupal 8 modules to Drupal 9 a super easy task. This fueled our determination on contributing to the forthcoming Drupal 9. VijayaChandran Mani incorporated Gabor Hojtsy slides on State of Drupal 9 in his session.

We then had a lightning session presented by Rangaswini Khandare on ‘Automatic Updates in Drupal core’. This is a recent Drupal initiative which is gaining traction and was featured in DrupalCon Amsterdam as well. Rangaswini introduced us to the goals & objectives of Automatic Updates and explained the amount of work done in Phase 1 and the progress of phase 2. She also encouraged people to join this initiative and contribute to the core.

| Code Sprint

After Rangaswini’s session, the Global Contribution Weekend participants at QED42’s Pune office geared up to begin the code sprint! Find the list of issues we worked on here - https://www.drupal.org/project/issues/search?projects=&project_issue_followers=&issue_tags_op=%3D&issue_tags=GCWIndia2020

Here are a few glimpses of Drupalers contributing toward making Drupal better.

QED42 also sponsored a scrumptious lunch for the contributors in Pune.

| Pune Drupal Community Contribution Highlight

Total 38 issues were picked for the contribution.

| Statistics for GCW 2020 all over India

Total 67 issues were picked for the contribution.

After 5+ hours of code sprint, we concluded the Drupal Global contribution weekend with a group photo and contentment in our hearts.

Pratik Kamble Fri, 01/31/2020 - 17:21

Srijan Technologies: Drupal Global Contribution Weekend 2020 at Delhi NCR

3 weeks 4 days ago

Kickstarting the year with a contribution weekend globally from 24 January - 26 January, Drupal Association was able to gather participants from over 30 cities in 17 countries.  Among the 7 locations the contribution sprint happened in India, Srijan Technologies led the Delhi NCR sprint from its Gurgaon office on 25 January 2020.

OpenSense Labs: Top 10 User Access Modules for Drupal 8

3 weeks 4 days ago
Top 10 User Access Modules for Drupal 8 Jayati Fri, 01/31/2020 - 15:00

Access and security are collateral concerns born out of the world of the internet. When a website is under development, a major chunk of time and effort goes into making it secure from all sorts of malicious activities. Taking the threats and data breaching affairs into account, every platform has a protocol to follow. For the security and usability purpose, every website has certain permissions granted to view, edit, or delete the content on the site. For example, open source CMS like Drupal provisions various modules that let you configure the user access. 

What is user access?

Every website has a tech team working on the development of the site while they assign certain roles in the process to each individual. Similarly, user access is the possession of a particular role on the website that allows the user with specific permissions. The user access is determined by the site owners who assign the roles to the users with a login Id and password

In this blog, we will be talking about the user access permissions in Drupal 8 and understand how it works with the available modules. 

Permissions management in Drupal 8

With a lot of different functions and features, the permissions in Drupal 8 work in a little different way. From viewing published content to changing the state of functions and features, permission control access in Drupal is assigned as a role. There are 3 default roles as follows:

  • Anonymous: Visitors who are not logged into your site.
  • Authenticated: User with an account who’s login is authenticated with a minimum set of permissions that are given to all logged-in users. 
  • Administrator: Users who can do everything on the site and change the functionalities.
Limitations of permissions management in Drupal 8

These default roles are quite limited in themselves. They do not define the access in detail and require modules to further strengthen the access control. Following are the limitations:

  • The roles you create yourself or the authenticated user role do not receive the permissions given to anonymous users.
  • There’s no granular control at various level.
  • In case of a lot of custom modules where the contributed modules introduce important functionality, the piece of code requires more hold of access levels which isn’t available.

Thus, we need user access modules that will grant broader access control and permissions.  

Top Drupal 8 user access modules

Here is a list of the most popular user access modules for Drupal 8 depending on the functionality you want for your website:

#1 Node View Permissions

Apart from allowing the combining of other user access modules, the Node View Permission module adds two types of permissions to all content type, namely, "View own content" and "View any content".

#2 Menu Admin per Menu

As the name suggests, the Menu Admin per Menu module permits and restricts access to only Administer menus and menu items to add, modify or delete menu items. It gives access to certain sections of the menu without giving access to the full admin panel.

#3 Block Content Permissions

You can gain the control access to administer block content types (custom block types), administer block content (custom block library) that lets you create, update, or delete specific types of block content with this module. However, the Block Content Permissions module doesn’t remove the block permissions from "Custom block library - Blocks" views page

#4 Protected Pages

Every website has multiple pages with different types of content and not every information can be shared with every user with a role. Thus, the Protected pages module allows the admin to protect certain web pages with a protection password. Further, you can also ser session expiry time, bypass permission and global password settings to strengthen the security feature. 

#5 Permissions by Term

Based on the taxonomy terms, you can restrict the access to specific content on the website. The permissions are applied to the user roles and work well for nodes, views, menus, etc. The Permissions by Term module also aids in linking the taxonomy terms with specific accounts. 

#6 Vocabulary Permissions Per Role

Within the taxonomy access, you can set up permits only for content editors to work with a particular taxonomy vocabulary without hampering the “administer taxonomy” permissions. The Vocabulary Permissions Per Role module gives you control over the number of users with permissions and access. 

#7 Override Node Options

You can now set permissions for each field on the node form within the Authoring information and Publishing options fieldsets. The Override Node Options module can also let your make certain fieldsets collapsible.

#8 Block Region Permissions

Control access to block management within each region of your website’s theme with the Block Region Permissions module. The module grants access to see the following:

  • Region's header, message, and blocks on block layout page
  • Region in region selector fields on block layout page
  • Region in region selector field on configure and place block pages
  • Can update or delete blocks placed in region
#9 Workflow

A contributed module, Workflow allows you to create workflow states for various node types. Further, it allows transitions between states like updating from “Draft” to “Published” and similar per role. It enables you to set up the Workflow to alter states from form, page, comment, a special block, and a special workflow tab.

#10 Content Access

As per the role and author, the content access module lets you manage the permissions for content types. You can specify custom view, edit and delete permissions for each content type or enable the content access settings. Thus, it allows customization of access for each content node. 

Conclusion

These modules are more than a boon for your Drupal website. They impart the highest of security walls for the users and helps your website remain safe from third-party users. The modules are designed to make sure that the user roles and permissions are not misused by the users and they optimize the development process for the team. 

To know more about the power of Drupal, drop us a line at [email protected]

blog banner blog image Drupal Modules Drupal 8 Module user access permission management Blog Type Articles Is it a good read ? Off

Mobomo: Mobomo’s Picks: Top 10 Drupal Websites

3 weeks 4 days ago

A chef can make a great meal with a few basic ingredients. But when offered a massive pantry full of options, the result can be a work of art.

The same principle applies when it comes to website CMS software. A basic template-style CMS can result in something that hits the spot. But Drupal’s staggering degree of flexibility and modular options has allowed the developers of some of the world’s most prominent websites to create gorgeous and highly functional sites that inspire, inform, and elevate.

Here are our top 10 picks for Drupal websites that we think have raised the bar:

  • Tesla
  • PGAL
  • University of Texas at Austin
  • Children’s Hospital of Los Angeles
  • Mint
  • National Baseball Hall of Fame
  • The Australian Government
  • Rethinking Picasso’s Guernica
  • The Emmy Awards
  • NASA

Let’s examine these in more detail:

10. Tesla

A rare day passes by without Tesla making headlines. The brand and its founder, Elon Musk, are renowned for big, audacious ideas that have potential to change the world. The beautiful photography and design make every section look like a high-end editorial page in a magazine, while the simple, intuitive navigation and call-to-action features are clean and unobtrusive. It all combines to create a website that’s aspirational yet attainable.

9. PGAL

PGAL is an international design firm focusing on interiors, architecture, planning, and engineering. Their challenge is to show and tell, so that potential clients are dazzled by the site’s visuals while still being able to find enough solid information to want to take the next step. The site, which uses imagery as the gateway to project stories, is a delightful rabbit-hole that we could spend hours exploring. Make sure to check out their Projects page, as it is an excellent example of how to show off a portfolio in a clean but comprehensive way.

8. University of Texas at Austin

University websites can often be an overstuffed nightmare to navigate, but the team behind UT Austin’s website got it right: Their menu navigation is clean, well-organized, and enticing. Add to it a home page that evokes the fresh excitement of starting the post-secondary journey, while peppering in well-organized data that invites the reader to learn more, and you have a website that gets students and their families off to the perfect start.

7. Children’s Hospital of Los Angeles

160,000 visitors go to CHLA.org every month, making it vital for the site to present clear, accurate, easily navigated information in a way that builds and maintains trust. It’s a tall order, but CHLA.org delivers. The design is clean but far from cold, while the most frequentlysearched information is put front and center instead of being hidden in the navigation bars, making it easy for frazzled parents to find out what they need to know. The sheer volume of information on the “Patients and Families” page could easily be overwhelming but is organized beautifully and intuitively.

6. Mint

Mint’s value statement: “We help you effortlessly manage your finances in one place.” They offer clean and simple financial management, using a clean and simple sentence to describe what they do. A cluttered or complicated website would completely undermine their brand. Fortunately, Mint.com is anything but cluttered or complicated. The simple and soothing colors and minimalist text are reassuring to visitors who want straightforward information, while the navigation and iconography make navigation a breeze.

5. National Baseball Hall of Fame

For any website to be successful, it has to give the end-users what they’re looking for, and the BHoF delivers. After extensive user research, the site was designed to showcase the incredible stories and artifacts in BHoF’s collection, bringing it all to life for the site’s visitors. Fortunately, it also does so in a way that’s easy to navigate, inviting visitors to spend plenty of time exploring.

4. The Australian Government

As with universities and colleges, government websites can often be an impenetrable labyrinth to navigate. Australia.gov.au does things differently, living up to their header, “Helping you find government information and services.” The site is incredibly well-organized, with virtually no clutter. And even though it has not one photo to speak of, it still manages to be attractive, through a judicious use of color and minimalistic icons.

3. Rethinking Picasso’s Guernica

The Museo Nacional Centro de Arte Reina Sofía created an ambitious project around one of Picasso’s most famous works of art, and the results were groundbreaking: The project has been recognized with a Webby as the best 2018 Cultural Institutions Website. The storytelling and imagery on this site are captivating, while the user experience is smooth and unobtrusive.

2.  The Emmy Awards

The Emmy Awards are splashy and glamorous on the outside, while requiring meticulous planning and organization behind the scenes. Their website is no different. With a plethora of content, rich color choices, and high-quality images, the site is as immersive an experience as the awards show is. But thoughtful, intuitive navigation, exciting features, and well-curated content demonstrate expertise.

1. NASA

NASA.gov is a massive resource on space, astronomy, and the universe, offering detailed information on present and past missions, gorgeous photography, educational resources, and information about the organization in general, to name but a few features. Organizing such a wealth of information in a coherent and clear way shows what is possible with Drupal.

Full disclosure: We’re the team behind NASA.gov, so it’s understandable that we might have a soft spot for this site. However, we’re far from alone in loving the finished product. Our friends at Vardot.com call it “a shining example of Drupal CMS used to present stunning information, and elevate the user’s experience,” and NASA.gov has made the top of more than one “Best Drupal Websites” list.

Want to see the possibilities that Drupal can hold for your organization’s website? Contact us today!

The post Mobomo’s Picks: Top 10 Drupal Websites appeared first on .

MD Systems blog: Global Contribution Weekend 2020 - Zurich Report

3 weeks 5 days ago
Every year, the last weekend in January is reserved for a global Drupal contribution weekend. Community members and contributing organizations from over 30 world cities volunteered to organize a local Drupal contribution weekend. Zurich was one of these cities and the full team of MD Systems was there.

Blue Drop Shop: 2019 Drupal Recording Year-end Update

3 weeks 5 days ago
2019 Drupal Recording Year-end Update kthull Wed, 01/29/2020 - 15:13

As I prepare to begin the year of recording ahead of me, I realize I haven't published an official 2019 year-end report, so here are last year's highlights:

  • 769 sessions were captured by the initiative, with an overall capture rate of 94.46% (down from 96.12% last year)
  • Of those, 93 were captured by others with either rented kits or a new equipment hub, for an overall capture rate of 79.49% (down from 83.33% last year)
  • Total session captures to date: 2,093 (and every one of them on drupal.tv)
  • Kits were shipped to 5 events (up from only 2 last year)
  • The list of trained recording volunteers is up to 26 people with varying levels of experience
  • I learned of at least two non-Drupal events that used the github docs to successfully record their content
  • I traveled to an all-time high of 15 events
  • I recorded DrupalCon Amsterdam...I'll just stop right there

I hope to publish a more in-depth update soon, specifically tracking against the roadmap as well as what's in store for 2020.

Thanks for all your support!

Drupal Association blog: The Drupal Association's look back at 2019...and plans for 2020

3 weeks 5 days ago

There’s much to reflect on from 2019 as the Drupal Association (DA) accomplished many organizational goals while also welcoming big leadership changes and supporting the evolution of Drupal as a product and project. 

We draw our strength from a global community of Drupal enthusiasts and are proud of the progress, innovation and momentum that encompassed 2019.

“We are grateful to have a wide variety of Drupal Association members and advocates — government, nonprofit, education, corporate, and individuals — who support our mission, and in turn the Drupal project,” says Heather Rocker, Executive Director of the Drupal Association. “We spent a great deal of time in 2019 focused on how we can best collaborate with current and potential stakeholders. Partnerships and collaborations create an atmosphere where Drupal is growing and better recognized, which is a win-win situation.”

Last year, the DA continued to support the global Drupal ecosystem via special events, marketing and outreach, engineering, technical and corporate partnerships, and open source advocacy.

This is an overview of these bodies of work, as well as a glimpse of the roadmap for the continuation of projects, goals, outreach and involvement. 

High-level accomplishments 

Much of our time and resources were allocated to producing multiple DrupalCons. First, in an unprecedented fashion, we announced the next four years of DrupalCon North America locations and dates.  


DrupalCon Seattle 2019. Photo by Rob Shea. 

In April, we hosted DrupalCon Seattle, which included tailored experiences for Content & Digital Marketers, Agency Leaders and Drupal End Users. High attendance reflected the interest in this approach of uniting those who use Drupal in different capacities. We awarded 10 scholarships and 12 grants — more than ever before — in order to have a cross-section of contributors in attendance, from nearly every continent. In conjunction with DrupalCon Seattle and DrupalCon Amsterdam was the International Splash Awards, recognizing the best uses of Drupal. The Splash Awards were spearheaded by a steering committee out of Europe. This Committee continues to share thought leadership and expand the reach of Splash Awards to local events and camps throughout the world.

The DA, to better support the international community, established a partnership with the European firm Kuoni Congress and together — with a powerhouse team of volunteers — hosted DrupalCon Europe in Amsterdam, with 1,500 attendees October 29-31, 2019. The DA team was onsite attending sessions, connecting with the community, and signing up new members! Following the success of the event, the partnership with Kuoni was renewed. 2020 will feature DrupalCon Europe in Barcelona, September 14-17.

Before looking to September, mark your calendars and buy tickets for DrupalCon Minneapolis, May 18-22, 2020. It’s a robust event in the making, with record-setting scholarship applications and awards; more than 750 session proposal submissions, more than 90 volunteers assisting with program development, industry summits, trainings to assist with migrations, and access to content not often found at local camps. Register before the rate increase on March 31, 2020.   

DrupalCon is one of the more visible activities the Drupal Association champions each year, but it is far from the only. Another key responsibility is to maintain the home of the community: Drupal.org — and to keep it thriving. 

We achieved a major 2019 milestone in our partnership with GitLab, migrating all of the backend git repository and code viewing tools. We know the community has been waiting on merge requests, a feature which should be coming in the first half of 2020. 

To serve our community, we have to have insight and understanding, which is why we undertook several initiatives to improve our data and visualization. At DrupalCon Seattle we shared demographic information about our community, which we use to track our success on diversity, equity and inclusion efforts. We also updated the project usage visualizations on Drupal.org to provide more insight about versions of Drupal core and contrib modules.

At the DA, we can't forget that the vast majority of users we serve are the anonymous visitors to Drupal.org who aren't yet fully engaged with our community, and might be learning about and evaluating Drupal for the first time. As such, we spent some time refreshing the tools for Drupal case studies, and created new Drupal Feature pages to tell the best stories of Drupal's successes. All this content, and the tremendous content created by the community participants in the Promote Drupal initiative, helps evaluators understand how Drupal can solve their unique business needs, and grows our community.

Throughout 2019, we worked with the Drupal core maintainers. Each month we meet to collaborate on infrastructural needs and key initiatives, and to support outreach for programs like the Minor Release Beta Testing program. As Drupal itself becomes more tightly integrated with cloud services that the Drupal Association maintains — like the updates system, the translation service, and Composer endpoints — our collaboration with the Drupal core team has been closer than ever. This culminated in the completion of the Composer Initiative, improving Composer-readiness for all users of Drupal in version 8.8 and above.

In fact, it's not just collaboration with Core, but with the whole Drupal community and beyond that drives our work. 

With the contributions of the community we were able to make small but powerful enhancements to the tools the community uses every day: from automatically generating a table of contents on each Documentation Page to allowing users to specify their pronouns, primary language, and location next to their issue comments — promoting greater empathy and understanding. That gave us something to be proud of, when the Drupal Association celebrated Pride Month with a rainbow logo, blog post and social media posts.

In collaboration with the Security Working Group and the Drupal Security Team, we continued to build out the structure of the new Drupal Steward program, an initiative we hope to see come to fruition in 2020. 

Perhaps our most significant collaboration of the year was with the European Commission. Because the EC is a major user of Drupal to serve the member states of the European Union, and a strong contributor to the Drupal project already, we were thrilled they chose to sponsor the Automatic Updates Initiative for Drupal. Phase one of that initiative was completed in December, and we're excited to see who we can collaborate with on the next phase in 2020.

Drupal has always been a community-driven project, and the work above illustrates how Drupal Association initiatives are no different. That's partly why we ended 2019 by announcing the formation of a Contribution Recognition Committee; to help us improve the ways we recognize both individual and organizational contributions to the project. 

Changes to Drupal Association Leadership

In 2019 the Board of Directors took the important step of appointing a new DA Executive Director, Heather Rocker, who began in May. The annual community election resulted in appointment of Leslie Glynn as at-large member of the board, and four additional board members were appointed: Grace Francisco, Lo Li, Owen Lansbury, and Ryan Szrama
“We’re excited to have these individuals join us in our efforts to broaden our reach into diverse communities and to grow Drupal adoption. They bring a range of experiences and expertise to the Association that will enhance our opportunities to reach new audiences, support the Drupal community, and elevate the Drupal project around the world,” said Adam Goodman, DA Board Chair.  We also thank board members completing their board service in 2019, including Jacob Redding, Mike Lamb, and Annie Miller. 

Achievements and “Firsts” 

Community outreach is a cornerstone of the DA. In 2019, the DA supported creation of the Event Organizers’ Working Group, with the mission of supporting community-led teams to grow Drupal through local events.  Local Drupal Associations around the world formed, iincluding: Colombia, Burkina Faso, India and the beginnings of one in the United Kingdom. DA staff led meetings at Drupal events to unite volunteer groups, such as the resulting Drupal Pitch Deck team.
The DA also awarded member-funded grants to facilitate events, including the inaugural Flyover Camp 2019 and DrupalCamp Goa.

Drupal Association staff members were featured speakers at multiple events, including: Rachel Lawson at DrupalCamp Goa - India, hosting the keynote panel at Drupal Mountain Camp in Switzerland, and Heart of Clojure in Belgium; Neil Drumm at DrupalSouth in Australia; and Heather Rocker at DrupalCamp Atlanta. Staff also engaged with attendees at GovCon and OSCON.

The Drupal Association expanded its network of Supporting Partners, adding 15 new organizations and renewing 110 annual supporting organizations. As Supporting Partners, organizations that benefit from Drupal have the opportunity to financially support the ongoing maintenance and acceleration of the project. Not only do they fund the work mentioned above, they receive exclusive benefits that increase their visibility and support their bottom line.  Benefits include: DrupalCon discounts, featured content on Drupal.org, access to exclusive roundtables/summits, and positioning as trusted thought leaders and good citizens of the Drupal community. In 2019, Drupal Association Supporting Partners stayed up to date on important project news and collaborated with the DA and peers through quarterly informative webcasts, as well as roundtable meetings at DrupalCons.

2019 also saw a refreshed focus on Individual Membership in the Association—and pride in membership, as seen in the interactive campaign:

Drupal Jobs is the official jobs site of the Drupal Project and Drupal.org. In 2019, the DA added more value for employers looking to hire Drupal Talent; in addition to the listing on the Drupal Jobs site, we began maximizing visibility with job posts across our social media channels — a combined audience of 100,000+ followers. 
There were several DA promotional “firsts” as well: 

  • First participation in National Digital Inclusion Week Social Media campaign
  • First ‘Giving Tuesday’ participation & custom trivia challenge
  • First Educational Opportunities newsletter delivered quarterly

Looking ahead

The journey continues with much of the DA’s focus in 2020 on the release of Drupal 9. Now that Drupal itself is 19 years old(!), we are uniquely positioned to celebrate this release as a significant step forward in the CMS landscape for Drupal.  

The last 5 years of Drupal 8 have been transformative to the project, and the risks taken and the changes made in how Drupal is built have all culminated in what is shaping up to be an incredible Drupal 9 release. 

With Drupal 8, the project switched to semantic versioning and a rapid, six-month cycle of new feature releases. Our new guidelines around backwards compatibility and code deprecations have made Drupal continually relevant, yet ensured that it remains stable and well-supported. And best of all, these changes together mean that the upgrade to Drupal 9 will be a simple one. 

That's the story we’re telling in 2020; the best way to get ready for Drupal 9 is simply to keep up with the latest releases of Drupal 8. This next major release will be easier for every stakeholder — and for site owners, upgrading to Drupal 9 will require far less effort than upgrading to Drupal 8, which is the true celebration!

There are other engineering initiatives underway in 2020 as well. We want to enable merge requests for Drupal code repositories. We're also hoping to continue the work we did on the Automatic Updates Initiative, and are seeking new partners to help move that forward. And we're always collaborating with the community, making small tweaks and usability improvements. 

In 2020 the DA is striving to make diversity, equity, and inclusion a focus in our work. Staff will participate in an internal equity assessment of our systems and programs resulting in a DE+I workplan, as well as ongoing education on diversity, equity, and inclusion. Additionally, DA’s leadership team will begin to develop external programs with the goal of welcoming more people from underrepresented groups into the Drupalsphere.


Let's publicize Drupal 9 together! Please share your ideas about promoting Drupal 9

Thanks to so many individuals & organizations

We extend a hearty thanks worldwide to all the volunteers who work with us in so many capacities, and to the Drupal Association Supporters, who make it possible for us to work on all the aforementioned projects and plans. We are grateful to have a community centered around education, collaboration, and action.

Thank you all for being an essential part of our collective journey! Dries recently said this about the DA, and we believe it extends to our members:

“I've been impressed with how the Drupal Association keeps growing in its role and its impact on the Drupal project. You're working on so many important projects at the same time, and you do it with such passion, commitment and a big heart.” 

Jeff Geerling's Blog: Migrating JeffGeerling.com to Drupal 8 — LIVE!

3 weeks 5 days ago

tl;dr: Subscribe to my YouTube Channel; I'm going to start migrating this website to Drupal 8 on a livestream every Tuesday at 10 a.m. US Central (3 p.m. UTC).

Ever since Drupal 8 was released, I've been waffling on the decision to migrate/upgrade this website (JeffGeerling.com) to Drupal 8. The site started off years ago as a static HTML site generated by Thingamablog, a really old Java-based static blog generator.

In the years since, I migrated from Thingamablog to Drupal 6, and from Drupal 6 to Drupal 7. Each of these migrations also incorporated a complete redesign, and I did another semi-redesign halfway through the Drupal 7 lifecycle, to the design you see today:


[Dark mode] ftw!

Mediacurrent: A Recipe for an Embedded React Component in Drupal

3 weeks 5 days ago

Today, Drupal developers must acknowledge that when building a rich, stateful user-facing interface, it is best to use a modern JavaScript framework. Although less framework-driven JavaScript approaches like vanilla JavaScript and jQuery were good enough for many years, I have started to realize that my criteria for whether a piece of UX “should use a framework” has gotten pretty darn low.

Fortunately, even if Drupal is serving your site’s pages, it is possible to make use of React to build components. Some people refer to this method as “progressive decoupling.”

Selecting a Framework, or No Framework

Although vanilla JavaScript or jQuery is fine for small UI behavior implementations, I almost always select React for “centerpiece” user experiences. Here’s a couple of heuristics I use to decide whether employing a framework is worthwhile:

Am I using Drupal #ajax to manage more than a couple of states for end-user UX?

If so, I typically go with a React block. The #ajax API has been a workhorse for building a consistent editor/admin UX for Drupal, but it is just too slow to provide a good multi-state UX for visitors/end-users. This is because when a page uses the #ajax form API, you have to contact the server and reprocess the form for any kind of state change, even if there is no real reason to do so.

Does the page in question need to have many different React components?

This can make embedding react components more complex. Although a clever webpack and Drupal frontend library configuration can allow you to efficiently include multiple react components on a single page, it requires a more extensive setup. This can tip things in favor of staying with vanilla JavaScript or jQuery for a particular component if it might share a page with lots of other small components.

Building your React Block

You’ve decided to use React for a cool, stateful user interface. Congrats! I will show a couple of ways to make it happen.

Don’t use create-react-app

If you’re not familiar with create-react-app, it is a nice tool that generates scaffolding for a React application. It is also not great for building React blocks that you plan to embed in Drupal since these types of React applications are less complex. For instance, you do not need the public folder that create-react-app provides, nor do you need a lot of its dependencies. Some of these can interfere with being able to use React developer tools and can cause other confusion too.

What to do

It turns out it is not very difficult to generate your own react project with just the dependencies you need.

First, decide where you want your React component to live in your codebase. I usually put it into a custom module, because we need to write server-side code to embed the component. You could also put the React component into the theme.

Let’s say we want to use a custom module as the location, for now. I usually make a js/react/appname folder. Do this as you see fit, and move to that folder using the CLI. Then, let’s get started by initializing a new project.

npm init

 

This will generate a basic package.json and some scaffolding.

Next, you’ll want to set a node version. For this, I recommend nvm. You probably want the latest stable version of node:

nvm install node node -v > .nvmrc

 

Now it’s time to install the required packages. Here is a summary of what you’ll need:

Package name

ID

Description

Dependency Type

Babel Core

@babel/core

Babel is a JavaScript transpiler that converts the JavaScript that you write (e.g. React) into JavaScript that can run in any browser.

dev

Babel CLI

@babel/cli

CLI package for Babel.

dev

Babel Preset Env

@babel/preset-env

The basic Babel JavaScript transpilation package

dev

Babel Preset React

@babel/preset-react

Babel transpilation for React JavaScript

dev

Babel Loader

babel-loader

Allows webpack to use Babel as a transpiler.

dev

Webpack

webpack

A tool for bundling JavaScript so that a browser can use it.

dev

Webpack CLI

webpack-cli

Allows npm to run webpack commands

dev

React

react

The React JavaScript library

prod

React Dom

react-dom

The entry point to the DOM for React

prod

Dependency type refers to whether the module is needed for the actual production build that end users will be interacting with. 

To install these packages, start with dev dependencies:

npm install --save-dev @babel/cli  @babel/core @babel/cli @babel/preset-env @babel/preset-react babel-loader webpack webpack-cli

 

Then, install production dependencies

npm install react react-dom Add a webpack config

If you’ve worked with React before, it’s likely you’ve used webpack to build your project. The webpack config needed here is pretty basic:

const path = require('path'); const config = { entry: './src/index.js', devtool: (process.env.NODE_ENV === 'production') ? false : 'inline-source-map', mode: (process.env.NODE_ENV === 'production') ? 'production' : 'development', output: { path: path.resolve(__dirname, 'dist'), filename: 'app.bundle.js' }, module: { rules: [ { test: /\.js$/, exclude: /(node_modules)/, use: { loader: 'babel-loader' } } ] }, }; module.exports = config;

 

This goes in a file called webpack.config.js. I’ll explain the important parts:

Entry

In webpack, the entry point is the file that imports all of your other packages, at the top of your application’s tree. If you’re dealing with React, this is the file where you use react-dom to attach your react script to a DOM element.

Devtool

Based on whether we’re doing a production or development build, we tell the bundle to use a source map. This bloats the bundle a lot so you don’t want to add a source map to the prod build. The NODE_ENV comparison comes into play later when we have npm run our webpack script.

Output

The path to your bundle, containing the whole app (e.g. all the React components and imports you need). Usually this is in a “dist” folder.

Module

This tells webpack to use babel for transpiling your JS so that the browser can run React.

Configure package.json

There are two things you need to do:

Set up your scripts

You’ll need to add the following to the top level of package.json:

"scripts": { "build": "NODE_ENV=production webpack", "watch": "webpack --watch --progress" },

This tells webpack to either do a development (watch) or a production (build) build. As we noted earlier, we use an environment variable to establish whether to use a source map (which bloats the package but facilitates debugging).

Set up Babel

Another role that package.json plays is to let you configure how Babel works. You have to add this:

"babel": { "presets": [ [ "@babel/preset-env", { "targets": { "browsers": [ "IE >= 11", "last 3 versions" ] } } ], "@babel/preset-react" ] }, Build a "Hello World" React App

Below is a simple React app that will let you test things. Put this in src/index.js:

import React from 'react'; import { render } from 'react-dom'; const Root = () => { return ( <>Hi there</> ) } render(<Root/>, document.querySelector('#my-app-target'));

 

Nothing fancy.

Include your React app in Drupal

We have to tell Drupal to include our React app on a page. Here are the basic steps:

  • Define a library for your React app.
  • Include the React app’s target markup on a page.
  • Include the React app’s Drupal library on a page.
  • (Optional) Pass data to the app via drupalSettings.

Let’s break this down a bit:

Define a library for your React app

In your custom module, add a mymodule.libraries.yml file as follows:

my-app: version: 1.x js: js/react/my-app/dist/app.bundle.js: { minified: true }

 

This will let us load the library in an #attached property or in a Twig template.

Include the React app’s target markup on a page / Include the React app’s Drupal library on a page

There are quite a few ways to do this. I think the absolute simplest way is to put the following in the twig template where you want to load your React app:

{{ attach_library('mymodule/my-react-app') }} <div id="my-app-target"></div>

 

If we do this, the React app will put itself within the my-app-target div.

You can also use a render array to embed the app, if you want to do things from a form alter for instance:

$form['my_react_app'] = [ '#markup' => '<div id="my-app-target"></div>', '#attached' => [ 'library' => [ 'mymodule/my-react-app' ], ], ];

 

Let’s run it!

If you are following this as a tutorial, this is a good time to test things out. First, let’s test a production build:

npm run build

 

In the browser, load the page that is running your twig template from the last step. You should see the “Hi there” text in the target div.

(Optional) Pass data to the app via drupalSettings

A common use case is having a setting in Drupal (a checkbox on a paragraph entity, or some global variable) that we need to impact the way the React app works. We use the #attached/drupalSettings API to accomplish this.

Add drupalSettings dependency to Library

First, we need to modify our library definition as follows:

my-react-app: version: 1.x js: js/react/my-app/dist/app.bundle.js: { minified: true } dependencies: - core/drupalSettings Set drupalSetting value and provide to browser

Now, we need to pass the setting to the browser using the #attached framework. The details here depend on what part of Drupal we are working within. Generally you’ll need to work in either a preprocess hook or some type of callback that can change the render array. The #attached bits look the same regardless.

Here’s an example of the preprocess method:

function mymodule_preprocess_node(&$variables) { $variables['content']['#attached']['drupalSettings']['myReactApp']['mySetting'] = 'some value'; }

 

Or, if you are modifying the render array (forms, build layer etc):

$form['my_react_app'] = [ '#markup' => '<div id="my-app-target"></div>', '#attached' => [ 'library' => [ 'mymodule/my-react-app' ], 'drupalSettings' => [ 'myReactApp' => [ 'mySetting' => 'some value', ], ], ], ];

 

In this case, we add the drupalSetting in the same place where we add the markup and the library.

Access drupalSettings value in the React App

Luckily, drupalSettings is a global variable so you can use it directly in your React app:

import React from 'react'; import { render } from 'react-dom'; const Root = () => { return ( <>Hi there. My setting is {drupalSettings.myReactApp.mySetting}</> ) } render(<Root/>, document.querySelector('#my-app-target')); Conclusion

I hope this post has helped you add an embedded React app to your Drupal 8 site!

Tag1 Consulting: Decoupled Drupal - Strengths and Weaknesses

3 weeks 5 days ago
Description Decoupled Drupal has been a trending topic for years in the Drupal community as well as the larger CMS landscape. What do some of the pioneers of the decoupled Drupal phenomenon have to say about what's possible today for decoupled Drupal and what's in store for practitioners? From GraphQL v4, to live preview with Gatsby, to Web Components browser support, innovation in the Drupal community is now quickly challenging some of our initial assumptions and visions for the future. In this introspective and retrospective Tag1 Team Talk, join Sebastian Siemssen (Senior Architect and Lead React Developer, Tag1 Consulting), Fabian Franz (Senior Technical Architect and Performance Lead, Tag1 Consulting), Michael Meyers (Managing Director, Tag1 Consulting), and Preston So (Editor in Chief, Tag1 Consulting) for an insightful conversation with decoupled Drupal veterans on its past, present, and future.Read more preston Wed, 01/29/2020 - 07:01
Checked
38 minutes 13 seconds ago
Drupal.org - aggregated feeds in category Planet Drupal
Subscribe to Drupal Planet feed