re:publica: Ruf nach Schutz von Hirndaten vor kommerzieller Auswertung

heise online Newsticker - 8. Mai 2018 - 12:00
Mit "Brainscannern" wird es immer leichter, Gehirnwellen zu messen. Forscher befürchten, dass sich die Geräte bald verbreiten wie Smartphones und dass Hirndaten im großen Maßstab von Facebook, Google & Co. in die Cloud geladen und analysiert werden.

Bluesmart: Hersteller "smarter" Koffer gibt auf

heise online Newsticker - 8. Mai 2018 - 11:30
Das Crowdfunding-Unternehmen Bluesmart hat die Produktion smarter Gepäckstücke eingestellt. Mehrere große Fluggesellschaften verbieten mittlerweile den Transport fest verbauter Akkus, das brachte die Firma in Schwierigkeiten.

Abgas-Skandal: Bundesländer fordern Milliardenbußen für Autohersteller

heise online Newsticker - 8. Mai 2018 - 11:30
Im Skandal um manipulierte Diesel-Fahrzeuge fordern zwei Bundesländer den Verkehrsminister auf, Geldbußen gegen die Autohersteller zu verhängen. Damit wollen sie Fahrzeughalter beim Nachrüsten finanziell unterstützen.

NASA-Lander InSight ist unterwegs zum Mars

heise online Newsticker - 8. Mai 2018 - 11:30
Die Mars-Forschung bekommt weitere Unterstützung: Der Nasa-Lander "InSight" hat sich auf den Weg zu dem Planeten gemacht. Ende November soll er landen - und dann ganz tief in den Mars hinein schauen.

Mobilfunkabdeckung in Niedersachsen: Bürger geben 1600 Hinweise auf Funklöcher

heise online Newsticker - 8. Mai 2018 - 11:00
Das niedersächsische Wirtschaftsministerium hat über sein Internet-Portal zum Melden von Funklöchern im Mobilfunknetz zahlreiche Rückmeldungen erhalten. Demnach gibt es große Lücken im Netz.

Nokia 1: 99-Euro-Handy mit Android Go im Test

heise online Newsticker - 8. Mai 2018 - 11:00
Das Nokia 1 kostet weniger als 100 Euro und bringt das besonders sparsame Android-Go-Betriebssystem mit. Ob sich der Kauf lohnt, zeigt unser Test.

Nvidia stellt Partnerprogramm nach Vorwürfen ein

heise online Newsticker - 8. Mai 2018 - 10:30
Grafikchip-Hersteller Nvidia wollte Grafikkarten-Produzenten enger an sich binden und so Konkurrenten wie AMD aus dem Markt drängen. Nach massiver Kritik hat das Unternehmen sein Partnerprogramm nun eingestellt.

re:publica "Netzfest": Digitalisierung geht alle an

heise online Newsticker - 8. Mai 2018 - 10:00
Zum Abschluss starteten die re:publica-Macher das erste digitale Volksfest. Das Familienfest sollte die Themen der Konferenz mit Live-Musik, tanzenden Robotern, 3D-Druck, Vorträgen, Workshops und Mitmach-Aktionen einer breiteren Masse zugänglich machen.

Brandenburger Internetwache: Immer mehr Anzeigen gehen online ein

heise online Newsticker - 8. Mai 2018 - 9:30
Eine Straftat zur Anzeige zu bringen, ist nicht immer einfach. Manchmal erfordert es auch Mut. Die Polizei in Brandenburg bietet darum eine besonderen Service. Eine Internetwache bieten viele Bundesländer an.

Wochenrückblick Replay: Weniger Abgase, höhere Akkukapazität, neue Intel-Bugs

heise online Newsticker - 8. Mai 2018 - 9:30
Getunte E-Bikes werden zur Gefahr für ihre Fahrer und Dritte, Elon Musk verscherzt es sich mit Investoren, neue Sicherheitsprobleme in Intel-CPUs sind entdeckt worden: die wichtigsten Meldungen der Woche.

c't uplink 22.1: Retrokonsole Super Nt, Android-Trojaner, Gaming-Tastaturen

heise online Newsticker - 8. Mai 2018 - 9:30
Heute in c't uplink: Wir bringen SNES mit Hilfe der Retro-Spielekonsole Super Nt zurück, analysieren Android-Trojaner und testen Gaming-Tastaturen für die Couch.

Appnovation Technologies: Using React library on Drupal: There's more....

