Newsfeeds

Amazee Labs: Sustainable Drupal & React Maintenance - Video

Planet Drupal - 23 November 2017 - 5:55am
Sustainable Drupal & React Maintenance - Video

As mentioned in my previous post, I’ll be sharing the videos of the various talks by Amazees at Drupal Camp Cape Town 2017, over the upcoming weeks. 

Jason Lewis Thu, 11/23/2017 - 14:55

First up we have Head of Global Maintenance at Amazee Labs, Bryan Gruneberg, who spoke about "Maintainability and Longevity - Keeping customers and developers happy". Maintaining strong, robust sites that evolve with the client’s needs is of utmost importance to us and was a topic that received a lot of interest from Camp attendees. 

Enjoy the Video!

Categories: Drupal

Happy Thanksgiving!

Tabletop Gaming News - 23 November 2017 - 5:21am
Hey everyone, No posts today. Too busy prepping for Thanksgiving (already running late, since my 2nd pumpkin pie took figuratively forever to bake, it seemed). I hope those of you that celebrate are having a great time, and remember to get some gaming in! I’m ever-so thankful for being a part of the gaming world. […]
Categories: Game Theory & Design

Droptica: Droptica: Drupal node grants

Planet Drupal - 23 November 2017 - 5:00am
Everyone who codes in Drupal will sooner or later encounter the need to define tighter control of access to content. The standard mechanisms of roles and permissions are very flexible, but they may be insufficient in complex projects. When access to nodes starts to depend on, for example, fields assigned to a given user, then you have to take advantage of more advanced solutions. In Drupal 7 and 8 we can use a hook – hook_node_access() or a so-called grants mechanism.
Categories: Drupal

Valuebound: Configuring Memcache with Drupal 8 to reduce database load

Planet Drupal - 23 November 2017 - 4:59am

Developers often come across a situation where they are required to reduce database load by caching DB objects in RAM. Here Memcache improves Drupal application performance by moving standard caches out of the database and by caching the results of other expensive database operations. 

Note that Drupal doesn’t support Memcache by default, and for this, we need to install it on the server. Let’s see how to install Memcache on the server and configure it with Drupal 8 to reduce the load on the database with every page load.

Let’s see how to install Memcache on server

Open the terminal on your local machine and run the following codes:

Step 1: sudo apt-get…
Categories: Drupal

Node revisions autoclean

New Drupal Modules - 23 November 2017 - 4:47am

This module allows to manage node's revisions store : according to admin's settings, older revisions are automatically deleted.

You may choose how many revisions you want to keep for each node type. Latest drafts coming after a published revision are never deleted.

For larger websites with many node, you may choose to delete revision by cron or a drush command (drush 9 only).

This module will be release later, when i'll start using it in production environment. Do not hesitate to issue any problem.

Categories: Drupal

Agaric Collective: Global Training Day - fun and accesible to all!

Planet Drupal - 23 November 2017 - 4:23am

When you think of training, perhaps you remember an event that you were sent to where you had to learn something boring for your job. The word training does not usually make people smile and jump for joy, that is unless you are talking about Drupal training. These gatherings spread the Drupal knowledge and increase diversity in the community of Drupal developers.

Join us for Global Training Day on November 29th. It will be help online from 9 AM to 4 PM EST. - https://groups.drupal.org/node/517886

Sign up now.

A link to the live workshop on Zoom will be provided when you sign up!

The Drupal Association coordinates four dates each year as Global Training Days, designed to offer free and low-cost training events to new-to-Drupal developers and to create more Drupal talent around the world. The community is growing exponentially as more people learn how fun and easy it is to get involved and be productive. Volunteer trainers host these global events in person and online. In 2016, a Global Training Days Working Group was established to run this program. There is a Global Training Days group on Drupal.org that lists trainings around the world - https://groups.drupal.org/global-training-days

Coming up, we have Global Training Day on November 29th. Mauricio Dinarte will be leading the training online. As an introduction to Drupal a person needs to learn certain things that are specific to Drupal and some are not that intuitive. It is important to cover the very basics in terminology and process. An introductory class can include many things, but this list is what Mauricio covers during the day long event:

  • Drupal installation requirements and process
  • Nodes
  • Content types
  • Fields
  • Blocks
  • Theme regions
  • Views
  • User and permissions
  • Menus
  • Taxonomy

