Nov 16 2018
Nov 16

From the vantage point of a school, some of the features that prove its greatness are a library with a superabundance of books, science laboratory with advanced scientific instruments, projection room with 3D technology and so on. Today, where almost everything is happening through the internet, the education sector is not left far behind. E-learning platforms have taken the world by storm with its unprecedented provisions of online learning. And E-learning platforms need great features as well to be able to disseminate knowledge across multiple channels efficaciously.

Written equations on brown wooden board


A lot of significant features can spring up in your mind that you think should be in an e-learning platform. It can be tons of courses on a plenitude of subjects for the learners. Or it can be digital certifications that can be provided for a successful completion of a course. Drupal comes with some amazing set of modules for enabling essential features of an e-learning platform. Let’s look at some of the important features and see how Drupal has the answer for that.

Courses

Modern learners are infatuated with the notion of getting a top-quality education and love to choose from an extensive list of courses on an e-learning platform. Some of the Drupal modules that can be helpful in creating courses include:

Course module lets you build e-learning courses with any number of tracked requirements for completion. It allows any content type to be used as an e-learning course comprising of graded or ungraded course subjects. It offers course object API for defining learning objects that can be added to a workflow.

For assigning and mapping credit types to learner profiles and courses, Course Credit module is useful. On successful completion of an activity, online learners will be able to receive or claim credit for which they are eligible. 

To expose Course module as a Course object, Course relationships module is effective which allows parent courses to include sub-courses. It can grant access to sub-courses by enrolling into or purchasing a parent course.

Quiz

Through online tests and quizzes, an instructor can track the progress of students and analyse the effectiveness of the curriculum. Simultaneously, it paves the way for the students to track their own progress and improve their skills accordingly.

Quiz module allows you to build graded analytics in Drupal where a quiz is given as a series of questions and the answers are, then, stored in the database. During or after the quiz, the scores and results are displayed. Administrators can also provide automatic or manual feedback. This module can be leveraged as an object in a larger Learning Management System (LMS) or a supplemental classroom activity.

Certification

Skills and certification tracking is one of the important features of an e-learning platform.

Certificate module helps in creating and awarding PDF certificates with the help of tokenised HTML templates. It provides the interface for governing custom certificate templates and mappings and allows integration with Wysiwig for rich certificates.

Open badges, which are digital images used to recognise an individual’s skills and achievements, can be created with Drupal. Open digital badging module helps in providing a Mozilla OBI compliant badge empowered by the learning system.

To create badges earned by students on their successful completion of a course or a class, Opigno Mozilla Open Badges App module lets you integrate Opigno LMS with Mozilla Open Badges. In this, badges will be exhibited in the user profile and can be automatically synchronised with Mozilla Backpack.

Social learning/ Message boards

E-learning platforms should allow students to learn from one another.

Modules like Opigno Messaging and Opigno Forum, which are related to Opigno LMS distribution, govern the private messaging feature to let users share messages between them. It allows you to select a list of recipients and start a discussion thread with the selected users. It is worth noting that these modules are not covered by Drupal’s security advisory policy.

Social Login and Social Share modules eliminate the need of creating a username and password by allowing you to log in using the social network sites and helps in sharing the content with your network.

Consistent instructor presence

The role of the instructor is significant in e-learning as he or she is instrumental in encouraging and inspiring the students.

Opigno instructor-led training module helps in implementing instructor-led training (ILT) entity. It can be added to learning paths in combination with online modules and virtual classrooms. ILT sessions let you register attendance of users and provide them with a grade. These sessions can be made mandatory in the learning path and are automatically added to the user’s calendar. Also, note that this module is not covered by Drupal’s security advisory policy.

A well-designed LMS

A streamlined and a well-designed LMS means that it should be easy to navigate, well-organised, and must contain high-quality content.

The LTI Tool Provider module allows a Drupal site to act as a Learning Tools Interoperability (LTI) Tool in any LMS that supports the LTI standard. LTI compliant LMSs include Angel, Blackboard Learn, Moodle, and Sakai. Please note that this module is not covered by Drupal’s security advisory policy.

Kaltura module helps in integrating the Kaltura video platform capabilities into Drupal thereby allowing you to instantly enrich your Drupal site with video, audio, and images.

Chamilo integration module allows integration of Drupal with Chamilo LMS by offering ways to see Chamilo resources into Drupal blocks.

Would love to have a starter kit for building the LMS? Open LMS distribution, which is developed and actively maintained by OpenSense Labs, is a learning management system based on Drupal 8 that comes with robust features.

Open LMS offers numerous kinds of content type like textual study material, video lectures, documents that can be utilised as a course material for students. Also, it lets you add H5P, HTML5 based interactive video content type, to the course.

Moreover, it provides a quiz and subjective test functionality, assignment functionality powered by Webforms, and calendar functionality to schedule courses. Please note that Open LMS is not covered by Drupal’s security advisory policy.

Conclusion

E-learning platforms have changed the landscape of education. And Drupal as an open source software and a robust content store helps in innovatively build an efficient e-learning platform.

Some of the significant features have been discussed in this blog post that is fulfilled by Drupal’s incredible set of modules. OpenSense Labs has been powering digital experience dreams of its partners with its expertise in Drupal development.

Contact us at [email protected] to build a great e-learning platform with Drupal.
 

Nov 16 2018
Nov 16

At the point when Amazon launched Alexa, it changed the method for individuals connecting with the gadgets.Virtual assistants are quick getting to be ordinary in the home through items like Echo, Echo Show, Echo Dot, Echo Look and Amazon Tap.

The Alexa Skills marketplace is rapidly growing, below is the stats according to the voicebot.ai

US Alexa skill totals as of december 2017

 

Why Alexa skills are Important for business?

Voice search are growing day by day and it is the latest trend in the field on digital design. “There are over one billion voice searches per month. (January 2018)” estimates Alpine.AI.

 Alexa is an awesome way to achieve a more extensive customer gathering of people, which is the reason an ever increasing number of brands crosswise over verticals are developing skills to catch and draw in with audience members. Alexa is amazon’s cloud based service available on tens of millions of devices from amazon and third-party manufacturers.

Alexa Skills are so new to the market, organizations have a universe of unbounded potential outcomes before them. Very little has been done yet, so there's a great deal of space to end up the first to provide one of a kind interaction to a particular sort of business.

Why account linking is necessary for business?

Account linking allow user to easily link there accounts with existing account or service account. It also allows your skill to securely authenticate user with services. Once the user granted your skill  access to the external account the skill can perform operations with that account on behalf on the user.  

Account linking lets you access the current users information by which you can provide user a personalized content as per their interests. 

Account linking in the Alexa skill set uses OAuth 2.0. OAuth server return a authorization code instead of access token in the first step which gives couple on security benefits, for example, the ability to verify the client and also the transmission of the access token specifically to the client without going it through the resource owner’s user-agent and conceivably exposing to others, including the resource owner. Here the resource owner is the person who can grant authorization to get to an ensured resources in the resource server.

How Alexa account linking works with Drupal?

Alexa linking with Drupal


Account linking with Alexa skill

For custom skill model, account linking is a preferred choice if your skill needs personalized data from another system. Account linking lets you connect the identity on the user with a user account in different system. 

Lets walk through an example to understand things more clearly, you have created a web-based service which enables user to order things, a custom skill that lets user access your service by voice would be useful. For example  the request,“ Alexa add echo dot to the cart” requires the skill to access your service as a specific service user for adding product to cart and payment information. As the user is already registered on the website we need to get details of  that particular user to perform above actions. Here we can’t use the amazon account of  the user to identify him/her in our system because it’s not necessary that user will be using the same account to login on the both the system i.e. Echo dot and web-based service. In such scenarios account liking helps to identify user.

For custom skill models, the user completes an account linking flow in the Alexa app to log in to your service. Once the user is authenticated, requests and directives sent to your skill include an access token that your system can use to identify the user. Refer  Overview of the Authorization code grant working for a better understanding of its functions. 

Note: For account linking with Alexa the Drupal site must have an SSL certificate.

Steps to Implement Account Linking in Your Skill:

  1. Download and enable Alexa- simple_auth, simple auth extras, oauth2 server modules.

  2. Add new OAuth2 server - It will help authenticate the identity of the user and issue access tokens. The screenshot below provides an example of server configurations.
     

    Step 2
  3. Add new client-  In here the Alexa skill will be your client, the skill uses access token to request information from the oauth2 server.
    Redirect URI will be provided in the account linking section of  the alexa developer console. (Check point 6 screenshot) 
     

    Step 3
  4. Go to permissions page grant the permission to particular role as per requirement.
     

    Step 4
  5. Login to your Alexa developer account and go to the Account linking menu (second last on left sidebar)

  6. Select authorization grant type as “Auth Code Grant”, enter the client id and client secret as per the client created on the Drupal end.
     

    Step 6
  7. Save and build the model and then go to Alexa application. There, enable your skill, and it will open a new tab that redirects the user to the Drupal site for authentication.

Identify a user from Alexa request

Once the user authenticates skill with the server, each time Alexa skill makes a request to the Drupal site, it would consist the access token from which the user can be identified. 

Below is the sample Alexa request object:

[session] => Alexa\Request\Session Object
        (
            [user] => Alexa\Request\User Object
                (
                    [userId] => amzn1.ask.account.abc
                    [accessToken] => 26c2cfe374cc1562ea29115e3749a80cf7e5262e
                )
            [new] => 
            [application] => 
            [sessionId] => amzn1.echo-api.session.447c2c75-cd0d-4e4b-9901-902b3f269090
            [attributes] => Array
                (
                )
        )
Nov 16 2018
Nov 16
google webfonts

Although Drupal has reputation for being a developers' platform, lots of user rely on Drupal's admin area for key tasks.

For typography in Drupal sites, the best way to change your site's fonts via the admin is a module called @font-your-face

The @font-your-face module allows you to work with webfonts like Google Fonts or Font Squirrel. It also provides the ability to work with paid font services like Typekit or fonts.com.

In this tutorial, you’ll learn how to configure and use this module in Drupal 8.

Step #1. Enable the required module

  • Download and install the @font-your-face module from Drupal.org.
  • Enable the @font-your-face module.
  • Enable the integrations you need. In this example, I'll enable the Google Fonts submodule.

font your face module

You have to check the @font-your-face settings in order to import the fonts of each one of the enabled submodules.

  • Click Appearance > @font-your-face > Settings
  • Click the "Import all fonts" button. The process will take about 5-10 minutes to complete, depending on the speed of your internet connection.

Drupal webfonts import

  • Click "Save configuration" after the Import process has finished.

Drupal webfonts save configurations

Step #2. Create a Font Display

In order to create a font display, you have to browse and enable your desired fonts.

  • Click Appearance > @font-your-face > Browse (This is a View, you can edit it if you want).
  • Select and enable the fonts you want to use in your site.
  • On top of the page is an exposed filter. You can search the fonts by name or specifying other criteria like the weight of the font or its classification.

Drupal webfonts font selector

  • Make a search for two or three fonts with different filter settings and enable them. Every enabled font will get a green background.

Drupal webfonts disable fonts

  • Click Font display and then click the blue "Add Font display" button.

Drupal webfonts add font display

  • Add a proper label to the Font display.
  • Choose the font.
  • Choose a preset selector, for example All Headers (h1, h2, h3, h4, h5, h6).
  • Choose the theme you want to add this particular font display.
  • Click "Save".

Drupal webfonts webfont display settings

  • Repeat the process with other fonts and Preset selectors.
  • If you want to choose another selector not included in the Select list options, choose other and type the selector in the text box.

Drupal webfonts selectors font display

  • Please take notice that the cascading nature of CSS will apply depending on the order you create the Font displays. The last one will take precedence over the others.

several font displays

  • After creating all necessary Font displays, you can either create some content or take a look at your already existing content.
  • The default Bartik fonts have changed and now match the ones you enabled and configured.

webfonts before after

Conclusion

The @font-your-face module for Drupal 8 provides an easy way to change the fonts of your site without writing additional CSS code.

This module is very useful in sites that switch their theme according to some predefined event. You can configure different Font displays for the same Preset Selectors depending in the theme currently in use.

Thanks for reading! If you're looking for a more code-centric approach, try this video from our Drupal 8 Theming class.


About the author

Jorge lived in Ecuador and Germany. Now he is back to his homeland Colombia. He spends his time translating from English and German to Spanish. He enjoys playing with Drupal and other Open Source Content Management Systems and technologies.
Nov 16 2018
Nov 16

When the whole world works on the simple facet of fellowship how can the healthcare industry not constitute to the same concept? 

Development and marketing collaborations between the healthcare organizations and web development agencies can be mutually beneficial. Whether your healthcare organization is built on Drupal or if you are looking for redesign and new prospects with Drupal, there are a number of things that have to be kept in mind, and if the main agenda is to collaborate, a series of questions have to be answered.

a blue drupal logo with three pair of hands holding a notepad, syringe, bottle, and test tube


What is it about Drupal that makes leading healthcare organizations chose this platform? How has Drupal evolved to help healthcare organizations serve better to their patients? 

Reasons Why the Healthcare Industry Should Choose Drupal 

  • Web Accessibility 

Web Content Accessibility Guidelines (WCAG) 2.0 commands that all the websites should be accessible to everyone regardless of their age, ability, or a combination of technology and ability. With the release of Drupal 7, the Drupal community is committed to providing universal accessibility not just for the end users but for the developers too. 

Web accessibility is the comprehensive practice of guaranteeing interaction with, or access to the web, for all the people irrespective of their abilities.

Flexible and fully customizable theming, and features make it possible for Drupal sites to meet WCAG accessibility and section 508 requirement. Some of the web accessibility features may include:

  • The provision of HTML5, which provides new and better semantic components that tell the browser and assistive technologies about the type of content coming forward, and how the complementary information provided (HTML) is related to the content.
     
  • The provision of “Drupal.announce()”, a method which helps the pages update in a non-visual manner. 
     
  • Without breaking the tab order in local navigation flow, Drupal directs non-visual and non-mouse users to access prime element on the page in a logical order. With its tabbing manager, Drupal defines tab orders explicitly for keyboard users. 
     
  • Other Drupal web accessibility modules such as text resize, style switcher, alt text, CKEditor abbreviation, high contrast, it makes it easy to make a universal user-friendly website. 
     
  • Drupal also uses fieldsets which give a visual diagram around the field gathering. It breaks the form into subsections, making it easier to understand for visually impaired people.

