emGee Software Solutions Custom Database Applications

Share this

Drupal CMS

Zivtech: Drupal 8 Content Moderation Tips & Tricks

Drupal.org aggregator - Fri, 05/18/2018 - 08:19

The Content Moderation core module was marked stable in Drupal 8.5. Think of it like the contributed module Workbench Moderation in Drupal 7, but without all the Workbench editor Views that never seemed to completely make sense. The Drupal.org documentation gives a good overview.

Content Moderation requires the Workflows core module, allowing you to set up custom editorial workflows. I've been doing some work with this for a new site for a large organization, and have some tips and tricks.

Less Is More

Resist increases in roles, workflows, and workflow states and make sure they are justified by a business need. Stakeholders may ask for many roles and many workflow states without knowing the increased complexity and likelihood of editorial confusion that results.

If you create an editorial workflow that is too strict and complex, editors will tend to find ways to work around the  system. A good compromise is to ask that the team tries something simple first and adds complexity down the line if needed.

Try to use the same workflow on all content types if you can. It makes a much simpler mental model for everyone.

Transitions are Key

Transitions between workflow states will be what you assign as permissions to roles. Typically, you'll want to lock down who can publish content, allowing content contributors to create new drafts only.

Read more
Categories: Drupal CMS

Drupal blog: Working toward a JavaScript-driven Drupal administration interface

Drupal.org aggregator - Fri, 05/18/2018 - 08:18

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

As web applications have evolved from static pages to application-like experiences, end-users' expectations of websites have become increasingly demanding. JavaScript, partnered with effective user-experience design, enable the seamless, instantaneous interactions that users now expect.

The Drupal project anticipated this trend years ago and we have been investing heavily in making Drupal API-first ever since. As a result, more organizations are building decoupled applications served by Drupal. This approach allows organizations to use modern JavaScript frameworks, while still benefiting from Drupal's powerful content management capabilities, such as content modeling, content editing, content workflows, access rights and more.

While organizations use JavaScript frameworks to create visitor-facing experiences with Drupal as a backend, Drupal's own administration interface has not yet embraced a modern JavaScript framework. There is high demand for Drupal to provide a cutting-edge experience for its own users: the site's content creators and administrators.

At DrupalCon Vienna, we decided to start working on an alternative Drupal administrative UI using React. Sally Young, one of the initiative coordinators, recently posted a fantastic update on our progress since DrupalCon Vienna.

Next steps for Drupal's API-first and JavaScript work

While we made great progress improving Drupal's web services support and improving our JavaScript support, I wanted to use this blog post to compile an overview of some of our most important next steps:

1. Stabilize the JSON API module

JSON API is a widely-used specification for building web service APIs in JSON. We are working towards adding JSON API to Drupal core as it makes it easier for JavaScript developers to access the content and configuration managed in Drupal. There is a central plan issue that lists all of the blockers for getting JSON API into core (comprehensive test coverage, specification compliance, and more). We're working hard to get all of them out of the way!

2. Improve our JavaScript testing infrastructure

Drupal's testing infrastructure is excellent for testing PHP code, but until now, it was not optimized for testing JavaScript code. As we expect the amount of JavaScript code in Drupal's administrative interface to dramatically increase in the years to come, we have been working on improving our JavaScript testing infrastructure using Headless Chrome and Nightwatch.js. Nightwatch.js has already been committed for inclusion in Drupal 8.6, however some additional work remains to create a robust JavaScript-to-Drupal bridge. Completing this work is essential to ensure we do not introduce regressions, as we proceed with the other items in our roadmap.

3. Create designs for a React-based administration UI

Having a JavaScript-based UI also allows us to rethink how we can improve Drupal's administration experience. For example, Drupal's current content modeling UI requires a lot of clicking, saving and reloading. By using React, we can reimagine our user experience to be more application-like, intuitive and faster to use. We still need a lot of help to design and test different parts of the Drupal administration UI.

4. Allow contributed modules to use React or Twig

We want to enable modules to provide either a React-powered administration UI or a traditional Twig-based administration UI. We are working on an architecture that can support both at the same time. This will allow us to introduce JavaScript-based UIs incrementally instead of enforcing a massive paradigm shift all at once. It will also provide some level of optionality for modules that want to opt-out from supporting the new administration UI.

5. Implement missing web service APIs

While we have been working for years to add web service APIs to many parts of Drupal, not all of Drupal has web services support yet. For our React-based administration UI prototype we decided to implement a new permission screen (i.e. https://example.com/admin/people/permissions). We learned that Drupal lacked the necessary web service APIs to retrieve a list of all available permissions in the system. This led us to create a support module that provides such an API. This support module is a temporary solution that helped us make progress on our prototype; the goal is to integrate these APIs into core itself. If you want to contribute to Drupal, creating web service APIs for various Drupal subsystems might be a great way to get involved.

6. Make the React UI extensible and configurable

One of the benefits of Drupal's current administration UI is that it can be configured (e.g. you can modify the content listing because it has been built using the Views module) and extended by contributed modules (e.g. the Address module adds a UI that is optimized for editing address information). We want to make sure that in the new React UI we keep enough flexibility for site builders to customize the administrative UI.

All decoupled builds benefit

All decoupled applications will benefit from the six steps above; they're important for building a fully-decoupled administration UI, and for building visitor-facing decoupled applications.

Useful for decoupling of visitor-facing front-ends Useful for decoupling of the administration backend 1. Stabilize the JSON API module ✔ ✔ 2. Improve our JavaScript testing infrastructure ✔ ✔ 3. Create designs for a React-based administration UI ✔ 4. Allow contributed modules to use React or Twig ✔ ✔ 5. Implement missing web service APIs ✔ ✔ 6. Make the React UI extensible and configurable ✔ Conclusion

Over the past three years we've been making steady progress to move Drupal to a more API-first and JavaScript centric world. It's important work given a variety of market trends in our industry. While we have made excellent progress, there are more challenges to be solved. We hope you like our next steps, and we welcome you to get involved with them. Thank you to everyone who has contributed so far!

Special thanks to Matt Grill and Lauri Eskola for co-authoring this blog post and to Wim Leers, Gabe Sullice, Angela Byron, and Preston So for their feedback during the writing process.

Categories: Drupal CMS

mark.ie: My Approach to PatternLab?

Drupal.org aggregator - Fri, 05/18/2018 - 07:43
My Approach to PatternLab?

I'm sometimes asked for an overview of my general approach to PatternLab. Simple: put everything for each component in the same directory!

markconroy Fri, 05/18/2018 - 15:43

When working with PatternLab, which I use for all my Drupal themes, including the theme for this website, I don’t use the full atomic approach. I don't use the approach of atoms > molecules > organisms > etc. I’m sure many people seriously disagree with me for that ( I do think it's a very clever concept). Instead I’ve renamed things to match the language we use with our clients.

