Drupal Planet

Droptica: Models of cooperation of the development team and the client based on the examples used at Droptica

1 dzień 14 godzin ago
Droptica helps clients from all over the world to complete and implement their projects. Each of these clients has already developed their way of working. Everyone is different. In this article, I have collected the most common ways and systems of cooperation between Droptica and our clients. Why do we work a little differently with every client? We are Agile. We always want to maximise the results of our work, so our development team always adjusts and adapts their way of working to the client’s needs. The elements that are adapted and changed the most often include:

Drupal Association blog: The Values & Principles Committee

1 dzień 15 godzin ago

In a previous blog post, I wrote that Dries asked for help in continuing the development of the Values & Principles and that a Values & Principles Committee will be formed to facilitate this. Well, we are at the point where we can explain how the committee will be formed, its purpose and how it will achieve its goals.

Purpose

The Values & Principles Committee will exist to focus on specific Values & Principles to see where continual improvements can be made and to propose those to the Project Lead for approval. For example, in meetings at DrupalCon Nashville, Dries expressed a desire to focus on Principle 8: “Every person is welcome; every behavior is not” because it is both critically important, in need of work, and requires more input.

Formation

To learn more about how the Values and Principle Committee will work, please read the charter, which is attached.

We have been giving thought to how we can facilitate a better, more open, process for appointing members to this Committee and we have come up with the following:

We will be posting role descriptions for the volunteer committee roles on jobs.drupal.org. The Values & Principles Committee Member voluntary role description will describe the:

  • Expectations of the role

  • The specific jobs the role will require

  • An indication of the time commitment of the role

  • The attributes that would be expected of a successful candidate

  • How to apply

The Committee Member role will be advertised from today until 3 August 2018 at https://jobs.drupal.org/drupal-community/job/15126 and then I will take the applications to Dries Buytaert and Megan Sanicki to select candidates based on the membership requirements outlined in the charter and role description.

This work matters to them personally and through their roles:  Dries as Drupal Project Lead and Megan as Drupal Association Executive Director. In addition to their different experiences and perspectives, they bring a wealth of experience in enterprise leadership, organizational culture and community building.  They hope to assemble a group that is inspired by this work, diverse, and representative of the values and principles we hope to inspire in the community. After the initial membership is selected, the membership will help recruit new members going forward.

Once the committee is selected, it can then begin work, in consultation with subject matter experts, on updating the values and principles.

My call to action for you is to consider whether volunteering as a Member of this Values & Principles Committee is a way that you can contribute to the Drupal Community and, if so, to submit your application.

I’m really keen to ensure that the Values & Principles Committee has membership from many places, with a diverse background and representing many a wide understanding of what makes Drupal - Drupal. It is even baked into the Values & Principles Committee Charter, attached.

File attachments:  Values Committee Charter.pdf

OPTASY: How to Add Autocomplete to Text Fields in Drupal 8: Defining a Custom Route

1 dzień 16 godzin ago
How to Add Autocomplete to Text Fields in Drupal 8: Defining a Custom Route radu.simileanu Wed, 07/18/2018 - 10:15

Let's say that it's a WhatsApp-like, a decoupled, Drupal 8-backed, real-time chat platform that you're building. One using Node.js. In this case, implementing field autocomplete functionality becomes a must, doesn't it? But how do you add autocomplete to text fields in Drupal 8?

Needless to add that such otherwise "basic" functionality — implemented on fields such as node reference and user/tags — would instantly:
 

  1. improve the user experience 
  2. increase the level of user interactivity and engagement
     

Users would group around different "channels" and be able to easily add new members. The auto-complete text fields will make the whole “new member coopting” process conveniently easy:

Tandem's Drupal Blog: Changing a Content Type Name During a Drupal 8 Migration

2 dni 2 godziny ago
July 18, 2018 Changing a content type machine name during a Drupal Migration requires a little bit of migration knowledge, but is fairly straight forward to do. The Use Case It is a typical occurrence when a Drupal site has its content types named one way when it is built. Then, later on it is changed to better reflect what that type currently ...

mark.ie: Getting Value (URI) of a Drupal Media (File) Field from within a Twig Template

2 dni 10 godzin ago
Getting Value (URI) of a Drupal Media (File) Field from within a Twig Template

To the future or to the past, to a time when thought is free, to the next time when I need to get the value of file field to use as a variable in Drupal 8 with Twig.

markconroy Tue, 07/17/2018 - 17:07

Working my way down through one of Drupal's render arrays of doom to try to get the URI of a file in a media field (in a paragraph type), I came up with this. If you can improve it, feel free to drop a note in the comments:

