Drupal

I have been spending the month of May cleaning out my basement office. I have found a treasure trove of old papers and random things bringing up memories and other thoughts. Just like my last blog post on an organization's values and the culture it creates. This time I found two legal pads which had my notes and planning for my first Drupal Meetup talk and first came session.

This is the first in a series of posts where I'll capture how I built a new Drupal 8 version of jeffbeeman.com using BLT, Dev Desktop, and Lightning. In later posts, I’ll talk about other local development solutions, dependency management, content migration, and how BLT helps me build and deploy artifacts to Acquia Cloud.

So, you may be the kind of person who usually stays away from the Sprint Room at Drupal events. We understand. You would like to find something to work on, but when you step in the room, you get the feeling you're interrupting something really important that you don't understand.

It's okay. We've all been there.

That's why the Drupal Community invented the Mentored Core Sprint. If you stay for this sprint day, you will be among friends. You can ask any question you like. The venue is packed with people who want to make it a useful experience for you.

Come as you are

All you need in order to take part in the first-time mentored sprint are two things:

Your self, a human who is interested in Drupal

Your laptop

To get productive, your laptop needs a local installation of Drupal. Don't have one yet? Well, it's your lucky day because you can your Windows or Mac laptop set up at the first-time setup workshop!

Need a local Drupal installation? Come to the first-time setup workshop

After about half an hour, your laptop is now ready, and you can go to the sprint room to work on Drupal Core issues ...

You do not need to be a coder ...

You do not need to be a coder to work on Drupal Core. Let's say, you're a project manager. You have skills in clarifying issues, deciding what needs to be done next, managing developers, and herding cats. You're great at taking large problems and breaking them down into smaller problems that designers or developers can solve. This is what you do all day when you're at work.

Well, that's also what happens here at the Major Issue Triage table!

But - you could just as easily join any other table, because your skills will be needed there, as well!

Never Drupal alone

At this sprint, no-one works on their own. You work collaboratively in a small group (maybe 3-4 people). So, if you don't have coding or design skills, you will have someone alongside you who does, just like at work.

Collaborating together, you will learn how the Drupal issue queue works. You will, most likely, not fix any large issues during the sprint.

Learn the process of contributing

Instead, you will learn the process of contributing to Drupal. You will learn how to use the issue queue so you can stay in touch with the friends you made today, so that you fix the issue over the coming weeks after Drupalcon.

It's never too late

Even if you've been in the Drupal community for over a decade, just come along. Jump in. You'll enjoy it.

A very welcoming place to start contributing is to work on Drupal documentation. This is how I made my first contribution, at Drupalcon London in 2011. In Vienna, this table was mentored by Amber Matz from Drupalize.Me.

This is one of the most experienced mentors, Valery Lourie (valthebald). We'll meet him again in part 3, when we come to the Drupalcon Vienna live commit.

Here's Dries. He comes along and walks around, no one takes any notice because they are too engaged and too busy. And so he gets to talk to people without being interrupted.

This is what Drupal is about. It's not about the code. It's about the people.

Next time. Just come. As a sprinter or a mentor. EVERYONE is welcome, we mean that.

This is a three-part blog post series:Part one is here
You've just finished reading part two
Part three is coming soon

As you’ve probably read in one of our previous blogposts, industry verticals will be a new concept at Drupal Europe. Verticals replace the summits, which typically took place on Monday, before the conference. Sometimes these were in separate a location from the main conference venue, and often the conference ticket did not cover access to the summits. At Drupal Europe summits have become industry verticals and are integrated with the rest of the conference — same location, same ticket. Following is a summary of what to expect in the new verticals at Drupal Europe.

Verticals bring together people from an industry to:

about outstanding projects being developed in their field

share their interests and ideas

listen and learn together in sessions

discuss challenges and develop solutions for their market

With all the topics under one roof, every session you are interested in is within easy reach. There will be a guide to specific sessions and people that are involved in your industry: Media and Publishing.