Planet Drupal - 8. Mai 2018 - 9:00
Using React library on Drupal: There's more.... Following up from my post last week, I wanted to add some additional material regarding React on Drupal...I hope you'll find it useful... Bonus - Extend the components to Drupal regions The react image gallery module provides a very easy way to display an image gallery on any piece of content, however what happen if we want to ...

FPGA-Erweiterung fürs RISC-V-Linux-Entwicklerboard

heise online Newsticker - 8. Mai 2018 - 8:30
Die Microsemi-Erweiterungsplatine mit PolarFire-FPGA bringt dem HiFive Unleashed mit 64-Bit-RISC-V-CPU Schnittstellen wie PCI Express, SATA, USB, SD-Karte und HDMI.

VR-Headset: Oculus zeigt auf der F8 neuen Prototyp “Half Dome”

heise online Newsticker - 8. Mai 2018 - 8:00
Im Rahmen von Facebooks Entwicklerkonferenz F8 hat Oculus einen neues VR-Headset vorgestellt. Der Prototyp hat Eye-Tracking und ein bewegliches Display, das ein auf 140 Grad erweitertes Sichtfeld ermöglicht.

Nokia 6 (2018) im Test: Android One im Aluminium-Mantel

heise online Newsticker - 8. Mai 2018 - 7:00
Das neue Nokia 6 (2018) ist ein Mittelklasse-Smartphone im Aluminiumgehäuse und Android One als Betriebssystem. Ob der Kauf lohnt klärt der Test von TechStage.

re:publica: Justizministerin Barley fühlt sich von Facebook verschaukelt

heise online Newsticker - 8. Mai 2018 - 6:30
Vertreter von Facebook hätten ihr in persönlichen Gesprächen mehrfach versichert, dass der Netzwerkbetreiber die EU-Datenschutzverordnung weltweit als Basis nehmen wollten, beklagte Justizministerin Katarina Barley. Nun sei alles anders gekommen.

Jacob Rockowitz: It is okay for you to plan an exit strategy, we should be okay with off-boarding contributors, and everyone says goodbye

Planet Drupal - 8. Mai 2018 - 1:32

People come and go from open source projects and communities

Most people would agree that everyone should contribute something back to Open Source at some point in their careers. We have to realize that an ongoing Open Source contribution to a project can't be sustained forever. We might graduate from college, get a new job, need a break to travel, have kids, help raise grandkids, retire and even get bored with a project. While we need to improve open source sustainability, we also need to accept the reality that people continually come and go from open source projects.

Developer burnout should not be part of open source

Up until recently, I felt that 'burnout' was the only talked about method when people left the Drupal community. Up until DrupalCon, I thought that once I committed to supporting something, like a module, I was obligated indefinitely or at least until I burned-out from supporting it.

In my new year blog post title, Webform, Drupal, and Open Source...Where are we going?, I stated…

...and I don't think I am the only one.

Are we expecting too much?

Jeff Eaton's presentation titled "You Matter More Than The Cause" addresses burnout and how it impacts the sustainability of teams and he says…

I think we need to stomp out the concept of developer burnout in Open Source and equate developer burnout to poorly-managed companies and organizations.

Planning an exit strategy can prevent burnout

One of many valuable lessons I learned at Adam Goodman's Teamwork and Leadership Workshop at DrupalCon Nashville was that it’s okay to plan an exit strategy, it’s even something that can ultimately help the community and potentially...Read More

Palantir: Supporting Innovation Through Contribution

Planet Drupal - 7. Mai 2018 - 21:18
Supporting Innovation Through Contribution brandt Mon, 05/07/2018 - 14:18 George DeMet May 8, 2018

Companies, agencies, and organizations that contribute to the Drupal project and community play a key role in supporting and sustaining a culture of innovation.

Drupal has a long and rich history of supporting and sparking innovation. Drupal 8 in particular represents a fundamental shift in thinking about how websites and other digital experiences are built. With its modular architecture, improved APIs, configuration management, and native web services support, Drupal 8 is well-positioned to help connect people, technology, and information in ways that have never before been possible.

Companies, agencies, and organizations that contribute to the Drupal project and community play a key role in supporting and sustaining a culture of innovation. This contribution can take on many forms, including setting aside time for employees to contribute to the Drupal project and community, sponsoring people to work exclusively on Drupal, and donating money to sponsor Drupal initiatives and events.

Impact of Contribution on Innovation

An ever-growing body of research into open source ecosystems is shedding light into the ways that different forms of contribution have on innovation for firms who contribute as well as the projects that benefit from those contributions. Firms that contribute to Drupal are generally driven by extrinsic motivators, such as the belief that working with the community will help them develop better products, or provide them with increased visibility and status within the community, which in turn helps drive sales and/or recruit talent.

