This is all about Drupal
It’s not easy to find a development partner you can trust. Particularly if you’ve never been immersed in the world of web development, it may take you some time to learn the language. That can make it even more difficult to know whether your partner is really staying on track with what you want to accomplish.
Luckily, knowing what to look for in a business partner can save you from all of the potential troubles later on. Ratings and reviews sites like Clutch can help you get there. This platform focuses on collecting and verifying detailed client feedback, and then using a proprietary research algorithm to rank thousands of firms across their platform. Ultimately, Clutch is a resource for business buyers to find the top-ranked service providers that match their business needs.
Luckily for us, users on Clutch will also find Kanopi Studios at the top of the list to do just that. Kanopi has been working with Clutch for a few months to collect and utilize client feedback to find out what we should focus on in the coming year. Through the process, we’ve coincidentally been named among the firm’s top digital design agencies in San Francisco.
Here are some of the leading client reviews that led us to this recognition:
“They were fantastic overall. We had great success communicating to their team via video conferencing, and they were able to answer every question we had. They also worked quickly and were very efficient with their time, so we got a great value overall.”
“Kanopi Studios’ staff members are their most impressive assets — extremely intelligent, experienced, and personable. Building a website is never easy, but working with people you both respect and like makes a huge difference.”
“Kanopi Studios successfully migrated our Drupal platform while preserving all the content that we’ve built up over the years. They worked hard to achieve a responsive design that works well on both mobile and large desktop displays.”
Not only have these kind words earned us recognition on Clutch, but we’ve also gained the attention of the how-to focused platform, The Manifest (where we are listed among top Drupal developers in San Francisco), and the portfolio-focused site, Visual Objects (where we are gaining ground among top web design agencies site-wide).
Thank you, as always, to our amazing clients for the reviews and the support.
Here are some performance tuning tips and instructions for setting up a very performant Drupal 8 Commerce site using Varnish, Redis, Nginx and MySQL. I’ve got this setup running nicely for at least 13,000 concurrent users and it should scale well past that.
FYI, We also have a Drupal 7 Commerce Performance Tuning guide here.Varnish Config
You’ll need some specific config for Drupal as well as some extra config to work nicely with BigPipe caching. These are standard for Varnish and Drupal and not specific to Commerce.Drupal
You’ll want to setup the Purge and Varnish Purge modules to handle tag based cache invalidation, nothing here is unique to Commerce, so you can follow the standard instructions. You will, however, want to make sure your pages actually are cached, as often modules or small misconfigurations can make a page not cacheable. To work nicely with Varnish, you want the entire page to be cacheable so your webserver doesn’t even get hit. An underused module that I find very helpful is Renderviz, which will show you a 3D breakdown of what cache tags are attached to what parts and can help you identify problem parts. I run
renderviz(‘max-age’, ‘0’) to show me anything that can’t be cached. Usually the parts you find can be corrected and made cacheable.
For example: In a recent set of performance testing I was doing, I found a newsletter signup that appeared on the bottom of every page had an overly aggressive honeypot setting, which rendered the page uncacheable. Changing the settings to only apply to necessary forms, as well as correcting a language selector, turned tons of uncached pages into cacheable pages. Now these pages return <10ms and put zero load on my web servers or database.
Use the most modern version of PHP you can, preferably the latest stable. Never ever ever use PHP 5 which is terrible, terrible, terrible. Otherwise, make sure you have sufficient memory and allowed threads, and that will cover most of your PHP tuning. This is almost certainly the most resource heavy part of your Drupal stack, but it is also easy to scan horizontally, pretty much indefinitely. Also, the more you can make use of Varnish, the less this will get used.Nginx/Apache
Most of this is just making sure you can handle the number of connections. You may need to up the file limit...
...of your web user to allow for more than 1024 connections per nginx instance.Database
A Commerce site is usually more write-heavy than your standard site, as your users create lots of "content" (aka carts and orders). This will usually change your MySQL config a bit, although the majority of your queries will still be reads. A pretty simple way to tune your site is to run...
...against it after getting some real traffic data for at least a couple days, or simulating high traffic. It’s recommendations will get you a pretty good setup.
There is one other VERY important thing you need to do, you need to change your transaction isolation level from READ-REPEATABLE to READ-COMMITTED. READ-REPEATABLE is much too aggressive at table locking to work with most Drupal sites, especially anything write heavy. You will suffer from constant deadlocks even at fairly low traffic levels without this. Frankly, I think this should be a flag in the status page, but my patch hasn’t gotten any traction.Cache Server
Nothing special here, but you are going to want use a separate caching option. It could be Memcache, Redis or even just a separate MySQL database. Redis is nice and fast, but the biggest gain is just splitting your cache away from the rest of your db so you can scale them easier.Patches
There are a few specific patches that will be a great help to your performance._list cache tag invalidation
Every entity type has an entity_type_list cache tag, which gets invalidated any time an entity of that type is added or changed and that those lists will need to get rebuild. This happens a LOT, but is a relatively simple query.
update cachetags set invalidation=invalidation+1 where tag=’my_entity_list’
This is an update, which is a blocking query, nothing else can edit this row while this query is running, which wouldn’t be so bad except...
This query often gets run as a part of larger tasks, in our case, such as when placing an order. A big task like this is run in a transaction, which basically means we save up all the queries and run them at once so they can be rolled back if something goes wrong. This means though, that this row stays locked for the whole duration of the transaction, not just the short time it takes this little query to run. If this invalidation happens near the start of the transaction, it can take a query that would talk 0.002 seconds and make it take 0.500 seconds, for example. Now, if we have more than 2 of these happening a second, we start to back up and build a queue of these queries, which just keeps getting longer and longer until we just start returning timeouts. Since this query is part of the bigger order transaction, it stops the whole order from being processed and can bring your checkout flow to a halt.
Thankfully, the above listed patch allows these cache invalidations to be deferred so as to not block large transactions. I think the update query for invalidating cache tags is still a bottleneck as you could eventually reach it without these long transactions, but at this point that problem is more hypothetical than something you will practically encounter.Add index to profiles
As you start getting more and more customers and orders, you will get more profiles. Loading them, especially for anonymous users, will really start to slow down and become a bottleneck. The listed patch simply adds an index to prevent that. Please note, this is a patch for the Profile module, not Commerce itself.Make language switcher block cacheable
This issue is unfortunately on hold pending some large core changes, but once it does land, this will allow the language switcher block to be used without worry of it blocking full page caching.Conclusion
You should be able to scale well above 10,000 concurrent users with these tips. If you encounter any other bottlenecks or bugs, I’d love to hear about them. If you want help with some performance improvements from Acro Media and yours truly, feel free to contact us.
When it comes to ecommerce, a fast site can make a big difference in overall sales. I recently went through an exercise to tune a Drupal 7 Commerce site for high traffic on a Black Friday sales promotion. In previous years, the site would die in the beginning of the promotion, which really put a damper on the sale! I really enjoyed this exercise, finding all the issues in Commerce and Drupal that caused the site to perform sub-optimally.
FYI, We also have a Drupal 8 Commerce Performance Tuning guide here.Scenario
In our baseline, for this specific site the response time was 25 seconds and we were able to handle only about 1000 orders an hour. With a very heavy percentage of 500s, timeouts and general unresponsiveness. CPU and memory utilization on web and database servers was very high.
Fast-forward to the end of all the tuning and we were able to handle 12K-15K orders an hour! The load generator couldn’t generate any more load, or the internet bandwidth on the load generators would get saturated, or something external to the Drupal environment became the limiter. At this point, we stopped trying to tune things. Horizontal capacity by adding additional webheads was linear. If we had added more webheads, they could handle the traffic. The database server wasn’t deadlocking. Its CPU and memory was very stable. CPU on the web servers would peak out at ~80% utilization, then more capacity would get added by spinning up a new server. The entire time, response time hovered around 500-600ms.
Enough about the scenario. Let’s dive into things.
The first step in tuning a site for a high volume of users and orders is to build a script that will create synthetic users and populate and submit the form(s) to add item(s) to the cart, register new users, input the shipping address and any other payment details. There’s a couple options to do this. JMeter is very popular. I’ve used it in the past with pretty decent success. In my most recent scenario, I used locust.io because it was recommended as a good tool. I hadn’t used it before and gave it a try. It worked well. And there are other load testing tools available too.
OK, now you are generating load on the site. Now start tuning the site. I used New Relic's APM monitoring to flag transactions and PHP methods that were red flags. Transactions that take a long time or happen with great frequency are all good candidates for red flags. If you don’t have access to New Relic, another option is Blackfire. Regardless what you use for identifying slow transactions, use something.
Make sure that there’s nothing crazy going on. In my case, there was a really bad performing query that was called in the theme’s template.php and it was getting loaded on every single page call. Even when it wasn’t needed. Tuning that query gave use an instant speed-up in performance.
After that, we starting digging into things. There are several core and contrib patches I’ll mention and explain why and when you should consider applying them on your site.
In your specific commerce site, things might be different. You might have different payment gateways or external integration points. But the process of identifying pain points it the same. Run a 30-60 minute load test and find long running PHP functions. Then fix them so it doesn’t take as long.
As a first step, install the Memcache (or Redis) module and set it up for locking. Without that one step, you’ll almost immediately run into deadlocks on the DB for the semaphore table. This is a critical first step. From my experience, deadlocks are the number one issue when running a site under load. And deadlocks on the semaphore table is probably the most common scenario. Do yourself a favor. Install Memcache and avoid the problem entirely.
Then see if you can disable form caching on checkout and user registration. This helped save a TON of traffic against the database for forms that really don’t need to be cached. More about that later in specific findings.
One last thing before diving into some findings...
SHOW ENGINE INNODB STATUS
...will become your favorite friend. Use it to find deadlocks on your MySQL server.Specific Findings The following section describes specific problems and links to issues and patches related to the problems.
- Do not attempt field storage write when field content did not change
Commerce and Rules run and reprocess an order a lot. And then blindly save the results. If nothing has changed, why re-save everything again? So don’t. Apply this patch and see fewer deadlocks on order saves.
- field_sql_storage_field_storage_load does use an unnecessary sort in the DB leading to a filesort
Many times it makes sense to use your database to process the query. Until it doesn’t make sense. This is a case it leads to a filesort in MySQL (which you can discover using EXPLAIN in MySQL) and locking of tables and deadlocks. It is not that hard to do the sort in PHP. So do it.
- Do not make entries in "cache_form" when viewing forms that use #ajax['callback'] (Drupal 7 port)
This is a huge win, if you can pull it off. For transient form processing like login and checkout, disabling form cache is a huge relief to the DB. You might need to put the entire cart checkout onto a single page. No cart wizard. But the gains are pretty amazing.
- If you are using captcha or anything with ajax on it on the login page, then you’ll need to make sure you are running the latest versions of Captcha and Recaptcha. See issues #2449209 and #2219993. Also, side note: if using the timing feature of recaptcha, the page this form falls on will not be cacheable and tends to bust page cache for important pages (like homepages that have a newsletter sign up form).
- form_get_cache called when no_cache enabled
You’ve done all that work to cut down on what is stored in cache. Great. But Drupal still wants to retrieve from cache. Let’s fix that. Cut down more DB calls.
- commerce_payment_pane_checkout_form uses form_state values instead of input
If your webshop is like most webshops, it is there to generate revenue. If you disable form caching on checkout, without this patch the values in your payment (including the ones for receiving payment) aren’t captured. Oops. Let’s fix that too.
- Variable set stampede for js and css during asset building
If you are using any auto scaling system and building out new servers when the site is under heavy load, you might already be using Advagg. But if you aren’t and are still using Drupal core’s asset system, spinning up a new system or two will cause some issues. Deadlocks galore when generating the CSS and JS aggregates. So either install Advagg or this patch.
- Reduce database load by adding order_number during load
Commerce and Rules really like to reprocess orders. An easy win is to reduce the number of one-off resaves and assign the order number after the first load.
- Never use aggregation in maintenance mode
While the site is under heavy load, the database sometimes becomes unreachable. Drupal treats this as maintenance mode. And tries to aggregate the JS/CSS and talk to the database. But the database isn’t reachable. It is a little ridiculous to aggregate JS/CSS on the maintenance page. And even more to try to talk to the database. So cut out that nonsense.
- drupal_goto short circuits and doesn't set things to cache
If you have any PHP classes you are using during the checkout, Drupal’s classloader auto loads them into memory. It then keeps track of where the files exist on the disk and this makes the next load of those classes just that much faster. Well, drupal_goto kills all this caching. And drupal_goto gets called when navigating through checkout.
Wow! That was a long list of performance enhancements. Here’s a quick recap though. Identify critical flow of your application. Generate load on that flow. Use a profiler to find pain points in that process. Then start picking things off, looking on drupal.org for existing issues, filing bugs, applying patches. Many of the identified issues discussed here will apply to your site. Others won’t apply and you’ll have different issues.
Surprisingly, or maybe not surprisingly, the biggest wins in our discovery process were the low hanging fruit, not the complex changes. That query in the template.php was killing the site. After that, switching to use Memcache for the semaphore table and eliminating form cache for orders also cut down on a lot of chatter with the database.
I hope you too can tune that Drupal 7 Commerce site to be able to handle thousands of orders an hour. The potential exists in the platform, it is just a matter of giving performance bottlenecks a little attention and fine tuning for your particular use case. Of course, if you need a little help we'd be happy to assist. A little bit of time spent can have you reaping the rewards from then on.
Practice and more practice are the keys to adopting modern software engineering practices. It doesn’t matter if you’re using WordPress or Drupal to manage website content, trying to learn unit testing, get hired, or looking for better ways to manage date and time data—there’s always an opportunity to learn how to do it better. This issue rounds up articles on each of these topics to help you deepen your problem-solving skills.
In this post, I go through the steps involved in creating content (nodes) using RESTful web services in order to demonstrate their capabilities.READ MORE11 Drupal Distributions You Should Know for Success in 2019 Akshita Tue, 12/11/2018 - 15:55
If you are looking to build your website on Drupal in 2019 but don’t know where to start from, you need to know more about the Distributions.
Here’s a list of top Drupal 8 distributions you could use in 2019.
The Basics. What are Drupal Distributions?
Distributions are full copies of Drupal that include core, in addition to themes, modules, libraries, and installation profiles. For a layman’s understanding distributions are a website (dummy) copy for an industry with an explicit requirement for that niche.“A Drupal distribution packages a set of contributed and custom modules together with Drupal core to optimize Drupal for a specific use case or industry”
Accordingly, there are Distributions for Media and Publishing, Government, E-commerce, Education, Travel among others.
There are two types of Drupal distributions:
- Full-featured distributions: complete solutions for specialized use cases (as discussed above).
- Other distributions as the starting points for developers and site builders.
- Out-of-the-box Additional Features: Remember “...Distributions are a package of the core, modules, themes”? Well, this means zero time searching for the Drupal modules and other required features, you don’t need to work extra to set up your website. You get all the required features according to your requirement in your distribution.
- Easy set up of the website: Since you don’t need to look for additional features, it saves your time to set up your website. Launching your website now means setting up the distribution and getting a preconfigured site in a single download!
- Less Maintenance: Downloading a host of modules and features means more maintenance and more security. With distributions, you get the whole website ecosystem into one, maintenance is not an issue since everything will be updated in a single update.
Varbase is an enhanced Drupal distribution packed with adaptive functionalities and essential modules, that can speed up your development process, and provides you with standardized configurations, making your life easier.
The essence of Varbase lies within the basic concept of DRY (Don’t Repeat Yourself). It is probably the best starter distribution because it can help relieve you from repeating all the modules, features, configurations that are included in a Drupal project.
Panopoly is another powerful base distribution. At its roots lies the power of Chaos Tools and Panels magic. Designed to be both a general foundation for site building and a base framework upon which one can build other distributions, Panopoly provides search, widgets, responsiveness at its core.
Presto! - Drupal 8 Starter Kit
Claiming to save the development time by up to 20%, Presto! is a Drupal 8 Starter Kit with more than a few tricks up its sleeve!
With intelligent content editing functionality, configuration defaults, and optional eCommerce integration, Presto is ready to use right out-of-the-box. Other functionalities include -
An Article content type with some pre-configured fields
A couple of pre-configured user roles: Administrator & Editor
The ability to share nodes on social media
Pathauto for automatical URL aliasing
A Basic Page content type with a Paragraphs-based body field
Some pre-configured Paragraph types:
Block (allows the embedding of Drupal block
The distribution for professional publishing, Thunder functionalities are publisher-centric. At its core, it has the Paragraphs module, media entity module, and various SEO features to keep it working. As a free and open-source technology, it is cost-effective, knocks down developmental efforts and isn't time-consuming.
Easy to install, deploy and add new functionality, Thunder is SEO friendly, responsive, Google AMP friendly, and allowing editors to publish their content easily as instant articles on Facebook as well.
Lightning enables the developers to create a great authoring experience. It delivers a powerful set of tools to your editorial team and site builders right out of the box and is best suited for the media and publishing websites. The distribution provides a lightweight framework, documentation and best practice examples for building working solutions in Drupal.
Built using the top 4 modules to enhance the editing experience - Workflow, Media, Layout, and Preview - it has taken the advantage of D8 functionalities and is tightly coupled to make up the new standard for enterprise authoring.
aGov is a Drupal distribution built for government websites and was developed for the Australian Government. It incorporates the Digital Transformation Agency's UI Kit, helping you adhere to the Digital Service Standard.
aGov is ideal for any federal, state or local government agency wanting to move their websites quickly and easily to Drupal whilst retaining full control of their codebase and choice of hosting provider.
WCAG 2.0 Level AA compliance, independently audited by Media Access Australia
Editor Workflows (Workbench Moderation)
Example content - to get you started quickly
Common content types: News, Events, Publications, Blogs
WYSIWYG editor with media library
After aGov, Drupal’s deGov is another Drupal 8 distribution focussing on the needs of (German) governmental organisations. One can build all levels of government websites (federal, regional, local) to publish information. With the base of Acquia Lightning, it extends the valuable functions to meet the use cases for different scenarios.
It provides a service-oriented E-Government portal to close the gap between citizens and your administration with various citizen engagement portals to discuss.
Following are the features of deGov distributions:
Open311 portals for civic issue tracking
Open data portals to publish and create communities around data
Intranet/Extranet for government employees
OpenSocial is an online community and intranet solution for nonprofits and innovative companies. It is currently employed by customers like the United Nations, Greenpeace and hundreds of smaller organizations to connect with their employees, volunteers and other stakeholders.
It is an out-of-the-box solution to build online community platforms. Providing with features such as notifications, timeline, events, follow, groups it can help personalise your news feed with the people you want to connect with.
A full-fledged Learning Management System based on Drupal, Opigno is the quickest way to get started with the e-learning framework.
It allows to:
Manage training paths organized in courses and lessons
Assess students with quizzes
Facilitate interactions with live meetings, forums, and chats
SCORM (1.2 and 2004 v3) compliant, it integrates the innovative H5P technology, making possible to create rich interactive training contents.
OpenLMS is an interactive LMS to make learning a fun and easier process. It provides various kinds of the content type such as written content, video lectures, quiz, calendar, and documents to be used as course material for students/users.
Modules such as webform are part of its core. It also provides interactive content powered by H5P which can be added to a course.
Read about the top Drupal e-learning modules.
Contenta helps you make the headless transition smooth. Contenta (and Drupal in the backend) has the capacity to control behind-the-scenes systems for languages like Python, PHP, Java React, Vue and Ember.
Powerful and complex, Contenta is API-First.
It optionally installs all the content types and dummy content necessary to build an application.
OpenSense Labs has sound experience in building new pillars for organizations. We would love to hear your requirements, drop a mail at firstname.lastname@example.org banner blog image Blog Type Articles Is it a good read ? On
This blog has been re-posted and edited with permission from Dries Buytaert's blog. Please leave your comments on the original post.
This week I was in New York for a day. At lunch, Sir Martin Sorrell pointed out that Microsoft overtook Apple as the most valuable software company as measured by market capitalization. It's a close call but Microsoft is now worth $805 billion while Apple is worth $800 billion.
What is interesting to me are the radical "ebbs and flows" of each organization.
In the '80s, Apple's market cap was twice that of Microsoft. Microsoft overtook Apple in the the early '90s, and by the late '90s, Microsoft's valuation was a whopping thirty-five times Apple's. With a 35x difference in valuation, no one would have guessed Apple to ever regain the number-one position. However, Apple did the unthinkable and regained its crown in market capitalization. By 2015, Apple was, once again, valued two times more than Microsoft.
And now, eighteen years after Apple took the lead, Microsoft has taken the lead again. Everything old is new again.
As you'd expect, the change in market capitalization corresponds with the evolution and commercial success of their product portfolios. In the '90s, Microsoft took the lead based on the success of the Windows operating system. Apple regained the crown in the 2000s based on the success of the iPhone. Today, Microsoft benefits from the rise of cloud computing, Software-as-a-Service and Open Source, while Apple is trying to navigate the saturation of the smartphone market.
It's unclear if Microsoft will maintain and extend its lead. On one hand, the market trends are certainly in Microsoft's favor. On the other hand, Apple still makes a lot more money than Microsoft. I believe Apple to be slightly undervalued, and Microsoft is to be overvalued. The current valuation difference is not justified.
At the end of the day, what I find to be most interesting is how both organizations have continued to reinvent themselves. This reinvention has happened roughly every ten years. During these periods of reinvention, organizations can fall out of favor for long stretches of time. However, as both organizations prove, it pays off to reinvent yourself, and to be patient product and market builders.
I recently had the pleasure of presenting my session 'How Drupal Contribution leads to Success' at Drupal South Canberra 2018.
Drupal adoption is still growing, but can the contributors keep pace? In this session I looked at how organisations can really benefit from contributing to Drupal.by Kim Pepper / 11 December 2018
DrupalSouth was a huge success this year, and the Australia & New Zealand community is growing from strength to strength. With such a strong community, it was no wonder we reached capacity for the sprint day on Wednesday.Why Contribute?
Drupal 8 may have lost some of its market share amongst the smaller sites globally, but it continues to grow in government, higher education, and increasingly the enterprise space.
The Australian government continues to back Drupal with the recent update of GovCMS, its procurement model, hosting platform and distribution. This has encouraged a large number of government agencies to adopt Drupal and deploy to the platform. At the time of publication, there were:
- 242 live sites
- 37 sites in development; and
- 82 agencies using GovCMS
However, we're still seeing a small number (<10) of these as registered organisations on Drupal.org.
“We’re watching the d.o issues on that closely…”
There is a tendency for these organisations to be consumers, rather than producers.
“For an ecosystem that provides gainful employment to so many, so much work falls to so few…”
The bottom line is: there is a need for more contributors. Perhaps the issues is that many organisations don't understand the benefits of contribution?The Hidden Benefit of Contribution
There is some interesting research done by Frank Nagle at Harvard Business School on The Hidden Benefit of Giving Back to Open Source Software. In his research, he found that those organisations which contribute gain more knowledge of and productivity in the open source software they use every day.
"Companies that contribute and give back learn how to better use the open source software in their own environment.” - Frank Nagle
This is despite the fact they are contributing code that other competitors can also directly benefit from.
The alternative to contribution is maintaining your own custom code, which despite potential early benefits in speed of development, carry a burden of long term maintenance. Consider the following which needs to be managed with limited team capacity:
- Test coverage
- Ongoing support
- Code Quality
- Security Audits
- Best practices
- API Updates & Deprecations
Also consider the quality of code that is required to be added to Drupal core. Contributions must:
- Follow coding standards
- Be accessible
- Be secure
- Be performant
- Be well tested
- Be peer reviewed
“The real power of open source is co-creation” - Dries Buytaert
Quite simply, as a community, we make better software.Push it up the Stack
A good strategy is to try and avoid custom module development and consider contributing code instead.
- Could it be a core issue / patch?
- Could it be contrib module issue / patch?
- Is it possible to make it generic for a new contrib module?
There are many ways to contribute, and there is a great introduction on Drupal.org on Ways to Get Involved.
One of the simplest ways is to spend time working in the Drupal.org issue queue, find an issue and then do one of the following:
- Read through the issue and update the summary
- Manually test a patch
- Review a patch
- Ask a question
- Post a patch
- Look at appropriate tags, and tag an issue
Some simple tags to get you started are:
- Needs tests
- Needs re-roll
- Needs steps to reproduce
- Needs manual testing
- Needs change record
- Quick fix
- Kill includes
If you are looking to get started with the basic workflow on Drupal.org, start with a quick fix or novice issue. The patch workflow can be a little daunting for first timers, but as of January 2019 we will have a brand-new pull request-based workflow thanks to the partnership with Gitlab! 🙌Sponsor Contribution
If you are in a position to make decisions about your developers time, consider sponsoring their open source contributions.
“...when these types of assets are central to a company’s core business, the company stands to gain a competitive edge by allowing employees to contribute to them on company time.” - Frank Nagle
You can sponsor contribution in many ways:
- 20% time (as PreviousNext does)
- Sprint days
- Client-sponsored contributions (i.e. for project work that can be contributed)
We had a great turnout at the Sprint Day at DrupalSouth Canberra this year!Benefits
So there are many benefits to contribution: from individuals gaining knowledge and expertise, to organisations building stronger more productive teams, to the wider open source community as a whole.
So, what are you waiting for?
P.S. The session slides are now available.Tagged Contributing, Drupal SouthLike display modes that allow you to display an entity in multiple ways, Drupal 8 allows you to create multiple form modes that can be used on entities, whether they are users, taxonomy terms, contents or any custom entity. Let's discover here how to use these form modes, from their creation to their use to customize the input of a user's information, for example.
Nowadays everyone has an API and it's fairly common to want a website you're working on to fetch data from a 3rd party API. That's because pulling 3rd party data into your website can not only enriches your website's content, but doing so can prevent the need to duplicate commonly needed data.
API provided data could include displaying weather information, going through drupal.org projects, looking through census results, or even displaying Magic the Gathering card data. In fact, every WordPress site comes with an active JSON API out of the box.
There really is an API for almost anything. It's no surprise that you'll eventually want to consume some random API while developing a Drupal website. Enough of the sales pitch, let's get started consuming JSON APIs.
Zivtech is happy to be offering a series of public Drupal 8 trainings at our office in downtown Philadelphia in January 2019.
Whether you consider yourself a beginner or expert Drupal developer, our training workshops have everything you need to take your Drupal skills to the next level.Our experience
The Zivtech team has many years of combined expertise in training and community involvement. We have traveled all over the world conducting training sessions for a diverse range of clients including, the United States Department of Justice, the Government of Canada, CERN, Howard Hughes Medical Institute, Harvard University and more.
We pride ourselves in educating others about open source, and attendees will leave our trainings with the knowledge to build custom Drupal sites, solve technical issues, make design changes, and perform security updates all on their own. We also offer private, onsite trainings that are tailored to your organization's specific needs.Read more
Although JSON Web Tokens (JWT) is a younger specification than its more well-established cousin, OAuth 2.0 Bearer Token authentication, JWT has been adopted by quite a few in the Drupal community due to its relative simplicity. In this installment, we explore JSON Web Tokens and how this authentication mechanism can benefit your decoupled Drupal architecture.Tags: acquia drupal planet
Over the last few months, I've been involved in a UX study to shed some light on what would make a good content editor experience in Drupal. I helped run a survey asking content editors for their feedback about the Drupal admin UI and got some interesting results. Then, we started looking around for examples of good content editor UX, which led to a comparative usability test of other CMS's, generating some ideas about patterns to follow and avoid.
I have a job where I get to train lots of people how to use Drupal: developers, site builders, and sometimes content editors. So I've gathered a lot of anecdotes of people's first impressions of editing content with Drupal.
As you've probably heard, there is work being done on a brand new Admin UI for Drupal, but this might take a while to build. So what are some things about content editor UX that we might be able to improve on before that?Autosave
When you ask content editors what we should change about the admin UI, this one always come up. All content authors have anxiety about losing their content. And when we ran our user testing with other CMS’s, autosave clearly reassured and delighted editors. For example, Contentful has a nice autosave message that helps users know that their content is saved.
There is an open issue for adding autosave to Drupal. It would be great to get momentum behind implementing this!A Content Editor Role
One of the challenges of using Drupal is that there are so many options. For site builders and developers, a UI that provides a lot of options is great because you can see that the platform is flexible. For content editors, seeing a lot of options that don’t relate to content editing is intimidating. From our usability testing, we can see that content editors love using a UI that is more streamlined, less complicated, and clearly designed for them.
Creating a content editor role as part of the Standard install profile might be a nice way to encourage the practice of limiting what content editors have access to by providing a set of default permissions to start with.
What should the content editor role look like? Of course, content editors need to be able to create and edit content. And they will need access to the content overview page. Should they have access to the Administer Content permission? What about working with files, taxonomy terms, revisions, and menus? Based on our content editor survey, it seems like giving all these permissions would align the role with a content editor’s typical tasks. But I think a more limited set of permissions would work as well, as long as it's clear that the permissions are a starting point that can be expanded on by an administrator.Show Me the Content!
On a standard Drupal install, when you log into Drupal you're redirected to your profile page. I think for most content editors, this doesn’t make sense. Your home base is probably the content overview page. Maybe we should redirect content editors to the content overview page when they log in.Move the Save Button
Currently, the Save button, along with the preview buttons and the interface to publish and moderate content is at the bottom of the node edit page. From our usability testing, it seems like content editors expect the Save button to be in the top right-hand corner. For long-form content, this would make those links more readily available and I think this would be a usability improvement for new content editors.
The key to success with all the save, preview, and content moderation options seems to be to put them all together. In the comparative usability testing, this feedback rang loud and clear.
One thing I like about moving the Save button top right-hand corner is that it puts those buttons in proximity to the “Revisions” section of the edit page, which is closely related to the task of saving or changing the status of a node.
That being said, I think it could really confuse existing Drupal editors if we just start moving buttons around. And I assume that there could be accessibility implications that we should take into account. So I leave this one as an open question. What do you think?Modernizing the UI
One of the big pieces of feedback we got from the content editors survey was that the Drupal UI looks dated. Well, the idea of modernizing the UI already has a ton of momentum behind it. I’m super excited about the work Christina Chumillas and others have done to create new, improved designs for the existing Admin UI of Drupal 8. This is not an overhaul of the UX, but a new, modern style guide applied to the existing one. It's a big improvement that I think will bolster first impressions of Drupal. And it's something that is planned to be implemented in the near future.What’s Next?
If you’re a UX person who wants to contribute to Drupal, there are ways to get involved! See the #ux and #admin-ui channels on Drupal Slack. If you have ideas for other content editor UX improvements, or know of existing UX issues in the queue that need some attention, I'd love to hear about them here. Or continue the conversation in those channels.+ more awesome articles by Evolving WebDrupal Lays The Foundation For Every Enterprise Akshita Mon, 12/10/2018 - 19:34
Global leading enterprises, brands, governments, and universities are experiencing the power of Drupal to engage with their audience through their websites and beyond. In a quest to lead the digital transformation experience, Drupal helps them manage and deliver a host of content across channels and devices.
Worldwide, the organizations are looking for a solution that will support their active community, growing businesses, and user experience. With technological innovations speeding up, be careful when you are choosing the CMS for your enterprise.
Enterprises’ demands, stakeholders’ demands, future requirements - choosing the right technology is a tough call. However, more and more organizations are leveraging Drupal for enterprise website development.
Fulfilling the business requirements as well as meeting the technical aspects, Drupal is used 7 times the number of top sites as its next two competitors combined (BuiltWith.com)
What is the Market Demand Like?
In one of its reports, Statista predicts the size of the enterprise content management (ECM) market worldwide to reach $67 billion by 2022.
The possible spike in the graph is likely due to digital transformation which has become a key strategy for every organization. In order to make the most of the data and information the focus is moving from managing content to using content to support process productivity with simple intuitive backend technology.
In this scenario, the information control and governance features of Enterprise Content Management move to the background, and content presentation comes to the fore.
Reliable, scalable, secure, flexible, presentation-friendly, future-proof to sustain the content without hampering the performance of your website. Can Drupal manage the unending list of demands?Drupal is Fostering Billion Dollar Businesses…
Drupal can manage, in fact, it is very well doing in that matter. Fostering billion dollar businesses under the aegis of its brand. The list includes names like Tesla Motors, The Economist, Puma, Pfizer, Timex, LO’real, Honda, Johnson and Johnson, and a million others.
Drupal 8 rightly taps into the concentrated innovation from its open source community.
Taking advantage from its open source community, Drupal derives the most value by being flexible while keeping its core robust without compromising on security providing with new capabilities for successful digital experiences.
Acknowledging that enterprise solutions often demand complex requirements, Drupal has it sorted for you.5 Unconventional Reasons to Choose Drupal For Your Enterprise
With Drupal, you can build a powerful website that’s optimized for every device, personalized for every visitor, and integrates with all your marketing tools.
Here are some of the solid reasons which make Drupal an excellent candidate for the enterprise of any scale or vertical.
With the new technological developments, Drupal meets these unconventional market demands just right.
- Content Presentation with a Headless Architecture
Customer experience is the new standard to measure the success of your online business, so much so that even the commerce is going headless. Supporting a headless architecture, Drupal can integrate frontend technologies like React and Angular to give a new dimension to the digital experience. Today, headless is destined to take user experience to a whole new level where the experience itself can be merchandised.
- Balancing the Hardware-Software Relationship
With changing demands, enterprises are entering new ways to distribute the content. The dramatic increase in smartphone usage and portable devices have triggered the emergence of stand-alone software apps. This requires an easy integration matrix between hardware devices (say an Apple Watch) and a data management system (software) to present the content in the desired format. This is especially important as a medical device CMS.
- Personalization with Machine Learning and Predictive UX
Bringing together advanced analytic capabilities, data mining, real-time scoring, and machine learning enterprises are trying to discover patterns in data and forecast events to offer the best digital user experience. In fact, 65% of customers are more likely to shop at a store or online business that sent relevant and personalized promotions.
For enterprises, machine learning has the ability to scale across a broad range of businesses.
Acquia Lift Connector, a Drupal module, offers integration with the Acquia Lift service and an improved user experience for web personalisation, testing and targeting directly on the front end of your website.
It leverages machine learning to automatically recommend content based on what a user is currently looking at or has looked in the past. It has the feature of real-time adaptive targeting that refines segments while A/B helps in keeping the users engrossed with the content that resonates.
Chatbots to Drive the Business Value
Providing a conversational UI that communicate with the users and is vital for an organization, you can't afford to miss Chatbots in your website. Understanding what users want to know, pass on the information to the backend, and provide them with quick and better responses. Chatbot API, in Drupal helps integrate chatbots with your website.
Exploring Markets with AR and VRSource: Statista
Drupal leads by an example when it comes to innovating with technologies outside of its periphery. By the year 2022, the market size of Virtual Reality and Augmented Reality is forecasted to increase by humungous levels as can be seen in the graph below.
Several examples of VR applications built on top of Drupal 8 have been presented in the community. One of the famous examples of VR built on Drupal is the 'The Drupal site of Massachusetts State University' (a fictional university).
Augmented Reality has a lot to offer to different industries, with transportation, sports, education, and healthcare reaping the most benefits out of it. More recently with Google adding AR to its maps for a street view mode.
It is Easy To Build
With Drupal 8.6 “quick-start” command, launching a Drupal site is easy in one command using only one dependency, PHP. Setting up a demo website no longer requires you to have setup a web server, a database, containers, or anything else.
A fully functional Drupal demo application can be downloaded and installed in less than two minutes.
Providing easy-to-set-up solutions with distribution, the development time is cut by half.
Enabling companies to deploy core features and functionality rapidly, it allows easier customization as per their business requirements. It is easier to choose the layout and themes for your Drupal website, as themes and appearances are just a click away. With features simplified to make non-developers comfortable around Drupal, the editorial capabilities have been made fluent and easy.
Drupal is Secure
Used by hundreds and thousands of websites, Drupal’s core, codes, and passwords are repeatedly encrypted and hashed to strengthen the life of your website.
Supported by experts, and a large and continuously growing community, it has a dedicated security team to patch any probable security violation.
In case of any security update, the community ensures that you get notified the day patches are released. Security release windows are released every Wednesday for contributed projects, and the third Wednesday of every month for core, usually, for a fixed period of time.
Even though the release window does not necessarily mean that a release will actually be rolled out on that date, it exists for the site administrators to know in advance the days they should look out for a possible security release.
In addition to the proven security of core, numerous contributed modules can strengthen the security of your website. These modules extend the security by adding password complexity, login, and session controls, increasing cryptographic strength, and improving Drupal' logging and auditing functions. Additional security modules like security kit, captcha, paranoia, Drupal Security Review can be used as a checklist to test and check for many of the easy-to-make mistakes making your site vulnerable.
Security Team and Working Group
The security team works closely with the Drupal Security Working Group (SecWG), comprising dozens of experts from around the world to validate and respond to security issues, aim being - to ensure that core and contributed project system provides world-class security and provide security practices to community developers.
Its core is designed to prevent any possible security breach. Vulnerabilities in the core are coordinated with branch maintainers and individual project maintainers respectively.
Drupal has proven to be a secure solution for enterprise needs and is used by top-tier enterprises.
Drupal is Scalable and Flexible
Another salient feature that makes it popular among businesses. When concerning web technology, enterprises require the ability to handle considerable traffic throughout - especially if it is a media and entertainment site.
Drupal has stood both the test of time and traffic spike.
Its ability to make the framework extensible via its modules and distributions is at the heart of much of its success. While it has enabled the core to sustain the bulk of the content, its way to streamline the demands of new industries by allowing them to address their needs in the form of custom modules and distributions has given it more satisfactory customer reviews.
One matter that addresses the worries of enterprises is the cost of maintenance. Many government and non-government organizations have migrated to Drupal to avoid the licensing and maintenance cost of the proprietary systems.
Excels at Faster and Responsive Development
According to Google’s official statement, more than 50% of search queries globally now come from mobile devices. People want to be able to find answers as fast as possible and various studies have proved that people really do care about the loading speed.
And that is why a recent Google release says that page speed will be a ranking factor for mobile searches from July 2018. It’s high time that you take the combination of performance and mobile responsiveness as a serious factor for improving visibility and revenue from the web. It is very important to have an AMP friendly website.
Drupal 8 is built for a mobile-first world. Everything in version 8 supports mobile responsive design. Its admin and default designs are responsive for both developers and content authors providing a responsive front-end theming framework.
Increasing the loading speed of your web page opens numerous doors for business. And when users can view your Drupal website the same way on a desktop and mobile devices you cannot be having second thoughts.
Mobile responsiveness helps you deliver the optimal mobile visitor experience. It supports the best responsive design practices and ensures that your users get a coherent experience anytime and every time.
Supports Multi-site Functionalities
Given that your organization is running more than one site, the maintenance and management would require big bucks and time. But with the multi-site feature you can share one single Drupal installation (which includes core code, contributed modules, and themes) among other several sites.
Enterprises, this way, can handle complex requirements from a single Drupal installation which implies that less time and resources are required to build your network of websites.
One can manage any number of sites across their organization or brand, crossing geographies and campaigns from a single platform that allows swift and uncomplicated site creation and deployment.
This is particularly useful for managing the core code since each upgrade only needs to be done once. While each site will have its own database and configuration settings to manage their own content, the sites would be sharing one code base and web document root.
The multisite feature can be used for sites with the same features and functionalities. But if you have different functionalities it is better to test each site independently.
Realizing the needs of every industry is different, Drupal has something for everyone.
Media and entertainmentEditing and Scalability
Media and entertainment websites worldwide use Drupal for their online platforms for seamless editing and scalability. The list of over one million organizations includes The Economist, ET Online, MTV(UK), The Grammy, The Emmy, The Weather.com, The Beatles, and Warner Bros Music.
Scalability is all about quantity - how many requests and amount of information you can handle at any given time without breaking or bending. Supporting some of the world’s most visited sites, Drupal is the other name of scalability.
Allowing easy content editing and management, which media and entertainment websites look for, it provides it all with WYSIWYG and CKEditor without another weighty feature.
SaaS enterprises are using Drupal to build the platform for their product as well as a community to engage with the clients and followers. It is easy to develop the platforms and then keep on adding the features in the later phase.
Given that community platforms are one of the key needs of SaaS organizations which allow the domain for the prospects and help the product and community to grow alike, distributions like OpenSocial offer great help.
Zoho is one of the SaaS products using Drupal for its community platforms.
Providing easy payment gateway to conduct online transactions, Drupal ensures the customer information passes seamlessly and remains safe.
Its core commerce payment module and distributions (Drupal commerce and Commerce KickStart) support the payment API, for a smooth payment collection procedure, through the check out form.
Supporting Paypal Express Checkout and Paypal Credit along with Amazon Pay, it lets you reach a wider audience by letting your shoppers complete the payment and shipping information stored on their Amazon accounts.
Lush is a Drupal patron.
Tour and travel
For a potential traveler, your site shouldn’t look like just-another-information-brochure on the web. The need for an end-to-end solution to integrate all the minute details (from hotel booking to landing back) has never been greater.Booking Engine:
Providing two of the best booking solutions for your website:
- EasyBooking - Distribution
- BAT - Module
A complete solution for your vacation portal, BAT allows you to build an exclusive booking engine for a better customer relationship management. And EasyBooking gives a set of options to your visitors to make room reservations, contact hotel administration, or just sign-up for the hotel’s newsletter to be aware of the special offers and discounts.
A design which resonates with your brand, interests and engages with your visitors is what you should indulge your resources in developing.
It’s the psychological effect which drives the visitor to make a transaction or to explore provided possibilities throughout the interface. Every landing page matters.
Regardless of your showcased products, Drupal themes provide sound navigation throughout the categories and sections with in-built hero banners’ section and pop-ups which are definitely customizable.
Additional modules can be further used to build an industry-specific theme. In order to cope up with varied demands, it provides more than two thousand easy and free to use themes on the go.
WholeFoods is built on Drupal.
Government and Non-GovernmentCost and Security:
In 2012 when the Georgian government shifted to Drupal, the first reason to dump its previous CMS (Vignette) was its rising maintenance costs.
Running a total of 65 state websites on two different versions of this proprietary system proved to be costly in the long run
Another decisive factor for government websites, uncompromised security is why government organizations are opting for Drupal. Around 150 governments are already powered by it. Just like the Georgian government, costs have been a significant factor affecting the choice of government and non-government agencies.
To quickly build your higher education website, distributions provide an easy opportunity to build the website halving the development time and providing quick features. Opigno and OpenEDU are two of the distributions used widely by the higher-ed websites.
Drupal is most widely used CMS in the education sector no wonder why top international universities like the Harvard, Brown, Yale, Pennsylvania, and Columbia rely on it.
Harvard and Oxford are built on Drupal.
HealthCare and Life SciencesContent and User access control:
It can conform to any workflow that can be programmed with just a few configurations available. You can identify different types of content such as text, images, comments, file attachments, and any other information on your website for easy content integration and management.
Pfizer, a leading pharma organization is built on Drupal.Drupal As an Enterprise Management System
The need for an intranet system cannot be emphasized enough. For your business to grow by leaps and bounds, it is necessary to establish clear communication within your organization.
As your business expands, the need for an intranet system which can help in storage and sharing of data increases. ECMS is different from the web content management system in the way that the former is specifically designed for enterprise websites and is more dynamic.
Drupal allows building ECMS in two ways, either by using its modules and features or with the third party configuration. Its integration capabilities help the website to serve as a central content management system integrated with other necessary advancements.Drupal Is Easier To Manage
Drupal isn’t hard to use, but it can be hard to learn how to use. Even though it requires more technical experience it is capable of producing exceptionally advanced sites. There is a WYSIWYG editor and drag-and-drop functionality to ease out the process and help you start straight away.
The release of version 8 has made the platform easier to use even for non-developers(and it includes content authors). Managing your website is easy as the community platform provides you with necessary documentation and answers in case you get stuck.Summary
Being one of the leading technologies in the market, Drupal gives your enterprise the features and flexibility to innovate as per your visitor behavior and preferences.
We’d love to hear your thoughts. To get in touch, drop a mail at email@example.com and let us know how we can enhance your statistics with Drupal.blog banner blog image Drupal and enterprise Drupal Drupal 8 Drupal module Drupal for Enterprise Digital Marketing Blog Type Articles Is it a good read ? On
OPTASY: How to Scale a Web Application in Drupal: Latest Techniques to Easily Scale Your Web App with Drupal 8How to Scale a Web Application in Drupal: Latest Techniques to Easily Scale Your Web App with Drupal 8 radu.simileanu Mon, 12/10/2018 - 11:47
It's a fact: “the next generation” of web apps aren't just extremely fast, they're highly scalable, as well. Which brings us to the next question: “How do you scale a web application in Drupal?”
What tools, best practices, and latest techniques do you use for leveraging Drupal 8's scalability capabilities?
For ensuring that your custom web app will keep on scaling to:
- handle sudden spikes in traffic
- avoid downtime
- withstand “surprise” content overloads
Well, here they come:1. But Is Drupal Scalable? How Scalable?
Let's just say that:
Drupal's built with scalability in mind and that Drupal 8 is... extremely scalable.
If you've adopted a Composer-based Drupal 8 workflow (hopefully using the Drupal Composer/Drupal Project template) where you're keeping dependencies in your project's repository, then you've no-doubt experienced the annoyance of a rouge .git directory ending up in one of your project's dependencies. This will always happen when you're using the -dev version of a Drupal module.
For example, as of the authoring of this Quicktip, the Field Redirection module does not yet have a stable release for Drupal 8. When added to a project using Composer, the results look like this:
Michaels-MacBook-Pro:dcoweek5 michael$ ddev composer require drupal/field_redirection
Executing [composer require drupal/field_redirection] at the project root (/var/www/html in the container, /Users/michael/sites/dcoweek5 on the host)
Using version 2.x-dev for drupal/field_redirection
./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing drupal/field_redirection (dev-2.x e1c30f2): Cloning e1c30f24f9 from cache
Writing lock file
Notice on the "Installing drupal/field_redirection..." line, it indicates that the project is cloned, not downloaded. This means that a .git directory has been created in the Field Redirection directory.
Note that I'm calling Composer as "ddev composer ..." - this is because I use DDEV as my local development environment and am utilizing its built-in Composer command.
If this goes unnoticed, and you attempt to do a normal "git add/commit" workflow for the new module, you'll end up with a somewhat-friendly Git message indicating that you now have a Git submodule.
Unfortunately, Git submodules aren't normally necessary nor wanted when you are committing dependencies to the project repository. So, the typical solution is to delete the .git directory of the dependency prior to performing the "git add/commit".
Luckily, there's an easier way! Travis Neilans recently pointed me in the direction of the Composer Cleanup VCS Directories project. By adding this as a dependency of your project, any .git directories that result from adding project dependencies will be automatically removed! First, install the Composer Cleanup VCS Directories project using:
composer require topfloor/composer-cleanup-vcs-dirs
Then, anytime you use "composer require" to install a project dependency, if there's a .git directory, you'll see a message indicating that it has been automatically removed.
Deleting .git directory from /var/www/html/web/modules/contrib/field_redirection/.gitHeadless Drupal Commerce: The Future of Commerce Shankar Sun, 12/09/2018 - 20:35
Customer experience was elevated to a new high when storefronts and shopping carts first burst onto the scene. Then, e-commerce created a different dimension in the world of shopping. In this age of shoppable everything, brands and retailers need to seize the moment of truth as consumers look for shiny objects of inspiration. Today, headless commerce is destined to take shopping experiences to a whole new level where the experience itself can be merchandised.
Headless Commerce: Explained
Headless commerce is here to get the consumer’s attention and get the deal done. Drupal Commerce allows you to implement headless commerce and helps in monetising the moment of heightened emotion as most of the time, the inspiration, which is potent at the moment, diminishes to a fleeting whim.
When the frontend of your shopping experience is decoupled from the backend, that is, the presentation is segregated from the commerce stack, it is referred to as headless commerce architecture.In headless commerce, the frontend of your shopping experience is decoupled from the backend.
Such an architecture supports an e-commerce platform without ‘head’ - front-end presentation layer - permitting additional flexibility, customisation, enhanced shopping experiences and creative freedom.
In a headless commerce, you do not have to worry about interfering with the back-end commerce setup. Marketers and merchants can experiment and make alterations to the front-end with agility.Source: SnipcartHeadless commerce vs Traditional commerce
Following are the two key differences:
In a traditional commerce, design constraints are observed as alterations would require you to invest an awful lot of time in editing the database, code, and the frontend platform.
In contrast, frontend developers do not have to be concerned about modifying databases in the backend and can create a unique user experience that adheres to their business requirements with just a simple API call. With no presentation layer, everything from product pages to the landing pages has to be built from the scratch in headless commerce.More room for customisation
In traditional commerce, developers have to edit several layers of coding even for a single customisation starting from front-end to the database layer that is dwelling in the back-end.Headless commerce offers more room for customisation and personalisation.
Headless commerce offers more room for customisation and personalisation. It gives you complete authority over the look and feel of your digital commerce platform.Benefits of headless commerce
Following are some of the major benefits from different perspectives:Magnificent shopping experience
It gives a magnificent shopping experience to developers, merchants, and consumers. For instance, adding a new field to a customer account, implementing a custom checkout flow, adding ratings and reviews to the shopping experience and many others can be performed without redeploying the digital commerce platform.
With less duplication of functionality, it offers a better experience to the merchants while administering the shop. At the same time, end-users or consumers get content-rich experiences.Leveraging portable backends
There is no dependency on large, restricting infrastructures which lets you stay competitive with your front-end without getting bogged down by coupled solutions.Choosing best front-end tools
Whether it is a web application, mobile application or Internet of Things, headless commerce lets you select the best front-end tools for every platform or device.Utilising JAMstack
Headless commerce allows you to build using JAMstack which faster, safer and cost-effective thereby providing a creative and strategic development experienceHeadless commerce with Drupal
Drupal Community, with its commitment towards making Drupal more better, is continuously working on decoupling Drupal Commerce and the result is incredible.Drupal Camp Ashville 2018
A session held at Drupal Camp Ashville 2018 delineated the development of the Commerce Demo project. It talked about the out-of-the-box capabilities of the demo store and an ecosystem update constituting the roadmap for decoupled Drupal Commerce. The demo store is available online.
The Commerce Demo project was built to create a product catalogue that can be easily removed without hampering the configuration of the site. The design involved modern shopping cart interaction paradigms. It required simple Views and Form API based solutions.
As a result, the design resulted in building a standalone Commerce Cart API module. This can be leveraged by anyone to develop a custom shopping cart widget and Commerce Cart Flyout which is the reference implementation for demonstrating how decoupling Drupal Commerce would look like.
The design resulted in the development of a standalone Commerce Cart API module that anyone can use to develop a custom shopping cart widget and Commerce Cart Flyout. It showed a reference implementation that demonstrates what decoupling Drupal Commerce can look like.Drupal Europe 2018
Another session held at Drupal Europe 2018 showed a Cart API for progressively decoupled cart experiences. It talked about how to decouple Drupal Commerce to enhance scalability and flexibility for the organisations. It demonstrated the works that were done for developing a standard Cart API to support progressively decoupled shopping carts in Drupal Commerce for Drupal 8. It was not without hurdles as the core RESTful Web Services were reviewed and involved contributions in JSON API projects.
The new Commerce Cart API project and the reference implementation in Commerce Cart Flyout demonstrated the end result showing a potential of creating a unique user experience. With this, Drupal Commerce can offer great shopping experiences that are on par with leading e-commerce software platforms. This would, in turn, make it simpler for Drupal agencies to sell Drupal Commerce to the customers.
Enterprises encounter increasing pressure to offer innovative customer experiences, An API-based headless architecture provides increased flexibility with its decoupled user interface (UI) approach. Technical professionals responsible for digital commerce can utilise Drupal Commerce for delivering fantastic shopping experiences.
We have been committed to providing a great digital experience with our expertise in Drupal Development.
Contact us at firstname.lastname@example.org to implement headless commerce for your enterprise.blog banner blog image headless commerce headless drupal commerce Blog Type Articles Is it a good read ? OnPicturing yourself winning: How Drupal Powers Sports Brand? Shankar Sun, 12/09/2018 - 20:29
As Leicester City fans continued to rejoice at their team’s unlikely triumph in the 2016 edition of English Premier League to become the champions for the very first time, some people were contemplating how the underdogs managed to beat such high odds. The way a team envisages itself performing is just as important as the physical strength of the players. And in this age of digitisation, imagining themselves performing well in the digital space is immensely significant. This is where Drupal comes in.
Benefits of Drupal
Be it a football club, a tennis open or a cricket world cup, any popular sports team and the tournament would want to be an instant hit among the sports lovers around the globe and build on it to create a unique brand identity. As one of the leading content management systems, Drupal can help a sports brand establish themselves as an important entity in the digital arena with a unique and powerful website.
Drupal powers websites of biggest of the sports brands like National Basketball Association, PGA Tour, Major League Soccer, Sevilla Fútbol Club, Kentucky Derby, New England Patriots among others.Drupal powers websites of biggest of the sports brands
Why do such great names choose Drupal? You have the reasons stated below:Phenomenal Features
Drupal offers a large number of open source modules, themes and distributions to help build a sports-centric website with robust features.
For instance, Sports League module helps govern content that is typically used for a sports club. It can help manage multi-competition editions and their standings. It can handle rosters, automatic statistics on players and teams and the match moments.
If you need a lightweight Drupal theme for a sports-related website, Drupal 8 Premier League Theme is a great fit. It has features like slider functionality, colour switcher functionality, social media integration among others.
For a complete starter pack, there is a Drupal distribution Sportsleague comes with superb features to help build a sports-related website with its robust features for managing content, user accounts, image uploading, and search.Security
Among the leading open source CMSs, Drupal has made great inroads for being one of the most secure frameworks and has reported least vulnerabilities among the leading players in the industry. Drupal Security Team actively validates and responds to security issues to it the best security-focussed CMS.Scalability
Drupal can scale with your needs and help you handle busiest of the days by effectively coping with an enormous amount of traffic.Drupal can scale with your needs Multilingual
Drupal 8 has in-built support for language handling in the form of core modules and lets you deliver localised digital experiences.Mobile-responsive
In this age of mobile devices, Drupal enables the development of responsive sites and web applications that would let you interact with your consumers on-the-go.Speed
Drupal’s flexible platform ensure the continuous delivery of the web development project and run an agile team. Moreover, Drupal is awesome for implementing performance optimisation techniques and build a high performing website.Third-party integration
To get the best out of the tools that are outside the periphery of Drupal, you can integrate a variety of marketing technologies and business applications.Content Workflow
Drupal has terrific tools for making it a loveable CMS for the content authors while creating and publishing content on the site. Its preview feature delineates how your content will look across various devices. Also, the authentication and permissions bring in improvement in the editorial workflow.
You can create the right content architecture and exhibit appropriate content for each context with the help of stupendous display mode tools, Views and a wide range of media types.Content-as-a-service
Drupal’s content as a service approach allows the front-end developers to build engaging customer experiences with Drupal’s presentation neutral content and RESTful API by utilising tools like Angular, Ember, Backbone and so on.Multisite
It helps you in governing multisite setup across your enterprise brands, geographies and promotional campaigns on a centralised platform.Drupal helps you build a solution that adheres to your business requirements Business-driven
Drupal helps you build a solution that adheres to your business requirements. It does things as your business demands.Perfect tech stack
Drupal dwells on a modern LAMP technology stack that constitutes Linux, Apache, MySQL, and PHP. This allows Drupal to fulfill the needs of fast-moving, flexible and agile organisations who are in pursuit of creating ambitious digital experiences and help them build next-generation digital platforms.Large community
One of the most beautiful things about Drupal is its huge community presence as thousands of organisations create solutions with Drupal and in the process build Drupal itself.Case studies
Travelling along the process of building an actual sports website with Drupal would throw the light on how it powers a sports brand. To do so, let us look at the development of two of the massive names in the sports viz. Major League Soccer and Sevilla FC.Development of Major League Soccer
Major League Soccer (MLS) is a professional soccer league that primarily represents top-notch talent from both United States and Canada. It took help from a digital agency to migrate each team’s site to the Drupal platform.
Drupal proved a remarkable solution to improve the fan experience which was the top-of-the-line requirement. While the site maintainers of the each of the sites could easily configure their team’s instance, custom, rich multimedia platform allowed viewers to enjoy games in real-time from any device. Moreover, switching to a multisite setup cut their deployed footprint.
The Drupal platform integrated with the majority of MLS properties comprising of the league’s videos and stats. Furthermore, the integration of Doubleclick for Publishers Drupal module optimised the placement of ads and attract visitors with vibrant advertising media. Also, Drupal allowed faster editorial capabilities and strong customisations.
Thus, Drupal helped build a stable infrastructure for MLS and reduced severity of alerts.Development of Sevilla FC
Sevilla FC was established in 1890 and is one of the oldest football teams in the history of Spain’s football history. A digital agency used Drupal 8 to help them improve their online brand spectacularly.
Drupal 8 helped in incorporating multisite architecture to build the main website and several satellite sites. The Club was also able to edit and publish most of the app content from a sole entry point.
Most importantly, the multilingual capability was enabled easily with Drupal 8. Drupal’s open source security was also an important reason for considering Drupal for the redressal of the website. Drupal has also resulted in a better website performance, enriching user experience, lower maintenance costs, and improved hardware consumption.
Hence, Drupal helped in increasing monthly user acquisition and the global audience in addition to stability and high availability of the website.Conclusion
The mantra of Go Play And Get Fit is something we hear from our peers all our life. And we also hear that mental strength and physical strength go hand-in-hand. That is absolutely true. It also applies to a sports-based website albeit in a different manner so that it can be ‘fit’ enough to provide great digital experiences and grow as a brand. Drupal powers innovation and can be a marvellous CMS for building a sports-related website.
We can assist you in growing as a sports brand with our suite of services.
Contact us at email@example.com to power your sports brand with Drupal.blog banner blog image Drupal 8 Sports website Drupal and sports Blog Type Articles Is it a good read ? OnWebmentions for Drupal in pretty good shape Jürgen Haas Sun, 12/09/2018 - 12:13
Thanks to a tutorial from @swentel my attention got back to webmentions again and I gave the first release candidate for Drupal another try. What's still confusing to me that I have to enter a link-class and a publishing target manually. The former might be a task for a link widget and the latter may be some lack of understanding the API so far.
In case you missed the news from September, Dries Buytaert announced the end of life dates for both Drupal 7 & 8. The date for both Drupal 7 & 8 is slated for November of 2021, and that may seem strange, but it really makes sense given the differences in 7 & 8 and the widespread usage of 7. Drupal 8 is ending alongside Symfony 3 which powers a lot of the underlying framework of Drupal 8, so that makes perfect sense.Drupal.org - aggregated feeds in category Planet DrupalSubscribe to Drupal Planet feedCategory
- Do not attempt field storage write when field content did not change
This week I was in New York for a day. At lunch, Sir Martin Sorrell pointed out that Microsoft overtook Apple as the most valuable software company as measured by market capitalization. It's a close call but Microsoft is now worth $805 billion while Apple is worth $800 billion.
What is interesting to me are the radical "ebbs and flows" of each organization.
In the 80's, Apple's market cap was twice that of Microsoft. Microsoft overtook Apple in the the early 90's, and by the late 90's, Microsoft's valuation was a whopping thirty-five times Apple's. With a 35x difference in valuation, no one would have guessed Apple to ever regain the number-one position. However, Apple did the unthinkable and regained its crown in market capitalization. By 2015, Apple was, once again, valued two times more than Microsoft.
And now, eighteen years after Apple took the lead, Microsoft has taken the lead again. Everything old is new again.
As you'd expect, the change in market capitalization corresponds with the evolution and commercial success of their product portfolios. In the 90s, Microsoft took the lead based on the success of the Windows operating system. Apple regained the crown in the 2000s based on the success of the iPhone. Today, Microsoft benefits from the rise of cloud computing, Software-as-a-Service and Open Source, while Apple is trying to navigate the saturation of the smartphone market.
It's unclear if Microsoft will maintain and extend its lead. On one hand, the market trends are certainly in Microsoft's favor. On the other hand, Apple still makes a lot more money than Microsoft. I believe Apple to be slightly undervalued, and Microsoft is to be overvalued. The current valuation difference is not justified.
At the end of the day, what I find to be most interesting is how both organizations have continued to reinvent themselves. This reinvention has happened roughly every ten years. During these periods of reinvention, organizations can fall out out favor for long stretches of time. However, as both organizations prove, it pays off to reinvent yourself, and to be patient product and market builders.
Last week, WordPress Tavern picked up my blog post about Drupal 8's upcoming Layout Builder.
While I'm grateful that WordPress Tavern covered Drupal's Layout Builder, it is not surprising that the majority of WordPress Tavern's blog post alludes to the potential challenges with accessibility. After all, Gutenberg's lack of accessibility has been a big topic of debate, and a point of frustration in the WordPress community.
I understand why organizations might be tempted to de-prioritize accessibility. Making a complex web application accessible can be a lot of work, and the pressure to ship early can be high.
In the past, I've been tempted to skip accessibility features myself. I believed that because accessibility features benefited a small group of people only, they could come in a follow-up release.
Today, I've come to believe that accessibility is not something you do for a small group of people. Accessibility is about promoting inclusion. When the product you use daily is accessible, it means that we all get to work with a greater number and a greater variety of colleagues. Accessibility benefits everyone.
As you can see in Drupal's Values and Principles, we are committed to building software that everyone can use. Accessibility should always be a priority. Making capabilities like the Layout Builder accessible is core to Drupal's DNA.
Drupal's Values and Principles translate into our development process, as what we call an accessibility gate, where we set a clearly defined "must-have bar". Prioritizing accessibility also means that we commit to trying to iteratively improve accessibility beyond that minimum over time.
Together with the accessibility maintainers, we jointly agreed that:
- Our first priority is WCAG 2.0 AA conformance. This means that in order to be released as a stable system, the Layout Builder must reach Level AA conformance with WCAG. Without WCAG 2.0 AA conformance, we won't release a stable version of Layout Builder.
- Our next priority is WCAG 2.1 AA conformance. We're thrilled at the greater inclusion provided by these new guidelines, and will strive to achieve as much of it as we can before release. Because these guidelines are still new (formally approved in June 2018), we won't hold up releasing the stable version of Layout Builder on them, but are committed to implementing them as quickly as we're able to, even if some of the items are after initial release.
- While WCAG AAA conformance is not something currently being pursued, there are aspects of AAA that we are discussing adopting in the future. For example, the new 2.1 AAA "Animations from Interactions", which can be framed as an achievable design constraint: anywhere an animation is used, we must ensure designs are understandable/operable for those who cannot or choose not to use animations.
Drupal's commitment to accessibility is one of the things that makes Drupal's upcoming Layout Builder special: it will not only bring tremendous and new capabilities to Drupal, it will also do so without excluding a large portion of current and potential users. We all benefit from that!
Apple had a rough year; its stock price has fallen 25% since the beginning of the year. Apple also reported a weaker than expected outlook and shared that it will no longer report individual unit sales, which many consider a bearish signal within a saturated smartphone market.
It's no surprise that this has introduced some skepticism with current Apple shareholders. A friend recently asked me if she should hold or sell her Apple stock. Her financial advisor suggested she should consider selling. Knowing that Apple is the largest position in my own portfolio, she asked what I'm planning to do in light of the recent troubles.
Every time I make an investment decision, I construct a simple narrative based on my own analysis and research of the stock in question. I wrote down my narrative so I could share it with her. I decided to share it on my blog as well to give you a sense of how I develop these narratives. I've shared a few others in the past — documenting my "investment narratives" is useful as it helps me learn from my mistakes and institutes accountability.
As a brief disclaimer, this post should be considered general information, and not a formal investment recommendation. Before making any investment decisions, you should do your own proper due diligence.
Over the last five years, Apple grew earnings per share at 16% annually. This is a combination of about 10% growth in net profit, combined with almost 6% growth as the result of share buybacks.
Management has consistently used cash to buy back five to six percent of the company's outstanding shares every year. At the current valuation and with the current strength of Apple's balance sheet, buybacks are a good use of a portion of their cash. Apple will likely see similar levels of cash generation in the coming years so I expect Apple will continue to buy back five to six percent of its outstanding shares annually. By reducing the number of shares on the market, buybacks lift a company's earnings per share by the same amount.
Next, I predict that Apple will grow net profits by six to seven percent a year. Apple can achieve six to seven percent growth in profits by growing sales and improving its margins. Margins are likely to grow due to the shift in revenue from hardware to software services. This is a multi-year shift so I expect margins to slowly improve over time. I believe that six to seven percent growth in net profits is both reasonable and feasible. It's well below the average 10% growth in net profits that we've seen in recent years.
Add 5-6% growth as the result of share buybacks to 6-7% growth in profit as a result of sales growth and margin expansion, and you have a company growing earnings per share by 12% a year.
If Apple sustains that 12% percent earnings per share growth for five years, earnings per share will grow from $11.88 today to $20.94 by the end of 2023. At the current P/E ratio of 15, one share of Apple would be worth $314 by then. Add about $20 in dividends that you'd collect along the way, and you are likely looking at market beating returns.
The returns could be better as there is an opportunity for P/E expansion. I see at least two drivers for that; (a) the potential for margin improvement as a result of Apple shifting its revenue mix, and (b) Apple's growing cash position (e.g. if you subtract the cash per share from the share price, the P/E increases).
Let's assume that the P/E expands from the current 15 to 18. Now, all of a sudden, you're looking at a per share price of $397 by the end 2023, and an average annual return of 18%. If that plays out, every dollar invested in Apple today, would double in five years — and that excludes the dividend you'd collect along the way!
Needless to say, this isn't an advanced forecasting model. Regardless, my narrative shows that if we make a few very reasonable assumptions, Apple could have a great return the next five years.
While Apple's day of disruption might be behind it, it remains one of the greatest cash machines of all time. Modest growth combined with a large buyback program and a relatively low valuation, can make for a great investment.
I'm not selling my Apple stock and I'd be tempted to buy more if the share price were to drop below $155 a share.
Disclaimer: I'm long AAPL. Before making any investment decisions, you should do your own proper due diligence. Any material in this article should be considered general information, and not a formal investment recommendation.
Many of Acquia's customers have hundreds or even thousands of sites, which vary in terms of scale, functionality, longevity and complexity.
One thing that is very unique about Acquia is that we can help organizations scale from small to extremely large, one to many, and coupled to decoupled. This scalability and flexibility is quite unique, and allows organizations to standardize on a single web platform. Standardizing on a single web platform not only removes the complexity from having to manage dozens of different technology stacks and teams, but also enables organizations to innovate faster.
A great example is NBC Sports Digital. Not only does NBC Sports Digital have to manage dozens of sites across 30,000 sporting events each year, but it also has some of the most trafficked sites in the world.
In 2018, Acquia supported NBC Sports Digital as it provided fans with unparalleled coverage of Super Bowl LII, the Pyeongchang Winter Games and the 2018 World Cup. As quoted in NBC Sport's press release, NBC Sports Digital streamed more than 4.37 billion live minutes of video, served 93 million unique users, and delivered 721 million minutes of desktop video streamed. These are some of the highest trafficked events in the history of the web, and I'm very proud that they are powered by Drupal and Acquia.
To learn more about how Acquia helps NBC Sports Digital deliver more than 10,000 sporting events every year, watch my conversation with Eric Black, CTO of NBC Sports Digital, in the video below:
Not every organization gets to entertain 100 million viewers around the world, but every business has its own World Cup. Whether it's Black Friday, Mother's Day, a new product launch or breaking news, we offer our customers the tools and services necessary to optimize efficiency and provide flexibility at any scale.
Congratulations to two of my best friends, Klaas and Joke, for selling their company, Inventive Designers. The sale is a great outcome for Inventive Designer's customers, partners and employees. This sale also means I will no longer serve on Inventive Designer's Board of Directors. I'll miss our board meetings, but I'm sure Klaas, Joke and I will replace them with nights in a local bar. Congratulations, Klaas and Joke!
One trend I've noticed time and time again is that simplicity wins. Today, customers expect every technology they interact with to be both functionally powerful and easy to use.
They completed the replatforming work in under four months, and beat the original launch goal by a long shot. By leveraging Drupal 8's improved content authoring capabilities, Paychex also made it a lot simpler for the marketing team to publish content, which resulted in doubled year-over-year growth in site traffic and leads.
To learn more about how Paychex accomplished its ambitious digital and marketing goals, watch my Q&A with Erica Bizzari, digital marketing manager at Paychex.
During the Innovation Showcase at Acquia Engage, I invited Mike Mancuso, head of digital analytics at Wendy's, on stage. Wendys.com is a Drupal site running on Acquia Cloud, and welcomes 30 million unique visitors a year. Wendy's also uses Acquia Lift to deliver personalized and intelligent experiences to all 30 million visitors.
In the 8-minute video below, Mike explains how Wendy's engages with its customers online.
For the occasion, the team at Wendy's decided to target Acquia Engage attendees. If you visited Wendys.com from Acquia Engage, you got the following personalized banner. It's a nice example of what you can do with Acquia Lift.
As part of my keynote, we also demoed the next generation of Acquia Lift, which will be released in early 2019. In 2018, we decided that user experience always has to come first. We doubled our design and user experience team and changed our product development process to reflect this priority. The upcoming version of Acquia Lift is the first example of that. It offers more than just a fresh UI; it also ships with new features to simplify how marketers create campaigns. If you want a preview, have look at the 9-minute video below!
Today I turned forty. This morning, Axl and Stan surprised me with coffee in bed, served in a special birthday mug that they created.
When getting ready for a birthday party this weekend, I shaved not only my beard, but also my nose and ear hair. It sums up turning forty nicely.
Much of the things they say about turning forty are true: getting adequate sleep has become a priority, you no longer recognize celebrities in magazines, forgetfulness starts to become a bigger issue, and when you bend down to pick something up, there is no guarantee that you'll make it back up.
I can't complain though. On days like today, when looking back at the previous decade, I'm reminded how lucky and privileged I am.
Much like I hoped I would when I turned thirty, I have accomplished a lot in my thirties — both personally and professionally.
Drupal, Acquia and Open Source have been at the center of my professional career for the last decade and it has changed my life in every way. I'm lucky that my work gives me so much purpose. My desire to create, build, sustain and give back is as strong as before — there is not much more I'd want professionally.
Throughout the past ten years, I've also accomplished a lot of personal growth. I smile thinking how I have become more generous with my "I love you"s. I've gained not just weight, but also a kind of resiliency and perspective that enabled me to better deal with criticism, conflict or setbacks at work. I've learned not to sweat the small stuff and I take pride in acting with integrity on a consistent basis. From that point of view, I look forward to growing up more.
I've seen more of the world in the last ten years than in the first thirty combined. My wanderlust continues to grow and I look forward to exploring more of the world.
I've also been writing on this blog throughout the past decade. That might sound odd to call out on a day like today, but it's an accomplishment to me. My blog could have faded away like most blogs do, but it hasn't. It is one of my longest running projects and a highlight of my thirties. Blogging has made me a better communicator and a more critical thinker. It touches me that some people have been reading my blog for over a decade, and have followed me throughout my thirties. Thanks for sticking with me!
Entering my forties, part of me has zero desire to slow down, while another part of me wants to find more time to spend with Vanessa, Axl, Stan, family and friends. By the time I'll be fifty, Axl and Stan will likely be in college and might have moved out. There is nothing more satisfying than spending time with loved ones, yet it is so hard to pull off.Acquia Engage attendees that arrived at the Austin airport were greeted by an Acquia banner!
Last week, Acquia welcomed more than 600 attendees to the fifth annual Acquia Engage Conference in Austin, Texas. During my keynote, my team and I talked about Acquia's strategy, recent product developments, and our product roadmap. I also had the opportunity to invite three of our customers on stage — Paychex, NBC Sports, and Wendy's — to hear how each organization is leveraging the Acquia Platform.
I also plan to share more in-depth blog posts on my conversations with Wendy’s, NBC Sports, and Paychex’s next week.
This week Acquia was named a leader in the Forrester Wave: Web Content Management Systems. Acquia was previously named a leader in WCM systems in Q1 2017.
The report highlights Acquia and Drupal's leadership on decoupled and headless architectures, in addition to Acquia Cloud's support for Node.js.
I'm especially proud of the fact that Acquia received the highest strategy score among all vendors.Category