Agaric is facilitating a full day training at DrupalCon Seattle to help you understand how to import content into your to Drupal 8 website.
This training is open for attendees with intermediate experience with Drupal- familiarity with installing a Drupal site and installing modules. We… Read more
People often ask about the free software tools Agaric uses to manage our cooperative business. In this article, we share some of the free software tools we use for office tasks and administration as well as communications. These are Agaric's chosen resources -- the tools we… Read more,
With Europe threatening $25,000,000 fines and Facebook losing $80,000,000,000 of stock value, are you paying attention to data privacy yet? If millions and billions of dollars in news headlines never grabbed you, maybe you've noticed the dozens of e-mails from services you'd forgotten… Read more
Being able to share an article via a social network is a common request on a project.
Many topics clearly belong to a single track, but others could fit in more than one. When we had a dedicated Symfony track a session about Twig could be submitted to the Symfony or front end tracks. A session about Drupal Console could be… Read more
Over 8 years have passed since there was a DrupalCamp in tropical Nicaragua. With the help of a diverse group of volunteers, sponsors, and university faculty staff, we held our second one. DrupalCamp Lagos y Volcanes ("Lakes & Volcanoes") was a great success with over 100 people attending in 2 days. It was a big undertaking so we followed giants' footsteps to prepare for our event. Lots of the ideas were taken from some of the organizers' experience while attending Drupal events.… Read more
Once a text field has data stored, it is not very easy or obvious how to change its maximum length. In the UI there is a message warning you that the field cannot be changed, because there is existing data. Sometimes it is necessary to change these values. It seems that there are a few ways and some resources to do this in Drupal 7, but I could not find a way to do this in Drupal 8. I decided to create a small function to do it:
Caution: Any change in the database needs to be done carefully… Read more
When you think of training, perhaps you remember an event that you were sent to where you had to learn something boring for your job. The word training does not usually make people smile and jump for joy, that is unless you are talking about Drupal training. These gatherings spread the Drupal knowledge and increase diversity in the community of Drupal developers.
Join us for the next Drupal Global Training Day with our online full day session on getting started with Drupal… Read more
Drupal 8 has a great AJAX Form API which includes some tools to create modal dialogs using the jQuery modal library. The Examples module even demonstrates how to create a custom form and display it in a modal window. But what if what you want to do is display an already created form in a modal? How do we do that? Let's see how to do it with an example. Let's display the node add form in a modal window.
The first thing… Read more
TL;DR: For PHP Hexadecimals, Decimals and Octals are all Integers, so they must be declared as @param integer
While I was working on a patch I had to write the docblock of a function which received a hexadecimal number and I wasn't sure what I was supposed to put in the @type param.
Note: Do not confuse the… Read more
CKEditor is well-known software with a big community behind it and it already has a ton of useful plugins ready to be used. It is the WYSIWYG text editor which ships with Drupal 8 core.
Unfortunately, the many plugins provided by the CKEditor community can't be used directly in the CKEditor that comes with Drupal 8. It is necessary to let Drupal know that we are going to add a new button to the CKEditor.Why Drupal needs to know about our plugins
Drupal allows us to… Read more
Caring about Webform accessibility
Caring about Webform accessibility was a significant and unexpected personal milestone that happened last year while working towards a stable release of the Webform module for Drupal 8. It’s not that I didn’t care about accessibility, I just never paid attention to it.
Mike Gifford and Andrew Macpherson, Drupal's Accessibility Topic maintainers, helped me understand the importance of accessibility. They also gave me some direction for how to address webform related accessibility issues. This experience led me to do a presentation about Webform Accessibility @ Design4Drupal and to strive to fix accessibility issues in the Webform module. I learned to care about accessibility, but it’s not enough - I still have to ask the question…
Accessibility can't be neglected
Accessibility has become an important and persistent topic in Open Source communities. I've stated how impressed I am with WordPress's reimaging of its page building user experience, called 'Gutenberg'. At the same time, I was disappointed to see how the WordPress community, specifically how Automattic, addressed accessibility issues related to Gutenberg's user experience. My criticism is based on my sense of the responsibility associated with maintaining an Open Source product used by tens of thousands of websites, and in WordPress' case, is used by over 30% of all websites.
Open Source is about sharing and...Read More
The European Commission made an exciting announcement; it will be awarding bug bounties to the security teams of Open Source software projects that the European Commission relies on.
If you are not familiar with the term, a bug bounty is a monetary prize awarded to people who discover and correctly report security issues.
With over 150 Drupal sites, the European Commission is a big Drupal user, and has a large internal Drupal community. The European Commission set aside 89,000€ (or roughly $100,000 USD) for a Drupal bug bounty. They worked with Drupal's Security Team every step along the way to get this set up. To participate in the Drupal bug bounty, read the guidelines provided by Drupal's security team.
Over the years I've had many meetings with the European Commission, presented keynotes at some of its events, and more. During that time, I've seen the European Commission evolve from being hesitant about Open Source to recognizing the many benefits that Open Source provides for its key ICT services, to truly embracing Open Source.
In many ways, the European Commission followed classic Open Source adoption patterns; adoption went from being technology-led (bottom-up or grassroots) to policy-led (top-down and institutionalized), and now the EU is an active participant and contributor.
Today, the European Commission is a shining example and role model for how governments and other large organizations can contribute to Open Source (just like how the White House used to be).
The European Commission is actually investing in Drupal in a variety of ways — the bug bounty is just one example of that — but more about that in a future blog post.
From time to time, I have the need to take a Twig template and a set of variables, render the template, replacing all the variables within, and then get the output as a string. For example, if I want to have a really simple email template in a custom module which has a variable for first_name, so I can customize the email before sending it via Drupal or PHP, I could do the following in Drupal 7:
Acquia Developer Center Blog: Building Usable Conversations: Conversational Information Architecture
In this second installment in our series on conversational usability, we dive into a relatively overlooked area of conversational interfaces that can have an outsized impact on the eventual user experience that results: information architecture.Tags: acquia drupal planet
This fall the South Carolina Drupal User’s Group started using Zoom are part of all our meetings. Sometimes the technology has worked better than others, but when it works in our favor we are recording the presentations and sharing them when we can.
Chris Zietlow presented back in September about using Machine Learning to Improve UX.
We frequently use these presentations to practice new presentations and test out new ideas. If you want to see a polished version hunt group members out at camps and cons. So if some of the content of these videos seems a bit rough please understand we are all learning all the time and we are open to constructive feedback.
If you would like to join us please check out our up coming events on Meetup for meeting times, locations, and connection information.
Visualise yourself getting involved in a social experiment (and you are oblivious of your involvement). You are walking down the street and find cash on the sidewalk. You get drowned in different thoughts as to whether casually pick it up and slip it inside your pocket or just plod away as if you haven’t seen anything or just take it and give it to someone needy. Supposing you have chosen the second option, you, then, realise that it was a social experiment as some guys come towards you appreciating your character.
Diving into Automated testing
Sometimes life gives you such opportunities without even giving you some sort of prompt where you are automatically tested for your behaviour. Speaking of an automatic test, there is a different sort of automated test involved in the digital scene but has a lot of significance. Adding test coverage to your website and application can be very fruitful. For instance, you can ensure that requirements are met and avoid regressions from happening. One of the many approaches for testing is Behaviour Driven Development (BDD). As one of the leading open source content management systems, Drupal enables you to imbibe automated testing through tools like Behat in your website.
Automated testing is a process that involves pre-scripted tests which are run automatically. Their function is to compare actual results with expected results that help in determining if the application works as expected. It can help in executing iterative tasks and regression tests to verify if an application works correctly after the newly implemented alterations.Automated testing is a process that involves pre-scripted tests which are run automatically.
On the contrary, manually testing involves quality assurance specialists who need to verify that the applications are working properly by following conditions written in test cases. In spite of its primitive nature, it is still very significant in cases like wearables and mobile devices that may need field testing in a physical environment.Source: Gear Inc
Automated testing saves a lot of time by reducing the time to run repetitive tests which, in turn, saves money. It vastly enhances your test coverage. Lengthy tests that are, most often than not, avoided in manual testing can be run unattended. It also improves precision by performing the same steps precisely whenever they are executed and never misses from recording detailed results. It can simulate tens and thousands of virtual users interacting with a network, software and web applications. Moreover, shared automated tests can be leveraged by developers to detect problems quickly before sending to QA.Automated testing in Drupal
Drupal 8 core testing framework comes with numerous automated testing options. To ensure the quality and reaction of code on edge cases, testing can be performed in different layers:
- To test class methods, you can write Unit tests which constitute the process of testing the discrete parts or units of a software project. PHPUnit can be leveraged in this case.
- For testing module APIs, you can write Kernel tests which are basically unit tests on steroids.
- You can also adopt functional testing where software testing is performed for detecting the actual performance of an application’s functional requirements. Functional testing is great for accuracy, interoperability, compliance, security and suitability.
- There is also the possibility of utilising an external framework like Behat with scenarios in gherkin syntax.
Behat is an open source Behaviour-driven Development framework.
Behat is an open source Behaviour-driven Development (BDD) framework, as stated in the official site of Behat, and helps in supporting the process of delivering software that matters via perpetual communication, deliberate discovery and test automation. BDD is a way of building software through continuous interaction with stakeholders in the form of examples like what help would a particular software be offering to them and you for attaining your goals.
Behat was created for PHP and is a spectacular PHP library to the core with its codebase leveraging a superabundance of Symfony components, strictly adhering to coding standards, and comes out on top in major static analysis tools. Moreover, Behat has superb extensibility as almost all of its functionality could be enhanced or replaced via a magnificent extension system.Behat for Drupal
There is a provision for a Drupal extension that offers an integration layer between Behat, Mink Extension and Drupal. For the starters, this Drupal extension can be enabled using Composer followed by the creation of behat.yml file in the projectdir. You also get to add your features files to the features directory of your repository that contains human-readable steps to test something.
By describing the behaviour of a site in plain but stylised language followed by the process of turning that description into an automated test, Behat and Mink come in very handy. These functional tests enable the site builders to ensure that the added value that is created while building a Drupal website keeps on behaving as per the expectations even after alterations are done to the website like security updates, changes to custom code among others.
This Drupal extension helps in setting up test data using Drush or the Drupal API in addition to defining theme regions and test data that appear within them. It also assists in clearing cache, logging out and other such significant steps. Moreover, it is an astronomical solution for detecting and discovering steps offered by contributed modules and themes.Case study
Global Canopy Programme wanted to retrieve the news syndicated from a plethora of public sources, govern it through an internal application followed by resyndicating it to numerous public-facing sites. For this, it leveraged the power of Drupal with the help of a digital agency to build this application called Forest Desk. They followed the paradigm of BDD that was beneficial for each piece of functionality and could be embedded in the Scrum process.
Behat was meritorious for testing whether the functionality has been built correctly. It turned out to be an essential tool for testing comprehensible action on a website like clicking links or hitting submit buttons. Behat’s knowledge could further be extended using custom PHP code thereby leveraging it to understand RSS which is the format for syndicating content on the web.Behat’s knowledge could further be extended using custom PHP code thereby leveraging it to understand RSS which is the format for syndicating content on the web.
The RSS standard was utilised for syndicating data and Drupal’s Feeds module was very beneficial in consuming this standard from remote websites and modules like Views helped in repackaging it for consumption by other sites. Furthermore, the Adminimal theme offered an immaculate administrative design.
For developing each feature, once its scenario was specified in Gherkin syntax, Features module was leveraged. This helped in altering the configuration and save the changes and return to the previous state of configuration in case any BDD test no longer works.Conclusion
Behat is a great tool for enabling superfast and efficacious automated testing in Drupal development.
Offering stupendous digital experience with our suite of services to our partners has been our supreme goal.
Contact us at firstname.lastname@example.org to get the best out of automated testing through this wonderful tool - Behat.blog banner blog image Behat Behaviour-driven Development Drupal Drupal 8 Mink Automated Testing Blog Type Articles Is it a good read ? On
The only televised awards ceremony to exclusively celebrate performers, the SAG Awards recognize both individual and ensemble performances. But what really sets them apart from other industry honors is that the winners are selected entirely by performers’ peers in SAG-AFTRA.
While you can catch all of the red carpet action here, the pre-show will also be available to stream on https://vsle.org/category/entertainment and https://vsle.org/category/entertainment in addition to being broadcast live in Times Square.
The 25th annual Screen Actors Guild Awards — hosted by Will & Grace’s Megan Mullally — will be simulcast live on TNT and TBS from the Shrine Auditorium in Los Angeles on Sunday, Jan. 27 at 8 p.m. ET/5 p.m. PT.Drupal version: Drupal 4.6.x
Emily Blunt, "Mary Poppins Returns"
Glenn Close, "The Wife"
Olivia Colman, "The Favourite"
Lady Gaga, "A Star Is Born"
Melissa McCarthy, "Can You Ever Forgive Me?"
Mahershala Ali, "Green Book"
Timothee Chalamet, "Beautiful Boy"
Adam Driver, "BlacKkKlansman"
Sam Elliott, "A Star Is Born"
Richard E. Grant, "Can You Ever Forgive Me?"
Amy Adams, "Vice"
Emily Blunt, "A Quiet Place"
Margot Robbie, "Mary Queen of Scots"
Emma Stone, "The Favourite"
Rachel Weisz, "The Favourite"
Related: 'A Star Is Born,' 'Ozark' lead Screen Actors Guild Awards with four nominations each
More: Screen Actors Guild's most shocking snubs: 'First Man,' Chadwick Boseman weren't nominated
Ensemble in a drama series
''Better Call Saul"
''The Handmaid's Tale"
''This Is Us"