The outcome of a day of training is that everyone walks away understanding the main moving parts of Drupal and a bit about what they do. Of course you will not become a developer overnight, but you will have enough information to build a simple site and then explore more of Drupal on your own. You can follow up with many online tutorials and by joining the Drupal group in your area and attending the meetings. At meetings you will connect with other people at different levels of skill and you will be helped and helpful at the same time! If there is no Drupal group in your area, I suggest you start one. It can start as easily as posting online that you will be at a specific location doing Drupal at a certain time of day - you will be surprised at who may show up. If no one shows up the first time, try again or try a different location. One of the best things about Drupal is the community and how large and connected we are. If you start a group, people will usually help it grow. Bringing new people to Drupal is not only good for increasing the size of the member base, it also brings diversity and reaches people that may never have had an opportunity or access to a free training. The trainings are usually held at a University in or near a city which attracts people from different backgrounds and cultures. We can also reach people that are not in a city or near a school by sharing online.

Have you ever thought about volunteering at a Global Training Days event? We have a blog about organizing your own Global Training Days workshop that can get you started. This is a great way to get to know the people in the community better, up your skills and perhaps share something you have learned. I learned much about programming by assisting developers at sprints and trainings. This is where the real fun begins. Learning does not have to be stressful, and in the Drupal community people are friendly and welcoming. No question is stupid and even those with no experience have valuable skills. Developers love people without prior experience because they make the perfect testing candidates for UI and UX. The down side is that Drupal is so captivating that you will probably not remain a newbie for very long, so enjoy it while it lasts.

One of the true highlights of Global Training Days is seeing all the people around the world gain valuable skills and share knowledge. We hope you can join us.

Categories: Drupal

Entity Overlay

New Drupal Modules - 23 November 2017 - 2:53am

Loads an entity overlay view mode from another view mode.

Example: on a list of node teasers, a click event on an element of the list ajax loads an overlay of the node full view mode.

Categories: Drupal

Tim Millwood: Dreditor for Firefox

Planet Drupal - 23 November 2017 - 1:33am
Dreditor for Firefox

Last week I switch from years of using Chrome to Firefox 57 because of all the hype about it being fast, and that I'd been suffering from Chrome using up to 10GB of ram. The big issue I hit though was I didn't have Dreditor and there seemed to be no way to install it. I decided to go on using Firefox without Dreditor, and loading Chrome every time I needed to do an in depth patch review.

Then yesterday I saw the latest Commit Strip cartoon, where in a reply @williambl suggested Chrome Store Foxified for converting Chrome plugins to Firefox. First thing I thought was to try the Dreditor Chrome plugin, and it worked.

This morning Berdir suggested "maybe someone will release that thing as a public extension". So I went digging on addons.mozilla.org and found I could download the XPI file Chrome Store Foxified created during the conversion.

So here it is:
Download Dreditor for Firefox now!
MD5SUM: 2b7455e057ac6a84bd01423b0984c21d

timmillwood Thu, 23/11/2017 - 09:33 Tags drupal planet drupal-planet drupal dreditor Add new comment
Categories: Drupal

Amazee Labs: GraphQL for Drupalers - the queries

Planet Drupal - 23 November 2017 - 12:59am
GraphQL for Drupalers - the queries

GraphQL is becoming more popular every day. Now that we have a beta release of the GraphQL module (mainly sponsored and developed by Amazee Labs) it's easy to turn Drupal into a first-class GraphQL server. In this second post of the series, we'll describe they way Drupal fields are represented in GraphQL and look at a few examples.

  Blazej Owczarczyk Thu, 11/23/2017 - 09:59

Last week we talked about the new structure of the GraphQL package. We have also looked at the tools bundled with the module - the explorer and the voyager - and we've explored how to fetch a username. Now let's use GraphiQL to assemble queries that are a bit more complex.

The Naming

GraphQL naming conventions are slightly different than Drupal's.

  • Fields and properties are in camelCase. This means that field_image in Drupal becomes fieldImage in GraphQL and the revision_log property becomes revisionLog.
  • Entity types and bundles use camelCase with the first letter capitalized so taxonomy_term becomes TaxonomyTerm and the tags vocabulary becomes TaxonomyTermTags. As we can see bundles are prefixed with the entity type name.
The structures

While fields and properties both translate to the same GraphQL structure called Field, entity types and bundles, despite sharing the naming convention, don't. The former is implemented as GraphQL Interfaces and the latter are GraphQL Types (implementing these Interfaces). As an example: 

This query contains fields from 3 different GraphQL structures that build upon one another.

  • entityId and entityCreated come from the Entity Interface. These fields are available for all entity objects. nodeById query returns a Node Interface which extends Entity Interface.
  • title and status are defined in the Node Interface and are available for all nodes, regardless of their content type.
  • fieldSubtitle is a field (field_subtitle in Drupal) that has been added to the Article content type. It's not a part of neither Node nor Entity Interfaces, it is only available in the NodeArticle Type. nodebyId can return any node, not just Article, so we need to wrap the fieldSubtitle in a GraphQL Fragment.

