If existence precedes essence - if we are what we do - then anything's possible.
Discover our new blog post related to QA testing
and optimizing your website's speed.
Everything can be improved! :)
Have a cup of coffee, take a bath, do some physical exercises... That’s what users wouldn’t like to do while a website is loading. According to statistics, people leave a website that loads longer than 3 seconds.Read more
Building a website is a complicated process. I don’t want to downplay the importance of technical expertise, but for me the most difficult part of a website build is clearly and concisely capturing a client’s requirements. So much hinges on the hours we spend discussing business processes, sketching out UML diagrams and cataloguing every detail. However so often a lot of effort goes in and the resulting documents aren’t as clear as we would have hoped.
the most difficult part of a website build is clearly and concisely capturing a client’s requirements
So how do we improve on this situation? Acceptance criteria. To the uninitiated acceptance criteria are a bit like requirements. They seem to just state a single requirement for a change or fix. The difference is that requirements come in all shapes and sizes, acceptance criteria all look the same. In fact they even have a clearly defined format to help keep to a standard. They look like this:
“Given that… When... Then…”
You should read this as “Given that some precondition is satisfied, when an action or actions take place, then a testable result will occur”. This format lets you turn requirements in to unambiguous, testable, acceptance criteria, which helps developers know exactly what to build, testers know exactly what to test and most importantly helps the actual development go as smoothly as possible.
For example, a typical requirement might be:
we want single sign on between the website and our invoicing system
This could translate in to any number of acceptance criteria so it is important to be unambiguous about what is meant.
Given that I am a user in both the invoicing system and the website, when I visit the website and I am already logged in to the invoicing system, then I am automatically logged in to the website on the first page load
This is much clearer about what is needed. It is still not especially detailed, but it better highlights the additional information which is required, meaning it will be easier to write further acceptance criteria for that as well.
We like to introduce clients to acceptance criteria early on in the requirement gathering stage to let them know what we’re aiming for. It helps guide discussions when you are all internally trying to boil down requirements to these simple little maxims. We still go through all the same processes to uncover the requirements in the first place, the workshops, the diagrams and flowcharts, but then before we start development we review all of that documentation and produce a functional specification including all the acceptance criteria.
This process really ties the requirement gathering phase and development phase together. You can be the best business analyst in the world and have a lot of great techniques for discussing your clients requirements, but unless you can translate them into manageable, testable chunks it’s very tricky to know if you’re delivering what was asked for. That’s why for me this will always be the most important part of a project.
Written by: Rob Humphries, Project Manager
Microserve is a Drupal Agency based in Bristol, UK. We specialise in Drupal Development, Drupal Site Audits and Health Checks, and Drupal Support and Maintenance. Contact us for for further information.
This module provides integration between Drupal and Iubenda.
This module will enhance the Teamwork distribution OpenLucius with a full throttle timetracker.
You can track time on Todo's, realtime or manual. You can also set budgets for Todo's and Todo-lists. To top it of, you can monitor those budgets in nifty reports.
This module allows you to add attributes to your menu links.
Default content gives your module and install profile a way to ship default content as well as configuration.
Powered by core's serialization, rest and hal modules.
Supports entity-references between content.
Supports files if you have File entity
Easily export your content and its dependencies to yml using drush commands.
How does it work
One of our users didn't like the generic "Access denied" message for restricted pages. So we created this tutorial for him.
This tutorial will show you go tot create custom error pages for 403 (Access Denied) and also 404 (Not Found) errors.
Drupalcon Barcelona has finished and we are back at our offices, with the head full of ideas about how to improve our daily work, the conviction that Drupal 8 will be here soon and it will allow us to achieve amazing things in future projects, and the batteries recharged after having such a great time with such great people.
Defines a new field type to automatically insert an Itch.io iframe widget for your Itch.io game.
Last week’s DrupalCon was an outstanding event that saw over 2,000 people from the community come together in Barcelona to attend sessions, sprints, and socialise.
We sent 74 of our own team members to the conference (over a third of our group) and we asked them about their experiences to offer a vision of DrupalCon from Wunderkraut’s perspective. Here you will find out what happened, what you should catch up on, and what we recommend to prepare you for next year’s conference in Dublin.Pre-Conference Opening - Sunday 20th September
Before the conference officially opened for registration, members of our team met with other community developers to get sprinting at Makers of Barcelona - a beautiful and quirky co-working space 25 minutes from the conference centre.
With D8 close and everyone keen to hear what the first days of the conference had to offer in the way of Drupal 8 news, everyone was in high spirits to collaborate and code face-to-face at the extended sprints.Registration Day - Monday 21st September
Barcelona International Convention Centre opened its doors for attendees to register. Whilst contributors and coders headed to the Contribution Lounge, leaders of Drupal businesses came together at the Business Summit to share experiences, learn new things, and make acquaintances.
Exhibitors and organisers were also buzzing around the exhibitor hall to prepare their stands and catering areas for the evening’s opening reception, giving all attendees a great opportunity to network and discuss the days ahead.
Watch our roundup of Monday at DrupalCon:
The day opened with Dries’ keynote which gave people a status update on Drupal 8’s release, an overview of the state of the CMS market, and an introduction to new techniques for contributing to Drupal. Overall this was well received and the first deadline of October 7th 2015 was set for D8’s Release Candidate.
Our team then went on to enjoy a variety of tracks and sessions throughout the day. Here’s what Wunderkraut recommends watching from the first day:
Highly recommended by our team
Recommended by our consultants
Design to support strategic objectives (hosted by our own Roy Scholten)
Recommended by our back-end developers
Following a day full of fantastic sessions, the Wunderkraut team headed over to Barcelona’s beaches to have a WunderParty. This gave our international group a great opportunity to socialise and network with one another over good food and a few drinks, which our friends from the conference also attended.
Watch our roundup of Tuesday at DrupalCon
The second day of the conference kicked off with an inspirational keynote by Nathalie Nahai on web psychology. This lead nicely into the second day of sessions, sprints and BoFs. Here is what our attendees recommend:
Recommended by our back-end developers
Recommended by our consultants
No therapist needed: clients, teams and no tears (hosted by our own Alice Richmond)
Recommended by our care team
Recommended by our operations team
Recommended by our front-end team
In the evening a number of our team members headed into the “old town” area of Barcelona to enjoy the local tapas, sangria, and local culture. All of the local people were out and celebrating La Mercè Festival which involved fireworks, parties, and fun.
Watch our roundup of Wednesday at DrupalCon
Thursday was the final day of sessions and by this point a lot of new information, local culture, and sangria had been consumed by conference attendees who stayed since the start. It was hard to find one of our bean bags free at the conference that didn’t have an attendee catching a nap on it!
The final day of sessions, however, was great and they were started by two excellent community keynotes by David Rozas and Mike Bell on mental health in the open source world and the phenomenon of contributing to a community. Both talks were received very well by our team and the community.
Here’s what else Wunderkraut recommends from the day:
Recommended by our back-end developers
Recommended by our consultants
Making Drupal a better out-of-the-box product: Report on usability testing results and how we can make 8.1.x+ shine (joint hosted by our own Lewis Nyman)
All of the conference’s sessions ended with Holly Ross’ Closing Session that provided some cool community and conference stats, in addition to the location of next year’s Drupalcon - Ireland!
To celebrate a successful DrupalCon, most of the attendees headed down to the Trivia Night where they had an opportunity to win some fun prizes, including these sought after goodies:September 24, 2015 Sprinting for Beginners and All - Friday 25th September
Friday was a day for first-time sprinters to meet the mentors and get started with contributing to Drupal. It began with a workshop on downloading the tools required to contribute and lead to people being assigned to different contribution tasks and issues, depending on their different skills.
Later on in the afternoon Angie Byron (webchick) committed a selection of contributions that newcomers made to Drupal 8 whilst they were at the conference and everyone celebrated the new additions together.Extended Sprints - Saturday 26th - Sunday 27th September
The rest of the weekend was spent sprinting by contributors back at the creative co-working space, Makers of Barcelona. Overall, a nice way to finish of the week in beautiful Barcelona.Tips for future DrupalCon Goers
With over 70 odd of our team attending this year’s DrupalCon we’d like to leave a few bits of advice for future participants who may be completely new to the conference to make their experiences as enjoyable as ours.Marc Galang, Software Developer
“Attend the prenote! Also if you're joining the sprints make sure you have a running environment before you leave your country/office because sometimes the internet could be really slow that it takes A LOT of time to download stuff that is needed for the sprints.Bert Boerland, Sales Manager
Sleep as much as you can upfront. You should also add the checkmark of being at the con in your Drupal.org profile.Mikael Kundert, Software Developer
After you start to find sessions that aren’t that useful for you, move on to participate in BoFs and sprints!Bernt Andreas Drange, Software Developer
Remember your business cards and cash for coffee!Jenny Kannelsuo, Service Manager
Plan ahead and check the sessions beforehand.Randal Whitmore, Marketing Assistant
Embrace as much as you can, especially if this is your first experience with the community. Communicating with people in person and getting to understand those behind Drupal is invaluable.
Notifies a given URL with a JSON string of invalidated cache tags.
This module allows to upload multiple files in a bulk.
Talking about UX design services becomes a new trend. While not so many people are certain who is a user and what is his or her experience, hundreds would like to contribute into the discussion about proper approaches to it. Let’s take a look on 5 the most widespread UX myths and their disproof.Read more
Some of the most interesting new modules I saw posted to drupal.org in September:Views Advanced Routing
(for Drupal 8) Allows you to specify the routing configuration YAML for a Views page. Meaning, you can use custom access control callbacks, default parameters, etc. Sweet!Commerce Responsive UI
Provides replacement interfaces for the parts of Drupal Commerce that are table dependent and non-mobile responsive by default. These include Responsive Cart, Responsive Checkout, and Responsive User Facing Orders.Drupal 8 Contrib Porting Tracker
Not a module, but a centralized place for tracking the Drupal 8 porting status of contributed projects (modules, themes, distributions). The best place to find out that the Bad Judgement module is ready for D8!Advanced Image Crop
This image field cropper lets the user do a different crop in each of the image styles configured by the admin. You better have some saavy users to comprehend this, but if you do, it looks awesome.Webform Replay [sandbox]
Extends the Webform module by adding an option to “replay” selected webform values in situations where multiple webform submissions per user are allowed, and some of that information is likely to be repeated on each submission. By enabling webform replay for these fields, the user only needs to complete them for the initial webform submission, and on subsequent entries these fields will be pre-populated with the values from the previous submission.Forbidden File Format
Flips the file field extension checking around so that you can allow all types of files except the extensions specified. So you could deny .js, .exe, .bat, and .com, but allow other types.Tableau WDC [sandbox]
Tableau 9.1 includes a new Web Data Connector feature, which lets you build connections to data accessible over HTTP with JSON data and REST APIs. This module attempts to bridge the gap between Drupal and Tableau by adding a new views plugin (tableau_wdc) which renders content as a JSON with some extra meta information needed by Tableau. Once you have created your endpoints, you can add the tableau-wdc block to any page and it will automatically render a button for each data source together with all the necessary scripts to parse and prepare the data for import.Nuke Drupal Frontend
Allows you to completely disable frontend HTML access to a Drupal site, for when you’re building a headless site, and you’re not using the Drupal-provided frontend.Doubtfire [sandbox]
An alternative to the Masquerade module, with some useful UI additions.Gmail Connector [sandbox]
Lets users view their Gmail inbox and messages in Drupal using the Gmail RESTful API.
Drupal Developer Toolkit tutorial series reviews web apps, desktop applications, mobile tools, and web services to improve your work and quality of life.
This module provides a way to grant access to specific files for a limited period of time to anonymous users. The generated links are protected by a HMAC, i.e. a long string which is not likely to be guessed by an attacker.
Unlike private files delivered by Drupal core, downloads provided by this module are cacheable and also support HTTP cache revalidation. This makes it possible to efficiently serve assets to mobile applications while still maintaining some access restrictions.
Yoast SEO is a household name in the WordPress community and as a premium drupal themes shop owner I was jealous of their favorite tool. Yoast SEO gained popularity because it didn't just make SEO finetuning possible in WP, it made it fun. Important onpage SEO factors are pulled together...
I have a theory.
My theory is that every single person / organization who is considering building a site on Drupal 8 has created some variation of the exact same spreadsheet. The spreadsheet tracks rows with information like which contributed projects the site needs, what URL those projects live at, who the maintainers are, what the project's current porting status is, etc.
To figure this out, you go to each of the respective project pages and look for an 8.x version. If that comes up empty, you attempt to search the issue queue for variations of "Drupal 8," "D8 port," etc. Worst-case, falling back to good ol' Google. Repeat every few weeks.
Man months have probably been spent on this duplication of effort so far.
To further build on that theory, I'm guessing that these spreadsheets do not always jive with current reality. Because you might have missed the update that contributor X gave on Twitter one time about her predicted module's release date. Or you might not have been sitting next to contributor Y at dinner during DrupalCon and found out that her module's actually being ported on GitHub or BitBucket, only being moved to Drupal.org when it's complete. Or, you didn't get the chance to actually install the project yet to determine that even though one has just a -dev release it's actually quite stable, and even though this one has an beta release, it's changing APIs every 6 minutes. Or whatever.The Solution
Enter the Drupal 8 Contrib Porting Tracker! This is a "meta" project that holds issues that represent the porting status various projects, and allows us to work as a unified Drupal community to combine our collective observational super powers into one data set that can be used by anyone considering building on Drupal 8.Tags: acquia drupal planetdrupal 8contributed projects