I tried talking about atoms and molecules to some clients and their eyes glazed over. Clients do not want a science lesson. They do not want to be told that we are going to take two of these atoms, and mix them with one of these atom, and eventually we'll have water. No, they want to know what their final website is going to look like. When I changed the conversation and started talking about ‘Building Blocks’ (what we call our Drupal paragraph types), site blocks (Drupal's search block, branding block), display types (Drupal's view modes such as teaser, search result), etc, they immediately understood. Then we started hearing things like, "Oh, so we can create a page by adding a number of different building blocks?" and "I see, so the search results page is made up of a group of pages using the 'Search Result' display type?". And my response, "Yes!". You see, we are using plain English to ease with understanding.

Another aspect of my approach that I really like is that _everything_ for each of my components is within the same directory. For example, if it’s a nested paragraph component such as an accordion (so we need a paragraph type called 'Accordion' and one called 'Accordion Item') each template and css and js and readme and json and yaml is all in the same folder. That means when I want to reuse one in another project, I don’t need to remember what sub-particles (atoms/molecules) are used to create the organism. It also means my CSS is scoped to that specific component and doesn’t bleed out of it, so making changes or adding new features is very easy, you just scope the new component's CSS to it, so it won't affect other previously-created components.

Now the top bar of my PatternLab that used to say Atoms | Molecules | Organisms, etc has tabs for:

  • Base
    • Colours
    • Spacing
    • Breakpoints
  • Basic Elements
    • Headings
    • Paragraphs
    • Lists
  • Site Blocks (Drupal Blocks)
    • Search Block
    • Login Block
    • Branding Block
  • Building Blocks (Paragraph Types)
    • Accordion
    • Image with Text
    • Video
  • Content
    • Display Types (View Modes)
      • Teaser
      • Card
      • Search Result
    • Lists (Views)
      • Blog
      • Search Results
    • Content Types
      • Basic Page
      • Blog
      • Event
  • Page Sections (Regions)
    • Header
    • Footer
    • Sidebar
  • Sample Pages
    • Homepage
    • Blog Listing Page
    • Blog Node

After that, I have Backstop.js set up to regression test all of these, so each time I create a new component I can quickly run the visual regression tests and check that nothing has broken. Since all my CSS/JS is scoped to each individual component, it's rare if something is.

Categories: Drupal CMS

Specbee: 5 Reasons Why Media Industry is Choosing Drupal CMS Over Other Platforms in 2018

Drupal.org aggregator - Fri, 05/18/2018 - 06:24
The high demand for creating a seamless digital experience across numerous devices and channels has challenged the classic approach of the media industry. The changing technology landscape and the business models have forced the companies to think out-of-the-box to drive customer interaction and avoid competitive differentiation to catch up with them.
Categories: Drupal CMS

Zoocha Blog: User login in Drupal 8 with AWS Rekognition

Drupal.org aggregator - Fri, 05/18/2018 - 04:43
User login in Drupal 8... Drupal Web Development titi 18 May 2018 Idea We've recently attended the AWS London summit and this year it seemed like the focus was AI and machine learning. One of the services I've been meaning to play with is Rekognition, whichh can do face detection and compare two faces among many other things. While sitting in one…
Categories: Drupal CMS

OpenSense Labs: Drupal ensuring the Web Accessibility Standards

Drupal.org aggregator - Fri, 05/18/2018 - 02:48
Drupal ensuring the Web Accessibility Standards Akshita Fri, 05/18/2018 - 15:18

Just like land, air, and water are meant for everyone, the web was designed to work for all people and expel any hindrance, irrespective of the surroundings and capabilities of people. But the effect of incapacity (of individuals) in the light of the fact that the web standards don’t include all in itself has become a barrier. Creating quite the paradox in the situation. 

Before completing this blog, my ignorance led me to believe that web accessibility was limited to ‘accessibility only for people with disability’. Another thing that I was coxed to believe was that it is almost synonymous with visibility issues. But it is as much for a person with auditory disabilities as it is for a person with cognitive or neurological disabilities. However, I realized I was not the only one associating such wrong notions with disabilities and web accessibility. Lack of awareness and taboos associated with disabilities often mislead us.

Ensuring that people with disability have equal and inclusive access to the resources on the web, governments and agencies follow certain guidelines in order to establish equal accessibility for all without any bias. 

What are Web Accessibility Standards and why do they matter? “Web Content Accessibility Guidelines (WCAG) is developed through the World Wide Web Consortium process with a goal of providing a single shared standard for web content accessibility that meets the needs of individuals, organizations, and governments internationally.”

The WCAG explains how the web content be made more accessible to people. Here the word "content" refers to any and every kind of information in a web page, such as text (include heading and captions too), images, sounds, codes, markup - anything that defines the layout and framework.  

Take examples of physical infrastructures like ramps and digital vision signboards, which can be used by anyone, in a similar fashion web accessibility is for everyone.

When you go out in the noon, the level of contrast can be an issue as much for a person with 6/6 vision as it can be for a person with visibility issues. Or say, older people (due to aging) face problems with changing abilities, as much as people with “temporary disabilities” such as a broken arm or lost glasses. Thus, not only web accessibility standards ensure justice for people with disability but, it is inclusive for all. 

According to the Convention on the Rights of Persons with Disabilities by the United Nations, enjoying equal human rights is a fundamental freedom. To ensure the dignity of people with disability is not a subject of ridicule, governments across the globe signed a treaty for easy web accessibility. 

How does Drupal help?

A person may face an issue either when building a website or when using it. The WCAG ensures that both the times the guidelines are followed. The World Wide Web Consortium (W3C) guidelines are then divided into two: ATAG 2.0 and WCAG 2.0. Authoring Tool Accessibility Guidelines (ATAG 2.0) addresses authoring tools and Web Content Accessibility Guidelines (WCAG 2.0) addresses Web content and is used by developers, authoring tools, and accessibility evaluation tools. 

Drupal conforms to both the guidelines. The initiative started with Drupal 7 accessibility and the community has been committed to ensuring that accessibility for all. 

What Drupal does...

The community has an accessibility team which works to identify the barriers both at the code level and the awareness level to resolve them. As a person using assistive technologies to browse the web, Drupal is built to encourage and support the semantic markup (which comes out-of-box in Drupal 8 now).

One can realize that the improvements are meant for both the visitor and administrator in the:

  • Color contrast and intensity
  • Drag and Drop functionality
  • Adding skip navigation to core themes
  • Image handling
  • Form labeling
  • Search engine form and presentation
  • Removing duplicate or null tags
  • Accessibility for Developers
Modules For Accessibility

Following are some of the Drupal modules which will assist you in keeping up with the accessibility standards. 

  1. Automatic Alt text
    The basic principle at work here is the idea of easy perceivability. Any and every information should be, thus, presented in such a way that is easily perceivable to the user. It is required for any non-text information like images and video to describe the content in the form of text for the screen readers to read it. 



    The Automatic Alt text module automatically generates an alternative text for images when no alt text has been provided by the user. This module works great for the websites and portals with user-generated content where the users may even not be aware of the purpose and importance of the Alternative text. 

    It describes the content of the image in one sentence but it doesn’t provide face recognition. 
     
  2. Block ARIA Landmark Roles
    Inspired by Block Class, Block ARAI Landmark Roles adds additional elements to the block configuration forms that allow users to assign a ARIA landmark role to a block.
     
  3. CKEditor Abbreviation
    The CKEditor Abbreviation module adds a button to CKEditor which helps in inserting and editing abbreviations in a given text. If an existing abbr tag is selected, the context menu also contains a link to edit the abbreviation.

    Abbr tag defines the abbreviation or an acronym in the content. Marking up abbreviations can give useful information to browsers, translation systems, and help boost search-engines.
     
  4. CKEditor Accessibility Checker
    The CKEditor Accessibility Checker module enables the Accessibility Checker plugin in your WYSIWYG editor. A plugin, the module lets you inspect the accessibility level of content created and immediately solve any accessibility issues that are found.
     
  5. High Contrast
    On April 13, 2011, Joseph Dolson published an article "Web Accessibility: 10 Common Developer Mistakes" stating the most common mistakes related to web accessibility and quoted that most of the issues have "more to do with a failure to understand what constitutes accessible content than with a failure to understand the technology"

    In most of the surveys, poor contrast level is often cited as the most commonly overlooked feature by the developers.

    High Contrast module, provides a quick solution to allow the user to switch between the active theme and a high contrast version of it helping them pull out of the problem.

  6. htmLawed
    According to the "Ten Common Accessibility Problems" an article by Roger Hudson, failure to use HTML header elements appropriately is one of the key accessibility issues. 

    The htmLawed module utilizes the htmLawed PHP library to limit and filter HTML for consistency with site administrator policy and standards and for security. Use of the htmLawed library allows for highly customizable control of HTML markup.

  7. Style Switcher
    The Style Switcher module takes the fuss out of creating themes or building sites with alternate stylesheets. Most of the accessibility issues have been confronted at the theming level. With this module, themers can provide a theme with alternate stylesheets. Site builder can add other alternate stylesheets right in the admin section to bring it under the right guidelines of accessibility. Allowing special styling of some part of the site, the module presents all those styles as a block with links. So any site user is able to choose the style of the site he/she prefers.

  8. Text Resize
    The handiest feature giving the end users just the right autonomy to resize the text as per their comfort of the eyesight. The Text Resize module provides the end-users with a block that can be used to quickly change the font size of text on your Drupal site. 

    It includes two buttons that can increase and decrease the size of the printed text on the page.

  9. Accessibility
    A module for the developer, Accessibility module gives you a list of available Accessibility tests, (most of which are) aligned with one or more guidelines like WCAG 2.0 or Section 508. 

    It immediately informs the site maintainer about the missing an “alt” attribute in an image, or if the headers are used appropriately. Further, each test can be customized to fit your site’s specific challenges, and customize messages users see for each test so that you can provide tips on fixing accessibility problems within the context of your site’s editing environment.

Drupal 8 Features for Accessibility 

Other than the modules that can assist you to overcome web compatibility issues, here is a list of top Drupal 8 features for easier web accessibility. 

  1. Semantics in the Core
    When an assistive device scans a web page for information, it extracts the data about the Document Object Model (DOM), or the HTML structure of the page. No further information is read by the screen reader.

    Often these assistive devices only allow a user to select to read the headings on the page or only the links. It prioritizes according to the hierarchy in which the headings and links are presented making browsing easier for users of assistive devices. 

    Drupal 8 is based on HTML5. Presenting new and better semantic components HTML5 is, in fact, one of five major initiatives outlined in Drupal 8 development. It allows theme developers to control where to use the new semantic elements and opt out entirely if they so choose. 

    When we compose semantically correct HTML, we’re telling the browser and the assistive technology what type of content it is managing with and how that information relates to other content. By doing this, assistive technology is all the more effortlessly ready to carry out its activity since it has a structure that it can work with.
     
  2. Aural Alerts
    Often page updates are expressed visually through color changes and animations. But listening to a site is a very different experience from seeing it, therefore, Drupal provides a method called “Drupal.announce()”. This helps make page updates obvious in a non-visual manner. This method creates an aria-live element on the page.

    This also lets the user know of any alert box appearing along with providing instructions to screen reader users about the tone as well. Text attached to the page is read by the assistive technologies. Drupal.announce accepts a string to be read by an audio UA. 
     
  3. Controlled Tab Order
    The accessibility issues also crop when a user uses different mediums while navigating the web. Not every user uses a mouse to navigate the website. The TabbingManager, in Drupal, is an awesome medium to direct both non-visual and non-mouse users to access the prime elements on the page in a logical order. It, thus, permits more control when exploring complex UIs.

    The tabbing manager helps in defining explicit tab order. It also allows elements besides links and form to receive keyboard focus. Without breaking the tab order it places the elements in a logical navigation flow as if it were a link on the page.
     
  4. Accessible Inline Form Errors
    It is important to provide the necessary feedback to users about the results of their form submission. Both the times when successful and when not.  This incorporates an in-line feedback that is typically provided after form submission.

    Notifications have to be concise and clear. The error message, in particular, should be easy to understand and provide simple instructions on how the situation can be resolved. And in case of successful submission, a message to confirm would do. 

    Drupal forms have turned out to be impressively more open to the expansion of available inline form errors. It is now easier for everyone to identify what errors they might have made when filling in a web form.

  5. Fieldsets
    Fieldset labels are utilized as systems for gathering related segments of forms. Effectively implemented label gives a visual diagram around the shape field gathering. This can, to a great degree, be valuable for individuals with cognitive disabilities as it viably breaks the form into subsections, making it easier to understand.

    Drupal presently uses fieldsets for radios & checkboxes in the Form API. This helps towards additionally upgrading forms in Drupal.

Conclusion

However good the features Drupal offers, in the end, it is up to the organizations to strategize and build the websites and applications around the web accessibility.   

We ensure that our different teams and interaction work together in order to make the Web more accessible to people with disabilities. At OpenSense Labs we design and develop the web technologies to ensure universal accessibility. Connect with us at hello@opensenselabs.com to make the web a better place. 

blog banner blog image Blog Type Articles Is it a good read ? On
Categories: Drupal CMS

Agiledrop.com Blog: AGILEDROP: A Short Introduction to Headless Drupal

Drupal.org aggregator - Fri, 05/18/2018 - 02:39
It is a well-known fact by now that Drupal is a very flexible and an extremely agile CMS. Even though it is arguably the most customizable CMS of all, the awesome people behind Drupal aren’t just resting on their laurels due to this. If you’ve been keeping up with any Drupal news or in fact CMS news at all, you might have heard of the term ‘headless’. While the term might sound very odd, it defines something really awesome. So let’s take a look at what headless Drupal is in this post and why it’s so great.   Difference Between Headless and ‘Normal’ Drupal When you run a default Drupal… READ MORE
Categories: Drupal CMS

Valuebound: GraphQL: A Beginners Guide

Drupal.org aggregator - Fri, 05/18/2018 - 00:08

GraphQL is the new frontier in Application Programming Interfaces (APIs) - a query language for your API and a set of server-side runtimes (implemented in various backend languages) for executing queries. Further, it isn't tied to any specific database or storage engine; instead backed by your existing code and data.

If you are a Javascript developer then there are better chances that you have heard of it. But you are not sure about it. To help you out, I have written this blog post so that you can easily figure out what exactly is GraphQL and how to make most of it. When you will complete this GraphQL blog cum tutorial, you will be able to answer:

  • What is GraphQL

Categories: Drupal CMS

강남역휴게텔 강남마사지<ØPSs 9 .Com몸매[오피쓰]강남역키스방 강남역op 강남건마』강남오피『강남역오피

Drupal News - Thu, 05/17/2018 - 20:31

강남역휴게텔 강남마사지<ØPSs 9 .Com몸매[오피쓰]강남역키스방 강남역op 강남건마』강남오피『강남역오피

Categories: Drupal CMS

Dries Buytaert: Working toward a JavaScript-driven Drupal administration interface

Drupal.org aggregator - Thu, 05/17/2018 - 10:42

As web applications have evolved from static pages to application-like experiences, end-users' expectations of websites have become increasingly demanding. JavaScript, partnered with effective user-experience design, enable the seamless, instantaneous interactions that users now expect.

The Drupal project anticipated this trend years ago and we have been investing heavily in making Drupal API-first ever since. As a result, more organizations are building decoupled applications served by Drupal. This approach allows organizations to use modern JavaScript frameworks, while still benefiting from Drupal's powerful content management capabilities, such as content modeling, content editing, content workflows, access rights and more.

While organizations use JavaScript frameworks to create visitor-facing experiences with Drupal as a backend, Drupal's own administration interface has not yet embraced a modern JavaScript framework. There is high demand for Drupal to provide a cutting-edge experience for its own users: the site's content creators and administrators.

At DrupalCon Vienna, we decided to start working on an alternative Drupal administrative UI using React. Sally Young, one of the initiative coordinators, recently posted a fantastic update on our progress since DrupalCon Vienna.

Next steps for Drupal's API-first and JavaScript work

While we made great progress improving Drupal's web services support and improving our JavaScript support, I wanted to use this blog post to compile an overview of some of our most important next steps:

1. Stabilize the JSON API module

JSON API is a widely-used specification for building web service APIs in JSON. We are working towards adding JSON API to Drupal core as it makes it easier for JavaScript developers to access the content and configuration managed in Drupal. There is a central plan issue that lists all of the blockers for getting JSON API into core (comprehensive test coverage, specification compliance, and more). We're working hard to get all of them out of the way!

2. Improve our JavaScript testing infrastructure

Drupal's testing infrastructure is excellent for testing PHP code, but until now, it was not optimized for testing JavaScript code. As we expect the amount of JavaScript code in Drupal's administrative interface to dramatically increase in the years to come, we have been working on improving our JavaScript testing infrastructure using Headless Chrome and Nightwatch.js. Nightwatch.js has already been committed for inclusion in Drupal 8.6, however some additional work remains to create a robust JavaScript-to-Drupal bridge. Completing this work is essential to ensure we do not introduce regressions, as we proceed with the other items in our roadmap.

3. Create designs for a React-based administration UI

Having a JavaScript-based UI also allows us to rethink how we can improve Drupal's administration experience. For example, Drupal's current content modeling UI requires a lot of clicking, saving and reloading. By using React, we can reimagine our user experience to be more application-like, intuitive and faster to use. We still need a lot of help to design and test different parts of the Drupal administration UI.

4. Allow contributed modules to use React or Twig

We want to enable modules to provide either a React-powered administration UI or a traditional Twig-based administration UI. We are working on an architecture that can support both at the same time. This will allow us to introduce JavaScript-based UIs incrementally instead of enforcing a massive paradigm shift all at once. It will also provide some level of optionality for modules that want to opt-out from supporting the new administration UI.

5. Implement missing web service APIs

While we have been working for years to add web service APIs to many parts of Drupal, not all of Drupal has web services support yet. For our React-based administration UI prototype we decided to implement a new permission screen (i.e. https://example.com/admin/people/permissions). We learned that Drupal lacked the necessary web service APIs to retrieve a list of all available permissions in the system. This led us to create a support module that provides such an API. This support module is a temporary solution that helped us make progress on our prototype; the goal is to integrate these APIs into core itself. If you want to contribute to Drupal, creating web service APIs for various Drupal subsystems might be a great way to get involved.

6. Make the React UI extensible and configurable

One of the benefits of Drupal's current administration UI is that it can be configured (e.g. you can modify the content listing because it has been built using the Views module) and extended by contributed modules (e.g. the Address module adds a UI that is optimized for editing address information). We want to make sure that in the new React UI we keep enough flexibility for site builders to customize the administrative UI.

All decoupled builds benefit

All decoupled applications will benefit from the six steps above; they're important for building a fully-decoupled administration UI, and for building visitor-facing decoupled applications.

Useful for decoupling of visitor-facing front-ends Useful for decoupling of the administration backend 1. Stabilize the JSON API module ✔ ✔ 2. Improve our JavaScript testing infrastructure ✔ ✔ 3. Create designs for a React-based administration UI ✔ 4. Allow contributed modules to use React or Twig ✔ ✔ 5. Implement missing web service APIs ✔ ✔ 6. Make the React UI extensible and configurable ✔ Conclusion

Over the past three years we've been making steady progress to move Drupal to a more API-first and JavaScript centric world. It's important work given a variety of market trends in our industry. While we have made excellent progress, there are more challenges to be solved. We hope you like our next steps, and we welcome you to get involved with them. Thank you to everyone who has contributed so far!

Special thanks to Matt Grill and Lauri Eskola for co-authoring this blog post and to Wim Leers, Gabe Sullice, Angela Byron, and Preston So for their feedback during the writing process.

Categories: Drupal CMS

Wim Leers: Two big milestones in API-First Drupal

Drupal.org aggregator - Thu, 05/17/2018 - 06:12

Two big “maintainability” milestones have been hit in the past few days:

1. rest.module now is in a maintainable state

For the first time ever, the issue tracker for the rest.module Drupal core component fits on a single page: https://www.drupal.org/project/issues/drupal?component=rest.module. 48 46 open issues, of which several are close to RTBC, so that number will likely still go down. Breakdown:

  • 19 of those 48 are feature requests.
  • 6 are “plan” issues.
  • At least 10 issues are related to “REST views” — for which we are only fixing critical bugs.
  • And 12 are postponed — blocked on other subsystems usually. (There is overlap among those breakdown bullets.)

Finally the REST module is getting to a place where it is maintainable and we’re not extinguishing whatever the current fire is! It’s been a long road, but we’re getting there!

2. Instilling API-First responsibility

Two days ago, #2910883: Move all entity type REST tests to the providing modules landed, which is a huge milestone in making Drupal 8 truly API-First: every module now owns its REST test coverage, which conveys the fact that every component/module is responsible for its own REST API-compatibility, rather than all responsibility lying in the rest.module component!

This is largely made possible by \Drupal\Tests\rest\Functional\EntityResource\EntityResourceTestBase, which is a base test class that each entity type should subclass to test how it behaves when exposed via REST. Every entity type in core has tests based on it, but contrib and custom entity types are encouraged to do the same!

API-First ecosystem

But the rest.module being stable is not the only thing that matters — it’s a key part, but not the only part of API-First Drupal. The remaining challenges lie elsewhere in Drupal: the issues tagged API-First Initiative are now mainly in the modules providing field types, entity types, Entity/Field API and Configuration API.

The good thing is that the fixes to any of those always help the entire API-First ecosystem:

If you want to follow along a bit more closely, or want the news right as it happens, follow REST: top priorities for Drupal 8.6.x!

Categories: Drupal CMS

AddWeb Solution: Drupal 8, Driesnote And A Lot More From Our Recent Visit To DrupalCon, Nashville 2018

Drupal.org aggregator - Thu, 05/17/2018 - 04:01

“When the bond is strong, relationships lasts long!” said no one in specific because some facts are too true to be cited in words. But why are we talking about this in here and not Drupal? Well, because it is about Drupal; to be precise, our relationship with Drupal!


We realised this quite recently while on the way to our 10th Drupal event, ever since our inception in the year 2012. In these 5 years, we’ve attended 9 Drupal events, sponsored 5 of them and volunteered in 8 of them. Then how could we miss this one in Nashville?! And here we’re, back from the DrupalCon, Nashville 2018, with a bagful of memories and experiences to share. So, if you weren’t there, read on to discover all that was there!

 

Quick Overview of the Event Timeline

The five-day event, that DrupalCon was, had been traditionally divided into three major sections - Summits, Sessions and Contribution. Business Summit, Sessions & Contribution Day.
 

  • The opening day had summits and training sessions, along with the opening reception.
  • Day two had programming summits and sessions planned, along with the much-anticipated session of Dries’ Keynote. 
  • The third and fourth day was when multiple sessions were held followed by special events in the evening and trivia nights. 
  • The closing day of the event was all about Drupal contributions, just as it is at any other Drupal event.

But what made this particular event stand out for me, from the previous ones, were the booths of both - Joomla and WordPress. Now that’s how we see the competitors coming together for the sake of saving open source community from their counterparts. 

 

Major Takeaway from the Event

 

1) Business Summit:
As a regular attendee of Drupal events, we knew the significance of the paid business summits held on the first day of the event. So, we had priorly registered for the same. After attending them, we realised that the core of these summits lied in two major things. One, that Drupal alone was not enough and second, the need to promote that Drupal is not merely a CMS platform for building websites but a wide and highly ‘Ambitious Digital Experience’ in itself. 

 

2) Dries Keynote:
Amidst the commencement of several sessions, the second day at DrupalCon, Nashville 2018 most of us waited for that one crucial session; #Driesnote - the keynote by Dries Buytaert, founder of Drupal. It revolved around three prime agendas - Drupal 8 update, Growing adoption of Drupal and Fostering the Drupal Community. He confirmed the fact that how Drupal is capable of doing everything digital and called it to be the most ‘Ambitious Digital Experience’ of our time. Plus, the decoupled Drupal had opened up the opportunity to get the best of Drupal and collate it with any other user-friendly front-end framework. 