If we paste the query into GraphiQL (/graphql/explorer) we'll get a result similar to this one:

The Fragments

GraphQL Fragments, as the name implies, are just pieces of a query. They mostly serve two purposes:

  1. Executing part of a query conditionally - only when the result is of a specified type. In the example above fieldSubtitle will be evaluated only when the node with id 1 is an Article. If it turns out to be a Basic Page, the fragment will be omitted and the response will just be one field shorter without raising any exceptions.
  2. Reusability. A fragment can be given a name and be used more than once.

There are two fragments in this query. The first one starting on line 3 is an inline fragment. We need it because fieldCategory and fieldTags are only attached to Articles and nodeById can return any node.

The other one, defined on line 18, is a named fragment thanks to which we don't need to repeat the sub-queries for fieldCategory and fieldTags.

This is how the result could look like. Node 1 is an Article, it has 2 tags in one category term.

The Aliases

There might be situations when we want to use the same field more than once in a single query, to fetch node 1 and 2 simultaneously for instance. We can do that thanks to GraphQL Aliases

Here we're calling nodeById twice, each time with different arguments and aliases. The former will appear under nodeOne key in the result and the latter will be available under nodeTwo. We've also transformed the inline fragment holding the article fields into a named fragment and used it in both queries to reduce unnecessary repetition.

That's it for this post. In the next one, we'll see how to retrieve the values of Drupal fields and properties.

 
Categories: Drupal

Agiledrop.com Blog: AGILEDROP: Top 5 reasons to use Drupal

Planet Drupal - 23 November 2017 - 12:41am
Drupal has become one of the most popular CMS around the world. Since it is written in PHP, very popular web programming language, it is also attractive to developers. It has nearly forty thousand modules and more than two thousand different themes, so it's no wonder that developers and designers like to work with it. It is suitable for all types of websites, from those advanced and heavier portals for communities to lighter, simpler personal web pages. Most importantly, it's great for ambitious websites (link to blog post about this). What are other benefits we recognize? It is open… READ MORE
Categories: Drupal

Fields of Eleria Card Game Up On Kickstarter

Tabletop Gaming News - 22 November 2017 - 3:00pm
Lots of people love MOBA-style video games. But sometimes you want to unplug from the computer and go play something with someone else in the room. Well, for that, you could try out Fields of Eleria. It’s a new customizable card game that’s up on Kickstarter. It combines MOBA-style action with deck management. About the […]
Categories: Game Theory & Design

Sailor Moon Crystal Dice Challenge Pre-Release Tournament Coming Next Month

Tabletop Gaming News - 22 November 2017 - 2:00pm
It’s cold up in Canada. Very cold. I mean, I used to live in Chicago, and Canada’s colder than that. But for those who love Sailor Moon enough, there just might be a reason to visit that frozen land. Dyskami Publishing is coming out with their Sailor Moon Crystal Dice Challenge game, and they’re holding […]
Categories: Game Theory & Design

Promet Source: Last Chance for Drupal 7 & Drupal 8 Training in 2017!

Planet Drupal - 22 November 2017 - 1:39pm
Ready to level up your skills before the New Year?
Categories: Drupal

Fantasy Flight Games Previews Combat in Fallout Board Game

Tabletop Gaming News - 22 November 2017 - 1:00pm
Out in the wasteland, resources are scarce. Those that you come across, you’re going to have to fight to keep. And, let’s face it, you don’t have the awesome, godlike abilities of The Final Pam. You’re going to have to go at this the hard way. In this preview of the upcoming Fallout board game […]
Categories: Game Theory & Design

FCC makes move to repeal net neutrality protections

Social/Online Games - Gamasutra - 22 November 2017 - 12:55pm

FCC chairman Ajit Pai's 200-page proposal would eliminate all but one of the existing net neutrality protections in a bid to stop the federal government from "micromanaging the internet." ...

Categories: Game Theory & Design

Steamforged Games Previews Black Friday Deals

Tabletop Gaming News - 22 November 2017 - 12:00pm
Yet more Black Friday Deals being previewed. This time around, it’s Steamforged Games. They do a lot of alternate-sculpt minis for their Guild Ball figures. You’ve been seeing some of the previews. Well, the alt-sculpts aren’t the only thing they’ll have. Check out the full detail preview. From the preview: BLACK FRIDAY is coming ?. […]
Categories: Game Theory & Design

OSTraining: Smart Cropping of Media with Image Widget Crop Drupal Module

Planet Drupal - 22 November 2017 - 11:23am

Sometimes, in your Drupal site, you may need to crop images with a predefined aspect ratio but with different size values within a certain range. This is where the Image Widget Crop module is your tool for the job.

