Any technology tends to create a new human environment... Technological environments are not merely passive containers of people but are active processes that reshape people and other technologies alike.
At DrupalCon Sydney where I was the Community track chair, for the first time at a DrupalCon both Stuart and I had offered to help as mentors at the post conference sprint. We felt in a relatively good position to do this as we’ve been running a mentoring event locally in Melbourne nearly every month since some time in 2010, which is another story in itself.
This naturally led on to us being mentors at DrupalCon Portland. During the mentor BOF’s while mostly listening, I was already thinking how can I make things better and the thing that stuck out to me were the common issues that often came up while getting a first time sprinters set up with a local development stack:
- Bandwidth usage
- Different stacks (MAMP, WAMP, XAMPP, etc)
- Mentors having to support a stack they’re not familiar with
- Time of setup (some users would take nearly an hour to setup)
Around the same time Stuart and I had been playing around with BitTorrent Sync (BTSync), which at that time was pretty new, but in my mind a promising potential solution to the bandwidth component of the problem.
I also thought that Acquia Dev Desktop (ADD) may be a better option for setting up a local stack than using any of the other *AMP stacks listed above. While also simplifying the support task for mentors that are essentially volunteering their time.
Eventually I started to talk to some of the more seasoned mentors about my ideas and there was some interest in my thoughts on BTSync, but a lot of kickback on using ADD due to previous sprints where various people had been burned trying to use ADD with Drupal 8 in the past.
As luck would have it one of the mentors that worked at Acquia, scor AKA Stéphane Corlosquet, was at these BOF’s also and we exchanged details. See the relevant issue at: https://www.drupal.org/node/2232043.
Attending what is now known as the First Time Sprinters workshop in Portland I was surprised when it was suggested that attendees all go and download MAMP/WAMP/XAMPP “now”.. It was no wonder the wifi had a history of dying during sprints, and it didn’t disappoint this time going down at exactly this point during the Portland sprints.
Needless to say this was enough motivation for me to implement and prove my thoughts, so I started building what eventually became the Community Tools Installation process.What were the constraints?
There wasn’t that many, but these were the key things:
- Installation is fast
- Lean on the network
- Doesn't break anything existing on a users machine.
It seems common for people to think that we are putting this forward as the ideal development stack, this is not at all the case, it is simply designed to be the fastest way to get someone up and running with a capable stack.
By using BTSync the majority of the network traffic for the tools is served from within the sprint room itself from the laptops of mentors that have pre-synced it.
BTSync has two levels of access to a shared folder, one that is read/write (only known to me) and one that is read only which is given to everyone else. This means we don’t run the risk of spreading malware that could arise through the use of USB keys shared with approximately 200 people.
BTSync also allows for last minute changes to be made that will sync out to all users, meaning we can respond to issues that arise quickly and not have to re-image a bunch of USB keys just before the workshop.
In the beginning there was a lot of pressure to include MAMP and other tools in the package, but I was eventually able to work with Acquia via scor to improve the ADD2 Beta such that it was the clear winner for this specific use case. Related issue: https://www.drupal.org/node/2232043.
ADD2 installs it’s webserver and database using ports for these services that are to my knowledge unique, meaning that it will not conflict with any existing web stack a user has set up.
ADD2’s supplied configurations (PHP/MySQL) also work out of the box with Drupal 8, something that often needed changing with other stacks.Why this collection of tools?
The components were primarily chosen based on relevance to the typical activities performed by a first time sprinter during the sprint day, these are:
- Use IRC (Limechat / Hexchat)
- Edit code (SublimeText)
- Use Git to apply and create patches (Git)
- Run Drupal 8 (Acquia Dev Desktop 2)
- Install Drupal 8 (Drupal Core — dev branch)
Initially the tools came with a PDF that walked you through each of the installation steps, pretty quickly I saw that people weren't reading this and making mistakes in the installation, so fairly promptly I started scripting as much of the installation as possible to reduce the chance of user error and also reduced the installation time. Related issue: https://www.drupal.org/node/2294267.
The OSX scripting was easy but It was fun having to learn how to code a .BAT file after not having used windows for several years.
At this stage the only manual step of the installation apart from selecting which parts you want to install is adding the site in ADD which has substantially reduced the size of the PDF that nobody reads ;)
The script prompts to see if you want to install an IRC client and a code editor, it then checks if you have git installed or not and prompts to install and configure git to d.o standards.
To save bandwidth Drupal 8 core is included in the tools package that is synced, extracted during the installation and then a git pull is executed to only grab recent changes saving again on bandwidth.
At this stage I’m very confident this is as lean as it can get without creating a customised install package specific to each operating system.How has it performed?
After testing it at local events the concept was proven, the first real test at scale at DrupalCon Austin, about 50 people out of 200 had issues with it syncing but I considered it a success.. and the network stayed up!
We used it again in DrupalCon Amsterdam where I don’t think we had as many issues with people getting it synced but did still have to use USB drives for some people.
And I used it at DrupalSouth Melbourne earlier this year where it synced perhaps the fastest ever and we didn't have to use any USB thumb drives.What could be improved?
It’s fairly clear that there are some limitations built into BTSync, and that the venue network setup can sometimes cause issues. I am constantly on the lookout for a better transport method (ideally looking for something open source instead of BTSync or for the Sync team to provide a free pro account so that we can share these secrets with unlimited users)
I think having a web server at the venue that could serve the tools would provide the most added benefit to the existing setup, while removing the weakest remaining link (BTSync) and also opening up the possibility of using tools that are larger in file size.
Linux doesn’t have ADD so the current experience is quite different for Linux users, and in my not consistent enough. To some degree we expect these users to already know how to set up a stack which isn’t the best assumption to make.Statistics
Tools download file sizes:
- Linux 510MB
- OS X 247.5MB
- Windows 290.3MB
External Bandwidth usage during installation:
On OSX Git is installed via download of the command line tools.. ~120MB
For OSX and the rest the only the Git pull to update core ~20MB or less
- Linux ~5 minutes
- OS X ~4 to 7 minutes depending on if you already had git installed or not
- Windows ~5 minutes
There are several community members that are pushing for vagrant to be for the stack part of this toolset, I think that it will go a long way to resolving the inconsistencies that we currently see with Linux setups, talking about it in the office we all think it needs a pretty control panel to make it easier for as wide a group of end users as possible. But there are some considerations that still need to be factored in. Related issues: https://www.drupal.org/node/2233509 and https://www.drupal.org/node/2232049.
This is a recount of events spanning several years, I've done my best to be as accurate as possible please forgive me if there may be some small factual errors in my recounting of things.drupal planetdrupal 8
Site speed is one of the most critical factors when running a site. If a site takes too long to load, visitors will hit the back button and go elsewhere. Google is well aware of this, so slower sites will not rank as well as fast sites (all other things being equal).
Drupal performance optimisation can be a complicated specialisation in its own right. Consultants and Drupal agencies can spend days or even weeks investigating performance issues and fixing them. But there are many quick fixes and simple methods that you can implement right away. You don’t have to implement absolutely everything on this list - you can implement some and monitor the difference it makes to the site speed....
This is part of a series of six blog posts where different disciplines share what they wish others would know and understand. ...
Modules Unraveled: 140 Using the Math Field Module to Compute Values Without the PHP Filter with Caleb Thorne - Modules Unraveled Podcast
- What does the Math Field module do?
- Why did you develop it? What hole does it fill?
- You mentioned EntityForm...
- How does it compare to the Computed Field and other modules?
- What are the limitations? When wouldn’t you use it?
- You mentioned before we started recording that you actually rewrote the entire module to use core’s AJAX framework instead of custom jQuery. Why was that? and how did it go?
- What types of sites do you see this being of most use?
- I might be using this on an upcoming project
- What are your plans for D8?
- What other general features are planned? I saw the note on the project page about issues with multiple parameters and multivalue fields.
- Rick Nashleanas
Any performance implications using the Math Field module? drupal.org/node/2484065 (Yea, I know, this is a plant!)
- David Csonka
Is there a practical limit to how many Math Field fields you can have calculating in a piece of content? Performance?
- Rick Nashleanas
What's the most complicated implementation you've done with the Math Field module?
Commerce Migrate Magento is a migration using Commerce Migrate and the Migrate suite that can migrate Magento stores from either the existing Drupal database or an external database on the same machine.
There was a Drupal security release this week.
This release managed to confuse several of our users, because it wasn't clear if they should update their sites.
Security release information is rarely, if ever, written in plain English. And these week's updates were additionally confusing because they only impacted some Drupal sites.
So here, upon request, is our plain English guide to Drupal security releases.
First things first - an apology. I realize it's been a couple of month since I put up a post about our Board meetings. I definitely apologize, and will try not to let that happen again. However, know that you can always see the meeting minutes, materials, and recordings on our site. And, if you ever have any questions, you can find me on Twitter, D.O, in IRC (drupalhross), or you can send me an email (you know, if you are old school).
The June board meeting covered the month of May at the Association, which was a rather big month. As usual, we had a number of items to cover in our operational upate, and then we dove into updates from the Drupal.org Working Groups.Operational Update
- Drupal 8 Accelerate had a great month in May, adding $55,000 to the total of over $213,000 now raised to help close D8 release blockers. Huge thanks to Catalyst IT, Open Source Developers Conference Australia, Siteground, Figleaf Software and Duo Consulting for the $1,000+ donations in May. You can see how every dollar is directly impacting Drupal 8.
- We had a DrupalCon! We'll give you a full wrap up in August when all the details, including financials are available.
- Content Strategy is coming to Drupal.org. In an nutshell, we are excited to have completed a content strategy process with Forum One. With the strategy document complete, we can begin implementation. In the next few months we'll be introducing changes to the site to support the new information architecture and content governenace. When everything is in place, you will see a site that is easier to navigate and gives topic owners more flexibility in the types of content and permissioning they can use. You can see all the details in the DrupalCon LA session we hosted.
- As we shared in last week's post, our revenue continues to come in slower than planned. In Executive Session we shared a mid-year adjustment to the plan that we have now begun executing. Although we are not meeting our original goals, we remain excited about the possibilities for the Association - we are still growing. Especially reassuring is that all the Drupal 8 content we release is snapped up quickly.
Last quarter the Working Groups met in-person at DrupalCon Los Angeles. During the meeting, the groups discussed their role in producing the Drupal.org roadmap and began the process of re-prioritizing the work. We have definitely discovered a broader need for the Association engineering team across the Drupal ecosystem, and need a better process to allow for unplanned work to be prioritized. A good example is DrupalCI, which morphed from an entirely volunteer-run initiative to work supported heavily by Association staff.
The Working Groups have also proposed charter changes in to the Executive Committee for review. We are looking to expand the number of community members on each group and further clarify the roles.Thanks and see you next month!
That's all we had for this board meeting, but more is planned for July and beyond. Check out all our upcoming board meetings and register to attend.
Flickr photo: pdjohnson
Hipay Fullservice integration for the Drupal Commerce payment and checkout system.
Commerce Hipay TPP submodule provides off-site payment method based on Hipay TPP REST API.
- supports both full-page redirection as well as iframe integration
- supports authorization/capture/refund/cancel transactions
- supports antifraud features (CVC, AVS, 3-D Secure)
DrupalCon Barcelona is going to be an incredible event in a beautiful city with a great Drupal community. Sponsoring give your organization visibility and recruting benefits you can’t find at another event.
What do we get if we combine two popular memes: "Keep calm and code on" and "Keep calm and visit Lviv"? And if we add the fast green Drupal bus, good spirits and exciting IT reports? Of course, we get DrupalTour in the city of Lviv which is the capital of the Ukrainian web development services!Read more
This module serves as an integration mechanism between Form.IO (https://form.io) and Drupal CMS.
Many more exciting things to come!
In 2010, Ethan Marcotte published his seminal article, “Responsive Web Design,” and the way we build web sites was forever changed. Although Drupal 7 came out at the beginning of 2011, there was nothing in core to support the themers who wanted to build responsive websites. By 2012, all of the popular base themes offered a stable release which included a responsive starting point. As of Drupal 8, the core themes, and the administrative interface, will be responsive – making Drupal usable at any viewport width.
The original tenets of responsive web design had three directives:
- Use a fluid grid to lay out page elements.
- Make images flexible, and responsive to their parent container.
- Use media queries to specify which styles should be assigned for any given viewport width.
In practice, it has been a lot more complicated to implement these guidelines so that they work across devices and are respectful of the slower connection speeds we often experience on mobile devices.
In this article we'll take a look at how to implement each of these three principles in your Drupal 8 themes. The article was written against Drupal 8.0-alpha13. Some things are likely to have changed between now and Drupal 8's official release. Where possible, I've noted where this might be the case.Fluid Grids
Out of the box Drupal 8 does not provide any support for a universal fluid grid. It does, however, provide the cleanest, most semantic markup of any version of Drupal to date. Markup is almost entirely contained in template files, and the theme function has been virtually eliminated from core. All of these changes were accomplished by the team working to convert Drupal from PHPTemplate to Twig. As a result, it will be significantly easier to drop in your grid layout system of choice – whether it is custom built, or part of a framework such as Bootstrap or Foundation.
Working with a base theme is still, of course, an option for you. As of this writing, there are no base themes with a completely functional Drupal 8 release; however, a few have Drupal 8 branches if you'd like to help with their upgrade process.