, ,

He also declared to take Drupal 8 in the right directions it has become necessary to take up marketing techniques for promotion. And hence, the Drupal Association has launched the ‘Promote Drupal Initiative’ for raising $ 100,000 of which they’ve already bagged $ 54,000 so far. 

, ,

Many such significant stuff was shared in the Dries Keynote and to watch its entire recording click here.
 

3) Sessions:
The third and fourth day consisted of multiple sessions running parallelly. We attended quite a lot of sessions and re-bonded with old Drupal friends over a cup of coffee. ‘Delegating Work: A Zippy Guide to Releasing Your Death Grip on Control’ by Hannah Del Porto from Brick Factory, ‘Debugging Effectively’ by Colin O’Dell from Unleashed Technology and ‘Beyond Websites: Drupal as Data Pipeline for Digital Signage’ by Mike Madison from Acquia - are few of the sessions that we thoroughly enjoyed.

 

And of course, on both the nights had bumper social events to end the day, along with our fun fellow-Drupalers. Since we met many old friends from Drupal community, we made quite some memories with those fellas! 

 

DrupalCon, Nashville 2018 had one more day to go to conclude, which was the Contribution Day. But unfortunately, our already planned schedule did not permit us to stay back and be a part of the concluding day. One does feel this loss, especially when they’ve been a contributor in past and know the importance of being a part of such a day. But anyways, the experience that we earned in the previous 4 days was quite enriching. It has opened up a lot of hope and opportunities for people like us, who are hardcore Drupal enthusiasts! 
 