However, nothing will stop you from getting off the beaten track to mix & match your interests! One Drupal Europe ticket gives you access to everything we have on offer: sessions, workshops, panels, sprints, and BoFs. In this example you might start with a great session about a new top-notch publishing site, get dragged into details of the site’s complex workflow rules and later jump into a technical session, to understand a specific decoupled approach the site was built with.

All attendees will enjoy a amazing program providing insights into industry-specific challenges and solutions. The Media and Publishing industry is a great example of an industry that faced huge challenges. It has had to almost reinvent itself to adapt to the digital age in order to be successful in the 21st century with our society’s media consumption shifting from paper to digital.

We want to provide the best possible lineup of speakers, panels and sessions for the publishing/media vertical. Drupal Europe will be open to allow you to submit your great session idea very soon. As a choice of different verticals will be available on the website, please tag your session as publishing/media to indicate that it is related to this industry. We welcome proposals for all topics related to publishing/media!

If you have something interesting to share (questions, thoughts, advice), that might help us before we officially open our call for papers, please reach out to hello@drupaleurope.org.

We are now featured on Clutch.co with an overall 5-star rating from our clients and on Clutch’s sister website, The Manifest, as one of the top web developers in Chicago. We work to build strategic relationships, not just accounts. We listen to what our clients want to achieve and produce websites to meet those goals. A running theme to the client reviews has been our commitment and open communication.

Clutch is a B2B ratings and reviews platform that connects small and medium-sized businesses with the developer or software solution that best fits their needs. The Manifest is a research platform meant to aid buyers in the awareness, discovery, and decision-making process of selecting an agency to hire for a project. We are thrilled to be a part of both websites, demonstrating our expertise in web development and design services.

Clutch reviews are unique in that they are verified and independent. Their analysts personally interview our clients to understand what it is truly like to partner with Xeno Media. See what some of them had to say:

“I’ve worked with a variety of outside vendors, and Xeno Media stood out in every aspect of the engagement. I would recommend them to anyone without hesitation.”

“Xeno Media doesn’t just service us—they take care of us. They actually care about and understand us as a client. The level of trust between us is something that is very rare in a client relationship, but they have ours and we have theirs.”

“They're always on top of all aspects of the project. If I ask them to do something, it's done immediately. They're really quick.”

“This was one of the best experiences I’ve ever had working with an outside vendor.”

Special thanks to our clients for taking the time to share their candid comments with the Clutch analysts. It has been our pleasure working with you! We would also like to thank Clutch for including us in their research. We are looking forward to maintaining our rank as a leading web developer and reading more great reviews soon.

Everybody wants their website to be accessible. Information and Communication Technologies (ICT) is key for any modern organization. In the Government of Canada, it is a clear part of the Liberal Party's mandate. Setting a strong policy direction is critical, but then what?

Most departments still see accessibility as a one-liner that can be added to an ICT contract. Then the responsibility for any shortfalls lies on the vendor.

Sadly, this doesn't work. Accessibility is a journey, not a destination.

Web accessibility is complicated, the ecosystem and use cases change over time. So what can procurement do to fix this? I've collected a series of examples good accessibility procurement practices. I am hoping to add to this with some good Canadian examples.

Start Off Right

The first thing that government RFPs & contracts can do is set a good example.

So often these documents are overly complicated and are very difficult to understand. Make sure that these documents are written in plain English so they are easy to understand. In writing this blog post I've used the HemingwayApp.com to check that my ideas are easy to understand.

PDFs have well-known accessibility problems with them. You can make them quite accessible with considerable effort, but it isn't a best practice. Use PDFs only where a signature is required. Otherwise, it would be more accessible to send EPUB or OpenDocument files. Vendors should not be asked to produce more PDFs as part of the contract.

Focus on the Process

Don't obsess on the end result. As with security, there are going to be things that are missed. Of course, everyone wants a site that is as accessible as it can be, but ultimately there are other goals as well.

The earlier accessibility efforts are brought into project planning, the better the results will be. So, vendors should be asked about the process that they use to build in accessibility. You need to know that they have a team onboard who has experience addressing this complex issue. It is also important that there is a clear and open feedback channel for people who face barriers. People with disabilities need to be part of the process.

