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.Announcement TLS 1.0 and 1.1 deprecated
Drupal.org uses the Fastly CDN service for content delivery, and Fastly has depreciated support for TLS 1.1, 1.0, and 3DES on the cert we use for Drupal.org, per the mandate by the PCI Security Standards Council. This change took place on 9 Aug 2017. This means that browsers and API clients using the older TLS 1.1 or 1.0 protocols will no longer be supported. Older versions of curl or wget may be affected as well.Almost time for DrupalCon Vienna
DrupalCon Vienna is almost here! From September 26-29 you can join us for keynotes, sessions, and sprinting. Most of the Drupal Association engineering team will be on site, and we'll be hosting a panel discussion about recent updates to Drupal.org, and our plans for the future.
We hope to see you there!Drupal.org updates 8.4.0 Alpha/Beta/Release Candidate 1
On August 3rd, Drupal 8.4.0 received its alpha release, followed on the 17th by a beta release, and on September 6th by the first release candidate. Several new stable API modules are now included in core for everything from workflow management to media management. Core maintainers hope to reach a stable release of Drupal 8.4 soon.Improvements to Project Pages
We made a number of improvements to project pages in August, one of which was to clean up the 'Project information' section and add new iconography to make signals about project quality more clear to site builders.
In the same vein, we've also improved the download table for contrib projects, by making it more clear which releases are recommended by the maintainer, providing pre-release information for minor versions, and displaying recent test results.Metadata about security coverage available to Composer
Developers who build Drupal sites using Composer may miss some of the project quality indicators from project pages on Drupal.org. Because of this, we now include information about whether a project receives security advisory coverage in the Composer 'extra' attribute. By including this information in the composer json for each project, we hope to make it easier for developers using Composer to ensure they are only using modules with security advisory coverage. This information is also accessible for developers who may want to make additional tools for managing composer packages.Automatic issue credit for committers
Just about the last step in resolving any code-related issue is for a project maintainer to commit the changes. To make sure these maintainers are credited for the work they do to review these code changes, we now automatically add issue credit for committers.Performance Improvements for Events.Drupal.org
With DrupalCon coming up in September we spent a little bit of time tuning the performance of Events.Drupal.org. We managed to resolve a session management bug that was the root cause of a significant slow down, so now the site is performing much better.Syncing your DrupalCon schedule to your calendar
A long requested feature for our DrupalCon websites has been the ability to sync a user's personal schedule to a calendar service. In August we released an initial implementation of this feature, and we're working on updating it in September to support ongoing syncing - stay tuned!Membership CTA on Download and Extend
We've added a call to action for new members on the Drupal.org Download and Extend page, which highlights some great words and faces from the community. Membership contributions are a crucial part of funding Drupal.org and DrupalCon, but much the majority of traffic we receive on Drupal.org is anonymous, and may not reach the areas of the site where we've promoted membership in the past. We're hoping this campaign will help us reach a wider audience.
DrupalCI is one of the most critical services the Drupal Association provides to the project, and also one of the more expensive. We've recently added a very small section to highlight how membership contributions help provide testing for the project - and in the future we hope to highlight sponsors who will step up specifically to subsidize testing for the Drupal project.Infrastructure More semantic labels for testing
In August we added more semantic labels for DrupalCI test configuration. This means that project maintainers no longer have to update their testing targets with each new release of Drupal, they can instead test against the 'pre-release' or 'supported' version, etc. More information can be found in the DrupalCI documentation.Started PCI audit
In August we also began a PCI audit, and developed a plan of action to reduce the Drupal Association's PCI scope. Protecting our community's personal and financial information is critically important, and with a small engineering team, the more we can offload PCI responsibility onto our payment vendors the better. We'll be continuing to work on these changes into the new year.
As always, we’d like to say thanks to all the volunteers who work with us, and to the Drupal Association Supporters, who made it possible for us to work on these projects. In particular we want to thank:
- Inclind Inc. - Renewing Premium Supporting Partner
- Blend Interactive - *NEW* Classic Supporting Partner
- PreviousNext - Renewing Classic Supporting Partner
- ADCI - Renewing Classic Supporting Partner
- GatherContent - *NEW* Premium Technology Supporter
- Datadog - Renewing Premium Technology Supporter
- HostPapa - *NEW* Classic Hosting Supporter
If you would like to support our work as an individual or an organization, consider becoming a member of the Drupal Association.
Last week, Dries Buytaert published a post detailing the organisations that sponsor Drupal. It’s an insightful report, and we’re proud to be represented among the top 30 contributing organisations globally based on the number of Drupal.org commit credits.
This is due to the hard work of our development team. We’ve written before about why we think businesses should pay developers to contribute to open source, and we continue to practice what we preach.
I spend around 20% of my work week contributing to open source, primarily Group – the Drupal 8 module I wrote to allow you to create arbitrary collections of content and users, and grant access control permissions on those collections. Check out all the reasons Group is awesome!How much time I spend on open source.
Before I joined Deeson I worked almost exclusively on Group in my own time. My previous employer promised me time for Group but I could never really get round to it properly during office hours. It started putting a massive strain on my personal life. Since joining Deeson, I work one day a week on contrib or core.
My main focus is Group, which gets the most attention throughout the year. However, sometimes I need to add or fix something in core so I focus on that instead. That may take up several weeks but in the end I always return to Group.
I now only spend my personal time reading incoming issues, blog posts and Twitter about Group and coming up with architecture. The actual coding is done during office hours.Employer buy in is key.
Deeson cares about what I work on, encourages me to work on high-visibility modules and issues, and generally gives me the space I need to properly contribute back to the project.
They recognise the fact that this type of work leads to a high level of expertise which in turn benefits the company in the quality of the work we do for clients.
Deeson ranks top of the list for me, hands down, when it comes to agency commitment to encouraging developers to work on open source projects. When they say I get one day a week, I get one day a week.
Only over the summer with people on vacation was I asked to cover for others for a couple of weeks. Which is only natural when you’re part of a team. The rest of the year I really get the time I need to keep up with my contributions.Contributing to open source makes for better developers.
Open source is what I do. The inherent constant peer review is exactly what I need because I don’t have a degree in computer sciences. If it weren’t for the way open source works, I wouldn’t be the developer I am now. It has really helped my hone my skills in a way that education probably never could.
In other words: My job would probably suck if it weren’t for the fun aspects open source software has to offer!
If you want to work for an agency that offers paid time to support open source projects, check out our current vacancies.
Prepare to start in the middle
Help your peers get up to speed before Drupalcon so that while at Drupalcon you can more quickly go beyond “getting everybody on the same page” and move on to making decisions and defining next steps.
It helps getting this info out there before Drupalcon because Drupalcon itself is where you then get together to decide and agree on path(s) forward.
Help people prepare so that you can start in the middle.
Maybe the feedback forces a restart from scratch after all because the problem is actually a different one than initially imagined. That’s still a win :)
Drupalcon is a great way to connect with the known experts and to onboard new experts.
Let us know what you hope to achieve.Tags drupalplanet
In a bit less than a week's time of writing this post, I’ll be packing my bag and getting ready to fly from Edinburgh to Vienna for the annual DrupalCon event.Bryan Gruneberg Tue, 09/19/2017 - 16:40
For those reading this who don’t already know, DrupalCon Europe is a community-focused event intended to bring existing community members together as well as encourage new participation in the project. There are a number of session tracks focusing on broadly accessible topics such as “Being Human” all the way through to the detailed and technical sessions. There are also sprint workshops focused on adding features and fixing bugs in the existing and future version of Drupal. In a very real sense, there is something for everyone.
Compared with some of the other Amazee Labs team members, I am a relative DrupalCon newbie. I’ve only recently moved to the UK, so this will be my second DrupalCon. For some of the team members, this will be their 10th or even 15th DrupalCon!
Something that struck me last year, and that I’m really excited to see again this year, is the diversity of the attendees and how much work the organisers and community put into making the event accessible. I’m really looking forward to seeing people from all ages, races, and genders getting together under the banner of something we all have in common, namely our support (albeit in varied forms) for the Drupal Open Source project.
There is a growing sense of excitement in our daily standups and on our Slack channels as we draw closer to this year’s event. We have people coming from across Europe, South Africa, the UK, Taiwan, and the USA. While most of us are traveling to the event by way of planes, trains, and automobiles we can proudly boast that one of our team members is cycling all the way from Zurich to Vienna through the Alps! This is not the result of a lost bet between rivals but rather Amazee’s latest “Extreme Challenge” participant. Check out the Tour de Drupalps if you are (understandably) intrigued. You can also follow @dasjo or the #drupalps on Twitter.
Amazee submitted a number of session proposals this year and we are extremely proud of our team members who were selected to share their knowledge and ideas with the Drupal community.
Dania and Michael from the Amazee Group will present “How to go from one to seven companies around the world and how to run them”.
Bastian and Tyler from Amazee.io will be showing us “Power to the People - How using containers can make your life easier”.
With so many of our core team members working all over the world, we love to take these opportunities to have some real-world and in-person conversations. Our team dinner is a great opportunity to buy that person - who is usually on the other side of the world - a beer to say thanks for that one time where they made magic happen on that deadline that needed to get done that one Friday. It’s also a great opportunity to seek out that core or module developer and say thanks for all their efforts on the Drupal project.
Looking beyond ourselves, we’re also really excited to see what other companies and teams are doing and thinking. Josef is super excited for the Community Summit on Monday. Mary is excited to see the presentation on “Teaching Clients How to Succeed”, and I’m looking forward to seeing a presentation on Drupal & Ethereum as well as the Commerce 2.0 “Lessons Learned”.
If you’re attending, I hope to see you around! If you’re not attending you’ll be able to follow along with us. During the course of DrupalCon we will be posting at least one blog post per day on our Amazee Labs blog about the various events and highlights of our team’s experiences, so check back here and keep an eye out for our various social media posts.
Here is where we seek to bring awareness to Drupal modules running on less than 1% of reporting sites. Today we'll investigate Module Sitemap, a module which will help you navigate through pages associated with modules you have enabled on your site. We also briefly review the Coffee module.
I'll be presenting at DrupalCon Vienna next week as part of my evangelising against static design tools like Photoshop, InVision, and Sketch. The talk will cover items such as "What's the problem we are trying to solve?", "Why do static tools not solve the problem?", and "Why is working with component design and design in the browser the most sustainable solution?".
I got a request today from a former colleague:
We used to feel satisfied with just giving a few lectures at Drupal Global Training Day. What do we see now? We see young Drupal developers who are hungry not only for knowledge but for practice, too.
Drupal deployment automation for Pantheon hosting - save time, make deployments safer, automate your testing workflow, and leave the boring repetative work to the computers!
If you want to build a large, multi-level drop-down menu in Drupal 8, then the Superfish module is a great choice.
The Superfish module makes use of the jQuery Superfish menu plugin, which is useful for multi-level drop-down menus. Superfish has more features than most dropdown menus. It supports touch devices and keyboard interaction.
Summits are one-day events focused around specific topics and areas of practice that gather people in specific industries or with specific skills to dive deep into the issues that matter and collaborate freely.
Nonprofit Summit (Wed)
The BADCamp Nonprofit Summit (NPS) is back in Berkeley for 2017 with even more opportunities for nonprofits and developers to collaborate, learn, and grow! We’ve got a full day of case studies, presentations, and small-group breakout sessions, all led by nonprofit tech experts. Come discover new tools and strategies, learn how to use them, and make contacts with other members of the Drupal nonprofit community!Higher Ed Summit (Thurs)
The Higher Education Summit is a unique opportunity for site owners, IT managers, developers, content creators, and agencies dedicated to supporting and advancing the use of Drupal in academia to share, learn, and strengthen our community of practice. Through panels, talks, and ample breakout sessions, participants share and learn from one another’s victories and challenges, and build momentum in cross-institutional initiatives. Drupal behind the login. This year's theme is using Drupal as a collaboration tool (intranets, research sites, data sharing, administrative tasks, portals, etc.).Front End Summit (Thursday)
Perhaps more than any other discipline, front-end development has been rapidly evolving over the past several years to accommodate an ever-changing variety of workflows, toolsets, best practices, and technologies. As BADCamp turns 10, let us acknowledge the past, assess current trends, and discuss the future of front-end development at the Frontend Summit.Backdrop Summit (Wed)
Backdrop CMS is a content management system based on the Drupal you know and love, but with a new mission that aims to decrease the cost of long-term website ownership. The goal of this Drupal fork is to empower more people to do more things on the web. At the Backdrop Summit you'll learn about the Backdrop software and its differences from the Drupal CMS.DevOps Summit (Thurs)
Want to accelerate development at your organization? The DevOps Summit is about inspiring people (aka YOU) with new processes and tools to help transform ideas into working web applications. We’ll be discussing topics like automated testing, continuous integration, local development, ChatOps, and more. Along the way you’ll have a chance to pick the brains of leading DevOps professionals in the Drupal community. Anyone who is looking to work with happier development teams while saving time and money should attend.Do you think BADCamp is awesome?
Would you have been willing to pay for your ticket? If so, then you can give back to the camp by purchasing an individual sponsorship at the level most comfortable for you. As our thanks, we will be handing out some awesome BADCamp swag as our thanks.We need your help!
BADCamp is 100% volunteer driven and we need your hands! We need stout hearts to volunteer and help set up, tear down, give directions and so much more! If you are local and can help us, please sign up on our Volunteer Form.Sponsors Drupal Planet
After the success of last year's GSOC project with Drupal, I thought it would be a great idea to see if we could take what we did there (server-side encryption) and do something similar on the client side. The benefit of this approach is that unencrypted content/data is never seen by the hosting server. So it's not necessary to trust it to the same degree. This has been a requested feature for some time, and become very popular within the instant-messaging space.
I posted the idea, but wasn't sure how much traction there would be given the additional complexity. Before long, there were two interested students, Marcin Czarnecki and Tameesh Biswas, who were interested in the project given their interest in cryptography. They both wrote very good proposals, which we in the Drupal community accepted.
With the help of Adam Bergstein (my co-mentor from last year) and Talha Paracha (last year's student), we were able to mentor both students in working towards completing their projects, even with the added complexity. Unlike last year, users' passwords couldn't be used to encrypt anything because the site has access to these. An out-of-band mechanism was necessary to perform the encryption, public-key cryptography. It needed to be in the hands of users themselves instead of being handled implicitly by the server.
I'm delighted to report that both students passed. The community can now take their projects and build upon them. Please review the new Drupal modules at Client-side content encryption (overview) and Client Side File Crypto (overview). If there are any issues, please open tickets in the respective queues.
This article, Client-side encryption options now available in Drupal, appeared first on the Colan Schwartz Consulting Services blog.
It’s official: Deeson is in the top 30 of companies contributing to Drupal globally! As huge proponents of open source we’re proud to be playing a key role in supporting the health of the project, and this is testament to the hard work of our development team.
Next week we’re heading to DrupalCon Vienna 2017. We’re pleased to sponsor the Women in Drupal event again this year, and in the spirit of sharing what we’ve learned we’ll also be delivering several sessions throughout the event. Here’s a taste of what to expect:Component driven front-end development
John Ennew. 26th September, 2.15pm in Lehar 2.
With a component based approach your development team can maintain a catalogue of templates independent of the backend CMS.
When the backend work starts, these components will then be integrated into Drupal. This talk will describe a method for doing this which does not cause complex themes or copying pieces of template code out of the front-end prototypes.
This talk will cover:
- The general approach to component based development
- A method for developing components independent of the backend system which will be used
- How to integrate the components with Drupal 8
- An overview of the advantages of this approach
Kristiaan Van den Eynde. 27th September, 10.45am in Lehar 1.
A lot of Drupal sites are run by only a handful of people. A few power users receive the rights to administer other user accounts, some others can post and publish content and everyone else can just view content and “use” the site. It’s when this scenario doesn’t suit your needs that you might want to have a look at the Group module.
Group allows you to give people similar permissions like those above but only for smaller subsections of a website. Say you run a school website and you want students to be able to only see the courses that are available for them to enroll in, but nothing else. Or you want to run a social network where users can post content, but only within their sandboxed area on the website. Group’s got you covered.
This session will be a brief description of the Group module by its author Kristiaan Van den Eynde (Deeson) and explain its key concepts. We will demo how to configure it and then show you how Group is used in the wonderful Open Social distribution.
Joining us for the second part of the presentation, Jochem van Nieuwenhuijsen (GoalGorilla / Open Social) will explain how Group enabled a team of talented developers to build a social network using Drupal 8. He will list some of the challenges and show you some of the cool stuff they built on top of the Group module.
This session is suitable for developers with some experience with Drupal 8 site building, but most of the presentation should be easy to digest for even the most junior site builders.Birds of a Feather sessions
Drupal recently announced that Vienna will be the last European conference for the foreseeable future, and that they will host BoFs at the event for the community to discuss the future.
If you’re not familiar with the BoF format, DrupalCon describes them as “informal gatherings of like-minded individuals who wish to discuss a certain topic without a pre-planned agenda”. This year, Deeson team members are delivering five BoF sessions:Facilitating happy, high performing distributed teams
Tim Deeson. 26th September, 10.45am in Galerie 11-12.
An opportunity to share tips and tools for what you've found works or problems you want help with.
At Deeson we've found a mix of tools, processes and relationship building is key. And that sharing what works for us and learning from others is invaluable.
- Are there tools that you find that really make a difference?
- Any team events or activities that help people get to know each other?
- How do you spot if someone isn't happy or engaged?
- What methods works or doesn't work for different types of personalities?
- Is always-on Slack a blessing or a curse?
- Do in-person events matter or can everything be done online?
- Do you have a structured way of supporting the team to get know each other well?
John Ennew. 27th September, 1pm in Galerie 15-16.
The are many ways to run an Agile project.
Much of the written support for working with Agile is based on an internal team which doesn't always support to how the client and agency relationship works.
Agencies have a variety of mechanisms for running an Agile project from simply embedding the ceremonies of Agile to actually ensuring the project team, client and contract are Agile from the start.
Come along and share your experiences (highs and lows), your tips and your best practices for making Agile work in an Agency.
John Ennew. 28th September, 2.15pm in Galerie 11-12.
Are you a technical lead?
Come and meet like minded people to share your experiences in managing your team members and ensuring technical excellence.
Kristiaan Van den Eynde. 27th September, 3.45pm in Galerie 15-16.
This BoF is intended for site builders who are actively using Group for Drupal 8 and are wondering what's currently planned for development or for site builders who think there is a key feature missing from Group 8 right now. The goal is to either learn about what's coming or to actually add something to the roadmap, provided it would be useful to a larger audience.
Kristiaan Van den Eynde. 28th September, 12pm in Galerie 13-14.
This BoF is intended for those involved in https://www.drupal.org/node/777578 and all those who wish to participate by writing a proof of concept or by brainstorming over possible approaches.
While working with other NGOs and agencies during the last 1,5 years, we collected more and more information about the time and money that Drop Guard will save your agency. On our website, we claim that Drop Guard will cut your update costs by 40%. CTOs and COOs want to challenge numbers like this and ask how exactly this ROI is calculated. That’s why I want to share the detailed information in this blog post with you.
Security updates are released every Wednesday. If you work in a Drupal shop that cares about security, you have to apply updates for every site every Wednesday or at least Thursday.Drupal Business Drupal Planet
A brief rundown of how to configure Drupal to display multiple content authors.
There is a great deal of enthusiasm surrounding chatbots in the Internet technology world today. Fanning the flames was the news that the White House had created a Facebook chatbot using Drupal. This post explains what a chatbot is, its current status, and how it can benefit business enterprises.What is a chatbot?
Chatbots are software agents which communicate and collaborate with human users through text messaging using a natural language, say English, to accomplish specific tasks. Examples of common tasks in a business context are product inquiries, ordering, and troubleshooting.
Chatbots holds the promise of being the next generation of technology that people use to interact online with business enterprises. From a historical perspective, the first generation of customer contact technology involves websites. Users opens the company website within their browser, navigate web pages to get the information they want and to trigger various e-commerce transactions, such as ordering a product. Next up are mobile apps which users can download on their smartphones or tablets. The problem with apps is that people have to manually download and learn to use each of them. Chatbots lead the way for the next wave of technology. With chatbots, there are no new apps to download. This is because most users already have at least 1 instant messaging application installed on their communication devices, e.g., SMS, Facebook Messenger, Slack, Telegram, Kik, etc. Another advantage for chatbots is that, because chatbots communicate using a natural language, users don't need to learn yet another new website interface and to get comfortable with the unavoidable quirks.
The chatbot interface is powered by Artificial Intelligence (AI) technologies. AI is tasked to understand the text that users enter and pass on the knowledge to the backend for processing. Another benefit of using AI is that the chatbot will learn over time to better understand user preferences and as a result, deliver better and faster services.Why are chatbots important to enterprises?
It was reported that, in 2016, for the first time in Internet history, there were more people using messaging apps than social media. It follows that chat has outpaced social media to become the de facto standard in how mobile users want to make contact. Mobile users are known to be an impatient bunch, ready to abandon any website en masse if they are made to wait for mere seconds after their initial request. Is your business staffed properly to handle this 24x7 onslaught of customer product queries, sales orders, and support requests?
Image Source: Business Insider
Chatbots can be programmed to monitor and respond to those chat sessions that fall within their domain expertise, such as troubleshooting, return merchandise authorization (RMA), sales inquiry, etc. For chatbots to do their job, enterprises first need to capture the aforementioned domain knowledge in a knowledge base. Once the knowledge becomes accessible, chatbots can staff the all-important corporate functions 24x7.
By deploying chatbots, a business can save money by easing the staff head count while guaranteeing good service response time. Besides its always-on feature, another major advantage of using chatbots is the consistency in how your business processes are applied: chatbots will execute the business logic consistently in all customer contacts.
Chatbots, advanced that it is, is not the panacea of all enterprise customer service problems, nor does it completely replace the entire human work force. Human agents are still required to solve the more complex problems that are beyond the ability of chatbots. While chatbots can resolve the most basic troubleshooting tasks, second-level support technicians are still required to tackle the complicated product issues.State of the union
The chatbot technology is still an emerging technology. There are many components that have to work together to make chatbots work. As of today, the technology stack is not standardized, and a clear market leader has not yet manifested itself.
Just as there are many messaging apps, there are as many, if not more, chatbot building platforms, each designed to work with a subset of specific messaging apps. Some messaging app vendors, such as Facebook and Telegram, also provide their own official chatbot building platforms. Besides those, there are other third-party chatbot platforms that support multiple messaging apps. For instance, Chatfuel is a chatbot platform that supports both Facebook and Telegram. The Microsoft Bot Framework supports Facebook Messenger, Slack, and SMS.
Most chatbot building platforms claim that chatbots can be developed in minutes with no coding required. While creating a chatbot may take only minutes, making it do something useful involves customization including configuring the AI front-end engine, the e-commerce and payment processor backend, etc. Given the myriad technical choices and possibilities, it is best to leverage professional help to guide the development of chatbots for your business enterprise.Chatbots and Drupal
Many businesses have already crafted their online presence in the form of a website using an enterprise-class CMS technology, for instance, Drupal. The good news is that you can add chatbot technology to your existing technology infrastructure, rather than starting from scratch.
If you have already built an enterprise-class Drupal website, you are a one-step ahead of everyone else. The Drupal infrastructure is essentially a portal that captures your business logic, including the backend portion that interfaces with your e-commerce and other back office systems. Adding chatbots to your overall technology stack involves adding the proper middleware to connect your chatbot frontend with your Drupal-based business logic backend.
As stated in the previous section, chatbots itself is an emerging technology that may be outside the scope for most in-house development expertise. Adding the middleware to join together chatbots and your Drupal backend is an extra level of software complexity. This middleware framework is available from the Drupal community, but is currently in a very early stage for commercialization. To ensure success for your chatbot project, professional consulting is highly recommended.
If you require professional services, whether to build from scratch an enterprise-class Drupal website with chatbot integration, or to add chatbot capabilities to your existing Drupal platform, Vardot is pleased to offer such services from its Jordanian headquarters or its American and Egyptian regional offices. Contact us now for more details regarding your project!
At Deeson we’ve been working on ways to develop our front-end independently from any back-end application.
Our back-end application is usually Drupal but we’re increasingly using other frameworks such as Laravel or Symfony and would like to be able to use a consistent approach for our front-end teams.
We’ve developed a system for this that allows modern build tools, practices Component Driven Development, allows the generation of living style guides and is agnostic to the back-end.Component Driven Development
A component, for us, is a collection of HTML, CSS and JS that goes together to form some display element. Consider this against a more traditional approach where HTML, CSS and JS are stored in separate global files, for example, in a global style.css and app.js files.
By grouping code together into components, we separate our application by the domain language, rather than arbitrarily by file extension. This isolates components and makes them easier to develop and maintain.
Components get named based on the domain language of the project and client. Components are not defined for the designer by the limitations and modeling of the application. This provides a common language for the designers, developers and client and reduces the chances of misunderstanding when it comes to the development of functionality.
Using the BEM approach to structuring CSS we isolate much of our CSS to specific components rather than continuously generalising CSS in the way a CSS framework like Bootstrap does. This isolates much of the CSS to a specific component giving us high cohesion and low coupling allowing for confident maintenance, removing much of the fear of wondering what effect changing a piece of CSS is will have on the whole site.
This better matches the way that we work where the complexity of our challenging designs mean rapid delivery using a CSS framework isn’t possible.Living style guides
The output of our front-end development will include a style guide which will render each of our components into static pages.
Style guides are useful as they demonstrate the components independently of the specific implementation. This allows more rapid front-end development as front-end developers can work without having to worry about how the back-end will integrate.
Over time, however, these style guides move out of sync with the applications they were developed to provide styling information for. An application developer's job is to integrate the HTML provided by the style guide into the finished site. This has meant copying and pasting code out of the style guide templates and into the application’s templating system.
At this point we have duplication of code and the ability to maintain a strict style guide is lost. When the style guide is updated, all the application templates affected must be identified and updated as well.
Our approach makes the style guide a living style guide. The front-end templates we produce for our components get referenced directly from the target applications theme system. This means that our front-end templates are the exact same ones that the application will be using within the theme.
Front-end developers can make changes to it knowing that those changes will flow through into the application without need for a second step.
For Drupal developers this means either providing new theme functions for the front-end templates or referencing our front-end templates from within Drupal templates.Modern build tools, agnostic to the back-end
Freed from the constraints of a specific application’s templating system we can select the most appropriate tools for the job of front-end development.
Our front-end tooling uses the latest standards and tools. We’re using yarn for package management, and webpack to bundle the static assets.
Very little knowledge of the back-end is assumed or needed in this approach. You can confidently bring new front-end developers onto your team who are used to using the latest tools without having to spend the first few weeks teaching them the specific theming language and quirks of your back-end application such as the Drupal theme layer.A real example
We’ve got an exemplar project to showcase this way of working. If you clone the project at https://github.com/teamdeeson/cdd-demo and follow the instructions in the README you’ll get a Drupal 8 project up and running with a theme that uses this process. You’ll see we’ve developed a componentised version of the Bartik theme for this.
If you are intrigued by this and would like to hear more, you’ll enjoy my talk on the subject at DrupalCon Vienna on 26th September.In summary
Component driven front-end development has worked well for us at Deeson, allowing rapid independent development of our front-end code. Our designers are freed from the previous constraints of designing for a Drupal website and our developers get to use the latest tools and get onboarded quicker.
Like the sound of the way we do things? We're currently hiring a Senior Front-end Developer.
Conversational UIs are the next digital frontier.
And as always, Drupal is right there on the frontier, helping you leverage your existing content and data to power more than just web-pages.
Want to see it action - click 'Start chatting' and chat to our Drupal site.by lee.rowlands / 18 September 2017
We're using the Chatbot API module in conjunction with the API AI webook module to respond to intents. We're using API.ai for the natural language parsing and machine learning. And we're using the new Chatbot API entities sub module to push our Drupal entities to API.ai so it is able to identify Drupal entities in its language parsing.
A handful of custom Chatbot API intent plugin to wire up the webhook responses and that's it - as we create content, users and terms on our site - our chatbot automatically knows how to surface them. As we monitor the converstions in the API.ai training area, we can expand on our synonyms and suggestions to increase our matching rates.
So let's consider our team member Eric Goodwin. If I ask the chatbot about Eric, at first it doesn't recognise my question.Eric isn't recognized as an entity
So I edit Eric's user account and add some synonymsAdding synonyms to Eric's account
And then after running cron - I can see these show up in API.aiSynonyms now available in API.ai
So I then ask the bot again 'Who is eric?'Screenshot showing the default response
So I can see that the Bio Intent was matched and that Eric was correctly identifed as the Staff entity. So why was the response empty? Because I need to complete Eric's bio in his user account. So let's add some text (apologies Eric you can refine this later).Adding a biography
Now I ask the bot again (note I've not reloaded or anything, this is all in real time).A working response!
And just like that, the bot can answer questions about Eric.What's next?
Well API.ai provides integrations with Google Assistant and Facebook messenger, so we plan to roll out those too. In our early testing we can use this to power an Actions on Google app with the flick of a switch in API.ai. Our next step is to expand on the intents to provide rich content tailored to those platforms instead of just plain-text that is required for chatbot and voice responses.Credits
Senior Drupal Developer
Dated 18 September 2017Add new comment