Categories: Drupal CMS

OpenSense Labs: Cognitive Search: A True Genius

Drupal.org aggregator - Thu, 05/17/2018 - 03:51
Cognitive Search: A True Genius Shankar Thu, 05/17/2018 - 16:21

A black spot on a white sheet of paper can be found with a quick glance. What if you have to search for a black dot with certain radius among the cluster of dots on a large sheet of white paper. Such is the need of the hour where you have to intelligently search for a piece of information from a cornucopia of data in your system. Cognitive search is revolutionizing the process of retrieving the files.

There is a diminishing trend of manually searching for a document stored somewhere in your system. Large enterprises are the ones who are showing their dire inclination towards this disrupting technology.

Before we move on to how large organizations are looking to extract the merits of cognitive search, let’s understand what it is.

What is Cognitive Search anyway? Source: Forrester

Forrester, research and advisory firm, defined cognitive search and knowledge discovery as “the new generation of enterprise search solutions that employ Artificial Intelligence (AI) technologies such as natural language processing (NLP) and machine learning to ingest, understand, organize, and query digital content from multiple data sources”.

That is the best definition one can give to describe a cognitive information system. In short, it can extract the most relevant piece of information from large sets of data in their work context.

Platforms enabled with cognitive computing abilities can interact with the users in a natural manner. With experience, they can learn user preferences and behavioral patterns. This helps them establish links between related data from both internal and external sources.

How Beneficial is Cognitive Search?

So now we have an understanding of what it is and how it works. How can it turn out to be a great asset?

Tapping into large sets of data sources
  • To fetch the best piece of data out of voluminous sources of data can seem tiring. Cognitive search can work wonders in extracting the most valuable piece of information from large sets of intricate and varied data sources.
  • Whether it is internal or external, it peeks inside everything that is available in your entire enterprise. It also touches searches through structured and unstructured data and lends deep and insightful search capabilities to your organization. This helps in making better decisions in the business.
Providing relevant knowledge
  • It comes packed with a lot of functionalities that leads us to find meaningful and relevant information. Doing a search across the enterprise data may seem daunting, but it does that with ease. 
  • Using NLP, it can gauge and get to know the scheme of things vis-à-vis text content like email, blog, report, research work, and document and also media content like meeting videos and its audio recordings.
  • Once it is done with the understanding part, machine learning algorithms help it do deeper research and come up with insightful information. Company dictionaries and ontologies help with understanding the terminologies and their relationships.
Enhancing search results

Machine learning algorithms help in providing better search results.

  • To help digital marketers predict if the advertisements designed by them is going to work or not, a supervised learning algorithm called Classification By Example can help. For instance, it can help them judge how people reacted to particular ad campaigns in the past to help them come up with something better this time around.
  • Marketers can ascertain a particular group of people and target them for their upcoming marketing campaigns. Clustering, an unsupervised learning algorithm, helps them in the process.
  • To understand the relationship between input and output variables and do the prediction, regression algorithm comes handy. For instance, it can be used to build applications that determine the road traffic based on the present weather situations. Also, based on various economic factors, it can help predict stock prices.
  • Similarity algorithm can help you appoint an expert team for a business project based on their skills and competency levels in the previous projects.
  • Personalized recommendation based on the interests of the users can be done using Recommendation algorithm. Based on the previous history and usage patterns, it can recommend content which a user would most likely want to consume.
How did Cognitive Search come into existence?

It is a valid question. One would ponder whether this was developed in a short span of time or did it involve some amazing technologies behind the scenes. It was, of course, a very long roadmap which had to be traveled to reach this tech marvel.

By now, you have already noticed that, as the definition mentions it, machine learning and artificial intelligence are the frontrunners in leading up to this masterpiece.

Almost all the search methods that exist today are some way or the other related to Google. Leverage Marketing came up with an interesting study. When Google first created a search engine in 1996, there were already several others in place. But Google’s search was different. While other search engines delivered search results only if they could find an exact keyword in the search box, Google had a different algorithm.

Google gave a value to certain keywords. So, keyword frequency determined the search results which led to irrelevancy in terms of content that it showed on top. So, in the 2000s, Google devised several improved search techniques. It, finally, incorporated machine learning into their search engine in 2015. That means Google would not just read what you have written in the search box but interpret what we really mean when we type that.

By developing its cognitive learning search method, Google’s search algorithm could understand keywords and provide rankings, past search results, browser history, user location and other such parameters. This was their major leaning towards artificial intelligence.

This is how Google standardized the internal search. Office network developers contemplated developing search methods for their business needs. Their pursuit of search method development was based on Google cognitive search and machine learning techniques. That is how cognitive search came into existence and did a splendid job in improving the search experience.

Challenges that lie ahead...

Three-pronged approaches to look at the challenges that it might encounter and how to tackle them:

  • Expertise: Shortage of personnel required to develop and maintain this budding technology can be one of the main challenges that have to be overcome.
  • AI implementation:
    • Supervised machine learning helps in recognizing user patterns over time. Providing sufficient labeled training datasets from which these systems can learn is a huge challenge.
    • Unsupervised machine learning identifies existing user patterns. Systems with this capability face a major hurdle. Sufficient data with intervention for proper guidance and interpretation to train the system is a challenge.
  • Goal formulation: There has to be clear goals and outcomes formulated. For instance, in reinforcement learning, systems perform several attempts and learn from the outcome of the trials to take better decisions. The biggest task is to provide clear-cut goals and enough practice to the systems in a challenging environment.
How can Cognitive Search improve Enterprise search?

Large enterprises are having this question as this will make life easier. We have seen that relevancy, meaningfulness, and completeness are required to get the better search results. But they should also have the enterprise qualities.

  • Understanding data: It should understand any data that an enterprise would fling at it. It should browse through the plenitude of data sources, understand both structured and unstructured data to come up with better enterprise search results.
  • Scalability: It should be able to scale with the ever-increasing density of enterprise data. Large enterprises have hundreds and thousands of applications with several bytes of data stored in the cloud or on-premises. Cognitive search solutions should deliver better quality search results.
  • Manual fine-tuning: It uses natural language processing and machine learning algorithms to understand data, do the prediction of user’s search patterns, improve the relevance of search results and automatically tune them over a period of time. Cognitive search solutions should provide tools for administrators to manually tune search results. After all, AI is not perfect.
  • Building search applications: It should help developers to develop search applications. Instead of incorporating simple text box search methods, business enterprises should be able to build an application that works like virtual digital assistants such as Google Now and Siri.
Use Cases

Sinequa, which provides cognitive search and analytics platform for over 2000 organizations, has a great cognitive computing solution. As a matter of fact, it is recognized as the leader in the Gartner 2017 Magic Quadrant for Insight Engines and the Forrester Wave™: Cognitive Search and Knowledge Discovery Solutions Q2 2017.

Sinequa partnered with content platform firm Box to enhance cross-platform enterprise search and analytics.

  • The Partnership between Sinequa and Box helped in leveraging the aggregation of human-generated data in an enterprise, exploring information, and apply them in a business decision makings. This integration not only lets customers mine their Box content but also allows to search across other organizations’ repositories. This increases the value of the information searched by linking them with related content across different sources which was previously affected by standalone silos.
  • Sinequa offers more than 150 connectors to its various data sources. And with this partnership, the relevancy of search results for the enterprise data corpus has only got improved. Individuals can do the enterprise search across platforms for contextually relevant search results across platforms from a single interface. Hence this shows that their partnership has promoted the enterprise cloud-first philosophy that is becoming the norm of the industries.
  • From the angle of information management, the partnership is significant with both the companies having a huge presence among the large enterprise clients. Box provides the user-friendly cloud file sharing and sync functionalities. It decided to embed enterprise governance features for the content by building tools for reports, access controls, workflow, securities policies etc. Partnering Sinequa further strengthened the voluminous knowledge base content of Box by allowing it to maintain control settings on data while the content is being searched and assessed on Sinequa.
  • Native security and permissions settings of connected repositories are preserved to a great extent with this integration. Users can search the Box environment without bothering the native control settings on the respective platforms where the information is located. That means Sinequa search interface allows users to endlessly search for the content and the granular security and permissions settings of the Box remain intact.
  • 360-degree view of the customer is attained through this partnership. Sinequa’s natural language processing and machine capabilities, powered by Apache Spark, and its more than 150 connectors to content sources let it form compound results of the enterprise search for detailed understanding by humans. If a user is searching for a specific subject in Box, he or she can view most contextually relevant results from email, Salesforce, on-premise file shares and other such sources. This mitigates the time and efforts required to find the right actionable insight. Thus, this improves yields from certain initiatives like gaining a 360-degree view of the customer.

Hewlett Packard Enterprise (HPE), multinational enterprise information technology company, has its own cognitive computing solution. Delivering natural language based systems to meet the ever-increasing needs of users, providing answers that are precise, relevant and trustworthy is important. HPE IDOL Natural Language Question Answering is one such solution that comes with natural language processing enables features for large enterprises.

  • Accurate response: IDOL Answer Bank feature helps in providing accurate and curate responses to the predefined reference questions. For instance, It can be programmed to give you instructions on configuring a smartphone.
  • Fact-based answers: IDOL Fact Bank feature helps in providing answers based on proper facts. For instance, it can give the stock price details through structured data sources. Or it can provide company's annual report through unstructured data sources.
  • Text-based overview: IDOL Passage Extract feature helps in giving you an overview. For instance, you can see the latest financial services and their rules and regulations or the news events.
  • Assessment questions and data sources: IDOL Answer Server feature assesses the questions and various content sources to provide the best possible answer.
Cognitive Search solution providers Source: Forrester

Forrester, in their research study for Cognitive Search and Knowledge Discovery Solutions, compiled a list of high performing vendor solutions.

  • HPE IDOL: This solution is built to analyze everything that is searched using it.  With HPE’s intentions apparently not restricted to unstructured text, its cognitive computing platform also does a deep analysis of speech, images, and video. It includes capabilities like gauging a question and optimally answering that can help developers in developing chatbots or virtual conversational assistants.
  • Coveo: Its major focus lies in contextual and relevant search results. It uses advanced analytics and machine learning algorithms to return the most contextual results for the queries made by the user. It has also integrated with Salesforce using its cloud-based model.
  • Sinequa: It gave importance to natural language processing for the better understanding of search queries and relevance of content discovery. Moreover, incorporating Apache spark, its analytics platform has got a further boost.
  • Attivio: It is suitable for most complex search applications. It offers knowledge management, anti-money laundering, customer 360, and other such features. Developers can use the structured query language to search the index.
  • IBM: It has leveraged the utilities of Watson Explorer by incorporating it in IBM’s Watson Developer Cloud. Watson explorer can be deployed in the cloud or on-premises. It is very helpful for customer 360 search applications, enterprise search, and claims processing.
  • Lucidworks: Their solution called Fusion has fantastic enterprise search features, 40 prebuilt connectors to applications like Salesforce and Slack, better administration tool, and out-of-the-box machine learning algorithms to come up with better knowledge discovery.
Summary

Cognitive search has emerged as the default standard for enterprise search. By analyzing a search query, using its AI capabilities, to give most relevant and contextual output, it has led to a volte-face in the thinking of large enterprises.

Using internal and external content sources to provide the most relevant knowledge and enhance search results, it has been a huge helping aid in the smart cross-platform search.

Google’s search engine integrated it in their algorithms to understand user’s behavioral patterns and show results. This is how cognitive search came into existence in the enterprise world.

It has to break through the straitjackets of few challenges to come out as an improved technology in the coming years.

With a deep understanding of data, scalability with challenges and manual tuning by administrators etc. it can improve enterprise search.

Leaders in cognitive search solution providers like Sinequa, HPE, Attivio among others have amazing platforms where customers can reap the benefits.

Opensense Labs love this tech genius. Contact us at hello@opensenselabs.com to understand more about this remarkable piece of technology.

blog banner blog image Blog Type Articles Is it a good read ? On
Categories: Drupal CMS

OpenSense Labs: Drupal Lays The Foundation For Every Enterprise

Drupal.org aggregator - Thu, 05/17/2018 - 03:33
Drupal Lays The Foundation For Every Enterprise Akshita Thu, 05/17/2018 - 16:03

As an entrepreneur, you need a reliable, secure, and flexible platform to build your business on. Not only scalable it should be future-proof to sustain the content without hampering the performance of your website.

Leaders worldwide are using the power of open source to innovate their platforms and improve their business statistics. Selecting the right technology means working on the solutions that will support an active and growing business over the long-haul. Therefore, it requires careful consideration and foresight, when choosing the CMS for your enterprise.

Fulfilling the business requirements as well meeting the technical aspects, no wonder why Drupal is used 7 times the number of top sites as its next two competitors combined (BuiltWith.com)

Let's simplify the word enterprise 

An oft-repeated word in the world of business, “enterprise” covers organizations of all shapes and sizes. All such businesses cover individual organizational units with a distinct need to build their firm with a unique identity and reputation of its own kind.

Even though the meaning may vary considerably, when it comes to web development and technology, an enterprise website requires a particular set of abilities such as, accommodating a larger and varied content base, handle traffic, microsites, and of course provide tight security.

Who uses Drupal CMS for their enterprise?

Drupal is fostering billion dollar businesses under the aegis of its brand, a few well known are:

  • Puma
  • Tesla Motors
  • Grammy
  • Pfizer
  • Timex
  • The Economist
  • Whole Food
  • Honda (Brazil)
  • Johnson and Johnson
  • Shoretel
  • LOreal (India)

And a million more add to Drupal's credentials. Acknowledging that enterprise solutions often demand complex requirements, Drupal has it sorted for you.

Why Drupal For Your Enterprise?

Covering the enterprises using Drupal, below are some of the solid technical reasons which makes it an excellent candidate for any enterprise of any scale or vertical.

It is Easier To Build

As an online platform on which your business will be built, Drupal lets your need dictate the terms.

Providing easy-to-set-up solutions with distribution, the development time is cut by half.

Enabling companies to deploy core features and functionality rapidly, it allows easier customization as per their business requirements.

It is easier to choose the layout and themes for your Drupal website, as themes and appearances are just a click away. With features simplified to make non-developers comfortable around Drupal, the editorial capabilities have been made fluent and easy.

Drupal is Secure

Used by hundreds and thousands of websites, Drupal’s core, codes, and passwords are repeatedly encrypted and hashed to strengthen the life of your website. Supported by experts, and a large and continuously growing community, it has a dedicated security team to patch any probable security violation.

Frequent Updates

In case of any security update, the community ensures that you get notified the day patches are released. Security release windows are released every Wednesday for contributed projects, and the third Wednesday of every month for core, usually, for a fixed period of time.

Even though the release window does not necessarily mean that a release will actually be rolled out on that date, it exists for the site administrators to know in advance the days they should look out for a possible security release.

Security Modules

In addition to the proven security of core, numerous contributed modules can strengthen the security of your website. These modules extend the security by adding password complexity, login, and session controls, increasing cryptographic strength, and improving Drupal' logging and auditing functions. For a detailed research on security-related modules, check the list of must-have security modules.

Security Team and Working Group

The security team works closely with the Drupal Security Working Group (SecWG), comprising dozens of experts from around the world to validate and respond to security issues, aim being - to ensure that core and contributed project system provides world-class security and provide security practices to community developers.

Its core is designed to prevent any possible security breach. Vulnerabilities in the core are coordinated with branch maintainers and individual project maintainers respectively.

Drupal has proven to be a secure solution for enterprise needs and is used by top-tier enterprises.

Drupal is Scalable and Flexible

Another salient feature that makes it popular among businesses. When concerning web technology, enterprises require the ability to handle considerable traffic throughout - especially if it is a media and entertainment site.

It is built with core web technologies which have stood both the test of time and traffic spike.

Drupal’s ability to make the framework extensible via its modules and distributions is at the heart of much of its success. While it has enabled the core to sustain the bulk of the content, its way to streamline the demands of new industries by allowing them to address their needs in the form of custom modules and distributions has given it more satisfactory customer reviews.  

One matter that addresses the worries of enterprises is the cost of maintenance. Many government and non-government organizations have migrated to Drupal to avoid the licensing and maintenance cost of the proprietary systems.  

Excels at Responsive Development and Quick Loading Time

According to Google’s official statement, more than 50 percent of search queries globally now come from mobile devices. People want to be able to find answers as fast as possible and various studies have proved that people really do care about the loading speed.

And that is why a recent Google release says that page speed will be a ranking factor for mobile searches from July 2018. It’s high time that you take the combination of performance and mobile responsiveness as a serious factor for improving visibility and revenue from the web.

Drupal 8 is built for a mobile-first world. Everything in version 8 supports mobile responsive design. Its admin and default designs are responsive for both developers and content authors providing a responsive front-end theming framework.

Increasing the loading speed of your web page opens numerous doors for business. And when users can view your Drupal website the same way on a desktop and mobile devices you cannot be having second thoughts.

Mobile responsiveness helps you deliver the optimal mobile visitor experience. It supports the best responsive design practices and ensures that your users get a coherent experience anytime and every time.   

Supports Multi-site Functionalities

Given that your organization is running more than one site, the maintenance and management would require big bucks and time. But with the multi-site feature you can share one single Drupal installation (which includes core code, contributed modules, and themes) among other several sites.

Enterprises, this way, can handle complex requirements from a single Drupal installation which implies that less time and resources are required to build your network of websites.

One can manage any number of sites across their organization or brand, crossing geographies and campaigns from a single platform that allows swift and uncomplicated site creation and deployment.

This is particularly useful for managing the core code since each upgrade only needs to be done once. While each site will have its own database and configuration settings to manage their own content, the sites would be sharing one code base and web document root.

The multisite feature can be used for sites with same features and functionalities. But if you have different functionalities it is better to test each site independently.

For Every Enterprise

Realizing the needs of every industry is different, Drupal has something for everyone.

Media and entertainment

Editing and Scalability

Media and entertainment websites worldwide use Drupal for their online platforms for seamless editing and scalability. The list of over one million organizations includes The Economist, ET Online, MTV(UK), The Grammy, The Emmy, The Weather.com, The Beatles, and Warner Bros Music.

Scalability is all about quantity - how many requests and amount of information you can handle at any given time without breaking or bending. Supporting some of the world’s most visited sites, Drupal is the other name of scalability.

Allowing easy content editing and management, which media and entertainment websites look for, it provides it all with WYSIWYG and CKEditor without another weighty feature.

SaaS

Community solutions:

SaaS enterprises are using Drupal to build the platform for their product as well as a community to engage with the clients and followers. It is easy to develop the platforms and then keep on adding the features in the later phase.

Given that community platforms are one of the key needs of SaaS organizations which allow the domain for the prospects and help the product and community to grow alike, distributions like OpenSocial offer great help.

Zoho is one of the SaaS products using Drupal for its community platforms.

E-commerce

E-commerce functionalities

Providing easy payment gateway to conduct online transactions, Drupal ensures the customer information passes seamlessly and remains safe.

Its core commerce payment module and distributions (Drupal commerce and Commerce KickStart) support the payment API, for a smooth payment collection procedure, through the check out form.

Supporting Paypal Express Checkout and Paypal Credit along with Amazon Pay, it lets you reach a wider audience by letting your shoppers complete the payment and shipping information stored on their Amazon accounts.

Tour and travel

For a potential traveler, your site shouldn’t look like just-another-information-brochure on the web. The need for an end-to-end solution to integrate all the minute details (from hotel booking to landing back) has never been greater.  

Booking Engine:

Providing two of the best booking solutions for your website:

  • EasyBooking - Distribution
  • BAT - Module

A complete solution for your vacation portal, BAT allows you to build an exclusive booking engine for a better customer relationship management. And EasyBooking gives a set of options to your visitors to make room reservations, contact hotel administration, or just sign-up for the hotel’s newsletter to be aware of the special offers and discounts.

FMCG

Theming

A design which resonates with your brand, interests and engages with your visitors is what you should indulge your resources in developing.

It’s the psychological effect which drives the visitor to make a transaction or to explore provided possibilities throughout the interface. Every landing page matters.

Regardless of your showcased products, Drupal themes provide sound navigation throughout the categories and sections with in-built hero banners’ section and pop-ups which are definitely customizable.

Additional modules can be further used to build an industry-specific theme. In order to cope up with varied demands, it provides more than two thousand easy and free to use themes on the go.

Government and Non-Government

Cost and Security:

In 2012 when the Georgian government shifted to Drupal, the first reason to dump its previous CMS (Vignette) was its rising maintenance costs. 

Running a total of 65 state websites on two different versions of this proprietary system proved to be costly in the long run

Another decisive factor for government websites, uncompromised security is why government organizations are opting for Drupal. Around 150 governments are already powered by it. Just like the Georgian government, costs have been a significant factor affecting the choice of government and non-government agencies.  

Higher Education

Distributions:

To quickly build your higher education website, distributions provide an easy opportunity to build the website halving the development time and providing quick features. Opigno and OpenEDU are two of the distributions used widely by the higher-ed websites.

Drupal is most widely used CMS in the education sector no wonder why top international universities like the Harvard, Brown, Yale, Pennsylvania, and Columbia rely on it.

HealthCare and Life Sciences

Content and User access control:

It can conform to any workflow that can be programmed with just a few configurations available. You can identify different types of content such as text, images, comments, file attachments, and any other information on your website for easy content integration and management.

Drupal As an Enterprise Management System

The need for an intranet system cannot be emphasized enough. For your business to grow by leaps and bounds, it is necessary to establish clear communication within your organization.

As your business expands, the need for an intranet system which can help in storage and sharing of data increases. ECMS is different from the web content management system in the way that the former is specifically designed for enterprise websites and is more dynamic.

Drupal allows building ECMS in two ways, either by using its modules and features or with the third party configuration. Its integration capabilities help the website to serve as a central content management system integrated with other necessary advancements.

Drupal Is Easier To Manage

Drupal isn’t hard to use, but it can be hard to learn how to use. Even though it requires more technical experience it is capable of producing exceptionally advanced sites. There is a WYSIWYG editor and drag-and-drop functionality to ease out the process and help you start straight away.

The release of version 8 has made the platform easier to use even for non-developers(and it includes content authors). Managing your website is easy as the community platform provides you with necessary documentation and answers in case you get stuck.

Summary

Being one of the leading technologies in the market, Drupal gives your enterprise the features and flexibility to innovate as per your visitor behavior and preferences.

We’d love to hear your thoughts. To get in touch, drop a mail at hello@opensenselabs.com and let us know how we can enhance your statistics with Drupal.

blog banner blog image Drupal and enterprise Drupal Drupal 8 Drupal module Blog Type Articles Is it a good read ? On
Categories: Drupal CMS

Issue 339

TheWeeklyDrop - Thu, 05/17/2018 - 01:06
Issue 339 - May, 17th 2018
Categories: Drupal CMS

~Ö~pSs2。Net 광명오피고페이 오피쓰 ㈌광명휴게텔 광명풀싸롱㉬ ㋭광명건마명품와꾸 광명오피

Drupal News - Thu, 05/17/2018 - 00:01
~Ö~pSs2。Net 광명오피고페이 오피쓰 ㈌광명휴게텔 광명풀싸롱㉬ ㋭광명건마명품와꾸 광명오피
Categories: Drupal CMS

Promet Source: Does an Accessibility Badge make my site WCAG 2.0 Compliant?

Drupal.org aggregator - Wed, 05/16/2018 - 21:25
Accessibility badges are gaining attention.
Categories: Drupal CMS

주소: ⍥⒫ṩS 7 . 콤←강남오피 강남역op 강남건마이벤트←강남유흥 ((오피쓰))강남역오피}강남op 강남역안마 강남역키스방 강남할인 강남역밤문화 강남키스방찾아보기

Drupal News - Wed, 05/16/2018 - 20:15

주소: ⍥⒫ṩS 7 . 콤←강남오피 강남역op 강남건마이벤트←강남유흥 ((오피쓰))강남역오피}강남op 강남역안마 강남역키스방 강남할인 강남역밤문화 강남키스방찾아보기주소: ⍥⒫ṩS 7 . 콤←강남오피 강남역op 강남건마이벤트←강남유흥 ((오피쓰))강남역오피}강남op 강남역안마 강남역키스방 강남할인 강남역밤문화 강남키스방찾아보기주소: ⍥⒫ṩS 7 . 콤←강남오피 강남역op 강남건마이벤트←강남유흥 ((오피쓰))강남역오피}강남op 강남역안마 강남역키스방 강남할인 강남역밤문화 강남키스방찾아보기

Categories: Drupal CMS

건대예약~오피쓰~건대오피ȍƥsS 7닷컴 건대건마"건대역오피" 건대역OP ノ건대역건마ノ 건대OP 건대할인 ←건대이벤트 건대라인업

Drupal News - Wed, 05/16/2018 - 20:13

건대예약~오피쓰~건대오피ȍƥsS 7닷컴 건대건마"건대역오피" 건대역OP ノ건대역건마ノ 건대OP 건대할인 ←건대이벤트 건대라인업건대예약~오피쓰~건대오피ȍƥsS 7닷컴 건대건마"건대역오피" 건대역OP ノ건대역건마ノ 건대OP 건대할인 ←건대이벤트 건대라인업건대예약~오피쓰~건대오피ȍƥsS 7닷컴 건대건마"건대역오피" 건대역OP ノ건대역건마ノ 건대OP 건대할인 ←건대이벤트 건대라인업건대예약~오피쓰~건대오피ȍƥsS 7닷컴 건대건마"건대역오피" 건대역OP ノ건대역건마ノ 건대OP 건대할인 ←건대이벤트 건대라인업건대예약~오피쓰~건대오피ȍƥsS 7닷컴 건대건마"건대역오피" 건대역OP ノ건대역건마ノ 건대OP 건대할인 ←건대이벤트 건대라인업

Categories: Drupal CMS

Decoupled Drupal Hard Problems: Image Styles

Lullabot - Wed, 05/16/2018 - 15:52

As part of the API-First Drupal initiative, and the Contenta CMS community effort, we have come up with a solution for using Drupal image styles in a decoupled setup. Here is an overview of the problems we sought to solve:

  • Image styles are tied to the designs of the consumer, therefore belonging to the front-end. However, there are technical limitations in the front-end that make it impossible to handle them there.
  • Our HTTP API serves an unknown number of consumers, but we don't want to expose all image styles to all consumers for all images. Therefore, consumers need to declare their needs when making API requests.
  • The Consumers and Consumer Image Styles modules can solve these issues, but it requires some configuration from the consumer development team.
Image Styles Are Great

Drupal developers are used to the concept of image styles (aka image derivatives, image cache, resized images, etc.). We use them all the time because they are a way to optimize performance on our Drupal-rendered web pages. At the theme layer, the render system will detect the configuration on the image size and will crop it appropriately if the design requires it. We can do this because the back-end is informed of how the image is presented.

In addition to this, Drupal adds a token to the image style URLs. With that token, the Drupal server is saying I know your design needs this image style, so I approve the use of it. This is needed to avoid a malicious user to fill up our disk by manually requesting all the combinations of images and image styles. With this protection, only the combinations that are in our designs will be possible because Drupal is giving a seal of approval. This is transparent to us so our server is protected without even realizing this was a risk.

The monolithic architecture allows us to have the back-end informed about the design. We can take advantage of that situation to provide advanced features.

The Problem

In a decoupled application your back-end service and your front-end consumer are separated. Your back-end serves your content, and your front-end consumer displays and modifies it. Back-end and front-end live in different stacks and are independent of each other. In fact, you may be running a back-end that exposes a public API without knowing which consumers are using that content or how they are using it.

In this situation, we can see how our back-end doesn't know anything about the front-end(s) design(s). Therefore we cannot take advantage of the situation like we could in the monolithic solution.

The most intuitive solution would be to output all the image styles available when requesting images via JSON API (or REST core). This will only work if we have a small set of consumers of our API and we can know the designs for those. Imagine that our API serves to three, and only three, consumers A, B and C. If we did that, then when requesting an image from consumer A we would output all the variations for all the image styles for all the consumers. If each consumer has 10 - 15 image styles, that means 30 - 45 image styles URLs, where only one will be used.

undefined

This situation is not ideal because a malicious user can still generate 45 images in our disk for each image available in our content. Additionally, if we consider adding more consumers to our digital experience we risk making this problem worse. Moreover, we don't want the presentation from one consumer sipping through another consumer. Finally, if we can't know the designs for all our consumers, then this solution is not even on the table because we don't know what image styles we need to add to our back-end.

On top of all these problems regarding the separation of concerns of front-end and back-end, there are several technical limitations to overcome. In the particular case of image styles, if we were to process the raw images in the consumer we would need:

  • An application runner able to do these operations. The browser is capable of this, but other more challenged devices won't.
  • A powerful hardware to compute image manipulations. APIs often serve content to hardware with low resources.
  • A high bandwidth environment. We would need to serve a very high-resolution image every time, even if the consumer will resize it to 100 x 100 pixels.

Given all these, we decided that this task was best suited for a server-side technology.

In order to solve this problem as part of the API-First initiative, we want a generic solution that works even in the worst case scenario. This scenario is an API served by Drupal that serves an unknown number of 3rd party applications over which we don't have any control.

How We Solved It

After some research about how other systems tackle this, we established that we need a way for consumers to declare their presentation dependencies. In particular, we want to provide a way to express the image styles that consumer developers want for their application. The requests issued by an iOS application will carry a token that identifies the consumer where the HTTP request originated. That way the back-end server knows to select the image styles associated with that consumer.

undefined

For this solution, we developed two different contributed modules: Consumers, and Consumer Image Styles.

The Consumers Project

Imagine for a moment that we are running Facebook's back-end. We defined the data model, we have created a web service to expose the information, and now we are ready to expose that API to the world. The intention is that any developer can join Facebook and register an application. In that application record, the developer does some configuration and tweaks some features so the back-end service can interact optimally with the registered application. As the manager of Facebook's web services, we are not to take special request from any of the possible applications. In fact, we don't even know which applications integrate with our service.

The Consumers module aims to replicate this feature. It is a centralized place where other modules can require information about the consumers. The front-end development teams of each consumer are responsible for providing that information.

This module adds an entity type called Consumer. Other modules can add fields to this entity type with the information they want to gather about the consumer. For instance:

  • The Consumer Image Styles module adds a field that allows consumer developers to list all the image styles their application needs.
  • Other modules could add fields related to authentication, like OAuth 2.0.
  • Other could gather information for analytic purposes.
  • Maybe even configuration to integrate with other 3rd party platforms, etc.
The Consumer Image Styles Project

Internally, the Consumers module takes a request containing the consumer ID and returns the consumer entity. That entity contains the list of image styles needed by that consumer. Using that list of image styles Consumer Image Styles integrates with the JSON API module and adds the URLs for the image after applying those styles. These URLs are added to the response, in the meta section of the file resource. The Consumers project page describes how to provide the consumer ID in your request.

{ "data": { "type": "files", "id": "3802d937-d4e9-429a-a524-85993a84c3ed" "attributes": { … }, "relationships": { … }, "links": { … }, "meta": { "derivatives": { "200x200": "https://cms.contentacms.io/sites/default/files/styles/200x200/public/boyFYUN8.png?itok=Pbmn7Tyt", "800x600": "https://cms.contentacms.io/sites/default/files/styles/800x600/public/boyFYUN8.png?itok=Pbmn7Tyt" } } } }

To do that, Consumer Image Styles adds an additional normalizer for the image files. This normalizer adds the meta section with the image style URLs.

Conclusion

We recommend having a strict separation between the back-end and the front-end in a decoupled architecture. However, there are some specific problems, like image styles, where the server needs to have some knowledge about the consumer. In these very few occasions the server should not implement special logic for any particular consumer. Instead, we should have the consumers add their configuration to the server.

The Consumers project will help you provide a unified way for app developers to include this information on the server. Consumer Image Styles and OAuth 2.0 are good examples where that is necessary, and examples of how to implement it.

Further Your Understanding

If you are interested in alternative ways to deal with image derivatives in a decoupled architecture. There are other alternatives that may incur extra costs, but still worth checking: Cloudinary, Akamai Image Converter, and Origami.

Note: This article was originally published on October 25, 2017. Following DrupalCon Nashville, we are republishing (with updates) some of our key articles on decoupled or "headless" Drupal as the community as a whole continues to explore this approach further. Comments from the original will appear unmodified.

Hero Image by Sadman Sakib. Also thanks to Daniel Wehner for his time spent on code and article reviews.

Categories: Drupal CMS

Pages