Jonathan Sims, a professor of strategy at Babson College, has spent years studying how firms in the Drupal ecosystem engage with each other and the project to promote open innovation. In a 2016 paper published in the Oxford Journal of Industrial and Corporate Change, he found that while the impacts of contribution on a firm’s productivity are usually marginal, contribution does help expand social ties and can shift strategic posture and promote innovation.

While contributing code is associated with stronger social ties and more incremental innovations, providing help or support to others in the community is associated with a more conservative strategic posture, but more radical innovations. Firms that primarily contribute code to projects like Drupal are more likely to be building on top of someone else’s work and/or collaborating with someone else to solve a shared problem. Providing help on the other hand, is much more context-dependent and is more likely to lead to new questions and possible new insights, thus providing more opportunities for radical innovation within a given domain.

The Virtuous Cycle

Regardless of what form contribution takes, participating in an open source ecosystem like Drupal requires that firms be open and willing to share their knowledge and intellectual property with others. Drupal project lead Dries Buytaert has discussed how companies and organizations like Pfizer and Hubert Burda Media are not only sharing Drupal contributions with their competitors, but also challenging those competitors to contribute back as well. He argues that by working together, these organizations not only gain a competitive edge, but also reap the benefits of accelerated innovation:

“Those that contribute to open source are engaging in a virtuous cycle that benefits their own projects. It is a tide that raises all boats; a model that allows progress to accelerate due to wider exposure and public input.”

We’ve seen this virtuous cycle play out countless times at Palantir. One example is from several years ago, when we found that out that on many of the projects that we worked on, clients often had a specific set of expectations around content workflow and editorial access based on their experience with other platforms, and that all too often, Drupal didn’t meet those expectations out of the box. In response to this business need, we created and released a suite of modules called Workbench that provided a unified interface and tools to enable authors and editors to focus on managing their content.

While Palantir team members did the initial heavy lifting on the code development for Workbench, over time, other firms (including some of our competitors) started using and extending the system, building on top what we had released. Thanks to the efforts of those involved in the Drupal Workflow Initiative, the moderation functionality of Workbench was added to Drupal core as the Content Moderation module, making the software better for everyone. This in turn makes Drupal a more attractive choice than competing platforms and expands the market for the firms that work with it.

Extrinsic and Intrinsic Motivation

In contrast to the external incentives that drive most firms to contribute to open source projects like Drupal, individuals are more likely to be driven by intrinsic motivators to contribute. Not only do they get to feel like they’re part of something bigger than themselves, but participating in the Drupal community is also a good way to form social ties with other like-minded people who want to see their contributions make a difference in the world.

Despite the large number of individual contributors to the Drupal project, a very small number do the majority of the work. Contribution data on Drupal.org reveals that nearly half of the people who contributed code to the project got just one credit, while the top .4% of all contributors (30 people) accounted for over 17% of the total credits.

One likely reason for this imbalance is Drupal’s reputation for having a steep learning curve. User research conducted by Whitney Hess and the Drupal Association in 2014 found that while the project is good at onboarding people at the entry level of engagement, the transition to higher levels is much more challenging and is where many people end up dropping out of the project.

Providing resources and support to help more people move up the contribution ladder helps spread the burden across more shoulders, introducing new perspectives and reducing burnout, particularly within the core developer community. Having more engaged community members also helps mitigate one of the historical hurdles to Drupal adoption, which is the shortage of skilled developer talent.

Firms that work in the Drupal ecosystem can both address the talent shortage problem and support innovation within their own organizations by supporting professional development opportunities that help their employees “level up” existing skills and pass on knowledge to less experienced team members. For many organizations, this is also a much more economical and sustainable way to build and grow a Drupal team than relying exclusively on hiring from a limited and increasingly in-demand pool of existing “rockstar” talent.

Removing Barriers to Contribution

It is vitally important for any open source project to remove barriers to contribution, whether real or perceived, because they undermine both the intrinsic motivations of individual contributors and the extrinsic motivations of companies, agencies, and other organizations. Likewise, it’s important for projects not to place too much emphasis on extrinsic motivators, as that can also undermine intrinsic motivation. In this way, recognizing different kinds of contribution can be a delicate balancing act.

Over the last few years, the Drupal Association and others have worked to help track and acknowledge more forms of contribution on Drupal.org by improvements to user and organizational profile pages, adding the ability for organizations to receive credit for work on projects and issues, and tying case studies directly to organizations as well as individual contributors. Along with paid sponsorships, these improvements enable companies and organizations who contribute to the project and community to receive greater visibility on Drupal.org, which benefits both sales and recruiting efforts.

