Newsfeeds

Following GDPR, Steam now discloses a ton of collected account data to users

Social/Online Games - Gamasutra - 14 June 2018 - 10:42am

Now rounded up in one place, Steam users are able to see their past reports, inventory history, uploaded content, award nominations, and much much. ...

Categories: Game Theory & Design

YouTube Entity

New Drupal Modules - 14 June 2018 - 10:17am

YouTube Entity will allow you to search, upload, edit, delete and diplay videos from your own YouTube channel.
All video will be stored as an independent Drupal Entity that can be called by other entities using entity reference.

Categories: Drupal

Vimeo Entity

New Drupal Modules - 14 June 2018 - 10:01am

Vimeo Entity will allow you to search, upload, edit, delete and diplay videos from your own Vimeo channel.
All video will be stored as an independent Drupal Entity that can be called by other entities using entity reference.

Categories: Drupal

Plaid Hat Games Previews Shadow Clan for Crystal Clans

Tabletop Gaming News - 14 June 2018 - 10:00am
There are plenty of people out there that are afraid of the dark. There’s generally nothing to worry about it. That bump was nothing. That creek was also nothing. That blood-curdling scream and disembodied children’s laughter was also nothing. In this preview, we get a look at the Shadow Clan for Crystal Clans. From the […]
Categories: Game Theory & Design

Mantic Previews The Nameless Faction For Deadzone

Tabletop Gaming News - 14 June 2018 - 9:00am
The Outbreak event for Deadzone is more than just a summer league to join in. It’s bringing a bunch of changes to the game, including two whole new factions. We’ve seen the Nameless before, at least over in Dreadball. Now, their armies are hitting the field. In this preview, Mantic shows off some of the […]
Categories: Game Theory & Design

Composing video game music for Virtual Reality: Diegetic versus Non-diegetic - by Winifred Phillips

Gamasutra.com Blogs - 14 June 2018 - 8:15am
The 3rd of a 4-part series. Video game composer Winifred Phillips shares ideas from her GDC 2018 talk, Music in Virtual Reality. Part 3: Diegetic versus Non-Diegetic, with a discussion of composition & recording methods to make music fit into a VR world.
Categories: Game Theory & Design

Finding the magic in VR-centric design: Backpack Inventory - by Joel Green

Gamasutra.com Blogs - 14 June 2018 - 8:14am
VR is all about iteration and experimentation, occasionally leading to magical design discoveries. This article covers what went in to creating a first-of-its-kind VR inventory, an intuitive backpack that players can pull naturally over their shoulder.
Categories: Game Theory & Design

How to use C# Delegates in Unity - by Tejas Jasani

Gamasutra.com Blogs - 14 June 2018 - 8:13am
The main objective of this blog post is to give you an idea about how to use C# Delegates in Unity.
Categories: Game Theory & Design

Analysing Core and Casual User Reviews - by Peter Lynch

Gamasutra.com Blogs - 14 June 2018 - 8:13am
User Reviews: Are Core Gamers More Feature Critical Than Casual Gamers?
Categories: Game Theory & Design

The Most Immersive Indie Games of the Last Few Years - by Michael Smith

Gamasutra.com Blogs - 14 June 2018 - 8:12am
These games are the pinnacle of indie development.
Categories: Game Theory & Design

Six ways indie game developers find success with YouTube and Twitch influencers - by Chris Morrison

Gamasutra.com Blogs - 14 June 2018 - 8:08am
It’s a new age in game dev: YouTube and Twitch hold more sway than traditional press ever did. Here’s an overview of how some indies rack up hundreds of millions of views.
Categories: Game Theory & Design

Video Game Accessibility: Things to Consider - by Anna Feng

Gamasutra.com Blogs - 14 June 2018 - 8:06am
Video game accessibility is becoming a growing situation that needs to be addresses to connect with the diverse gaming community. This article is the result of a high school research project on video game accessibility.
Categories: Game Theory & Design

Fungeon Party Now Available

Tabletop Gaming News - 14 June 2018 - 8:00am
It’s a little bit dungeon delve. It’s a little bit dexterity game. It’s a little bit party game. It’s a little bit country. It’s a little bit rock-and-roll. Fungeon Party is the new game from WizKids where players take on the role of traditional dungeon-delving characters, but don’t necessarily go about searching that dungeon in […]
Categories: Game Theory & Design

Acro Media: Web to Print with Drupal Commerce

Planet Drupal - 14 June 2018 - 7:45am
Empower your customers to customize products.