It would be good to ask for a description of how the vendor overcame a difficult accessibility challenge. Sometimes you need to make compromises that may balance design or usability requirements. Often there are multiple ways of doing things and no clear best practice.

Starting with an existing OSS application means that you are able to begin a project with one that has had some testing already. It will have a list of bugs that are known, and hopefully a longer list of bugs which have been fixed.

Many people choose Drupal as it is the most accessible platforms in the world. Unfortunately, most do not contribute to improving its accessibility. If a vendor is proposing an open source solution, ask how they are working to improve its accessibility. Contributing back is key to the success of any effective community project. Furthermore, clarify the process when the vendor finds accessibility errors. Vendors should be submitting bug reports and patching the code when errors are found.

Testing

The vendor and the client both have a responsibility to do testing as the product is developing. Both should be doing regular spot checks with tools WebAim's WAVE Toolbar. It also takes very little time to learn how to do keyboard only testing. There is no reason why even non-technical people can't use these approaches to catch basic errors.

Screen reader testing requires considerable experience to be effective. Having a developer run a site through VoiceOver or NVDA just isn't good enough. Contracts should have a component in them to ensure that a 3rd party is engaged to provide an evaluation. It should be considered no different than hiring an editor to review the work of an author. If possible, this evaluation should engage people with disabilities.

Sales vs Delivery

The focus needs to be on the process of the vendor and how that will ensure a more accessible delivery. Things like the Voluntary Product Accessibility Template (VPAT) are still essentially sales documents. For some more detailed approaches, see:

Canada is a member of the Organisation for Economic Co-operation and Development. I was happy to be part of a meeting called by Treasury Board to discuss reforming the OECD Playbook for ICT Procurement. It is clear that there is a deep interest in government in doing procurement differently to get more accessible results. A big part of this goes back to learning to embrace open source and to collaborate outside of government silos. It is great to see many instances of people working together to learn how to implement technology better. We need much more of this!

I love this graph. It shows that for some time, Apple's primary source of revenue was the sale of the Macintosh computer. The Macintosh provided Apple with a bridge between the desktop era and the mobile era, represented by the two clusters on the graph. That bridge was a financial lifeline. Without it, Apple might not have survived.

Purpose of this project is to make an amazon affiliate module which is simple and less complicated.
This module automatically imports amazon products to the drupal with keyword search. Please see 'How to use'
area for more information.

INSTALLATION
------------

Install as usual, see
Download the module and upload to the modules folder and make it active.

Drupal 8.6 sees the addition of Node.js based functional browser testing with Nightwatch.js. Nightwatch uses the W3C WebDriver API to perform commands and assertions on browser DOM elements in real-time.

Up until now, the core method for testing JavaScript and browser interactions in Drupal has been to use either Simpletest or PHPUnit. For tests that require a simulated browser, these have been running on PhantomJS, which is now minimally maintained and has been crashing frequently on Drupal CI (as of 8.5, Drupal can now use Chromedriver for these tests, however the majority of tests are still running on Phantom). This situation requires Drupal themers and front-end developers, working primarily with HTML / CSS / JavaScript, to learn the PHPUnit testing framework and specifics of its implementation within Drupal, instead of being able to write tests for page interactions and JavaScript in JavaScript itself.

undefined

Nightwatch is a very popular functional testing framework that has now been integrated into Drupal to allow you to test your JavaScript with JavaScript! Drupal's implementation uses Chromedriver out of the box, however it can also be used with many other browsers via Selenium. The choice to use Chromedriver was because it's available as a standalone package and so doesn't require you to install Java and Selenium, as well as running the tests slightly quicker.

A very powerful feature of Nightwatch is that you can optionally watch the tests run in real-time in your browser, as well as use the .pause() command to suspend the test and debug directly in the browser.

Videos require iframe browser support.

Right now it comes with one example test, which will install Drupal and check for a specific string. The provided .installDrupal command will allow you to pass in different scripts to set Drupal up in various scenarios (e.g., different install profiles). Another available command will record the browser's console log if requested so that you can catch any fun JavaScript errors. The next steps in development for core are to write and provide more helpful commands, such as logging a user in, as well as porting over the 8.x manual testing plan to Nightwatch.