The Drupal accessibility handbook and theming guidelines ensure that the Drupal themers are well aware of the best practices while they are building their website. themes

three blue keys with a man in wheelchair, ear, and a man walking with a stick on a white keyboard
  • Third-Party Integration

The ability of Drupal to integrate with third-party applications is the primary building block of generating a robust functional system. Making the task easy for developers, seamless third-party integration allows a bonus for marketing strategic stand too. 

Integrating Drupal with an EHR system 

The Electronic Health Record (EHR) system is steadily gaining its ground in the healthcare industry. Used for electronically storing up data of the patients in the digital format it offers a completely new level of playing field for both the patients and providers. 

Bestowing the physicians with faster access to the medical records, EHR avoids errors and minimizes the cost which is associated with paperwork. 

Drupal, when integrated with an EHR keeps the data protected at all times and prevents duplicacy of the content, while still permitting the user to interact with the view and input the information which is necessary for the role.

It securely shares the information with patients and other clinicians assisting providers more efficiently diagnose patients, reduce medical errors, and provide safer care

Some of the most adopted EHR systems in use that can be integrated with Drupal are NueMD e-MD, PHI etc.  

A desktop and tablet with text and images in the screen
  • Mobile first design 

Around 61.2% of the worldwide population is indulged in the use of a smartphone, and in such an innovative environment the manipulation of mobile compatible websites is hard to ignore upon. 

Incorporated with mobile friendly themes which is suitable for any screen size, Drupal works well for almost all devices which include iPhone, iPad, Android, and even blackberry. There is no doubt that having a medical based mobile website armed with all relevant information to target a diverse group of people and partners is a profitable mechanism for every medical organization. 

Drupal makes it easy for users to have a better mobile experience on healthcare websites. The mobile first designs let them set up online profiles, helps them in maintaining records, and other medical practices. 

  • Security 

According to HIPAA Journal, there have been about 2,181 healthcare data breaches (2009-2017) involving more than 500 records. 

A graph with blue graph lines


Healthcare industry is massively reliant on technology these days, not just the hardware to cure illnesses, but also when it narrows down to send, retrieve, and store data. 

Drupal’s lockdown security and publishing of detailed security reports have been a major shield to the organizations. With the evolution in the Drupal system, the platform has conquered a huge reputation for its security and robust performance. Hospital websites store an ample number of data, records, reports, digital assets in their database. 

The modules and extensions are provided with a layer of extra security to the website, marking Drupal a highly secure CMS.  

Not only this, but Drupal also contributes to resolving security issues that are supported by the security advisor. It also offers help for contributing module maintainers in fixing security issues. 

  • Multilingual feature 

With medical tourism getting popular and healthcare technology advancing sparingly forcing people to look for better medical assistance across various parts of the globe. It is not uncommon to encounter patients who speak a language other than English.

To expand the access to people across the globe in healthcare,  Drupal grants 4 easy modules to translate the website into more than 94 languages providing healthcare websites a better scope of communication with the patients. It is also easy to build a custom language not available in Drupal. 

  • Better user experience and engagement 

Medical healthcare websites are often used by people in distress. And if operations, like finding the right health care provider, or finding medical records, and paying bills, should be tough and unintuitive, it would leave people more frustrated. 

In fact, Google tells us that website speed has a great impact on how people perceive it. Therefore engagement through media features and at the same time uninterrupted communication online with faster loading is important. 

With an excellent array of modules, Drupal 8 has to be the right choice for creating an engaging user-friendly website in the healthcare sector. Over the past few years, Drupal has evolved to be more flexible and better for technical as well as non-technical users, presenting a customizable administration dashboard and responsive web designs. 

Drupal lets the user personalize the website in a way they desire. Acquia Lift Connector, Drupal module, offers integration with the Acquia Lift service with an improved user experience for personalisation

Important Factors to Look for in a Drupal Partner 

Now that organizations have started using Drupal as their CMS to revamp or build their organization’s website, the next step would involve choosing up of Drupal vendors. 

Every Drupal vendor is different and posses a unique set of skills, thus choosing the right partner makes it important. This can be done by checking some vital factors which can include:

Important factors

Points to remember

Skillset

Reputation

Monitoring and Processing

Verifying about the site performance

Maintenance and technical support

 

Things to Remember Before Choosing a Drupal Partner 

  1. Do they have the right amount of healthcare experience?

    Every healthcare marketing agency has creative resources available in their vanity, but only an experienced partner adds up to the plans, solutions and original thinking. 

    Thus, no matter if the firm has beaten up with high-quality challenges or low-key struggles, every potential partner should have capabilities of providing solutions, and it can only be done when that potential partner has knowledge and experience of solving the health-related travails.

    Patients expect a very specific functionality in the health website, from providing directories to patients reports, it becomes really important to find a partner that is able to build modules and timely update them. 

    Not only this but healthcare organization are apprehended to follow HIPAA compliance guidelines which protect individuals' medical records and other personal health information. The healthcare industries can’t afford to take risks when it comes to HIPAA and PCI compliance

    One wrong or missed encryption and the company's reputation is put under the radar. Which is not only bad for the branding but also violates the rules. Therefore, demanding experience to be an important factor. 
     

  2. Do they have an adequate content strategy?

    Content strategy is important to all the healthcare websites. It is important to team up with the partner that would help you to organize your site in a way that clearly reflects the main objectives of the visitors. 

    There is a need of a  partner with an agency that will help to organize the site content in a manner that is clearly reflected on the visitor’s objectives, and build out the information architecture in Drupal. 

    Drupal’s content model can be complicated if the user is not familiar with the platform. If you operate with an experienced strategist that would help you to see the long-term vision before you start adding content into Drupal, it will help in the long run. 
     

  3. Do the goals and services match?

    A true healthcare organization partners should deliver greater cerebral and inventive values. Which includes the delivery and projection of the agendas. How to conquer it? 

    Have a serious talk about money management.  

    Many firms work on a plan to meet or exceed the possible budget. However, a partner minded organization has a cost-effective way of meeting or exceeding goals. The aim is to construct a strong measure of results, outcomes, and high return-on-investment. 
     

  4. Do they have a plan for performance measurement?

    Every organization would have projects with a certain goal. Here, it becomes an important factor for you to know how does your potential partner measure the scale of performance towards that goal?

    Benchmarking is the term which is used to compare the current performance and the overall standard. Every Drupal based agency measures and quantifies the results based on the - manual page. It describes various methods to measure the performance of the web server, allowing you to witness the performance and even improve it for the future.

    Performance measurement can also be analyzed with the help of Performance Bucket model. This model helps in making the detect-triage-diagnose process more efficient.

    Applications insights is a service that lets the developers monitor the performance, availability, and usage of the entire applications. It becomes an essential part of the application lifecycle.

    As mentioned above, a user tends to abandon a website if it doesn’t load after 3 seconds, and when it comes to healthcare websites, loading time becomes an important factor. Having a predefined performance budget would allow you to enforce better results.

    Your long-term potential partner should be induced by a good design team and development cycles which would help in maintaining the value limits that takes care of the website performance. Performance Budget is one such design and development which would help the user to establish and maintain the culture of an organization, helping them to deliver a smooth.A blue cloud which shows a life cycle, the left and right side of the has a speed clock with a drupal sign
     

  5. Long-term partnership

    It is true that Drupal healthcare websites are quite amazing but on the other hand, they are big and complex. Thus, make sure that you pick an organization that would be there to support you even after the procedure of website-went-live is done. A long-term partner is needed if the custom modules built on the website requires regular updates and security patches. 
     

  6. What methodologies and tools do they use to manage their project?

    Drupal has several modules several distribution and modules developed to perform several project management functions. A clearer idea on which methodology is right for what project contributes to the desired goals in the end. There are several project management frameworks which should be used by an organization to build a successful project. Agile frameworks like:
     

    • JIRA
    • Scrum
    • Kanban
    • Scrumban

Case study for PMG

Produce Market Guide is a product of a Farm Journal which shares information on fresh fruits and vegetables. The advanced search feature on the website was slow, which resulted in a poor user experience. 

red and white homepage with text and two boxes

To fulfill the needs and the standards of loading time, the site was mapped and decoupled with the Elastic search. The new website now is a lot user-friendly with search application and better loading result. Because of the third party integration like Kibana and Logstash, the admin can now track the user behavior and personalize the user experience. The project was completed within a month which followed the principles of SCRUM and AGILE with team fluidly arranging the needs accordingly. 

Future of Healthcare Marketers using Drupal 

As an organization, the requirements are bound to change from time to time and using a single vendor or a specific partner can sometimes be the hindrance. This is a common scenario in healthcare industries. Fortunately Drupal makes a lot of things easy for healthcare marketers or organizations.

It prevents everyone from getting caught up with a single vendor

Drupal exponential growth in the healthcare industry has been rapidly increasing. With the healthcare industry in the third position of top 10 industries using Drupal, it continues to grow mature. 

A blue bar graph on white background

High profile hospitals like C.S Mott Children’s Hospital, Duke medicine, Memorial Sloan-Kettering Cancer Center, Northwest medicine etc has further elevated Drupal’s profile. It’s these types of reputed organizations with a progressive digital team which tells us that Drupal has a bright future in the healthcare sector. 

Conclusion

The Drupal platform is an open source CMS, there are many agencies around the country that have developers familiar with Drupal. Having developers who are familiar with Drupal isn’t the same as having a team that understands the inherent complexity of healthcare websites. 
 
OpenSense Labs believes in providing the best Drupal partnership for you. Contact us at [email protected] for a rich and conducive partnership.

Nov 16 2018
Nov 16
BLT (Build and Launch Tool) provides an automation layer for testing, building, and launching Drupal 8 applications. It is the default recommended tool used by Acquia Professional Services.We use BLT in Professional Services to sync databases, manage configurations, create artifacts for deployments, and tons of other things that -- most of the time -- save us time. If you have not tested it yet I’d recommend you to have a look: https://github.com/acquia/bltDDEV, on the other hand, is a Docker-based, open source tool that helps you to quickly spin up a (local) environment in applications like Wordpress; Drupal 6, 7 and 8; Backdrop, and Typo3. Have a look at https://github.com/drud/ddev
Nov 16 2018
Nov 16

In February 2017 the Drupal Mountain Camp in Davos was held for the first time. More than 120 experts from 17 countries came to the Swiss mountains and experienced a unique weekend. The event was a huge success with many highlights.

Keynotes

Both Laura Gaetano's (Travis Foundation) keynote about the open source community in general and Preston So's (Acquia) keynote about the future of Drupal with API first were well attended, very interesting and led to lively discussions.

Drupal Mountain Camp Davos

Discussions in the venue

Laura Gaetano on stage

Preston So on stage

Sessions

There were sessions by more than 30 different speakers with topics from the Drupal world from different areas like sitebuilding, frontend & design, business & showcases, coding & development. Drupal Mountain Camp featured presentations on Drupal 8 in general, Commerce, Translation Management, GraphQL, Media, Paragraphs and much more.

Session at the Mountain Camp

Sessions in Davos

Sprints

Sprints were organised in several rooms, where both beginners and experts met to code and develop ideas together.

Developers sprinting

Sprinting at the Mountain Camp in Davos

Social Events

After the varied, interesting and intensive daily program, various events took place in the evening at which the "campers" could experience a great time. They joined the skating rink, sled down the mountain, attended a game of the local ice hockey team, ate a cheese fondue and/or enjoyed the slopes on skis or snowboard.

Sledging in Davos

Fondue in Davos

Also, the venue and its food were amazing.

All in all it was a great weekend! Thanks to all our great sponsors that made this possible!

Read more reports from camp participants:

Alle Bilder von Josef Dabernig @dasjo

Nov 15 2018
Nov 15

Did someone test your website for accessibility conformance without your knowledge and then inform you that your organization is prime for an accessibility lawsuit? Are they offering to help you fix the issues found on your website? 

That notification and offer might be valid, but it also might not be the entire picture. One free test grade might not reflect how your site is doing in all its accessibility subjects because automated testing tools can't find all the problems. We believe in assessing all topics of accessibility before recommending a sit down to discuss your options on how to proceed.

How do we do it? 

We don't rely on automated testing to reveal the true nature of a website's issues. We manually test it as well. We look at what makes your website unique and try to understand its mission before creating a scorecard you can use in your decision-making process.

This card reflects several perspectives including the issues anyone with an automated testing tool can see, including you. Many are free to use and quite robust in their feedback. Give one a try. For example, Code Sniffer.

But don't stop there. Our scorecard also reflects a sample of other accessibility issues not seen by the tool.

Last but not least, we look at how you are delivering your website. This part of the review is critical to understanding whether fixing or rebuilding the site is going to be your most cost-effective solution.

Website Grade

Just like the report card you got as a kid, we use grades to convey the accuracy and quality of your work, or in this case, your website. As you can see below, there are degrees of quality: A through D. No F, for failure. We assume no site is that bad.

A – Accessible & modern platform, main issues residing solely in the content
B – Accessible & modern platform, but issues with template items such as menus, sidebars, and in-line styling
C – Accessible & modern platform, but many features need to be replaced or reworked to achieve compliance
D – Antiquated platform, non-responsive, easier to rebuild vs. fix

The Scorecard is not intended to act as a thorough report or formal recommendation, simply a high-level overview. It's our tool to facilitate a conversation with you and help you choose the best path to remediation.

For example, we might find that you are using a content management system tuned to meet the accessibility criterion, but your content developers aren't using appropriate techniques when posting. Fixing existing content issues without “fixing” the reason the issues exist just means your site will continue to have problems.

Or, the example could be far worse. We hate to say it in this day of accessibility lawsuits, but there are still platforms out there that don't follow the rules. If your site was created using an antiquated approach, it might be more cost effective to rebuild rather than create workarounds in your current system.

Our Passion

Here at Promet Source, we are passionate about accessibility. We offer an array of services and remediation options that can be shaped to fit your needs. But, be warned, we are not a quick fix/band-aid company. We believe in enabling you to move forward knowing that you have a fully accessible site and the means to keep it accessible.
 
