Dries Buytaert: Offering more inclusive user demographic forms

Planet Drupal - 9. Mai 2018 - 20:15

© Open Demographics Initiative's gender identification questions

Last week, Nikki Stevens presented "Other, Please Specify" for TEDx at Arizona State University. In her TED Talk, Nikki shares the story behind the Open Demographics Initiative, which is developing a recommended set of questions that anyone can use to ask online community members about their demographics.

Nikki demonstrates how a majority of demographic surveys require users to conform to restrictive identity fields, which can alienate minority or underrepresented groups. The Open Demographics Initiative wants to develop forms that are more inclusive, in addition to giving people more control over the data and information they chose to disclose.

Inspired by Nikki's presentation, I reached out to the engineering team at the Drupal Association to see if there are plans to implement the Open Demographics Initiative's recommendations on Drupal.org. I was happy to learn that they are collaborating with the Open Demographics team to add the recommendations to the user registration process on Drupal.org.

Adopting Open Demographics on Drupal.org will also allow us to improve reporting on diversity and inclusion, which in turn will help us better support initiatives that advance diversity and inclusion. Plus, we can lead by example and inspire other organizations to do the same.

Thank you Nikki, for sharing the story behind the Open Demographics Initiative, and for helping to inspire change in the Drupal community.

Acquia Lightning Blog: New React-based content Scheduler

Planet Drupal - 9. Mai 2018 - 19:28
New React-based content Scheduler Adam Balsam Wed, 05/09/2018 - 13:28

Lightning 3.1.4 (released on 9 May) ships with a completely new content scheduler built in React. Here's an example of an editor scheduling a piece of content to be published on Friday and archived the following Monday:

We had four main goals when creating this scheduler:

  1. Simplify the UX [Issue #2935198]
  2. Make the scheduler available on content creation forms [Issue #2935105]
  3. Add ability to schedule multiple transition in serial [Issue #2936757]
  4. Give content editors the ability to set the date that content should be published [Issue #2935715]

For the first goal, we had a related team goal of creating something in React. Originally we had thought that might be an internal tool, something that never saw the light of day, or perhaps a configuration form. But when we started digging into the UX challenges of the scheduler, we realized this was a great fit. The result is a responsive, intuitive widget that sits quietly out of the way until you need to interact with it.

The second and third goals were just to fix a couple or regressions that were introduced when we moved away from the Scheduled Updates module as part of the migration to Content Moderation. Both are table stakes functionality for a usable scheduler.

Finally, the fourth goal comes from the reality that, in many workflows, content authors are often the person who knows when content should actually be published. But content authors usually don't have permission to actually publish content - and, as a result, can't schedule that transition either. This system allows site builders to create an "Approved for publish" state. Content authors can then schedule a transition from that state to "Published", but the transition won't actually happen unless an Editor moves the content into the "Approved for publish" state first. Look for more documentation about how we expect people to use that functionality in the near future.

You can find a sandbox of Lightning Scheduler - along with Lightning's other features here:
https://lightning.acquia.com/lightning (admin/admin)

Or update to Lightning 3.1.4 yourself:

$ composer require acquia/lightning:3.1.4 --no-update $ composer update acquia/lightning --with-all-dependencies

Thanks to everyone who helped with testing and UI enhancements. Please file issues in Lightning Workflow's issue queue.

Bill Gates: Apple eine "unglaubliche Firma" mit dem "höchsten" Gewinnpotenzial

heise online Newsticker - 9. Mai 2018 - 18:00
In einem Interview hat der Microsoft-Mitbegründer den iPhone-Hersteller in den höchsten Tönen gelobt. Sein Freund, der Investor Warren Buffett, würde unterdessen am liebsten 100 Prozent von Apple erwerben.

Nintendo Switch Online: Abonnenten können in der Cloud speichern und Klassiker spielen

heise online Newsticker - 9. Mai 2018 - 17:30
Nintendo hat den Abo-Dienst Switch Online enthüllt: Kunden können ihre Speicherstände in der Cloud ablegen und so einfacher zwischen Geräten wechseln. Außerdem sind 20 Nintendo-Klassiker kostenlos spielbar.

Kanada: Strafverfahren wegen Downloads frei verfügbarer Dokumente eingestellt

heise online Newsticker - 9. Mai 2018 - 17:00
Ein Teenager war des Computer-Missbrauchss beschuldigt, weil er frei verfügbare Dateien von einem Provinzserver heruntergeladen hatte. Nachdem die Provinzregierung elf weitere Bürger belangen wollte, hat die Polizei die Ermittlungen eingestellt.

Windows 10: Microsoft pusht Update 1803 ab heute auf Privatrechner

heise online Newsticker - 9. Mai 2018 - 16:30
Windows-Anwender sollten sich darauf einstellen, dass ein größeres Update fällig wird. Microsoft hat damit begonnen, das April-Update für Windows 10 an die breite Masse auszuliefern.

Brexit: Streit über britische Beteiligung an Galileo – London droht mit eigener Satellitennavigation

heise online Newsticker - 9. Mai 2018 - 16:30
Nach dem Brexit könnte Großbritannien den exklusiven Zugang zum Satellitennavigationssystem Galileo verlieren, auf den unter anderem das Militär angewiesen ist. London droht deshalb eine eigene Alternative aufzubauen, Brüssel bleibt unbeeindruckt.

Android Things verlässt die Preview-Phase

heise online Newsticker - 9. Mai 2018 - 16:30
Nach sieben Developer-Preview-Versionen hat Google nun Android Things 1.0 veröffentlicht. Die APIs standen schon mit dem Release Candidate fest, aber bei den Hardwareplattformen gibt es einige Neuerungen.

OpenConcept: Privacy is a Big Deal!

Planet Drupal - 9. Mai 2018 - 15:39

The tech sector has undermined personal privacy in the constant pursuit of the latest shiny thing. Privacy is a core component of our democracy and is essential for free expression.

Most have assumed that it is built into the online tools that they use every day. This isn't the case. The media coverage of Cambridge Analytica and Facebook how dangerous this is. The model of surveillance capitalism put forward by Google is now very advanced. Big Data & Artificial Intelligence gives businesses more insights than Big Brother dreamed possible.

Many people are coming to the realization that some state regulation is needed if we are to protect individual freedoms.

Europe has recently instituted the General Data Protection Regulation (GDPR). This legislation is groundbreaking as it not only applies to people in Europe, but to everyone with a European citizenship. How many websites around the world know that they do not have members who have European citizenship?

For the first time, there are real fines associated with not protecting the rights of European Citizens. Violators face fines of up to 4% of annual global revenue or €20 million (whichever is greater).

Most organizations in North America are unaware of the potential implications. Most organizations here probably won't be the first targets, for the European Union, but that is a big risk. The European Commission, the EU’s legislative arm, may choose to be aggressive on the world stage.

I first got involved in looking at the GDPR in early 2017. It seemed that this regulation was something that was complex enough that it should be in Drupal Core. So I started a Drupal issue.

In a CMS like Drupal, it is fair to assume that 80% of the implementations might have some ties to the GDPR. Outside of Europe, the urgency is reduced but for most organizations, it doesn't disappear. My view was that as much as possible should be done at the root of the problem. For many organizations, that is a front facing application like Drupal or WordPress.

Now there is only a small amount that a website can do to bring you to GDPR compliance. As with accessibility, there is value in documenting what you have done for the public. Just like we have a public accessibility statement, we also one for privacy. Users need to have an easy way to know what data you are collecting and how long you keep it for.

There are good efforts in many open source communities to collaborate on building a best practice. These won't be completed for the May 25th deadline, but are still important. It is great to see the leadership from the WordPress and Typo3 communities. There are some great initiatives in Drupal too, including the formation of a Drupal GDPR Compliance Team. This is a community effort to collect and organize improve privacy in our community.

Privacy is a big thing. As with security, there are going to be some elements that really should be dealt with in Drupal Core. The GDPR legislation goes much deeper than this though and will vary much depending on the data collected. There are some great modules that released that are making this much easier. Some changes will need to be made in popular modules that collect user data. There are also challenges like dealing with backups and verifying removal.

More important than the technology is the social side of complying with the GDPR. Documenting the work that has been done, changing the organizational workflow. Ensuring that an organization is legally compliant. The biggest challenge though is in changing the culture so that we challenge ourselves to ask "why are we collecting this information?" - there is a lot of information collected that we just don't need but ask for anyway.

Topic: Primary Image: 

Axelerant Blog: Women at Axelerant: Chapter One

Planet Drupal - 9. Mai 2018 - 15:11

I sat down to speak with the amazing women of Axelerant, and they each shared their unique perspectives about what it's like being professionals in their field. In this chapter, Shweta, Avni, Trupti, and Karuna expound on this—and in their own words.

Autonomes Fahren: Tödlicher Uber-Unfall angeblich durch Software-Fehler verursacht

heise online Newsticker - 9. Mai 2018 - 15:00
Die Software des autonomen Uber-Autos, das in Arizona eine Fußgängerin erfasste, soll selbstständig entschieden haben, nicht zu reagieren.

Build 2018: IntelliCode – C#-Eingabeunterstützung mit künstlicher Intelligenz

heise online Newsticker - 9. Mai 2018 - 15:00
Microsoft hat auf der Konferenz Build 2018 eine neue Erweiterung der Eingabeunterstützung seiner C#-Programmcodeeditoren in Visual Studio und Visual Studio Code angekündigt, die KI-Algorithmen verwendet.

Ixis.co.uk - Thoughts: Last Month in Drupal - April 2018

Planet Drupal - 9. Mai 2018 - 15:00
April provided plenty of news and updates in the Drupal world and here we take a look at all the best bits from the previous month.

Smartphones in fünf Minuten selbst bauen – mit dem Kiteboard

heise online Newsticker - 9. Mai 2018 - 14:30
Auch ein Smartphone lässt sich selbstbauen. Das neue Kiteboard ist die Basis eines Bausatzes, für dessen Zusammenbau nur ein Schraubendreher nötig ist. Nun sucht das Open-Hardware-Projekt aus Indien erste Kunden.

Build 2018: Microsoft kündigt Windows-Desktopprogrammierung für .NET Core 3.0 an

heise online Newsticker - 9. Mai 2018 - 14:00
Für .NET Core 3.0 hat Microsoft große Pläne und will unter anderem WPF und Windows Forms unterstützen, wenn auch nur unter Windows. Entwickler können in die bestehenden Anwendungen unter anderem UWP-Elemente einbinden.

Microsoft Build eröffnet: Entwickeln mit KI

heise online Newsticker - 9. Mai 2018 - 14:00
Microsoft macht bei der Eröffnung seiner Entwicklerkonferenz Build 2018 klar, worauf es dem Unternehmen ankommt: Entwickler sollen künstliche Intelligenz aus der Azure-Cloud einsetzen. Dafür veröffentlicht der Konzern auch mehr Code als Open Source.

Bochum: Mit Unitymedia und den Stadtwerken ins Gigabit-Internet

heise online Newsticker - 9. Mai 2018 - 13:30
Die Ruhrgebietsstadt startet ins Gigabit-Zeitalter gegeben. Über DOCSIS 3.1 bietet Unitymedia in weiten Teilen der Stadt bis zu 1000 MBit/s an, ergänzt durch Glasfaser-Anschlüsse der Stadtwerke.

Lullabot: Drupal JavaScript Initiative: The Road to a Modern Administration UI

Planet Drupal - 9. Mai 2018 - 13:19

It's now been over 10 years since Drupal started shipping jQuery as part of core, and although a lot of Drupal's JavaScript has evolved since then it's still based on the premise of progressive enhancement of server-side generated pages. Meanwhile, developing sites with JavaScript has made huge strides thanks to popular rendering frameworks such as React, Angular, and Vue. With some of the web's largest sites relying on client-side only JavaScript, and search engines able to effectively crawl them, it's no longer imperative that a site provides fallback for no JavaScript, particularly for specialised uses such as editorial tasks in a content management system.

At DrupalCon Vienna, the core JavaScript team members decided to adopt a more modern approach to using JavaScript in Drupal to build administrative interfaces, with efforts centred around the React framework from Facebook. To try this out, we decided to build a prototype of the Database Logging page in React, and integrate it into Drupal.

Why Not Vue or Angular?

We chose React because of its popularity, stability, and maturity. Many client projects built with Drupal have successfully leveraged the model of annotating Drupal templates with Angular or Vue directives for quite some time now, but we were wary of building something so tightly coupled with the Drupal rendering monolith. We're very aligned with the API-first initiative and hope that through this work we can create something which is reusable with other projects such as Vue or Angular. The choice of library which renders HTML to the browser is the easiest part of the work ahead, with the hard problems being on the bridge between Drupal and the front-end framework.

What We Learned From The Prototype undefined

As we anticipated, rendering something in React was the easy part— our early challenges arose as we realized there were several missing exposed APIs from Drupal, which we addressed with help from the API-first initiative. Having completed this, we identified a number of major disadvantages to our approach:

  • Although we were creating a component library that could be re-used, essentially we were embedding individual JavaScript applications into different pages of a Drupal theme
  • Our legacy JavaScript was mixed in on the page alongside the new things we were building
  • The build process we currently have for JavaScript can be frustrating to work with because Drupal doesn't have a hard dependency on Node.js (and this is unlikely to change for the time being)
  • A developer coming from the JavaScript ecosystem would find it very unfamiliar

The last point in particular touches on one of the biggest tensions that we need to resolve with this initiative. We don't want to force Drupal's PHP developers also to have to know the ins-and-outs of the JavaScript ecosystem to build module administration forms, but we also don't want developers coming from the world of JavaScript—with promises of "We use React now, so this will be familiar to you!"—to then have to learn PHP and Drupal's internals as well. Having discussed this at length during our weekly initiative meetings, we decided to build an administration interface that is completely separate from Drupal itself, and would only consume it's APIs (aka decoupled). The application would also attempt to generate administration forms for some configuration scenarios.

Hello, world!

We began building our decoupled administration application based on the Create React App starter-kit from Facebook. This is an extremely popular project that handles a lot of the complexities of modern JavaScript tooling and creates a very familiar starting point for developers from the JavaScript ecosystem. So far we haven't needed to eject from this project, and we're enjoying not having to maintain our Webpack configurations, so fingers crossed we can continue with this approach indefinitely.

The first page we decided to build in our new application was the user permissions screen so we could experiment with editing configuration entities. One of the challenges we faced in the implementation of this was the inability to get a list of all possible permissions, as the data we had available from Drupal's API only gave us permissions which had been enabled. We created an Admin UI Support module to start providing us with these missing APIs, with the intention to contribute these endpoints back to Drupal once we have stable implementations.

undefined

We chose to use GitHub as our primary development platform for this initiative, again because we wanted to be in a place familiar to as many developers as possible, as well as to use a set of workflows and tools that are common across the greatest number of open source projects and communities. Using GitHub and CircleCI, we've created an automated build process which allows Drupal developers to import and try out the project with Composer, without requiring them to install and run a build process with Node.js. Over the long-term, we would love to keep this project on GitHub and have it live as a Composer dependency, however, there are logistical questions around that which we'll need to work through in conjunction with the core team.

A New Design

Having got the architectural foundations in place for our application, we then turned to the team working on redesigning the admin UI to collaborate more closely. One of the features we had already built into our application was the ability to fall-back to a regular Drupal theme if the user tried to access a route that hadn't been implemented yet. Using this feature, and trying to keep in mind realistic timelines for launching a fully decoupled admin theme, the team decided that our current path forward will involve several parallel efforts:

  • Create new designs for a refreshed Seven-like theme
  • Adapt the new designs to a regular Drupal theme, so the fallback isn't jarring for the user
  • Build sections of the administration interface in the new React application as designs become available, hopefully starting with the content modeling UI
undefined Hard Problems

We still have a lot of issues to discuss around how the administration application will interact with Drupal, how extensible it can be, and what the developer experience will be like for both module authors and front-end developers. Some of the major questions we're trying to answer are:

  • How and what is a Drupal module able to do to extend the administration UI
  • We're not looking to deprecate the current Drupal theming system, so how can modules indicate which "mode" they support
  • If a module wants to provide its own React component, do we want to include this in our compiled JavaScript bundle, and if so how do we build it when Drupal has no requirement to include Node.js
  • How can modules provide routes in the administration UI, or should they become auto-generated
  • How do we handle and integrate site building tools such as Views, or do we replace this with the ability to swap in custom React components
Forms

How we're going to handle forms has been a big point of discussion, as currently Drupal tightly couples a form's schema, data, validation, and UI. Initially, we took a lot of inspiration from Mozilla's react-jsonschema-form project, which builds HTML forms from JSON schema and separated out these concepts. Nevertheless, a major issue we found with this was it still required a lot of form creation and handling to happen in Drupal code, instead of creating good API endpoints for the data we want to fetch and manipulate.

undefined

The approach we're currently looking at is auto-generating forms from configuration entities and allowing a module to provide a custom React component if it wants to do something more complex than what auto-generation would provide. Here's a working (unstyled!) example of the site information form, which has been auto-generated from an API endpoint.

undefined

We're now looking to augment configuration entities with metadata to optionally guide the form display. (For example, whether a group of options should be a select dropdown or radio buttons.

Try It Out and Get Involved

We have a Composer project available if you want to check out our progress and try the administration interface out (no previous Drupal installation required!). If you're looking to get involved we have weekly meetings in Slack, a number of issues on GitHub, our initiative plan on drupal.org, and lots of API work. You can also join us in-person at our next sprint at Frontend United in June.

A very special thank you to my initiative co-coordinators Matt Grill and Angie Byron, as well as Daniel Wehner, Ted Bowman, Alex Pott, Cristina Chumillas, Lauri Eskola, the API-First initiative, and all our other contributors for everyone's stellar work on this initiative so far!

⬅️✌️➡️  

Nach Übernahme: Apple stellt Windows-Version von Texture ein

heise online Newsticker - 9. Mai 2018 - 13:00
Der von Apple aufgekaufte Magazin-Abo-Dienst lässt sich künftig nicht mehr unter Windows nutzen – iOS- oder Android-Gerät werden dann zur Lektüre vorausgesetzt.

Pokémon Go: Niantic lädt zum Sommerfest nach Dortmund

heise online Newsticker - 9. Mai 2018 - 12:30
In diesem Sommer legt Niantic mehrere große Pokémon-Go-Events neu auf, darunter eine Safari Zone in Deutschland.