Latest Blog Posts

Selling the Drupal community to those here for the code

Submitted by timmillwood on Mon, 11/07/2016 - 13:03

Throughout the software development world there are many “evangelist” roles who sell the code to the community, but maybe we need the other side? Maybe we need to sell the community to the those who are just there for the code.

Drupal is famed for its community, with the slogan “Come for the code, stay for the community”, but as Drupal starts to evolve into a more enterprise platform it’s expected to see more organisations coming for the code, and staying just for the code. Why should we care?

Drupal Cores lists 3635 contributors to Drupal 8 core. Without these people you wouldn’t have Drupal. If you’re not supporting these people your business model is flawed. Many organisations sell Drupal to clients and / or use Drupal themselves. What would happen if Drupal wasn’t a sustainable platform anymore?

The Drupal Association doesn’t have anything to do with the code itself, but they do run the platform that packages the code, hosts the code, tests the code, markets the code, as well as many other roles within the community. This year and last year the Drupal Association had to lay off a number of staff members due to funding issues. Organisations really need to get behind the Drupal Association otherwise there will be no Drupal. There are a number of ways you can support the Drupal Association, and it’s great to see more and more non-dev-shops listed on https://www.drupal.org/organizations.

At Appnovation we have had a lot of growth over the last 2 years and with this growth community contributions have not kept up. Therefore we’re currently working on a community contributions program to try to inspire the company as a whole to work closer with all the open source communities. We’re also embedding this within the sales and pre-sales process too, so we can ensure our clients know about and understand the open source communities behind the software we’re using with them.

It’d be great to hear your thoughts, ideas, and views. In return there will be more blog posts with progress updates.

Workflow Initiative: What am I doing?

Submitted by timmillwood on Mon, 27/06/2016 - 16:45

The Workflow Initiative was announced just over a month ago and since then I have been working on the first phases full-time. Here’s what I’ve touched:

In Drupal 8.1.x the RevisionLogInterface was introduced, but not used. In 8.2.x the Node entity will use it. Also BlockContent entity will use it.

When we make everything revisionable we’ll need all entities to get their base fields from the base class. So from 8.2.x all content entities inherit their base fields.

To help people make sensible decisions Node revisions will now be enabled by default.

We got into a pretty annoying issue when trying to add revision fields to entities which already had data because the revision field couldn’t be set to NOT NULL. Andrei wrote an awesome patch to allow an initial from field to be set. We therefore set the revision id as the entity id.

When we make everything revisionable we’ll need an upgrade path, to test this the Shortcut entity is being upgraded to revisionable by a new service. This has still not been committed, so reviews are welcome.

We’re trying to get Workbench Moderation into core as Content Moderation. Still lots to do to make this happen, but the patch is there with passing tests.

Initial work has also started to get an archive field into all entities. This will allow us to have CRAP (create, read, archive, purge) workflow, create a trash system, and replicate entity deletion through environments.

Drupal Deploy demos

Submitted by timmillwood on Fri, 06/05/2016 - 08:32

Single site content staging with Deploy

This demo shows creating content on a stage workspace then deploying it to live. Once deployed an edit is made on the live workspace and an update is done on stage to pull from live.

Cross site content staging with Deploy

Now with RELAXed Web Services installed cross-site deployments can be done. First replicator users are setup with the permissions to replicate content. These users are added to the Relaxed settings on Drupal 1. A remote is added to Drupal 1 for Drupal 2. The live workspace is updated to set the upstream workspace to Live on Drupal 2. Content is created on Drupal 1 and deployed to Drupal 2. A change is then made on Drupal 2, and Drupal 1 is updated to pull the changes from Drupal 2.