There is a high likelihood that the tshirt on your back or in your closet started life as someone’s idea that was being uploaded to an online tool. The idea that a person could not only buy tshirts, but design them in a tool and approve the proof before payment seems almost commonplace. Why aren’t more people talking about this? Your customers are expecting more tailored experiences when buying decorated apparel, signage and personalized promotional products from the small to medium web store fronts. Getting the “Web to Print” toolset just right on Drupal is not easy.

Here’s just a few of the expectations for ordering printed materials from the web on Drupal:

  • Drupal integration: Full integration with existing Drupal website
  • Intuitive editor experience: Drag and drop toolset, uploading of files (jpg, png, tiff, pdf, eps, ai, psd), cropping and quick fixes to pictures, lots of fonts, pop-over text formatting, white labelled branding with plenty of customizations, low resolution upload warnings, and mobile friendly web to print tool.
  • Proof and checkout workflow: Print-quality PDF proof, edit before purchase, edit after purchase, CMYK color space, super large files that need processing
Getting off the bespoke product editor island

An example of a bespoke web to print tool Acro Media built with Drupal and jQuery UI.

Like many Drupal agencies, there’s rarely a problem we face that can’t be solved with in-house open source tools. Before we decry the problems, we are very proud of what we accomplished in the past given budget and available tools. With jQuery UI and html-to-pdf experience, we’ve built these kinds of tools before, to varying degrees of success. Every time we tackled a project like web-to-print, the struggle became very real. With minimal hours, the tools we knew and loved created a functional experience that was hard to maintain and very error prone.

More often than not, we had trouble with converting HTML to PDF reliably enough for high-resolution print-quality, especially with customer supplied imagery and layout. Offering fonts in a customized product builder is challenging to get right, especially when you’re creating a PDF that has to have the font attached. The RGB colorspace doesn’t translate easily to CMYK, the most common four color process for printing. And all of our experience in software revolved around pixels, not these things called picas. In this crazy world resolution could go as high as 3200 dpi on standard printers, dimensions suddenly couldn’t be determined based on pixels.

When one of our clients that had a tool we had built with existing technologies asked for some (not all) of the features mentioned in the beginning of the article, we also wanted to solve all the technical challenges that we grappled with over a year ago. As the planning stage was coming to an end, it was clear the budget wasn’t going to support such a complicated software build.

Product Customization is not the right phrase

Example screenshot of keditor in action.

We started to look for product customization tools and found nada. Then we looked for web layout tools which would maybe give Drupal a better HTML editing experience, but found a disappointing lack of online web to print solutions. We did find grapejs, innovastudio, and keditor

But, almost universally, these javascript-based libraries were focused on content and not editing products that would be printed. We needed something that had the goal of creating a printable image or PDF with a tight integration around the editor experience. We had nearly convinced ourselves there wasn’t a vertical for this concept, it seemed like nearly all product builders in the wild were powered by one-off conglomerations of toolsets.

Web to Print using Customer’s Canvas works with Drupal, right?

Finally, via a project manager, an industry phrase was discovered that opened the floodgates: web to print. After a bit of sifting through the sales pitch of all the technologies, almost all tools were found to be cumbersome and hard to integrate in an existing Drupal website, save one. Customer’s Canvas checked all the boxes and then some:

  • SAAS (so we don’t have to host customer’s images, or maintain the technology)
  • White label
  • More than fully featured
  • Completely customizable
  • Iframe-friendly. Meaning we could seamlessly plop the product customization tool into an existing or new layout.

Example of Customers Canvas running in Drupal Commerce.

To make an even longer story short, we jumped on board with Customer’s Canvas and built the first (to our knowledge) third party web to print Drupal 7 module. We might make a Tech Talk regarding the installation and feature set of the module. Until then, here’s what you can do:

  1. Download and install the module
  2. Provide some API credentials in the form of a javascript link
  3. Turn on the Drupal Commerce integration
  4. Provide some JSON configuration for a product via a field that gets added to your choice of product types.
  5. Click on Add to Cart for a Customer’s Canvas product
  6. Get redirected to a beautiful tool
  7. Click “Finish” and directed to a cart that can redirect you back to edit or download your product.
  8. As a store administrator, you can also edit the product from the order view page.

Drupal 8 and Web to Print and the Future