The decision process associated with such an undertaking can feel overwhelming. That's why we offer the scorecard as part of your remediation process. It's your tool to use in helping others in your organization to understand the level of effort you are facing by moving forward. 

We find that when all stakeholders have an understanding and are vested in doing the right thing, the future of a website is easier to envision. 

We look forward to talking to you about that phone call you got by surprise or that unsolicited email full of ill tidings. Don't worry, we can help you understand and make informed decisions.
 

Nov 15 2018
Nov 15

Did someone test your website for accessibility conformance without your knowledge and then inform you that your organization is prime for an accessibility lawsuit? Are they offering to help you fix the issues found on your website? 

That notification and offer might be valid, but it also might not be the entire picture. One free test grade might not reflect how your site is doing in all its accessibility subjects because automated testing tools can't find all the problems. We believe in assessing all topics of accessibility before recommending a sit down to discuss your options on how to proceed.

How do we do it? 

We don't rely on automated testing to reveal the true nature of a website's issues. We manually test it as well. We look at what makes your website unique and try to understand its mission before creating a scorecard you can use in your decision-making process.

This card reflects several perspectives including the issues anyone with an automated testing tool can see, including you. Many are free to use and quite robust in their feedback. Give one a try. For example, Code Sniffer.

But don't stop there. Our scorecard also reflects a sample of other accessibility issues not seen by the tool.

Last but not least, we look at how you are delivering your website. This part of the review is critical to understanding whether fixing or rebuilding the site is going to be your most cost-effective solution.

Website Grade

Just like the report card you got as a kid, we use grades to convey the accuracy and quality of your work, or in this case, your website. As you can see below, there are degrees of quality: A through D. No F, for failure. We assume no site is that bad.

A – Accessible & modern platform, main issues residing solely in the content
B – Accessible & modern platform, but issues with template items such as menus, sidebars, and in-line styling
C – Accessible & modern platform, but many features need to be replaced or reworked to achieve compliance
D – Antiquated platform, non-responsive, easier to rebuild vs. fix

The Scorecard is not intended to act as a thorough report or formal recommendation, simply a high-level overview. It's our tool to facilitate a conversation with you and help you choose the best path to remediation.

For example, we might find that you are using a content management system tuned to meet the accessibility criterion, but your content developers aren't using appropriate techniques when posting. Fixing existing content issues without “fixing” the reason the issues exist just means your site will continue to have problems.

Or, the example could be far worse. We hate to say it in this day of accessibility lawsuits, but there are still platforms out there that don't follow the rules. If your site was created using an antiquated approach, it might be more cost effective to rebuild rather than create workarounds in your current system.

Our Passion

Here at Promet Source, we are passionate about accessibility. We offer an array of services and remediation options that can be shaped to fit your needs. But, be warned, we are not a quick fix/band-aid company. We believe in enabling you to move forward knowing that you have a fully accessible site and the means to keep it accessible.
 
The decision process associated with such an undertaking can feel overwhelming. That's why we offer the scorecard as part of your remediation process. It's your tool to use in helping others in your organization to understand the level of effort you are facing by moving forward. 

We find that when all stakeholders have an understanding and are vested in doing the right thing, the future of a website is easier to envision. 

We look forward to talking to you about that phone call you got by surprise or that unsolicited email full of ill tidings. Don't worry, we can help you understand and make informed decisions.

Email us for help!
 

Nov 15 2018
Nov 15

It's almost time for NEDCamp, and I can't wait!

Redfin will be presenting a session there on our toe-dipping foray into the world of "progressively decoupling" Drupal.

Recently, I was on an episode of Talking Drupal to explore a little bit more about React and Drupal together--this shoudl whet your appetite for the session at NEDCamp. Give it a listen!

At the presentation, you can expect a deeper dive into some of the code and the real implementation that wires these two technologies together. I look forward to seeing you there!

Nov 15 2018
Nov 15

This is Part 2 of a three part series about choices you can make with the news of Drupal 9’s release. Part 1 is an overview. Part 2 is what to do if you choose to stay on Drupal 7. Part 3 is what to do it you choose to upgrade to Drupal 8. 

With the recent news of the release date of Drupal 9, and that Drupal 7 & 8 will be end of life Nov 1, 2021, our Director of Engineering Kat White wrote Part 1 of a blog post series with an overview of how you should next approach your Drupal site . . . is it best to stay on Drupal 7? Or should I upgrade now to Drupal 8?

In that article, Kat outlined the pros and cons of going from D7 to D9, or upgrading now to D8.

In Part 2 of this series, let’s assume you’ve decided to stay on Drupal 7 for now. What next?

The average lifetime of a website is three years. So if you have had your Drupal 7 site for a three years, hurrah! You’ve done well with your return on that investment. And Drupal 7 is robust and supported enough that there’s still a lot of growth and life in your site. So unless there’s a specific module or item that only D8 can offer, you can feel confident that your D7 site will be solid for a few more years.

But this also means you have about two years to maintain that D7 site: in Fall of 2020, you’ll need to start prepping for that Drupal 9 upgrade (or — gasp! — switching to another CMS). This also buys you two years to secure funding, and get all the stakeholders on the same page for the next upgrade.

So here are some of the incremental bites we recommend you take over the next two years of maintenance:

  • Review your website strategy: assuming you built your site a few years ago around business goals, how is the site working towards those goals? Have your goals shifted? Does your site still achieve your mission? It’s always good to revisit your strategy to ensure any changes you make are on the right path.
  • Always audit your content: Content has a way of getting out of control quickly if there are multiple editors and the lines of governance get blurred. Archive or delete unnecessary content. Also review it for your authority voice and mobile strategy.
  • Review your SEO: In addition to keywords, make sure your content is mobile-focused, that your URL structures are meaningful, and schemas are used to describe the content of a page.
  • Code Quality: How clean are your code standards? Are the styles that drive the look and feel of the site well-structured and easy to extend? Is there good documentation? Completing a code audit would be smart to make sure your code is as quality as possible and fits your goals.  
  • Optimize your user experience: There are many tweaks that can be made to a site to make sure users are finding things. Can you run a usability test on a red button vs a blue one? How about using heatmap software to see where users are clicking and scrolling, and tweaking accordingly? Between surveys, interviews with users, looking at analytics, and testing, you can constantly improve the user experience of your site.  

If you’re a more visual person, I gave a talk at BADCamp just last month about going from D7 to D9 if you prefer video.

And if you need extra help with nurturing and growing your existing D7 site, we can help. Kanopi Studios has a dedicated Support Team that currently maintains over 75 Drupal 7 sites, and will be taking on new Drupal 7 support clients at anytime. Additionally, we will be an official long-term Drupal 7 support provider once the application on Drupal.org is available.

If you want help or want to talk through anything do with your Drupal 7 site, please call Anne directly at 1-888-606-7339 or contact us online.

Nov 15 2018
Nov 15

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.

Thank you to everyone who contributed to this result! It's another great milestone for Acquia and Drupal.

November 15, 2018

19 sec read time

Permalink
Nov 15 2018
Nov 15

In this blog post, I'm going to show you to enable Drupal users to select entities using the "Entity Browser" module.

This tutorial was requested by an OSTraining customer who is building a book review site. The customer wanted to use Entity Browser so that they can create this feature:

  • The site has two content types: Books and Book Reviews.
  • When users create a new Book Review, they can use a view to search for and select the book they're reviewing. For example, if they're reviewing "War and Peace", they can search for the exisiting "War and Peace" node.
  • When the book review is published, the selected node will be embedded inside the book review.

This customer request can be achieved with the help of the Entity Browser module. This module provides a browser that Drupal users can use to embed nodes into other parts of their site.

This tutorial will take you through the site-building exercise and show you how to use the Entity Browser module.

Step #1. Install the required modules

In order to use Entity Browser, you have to install the following modules: Entity Browser and Chaos Tools.

Use your preferred method to download and install these modules. I’m using Composer:

composer install drupal/entity_browser
composer install drupal/ctools

Allow Your Users to Choose Drupal Entities with the Entity Browser Module

This will place the modules in your Drupal installation. After that click Extend, search for both modules, enable them and click Install.

Step #2. Create the Taxonomy terms

In this example, books are categorized by their genre, so we will need a vocabulary called "Book genre".

  • Click Structure > Taxonomy > Add vocabulary.
  • Give the vocabulary a proper name and description.
  • Click Save.

  • On the List tab, click Add term.

Add the following terms:

  • Adventure
  • Cookbook
  • Drama
  • Fantasy
  • Horror

Step #3. Create the Book content type

Next we'll create the content type for our books. We'll use the Book Genre taxonomy that we created in the previous step.

  • Click Structure > Content types > Add content type.
  • Create a content type called Book and add these fields with their default settings:

table

  • Click Add field once again.
  • In the dropdown list under Reference, select Taxonomy term and give it a proper label.
  • Click Save and continue.

  • Leave the Allowed number of values at 1 and click Save field settings
  • Scroll down to the bottom of the Edit screen and choose the vocabulary you want to reference in your content type. In this case: Book Genre
  • Click Save settings

  • Click the Manage form display tab.
  • Look for the Book genre field and change its widget to Check boxes / radio buttons.
  • Click Save.

Step #4. Create the Book content

Now it’s time to create 5 to 10 books and assign each one of them to a particular genre.

  • Click Content > Add content > Book.

Step #5. Create a View

After creating some sample content, you are ready now to create the view. This view will be displayed on the entity browser so you can pick a book while you are creating a book review.

  • Click Structure > Views > Add view.
  • Create a view with the title Available Books.
  • Show content of type Book.
  • Leave the Page and Block settings unchecked.
  • Click Save and edit.

  • Click the Add button under the DISPLAYS section.
  • Select Entity Browser.

  • Click Rearrange besides the SORT criteria and remove the Content: authored on desc criterion.
  • Click Apply.
  • Click ADD besides the FILTER criteria and select the Book genre field.
  • Click Add and configure filter criteria.

  • Make sure the Book genre Vocabulary is selected.
  • Change the Selection type to Dropdown.
  • Click Apply and continue.

  • Check Expose this filter to visitors, to allow them to change it.
  • Make sure the Operator is selected as Is one of.
  • Click Apply.

  • Add the Title field to the SORT criteria.
  • Leave the default configuration Sort ascending and click Apply.

This will present the books in the view in alphabetical order. You have to insert some more fields to be displayed on the view. At the moment, there is only the node title available.

  • Click the Add button on the Fields Section.
  • Look for the book cover field and click Add and configure fields.

  • Select Image style (Thumbnail 100x100) and click Apply.
  • Click Add once again in order to add the Entity browser bulk select form field.
  • Click Add and configure fields.

  • Click Apply.

The use of this field is mandatory if you want to use Entity Browser, so pay special attention to this.

  • Change the format of the view, for example to Grid.
  • Click Apply twice.

The configuration of the view in Views UI should look like the image below. Click Save in order to save the View.

Step #6. Configure the Entity Browser module

In this step, we'll choose the setting the key module in this tutorial: Entity Browser.

  • Click Configuration > Entity browsers

  • Click Add Entity browser.
  • Give it a proper label, for example, Book browser.
  • As display plugin select iFrame.
  • Click Next.

  • Check Auto open Entity browser and click Next.

  • Click Next two more times until you land at the Widgets configuration page.
  • Click the dropdown list in order to select the View widget plugin.
  • Change the label of the widget, for example: “Choose a book”.
  • Select the view you configured in the Step #5.
  • Click Finish.

Step #7. Create the Book review content type