Other forms of contribution, such as local event and user group sponsorship and organization, writing documentation, and providing mentorship are less easy to measure, but also critically important to the health of the project. In a paper presented at DrupalCon Barcelona in 2015, David Rozas, a sociologist and computer scientist who studies the technical and social aspects of technology, argued that these kinds of “community-oriented” contributions are actually more important to a project’s long-term sustainability than code contributions because they are emotional experiences that serve to strengthen the project’s sense of community.

Firms that are not in a position to contribute code to Drupal can contribute time and/or money toward efforts that help promote the project and community, such as local and regional events or Drupal Association partnership programs and special initiatives. These kinds of contributions can often have a greater impact on innovation than code alone.

Thank You for Your Support!

Drupal boasts one of the largest and most diverse communities of any open source project, which along with a culture that supports and values contribution, has enabled it to become a leading platform for digital innovation. With the support of the companies, organizations, and individuals that use and contribute back to it every day, Drupal is poised to inspire innovation for many years to come.

Community Drupal Open Source People Workbench

Mail-Erpresser wollen Bitcoin: "Masturbieren ist natürlich normal, aber…"

heise online Newsticker - 7. Mai 2018 - 20:00
Aktuell versuchen Erpresser den Eindruck zu erwecken, sie besäßen Aufnahmen der Opfer, wie sie pornografische Videos anschauen. Dabei handelt es sich um leere Drohungen.

Palantir: Conscious Decoupling: The Case of Palantir.net

Planet Drupal - 7. Mai 2018 - 19:31
Conscious Decoupling: The Case of Palantir.net brandt Mon, 05/07/2018 - 12:31 Ken Rickard May 9, 2018

Our new site uses VueJS to produce single page applications. By tying these applications to content creation, our content editors can create dynamic new pages without needing an engineer.

Alex Brandt recently wrote about the new redesign of the new Palantir.net site: what the goals were, what we wanted to improve, and the process by which we approached the project. I want to speak more from a development viewpoint around how we decoupled the new www.palantir.net site in order to create better relationships between content.

A major goal of our 2018 redesign was to feature more content and make it easier for people to surface topics that interest them. The strategic plan and design called for a system that allows people to filter content from the home page and other landing pages (such as our Work page).


In the modern web, people expect this filtering to take place without a page refresh. Simply select the filter and the content should update immediately.

This presents an opportunity to explore methods for achieving this effect. In addition, the following features were desired:

  • The ability to feature specific content at the top of the page
  • A process to insert content other than Drupal pages into the list display
  • A way to select what types of content appear on the page
  • A method to restrict the total count of items displayed on the page
  • The ability to add one or two filters to the page; or none at all

From the developer’s point-of-view, we also added:

  • The ability to allow editors to create and configure these dynamic pages without additional programming

The design and development of the new site followed our understanding of what “content” means to different teams. We know that understanding how to implement the design requirements isn’t enough. We had to think through how editors would interact with (and control) the content.

There is a lot of talk around “decoupled” Drupal these days — the practice of using Drupal as an editing environment and then feeding data to a front-end JavaScript application for rendering. Certainly we could have chosen to decouple the entire site. That process, however, brings extra development time and overhead. And in our case, the site isn’t large enough to gain any advantage from rapidly changing the front-end.

So instead we looked at ways to produce a dynamic application within Drupal’s template system. Our technical requirements were pretty standard:

  • A template-driven JavaScript content engine
  • Rendering logic (if/else and simple math)
  • Twig compatibility
  • A single source file that can be served from CDN or an application library

This last requirement is more a personal preference, as I don’t like long, fixed dependency chains during development. I specifically wanted a file I could drop in and use as part of the Drupal front-end.

Based on these requirements and a few basic functionality tests, we settled on the VueJS library. Vue is a well-documented, robust framework that can be run server-side or client-side. It provides DOM-manipulation, templated iteration, and an event-driven interaction API. In short, it was perfect for our needs.

Even better, you can start using it immediately:

 

At the core of Vue.js is a system that enables us to declaratively render data to the DOM using straightforward template syntax. Vue uses the handlebars syntax -- familiar to Twig users -- to define and print variables set by the application:


  {{ message }}

var app = new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue!'
  }
})

When working with Twig, which also uses handlebars to wrap variables, we must wrap VueJS variables in the {% verbatim %} directive like so:


  {% verbatim %}{{ item.slug }}{% endverbatim %}