Currently, the module is built for Drupal 7. Upgrading to Drupal 8 Commerce 2 is definitely on our roadmap and should be a straightforward upgrade. Other things on the roadmap:

  • Better B2B features
    You can imagine a company needs signs for all of it’s franchisee partners and would want the ability to create stores of customizable signage. With Commerce on Drupal 8, that would be pretty straightforward to build.
  • More download options
    Customer’s Canvas supports lower res watermarked downloads for the customers as well as the high res PDF downloads. Currently the module displays the high resolution for all parties.
  • Better administrative interface
    If you’re using Drupal 7, the integration for this module is pretty easy, but the technical experience required for creating the JSON formatting for each product is pretty cumbersome. So it would be awesome (and very possible) to build out the most common customizations in an administration interface so you wouldn’t have to manage the JSON formatting for most situations.
  • Improve the architecture
    Possibly support Customer’s Canvas templates like entities that are referenced so that you could create a dozen or so customizable experiences and then link them up to thousands of products.
  • Webform support
    The base module assumes your experience at least starts with an entity that has fields and gets rendered. We could build a webform integration that would allow the webform to have a customer’s canvas build step. T-shirt design content anyone?
Integration can be a game changer

One of the big reasons we work with Drupal and Drupal Commerce is that anything with an API can be integrated. This opens the doors to allow the platform to do so much more than any other platform out there. If an integration needs to be made, we can do. If you need an integration made, talk to us! We're happy to help.

Categories: Drupal

Steamforged Previews Veteran Chisel for Guild Ball

Tabletop Gaming News - 14 June 2018 - 7:00am
As the players in Guild Ball grow, they change (as we all do). Their careers go through different phases. That’s where the Veteran versions come in. The player has seen some stuff, and they’re now focused on new aspects of the play and themselves. In today’s preview, we get a look at Chisel. A bit […]
Categories: Game Theory & Design

Views Responsive Table

New Drupal Modules - 14 June 2018 - 6:38am

This module provides integration for the jQuery Tablesaw plugin for creating responsive tables. The Tablesaw plugin allows wide tables to appear as usual on large displays but on smaller screens it can hide certain columns within swiping rows.
Note : It will work for responsive theme

Installation instructions in Drupal 7

1. Download the tablesaw library from https://github.com/filamentgroup/tablesaw

Categories: Drupal

Modiphius Launches Kung Fu Panda Board Game Kickstarter

Tabletop Gaming News - 14 June 2018 - 6:00am
The Valley of Peace seemed… well… peaceful enough. That is, until Tai Lung broke free of prison and vowed to destroy all of it. Then, it was up to Po and the Furious Five to stop him. That’s your goal in the Kung Fu Panda Board Game from Modiphius. There is no charge for awesome… […]
Categories: Game Theory & Design

Evolving Web: Resizing Fields in Drupal 8 Without Losing Data

Planet Drupal - 14 June 2018 - 6:00am

Drupal's field system is awesome and it is one of the reasons why I started using Drupal in the first place. However, there are some small limitations in it which surface from time to time. Say, you have a Text (Plain) field named field_one_liner which is 64 characters long. You created around 30 nodes and then you realized that the field size should have been 255. Now, if you try to do this from Drupal's field management UI, you will get a message saying:

There is data for this field in the database. The field settings can no longer be changed.

So, the only way you can resize it is after deleting the existing field! This doesn't make much sense because it's indeed possible to increase a field's size using SQL without saying goodbye to the data.

In this tutorial, we'll see how to increase the size of an existing Text (Plain) field in Drupal 8 without losing data using a hook_update_N().

Assumptions
  • You have intermediate / advanced knowledge of Drupal.
  • You know how to develop modules for Drupal.
  • You have basic knowledge of SQL.
Prerequisites

If you're going to try out the code provided in this example, make sure you have the following field on any node type:

  • Name: One-liner
  • Machine name: field_one_liner
  • Type: Text (Plain)
  • Length: 64

After you configure the field, create some nodes with some data on the One-liner field.

Note: Reducing the length of a field might result in data loss / truncation.

Implementing hook_update_N()

Reference: Custom Field Resize module on GitHub

hook_update_N() lets you run commands to update the database schema. You can create, update and delete database tables and columns using this hook after your module has been installed. To implement this hook, you need to have a custom module. For this example, I've implemented this hook in a custom module which I've named custom_field_resize. I usually name all my custom modules custom_ to namespace them. In the custom module, we implement the hook in a MODULE.install file, where MODULE is the machine-name of your module.

/** * Increase the length of "field_one_liner" to 255 characters. */ function custom_field_resize_update_8001() {}

To change the field size, there are four things we will do inside this hook.

Resize the Columns

We'll run a set of queries to update the relevant database columns.