It can be used in a great variety of Drupal sites. From image galleries to educational sites with illustrations.

In this tutorial, you’ll be using the contrib Image Widget Crop module in conjunction with the new media features for images available in Drupal core.  

Categories: Drupal

Midweek Snippets

Tabletop Gaming News - 22 November 2017 - 11:00am
Continuing the theme, in a way, it’s Friday, since it’s the last workday of the week. But it’s actually Wednesday. Thankfully, either way, we’d be having a Snippets post. So, before we all chow down on all that delicious food tomorrow, let’s tide ourselves over with some bite-sized gaming stories now. On the platter we […]
Categories: Game Theory & Design

Platoon Commander Deluxe: Kursk Board Game Up On Kickstarter

Tabletop Gaming News - 22 November 2017 - 10:00am
The Battle of Kursk was the largest tank battle the world had ever seen. It was also a point where the seemingly unbeatable German war machine was halted by the Russians. A true turning point in history, it will soon be brought to your tabletops in Platoon Commander Deluxe: Kursk, a new board game up […]
Categories: Game Theory & Design

Drupal blog: An update on the Workflow Initiative for Drupal 8.4/8.5

Planet Drupal - 22 November 2017 - 9:57am

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

Over the past weeks I have shared an update on the Media Initiative and an update on the Layout Initiative. Today I wanted to give an update on the Workflow Initiative.

Creating great software doesn't happen overnight; it requires a desire for excellence and a disciplined approach. Like the Media and Layout Initiatives, the Workflow Initiative has taken such an approach. The disciplined and steady progress these initiative are making is something to be excited about.

8.4: The march towards stability

As you might recall from my last Workflow Initiative update, we added the Content Moderation module to Drupal 8.2 as an experimental module, and we added the Workflows module in Drupal 8.3 as well. The Workflows module allows for the creation of different publishing workflows with various states (e.g. draft, needs legal review, needs copy-editing, etc) and the Content Moderation module exposes these workflows to content authors.

As of Drupal 8.4, the Workflows module has been marked stable. Additionally, the Content Moderation module is marked beta in Drupal 8.4, and is down to two final blockers before marking stable. If you want to help with that, check out the Content Moderation module roadmap.

8.4: Making more entity types revisionable

To advance Drupal's workflow capabilities, more of Drupal's entity types needed to be made "revisionable". When content is revisionable, it becomes easier to move it through different workflow states or to stage content. Making more entity types revisionable is a necessary foundation for better content moderation, workflow and staging capabilities. But it was also hard work and took various people over a year of iterations — we worked on this throughout the Drupal 8.3 and Drupal 8.4 development cycle.

When working through this, we discovered various adjacent bugs (e.g. bugs related to content revisions and translations) that had to be worked through as well. As a plus, this has led to a more stable and reliable Drupal, even for those who don't use any of the workflow modules. This is a testament to our desire for excellence and disciplined approach.

8.5+: Looking forward to workspaces

While these foundational improvements in Drupal 8.3 and Drupal 8.4 are absolutely necessary to enable better content moderation and content staging functionality, they don't have much to show for in terms of user experience changes. Now a lot of this work is behind us, the Workflow Initiative changed its focus to stabilizing the Content Moderation module, but is also aiming to bring the Workspace module into Drupal core as an experimental module.

The Workspace module allows the creation of multiple environments, such as "Staging" or "Production", and allows moving collections of content between them. For example, the "Production" workspace is what visitors see when they visit your site. Then you might have a protected "Staging" workspace where content editors prepare new content before it's pushed to the Production workspace.

While workflows for individual content items are powerful, many sites want to publish multiple content items at once as a group. This includes new pages, updated pages, but also changes to blocks and menu items — hence our focus on making things like block content and menu items revisionable. 'Workspaces' group all these individual elements (pages, blocks and menus) into a logical package, so they can be prepared, previewed and published as a group. This is one of the most requested features and will be a valuable differentiator for Drupal. It looks pretty slick too:

An outside-in design that shows how content creators could work in different workspaces. When you're building out a new section on your site, you want to preview your entire site, and publish all the changes at once. Designed by Jozef Toth at Pfizer.

I'm impressed with the work the Workflow team has accomplished during the Drupal 8.4 cycle: the Workflow module became stable, the Content Moderation module improved by leaps and bounds, and the under-the-hood work has prepared us for content staging via Workspaces. In the process, we've also fixed some long-standing technical debt in the revisions and translations systems, laying the foundation for future improvements.

Special thanks to Angie Byron for contributions to this blog post and to Dick Olsson, Tim Millwood and Jozef Toth for their feedback during the writing process.

Categories: Drupal

Pages

Subscribe to As If Productions aggregator