Unless you hardcode variables, Vue pulls all of its data via JSON, which can be provided out-of-the-box by Drupal’s Views module.

To make the application work, we needed to provide the following elements:

  • A JSON feed for content to display, with featured items at the top
  • A JSON feed for each filter to use
  • A JSON feed for insert content

The first elements -- content -- consists of two JSON directives controlled by editors. First, there is a Featured Content field that can be used to select content for the top of the page:

Editors may choose to only populate this content, and they may choose as many items as they wish. Below this content, we optionally add additional content based on type. Editors may select what types of content to add to the page. For the homepage, we include four content types:

Editors may then select which filters to use, if any are desired. Two options are available, but one can be selected. The filters may be sorted as desired.

Further, if the editor selects the Filter by Type option, the first filter will be replaced by a Content Type list taken from the selections for the current page. This technique is made easier by the dynamic nature of the VueJS application, which is expecting dynamic content. It has the added bonus of making the work future proof, as editors can add and adjust pages without additional coding.

Lastly, editors can add “insert” content to the page. These inserts are Drupal Paragraphs -- custom fielded micro-content -- that optionally appear sprinkled through the content.

These inserts leverage Vue’s logic handling and template system. Here is a code snippet for the inserts:

 
   
     
       
          {% verbatim %}{{ item.link_text | decode }}{% endverbatim %}
          {% verbatim %}{{ item.slug | decode }}{% endverbatim %}
       
     

   
   
     
       
         
            {% verbatim %}{{ item.slug | decode }}{% endverbatim %}
         
         
            {% verbatim %}{{ item.author | decode }}{% endverbatim %}
             
               
                {% verbatim %}{{ item.link_text | decode }}{% endverbatim %}
               

             
             
                {% verbatim %}{{ item.link_text | decode }}{% endverbatim %}
             
           
         
       
     
   
   
     
       
          {% verbatim %}{{ item.slug | decode }}{% endverbatim %}
          {% verbatim %}{{ item.link_text | decode }}{% endverbatim %}
       
     
   
 

The v-if directive at the start tells the application to only render the entire template if the parent_id property is present. Since that property is unique to Paragraphs, this template is skipped when rendering a blog post or case study.

In cases of content types, we have a standard output from our JSON feed, so one template covers all use-cases:

 
 
   
   
      {% verbatim %}{{ item.type }}{% endverbatim %}
      {% verbatim %}{{ item.title | decode }}{% endverbatim %}
     
   
   
      {% verbatim %}{{ item.dates | decode }}{% endverbatim %}
      {% verbatim %}{{ item.location | decode }}{% endverbatim %}
   
   
     
      {% verbatim %}By {{ item.author_display }}{% endverbatim %}
   
   
      {% verbatim %}{{ getLinkText(item.type) }}{% endverbatim %}
   
   

 
 

Note the v-bind directive here. Vue cannot parse variables directly in HTML tag properties, so it uses this syntax to interact with the DOM and rewrite the element.

Other nice features include adding method calls like {{ getLinkText(item.type) }} that let Vue perform complex calculations on data elements. We also use Vue’s extensible filter system {{ item.summary | decode }} to perform actions like HTML escaping.

For instance, we pass the index position, content type, and background image (if present) to the getClass() method of our application:

// Get proper class for each cell.
getClass: function(index, type, image) {
  var $class = '';
  if (index == 2 || index == 5 || (index > 12 && index % 5 == 1)) {
    $class = $class + ' grid-item--lg';
  }
  if (type == 'Case Study') {
    $class = $class + ' grid-item--cs grid-item--dark';
  }
  else if (type == 'Collection') {
    $class = $class + ' grid-item--collection';
    if (index % 2 == 1) {
      $class = $class + ' grid-item--dark';
    }
  }
  else {
   $class = $class + ' grid-item--default';
  }
  if (image === undefined || image.length === 0) {
    if (index % 2 == 1) {
      return $class + ' grid-item--dark';
    }
    return $class;
  }
  return $class + ' grid-item--dark';
},

This technique lets us provide the light and dark backgrounds that make the design pop.

The end result is exactly what we need to deliver the experience the audience expects. And we get all that within a sustainable, extensible platform.

Is a decoupled Drupal site right for you? For us, a dynamic (yet not fully decoupled) instance made the most sense to improve the experience for our site users. We’d love to discuss whether or not the same flexibility would be beneficial for your site. Drop us a line via our contact form, or reach out via Twitter (@palantir).

Design Development Drupal Site Building