$database = \Drupal::database(); $database->query("ALTER TABLE node__field_one_liner MODIFY field_one_liner_value VARCHAR(255)"); $database->query("ALTER TABLE node_revision__field_one_liner MODIFY field_one_liner_value VARCHAR(255)");

If revisions are disabled then the node_revision__field_one_liner table won't exist. So, you can remove the second query if your entity doesn't allow revisions.

Update Storage Schema

Resizing the columns with a query is not sufficient. Drupal maintains a record of what database schema is currently installed. If we don't do this then Drupal will think that the database schema needs to be updated because the column lengths in the database will not match the configuration storage.

$storage_key = 'node.field_schema_data.field_one_liner'; $storage_schema = \Drupal::keyValue('entity.storage_schema.sql'); $field_schema = $storage_schema->get($storage_key); $field_schema['node__field_one_liner']['fields']['field_one_liner_value']['length'] = 255; $field_schema['node_revision__field_one_liner']['fields']['field_one_liner_value']['length'] = 255; $storage_schema->set($storage_key, $field_schema);

The above code will update the key_value table to store the updated length of the field_one_liner in its configuration.

Update Field Configuration

We took care of the database schema data. However, there are other places where Drupal stores the configuration. Now, we will need to tell the Drupal config management system that the field length is 255.

// Update field configuration. $config = \Drupal::configFactory() ->getEditable('field.storage.node.field_one_liner'); $config->set('settings.max_length', 255); $config->save(TRUE);

Finally, Drupal also stores info about the actively installed configuration and schema. To refresh this, we will need to re-save the field storage configuration to make Drupal detect all our changes.

// Update field storage configuration. FieldStorageConfig::loadByName($entity_type, $field_name)->save();

After this, running drush updb or running update.php from the admin interface should detect your hook_update_N() and it should update your field size. If you're committing your configuration to git, you'll need to run drush config-export after running the database updates to update the config in the filesystem and then commit it.

Conclusion

Though we've talked about resizing a Text (Plain) or varchar field in this tutorial, we can resize any field type which can be safely resized using SQL. In certain rare scenarios, it might be necessary to create a temporary table with the new data-structure, copy the existing data into that table with queries and once all the data has been copied successfully, replace the existing table with the temporary table. For example, if you want to convert a Text (Plain) field to a Text (Long) field or some other type.

Maybe someday we'll have a resizing feature in Drupal where Drupal will intelligently allow us to increase a field's size from it's field UI and only deny reduction of field size where there is a possibility of data loss. But, in the meanwhile, we can use this handy trick to resize our fields. Thanks for reading! Please leave your comments / questions in the comments below and I'll get back to them as soon as I have time.

+ more awesome articles by Evolving Web
Categories: Drupal

Gnomecast #42 – Letters to Ourselves Follow-up

Gnome Stew - 14 June 2018 - 5:34am

Join Ang, Kira, Senda, and Wendelyn on Gnomecast for a follow-up discussion of their “Letters to Our Younger Selves” series of Gnome Stew articles. Will their accumulated wisdom and the benefit of hindsight be enough to keep them out of the stew?

Download here: Letters to Ourselves Follow-up

This episode references Ang’s article “Dear Me, Don’t Let Them Keep You Out,” Kira’s article “A Letter To Little Kira: You Don’t Have To,” Senda’s article “An Open Letter To My Impostor Syndrome (maybe it will help you too),” and Wendelyn’s article “An Open Letter About Making Gaming Work For You (and building your strengths through role play).”

Keep up with all the gnomes by visiting gnomestew.com, following @gnomestew on Twitter, or visiting the Gnome Stew Facebook Page. Check out Gnome Stew Merch, and support Gnome Stew on Patreon!

Follow Wendelyn at @WendelynReischl on Twitter or visit Wendelyn’s Facebook Page.

Follow Kira at @Kiranansi on Twitter.

Follow Senda at @IdellaMithlynnd on Twitter, and check out her other podcasts Panda’s Talking Games (@PandasTalkGames) and She’s a Super Geek (@sasgeekpodcast).

Follow Ang at @orikes13 on Twitter.

Categories: Game Theory & Design

Slicebox Slider

New Drupal Modules - 14 June 2018 - 4:51am

Overview

Slicebox Slider is a Drupal 8 Module developed to create a simple slider using slicebox.js and place it on a custom block.
This module will create a custom block type that outputs the slider with basic style so you can customize it to fit your requirements.

Requirements

Paragraphs

Features

Categories: Drupal

Pages

Subscribe to As If Productions aggregator