{% set slide_url = file_url(content.field_p_ei_speaker_slides[0]['#media'].field_m_file_file.entity.uri.value) %}

In steps:

  1. Get the {{ content }} variable
  2. Drill down into the media field (Speaker Slides - pdf, ppt, etc)
  3. Get the first element (0 - it's not a multi-value field in this case)
  4. Load up the #media object
  5. Interrogate the field on the media entity that has the file attached (the File field)
  6. Load this entity (entity here is not presented as an item in the {{ dpm() }} but it's very handy to know
  7. Get the uri.value from here
  8. Wrap it all in a file_url() function

For clarity, here's what I had in PatternLab:

  {# Begin Slides Download #}
  {% if event_slide_download %}
   
     
        {% include '@basic-elements/icons/_svg.twig'
          with {
            svgpath : '@basic-elements/icons/svg/download.svg'
          }
        %}
     

   
  {% endif %}
  {# End Slides Download #}

And here's what I have in the corresponding Drupal paragraph.html.twig tempate:

{% if paragraph.field_p_ei_speaker_slides.value %}
  {% set event_slide_download = true %}
  {% set slide_url = file_url(content.field_p_ei_speaker_slides[0]['#media'].field_m_file_file.entity.uri.value) %}
  {% set event_slide_download_link = slide_url %}
{% endif %}

{% include "@building-blocks/event-section/event-item.twig" %}

So now, my future self, you will know where to find this next time.

OpenSense Labs: Approach your Mobile-First Design with This Guide

2 dni 12 godzin ago
Approach your Mobile-First Design with This Guide Harshit Tue, 07/17/2018 - 19:21

It’s always a battle when planning a website design. Your end goals, target audience, content, user experience, everything must align. It’s like a cloud of thoughts right inside your team’s head. It’s critical to optimize your website experience for the devices your audience is or will be using. 

Emarketer forecasts, approximately 83% of internet users will use a mobile phone to go online by 2021. 

Since now that we’ve established the fact that mobile is where the future lies, a mobile-first redesign is a way to go. We’ll dive into what a mobile-first approach entails, including tips for creating a seamless experience for visitors from mobile devices. 

In 2018, it is critical to analyze what’s the right way to go about it. 

1. Shoot for the least 

Without compromising the functionalities, it is definitely a challenge to pull everything into such a limited real estate. The difference in the screen space of various devices should tell you the varied approach to design. 

Minimalism begins by removing every element one by one.

After listing down all the elements, prioritizing is key. Sort out the cruciality of every element and how would they hierarchically sit in the interface. This should be in a way that the most important elements are displayed prominently. 

If after this exercise there’s still space for more, carefully add some elements in order of importance without overdoing it. Doing this would make sure every inch is utilised to the fullest. 

Content Repository 

The approach to this should be by drafting a document or a spreadsheet containing all the content elements you want the interface to entail. 

List down the page titles, navigation titles and be open to comments from peers. An example is given below:

An example of a content repository2. Analyse the Important Interaction Points

Comparing smartphones from 2008 to the ones in 2018,  a lot has changed since then. The user experience is no more frustrating. Earlier you had to touch the exact alphabet in the keyboard now the smart devices can read your movement through sensors. Keyboards differ according to the smartphone size, button space and overall sensitivity. And so your mobile design should be approached in the same manner. 

Unfortunately, many websites are still lagging behind when it comes to the user experience which leads to weak engagement, poor sessions and doubled bounce rates. 
Make sure the important elements are not missed. 

This includes: 

  • Make button more clickable
  • Make CTAs more appealing and responsive
  • Choose the right color combination for the user to read on the sunny noon
  • Give hyperlinks plenty of space
  • Keep the tabs in the drop down manner
Good vs Bad UX design The number of mobile phone users in the world is expected to pass the five billion mark by 2019, according to Statista.  3. Optimize Your Images

When it comes to loading size, images make up nearly 64% of an average web page. Outlining the “why”, it is now important to know how you can optimize your images to deliver an optimum and engaging experience to your user, without hogging on those extra kilobytes of data. 

Hacks to Optimize Images
  • Use correct image dimensions for faster loading
  • Use the correct image format. JPEG image would be a lot lighter than the PNG.
  • Compress your image with lossless compression
  • Use Lazy loader to keep the user engaged
4. Content is all that matters

Devising content around mobile is time-consuming as it requires due thinking and goes through numerous iterations along the course of finalizing the content itself. 

Taking the limited space aside for a while, there are more added difficulties when it comes to mobile web development. 

There comes screen rotation, device to device compatibility, text and image overlaps and what not. These factors have everything to make your content look very less appealing. What do you do for cutting these hurdles off? 

Think from an app perspective

Mobile users are accustomed to motion and a modicum of control in their experience. Think about off-canvas navigation, expandable widgets, AJAX calls, or other elements on the screen with which users can interact without refreshing the page. This would help you always maintain the right threshold for user experience. 

Screen and remove all the distracting elements, make the content as precise as possible while catering to actual product or service display. 

Landscape photos and complex graphics don't show well when your screen is reduced by half. Take into account the mobile user with pictures that are comprehensible on handheld screens.

5. Be a User, Before Presenting to the User

Our industry standard for approaching design is devising wireframes first. During wireframing or prototyping, use adaptive breakpoints reference. It streamlines the process of moving to different screen sizes, starting with the least real estate. 

Hover is off the table

Interactive interfaces from 2018 mostly utilize hover effects. UX designers go bonkers over them. But that’s a desktop only thing as we do not have the finger-hover technology in town. You will have to forget hover' existence when going mobile. 

Having trouble configuring your site? Check out services by OpenSense Labs.

6. Opt for Accelerated Mobile Pages

Your users are likely to bounce off your website if it doesn’t load within 3 seconds. With mobile, the standard has been set high (or rather less). Since the internet has been taken for granted, people have become second sensitive these days. 

AMP does bring you speedy pages and is a great way to boost your SEO and stop losing out of potential customers. It’s important to note that Google has gone lengths to identify and promote AMP pages.

If your web pages follow AMP standards, it becomes eligible to be cached by Google and appear in the search results and carousels with the AMP logo, indicating that they offer a fast experience. 

A standard built on top of existing technologies to speed up the loading of web pages on mobile devices.

How to go about it?

Configure AMP in your website

7. Make engagement on Mobile Simple 

Whether it’s deciding between a “hamburger” style menu or a more visible-style on the front end or how to display forms on specific pages, don’t make engagement paths more abstract than they need to be. Engagement should be extremely crisp and effective in nature.


Set the Display Order

Now, after listing down all the elements, prioritizing is key. Sort out the cruciality of every element and how would they hierarchically sit in the interface. This should be in a way that the most important elements are displayed prominently. 

8. Test It Before You Sell It

Even after having the final product in your hands, recommendations and tweaks will keep flowing in. Change is evergreen. With changes being made, you need to be testing them as soon as they are deployed. 

Nothing beats discovering for yourself how usable a website is (or isn’t). Step away from your computer desktops and load up your product on a real phone or tablet. 

Test it in a real devices 

Using testing tools, you can conduct A/B tests. Some tests may be like, an orange CTA vs a Yellow CTA, Button size changes, block layout tweaks and etc. Tests can range from regular functionality checks to user experience tests.

Tap through pages. Is the site easy to navigate? Does it load in a timely fashion? Are the text and graphics easy to read?

It's as clear as the skies that the future of the internet is dependent on mobile experiences. Responsive web design is a must if you run your business online or attend to your customers for any purpose. 

The tips above will help you build what you are looking at while making the least possible amount of mistakes. 

If you need any further recommendations, we are here. Hook with us at hello@opensenselabs.com or tweet us at @OpenSenseLabs and our mobile development team will save you the trouble.

blog banner blog image Mobile first Mobile friendly  User experience Drupal Web Redesign Drupal websites Mobile approach Websites Mobile first approach Webpages Design Ideas Design Ideology Design Blog Type Articles Is it a good read ? On

Blair Wadman: How to add page templates for content types in Drupal 8

2 dni 18 godzin ago

This weeks tutorial will dive into how you can add page templates for a specific content type in Drupal 8. Sometimes you need to create a page template for a specific content type so that you can customise it. Drupal allows you to create content types for node templates out of the box by following the naming convention node--content-type.html.twig. But things aren’t so simple for page templates. Drupal does not automatically detect page templates for content types purely based on the naming convention. Fortunately it just takes a few lines of code and you can create a page template for any content type you choose....

Mark Shropshire: Demystifying Decoupled Drupal with Contenta CMS Presentation at Drupal Camp Asheville

3 dni ago

It was a pleasure to present "Demystifying Decoupled Drupal with Contenta CMS" with Bayo Fodeke at Drupal Camp Asheville 2018 on July 14th, 2018. I want to thank the organizers, volunteers, attendees, presenters, and sponsors for making another awesome year in the beautiful North Carolina mountains. This is one great camp that gets better and better each year. Below you will find the video for my talk and slide deck::

"Demystifying Decoupled Drupal with Contenta CMS".

Blog Category: