Drupal Planet

Subscribe to canal de noticias Drupal Planet
Drupal.org - aggregated feeds in category Planet Drupal
Actualizado: hace 1 hora 18 mins

Out & About On The Third Rock: Applying Agile principles and values to transform society

Sáb, 11/24/2018 - 19:18
As Agile practitioners we work to transform complex, environments, could our knowledge, experiences and skills be cross pollinated to transform the very complex! i.e. society? Continue reading →

OpenSense Labs: Significance of Voice Interface for Media and Publishers

Sáb, 11/24/2018 - 04:30
Significance of Voice Interface for Media and Publishers Shankar Sat, 11/24/2018 - 12:00

“Read out the headlines on the front page of today’s edition of The New York Times newspaper”. Say something like this to Google Home or Amazon Echo and you will get to listen to a voice reading out the news. Forget swiping, scrolling and typing, just talk to a voice assistant and hear what you want. Voice interfaces are all the rage in recent times.


Not only is it helpful for your personal use, but organisations from different industries can find it meritorious. When it comes to new publishing opportunities, voice interfaces are right up there alongside artificial intelligence, augmented reality and blockchain. This world is not a part of a fairy tale and voice interface do pose a few challenges. Before we see how publishing companies make a great use of voice assistants, let’s explore voice interfaces a bit.

What exactly are voice interfaces?

Voice user interfaces (VUIs) enable the user to communicate with a system through voice or speech commands. Amazon Alexa, Echo dot, Google Home, Google Mini, Siri, Cortana and the Google Assistant some of the great examples of VUI.  The primary advantage of a VUI is that it enables you to interact with a product hands-free, eyes-free.

The primary advantage of a VUI is that it enables you to interact with a product hands-free, eyes-free.

Applying the same design guidelines to VUIs as to Graphical User Interfaces (GUI) is impossible. There are no visual affordances in a VUI. That means when you are looking at a GUI, you have no apparent indications of what the interface can do or what are the options available. When designing VUI actions, it is of paramount significance that the system clearly lays down possible interaction options, lets the user know what functionality is he/she is using and limit the amount of information to an amount that the user can remember.

Now, why are they important? It’s growing at an alarming pace and Gartner, a research firm, says that it is a trend, no discussion. You can see ‘Virtual Assistant’ in the graphical representation of emerging technologies below.

Source: Gartner

VUI is getting better and better. In just an year, the betterment is apparently visible. Whether it is Google Home or Siri, advancements are impeccable as can be seen in the following graph.

Things that publishers need to know

There is a land grab to own skills and in the arena of VUI, skills can be split into two categories.

First is the branded skills that are connected to your brand and could not be owned by any other organisation. Skills like TED’s ‘play the latest TED Talk’ action and the Wall Street Journal’s ‘What’s News?’ come into this category.

Another category is the one that encompasses more generic skills like “Alexa, give me the headlines on sports” or “Okay Google, give me the stock market news”. Ownership of such generic skills would give you the sole authority over all the categories from the creation of first-mover advantage in the market as brands race to the capturing skills before they are gone.

This can make things tougher for brands who are looking to extract market-specific skills in both the generic and branded categories. And like most things, it is all about finding the right target.

Consumer Intelligence Research Partners stated in a study that Amazon Echo customer spend 66% more than average Amazon customers. This goes to say that Amazon can now afford to sell Echo devices at a lesser price than originally planned. They can even occasionally take a loss on devices for gaining a greater share of consumer spending. The inference that we get from this for the publishers is that optimising for voice search could result in a revenue boost.

Benefits of voice assistants for publishers Emphasising on Customer Experience

Fabrice Rousseau, Amazon’s general manager of Alexa skills, emphasised on reinventing customer experience with the help of voice technology in his keynote address at the CMO Digital Insight Summit. He said, “When we moved from desktop to mobile we didn’t bring the desktop experience to mobile, we invented a very specific mobile experience”. He further stated, “When you move from mobile to voice don’t bring your mobile experience. Just invent an experience that is unique to voice.”

One of the greatest examples of the importance of customer experience through voice technology can be seen through Amazon Audible. If you are a fan of audiobooks, the odds are that Amazon is your preferred place to shop. Of all the ways Amazon has been able to prove its hegemony in the book market, its share of audiobook sales probably represents its most formidable dominance.

Branding with skills

It is of utmost importance to note that, as far as most of the publishers are concerned, although the VUIs have been storming the market, there’s still plenitude of advancements in the pipeline. In spite of early triumphs with branded skills and flash briefings, VUIs still operate at a fairly low level such as following the commands to play music or read out your appointment dates. With that being said, many publishers are already working on plans for expansion. With the land grab to own skills still underway, the ones who make the first move will taste the success in the future.

What are the major challenges? Dearth of personality

Voice assistants’ dearth of personality is one of the foremost concerns of publishers. Chris Gathercole, the head of FTLabs at the Financial Times, and his team used Amazon Polly for converting existing text articles into audio that is then delivered by ‘Artificial Amy’. What they observed was that ‘Amy’ was quick to learn and was also cost-effective but her lack of human-like characteristics was irksome and killed the humour or nuance of a piece.

Banal and disturbing

Automated voices are often either of banal nature or straight up disturbing which can put users off. An amalgamation of artificial and human voices could temper the issue with a voice actor reading parts of the text and a computerised voice contributing further snippets.

Automated voices are often either of banal nature or straight up disturbing Privacy concerns

There are privacy concerns hovering around the ownership of devices that are essentially perpetually eavesdropping on your home. Consumer Watchdog, a customer advocacy group, stated in a study. “These patents show that smart devices target moments in between screen time to monitor sleep habits, listen in on dinner conversations, and track when users shower. Access to this data can flesh out Google and Amazon’s profiles of their users in order to help them more accurately server targeted ads”.

Conclusion

Conversations will evolve into an integral element of digital experiences. Interfaces that enable people to use natural language - from chatbots based on typing and reading to voice interfaces that are based on speaking and listening - are highly popular but also very immature.

However, with more devices without screens being connected, more consumers will look to voice for controlling their efforts and to perform more intricate tasks. Enterprises including publishing companies need guidance from Customer Experience (CX) pros so that their efforts at building conversational interfaces help customers instead of driving them away.

Looking for CX pro? Looking no further than OpenSense Labs as we strongly believe in offering a wonderful digital experience through a suite of services.

Contact us at hello@opensenselabs.com to know more about the benefits of voice interface for a publishing company.

blog banner blog image voice assistant voice interface media and publishing Blog Type Articles Is it a good read ? On

Drupal Atlanta Medium Publication: Drupal Event Organizers 1st Meeting Recap. Next Meeting Jan 8, 2019

Vie, 11/23/2018 - 18:14
27 Attendees representing 18 Drupal events from around the world.Friday, November 8, 2018 — Drupal Event Organizers 1st Meeting — More people where on the call but some just called in

It’s been almost one month since I wrote the blog post, “DrupalCamp Organizers Unite: Is it Time for Camp Organizers to Become an Official Working Group” and a ton of things have transpired that will catapult us into 2019 with some great momentum. With the support of the many Drupal evangelists, over 50 Drupal event organizers from around the world signed up to attend our first official / unofficial video call.

Then on Friday, November 8, a few hours leading up to the video call, The Drupal Governance Taskforce 2018 Proposal was released. This proposal was put together by the Governance Taskforce in an effort establish a community directive that helps create the next generation of Drupalers. One of the recommendations in this proposal was to provide in-person events, more support, and to establish a Drupal community events working group. The timing of the proposal was perfect for our call. It was really great to see that us organizers were not the only ones who acknowledged that our community events are crucial to Drupal adoption.

Are you a Drupal Event Organizer? Well, join us at our next meeting on Tuesday, January 8, 2019, at 12 pm (EST). Register Here

When the time came to start the call I was a little nervous that not very many people would attend and then all of a sudden the chimes started going off and faces appeared on the screen. After 5 minutes we had 25 people on the call. It was inspirational to be a part of something big. It felt like we were the United Nations :).

Flags of all the Countries that were represented

Countries Represented
Canada, Mumbai, Netherlands, Switzerland, United Kingdom, United States.

Drupal Events Represented
BADCamp(2), Drupal Association(2), Drupal North, Drupal Camp Asheville, DrupalCamp Atlanta, Drupal Camp Chattanooga, DrupalCamp Colorado, DrupalCorn(2), Drupaldelphia, Drupal Mountain Camp, Drupal Camp Mumbai, DrupalCamp New Jersey, Florida Drupal Camp (2),Frontend United, GovCon, MidCamp(2), NED Camp(4),Victoria BC Meetup.

Major Points from the November 9th Meeting
  1. The next meeting will be held on Tuesday, January 8, 2019, at 12 pm (EST). Register Here
  2. Comment on Governance Taskforce Proposal Issue
    To help Dries Buytaert, prioritize the recommendation of creating a Community Events Working Group, we need as many people as possible to comment on this issue. Please view the issue and indicate why you believe this working group is critical to the success of Drupal. Comment now!
  3. DrupalCamp Website Starter Kit
    Out of all of the discussions, the common pain point is that the website takes up too much of our limited resources. The idea of an event starter kit, instead of a distribution, was really intriguing to us all. We also discussed all of the events donating funding to hire a professional project manager to scope out what a starter kit would look like.
  4. Drupal.org Events Website
    Many of us use the great Drupical to let us know what events are happening. But if you don’t know about that website there is nowhere on Drupal.org that is easily accessible that promotes Drupal events. The idea that was brought to the table was to design a new section of the community page that is a space specifically for promoting and producing Drupal events.
  5. A Centralized Drupal Event Statistics Hub
    Another website related item that was brought up was the idea of centralized data hub that event organizers could submit crucial data of events (attendance, budget, programing etc.) so that Drupal.org could display the data and allow for data manipulation. For example, it would be great to know how many people attended Drupal events in one year. This data would be extremely powerful as it could help organizers to compare events, drive corporate sponsorships and adoption, and get more people involved with Drupal.
  6. DrupalTV — A website with all Drupal Videos
    The topic around Drupal video content came up and one of the biggest issues was that videos are all over the place and are not organized. To solve this problem, the idea of a centralized website (DrupalTV) where videos were tagged by topic, presenter, module, etc.. would allow for content to be easily found. This idea was started before our meeting and you can see a proof of concept here.

I was very happy to be a part of this first meeting and I hope that Drupal leadership also sees the work we do as critical and will make us an official working group. There were a lot of great conversations that took place so I am sure that I have missed something. Feel free to comment and let me know and I will update the post.

Are you a Drupal Event Organizer? Well, join us at our next meeting on Tuesday, January 8, 2019, at 12 pm (EST). Register Here

You can also join the Drupal Event Organizers Slack community. You can also register for any of our meetings to be added to our emailing list.

Drupal Event Organizers 1st Meeting Recap. Next Meeting Jan 8, 2019 was originally published in Drupal Atlanta on Medium, where people are continuing the conversation by highlighting and responding to this story.

OpenSense Labs: Accessibility & Healthcare: Drupal is Binding the Two

Vie, 11/23/2018 - 12:07
Accessibility & Healthcare: Drupal is Binding the Two Vasundhra Fri, 11/23/2018 - 19:37

While constructing a hospital building what is the most important factor which provides safe access to all the people? My whole attention is diverted upon the very first priority of virtual planning, and that is building of ramps. If you ask "why?”, the answer would wind up to one conclusion - Ease of accessibility disabled individuals. 

Imagine if the design of the building can secure modular equality, how important is it to ensure equality through web standards?

According to the World Health Organization, about 15% of the world’s population lives with some form of disability. 

 

With the mere principles of Web Content Accessibility Guidelines (WCAG) 2.0, the web has harmonized the requirements for equal web access.

Accessibility summarizes to be even more vital if you are a part of the healthcare industry. Serving the patients and employees via web accessibility becomes the duty of the healthcare organizations.

The Role Of Web Accessibility In Healthcare

Patients with disabilities are entitled to receive quality healthcare the way others do, and hospitals may be unintentionally shutting their doors for the audience with disabilities by not implementing accessibility on their websites. 

Healthcare activities like booking appointments, checking reports, paying bills, searching for physicians and other medical roles have rapidly moved online. While online operations have resulted in patients convenience and avoided them with the hustle of extended queues, what kind of treatment are disabled people imparted with? 


A patient who is visually impaired visits your healthcare website to look for better treatment options but fails to decipher what’s on the page, and then immediately leaves the website. 

An example of failed engagement, this was a frustrating experience for her. Similarly, patients with disability and limited dexterity also need assistive technology to mesh with any website. 

Assistive technologies like screen readers help the visually impaired individual read text and data on the screen. 

Hence the need for quality healthcare website is a must in situations like these. Healthcare websites should be smartly designed for the common good of every individual.

Because:

  1. Web accessibility provides everyone with equal standards. Every person regardless of their physical ability is able to access information.
     
  2. It comes hand in hand with the features ensuring universal usability of information making abbreviations and unfamiliar medical terminology easy to define.  
     
  3. It ensures that people with visual disability can understand motion or static media with alt text that can be read out loud by screen readers and people with hearing disability are assisted with caption in videos. 
     
  4. Not limited to visuals and audio, web accessibility also ensures that people who have motor control restrictions, disabled arms, can use the website without a computer mouse or other pointing devices like touchpad or touchscreen.

It is important to synchronize it with the visual content to contextualize them.

Web Accessibility for healthcare organizations is not only an option but a major requirement. Why Web Accessibility is a Major Requirement?

Section 508 of Web Content Accessibility Guidelines (WCAG) 2.0, Level AA states that all the websites (majorly the healthcare organizations) need to provide equal standards to all the individuals. If the healthcare providers fail to meet the accessibility guidelines, as demanded by ADA, they become open to legal actions.    

According to the guidelines:

The accessibility standards of the website should aim to meet the AA standards. The standards are organized under four principles: perceivable, operable, understandable and robust.

  1. It should list the accessibility features of the website which includes, alt text, skip links and ARIA attributes.
  2. Ensures that the page can be used without a mouse (with the help of keyboard)
  3. Ensures sufficient color contrast for the text. 
  4. It should involve the advice of the common tasks such as increasing text size and viewing PDF files.
  5. It should grant with the contact information if the user has difficulty accessing parts of the website. 
  Can I get away without implementing these accessibility standards?

If the question “can I get away without implementing accessibility standards” is knocking your head right now then, you must read what happened to Tenet Healthcare in 2016. 

In 2016, Tenet Healthcare, (which operates several Florida hospital) was named under class action complaint on the behalf of visually impaired individuals. The complaint alleged that the hospital’s website was not accessible to blind individuals with screen reader technology, and violated the rule of ADA title III. Thus imposing legal actions against them, with the addition of a huge penalty. 

According to ADA Title III, 4965 federal cases were filed in starting six months of 2018. If the filing continued at the same rate there would be close to 10,000 cases at the end of the year. (30% increase over 2017) 

 

Over the past several years, healthcare industries have increasingly become the target of government plaintiffs, complaining about disability discrimination. If you think you can get away with it then think again.

Not complying with web accessibility in healthcare can not only mean that you will suffer lawsuits but will be penalized and public shaming might turn into financial losses soon. 

How does Healthcare Organizations Ensure Web Accessibility?

Apart from serving the guidelines of ADA title III, the evolution of technology has fundamentally altered and powered the healthcare industries. For sustaining the health and the fitness of the people, innovation plays a crucial role in medical science. This is how it contributes to the healthcare industry.

  1. Screen enlargement and screen reading software 

    Screen enlargement software allows the magnification of the computer screen so that the screen can easily be read, and allows the audience to see whatever is there on the screen. For those who have a poor eyesight, talking software is available that can read the text on the page. In short screen readers. Screen reading software like JAWS, NVDA, talk button etc helps the user attain this task.
     
  2. Text-to-speech

    Text-to-speech has helped the patients understand the digital content by providing a simpler audio version. This is potentially helpful for those who might have literacy issues, a neurodevelopmental disorder, low vision, elderly population, and anyone else searching for a simpler way to access the digital content on the go. 

    Text to speech loudly reads the important medical information to the patients which might include descriptions of the diseases, medical prescriptions, and drug data leaflets. This type of information needs to be well understood to avoid any type of misuse. Thus, by providing this option to the patients, the digital revolution in healthcare marks equal standards for the diverse audience out there.
     
  3. Medication Tools

    People with disability have several medications to follow, and missed doses might end up in an exacerbation of the medical circumstances. In severe cases, it can even lead to a series of consequences that result in hospitalization.

    The patients who are visually impaired or suffering from other reading disorders can easily use these medication tools. These tools help the patients remember the accurate time for their medication by altering them with their medicine. Not only this, but these tools also keep an adequate check of their heart rate and reminds them about their scheduled appointments. There are products that help the audience with this task, products like AdhereTech, Amiko.IO, MyUBox, MedMinder and Vitality GlowCaps.
How Is Drupal the Best Option For Healthcare Websites?

If the healthcare organizations are looking for a platform which is cost-effective when it comes to growing need of the healthcare system for the patients, Drupal tends to shine in that part. 

There is no doubt that Drupal powered healthcare technologies bestow a better living.  It is not only simple to use and work upon but it also makes it easier for healthcare organizations to handle data and documentation. 

The major role which Drupal plays in all these healthcare websites is providing them with quality accessibility for the diverse audience. How? Well, here are some of the changes which Drupal 8 made around accessibility to ensure that your website starts with a strong foundation`

  • Automatic Alternative Text

    Automatic Alternative Text generates descriptive information of an image.  To help the visually impaired individuals understand the all sort of medical images alt text is used. 

    Screen Readers and other text read software read these images or pages out loud with the help of automatic alternative text.

    The module helps in generating an adequate description of an image or a webpage in a human-readable language with complete sentences. The description is based on a collection of content tags and description provided by the editor. 
     
  • WAI-ARIA

    Another W3 published set of standards, WAI-ARIA deals with making certain content type available for the users. Drag and Drop functionality is a great example of this. Drupal 8 follows all the guidelines of WAI-ARIA to make users more understandable to the assistive technologies.
     
  • Aural Alerts

    Users with visual impairment cannot see visual updates on the page such as color changes, animations or texts appended to the content. In this case, Drupal presents a JavaScript method Drupal.announce() which constructs an “aria-live” element on the page. Drupal.announce accepts a string to be read by an audio UA. 
     
  • Block ARIA Landmark Role

    Block ARIA Landmark Roles module is used to provide programmatic access to a certain section of pages, in other words, they provide an easy way for users using assistive technology to skip over blocks of content that are repeated on multiple pages and notify them of the programmatic structure of the page. 

    The module adds to the additional elements of the configuration form that permits the user to assign ARIA landmarks (which can be used to navigate from section to section). All the attributes are added to the elements on the page to define the areas like the main content or maybe the navigation region.

    A visually impaired person can easily find a navigation menu with the help of this module and simply jump to the navigation landmark. Landmarks also help people with disability by providing them with keyboard only navigation to a certain section of pages
     
  • CKEditor Abbreviation

    CKEditor Abbreviation modules help to add a button to CKEditor for inserting and editing abbreviations. If any type of abbreviation tags is selected, the context menu would also contain a link to edit the abbreviations.
     
  • CKEditor Accessibility Checker

    CKEditor Accessibility Checker module is an innovative solution that allows you to inspect the accessibility level of the content created on CKEditor, and immediately solves any issue that is found. 
Conclusion

Healthcare technologies are evolving at a very rapid pace, and meeting the accessibility standards also reap the benefit from the technical standpoint. Every organization is committed and focused on serving its patients whether it is a healthcare organization or a website development organization, the audience is the very first key to every accessibility standards. Drupal has been contributing to each one, granting user and digital experience in every sector. 

At OpenSense Labs the objective of such apprehensions has always been the number one priority. Contact us at hello@opensenselabs.com to build an accessibility solution by integration Drupal with healthcare technologies.

blog banner blog image Drupal Drupal 8 Alternative text Web Accessibility Drupal accessibility Screen readers CKEditor Accessibility Checker Block ARIA Landmark Roles WAI-ARIA Blog Type Articles Is it a good read ? On

OpenSense Labs: A Beginner’s Guide to a Medical Device CMS

Vie, 11/23/2018 - 08:04
A Beginner’s Guide to a Medical Device CMS Akshita Fri, 11/23/2018 - 15:34

Medical devices save countless lives each year and can dramatically improve the quality of life of millions of people. However, the development and manufacturing of advanced medical devices is a complex, time-consuming and investment-intensive process. 

In a bid to scale up their services, life sciences and healthcare service providers need well-curated technology to market their products and services. 


More than the device, the technology used in the backend to curate the information and compile it is important than ever. 

Here’s a beginner's guide to the medical device CMS. 

What is a Medical Device CMS?

Healthcare professionals who are responsible for technology management require a balanced and effective content management system with possible medical device integration.

A medical device CMS is the one that provides an easy integration matrix between a medical device (hardware) and a data management system (software). 
 
The main purpose of it is to provide a better monitoring of the data collected by the hardware devices while storing it for the future. 

Some of the best examples of medical devices would include insulin monitor, fitness tracker bands, heart rate monitoring devices - to detect stroke, sleep tracking devices, among others.

A medical device CMS balances the hardware-software relationship  

An ideal medical device CMS address the following: 

  1. Ability to store and forward the acquired data from a hardware device
  2. Manage and format the data in the required standards

Here's how Drupal is faring in the Healthcare technology trends

From Pulse to the Report

The dramatic increase in smartphone usage and portable devices have triggered the emergence of stand-alone health and medical devices and software apps. 

Wearable sensor-devices play a critical role in monitoring the health of a person. These devices can record real-time information about one's physiological condition and motion activities. 

These devices can be identified on the basis of their sensors and accordingly fall in the predefined categories. They are capable of measuring physiological signs such as heart rate, body temperature, blood pressure, respiration rate, electromyogram, electrodermal activity, and in most cases even insulin. 

Wearable sensor-devices play a critical role in monitoring the health of a person. 

Micro-electro-mechanical system (MEMS) based miniature motion sensors are used to measure activity related to signals from the body movement. 

The measured and processed data is then transmitted to the remote healthcare facility (or to the smartphones) over the internet. Security, here, is the major concern since a secured communication channel would safeguard the privacy of (sensitive) personal medical data of an individual. 


Tips for Medical Device Developers and Organizations

When planning to build a healthcare device, it is important to choose a CMS that gives an accurate representation of data and disseminates the data (in different forms of content) to different platform while adapting to the various screens and sizes too. 

The CMS must provide the following features:

  1. Security: Under the HIPAA Privacy rules, healthcare services providers must ensure automatic log off, encryption and decryption of data, tracking logs that record activity on hardware and software. 

    The technology at the backend must ensure that the health data can be accessed by limited people and secured under definitive measures. SSL certificate is one of the implementations. 
     
  2. Remote Access: The information procured from the medical device should be easily accessible to the individual and healthcare provider, who can then monitor the changes. Easy tracking of data is on screen with various elements present while providing the necessary training material in itself.  
     
  3. User-friendly: Usability is an important aspect of medical device designing. A balance between aesthetics and usability is important for small devices like track bands. Use of flat design, icons, enabling scrolling, 3D look, small text to reduce visual density can give a cleaner look with a minimalistic look. 
     
  4. Responsive presentation of the data: While medical devices can be of different shapes and screen sizes, the CMS must ensure that the content is presentable in various mobile devices to keep the user interface intact. The flow (dissemination) of content must be consistent flowing on to the screens regardless of the device. 
Exploring the Medical Device CMS. Here’s What Healthcare Professionals Need. 

As against the common misapprehension, a CMS is responsible not just for the written content but for every piece of information that can be used to create and manage digital documents. 

In the above section, the process of the gathering information has been discussed in details and it should come as no surprise how important a CMS is in the process.

Not any CMS can be the choice for a medical device. This list will help you filter out the features of a CMS required from an ideal choice. 

  • An Effective Document and Content Management

Establishing a system for mapping and managing the documentation of various users and their records can be a heftier task.  

When selecting a CMS for medical devices, healthcare organizations recognize the need to have easy document management solutions. 

The CMS must ease the process of generating and maintaining records resulting from the micro-electro-mechanical system while presenting them in different types as per the requirement. As the service provider, it should be able to track, manage, and store information and documents related to the patient’s health.

A medical device CMS needs to be an effective document management system.

Supporting a wide variety of document types, an effective solution would seamlessly integrate all procured health information (scanned charts and data, clinical paperwork, referrals, and more) into the patient’s profile.

Additionally it should provide enough storage to hold all the patients’ data without letting your application or website bend or break. 

Before narrowing down to one, ensure that the CMS supports the following content types:

  1. Text documents
  2. Graphics
  3. Web pages
  4. All image types
  5. Reports
  6. Multimedia
  • Multiple Device Support

Assuming that the user must be using one particular device type would mean a major blunder on the user interface. When developing a sophisticated web application compatible with different devices, it is important to ensure the CMS provides provision to elements like HTML5 to build a responsive application. 

Adding a rich user experience using various capabilities will ensure various stakeholders (such as physicians and patient) accessing the desired information easily. It should act as a centralised content dissemination platform for serving digital content on screens.

Text format, SMS, e-mail and other alerts on mobile phones can cover the rapidly growing smaller screens generation. 

  • A Secure and Privacy of Data

While electronic methods provide increased efficiency and mobility, HIPAA ensures that appropriate steps are taken by the organization to safeguard the information and maintain the integrity and privacy of ePHI. 

Medical devices share patient information with other technologies which could compromise patients’ privacy and security if hacked. Holding personal information like name, contact information, patient’s medical information, security can’t be compromised when considering a CMS for medical devices. 

Without proper security protocols in place, personal and confidential information could be misused by any person or organization interested in exploiting the data for personal gain.

Under HIPAA, a series of regulatory standards are outlined to ensure the protected health information (PHI) is not disclosed and remain safe under the law.

The CMS must ensure a secure access to the system with data encryption repeatedly happening in the backend. Salting and hashing of the database, strong password policy, session limits, and single sign-on systems are enforced. 

Proper data validation can be done to prevents XSS, CSRF, DDOS, and other malicious data entry.

  • Easy integration with Third-Party Application 

A perfect product doesn’t exist. 

A CMS that would offer you all the features without external support doesn’t exist. Since medical healthcare providing organizations are repeatedly moving towards electronic health records (EHR) to store the medical history and offer a splendid digital experience to the patients. 

An ideal CMS here would provide easy integration and smooth workflow after integration without compromising on the security. 

Working with a lot of devices and data, there are chances of inconsistency and content duplicacy, in order to avoid these issues in real time, a possible synergy needs to be created between the CMS and the third party tools.  CMS compatibility with the third party tools is important. 

 

  • Web Accessibility 

To ensure universal healthcare in today's times, governments penalize healthcare facilities not complying with web accessibility guidelines. 

People with disability face inequality, violation of dignity, and face injustices in walks of life. As their support system, how can the healthcare organizations which are supposed to act as the pillar of support not enforce web accessibility guidelines on their own website?

From the legal perspective, penalties can risk reputational loss, financial loss, or a class-action lawsuit.

Failing to meet the web accessibility standards, healthcare service providers can leave the disabled patients frustrated and discriminated against. 

Everything has shifted online and patients are seeking information online more than they are consulting doctors for real. Web accessibility is more crucial than ever for the healthcare industry as differently abled people jump to receive information online. 

Poor contrast, no resize feature, no aural alerts, no keyboard navigation access can leave many visitors with bitterness and confusion. Therefore, it is important for an ideal CMS to provide web accessibility features at its core. If not user experience then under section 508, organizations are compelled to make all web technologies fully usable by people with various disabilities. 

The role of the CMS doesn’t end with integrating various devices and process, the more complied with the web accessibility law, the better can healthcare service provider serve quality healthcare. Not only do healthcare organization reach out with an improved brand message but consumer experience as well. 

  • A Centralized Content Management System

“A content repository is a database of (digital) content with an associated set of data management, search and access methods allowing various application-independent access to the content with the ability to store and modify content.”

The proliferation of content from a variety of sources can create an enormous challenge. As the unstructured content grows, data loss becomes a hard reality. Healthcare organizations need to look for a flexible approach that supports interoperability with a wide array of popular systems and products. 

A CMS that is robust and can be worked as a central content management repository storing a variety of content formats, facilitating read/write capabilities, control access. Information shared through one platform (say a fitband) to be updated in real-time across all the connected systems (EHR System).

As a content repository, it must provide efficient storage to integrate content, easy versioning, import/ export of content, content manager accessibility for all the documents and the content, records retention management system providing the capability of document-imaging.

  • Community-based CMS

Communities help you evolve. Promoting direct communication between service provider and end user, communities can actually boost the product development cycle. Handling a diverse set of stakeholders as a means of increasing quality management and regulatory compliance while reducing risk, the provision of building communities can ease one thing for marketers.

Covering general FAQs, or major technical problems, communities provide the user with a platform to connect with. 

Software as a Medical Device

In an August 2016, the Food and Drug Administration (FDA) released a draft guidance document which details it as one of the fastest growing trends in medical devices: Software as a Medical Device, or SaMD.

With “one week workout” and “six-minute cardio” going crazy for the now health conscious millennials medical devices are a big success. To ensure the safety of these devices and the people using them, they need to pass the quality check by the FDA. 

Software as a Medical device is a software intended to be used for one or more medical purposes that perform the objective without being part of a hardware medical device, 2014, IMDRF report.

It is a concept proposed by FDA. Prepared with precise guidelines and regulations, FDA assesses the safety and efficacy of new devices that go to the market.

Software intended to be used for one or more medical purposes that perform the objective without being part of a hardware medical device.

SaMD may interface with other physical devices, but it must run on general computing platforms (or mobile devices), and may be used in combination with other medical devices.

Some examples of SaMD devices are:

  • Software that allows MRI and other types of medical imaging to be viewed on regular mobile devices
  • Software that performs image processing in to detect cancer
  • Treatment planning applications that supply information
  • Software that regulates an installed medical device, like a pacemaker
  • BMI and body fat calculators, and heart rate monitors

An important distinction here is that the software doesn’t meet the definition of SaMD if its intended purpose is to power a hardware medical device. 

Accordingly, the categories for software medical devices distinguish software applications across two key dimensions:

  1. The significance of Information – Devices that are used directly in the treatment or diagnosis of patient illnesses are expected to obtain higher standards of clinical evidence, including obtaining both scientific and analytical validity, as well as assessing clinical performance.
     
  2. State of Disease – When a SaMD is used as an intervention for a critical disease, it must be tested more rigorously than if its intended use is in detecting non-serious illnesses.
Conclusion

Being fit is the new fad. Because of which healthcare-medical devices are increasingly becoming popular. At the same time, the importance of the software behind the curtain cannot be denied.  

With the rapid development in technologies such as wireless, embedded, nanotechnology and so on it has become possible to develop handy systems and devices.

At OpenSense Labs, we understand that with technology advancing, healthcare software needs to be an all-rounder. They need to be secure, robust and easy to integrate with other technologies and platforms. 

Drop a mail at hello@opensenselabs.com or give a shout out on Twitter @OpenSenseLabs to talk about possible synergies. 

blog banner blog image Medical Device CMS Healthcare Provider Content Management System Security Content Management Electronic Health Record Blog Type Articles Is it a good read ? On

OpenSense Labs: Integrating Document Management System with Drupal

Vie, 11/23/2018 - 07:42
Integrating Document Management System with Drupal Shankar Fri, 11/23/2018 - 15:12

There is a moment of realisation when we see how much we have actually evolved while reading a novel where the story takes us into the 20th century. When we see characters in that novel, who go to the office and have to keep an account of all the company documents that just keeps mounting up, we sense the burned-out feeling of all those office-goers. And then there is this internet era where all the documents are digitally managed, searched, shared and archived. Such is the effect of digitisation that something like a Document Management System helps an organisation to go paperless and govern complex files in an organised way.


Instead of searching for files and consuming a lot of time and effort, the Document Management System (DMS) is a one-stop destination for streamlining business workflow and improving team collaboration in the process. It helps in letting go of papers and having a positive change in the environment. Drupal, as one of the leading open source content management framework, has the provision for handling document management with a suite of modules. Let’s look at what DMS is exactly before we plunge into Drupal’s efficacy.

What is a Document Management System?

Document management system refers to the system that is developed specifically for authoring and governing electronic documents. Creating, sharing, organising, and archiving the documents are managed by DMS. It simplifies these processes for enhancing productivity while managing the documents digitally. Its central electronic location streamlines the process of finding documents, saves your time in the process, and helps you manage more of your organisation’s core operations.

Document management system refers to the system that is developed specifically for authoring and governing electronic documents.

DMS is quintessential. A compilation of statistics by Business.com delineates that document management is right up there and is very essential for efficacious business workflow. In a survey, IDC stated that 21.3% of productivity is lost because of convolutions in handling the document. Another report by M-Files states that poor document storage amounts to 50% of the loss of time due to difficulty while searching. Harris interactive says in a study that 83% of knowledge workers lose time in versioning and e-signatures reduce timearound times by 80% according to Ombud Inc.

Categories of Document Management System

The two common types of DMS include cloud-based and self-hosted.

Cloud-based DMS

In this case, the software is hosted by your provider which is accessible online. As long as you are connected to the internet, it is possible logging into the system. You won’t require an IT team for installation to keep it running properly. You can tap into the system from anywhere and anytime while files are automatically saved in the cloud thereby reducing the need for regular backups.

Self-hosted DMS

Unlike Cloud-based DMS, it is stored on your company’s servers. It is possible to store as many files as your server allows. The challenge lies in regularly backing up files manually. It is great for users who value being in control of their own system and do not have to rely on others to keep it running.

Features of Document Management System
  • Storage: DMS lets you archive your files in a single location so that they can be retrieved, stored and shared easily for future use.
  • Security: DMS helps you in avoiding unauthorised access by implementing role-based permissions for file entry. Some systems also restrict IP addresses.
  • Version control: You do not have to handle numerous copies of a single document thereby staying in control of your document’s versions. You can see all the versions made and sends alerts to all the members about the most up-to-date version.
  • Indexing: You can index files systematically for a swift, simple retrieval later on given its file key.
  • Uploading: You can upload documents in bulk efficiently.
  • Editing: It is easier to apply adjustments and modifications to a PDF file.
  • Branding: It is possible to define your organisation’s branding by setting up its colour, theme and logo to convey your brand’s look and feel.
  • On-the-go: You can access your files using mobile devices. This helps in easily capturing images of documents and uploading them swiftly.
  • Synchronising files: Online files with the copies of documents stored in your system can be synced which helps in updating the team members with the latest documents.
  • Audit trail: Referring to a document’s path in its lifecycle, audit trail feature of DMS helps in fetching detailed reports on the path that the file has followed.
Merits of a Document Management System
  • Centralisation: DMS lets you organise your file easily using tags and labels thereby centralising the document management.
  • Team collaboration: DMS allows team members to view and edit a document at the same time.
  • Data security: Many Document Management Systems implement a role-based access control for permitting entry only to specific users to the document.
  • File retrieval: Simple by using a keyword or keyphrase, you can look for a specific file. You can also use a document remotely.
  • Regulatory compliance: DMS leverages features like audit trails, security and backups to ensure regulatory compliance like the 21 CFR Part 11 and Annex 11.
  • Carbon footprint: Choosing DMS ensures that you are reducing carbon footprint by going paperless.
Examples of Document Management System

Alfresco, an open source Enterprise Content Management (ECM), offers document management, collaboration, knowledge and web content management, record and image management, content repository and workflow.

Seed DMS, an open source DMS, is user-friendly. It serves as a fully developed enterprise-ready platform for tracing, accessing, storing and sharing documents.

M-Files is another useful and easy-to-implement DMS. It helps in governing your information securely with its Check-out feature.

LogicalDOC is an open-source Java-based system which improves productivity and collaboration of document management system.

Ademero supports centralised control mechanism for storing documents at a single vault and allows scanned documents to be converted into PDFs using Optical Character Recognition feature.

How can Drupal be integrated with Document Management Systems?

Drupal offers an amazing set of modules and distributions that can help in incorporating the features of DMS.

Vardoc: Knowledge base system and documentation site

Vardoc, which is a knowledge base system, a wiki system and a DMS, is Drupal distribution built for hosting an enormous amount of content in a structured and easy to find format. It lets you develop a connected organisation, product or knowledge area.

This is built on top of Varbase, which is an open source Drupal 8 distribution, and offers some useful functionalities like editorial features, search function, taxonomy, user management and customisable themes.

Moreover, it delivers top-of-the-line non-functional requirements like enterprise security, high performance, Search Engine Optimisation (SEO), accessibility compliance and so on.

Document Module

Document module provides complete integration with Drupal node system and acts as a DMS for Drupal. This module adds a custom node type - document. Every document that you will create will be a Drupal node and therefore will reap the benefits available to a node.

It has the support for document revisions/versioning. The custom fields added by the module to the Document node type are accessible in Views. It also has the support for theming.

Moreover, the documents, being nodes, are entirely indexable by the Drupal search system. This module also provides its own custom search for documents. This module is available only for Drupal 7 version.

CMIS API

CMIS API is a suite of modules primarily offering an API for connecting to Content Management Interoperability Services (CMIS) compliant systems to bi-directionally syncing content between the CMIS ECM system and Drupal.

It also comes with features like creating, updating, browsing and searching content in the CMIS ECM system through the Drupal interface.

The objective of CMIS API is to offer an easy-to-use, web content management front-end in Drupal for ECM systems that are, most often than not, unfamiliar to web content managers.

Filedepot

Filedepot module gives you a Google Docs like feel. It is an integrated file management module that supports role and user-based security. You can save the documents outside the Drupal public directory for safe access.

Files of all type can be stored in filedepot and its flexible permission model lets you delegate folder administration to other users.

You can simply drag and drop files from local desktop and upload them in bulk. Also, users can receive notification of new files being added or altered. You can flag the document as ‘locked’ in order to alert users that it is being updated. This module is available only for Drupal 7 version.

Alfresco Module

Alfresco module provides integration between Drupal and Alfresco Enterprise CMS. It helps you in developing Drupal sites using the Alfresco’s document management repository for storing and sharing documents.

It governs Alfresco content items as Drupal nodes with the help of custom content type (Alfresco item). It also offers a Content Construction Kit (CCK) field type for Alfresco content items.

Bundled with AJAX-based repository browser, it lets you visualise, upload, search and retrieve nodes from the Alfresco repository. Please note that this module is not covered by Drupal’s security advisory policy.

Web File Manager

WebFM module is based on a hierarchical directory structure and leverages AJAX for letting the administrators arrange files on the server in a similar way as done with file managers on the personal systems. This improves the manageability of huge collections of documents.

It lets you define permissions by role and file user ID. You can also attach files to numerous nodes and/or comments. This module is not covered by Drupal’s security advisory policy.

Conclusion

Document Management Systems are essential for product documentation sites, agencies who want to document software, documentation for open source products/projects, organisations who want to document their process and online user manuals. Integrating DMS with Drupal is a praiseworthy option as you get the best of Drupal’s robust content management functionalities and the power of specialised DMS.

Drupal experts at OpenSense Labs are committed to delivering an incredible digital experience with its suite of services.

Contact us at hello@opensenselabs.com to leverage the power of Drupal and the DMS.

blog banner blog image Document Management System DMS Drupal module Drupal 8 Blog Type Articles Is it a good read ? On

agoradesign: Bring christmas and winter flair to your Drupal site with the Snowflakes module

Jue, 11/22/2018 - 19:29
We've created a small Drupal module that brings pure CSS animated snowflakes into your Drupal site.

OpenSense Labs: Can Drupal Manage My Content?

Jue, 11/22/2018 - 12:52
Can Drupal Manage My Content? Vasundhra Thu, 11/22/2018 - 20:22

How Drupal is helping to construct better paths in the journey of content management?

As a content strategist, we know that “Content is the King”. We hustle every day to create splendid content that’s deserving of even getting close to that royal title - because let's face it, we all want our content to be unique and surprising. 


The content can vary from blogs to forms to contact address. The question, however, is - which CMS can help you manage the content that directly impacts the reader's mind, letting the audience engage with your brand the way you want them to? 

The resounding answer has to be - Drupal! 

Drupal provides its users with many types and varieties of content that helps them to manage the website in terms of ranking and traffic.

Drupal provides the users with intuitive modules which allow them to build their own content types that have their own set of fields. But What is a Content-Type?

In order to catch the attention of the user, content is produced in various ways such as in the form of an article, newsletter, polls, listings, landing page, among others. 

Content types provide the website with a list of content that allows the content editors to add new content to the site. In other words, it enables the user to manage the settings for a category of information in a centralized and reusable manner. 


Types of Content Needed  

Drupal is one such CMS which has been providing the content editors with modules to handle all the types of content in a website. These modules provide the website with features and capabilities that can be customized. 

  1. Homepage 

    How many times have you judged a website by its homepage? Well, maybe almost every time. 

    According to the CEO of Klout Fire, to impress and engage the audience on a website, it needs to orchestrate everything, in other words, the first 15 seconds of the website is the most crucial seconds that engage and delight a customer. Homepage, therefore, becomes important. 

    Drupal modules like Panels and Ctool help you bring out a homepage with a customized layout that engages with its audience well.  
     
  2. Blogs

    From students to businessmen, blogging has grown out to be a platform used by millions. One of the popular mediums to promote business, blogging must be part of every business. 

    Part of the core now (as a content type), Drupal’s blog module allows authorized users to build and maintain any type of blog. It provides the content editors with standard blogging functionality to the site, where users with defined permissions can create, edit, and update blogs. 
     
  3. E-newsletters

    Another popular marketing initiative, newsletters are frequently used to keep the audience informed and offer promotional content. Many businesses and marketers use newsletters to promote their products and services. 

    An effective way of maintaining and providing the audience with topics that are current and trending, newsletters offer organizations a unique opportunity to nurture and educate the target audience.  

    There are essentially two ways to build a newsletter in Drupal. 
     
    1. Newsletter module strictly aims at the frequency or number of contents. It is especially recommended for people that need more than one newsletter list for their site. Newsletter module aims to be a full blown newsletter solution for Drupal 7. 
    2. Simplenews module brings the new content type that can be sent via email to all the subscribers of the associated newsletter. 

      Other options in Drupal include MailUp Newsletter Module, mailman, and MailChimp. 
       
  4. Landing Pages 

    A crucial part of the inbound marketing strategy, building, and testing landing pages is one of the top five challenges faced by B2B marketers

    Drupal has paragraph module to create templates for landing page and stacks module to allow content editors to create complex pages without the need of developers.

    Companies see a 55% increase in leads when they increase their number of landing pages from 10 to 15. 
     
  5. And much more

    Other content types involve guides, book pages, tutorials, case studies, and infographics. 

    Drupal consists of modules like book helper, book module that help to build interesting and interactive guides. Apart from this, the charts module provide a good way for the user to visualize a lot of information.
Content, Marketing, and Drupal: What is There for Marketers?

Websites using Drupal 8 has grown up to 51 percent in 2018 in comparison to the previous year.  

Easy content management can easily be one of the reasons for its popularity.  But there is more to it. More as to why you must opt for Drupal.  

  • Reducing the Cost

Drupal does not induce any licensing cost. Old news, but it is free

Other than the software cost, the visual designs of your Drupal website can be completely rebuilt without investing in the backend architecture. Drupal is also completely customizable from the get-go even with respect to the editor tools, workflows, and roles. This involves the money that would go towards the customization of the projects. Thus, benefiting the marketers in terms of budget and funds. 

  • Content and Personalization

According to the Content Marketing Institute, 71% of the content editors customize their content on the basis of audience interest. Content types like blogs, landing pages, newsletter, infographics are important factors that contribute to the ideal way of reaching and interacting with the customers. These content types deliver relevant information to the audience based on their interests and motivations. 

Drupal lets you deliver personalized content

Drupal’s Acquia Lift, a data-driven personalization module that brings content and customer data together from multiple sources, providing customized experiences across any channel or device. 

Most importantly, it allows businesses to construct a consistent personalized experience across digital platforms.

Providing easy integration with third-party tools Drupal further facilitates the personalization process. 

  • Building Custom Content Types with Drupal

As a marketer, if your needs vary from the ones mentioned above or if you are looking to build some new type of content type for your audience to devour, Drupal helps you with that too. 

Build news sections, postcards, manuals with Drupal without coding. 

Without any coding, with the use of content construction kit (CCK) and views modules, you can build new content types and produce advanced custom views for those types. 

  • Ease of Adding  Multimedia Content 

Since we know that people are more likely to remember images and videos, how can we afford to not add them in our blogs? 

Drupal’s Media Library provides a views-based browser for previously uploaded media. You can also add media to content via media field, either by selecting from existing media or by uploading new media. 

Not just this, with oEmbed support now, it allows the embedding of external media, such as YouTube and Vimeo videos.

Using Drupal features and functionalities along with digital media solution enhances the ensured reusability and real-time tracking of media assets. 

Drupal, is the whole framework for administering content on the website.
  • Adding Themes to the Content Types

The one-size-fits-all theory doesn’t work in the internet era. 

While themes ensure that your website looks great your one theme won’t be compatible with the different types of content on your website. 

Drupal has replaced the PHP Template with the all-new Twig Template in its latest update, which not only makes it easy to edit themes but customize the ones according to your needs very easily. 

With the addition of new template engine, Drupal gives you responsive and mobile-friendly themes. 

The main goal is to deliver the audience with the power of overriding all the templates and change the front end for modifications. Therefore the visual design of a website can be entirely rebuilt with the help of Drupal, without actually spending on any back-end architecture differences. 

All the Drupal Themes for 2018

  • SEO Friendly

People trust search engines. In fact, 50% of visitors are more likely to click a result if the brand appears multiple times in search engine results. 

Writing great content will not suffice, your CMS have to have SEO capabilities in order to make your business visible. 

According to a survey by Neil Patel Digital, SEO is the 2nd most used practices of all time that affects the traffic of a website. 

When it comes to Drupal, there are a variety of SEO friendly modules that help the website reach a better rank. The extensive list of SEO modules includes Page Title, SEO Checklist, Meta tags, Taxonomy Title, HTML Purifier, Real-time SEO. 

Drupal’s out-of-the-box schema tags help search engines identify what the page is about, its relevant and how useful will it be for a specific query. 

Drupal presents the users with a comprehensive control over the URL structure with the help of modules like  Pathauto, and maintain a clean understandable URL structure with the help of Global Redirect. 

  • Content  Monitoring

For a content marketing strategy to be successful, it needs to be underpinned by data. After all, how do you decide if some information is tangible or not? Or how else would you know how your content is performing?

Since data never lies, you need to have actual audience insights for your next marketing strategy. 
 
Google Analytics is one of the best tools for monitoring the traffic on a website while providing real-time updates about the number of visitors, how much time they are spending,  popular pages visited by them among other information. 
 
Drupal’s Google Analytics module lets you add the Google Analytics web statistics tracking system to your website, so you can:

  1. Selectively track and exclude certain users, roles and pages.
  2. Monitor different types of links 
  3. Monitor the type of files that are being downloaded from your pages
  • Community and Engagement 

Among all the marketing strategies, fostering customer loyalty brings results. Businesses seeking to build more engagement and repo among its users can’t miss out on community outreach. 

Content, community, and business go hand in hand.  

Community brings engagement. And engagement returning users. 

In order to ensure a splendid digital experience, the ideal CMS must provide value to integrate with community building technologies. 

With a community of more than 200,000 people, Drupal is the best example of what it can do for the community platforms.

You can serve your audience better if you know what they are looking for. Integrating with almost all the acknowledged ERP systems which are available like Alfresco, Salesforce, Bynder, and SugarCRM.

Additionally,

  • Drupal grants marketers with modules like Disqus and HybridAuth Social Login to connect with the audience. It allows them to connect more strongly with customers and transform more prospects into buyers.
     
  • Drupal helps power up the websites with chatbot for an interactive and a guiding experience to the user. It can incorporate the Chatbots and connect with the people giving them a better user experience. 
Conclusion

Increasing traffic, retention and conversion is mostly the main agenda of every website holder, and Drupal contributes vividly in this part as a content manager. It offers a dozen powerful modules for maintaining and creating content. 

Create personalized content with OpenSense Labs, drop a mail at hello@opensenselabs.com and experience the best content management services and solutions.  

blog banner blog image Drupal Drupal 8 Drupal 8 Content Types Drupal modules Drupal Personalization Drupal Themes Content Types Blog Community Blog Type Articles Is it a good read ? On

PreviousNext: Be Prepared for the DrupalSouth 2018 Sprint

Mié, 11/21/2018 - 23:19

Update: Re-published for DrupalSouth 2018 edition

The PreviousNext team are sponsoring and helping to run the sprint day on Wednesday, December 5th 2018, and there are a few things you can do now to hit the ground running on the day.

by Kim Pepper / 22 November 2018 What's a Sprint Day about anyway?

Contribution Sprints are a great opportunity to get involved in contributing to Drupal. Contributions don't have to be just about code. Issue triage, documentation, and manual testing are examples of non-code contributions.

If you are new to contributing, you can take a look at the New Contributor tasks on the Drupal.org Contributor Tasks page.

While there will be experienced contributors there on the day to help, keep in mind, this is not a training session. :-)

Set Up a Development Environment

There is more than one way to shear a sheep, and there is also more than one way to set up a local development environment for working on Drupal.

We've create a Drupal project starter kit for sprint attendees which should speed up this process. Head over to https://github.com/previousnext/drupal-project and follow the README.

If you have any issues, feel free to post them in the Github issue queue https://github.com/previousnext/drupal-project/issues and we'll try and resolve them before the day.

Find Issues to Work On

If you want to see what might be an interesting issue to work on, head over to the Drupal.org Issue Queue and look for issues tagged with 'DrupalSouth 2018'. These are issues that others have tagged.

You can also tag an issue yourself to be added to the list.

Being face-to-face with fellow contributors is a great opportunity to have discussions and put forward ideas. Don't feel like you need to come away from the day having completed lines and lines of code.

We look forward to seeing you all there!

Tagged DrupalSouth, Code Sprint

Morpht: Drupal and Composer: Part 2 — Managing a Drupal 8 site with Composer

Mié, 11/21/2018 - 22:20
Drupal and Composer - an In-Depth Look

 

As any developer working with Drupal 8 knows, working with Composer has become an integral part of working with Drupal. This can be daunting for those who don't have previous experience working with the command line, and can still be a confusing experience for those who do. This is the second post in an explorative series of blog posts I will be writing on Composer, hopefully clearing up some of the confusion around it. The four blog posts on this topic will be as follows:

  • Part 1: Understanding Composer
  • Part 2: Managing a Drupal 8 site with Composer
  • Part 3: Converting Management of an Existing Drupal 8 Site to Composer (Coming Soon)
  • Part 4: Composer for Drupal Developers (Coming Soon)

This article will be difficult to understand without first understanding the concepts explained in part 1, so If you have not read it, it would probably be worth your while to ensure you understand the concepts outlined in the summary of that article, before proceeding with this one.

Managing Drupal sites with Composer Beginning a New Project

Fortunately a lot of work has been put into creating a Composer base (called a template) for Drupal projects. This Drupal Composer template can be found on Github at: https://github.com/drupal-composer/drupal-project. Instructions on how to use the template can be found there, and the same instructions are found in the README.md file that comes with the project when installed.

Starting a new project with the Drupal Composer template can be done with the following line of code:

composer create-project drupal-composer/drupal-project:8.x-dev some-dir --stability dev --no-interaction

This command does a number of things, many of which will be addressed below.

1) A new Composer project is created

The first thing the installation does is to create the directory specified as some-dir in the command, and initializes a Composer project in that directory. Change this to the appropriate name for your project. This is now your new project. The project contains the composer.json and composer.lock files that will be used to manage the code base of the project.

Note: The command provided lists the --stability as dev. This can be confusing as developers may think this means they are getting the -dev version of Drupal core. Don't worry, the command given above will always install the current full release of Drupal core, whatever it is at the time when the command is run. 2) Library dependencies (as well as their dependencies) are installed

The Composer template has a number of dependencies included by default, some of which we will take a look at here. These libraries are set by default as requirements in composer.json, and therefore are included when running the install command given earlier.

  • Drush: Drush is cool. If you don’t know what it is, it’s worth some Google-fu. Anything to be written about Drush has already been written somewhere else, so check it out - it will be worth your while!
  • Drupal Console: Drupal Console is also really cool. See comments on Drush.
  • Composer Patches: This one is very cool. This library in and of itself is worth using Composer to manage Drupal projects in my eyes. Even if Composer had no other benefits, this one would be great. First, an explanation of a patch is necessary. A patch is kind of like a band-aid that can be applied to code. Patches allow developers to submit changes, be they bug fixes or new functionality, to the library maintainer. The library maintainer may or may add the patch to the source code, but in the meantime, other developers can apply the patch to their own systems, both to test if it works, as well as use it if it does. However, when the library the patch has been applied to is updated to a newer version, the patches have to be re-applied. What Composer Patches does is allow developers to track patches applied to the project, and have them applied automatically during the update process. This ensures that bugs don't arise from forgetting to re-apply patches after the update. Patches are tracked by adding them to composer.json. Here is an example:
     
  • "extra": { "patches": { "drupal/core”: { “Patch description”: "https://www.drupal.org/files/issues/someissue-1543858-30.patch" } } }

    With the above code, the next time composer update drupal/core is run, Composer will attempt to apply the patch found at https://www.drupal.org/files/issues/someissue-1543858-30.patch to Drupal core. Note that the description of the patch, given above as "Patch description", is arbitrary, and should be something descriptive. If there is an issue for the patch, a link to the issue is good to add to the description, so developers can quickly look into the status of the patch, see if any updated patches have been released, and check if the patch has been incorporated into the library, rendering the patch unnecessary.

  • And Others: There are many other libraries that are included as part of the Drupal Composer template, but the truth is that I haven’t looked into them. Also note that Drupal core alone has multiple dependencies which have their own dependencies. At the time of writing, 123 libraries are installed into the project with the install command.
But wait - I don’t use [fill in library here]

The Composer template is just that - a template. Some people don’t use Drush, some don’t use Drupal console. If these are not needed, they can be removed from a project in the same manner as any Composer library. Example:

composer remove drush/drush

The above command will remove Drush from the code managed by the Composer template.

3) The system folder architecture is created

The file system created by the Composer template deserves a close look.

  • /web: The first thing to notice is that Drupal is installed into the /web directory in the root of the project. This means that the root of the project created with the Composer template is one level above the webroot. When configuring the server, the domain for the server will need to point at the /web directory.
  • /config/sync: The Composer template sets up the project to store Drupal 8 configuration .yml files in this folder. When running drush cex sync to export configuration, the entire site configuration will be exported to this folder. This is folder is best kept out of the webroot for security purposes.
  • /drush: This folder holds a few Drush specific items in it. If multiple environments exist for your project, Drush aliases can be set in /drush/sites/self.site.yml, allowing for interaction with your various environments from anywhere within the project.
  • /scripts: At the time of writing, this folder contains only a single file, /scripts/composer/ScriptHandler.php. This is a really cool file that contains code run by Composer during various processes.

    The composer.json file in the Drupal Composer template contains the following:
      "scripts": { "drupal-scaffold": "DrupalComposer\\DrupalScaffold\\Plugin::scaffold", "pre-install-cmd": [ "DrupalProject\\composer\\ScriptHandler::checkComposerVersion" ], "pre-update-cmd": [ "DrupalProject\\composer\\ScriptHandler::checkComposerVersion" ], "post-install-cmd": [ "DrupalProject\\composer\\ScriptHandler::createRequiredFiles" ], "post-update-cmd": [ "DrupalProject\\composer\\ScriptHandler::createRequiredFiles" ] },

    The code above executes the stated code on pre-install, pre-update, post-install and post-update. Any time either composer install or composer update are executed on the system, the pre and post hook for that call are executed, calling the relevant functions above. Developers can create their own pre/post install and update hooks following the examples shown above.

  • /vendor: The first thing to note is that the location of this file differs from a vanilla Drupal 8 installation. When installing Drupal manually, the vendor folder is part of the webroot by default. This however could lead to security issues, which is why the Composer template installs it above the webroot. The vendor folder contains most of the libraries that Composer manages for your project. Drupal core, modules, themes and profiles however are saved to other locations (to be discussed in the next section). Everything else is saved to the /vendor folder.

4) Drupal File/Folder Installation Locations are set

As mentioned above, Drupal core is installed into the /web folder. The Composer template also sets up installation locations (directories) for Drupal libraries, modules, themes and profiles so that when Composer installs these, they are put in the appropriate Drupal folder locations. This is the code in composer.json that handles the installation locations:

"extra": { "installer-paths": { "web/core": ["type:drupal-core"], "web/libraries/{$name}": ["type:drupal-library"], "web/modules/contrib/{$name}": ["type:drupal-module"], "web/profiles/contrib/{$name}": ["type:drupal-profile"], "web/themes/contrib/{$name}": ["type:drupal-theme"], "drush/contrib/{$name}": ["type:drupal-drush"] } }

The most common library type that a Drupal developer will install will be Drupal modules. So let’s look at the line of code specific to the module installation location:

"web/modules/contrib/{$name}": ["type:drupal-module"],

This line of code says that if the type of Composer library is drupal-module, then install it to the /web/modules/contrib/[MODULE MACHINE NAME] folder.

But how does Composer know that the library being downloaded is type drupal-module? Well, the key to this is in how Composer libraries are managed in the first place. Throughout this article and the one that precedes it, we have repeatedly looked at the composer.json file that defines this project. Well, every Composer library contains a composer.json file, and every composer.json file that comes with packaged with Drupal modules contains a type declaration as follows:

"type": "drupal-module",

When Composer is installing libraries, it looks for a type declaration, and when it finds one, if there is a custom install location set in composer.json for that type, the library is installed to the declared folder. Drupal themes are of type drupal-theme, Drupal profiles are of type drupal-profile, and so on, and they are installed to the folders declared in composer.json.

Managing Custom Drupal Code with Composer

Custom code for a project can be managed with Composer as mentioned in Part 1 of this series. Drupal convention generally separates contributed (3rd party) modules and custom modules into separate folders. To install custom code in the locations according to this convention, the following lines should be added to the installer-paths declaration in composer.json:

"web/modules/custom/{$name}": ["type:drupal-custom-module"], "web/profiles/custom/{$name}": ["type:drupal-custom-profile"], "web/themes/custom/{$name}": ["type:drupal-custom-theme"],

This code adds three additional library types for custom modules, custom profiles, and custom themes.

Next, you’ll need to add a composer.json file to the custom module/theme/profile. Directions for this can be seen here: https://www.drupal.org/docs/8/creating-custom-modules/add-a-composerjson-file. Note that for the step named Define your module as a PHP package, you should set the type as drupal-custom-[TYPE], where [TYPE] is one of: module, theme, or profile.

Continuing on, make sure the composer.json file containing the type declaration has been pushed to the remote private repository.

The last step step is to add your private repository to you project’s composer.json, so that when running composer require my/privatelibrary, Composer knows in which repository to look for the library. Declaring private repositories in composer.json is explained here: https://getcomposer.org/doc/05-repositories.md#using-private-repositories.

With the above steps, when running composer install my/library, Composer will find the private repository declared in composer.json, search that repository for my/library, and download it. The composer.json file in my/library tells Composer that it’s of type drupal-custom-[TYPE], so Drupal will install it into the directory specified for Drupal custom [TYPE].

If using Git for version control on your system, you'll probably want to alter the .gitignore file in the Composer project root to ignore the custom folder locations. If you have created a custom module, and will be managing all custom modules with Composer and private repositories, you should probably add the /web/modules/custom folder to .gitignore. If you will be managing some custom modules with Git and not Composer, then you should probably add the custom module you have created to .gitignore as /web/modules/custom/[MODULE NAME].

Managing site settings: settings.php and settings.local.php

This section isn’t actually directly related to Composer and Drupal, but it’s a good step for setting up a project, and we can use the methodology to work with Composer template and Git.

Each Drupal installation depends on the file settings.php. This file is loaded as part of Drupal’s bootstrap process on every page load. Site-specific settings are added into this file, such as database connection information.

Towards the bottom of settings.php, the following lines can be found:

# if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { # include $app_root . '/' . $site_path . '/settings.local.php'; # }

These lines are commented out by the # symbol at the start of each line. This means that the code is not executed. If these lines are uncommented, by removing the hash symbol at the start of each line, this code is executed. The code looks for a file named settings.local.php, and if it exists, it includes that file. This means any settings in settings.local.php become part of the bootstrap process and are available to Drupal. After uncommenting the code, it will look like this:

if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { include $app_root . '/' . $site_path . '/settings.local.php'; }

Why do this? This allows settings to be split into two types: settings that will be the same across all environments (eg. production, staging, local installations etc), and local settings that are only relevant to the current Drupal environment in which this file exists. This is done by committing settings.php to Git so it is shared amongst every environment (note - settings.local.php is NOT committed to Git, as it should not be shared). For example, the majority of Drupal installations have a separate database for each environment, meaning that database connection details will be specific to each environment. Therefore, database settings would be put into settings.local.php, as they are not shared between environments. The connection details to a remote API however may be the same regardless of environment, and therefore would be put into settings.php. This ensures any developer working on the system has access to the API details.

After splitting up the settings this way, settings.php is committed to Git so it is tracked and shared between environments. 

The full process is as follows:

  1. Install the Drupal Composer template as described earlier in this article
  2. Uncomment the code in settings.php as explained above
  3. Install Drupal as normal
  4. Run git diff settings.php to see what has been added to settings.php as part of the installation process. Anything that shows up should be added to settings.local.php, and removed from settings.php. This will definitely be the database connection, but could be other files as well.
  5. Edit .gitignore in the Composer project root, and remove this line: /web/sites/*/settings.php You can now add settings for all environments to settings.php and settings specific to the local environment to settings.local.php.
Setting Up the Private Files Directory

After setting up settings.php and settings.local.php as described above, you can now add the following to settings.php:

$settings['file_private_path'] = ‘../private’;

Next, create the folder /private in the root of your Composer project. Finally clear the Drupal cache, which will create the file /private/.htaccess. At this point you can now add settings.php and the /private folder to Git. Finally, edit .gitignore and add the following:

# Ignore private files /private/ This sets up the private file directories across all installations, saving developers having to set it up for each installation. Note that the .gitignore setting will ensure the contents of this folder are ignored by Git, as they should be. What should I add to Git?

The Drupal Composer template project page states:

You should create a new git repository, and commit all files not excluded by the .gitignore file.

In particular, you will need to ensure you commit composer.json and composer.lock any time composer changes are made.

Is It Safe to Use Composer on a Production Server?

The actual answer to this question is not one I have. I am not a server guy overall, and for that matter, I’m not even that much of a Composer expert. It may be that Composer is entirely safe on a production server, but personally my thoughts are that having a program that can write files to the server from remote servers would seem to open up a potential security risk, and therefore it’s likely better to NOT have Composer on a production server. This comment may lead you to question why I would have wasted the time to write so much on Composer if it’s better to not use it in the first place. But not so fast partner! It really depends on the system architecture and the server setup. Some servers have been set up so that as part of the deployment process, the codebase is built using Composer, but then set up as a read-only file system or a Docker container or some other process ensuring security. This however is a particularly complex server set up. Fortunately there is an alternative for developers who are not working with servers configured in this fashion, which we'll look at next.

Using Composer, without having Composer installed on the production server

There is an in-between solution that allows us to use Composer to manage our projects, even with multiple developers, while not having Composer installed on the production server. In this case, we can use a hybrid of a Composer managed project and the old style of using pure Git for deployment.

First, we need to edit the .gitignore folder in the root of our Composer installation. In particular, we need to remove the following code:

# Ignore directories generated by Composer /drush/contrib/ /vendor/ /web/core/ /web/modules/contrib/ /web/themes/contrib/ /web/profiles/contrib/ /web/libraries/

The above directories are all created by Composer and managed by Composer, which is why they were originally ignored by Git. However, we will not be managing our production server using Composer, and therefore we want to include these folders into the Git repository rather than ignoring them.

After setting up your project, commit the folders listed above to Git. This ensures all the files that are managed by Composer will be part of Git. That waycomposer install never needs to be run on the production server, since any code that command would download will already be part of Git.

What this means now is that any time a developer on the project add/updates code by running either composer update or composer install, they will need to commit not just the composer.json and composer.lock files, but also the added/updated source files that Composer manages, so that all code be available on the production server when checking out the code from Git.

Updating Drupal using Composer

In part one of this series, I discussed library versions. I am not going to go deep into how the versioning works internally, but I’ll explain how updating works specific to Drupal core. At the time of writing, the current version of Drupal is 8.6.3. The dependency set in composer.json is for Drupal 8.6.*. The * at the end of this means that your project uses upon any version of Drupal 8.6, so when a minor version update comes out for 8.6, for example 8.6.4, Drupal core will be updated to Drupal 8.6.4 when composer update drupal\core is run.

However, when Drupal 8.7 is released, it will not be automatically installed, since it does not fit the pattern 8.6.*. To upgrade to Drupal 8.7, the following command is run:

composer update drupal/core:~8.7

The ~/8.7 part of the above command tells Composer to use any version of Drupal 8.7. This means that in the future, when you run composer update drupal/core, minor releases of the 8.7 branch of Drupal core will be installed.

Summary

In this article, we have gone over how Composer is used with Drupal to make project deployment a little smoother, more stable, and consistent between environments. You should have an understanding of:

  • How to set up a new Drupal project using Composer
  • How the following folders relate to the project:
    • /config
    • /drush
    • /scripts
    • /web
    • /vendor
  • How Composer adds Drupal modules and/or themes
  • Drupal library dependencies
  • Managing custom Drupal code with Composer
  • Which items should be committed to Git
  • How to use Composer to manage Drupal projects where the production server does not have Composer
  • How to update Drupal using Composer

In the next post, coming soon, we'll look at how to convert an existing Drupal project to being managed by Composer.

Freelock : What's up on Nerd Mountain? Drupal 8 Means A Lot of Free Stuff

Mié, 11/21/2018 - 19:33
What's up on Nerd Mountain? Drupal 8 Means A Lot of Free Stuff Ben Weagraff Wed, 11/21/2018 - 14:33

Come join us up on Nerd Mountain! 

Drupal 7 Drupal 8 Drupal Planet

Community: Community Working Group Update - November 2018

Mié, 11/21/2018 - 14:04

The Drupal Community Working Group is happy to announce the addition of Alex Burrows (aburrows). Based in Surrey, United Kingdom, Alex has been contributing to the Drupal project and community for more than a decade. He is one of the lead organizers of Drupalcamp London, and a frequent speaker at other Drupal events. Alex also serves as a volunteer police constable in his local community.

The CWG would also like to announce that both Josef Dabernig (dasjo) and Manjit Singh (Manjit.Singh) have agreed to serve as Subject Matter Experts (SMEs) to the CWG. SMEs are not full members of the group, but can be called upon on an as-needed basis for issues that might require specific knowledge or expertise. SMEs are subject to the same Code of Ethics as full members of the CWG.

Adam Hill and Emma Karayannis are also officially stepping down as members of the CWG. We would like to thank both Adam and Emma for their invaluable contributions to the group and for their ongoing contributions to the Drupal community.

The CWG continues to seek new members and SMEs as it seeks to increase the diversity of its membership. It is our hope that by expanding our membership, the CWG will be able to better serve the community in a more proactive manner. If you think you or someone you know might be a good fit for the CWG and are interested in learning more, please reach out to us via email at drupal-cwg@drupal.org.

In other news, the CWG recently proposed a set of changes to its charter to address feedback and concerns raised by the community over the last year and a half. We are accepting feedback from the community through November 23 before finalizing the proposal.

The CWG is responsible for promoting and upholding the Drupal Code of Conduct and maintaining a friendly and welcoming community for the Drupal project. To learn more about the group and what we’ve been up to over the last year, check out our recently-published annual report.

Wim Leers: State of JSON:API (November 2018)

Mié, 11/21/2018 - 12:50

Gabe, Mateu and I just released the second RC of JSON:API 2, so time for an update! The last update is from a month ago.

What happened since then? In a nutshell:

  • Usage has gone up a lot! 2.0-RC1: 0 → 250, 2.x: ~200 → ~330 1
  • 2.0-RC2 released :)
  • RC1 had about half a dozen issues reported. Most are fixed in RC2. 2
  • The file uploads feature: 80% → 100%, will ship in 2.1!
  • The revisions feature: 80% → 90%
  • New core patch to bring JSON:API to Drupal core: #2843147-78
RC2

Curious about RC2? RC1 → RC2 has four changes:

  1. Renamed from JSON API to JSON:API, matching recent spec changes.
  2. One critical bug was reported by brand new Drupalist Peter van Dijk (welcome, and thanks for noticing something we had gotten used to!): the ?filter syntax was very confusing and effectively required the knowledge (and use) of Drupal internals. Now you no longer need to do /jsonapi/node/article?filter[uid.uuid]=c42…e37 to get all articles by a given author, but just /jsonapi/node/article?filter[uid.id]=c42…e37. This matches the JSON:API document structure: the abstraction is no longer leaky! The updated ?filter syntax is still 95% the same. 3
  3. JSON:API responses were no longer being cached by Page Cache. This was of course a major performance regression. Fortunately long-time Drupalist yobottehg discovered this!
  4. Massive performance increase for requests using sparse fieldsets such as ?fields[node--article]=title. Thanks to long-time Drupalist jibran doing quite a bit of profiling on JSON:API, something which Mateu, Gabe and I haven’t gotten around to yet. Moving 2 lines of code made his particular use case 90% faster! We’re sure there’s more low-hanging fruit, but this one was so tasty and so low-risk that we decided to commit it despite being in RC.

So … now is the time to update to 2.0-RC2!

The JSON:API team: 150/150/150

In the previous update, I included a retrospective, including a section about how it’s been to go from one maintainer to three. A month ago this happened:

11:08:15 <e0ipso> https://usercontent.irccloud-cdn.com/file/REdyLpD6/2018-10-24%2011-07-42.png 11:08:27 <e0ipso> Let's get that to 150, 150 and 150 11:08:31 <WimLeers> :D 11:08:46 <WimLeers> that'd be pretty cool indeed 11:09:05 <e0ipso> COMEON gabesullice you're slacking! 11:09:08 <e0ipso> hehe

That image was:

Well, as of yesterday evening, it looks like this:

On top of that, mere hours after previous update went live, Gabe became an official API-First Initiative coordinator, together with Mateu and I:

https://t.co/n9mB2BtKgn

This is up there at the top as one of my proudest Drupal moments :)

— Gabriel Sullice (@GabeSullice) October 25, 2018

Congrats Gabe, and thanks! :)

  1. Note that usage statistics on drupal.org are an underestimation! Any site can opt out from reporting back, and composer-based installs don’t report back by default. ↩︎

  2. Since we’re in the RC phase, we’re limiting ourselves to only critical issues. ↩︎

  3. This was not a regression in 2.x; this also affects JSON:API 1.x! It’s just more apparent in 2.x that this is a problem because we did make 2.x comply with the spec completely (which also was the reason for the 2.x branch: we needed to break backward compatibility to comply). We chose to embrace the feedback and introduce this additional BC break in the 2.x branch. Some of your requests will now return 400 responses, but they all include helpful error messages, providing concrete suggestions on how to change it. ↩︎

InternetDevels: Top E-commerce Themes for Drupal 8

Mié, 11/21/2018 - 12:42

What is the first thing that grabs your attention when you visit an E-commerce website? No doubt it is the website’s design and appearance.

Read more

Amazee Labs: DrupalCamp Ghent 2018

Mié, 11/21/2018 - 12:01
DrupalCamp Ghent 2018

For the past ten years, the Drupal community organises a yearly DrupalCamp held in various cities of Belgium. This time, it will take place in the lovely city of Ghent.

Christophe Jossart Wed, 11/21/2018 - 15:01

As usual, the organisers are broadening the audience of this event with content aimed at developers, designers, site builders, and business strategists. They also contribute to this goal by maintaining low ticket prices.

The sessions are raising the bar too, with hot topics such as search, accessibility, functional programming, chatbot, testing, GraphQL, and serverless.

I’m excited to take this opportunity to enjoy the community, expand upon my knowledge of the Drupal ecosystem, and prove once and for all to my fellow Amazees, Dan and Vijay, that there is no comparison between Belgian and Swiss chocolate.

View the full programme here.

aleksip.net: Using Drupal’s definition files in component-based theming

Mié, 11/21/2018 - 11:20
All the great work already done and to be released by the Layout Initiative has inspired me to think about how core’s definition files can be used in component-based theme development. As a result I am now happy to announce two Drupal modules and a Pattern Lab plugin which enable new ways of using core’s definition files.

Amazee Labs: DrupalCamp Ghent 2019

Mié, 11/21/2018 - 05:09
DrupalCamp Ghent 2019

For the past ten years, the Drupal community organises a yearly DrupalCamp held in various cities of Belgium. This time, it will take place in the lovely city of Ghent.

Christophe Jossart Wed, 11/21/2018 - 08:09

As usual, the organisers are broadening the audience of this event with content aimed at developers, designers, site builders, and business strategists. They also contribute to this goal by maintaining low ticket prices.

The sessions are raising the bar too, with hot topics such as search, accessibility, functional programming, chatbot, testing, GraphQL, and serverless.

I’m excited to take this opportunity to enjoy the community, expand upon my knowledge of the Drupal ecosystem, and prove once and for all to my fellow Amazees, Dan and Vijay, that there is no comparison between Belgian and Swiss chocolate.

View the full programme here.

Kristof De Jaeger: Your site on the fediverse with Bridgy Fed

Mar, 11/20/2018 - 17:34

Lately, Mastodon is getting a lot of attention as an alternative for Twitter. It's a microblogging platform which allows you to setup your own instance, and still interact with users on a totally different domain. They are all part of the Fediverse. It uses open standard protocols and specifications as much as possible, which means that integration from other places should be possible, e.g. why not your own site !

Webmentions

To interact with Mastodon, and most other federated platforms, you need to implement Activitypub and add Webfinger support to your domain, which can be tricky to setup. Enter Bridgy Fed: it acts as a proxy for your domain and does all the heavy lifting for discovery, sending posts to the right instance and sending back interactions to your site. The Drupal IndieWeb module has all the necessary tools for sending and receiving webmentions and the markup needed for your content. In fact, there are only two simple things you need to do. Add "Fediverse|https://fed.brid.gy/" on the 'Sending' settings screen as a syndication target and two lines to .htaccess, and you're done: welcome to the Fediverse. Don't like Drupal ? No problem! Any framework, whether you are using Wordpress or Known, or even wrote yourself, which supports sending webmentions can get on the Fediverse! Read about webmentions and microformats on IndieWeb.org.

Following

If you are on Mastodon, you can follow me by searching for 'swentel' which will give you two results. One is a test account I use for testing the AP protocol. The user that is managed by Bridgy Fed, and which will now get all the notes I syndicate from my site, is @realize.be@realize.be.

Since I don't have an actual account, how do I follow users? Mastodon exposes an atom and even a Microformats feed of every user. This allows everyone to follow accounts with even a simple RSS reader. In my case, I use Indigenous as my reader, and Aperture as the server (actually, I'm now using the built-in server now in the IndieWeb module, but Aperture is a great alternative to get started!). From my client, I can directly interact with anyone on the Fediverse because it knows my micropub endpoint to post to my site which then starts syndicating posts to the right instance: replying, liking, boosting, posting .. it all works! Some tiny details need to be figured out still, like images, but simple content just works fine!

All of this has been tested with Mastodon. There are more federated platforms out there, so this is only the beginning! A big shout out to Ryan Barret, the maintainer of Bridgy Fed (and many other great tools)!

Acro Media: Live Component Guide, Part 2: Drupal 8

Mar, 11/20/2018 - 13:45

A while ago we introduced a Live Component Guide to our corporate website that gives our designers and content creators and quick way to lay out content on new and existing pages. It’s worked out great so far and has generated quite a bit of interest. A couple months old now, that initial blog post explaining why we did it and how it works has had over 400 views and the recorded demonstration on YouTube has been watched for more than 1500 minutes. Not bad considering it’s a very Drupal specific, niche post.

While I was working on our corporate site components, others at Acro Media were working away on adding similar components to our internal Drupal 8 framework. Our corporate website is currently running on Drupal 7, and so, in some of the feedback that we received, people naturally wanted to see an example of the Live Component Guide in Drupal 8. After all, that’s the latest version of the Drupal platform that all new Drupal sites are being built using it.

I’m happy to announce now that those components have made their way into Acro Media’s Drupal Commerce demo site, Urban Hipster! Want to see it? I know you do. Check out the video demonstration below or go straight to the Urban Hipster’s Live Component Guide and take look for yourself.

Code Karate: Drupal 8 FlexSlider Module

Mar, 11/20/2018 - 04:27
Episode Number: 220

The Drupal 8 Flex Slider Module allows you to use the Flex Slider library to build out slideshows on your Drupal website. This video covers how to get Flexslider to integrate with Drupal views as well as Drupal fields.

Tags: DrupalContribViewsDrupal 8Image HandlingMediaSite BuildingDrupal Planet

Páginas