Our site is nearly complete. Before we finish, we do need to create the content type that book reviewers can use:

  • Click Structure > Content types > Add content type.
  • Name this content type Book review.
  • Add a new field, from the Reference section choose Content.
  • Give this field a proper label, for example, The book.
  • Click Save and continue.
  • In the Type of item to reference option select Content.
  • Click Save field settings.

  • Click Save settings.
  • Click the Manage form display tab for this content type.
  • Locate the reference field and change its widget to Entity browser.
  • Click the cogwheel on the right and select Book browser (or whatever you called the browser you just created in Step #6.
  • Click Update.
  • Click Save.

Notice that you also have the option to display only the Entity label or the Full rendered entity. You could use view modes (e.g. Teaser) to present the entity on this new Book review content type.

Step #8. Create the book reviews

Now our site is nearly ready to use. Let's create a book review and see if everything is working correctly.

  • Click Content > Add content > Book review.
  • Give this node a proper title and body texts.
  • Scroll further down and you will find a collapsed section called THE BOOK (that is the name of the field).
  • Click this field and you will see the Entity Browser where you can select the Book you are referencing in this Book review.
  • Furthermore, there is an exposed filter on top so you can select books only pertaining to one genre.
  • Select a genre and click Apply.

The browser will show you only books within this genre.

  • Select a book and click Select entities.

  • After embedding the entity click Save and you will see the referenced Book entity on the Book review node.

Final result

This tutorial has demonstrated the power of the "Entity Browser" module for Drupal 8. I hope you liked it. Thanks for reading!


About the author

Jorge lived in Ecuador and Germany. Now he is back to his homeland Colombia. He spends his time translating from English and German to Spanish. He enjoys playing with Drupal and other Open Source Content Management Systems and technologies.
Nov 14 2018
Nov 14

This blog has been re-posted and edited with permission from Dries Buytaert's blog. Please leave your comments on the original post.

After months of hard work, the Drupal Governance Task Force made thirteen recommendations for how to evolve Drupal's governance.

If you want to go quickly, go alone. If you want to go far, go together.

Drupal exists because of its community. What started from humble beginnings has grown into one of the largest Open Source communities in the world. This is due to the collective effort of thousands of community members.

What distinguishes Drupal from other open source projects is both the size and diversity of our community, and the many ways in which thousands of contributors and organizations give back. It's a community I'm very proud to be a part of.

Without the Drupal community, the Drupal project wouldn't be where it is today and perhaps would even cease to exist. That is why we are always investing in our community and why we constantly evolve how we work with one another.

The last time we made significant changes to Drupal's governance was over five years ago when we launched a variety of working groups. Five years is a long time. The time had come to take a step back and to look at Drupal's governance with fresh eyes.

Throughout 2017, we did a lot of listening. We organized both in-person and virtual roundtables to gather feedback on how we can improve our community governance. This led me to invest a lot of time and effort in documenting Drupal's Values and Principles.

In 2018, we transitioned from listening to planning. Earlier this year, I chartered the Drupal Governance Task Force. The goal of the task force was to draft a set of recommendations for how to evolve and strengthen Drupal's governance based on all of the feedback we received. Last week, after months of work and community collaboration, the task force shared thirteen recommendations (PDF).

The proposal from the Drupal Governance Task Force

Me reviewing the Drupal Governance proposal on a recent trip.

Before any of us jump to action, the Drupal Governance Task Force recommended a thirty-day, open commentary period to give community members time to read the proposal and to provide more feedback. After the thirty-day commentary period, I will work with the community, various stakeholders, and the Drupal Association to see how we can move these recommendations forward. During the thirty-day open commentary period, you can then get involved by collaborating and responding to each of the individual recommendations below:

I'm impressed by the thought and care that went into writing the recommendations, and I'm excited to help move them forward.

Some of the recommendations are not new and are ideas that either the Drupal Association, myself or others have been working on, but that none of us have been able to move forward without a significant amount of funding or collaboration.

I hope that 2019 will be a year of organizing and finding resources that allow us to take action and implement a number of the recommendations. I'm convinced we can make valuable progress.

I want to thank everyone who has participated in this process. This includes community members who shared information and insight, facilitated conversations around governance, were interviewed by the task force, and supported the task force's efforts. Special thanks to all the members of the task force who worked on this with great care and determination for six straight months: Adam BergsteinLyndsey JacksonEla MeierStella PowerRachel LawsonDavid Hernandez and Hussain Abbas.

Nov 14 2018
Nov 14

Make your life easier by using the terminal to start, stop or restart Apache web server on Mac OX by simply executing the apachectl commands.

Start Apache server command:

sudo /usr/sbin/apachectl start

or

sudo apachectl start

Stop Apache server command:

sudo /usr/sbin/apachectl stop

or

sudo apachectl stop

Restart Apache server command:

sudo /usr/sbin/apachectl restart

or

sudo apachectl restart

And yes it's not always necessary to check what the status of Apache is, you can simply run the restart command mention above without worrying about whether is running or stopped.

Restart command is also very helpful if you make any changes related to your Apache server configuration in httpd.conf. And sometimes just restart the server to before starting debugging why the website is not responding or something wrong with your Apache PHP setup.

Nov 14 2018
Nov 14

Midwest Drupal Camp (MidCamp) is an annual event held in Chicago that brings together people who use, develop, design, and support the Web’s leading content management platform, Drupal.

For more information email us at [email protected]

Thanks to Amazee.io for hosting our site.

The Archives: 2018 2017 2016 2015 2014

Nov 14 2018
Nov 14

"A Drupal 8 initiative to improve Drupal's content workflow", this is how Dries Buytaert first defined the Workflow Initiative, back in 2016. Now, coming back to 2018, you must be asking yourself a legitimate question: “How do I set up a content workflow in Drupal 8?”

“How do I manage, extend and customize an editorial workflow to fit my Drupal 8 website's publishing needs? One including multiple users, with different permissions, that manages the workflow status of... different content types.”

Which are the (not so) new content management features and functionality implemented to Drupal core by now? Those aimed at improving the user experience (editors, content authors...)?
 
Let's get you some answers:
 

1. Introducing: The Content Moderation Drupal 8 Module

Content Moderation has reached stable version in Drupal 8.5. 

Why should you care? What makes this core module of critical importance for creating your content publication workflow?
 

  • because otherwise, you'd have only two built-in states to “juggle with”: published and unpublished
  • because it enables you to build a simple workflow for drafts, too
  • … to set up new custom editorial workflows, as well, in addition to the default one
     

In short, what this module does is that it enables you to create a flexible content workflow process where:
 

  • one of the editors in your team stags a “Draft” content
  • and another user on your Drupal 8 website, with different permission reviews/updates it
     

It comes as a powerful tool for you to leverage when your workflow needs are more complex than “ON/OFF”.
 

2. How to Set Up a Simple Content Workflow in Drupal 8

You'll only need 2 modules for putting together the workflow for a basic content publishing scenario:
 

  • Workflows, that will provide just the framework needed for managing the states and transitions included in the process
  • Content Moderation, which will add the “Draft” state, a “Draft to Published” content workflow, and an admin view for handling all the drafts
     

And here's setting up a basic content publishing workflow in 4 simple steps:
 

  1. Enable the “Content Moderation” core module
  2. Go to “Configuration” and click the “Workflow” tab; it's the last one in the unfolding drop-down menu
  3. Open the “Workflows” page
  4. Tada! You've just turned on your default “Editorial workflow”
     

For now, you should be having 3 major states in your workflow:
 

  • draft
  • published
  • archived
     

Note: use permissions to grant content contributors the right to edit/create drafts, editors the “Transition drafts to published” permission, admins the right to “restore to draft transitions” and so on...

And voila! Your default editorial workflow, with the Content Moderation module ON, should suit your basic state tracking needs. It should fit any standard use case.

Now, if your workflow needs are a bit more complex and website-specific... keep on reading:
 

3. Content Revisions in Drupal 8

One of the most powerful features that Content Moderation will “turbocharge” your editorial workflow with is: 

Saving each change as a content revision in the database. 

It stores all revisions in the system. But let's take a common scenario, shall we?

Let's say that a second editor decides to make an update to a piece of content (either a content type or a custom block type). He/she updates it, then saves it as a “Draft”. You'll then still have the published version of the content, that's live, on your Drupal website, as well as this Draft (or several drafts), stored, as a revision, in your database.

A crucial functionality for any complex content publishing workflow:
 

  • with content revisions, you get to keep track of who's updated what and when
  • … to trigger log messages regarding those changes, informing other content authors that a given content has been edited
  • and you can also revert to the oldest revisions if needed
     

4. How to Extend and Customize Your Content Publishing Workflow 

Rest assured: there's no need for custom code writing, even if your content publishing needs are a bit more complex.

Here's what it takes to extend and to custom-tune your default content workflow in Drupal 8:
 

  1. While on your “Workflow” page, just click the “Add a new state” button and add more workflow states: “Needs Review” or “Second Review” etc.
  2. Next, make sure you adjust your transitions to support your newly added state(s). For instance, a “Second Review” state would require a “Move to Second Review” transition. 
  3. Then, apply your extended workflow to either a specific content type or to a custom block type
  4. You can also create new separate content publishing workflows to have a different one for your press releases, a separate publishing workflow, an editorial workflow for your blog posts, a warehouse workflow etc.
     

Defining multiple workflows in Drupal 8, each one with its specific “ecosystem” of states and transitions, is now possible.

How to Create and Manage a Content Workflow in Drupal 8: Set Up a Custom Content Workflow

Notes:

  • the transitions in your workflow will stand for the permissions that you'll assign to different Drupal roles in your team
  • use clear, descriptive verbs to name them
  • remember to grant editors the permission to undo transitions, as well (they might need to revert a piece of content to “Needs Work” once they've reviewed it, for instance)

In short:

By defining multiple states for your piece of content (Published, Pending Review, Ready for Review, Ready for Second Review, Unpublished, Draft etc.) and managing the permissions corresponding to the state transitions you can build a content workflow in Drupal 8 capable to support even the most complex publishing scenarios.

Now, another common scenario where a custom content workflow in Drupal 8 is needed is when you have a website publishing content to multiple platforms. 

You have a Drupal 8 website, a native application and an internal portal, let's say...

Your publishing workflow would look something like this:
 

  • first, content gets moderated to be published on the front-facing Drupal website
  • then, it gets put in the queue for review before it gets published (or declined) on each one of the other 2 platforms
     

Note: if you need to further extend your editorial workflow and to apply it to a custom entity, for example, you can always write a WorkflowType plugin that meets your specific needs.

Then, you can apply your custom workflow to... steps in ordering in a resto app, steps in a manufacturing process and to pretty much any entity (think beyond content) that needs to change its workflow states...
 

5. How Do You Know If You Really Need an Editorial Workflow?

Do you really need to use content moderation? To set up a whole workflow for your publishing scenario?

You do, if and only if:
 

  • there are multiple content authors uploading content on your website, content that needs to be reviewed before it gets published
  • you're managing a team of multiple admins, with different user roles
  • each moderator knows his/her role in the publishing chain
     

But if the content authors in your team have the very same type of permission as the admins and they just push content through, a content moderation workflow is useless.

It would only slow down the publishing process.

So, just because you have the option to set up a content workflow in Drupal 8, doesn't mean that you should rush to implement it on your own website, too... Maybe you just don't need a workflow.

The END! 

What do you think about these content management capabilities in Drupal 8? Are they powerful and diverse enough to suit your workflow needs? 

Nov 14 2018
Nov 14

The role of marketers has evolved beyond simply managing and coordinating online advertising campaigns to drive traffic to their respective websites; successful marketers must transform themselves to become storytellers.

Storytelling is an essential skill to master the art of crafting a digital experience for your digital business would-be customers and users. 

Therefore, as a digital business, you must be strategic when it comes to choosing the appropriate platform for your digital experience. 

The fact that you can easily publish and manage multimedia content across multiple websites under one brand has made Drupal a popular and strategic platform for enterprises, the media, healthcare and even powering digital governments.

In short; Drupal is a dream come true for marketers working in the aforementioned industries and sectors.

 

Here are 5 Drupal modules that were created by the Drupal community for marketers:

 

 

HubSpot is a widely used and popular inbound marketing software platform that helps companies attract visitors, convert leads, and close customers.

HubSpot Integration Settings

Lead generation is a carefully planned ongoing process; deliberate in targeting users based on personalized content marketing.

HubSpot CRM is relied upon by marketers to enable them to qualify the leads generated from the landing pages they developed on their websites.

Marketers that use Drupal-based websites have saved a lot of time and effort by connecting their HubSpot CRM with their web forms that capture the desired user data.

For example, a Webform-based contact form on your site can send its data to HubSpot, where you may already track potential clients and contacts; or a Webform-based e-newsletter signup could send the lead to HubSpot's targeted marketing system, letting you use your pre-existing email campaigns.

Moreover, marketers that create content on HubSpot, can easily display it in Drupal 8’s front-end.

With almost 5,000,000 downloads and nearly 500,000 websites using this module; this makes Webform one of the most popular Drupal modules out there.

Webform Wizard Admin

Forms are an essential feature of a digital experience that relies upon gathering user data relevant to content marketing and personalizing user experiences across all relevant digital platforms.

Webform enables integration with various 3rd party marketing solutions such as MailChimp, HubSpot, and Salesforce to name but a few. You can find a comprehensive list of Webform add-ons here.

A great and simple guide to how you can get started on form building using Webform is available here courtesy of OSTraining.

This Drupal module adds the Google Analytics web statistics tracking system to your website.

Google Analytics Admin Section

According to Builtwith.com, Google Analytics is the most popular analytics tool in the world with at least 37 million live websites currently using the giant tracking and performance monitoring platform.

Marketers that use Drupal website benefit from the Google Analytics module to identify their traffic size, traffic sources and track the performance of their website with regards to ongoing personalization of their user experience.

Being able to seamlessly integrate Google Analytics also provides marketers with real-time data for current site usage and user behavior. In addition to the aforementioned; marketers can track almost every statistic imaginable such as User ID, domain, as well as how many and which files were downloaded and by whom.

For full details regarding the statistics that marketers can track, visit the official Drupal module webpage for Google Analytics here.

This module provides integration with MailChimp, a popular email delivery service.

MailChimp Logo

Regularly maintained and reliable, MailChimp is a favorite tool amongst email marketers. That is mainly due to the attention to both sides of the email exchanges taking place.

This Drupal module allows email marketers to create and send email marketing campaigns from your website and analyze the performance of the campaign while monitoring the behavior of users interacting with your emails.

On the other hand, your website visitors can choose to subscribe (or unsubscribe) easily to the email list of their preference.

MailChimp is not limited to email delivery only; you can also integrate MailChimp E-Commerce which allows marketers to optimize their online store sales via personalized email marketing campaigns and automation workflows.

This module provides integration with the Crazy Egg heat map service.

Crazy Egg Heatmap

Much of digital business and marketing success comes down to the ongoing enhancement of your digital experience.

This requires a consistent effort of monitoring feedback from your users who in the end must be able to enjoy an engaging user experience that doesn't feature frustrating issues such as slow page load speed and irrelevant content.

The aforementioned frustrations can heavily impact your search engine optimization (SEO) efforts to rank higher on search engines like Google; which makes monitoring online user behavior on-site all the more imperative for marketers.

Crazy Egg is a simple Drupal module that is easy to install to your Drupal 8 (or D7) website to gain access to various reporting formats that showcase online behavior on your web pages.

By recording the user behavior, marketers are able to gain a visual insight into how users interact with different elements, features, and components of their website. Marketers are able to understand where users face challenges browsing the site, which aspects of the website they spend most of their time on and which they avoid completely.

Ultimately, the feedback gained allows marketers to develop the best UI, UX, and content in a more informed manner.

This is a core Varbase feature. We strongly recommend Varbase as the ultimate starter kit and distribution to build your Drupal digital experiences.

Varbase SEO

Enterprise level organizations and governments that rely upon an ongoing content marketing process require a content publishing and management solution that can handle heavy traffic without compromising performance standards.

This is where Varbase saves the day.

Not only is Varbase inherently optimized for all search engines it also enables you as a content marketer to optimize your multilingual content regardless of the media format to a diverse and global target audience.

  • Optimized markup that is compliant and accessible to WCAG 2.0 Level AA standards
  • XML Sitemap that is also language aware
  • Content SEO grader and recommendations
  • Full-suite of meta tags and descriptive tags that makes your site more optimized, integrated and favorable to search engines such as Google, Yandex, and Bing, and social media networks such as Facebook, Twitter, and many other
  • Total control over how your site will look when appearing on search results
  • Handle redirects with ease and prevent dead links
  • Readable and SEO-friendly URLs that automatically reads your site's structure and hierarchy
You can view our work on digital experiences that were built using Varbase here.

Honorable Mentions:

Honeypot

One of the popular Drupal modules available out there. Used by marketers and Drupal platforms that wish to avoid spam.

Honeypot keeps your database clean by blocking spambots from using your web forms using both the honeypot and timestamp methods and is not as intrusive as CAPTCHAs.

 

Accelerated Mobile Pages (AMP)

The AMP module is designed to convert Drupal pages into pages that comply with the AMP standard

AMP is important because it helps web pages load faster which potentially improves usability and convinces visitors to stay longer on your site engaging with your content.

The logic is straightforward: faster load time leads to better engagement, which reduces bounce rate and improves mobile ranking.

If we were to feature every Drupal module out there the list would be way too long, so which Drupal modules do you prefer? How does it help you achieve your marketing goals?

Share with us your own preferences and we will surely feature them as soon as possible.

Nov 14 2018
Nov 14

Have you always secretly wanted to spend your evenings writing symphonies, learning about filmography or assessing climate change? Studying niche subjects have traditionally been for niche students. But e-learning platforms have changed all that with the provision for learning almost any subject online.

A student in the front and two behind him sitting on their chairs with a paper and a pen in their hands


Corporate e-learning has witnessed a stupendous 900% growth in the last decade or so. With more and more e-learning platforms flourishing, organisations are striving to be the best to stand apart from the rest. Drupal has been a great asset in powering education and e-learning with its powerful capabilities that can help enterprises offer a wonderful digital experience. Let’s trace the roots of e-learning before diving deep into the ocean of possibilities with Drupal for building an amazing e-learning platform.

Before the internet era

Infographic with ten rows, icons and text showing the timeline of e-learningSource: eFront

A brief history of e-learning can be traced through the compilation made by eFront. Even before the internet existed, distance education was being offered. In 1840, Isaac Pitman taught shorthand via correspondence where completed assignments were sent to him via mail and he would, then, send his students more work.

Fast forward to the 20th century, the first testing machine was invented in 1924 that enabled students to test themselves. The teaching machine was invented in 1954 by a Harvard professor for allowing schools to administer programmed instruction to students. In 1960, the first computer-based training program (CBT program) called Programmed Logic for Automated Teaching Operation (PLATO).

At a CBT systems seminar in 1999, the term ‘e-learning’ was first utilised. Eventually, with internet and computers becoming the core of businesses, the 2000s saw the adoption of e-learning by organisations to train employees. Today, a plenitude of e-learning solutions are available in the form of MOOCs (Massive Open Online Courses), Social platforms and Learning Management System among others.

E-learning: Learn anywhere, anytime

In essence, e-learning refers to the computer-based educational tool or system that allows you to learn anywhere and at any time. It is the online method of building skills and knowledge across the complete workforce and with customers and partners. It comes with numerous formats like the self-paced courses, virtual live classrooms or informal learning.

E-learning refers to the computer-based educational tool or system that allows you to learn anywhere and at any time

Technological advancements have diminished the geographical gap with the use of tools that can make you feel as if you are inside the classroom. E-learning provides the ability to share material in all sorts of formats such as videos, slideshows, and PDFs. It is possible to conduct webinars (live online classes) and communicate with professors via chat and message forums.

There is a superabundance of different e-learning systems (otherwise known as Learning Management Systems or LMS) and methods which enable the courses to be delivered. With the right kind of tools, several processes can be automated like the marking of tests or the creation of engrossing content. E-learning offers the learners with the ability to fit learning around their lifestyles thereby enabling even the busiest of persons to further a career and gain new qualifications.

Merits and Demerits

Some of the major benefits are outlined below:

  • No restrictions: E-learning facilitates learning without having to organise when and where everyone, who is interested in learning a course, can be present.
  • Interactive and fun: Designing a course to make it interactive and fun with the use of multimedia or gamification enhances engagement and the relative lifetime of the course.
  • Affordable: E-learning is cost-effective. For instance, while textbooks can become obsolete, the need to perpetually acquire new editions by paying exorbitant amounts of money is not present in e-learning.

Some of the concerns that need to be taken care of:

  • Practical skills: It is considered tougher to pick up skills like building a wooden table, pottery, and car engineering from online resources as these require hands-on experience.
  • Secludedness: Although e-learning enables a person to remotely access a classroom in his or her own time, learners may feel a sense of isolation. Tools such as video conferencing, social media and discussion forums can allow them to actively engage with professors or other students.
  • Health concerns: With the mandatory need of a computer or mobile devices, health-related issues like eyestrain, bad posture, and other physical problems may be troublesome. However, sending out proper guidelines beforehand to the learner like correct sitting posture, desk height, and recommendations for regular breaks can be done.

Building Yardstick LMS with Drupal

OpenSense Labs built Yardstick LMS, a learning management system, for Yardstick Educational Initiatives which caters to the students of various schools of Dubai.

Homepage of Yardstick LMS with logos of schools containing leaves, candle, open books, and firestickYardstick LMS Homepage

The architecture of the project involved a lot of custom development:

1. Yardstick Core

This is the core module of the Yardstick LMS where the process of creating, updating and deleting the nodes take place.

2. Yardstick Quiz

We built this custom module for the whole functionality of the quiz component. It generates a quiz, quiz palette and quiz report after quiz completion based upon the validation of the visibility of the report.

Quiz report of Yardstick LMS with table consisting of columns showing the list of schools, students and grades.


We could generate three kinds of reports: 

  • An individual-level quiz where one’s performance is evaluated
  • A sectional-level report where performance for each section is evaluated
  • Grade-level report where performance for all the sections is compared and evaluated.

For the quiz, we had different sub-components like questions, options, marks, the average time to answer, learning objective, skill level score, and concept. The same question could be used for different quiz thereby minimising the redundancy of the data. Also, image, video or text could be added for questions.

Subcomponents of yardstick LMS with a tabular column for assessing the learning objective and two of the metrics coloured yellow and red.


3. Yardstick Bulk User Import

This module was built to assist the administrators in creating users all at once by importing a CSV file. Also, there is an option to send invitation mail to all the users with login credentials.

Message box for importing users with a blank box and a submit button


4. Yardstick Custom Login

We provided a custom login feature where same login credentials could be used to log into the Yardstick system. That is, we provided an endpoint for verifying the login credentials and upon success, users were logged in.

5. Yardstick Validation

This module offers all the validation across the site whether it is related to access permission or some time validation.

6. Yardstick Challenge

It offers the user an option to submit a task which is assigned to them where they are provided with text area and file upload widget.

Yardstick LMS has an intricate structure

On the end user side, there is a seamless flow but as we go deeper, it becomes challenging. Yardstick LMS has an intricate structure.

We had two kinds of login:

  • Normal login using Yardstick credentials
  • And the other for school-specific login like the Delhi Public School (DPS) users.
Flowchart with rectangles and circles of different colours explaining Yardstick LMS custom loginYardstick LMS custom login for DPS users

For DPS users, we used the same login form but a different functionality for validating credentials. DPS school gave us an endpoint where we sent a POST request with username and password. If the username and password were correct, then that endpoint returned the user information.

If the username was received, we checked on our Yardstick system if the username exists. If it does not exist, then we programmatically created a new user with the information that we received from the endpoint and created a user session. And if does exist, then we updated the password on our system.

Yardstick LMS is designed to govern multiple schools at the same time

We designed Yardstick LMS in such a way that multiple schools can be governed at the same time. All the students of various schools will be learning the same content thereby building uniformity.

The core part of our system dwells in the modules. The module is a content type that can store numerous information like components, concept, description, objective, syllabus among others. 

Several different components can be added like Task, Quiz, Video task, Extension, Feedback, Inspiration, pdf lesson plan, Real life application, and Scientific principles.

Yardstick LMS real-life application component page with an image showing animated human figures and atomic theory written above themYardstick LMS Real life application component page

Schools could opt for different modules for different grades. When a module was subscribed by a school, a clone module of the master module was created and the school copy was visible only to the school. School version could be modified by the school admin as per their needs and preferences. Master module remained the same. While creating a subscription, administrator had to provide the date so that the components were accessible to the students. School admin could set different dates to different components and only the components with past date were accessible.

Flow chart showing rectangles, squares and elliptical circle of different colours to explain module subscription to school in yardstick LMSFlow Diagram of module subscription to school

Also, we provided an option to create a dynamic feedback form for the modules for analysis. Yardstick Admin had the option to design and create a feedback form as per their requirement and could assign it to a particular module. Different types of elements could be utilised for designing the form like rating, captcha, email, range slider, text field, checkboxes, radio buttons and so on.

Message box showing star icons, a blank box and a submit button


Students and teachers need to submit their feedback for each of the modules. On the basis of this, Yardstick team try to improve the content of the system.

Session evaluation page of yardstick LMS with a set of questions on the left and different options on the right and a blank box at the bottom


Also, various roles were defined for users such as Yardstick Administrator, School Administrator, Teacher, and Student.

1. Yardstick Admin

Yardstick Admin can perform all the operations. He or she can create new users, grant permissions and revoke them as well.

2. School Admin

It has the provision for handling all the operation which are only related to their school. School Admin handles the modules and their components and can import user for their school. All school reports and task submissions are visible to School Admins.

3. Teachers

Teachers can view modules and components assigned to their classes and provide remarks to the students for multiple components and they can view all kinds of reports.

4. Students

They can attempt quiz, submit tasks, view components and view their own reports.

What’s the future of e-learning?

According to a report on Research and Markets, the e-learning market is anticipated to generate revenue of $65.41 billion by 2023 with a growth rate of 7.07% during the forecast period.

The report goes on to state that with the advent of cloud infrastructure, peer-to-peer problem solving and open content creation, more business opportunities would pop up for service providers in the global e-learning market. The introduction of cloud-based learning and AR/VR mobile-based learning will be a major factor in driving the growth of e-learning.

The growth of the e-learning market is due to the learning process enhancements in the academic sector

According to Technavio, the growth of the market is due to the learning process enhancements in the academic sector.

Infographic showing statistics on e-learning market with icons representing bar graph, speedometer, horizontal lines, and a bulbGlobal self-paced e-learning market 2019-2023 | Source: Technavio

Following are major trends to look forward to:

  • Microlearning, which emphasises on the design of microlearning activities through micro-steps in digital media environments, will be on the rise.
  • Gamification, which is the use of game thinking and game mechanics in a non-game context to keep the users engrossed and help them solve more problems, will see increased adoption rates.
  • Personalised learning, which is the tailoring of pedagogy, curriculum and learning environments to meet the demands of learners, can be a driving force.
  • Automatic learning, like the one shown in the movie The Matrix where a person is strapped onto a high-tech chair and a series of martial arts training programs are downloaded into his brain, can be a possibility.

Conclusion

It’s a world which is replete with possibilities. As one of the most intelligent species to walk on this earth, we perpetually innovate with the way we want to lead a better lifestyle. We learn new things to gain more knowledge. And in the process, we find ways of improving our learning experience. E-learning is one such tech marvel that promises to be a force to reckon with. It is not a disrupting technology but something that is going to get bigger and bigger in the years to come.

As a content management framework, Drupal offers a magnificent platform to build a robust e-learning system. With years of experience in Drupal Development, OpenSense Labs can help in providing an amazing digital experience. 

Contact us at [email protected] to build an e-learning system using Drupal and transform the educational experience.

Nov 13 2018
Nov 13

We’re featuring some of the people in the Drupalverse!  This Q&A series highlights some of the individuals you could meet at DrupalCon.

First up, Everett Zufelt. 

Nov 13 2018
Nov 13

By adminadmin | November 13, 2018

By adminadmin | November 13, 2018

As a fully distributed company, weKnow supports remote working; a form of management and daily routine that may not be for everyone but, we prove all bumps on the road can be successfully sorted out and made our organization even surpass productivity metrics compared to the in-office style.

Having a career outside of a traditional office setting comes with unique challenges, getting to know them beforehand will allow you to be more productive and happier. Read further to learn some tips to help you and your team excel.
 

Remote work challenges plus how to overcome them

  • Health Habits: If no one is on your shoulder telling you when or not to take your breaks or it is easy to postpone lunch time or breaks, it could lead to the point where you might forget to eat. Tip: Enter lunch and breaks in your schedule each day, serving as an incentive to finish tasks before eating or just taking time walking around to stretch or clear your mind.
  • You might ditch exercising altogether: Many stay in a single position most day or forget to go outside enough. Tip: The human body is wired for movement, try adjusting your desk to also be able to type standing up some portion of the day or make a pause every twenty to forty-five minutes and just stand up to drink some water and come back to your chair to continue on.
  • Diet: You are as productive as what you eat or drink. Tip: Try having a healthy diet that keeps you awake, energized and hydrated naturally with a variety of vegetables, grains, protein and monitoring white sugar consumption. 
  • Home Adjustments: Working at home is an adjustment for everyone in the house, including kids, roommates or family. A great advice is to be consistent and reasonable, therefore trying to accomplish work and quality time simultaneously is not advised. Set up a morning routine that allows everyone to be self-sufficient and allows you to have a fluid workflow too.  
  • Isolation: the opposite problem. Here is where working from a cafe, coworking with friends or just signing up for an afternoon hobby activity is crucial. 
  • Overworking: a recent report from the United Nations International Labour Organization found that productiveness is the greatest metric achieved by remote employees but they are more vulnerable to working longer hours. Work smart instead, by setting appointments on your calendar, set up reminders to take breaks, be clear with your team on when you are leaving, create physical boundaries between you and your workspace (have a dedicated office space) and as tempting as it is: never work from bed, it will only slow you down.
  • Time management: Prioritize; first thing of each day: eat that frog! Work on the hardest task to get it out of the way, some people procrastinate by working on minor tasks first, stating “if I get the little issues first then I will have time for the more complicated one” and by the end of the day end up having little time and energy to dedicate the main issue. Basically, remote workers need to be time management experts by monitoring their energy peaks.
  • Connectivity: the greatest fear of all is when internet goes down. Well… this is the remote worker problem to solve, have a mobile hotspot device or a great cell phone plan, if possible a backup computer or even a tablet can be of help.


weKnow´s Secrets to Remote Work Success

Trust keeps building up when everyone stays on task while feeling equally represented and present. 

We promote a company culture that embraces remote work to talented nearshore developers, weKnow keeps information and conversations open to everyone, any actions or plans are documented keeping them available to asynchronous team members in order for everyone to have a clear understanding and feel supported, therefore; making everyone feel connected. 

Embracing the remote model has given us access to the best talent in the region, regardless of their location.

A way we switch the regular mindset is by thinking on delivering results rather than time… 
In-office jobs are based on a clock-in and clock-out dynamic, instead; we have a mindset of productiveness that laser focus employees, who will actively try to avoid procrastination because their goal is to deliver great products and services but also to have time for their own means. Jointly this is done by having clear processes, structures and agendas while promoting a healthy system of meetings, events, and habits that keep people communicating, providing the right tools to achieve it.

Communication is key. Every member logs into our instant messaging tool, and every project has its own dedicated "space" within this tool, which enables the team to interact in real time. This also allows our Technical Leadership to be easily reachable to assist with any blockers or technical guidance.

We are an organization that understands the best talent is seeking to apply its knowledge and experience where creativity is encouraged, as well as where meaningful work experiences are provided. Each aspect is meant to facilitate not only the internal process in our company but also swift communication with our partners and customers regardless of location. By sharing these set pieces of advice, our hope is to edify and promote how really useful working remotely can be. 

Each year many more are realizing an office facility is not absolutely necessary, on the 2015 Global Leadership Summit in London 34% replied to a survey stating that more than half their company’s full-time workforce would be working remotely by 2020, we can definitely see it is now a fact that disrupting the regular working environment provides more positive outcomes, definitely provides more convenient perks for all: organizations, clients and workforce personnel.

You can read Part 1 of: “weKnow’s remote working guide to success”, indulge with more benefits of remote working here.

Nov 13 2018
Nov 13

After months of hard work, the Drupal Governance Task Force made thirteen recommendations for how to evolve Drupal's governance.

If you want to go quickly, go alone. If you want to go far, go together.

Drupal exists because of its community. What started from humble beginnings has grown into one of the largest Open Source communities in the world. This is due to the collective effort of thousands of community members.

What distinguishes Drupal from other open source projects is both the size and diversity of our community, and the many ways in which thousands of contributors and organizations give back. It's a community I'm very proud to be a part of.

Without the Drupal community, the Drupal project wouldn't be where it is today and perhaps would even cease to exist. That is why we are always investing in our community and why we constantly evolve how we work with one another.

The last time we made significant changes to Drupal's governance was over five years ago when we launched a variety of working groups. Five years is a long time. The time had come to take a step back and to look at Drupal's governance with fresh eyes.

Throughout 2017, we did a lot of listening. We organized both in-person and virtual roundtables to gather feedback on how we can improve our community governance. This led me to invest a lot of time and effort in documenting Drupal's Values and Principles.

In 2018, we transitioned from listening to planning. Earlier this year, I chartered the Drupal Governance Task Force. The goal of the task force was to draft a set of recommendations for how to evolve and strengthen Drupal's governance based on all of the feedback we received. Last week, after months of work and community collaboration, the task force shared thirteen recommendations (PDF).

The proposal from the Drupal Governance Task Force Me reviewing the Drupal Governance proposal on a recent trip.

Before any of us jump to action, the Drupal Governance Task Force recommended a thirty-day, open commentary period to give community members time to read the proposal and to provide more feedback. After the thirty-day commentary period, I will work with the community, various stakeholders, and the Drupal Association to see how we can move these recommendations forward. During the thirty-day open commentary period, you can then get involved by collaborating and responding to each of the individual recommendations below:

I'm impressed by the thought and care that went into writing the recommendations, and I'm excited to help move them forward.

Some of the recommendations are not new and are ideas that either the Drupal Association, myself or others have been working on, but that none of us have been able to move forward without a significant amount of funding or collaboration.

I hope that 2019 will be a year of organizing and finding resources that allow us to take action and implement a number of the recommendations. I'm convinced we can make valuable progress.

I want to thank everyone who has participated in this process. This includes community members who shared information and insight, facilitated conversations around governance, were interviewed by the task force, and supported the task force's efforts. Special thanks to all the members of the task force who worked on this with great care and determination for six straight months: Adam Bergstein, Lyndsey Jackson, Ela Meier, Stella Power, Rachel Lawson, David Hernandez and Hussain Abbas.

November 13, 2018

2 min read time

Nov 13 2018
Nov 13

Partnership combines comprehensive UI design, UX, and digital strategy, with web development proficiency, to produce a holistic experience for clients.

Chicago, Illinois — November 13, 2018 — In September 2018, Promet Source acquired DAHU Agency, a strategy-focused, user experience and design agency that enhances the services offered to its clients. By expanding their services in UX and UI, and bringing new offerings in-house for digital strategy, WordPress development, messaging, and branding –  Promet aims to better serve their clients evolving needs as marketing and web technologies continue to converge and the need to provide functional, dynamic websites increases.

 

In his vision for Promet to be a strong digital agency focused on creating great user experiences through meaningful web applications, Andy Kurcharski, President of Promet, seeks to accelerate growth and innovation by providing comprehensive digital services to his clients.  Andy has more than 20 years of technical leadership experience from startups to Fortune 50 firms with industry experience in banking, telecommunications, government, and association technology management. Andy’s e-commerce experience dates to 1998 with the implementation of highly scalable enterprise solutions.

 

“In today’s technology landscape, we are seeing that our clients and their customers expect more from their websites” Kurcharski expressed. “Our addition of a new team to our existing core of web developers will help us to proactively approach new websites with a holistic mindset combining our technology expertise with great design and function to ultimately increase client success online.”

 

DAHU Agency, based in Dallas, Texas, not only provides Promet with an office central to service their clients in the Southwest region but also brings expertise in design and digital strategy to help optimize user experience within an organization’s website.

 

Mindy League, CEO, and founder of DAHU Agency offers a highly thoughtful and adaptive approach to constantly evolving technologies and user behaviors. Her experience in building solutions for clients such as HP, Emerson, IBM, and Home Depot, contribute to a depth of perspective into the challenges and opportunities faced by top global brands. Mindy will join Promet as the Director of User Experience and Design.

 

DAHU’s distinct approach to engaging with clients has been described as “radical empathy” and it is this philosophy and mindset that complements Promet’s dedication to delivering groundbreaking results to their clients. Whether examining the impact of corporate strategies on customers and the broader enterprise or developing products, Promet aims to step into their clients’ businesses with a fervent dedication to excellent experiences and high-impact results.

 

Click here for full press release. 


 

Nov 13 2018
Nov 13

The Drupal 8 Editor Advanced Link Module allows you to specify additional attributes when creating links in your content. This makes it easy to add a CSS class, an ID, open the link in a new window, or even specify a rel="nofollow" tag. The module is very easy to use, but there is a small trick to getting it set up. Watch the video to see how it's done and start customizing your links in no time!

Nov 13 2018
Nov 13

Drupal Modules: The One Percent — Delete all (video tutorial)

[embedded content]

Episode 52

Here is where we bring awareness to Drupal modules running on less than 1% of reporting sites. Today we'll investigate Delete all, a module which facilitates deleting users and/or content en masse.

Nov 13 2018
Nov 13
  • By: Shefali
  • Date: 13-11-2018

Digitalization has opened doors that nobody imagined even existed. Opportunities did not just come knocking, they exploded their way in. Digital evolution has taken the world of professional publishing by storm. However, this evolution brought along a whole new set of challenges that publishers are still trying to cope up with. Many publishers of physical magazines had to shut shop as most of their readers had now shifted to e-magazines but the ones who saw the silver lining in the cloud, went online! And now the whole world is their audience.

Consumers are altering their preferences of consuming content ever so often and publishers have to make sure they reach their audience through more than just one medium. Plain text is passé – content that’s not enriched with any media (images/videos/gifs) are blindly rejected.

As our attention-spans are evolving (for the worse), it has become crucial for content to be fresh, relevant, interactive and alluring. Which means, publishers need to work even faster and find efficient ways to exhibit their content for better consumer engagement. A good Content Management System will let publishers to create and publish fresh content fast and efficaciously. Thunder - a Drupal 8 distribution – aims to resolve the problems faced by professional publishers and make their lives much easier.

Feel the Thunder

Originally designed for and by Hubert Burda Media, Thunder was later released as an open-source software in 2016. This community-driven CMS is based on Drupal 8 and consists of varieties of hand-picked modules meant solely for the publishing sector. Because it is open-source and completely non-profit, a Thunder Coalition was shaped where publishers, industry partners, core team and developers share their code/modules/extensions. So everyone benefits from the coalition while giving back at the same time.

With Drupal 8 already providing a vast collection of modules that are valuable for professional publishers, it was the most obvious choice of CMS to backup Thunder. Custom modules developed for Thunder are also contributed back to the Drupal community which encourages a strong circle-of-life.

So why reinvent the wheel when you can just realign it? – Said Anthony J. D’Angelo. And with Thunder, you don’t even need to realign it most times.

Get launched – quick and easy

A Drupal distribution is a complete package that comprises of installation profiles, modules, themes, libraries that are industry-centric and easily downloadable. Thunder distribution is an all-in-one package focused on professional publishers that is stable, extremely scalable and customizable. It consists of all the bare-necessities needed for a publisher to get up and running in the market faster. Installation is easy and quick and allows you to set-up your website faster than you think. Because it is open-source and free, it cuts down development efforts helping you save on time and money!

The Out-of-the-box Experience

Unless you want a feature that is very specific and bespoke, you are good to go with the core features Thunder has to offer. Responsiveness comes out-of-the-box not only for site visitors but for the editors and administrators too. The Paragraph module lets you create, modify and play around with content. It lets you drag and drop content and multimedia making it really flexible and easy to create beautiful stories.

Scheduling your content to be published is as easy as 1-2-3! Modules like Media Entity and Entity Browser make media handling more effective. Content Lock comes handy especially when many editors work together. It lets an editor lock a node they are working on and notifies the other(s) that the content is being edited. When you want to instantly check if your content looks alright on different devices, use the Responsive Preview module. Embedding videos from Youtube or Vimeo just got easier with the Video Embed Field module.

The Extra-Ordinary Extras

The little extras are what makes the ordinary, extra-ordinary. Thunder provides some optional modules that promise to give professional publishers that extra boost. Have you seen those articles on your Facebook app that load up in a jiffy and makes you feel like you haven’t even left the app? Yes, I’m talking about Facebook Instant Articles. With this module, editors can easily add content from their Drupal website to Facebook and drastically reduce load time on mobile devices.

The Google AMP (Accelerated Mobile Pages) module lets you deliver content like text, images, videos, Instagram and Twitter cards in a flash. If you need to cover an event as it occurs, the LiveBlog feature is your best friend. When you want to add content like surveys, polls, quizzes or top 10 lists, the Riddle Interactive Content plugin is precious. The Nexx.tv video player integration allows efficient distribution and flexible streaming of videos across various platforms.

The Drupal Advantage

Being a free and open-source content management framework, Drupal was the most obvious choice and Hubert Burda Media had to look no further. They had already had a great experience with Drupal and the release of Drupal 8 just made things better. Core Drupal features like Menu Management, User Management, Taxonomy, RSS feeds, system administration and page layout customization helped Thunder in building a strong foundation. A foundation that has been further enhanced with many more publisher-centric modules.

The Drupal community is constantly evolving, thereby adding more features, beefing up security and giving you all the support you need. The Thunder and Drupal Community are so closely-knit, you can’t tell the difference. Thunder makes it easy for organizations to share their customized modules with other industry-partners and the Drupal community so everyone benefits from their contribution.

Thunder has been built for publishers by publishers and just cannot be ignored if you are a professional publisher. It addresses all the pain-points of a publisher and helps accelerate the process of getting to market. Top publishers like Marie Claire, BUNTE, ELLE, Playboy, InStyle and many more trust Thunder. “Don’t give to get. Give to inspire others to give”. This seems to be the thought motivating the Thunder Coalition and the Drupal community to share the power of innovation. The advantages of being open-source are abundant but the most significant is the fact that you can give back to the community. It is like this amazing cycle of life that runs on trust and goodwill.

Nov 12 2018
Nov 12

The Paragraphs module in Drupal 8 allows us to break content creation into components.  This is helpful for applying styles, markup, and structured data, but can put a strain on content creators who are used to WYSIWYG editors that allow them to click buttons to add, edit, and style content.

The Drupal Paragraphs Edit module adds contextual links to paragraphs that give you the ability to  edit, delete and duplicate paragraphs from the front end, giving editors a quick, easy and visual way to manage their content components.

Installing

Install and enable the module as you normally would, it is a zero configuration module.  It works with Drupal core’s Contextual Links and/or Quick Links module. I did have to apply this patch to get the cloning/duplication functionality working though.

Editing

To use, visit a page and hover over your content area.  You will see an icon in the upper right corner of the Paragraphs component area.   

When you click the Edit option, you are taken to an admin screen where you can edit only that component.

Make your changes and click save to be taken back to the page.

In components that are nested, like the Bootstrap Paragraphs columns component, you will see one contextual link above the nested components.  If you click this, you will be taken to the edit screen where you can modify the parent, and the children.  That is the Columns component, and the 3 text components inside.

Duplicating/Cloning

The term that is used most often for making a copy of something in Drupal is to “Clone” it.  This is a little more complicated because it is technically complicated, but once you get the hang of it, it will become second nature.

Hover over a contextual link and click Clone.

On the edit screen, you are presented with a new Clone To section.  In this section you can choose where to send this clone to, whether that be a Page or a Paragraph.  In this example, I want to duplicate this component to the same page.

  • Type: Content
  • Bundle: Page
  • Parent: (The page you are on)
  • Field: (The same field on that page.)

You can also make any edits you want before saving.  For example, you could change the background color. Click save, and your new component will appear at the bottom of the page, with the new background color.

There are a bunch of possibilities with this way to duplicate components.  To clone to another page, change the Parent. To clone to a nested paragraph component, change the Type to Paragraphs and configure the settings you need.

Deleting

Deleting a component is as you’d expect.  Once you click delete, you are taken to a confirmation screen that asks you if you want to delete.

Conclusion

The Paragraphs Edit module is a simple and powerful tool that gets us a bit closer to inline editing and making our content creator’s lives easier and allows them to be more productive.  Give it a try on your next project and spread the word about this great little helper module!

Nov 12 2018
Nov 12

This blog has been re-posted and edited with permission from Dries Buytaert's blog. Please leave your comments on the original post.

Layout Builder, which will be in the next release of Drupal 8, is unique in that it can work with structured and unstructured content, and with templated and free-form pages.

Content authors want an easy-to-use page building experience; they want to create and design pages using drag-and-drop and WYSIWYG tools. For over a year the Drupal community has been working on a new Layout Builder, which is designed to bring this page building capability into Drupal core.

Drupal's upcoming Layout Builder is unique in offering a single, powerful visual design tool for the following three use cases:

  1. Layouts for templated content. The creation of "layout templates" that will be used to layout all instances of a specific content type (e.g. blog posts, product pages).
  2. Customizations to templated layouts. The ability to override these layout templates on a case-by-case basis (e.g. the ability to override the layout of a standardized product page)
  3. Custom pages. The creation of custom, one-off landing pages not tied to a content type or structured content (e.g. a single "About us" page).

Let's look at all three use cases in more detail to explain why we think this is extremely useful!

Use case 1: Layouts for templated content

For large sites with significant amounts of content it is important that the same types of content have a similar appearance.

A commerce site selling hundreds of different gift baskets with flower arrangements should have a similar layout for all gift baskets. For customers, this provides a consistent experience when browsing the gift baskets, making them easier to compare. For content authors, the templated approach means they don't have to worry about the appearance and layout of each new gift basket they enter on the site. They can be sure that once they have entered the price, description, and uploaded an image of the item, it will look good to the end user and similar to all other gift baskets on the site.

The Drupal 8 Layout Builder showing a templated gift basket

Drupal 8's new Layout Builder allows a site creator to visually create a layout template that will be used for each item of the same content type (e.g. a "gift basket layout" for the "gift basket" content type). This is possible because the Layout Builder benefits from Drupal's powerful "structured content" capabilities.

Many of Drupal's competitors don't allow such a templated approach to be designed in the browser. Their browser-based page builders only allow you to create a design for an individual page. When you want to create a layout that applies to all pages of a specific content type, it is usually not possible without a developer.

Use case 2: Customizations to templated layouts

While having a uniform look for all products of a particular type has many advantages, sometimes you may want to display one or more products in a slightly (or dramatically) different way.

Perhaps a customer recorded a video of giving their loved one one of the gift baskets, and that video has recently gone viral (because somehow it involved a puppy). If you only want to update one of the gift baskets with a video, it may not make sense to add an optional "highlighted video" field to all gift baskets.

Drupal 8's Layout Builder offers the ability to customize templated layouts on a case per case basis. In the "viral, puppy, gift basket" video example, this would allow a content creator to rearrange the layout for just that one gift basket, and put the viral video directly below the product image. In addition, the Layout Builder would allow the site to revert the layout to match all other gift baskets once the world has moved on to the next puppy video.

The Drupal 8 Layout Builder showing a templated gift basket with a puppy video

Since most content management systems don't allow you to visually design a layout pattern for certain types of structured content, they of course can't allow for this type of customization.

Use case 3: Custom pages (with unstructured content)

Of course, not everything is templated, and content authors often need to create one-off pages like an "About us" page or the website's homepage.

In addition to visually designing layout templates for different types of content, Drupal 8's Layout Builder can also be used to create these dynamic one-off custom pages. A content author can start with a blank page, design a layout, and start adding blocks. These blocks can contain videos, maps, text, a hero image, or custom-built widgets (e.g. a Drupal View showing a list of the ten most popular gift baskets). Blocks can expose configuration options to the content author. For instance, a hero block with an image and text may offer a setting to align the text left, right, or center. These settings can be configured directly from a sidebar.

The Drupal 8 Layout Builder showing how to configure a block

In many other systems content authors are able to use drag-and-drop WYSIWYG tools to design these one-off pages. This type of tool is used in many projects and services such as Squarespace and the new Gutenberg Editor for WordPress (now available for Drupal, too!).

On large sites, the free-form page creation is almost certainly going to be a scalability, maintenance and governance challenge.

For smaller sites where there may not be many pages or content authors, these dynamic free-form page builders may work well, and the unrestricted creative freedom they provide might be very compelling. However, on larger sites, when you have hundreds of pages or dozens of content creators, a templated approach is going to be preferred.

When will Drupal's new Layout Builder be ready?

Drupal 8's Layout Builder is still a beta level experimental module, with 25 known open issues to be addressed prior to becoming stable. We're on track to complete this in time for Drupal 8.7's release in May 2019. If you are interested in increasing the likelihood of that, you can find out how to help on the Layout Initiative homepage.

An important note on accessibility

Accessibility is one of Drupal's core tenets, and building software that everyone can use is part of our core values and principles. A key part of bringing Layout Builder functionality to a "stable" state for production use will be ensuring that it passes our accessibility gate (Level AA conformance with WCAG and ATAG). This holds for both the authoring tool itself, as well as the markup that it generates. We take our commitment to accessibility seriously.

Impact on contributed modules and existing sites

Currently there a few methods in the Drupal module ecosystem for creating templated layouts and landing pages, including the Panels and Panelizer combination. We are currently working on a migration path for Panels/Panelizer to the Layout Builder.

The Paragraphs module currently can be used to solve several kinds of content authoring use-cases, including the creation of custom landing pages. It is still being determined how Paragraphs will work with the Layout Builder and/or if the Layout Builder will be used to control the layout of Paragraphs.

Conclusion

Drupal's upcoming Layout Builder is unique in that it supports multiple different use cases; from templated layouts that can be applied to dozens or hundreds of pieces of structured content, to designing custom one-off pages with unstructured content. The Layout Builder is even more powerful when used in conjunction with Drupal's other out-of-the-box features such as revisioning, content moderation, and translations, but that is a topic for a future blog post.

Special thanks to Ted Bowman (Acquia) for co-authoring this post. Also thanks to Wim Leers (Acquia), Angie Byron (Acquia), Alex Bronstein (Acquia), Jeff Beeman (Acquia) and Tim Plunkett (Acquia) for their feedback during the writing process.

Nov 12 2018
Nov 12

The Drupal 8 Editor File Upload Module is a great module for allowing your content editors to upload files directly in your website content. If you have ever needed to upload a file, and then include a link to that file, then the Editor File Upload module will be useful. Rather than having to upload the file manually using FTP or through another module, then having to go back to create a link in your content to that file, this module lets you do it all in one step. This saves you (or the other content editors on your site) a lot of time.

Nov 12 2018
Nov 12

Agiledrop is highlighting active Drupal community members through a series of interviews.

Adam Bergstein is the maintainer of SimplyTest.me, runs the Drupal Coffee Exchange and participates in the Governance Task Force that just released its community proposal. Learn how Adam, aka Nerdstein, feels about Drupal 8 core development.
 

1. Please tell us a little about yourself. How do you participate in the Drupal community and what do you do professionally?

I go by [the nick name] Nerdstein and have been a part of the Drupal community for quite some time. My main contributions are porting/supporting Drupal 8 modules, giving talks at events, maintaining SimplyTest.me, running the Drupal Coffee Exchange and recently participating in the Governance Task Force.

I live in the United States with my wife and two daughters, whom I adore. I currently serve as the VP of Engineering for Hook 42 but had previous roles at CivicActions, Acquia and Penn State University. I have a masters in Information Security, and love working with teams, mentoring/enablement, architecture, security, Agile and DevOps.

2. When did you first came across Drupal? What convinced you to stay, software or the community, and why?

I started looking at Drupal during an evaluation of a project. This was right around the time that the business/agency ecosystem was just starting to take shape. While I was a bit intimidated by all of the new terminology and my lack of understanding open source communities, we selected Drupal. A vendor and I were impressed by how much progress was able to be made thanks to both core and contrib. 

While that piqued my interest, it still took me a long time to understand the community and to contribute. I attended Drupaldelphia back in 2014. I learned a lot, made several community connections, and really enjoyed it. At that point, I knew I wanted to participate and got the confidence to do so. 

I’ve always valued both, the people and the efforts of our vast community. We have some incredibly unique, fun and talented people that contribute in meaningful ways. I’m routinely impressed by how we face and solve hard problems. There is an incredible impact when we add up our collective efforts. I look at what we do each day and I’m proud to even have a small part in it.

3. What impact has Drupal made on you? Is there a particular moment you remember?

It’s made a huge impact. It’s allowed me to grow professionally and provide for my family. All of this while maintaining a feeling that I’m serving clients and for a greater good through the community efforts.

I remember the moment I went to Boston to the interview with Acquia, which was my first Drupal-centric position. I had not travelled much professionally, rarely attended community events, and generally had a sense of imposter syndrome (I shouldn’t even be here, sort of thing). I was surprised at how relevant my Drupal experience was, and knew this was the start of something much larger. 

4. How do you explain what Drupal is to other, non-Drupal people?

Basically a bunch of really cool people building technology together. People are shocked to learn how a significant number of (mostly) volunteers across the globe are able to come together to build software that is widely adopted. It seems a bit far-fetched at first, but I think people understand there is something larger and impactful happening in our community. I often compare this to proprietary efforts, like Microsoft, and the analogy is better understood. 

5. How did you see Drupal evolving over the years? What do you think the future will bring?

I actually have a blog post I’ve been drafting for several months on this very topic. I feel like we need to evolve both, the technology and our community. It is non-trivial to answer, and I need to state that this is my opinion. 

Technically speaking, I’d like to see Drupal core slow down on adding new features and focus on stability. The recent additions of Unami, media, layout builder and a stable migrate is incredibly impactful for Drupal as a product. I’d much prefer if we pause, reflect on what we’ve learned and polish what we have. Prioritizing and resolving already known open issues would stabilize Drupal and clean up a lot of the small things people find frustrating. The initiative around Composer-related improvements is a great example of something we learned and need to prioritize. And I sense there is a lot we can clean up in the core, like View Modes and the Block system, that could be incrementally improved to promote usability and consistency between features.

Community-wise, I would simply reference the proposal we have now released from the Governance Task Force. We proposed recommendations to several aspects of the community. A lot of work and deliberation went into the recommendations, and do a much better job communicating them than I ever could myself. 

6. What are some of the contribution to open source code or community that you are most proud of?

I am very proud of the opportunity I had to serve on the Governance Task Force. I see so much potential to help the community from the work done by the task force. I was so overwhelmingly impressed by my peers on the task force. It was a dream team of some of the most thoughtful, smart and easy-to-work-with individuals I’ve ever collaborated with. 

7. Is there an initiative or a project in Drupal space that you would like to promote or highlight?

I’ll take the time to highlight three things and would ask anyone who is interested in participating to reach out to me.

  1. SimplyTest.me will be going through some technical modernization that includes a new Drupal 8 front-end and the underlying tools that provision instances.
  2. We’re expanding the Drupal Coffee Exchange to better support international audiences. If you and others in your country enjoy coffee, please sign up! It’s a lot of fun for people.
  3. As part of the Governance Task Force, we publicly released a proposal and created issues for an open commentary period for the community. Get involved. You may have better ideas to contribute or be able to provide additional context to help move the efforts forward. 

8. Is there anything else that excites you beyond Drupal? Either a new technology or a personal endeavorment. 

I always rave about my two beautiful kids, my love for craft beer and my foodie tendencies. But lately, I have been trying to prioritize my physical health by running. Over the last two years, I have participated in over ten races and very recently was able to run a ten-mile run (~15K). For several years I focused on my education, jobs and family needs, while my physical health was not as good as it should have been. I have enjoyed running routinely and shocked by how much it helps relieves stress, gives me some fresh air and helps me remain balanced.
 

Nov 12 2018
Nov 12

Layout Builder, which will be in the next release of Drupal 8, is unique in that it can work with structured and unstructured content, and with templated and free-form pages.

Content authors want an easy-to-use page building experience; they want to create and design pages using drag-and-drop and WYSIWYG tools. For over a year the Drupal community has been working on a new Layout Builder, which is designed to bring this page building capability into Drupal core.

Drupal's upcoming Layout Builder is unique in offering a single, powerful visual design tool for the following three use cases:

  1. Layouts for templated content. The creation of "layout templates" that will be used to layout all instances of a specific content type (e.g. blog posts, product pages).
  2. Customizations to templated layouts. The ability to override these layout templates on a case-by-case basis (e.g. the ability to override the layout of a standardized product page)
  3. Custom pages. The creation of custom, one-off landing pages not tied to a content type or structured content (e.g. a single "About us" page).

Let's look at all three use cases in more detail to explain why we think this is extremely useful!

Use case 1: Layouts for templated content

For large sites with significant amounts of content it is important that the same types of content have a similar appearance.

A commerce site selling hundreds of different gift baskets with flower arrangements should have a similar layout for all gift baskets. For customers, this provides a consistent experience when browsing the gift baskets, making them easier to compare. For content authors, the templated approach means they don't have to worry about the appearance and layout of each new gift basket they enter on the site. They can be sure that once they have entered the price, description, and uploaded an image of the item, it will look good to the end user and similar to all other gift baskets on the site.

The Drupal 8 Layout Builder showing a templated gift basket

Drupal 8's new Layout Builder allows a site creator to visually create a layout template that will be used for each item of the same content type (e.g. a "gift basket layout" for the "gift basket" content type). This is possible because the Layout Builder benefits from Drupal's powerful "structured content" capabilities.

Many of Drupal's competitors don't allow such a templated approach to be designed in the browser. Their browser-based page builders only allow you to create a design for an individual page. When you want to create a layout that applies to all pages of a specific content type, it is usually not possible without a developer.

Use case 2: Customizations to templated layouts

While having a uniform look for all products of a particular type has many advantages, sometimes you may want to display one or more products in a slightly (or dramatically) different way.

Perhaps a customer recorded a video of giving their loved one one of the gift baskets, and that video has recently gone viral (because somehow it involved a puppy). If you only want to update one of the gift baskets with a video, it may not make sense to add an optional "highlighted video" field to all gift baskets.

Drupal 8's Layout Builder offers the ability to customize templated layouts on a case per case basis. In the "viral, puppy, gift basket" video example, this would allow a content creator to rearrange the layout for just that one gift basket, and put the viral video directly below the product image. In addition, the Layout Builder would allow the site to revert the layout to match all other gift baskets once the world has moved on to the next puppy video.

The Drupal 8 Layout Builder showing a templated gift basket with a puppy video

Since most content management systems don't allow you to visually design a layout pattern for certain types of structured content, they of course can't allow for this type of customization.

Use case 3: Custom pages (with unstructured content)

Of course, not everything is templated, and content authors often need to create one-off pages like an "About us" page or the website's homepage.

In addition to visually designing layout templates for different types of content, Drupal 8's Layout Builder can also be used to create these dynamic one-off custom pages. A content author can start with a blank page, design a layout, and start adding blocks. These blocks can contain videos, maps, text, a hero image, or custom-built widgets (e.g. a Drupal View showing a list of the ten most popular gift baskets). Blocks can expose configuration options to the content author. For instance, a hero block with an image and text may offer a setting to align the text left, right, or center. These settings can be configured directly from a sidebar.

The Drupal 8 Layout Builder showing how to configure a block

In many other systems content authors are able to use drag-and-drop WYSIWYG tools to design these one-off pages. This type of tool is used in many projects and services such as Squarespace and the new Gutenberg Editor for WordPress (now available for Drupal, too!).

On large sites, the free-form page creation is almost certainly going to be a scalability, maintenance and governance challenge.

For smaller sites where there may not be many pages or content authors, these dynamic free-form page builders may work well, and the unrestricted creative freedom they provide might be very compelling. However, on larger sites, when you have hundreds of pages or dozens of content creators, a templated approach is going to be preferred.

When will Drupal's new Layout Builder be ready?

Drupal 8's Layout Builder is still a beta level experimental module, with 25 known open issues to be addressed prior to becoming stable. We're on track to complete this in time for Drupal 8.7's release in May 2019. If you are interested in increasing the likelihood of that, you can find out how to help on the Layout Initiative homepage.

An important note on accessibility

Accessibility is one of Drupal's core tenets, and building software that everyone can use is part of our core values and principles. A key part of bringing Layout Builder functionality to a "stable" state for production use will be ensuring that it passes our accessibility gate (Level AA conformance with WCAG and ATAG). This holds for both the authoring tool itself, as well as the markup that it generates. We take our commitment to accessibility seriously.

Impact on contributed modules and existing sites

Currently there a few methods in the Drupal module ecosystem for creating templated layouts and landing pages, including the Panels and Panelizer combination. We are currently working on a migration path for Panels/Panelizer to the Layout Builder.

The Paragraphs module currently can be used to solve several kinds of content authoring use-cases, including the creation of custom landing pages. It is still being determined how Paragraphs will work with the Layout Builder and/or if the Layout Builder will be used to control the layout of Paragraphs.

Conclusion

[embedded content]

Drupal's upcoming Layout Builder is unique in that it supports multiple different use cases; from templated layouts that can be applied to dozens or hundreds of pieces of structured content, to designing custom one-off pages with unstructured content. The Layout Builder is even more powerful when used in conjunction with Drupal's other out-of-the-box features such as revisioning, content moderation, and translations, but that is a topic for a future blog post.

Special thanks to Ted Bowman (Acquia) for co-authoring this post. Also thanks to Wim Leers (Acquia), Angie Byron (Acquia), Alex Bronstein (Acquia), Jeff Beeman (Acquia) and Tim Plunkett (Acquia) for their feedback during the writing process.

November 12, 2018

4 min read time

Nov 12 2018
Nov 12

Visualization styles are configuration entities that store a reference to a drawer plugin (its Id) and a set of configuration defaults. These styles are used to create drawings. As VisualN defines it, a drawing is a ready, self-contained piece of markup (or render array) with possibly styles and scripts attached. Almost anything can be a drawing: a chart, an image gallery or even a web app.

In a sense, they are similar to image styles which are applied to an original image in order to get a styled one. In the case of visualization styles, they are applied to sets of data to get a drawing as a result. Though some drawers don't even need data to create a drawing.

Visualization style to drawing

Visualization styles can be created either using Available drawers preview UI or directly using VisualN > Visualization Styles administration page. Once created, they can be used anywhere on the site to create drawings: views, fields, blocks, embedded into content via ckeditor, tokens etc. Multiple styles can be created for the same drawer.

On the screenshot below a style is created for the Linechart Basic drawer provided with VisualN module.

Visualization style configuration form

To create a visualization style, its label must be set and drawer plugin selected. If selected drawer plugin configuration form provides required fields, those must be set up too.

Every drawer plugin may provide its own custom configuration form, be it very basic with just a few settings or a complex one with multiple fields and ajaxified elements. It is also ok for a drawer to have no (or empty) configuration form either. In the example above, Linechart Basic drawer provides Number of series setting which allows to vary the number of data series and thus lines on the resultant chart. The Update series button adjusts the number of text fields used to set labels for each series. Also it serves as an example of a configuration form with ajax elements.

The Leaflet Basic drawer (shipped with VisualN module as well) would show a different form: e.g. it provides settings for map viewport width and height. Thus, developers are free to create configuration forms of any structure and complexity without worrying about how those forms are integrated into the UI - everything is seamlessly handled by VisualN module.

Having visualization styles configured you are ready to create great drawings. Enjoy it!

Series contents

  1. Getting started
  2. Using available drawers preview
  3. Creating visualization styles
  4. Creating drawing (entity) types
  5. Creating interactive content in CKEditor with VisualN Embed
  6. Configuring VisualN Embed integration with CKEditor
  7. Using VisualN Excel module for Excel files support
  8. Sharing embedded drawings across sites
  9. etc.
Nov 10 2018
Nov 10

The Drupal 8 Image Widget Crop Module is a handy module for allowing your content editors on your website to crop images after they upload them. Have you ever uploaded an image on a website and had it automatically crop the image for you in a way that just looks wrong? This module solves that problem!

Nov 09 2018
Nov 09

Video of Drupal 8 Contact Storage Export Module - Daily Dose of Drupal Episode 215

In this episode, we cover the Drupal 8 Contact Storage Export Module. This episode covers a module that adds additional functionality to the Contact Storage Module (which we covered in episode 213). This module allows you to export your contact form submissions to a CSV file. It's a simple module that serves a very specific purpose. If you need to export your contact form submissions, this is how you do it!

Check out the Code Karate Patreon page

Nov 09 2018
Nov 09

This blog has been re-posted and edited with permission from Dries Buytaert's blog. Please leave your comments on the original post.

If you are still using PHP 5, now is the time to upgrade to a newer version of PHP.

PHP, the Open Source scripting language, is used by nearly 80 percent of the world's websites.

According to W3Techs, around 61 percent of all websites on the internet still use PHP 5, a version of PHP that was first released fourteen years ago.

Now is the time to give PHP 5 some attention. In less than two months, on December 31st, security support for PHP 5 will officially cease. (Note: Some Linux distributions, such as Debian Long Term Support distributions, will still try to backport security fixes.)

If you haven't already, now is the time to make sure your site is running an updated and supported version of PHP.

Beyond security considerations, sites that are running on older versions of PHP are missing out on the significant performance improvements that come with the newer versions.

Drupal and PHP 5

Drupal 8

Drupal 8 will drop support for PHP 5 on March 6, 2019. We recommend updating to at least PHP 7.1 if possible, and ideally PHP 7.2, which is supported as of Drupal 8.5 (which was released March, 2018). Drupal 8.7 (to be released in May, 2019) will support PHP 7.3, and we may backport PHP 7.3 support to Drupal 8.6 in the coming months as well.

Drupal 7

Drupal 7 will drop support for older versions of PHP 5 on December 31st, but will continue to support PHP 5.6 as long there are one or more third-party organizations providing reliable, extended security support for PHP 5.

Earlier today, we released Drupal 7.61 which now supports PHP 7.2. This should make upgrades from PHP 5 easier. Drupal 7's support for PHP 7.3 is being worked on but we don't know yet when it will be available.

Thank you!

It's a credit to the PHP community that they have maintained PHP 5 for fourteen years. But that can't go on forever. It's time to move on from PHP 5 and upgrade to a newer version so that we can all innovate faster.

I'd also like to thank the Drupal community — both those contributing to Drupal 7 and Drupal 8 — for keeping Drupal compatible with the newest versions of PHP. That certainly helps make PHP upgrades easier.

Nov 09 2018
Nov 09

Last week, the Children’s Hospital of Philadelphia (CHOP) Vaccine Makers Project (VMP) won a PR News Digital Award in the category “Redesign/Relaunch of Site.” The awards gala honors the year’s best and brightest campaigns across a variety of media. 

PR News Award on a table.

Our CEO, Alex, and our Director of Client Engagement, Aaron, along with members of the Vaccine Makers team attended the event at the Yale Club in New York City.

Screenshot of a Tweet posted by the PR News. Source

The Vaccine Makers Project (VMP) is a subset of CHOP’s Vaccine Education Center (VEC). It’s a public education portal for students and teachers that features resources such as lesson plans, downloadable worksheets, and videos. 

The Vaccine Makers team first approached us in need of a site that aligned with the branding of CHOP’s existing site. They also wanted a better strategy for site organization and resource classification. Our team collaborated with theirs to build a new site that’s easy to navigate for all users. You can learn more about the project here.

Screenshot of a Tweet from Vaccine Makers team. Source

We’d like to thank CHOP and the Vaccine Makers team for giving us the opportunity to work on this project. We’d also like to thank PR News for recognizing our work and hosting such a wonderful event. 

Finally, we’d like to congratulate our incredible team for their endless effort and dedication to this project. 
 

Nov 09 2018
Nov 09

First one on the list is Why I am one of the top contributors to Drupal? by Jacob Rockowitz. This blog post was inspired by Dries’ annual Who sponsors Drupal development? (2017-2018 edition) report. Jacob is one of the developers, who contributes the most to the Drupal community. In this blog post, he wants to go a little bit further from the question, who contributes the most - he is answering why is he contributing to Drupal. 

We continue our list with a blog post How Marketers can Benefit from Drupal 8 by Tim Cruse from Duo Consulting. Tim explains that we are witnessing increasing interest in Drupal 8, especially from the marketing department, and that is with a good reason. In this blog post, he looks at the facts that make Drupal so valuable to marketers. 

The third spot is reserved for a blog post Decoupled Drupal Authentication with OAuth 2.0 by Preston So, Director of Research and Innovation of Acquia. Preston explains that the most critical component of the decoupled Drupal architecture is a robust authentication mechanism that protects data transmitted between a Drupal site and API consumers. Drupal contributed ecosystem contains several highly useful modules that leverage more recent authentication standards, like OAuth 2.0, at which he takes a closer look in this blog post. 

Let’s continue with Drupal Strategies: Landing Pages by Cindy McCourt from Promet Source. In this blog post, Cindy looks at five recipes for building landing pages in Drupal: Node page, Node Plus View Block, A View Page Plus a Block, Panel Page and Custom Theme Page, and for each, she is answering how and why.

Our fifth choice is How we are improving Drupal's configuration management system by Dries Buytaert. He explains that configuration management is an important feature of any modern content management system. What will the future bring for Drupal in that area?

The sixth blog post we would like to highlight is End to End Testing With Drupal and Cypress by Edward Allison from Sevaa Group. At Sevaas they started to use Cypress to handle End to End tests for their Drupal sites. The experience was great, thus the process has not been complete without hurdles, therefore Ed finds a few concepts that have been helpful specifically for Drupal sites, he is walking us through. 

The next one is 9 Drupal Websites that Change the World by Vergiliu Hachi from Sooperthemes. In this article they talk about some of the world’s biggest organizations and NGOs who are dedicated to making the world a better place - NASA, Tesla, Doctors without Borders etc. Besides changing the world, all these websites have another thing in common: they all use Drupal.

And the last but not least is a blog post Atomic Design in Drupal with GraphQL & Twig - Webinar Recap, the recap of Philipp Melabs webinar by Daniel Lemon, both from Amazee Labs. Daniel gives us an insight of the webinar, where Philipps focus on building a real-world example website for a fictional web agency called Amazing Apps.

These are our top blogs from October… We will be collecting best Drupal blog posts in November too. Stay tuned.


 

Nov 09 2018
Nov 09

I'll keep this short and sweet, but we thought this would be a useful tip to share with the world as a potential security issue with the combined use of File::getFileUri() and FileSystem::realpath().

Consider the following code excerpt :

$file = File::load($some_file_uri);

if ($file) {
  $uri = $file->getFileUri();
  $file_realpath = \Drupal::service('file_system')->realpath($uri);
}

Seems pretty harmless right? Load up the file from $some_file_uri , If we have a valid file then get the URI and then grab the real path.

Wrong (potentially, depending on what you do with $file_realpath).

If $file is a valid file, but for whatever reason the file is no longer physically located on disk, then $file->getFileUri() will return a blank string.

It turns out that passing this blank string $uri into \Drupal::service('file_system')->realpath($uri) will return the full webroot of your site!

Depending on what you were doing with said $file_realpath, it could then be a security issue.

We were handling a user webform submission and then sending the submission over to a CRM system... because $file_realpath was now the webroot of the site, then code that followed to archive the user submitted file ended up archiving the entire webroot and sending this over to the client's CRM system. 

Luckily in this instance, the archive was only ever available temporarily server side and then went directly to the clients own CRM system, but in another circumstance this could have easily been a very serious security issue.

Fortunately the fix is quite simple, ensure the the $uri returned from ->getFileUri() is valid by some method, before passing through realpath(). Here, I now validate the uri matches what I know it should be for the current webform submission.

if ($file) {
  $uri = $file->getFileUri();
  $webform_id = $webform->get('id');
  $submission_id = $webform_submission->get('sid')->getValue()[0]['value'];
  $valid_file_scheme = strpos($uri, 'private://webform/' . $webform_id . '/' . $submission_id . '/') !== FALSE;

  if ($valid_file_scheme) { 
    // Proceed with the rest of the code..
  }
}

Pages

About Drupal Sun

Drupal Sun is an Evolving Web project. It allows you to:

  • Do full-text search on all the articles in Drupal Planet (thanks to Apache Solr)
  • Facet based on tags, author, or feed
  • Flip through articles quickly (with j/k or arrow keys) to find what you're interested in
  • View the entire article text inline, or in the context of the site where it was created

See the blog post at Evolving Web

Evolving Web