undefined

You can try Nightwatch out now by grabbing a pre-release copy of Drupal 8.6.x and following the install instructions, which will show you how to test core functionality, as well as how to use it to test your existing sites, modules, and themes by providing your own custom commands, assertions, and tests. For further information on available features, see the Nightwatch API documentation and guide to creating custom commands and assertions. For core developers and module authors, your Nightwatch tests will now be run by Drupal CI and can be viewed in the test log. For your own projects, you can easily run the tests in something such as CircleCI, which will give you access to artifacts such as screenshots and console logs.

If you were in the city of Cluj-Napoca between 4 and 6 May 2018 and walked around The Office, you probably saw over a 100 people from all over the world, wearing the same t-shirts, talking about Drupal. That's because DrupalCamp Transylvania was in town.

If you know a bit of Romanian history and have heard about Transylvania, you probably know about Vlad the Impaler. If not, then you've probably heard about Dracula. Either way, they're the same person. You may be asking yourself, "What has Dracula got to do with Drupal?". Well, the answer is in the picture below:

We all want Drupal to be immortal. Because we love developing awesome websites with it. That said, we must remember one thing, it's not all about work and making money, it's also about having fun using Drupal. That was one of the key points of Robert Douglass' keynote - "My Drupal Mid-Life Crisis".

One of the most interesting sessions was Larry Garfield's - "The container is a lie!". On reading the title, you'll probably want to check that out, since you most probably use containers (not necessarily Docker containers, although Docker is probably the most used these days) in your everyday work. He spoke of how software runs on modern Linux systems, that we should not think of boats, whales or shipping or even Docker when we hear the word container, and why it is actually useful that modern software is built (runs) on these "lies". These "lies" form part of our everyday work, and more importantly, the deployment to different environments makes it so much easier.

Another very important topic, not only in the Drupal community but in technology in general, is GDPR (General Data Protection Regulation). Balu Ertl had a great session entitles, Overview of GDPR modules for Drupal, in which he provided an overview of all the modules in Drupal that can help your Drupal site achieve GDPR compliance.

The conclusion was that we have quite a few modules (9) in this category, some of them available on both Drupal 7 and 8. Some of them implement a small part of the regulations (like the consent for using personal data, the possibility to delete or download all the personal data of a user, the possibility to anonymize user information when dumping a production database, etc.) and many of them implement overlapping features.

But there seems to be one module, General Data Protection Regulation, which tries to bring all these modules together under one umbrella so that we can have a unified and clear solution for making a site GDPR compliant.

Another thing that came up during the discussions about this subject, was that this is a really complicated subject for both technical and legal minds, and as such, you'll most probably not be fined immediatly if you're not 100% GDPR compliant on the 26th of May 2018. The most likely scenario is that the authorities will be there to help at first, and only fine you as a last resort. That said, this cannot be confirmed and everything should still be done to be GDPR compliant by the deadline.

No, we did not watch an episode from Doc McStuffins. This was about Auditing PHP Applications, a session in which Lenard Palko showed us how his team is dealing with auditing PHP applications and what things should we look for when having to do such an audit. He also shared some helpful tools that you should use and how should you structure the report.

As you can see it was a great DrupalCamp. Nice location, great presenters, lots of people and a dedicated sprint room. So, did we have any time for doing other stuff than coding and talking about Drupal? Yes, we did! We had some great parties each evening and a brave few of us even went for a morning run on Saturday.

Drupal is a CMS that’s well-known for its security and flexibility. But do you know of another aspect that Drupal excels at? It’s Drupal’s excellent built-in SEO functionality. While Drupal itself plays pretty well with search engines, there are a host of measures you can take to ensure you stay on top of the SEO game even more. After all, the internet is a competitive market, making a site’s SEO all the more competitive. In this post, I’ll explore some of the most common SEO measures you can take to bolster your Drupal site’s SEO efforts.
The Basics
All the basic SEO measures that are… READ MORE

Support the game designs and theoretical work of As If Productions. Written especially for roleplayers, GMs, game designers, artists and neophiles who are interested in experimental applications of narrative engineering.