Acquia Lightning Blog: Extending Lightning - Part II

Planet Drupal - 24 February 2017 - 9:48am
Extending Lightning - Part II Adam Balsam Fri, 02/24/2017 - 12:48 History

One of the problems with Drupal distributions is that they, by nature, contain an installation profile — and Drupal sites can only have one profile. That means that consumers of a distribution give up the ability to easily customize the out of the box experience.

This was fine when profiles were first conceived. The original goal was to provide “ready-made downloadable packages with their own focus and vision”. The out of the box experience was customized by the profile, and then the app was built on top of that starting point. But customizing the out of the box experience is no longer reserved for those of us that create distributions for others to use as a starting point. It’s become a critical part of testing and continuous integration. Everyone involved in a project, including the CI server, needs a way to reliably and quickly build the application from a single command. Predictably, developers have looked to the installation profile to handle this.

This practice has become so ubiquitous, that I recently saw a senior architect refer to it as “the normal Drupal paradigm of each project having their own install profile”. Clearly, if distributions want to be a part of the modern Drupal landscape, they need to solve the problem of profiles.

Old Approach

In July 2016, Lightning introduced lightning.extend.yml which enabled site builders to:

  1. Install additional modules after Lightning had finished its installation
  2. Exclude certain Lightning components
  3. Redirect users to a custom URL upon completion

This worked quite well. It gave site builders the ability to fully customize the out of the box experience via contrib modules, custom code, and configuration. It even allowed them to present users with a custom “Installation Done” page if they chose — giving the illusion of a custom install profile.

But it didn’t allow developers to take full control over the install process and screens. It didn’t allow them to organize their code they way they would like. And it didn’t follow the “normal Drupal paradigm” of having an installation profile for each project.

New Approach

After much debate, the Lightning team has decided to embrace the concept of “inheriting” profiles. AKA sub-profiles. (/throws confetti)

This is not a new idea and we owe a huge thanks to those that have contributed to the current patch and kept the issue alive for over five years. Nor is it a done deal. It still needs to get committed which, at this point, means Drupal 8.4.x.

On a technical level, this means that — similar to sub-themes — you can place the following in your own installation profile’s *.info.yml file and immediately start building a distribution (or simply a profile) on top of Lightning:

base profile: name: lightning

To encourage developers to use this method, we will also be including a DrupalConsole command that interactively helps you construct a sub-profile and a script which will convert your old lightning.extend.yml file to the equivalent sub-profile.

This change will require some rearchitecting of Lightning itself. Mainly to remove the custom extension selection logic we had implements and replace it with standard dependencies.

This is all currently planned for the 2.0.5 release of lightning which is due out in mid March. Stay tuned for updates.

Categories: Drupal

WizKids Previews Pulp Deadpool For HeroClix

Tabletop Gaming News - 24 February 2017 - 9:00am
Just how many Deadpool figures are going to be in the Deadpool & the X-Force set for HeroClix? Judging by the previews, about a hundred. We’ve got another one to check out there. This one’s Pulp Deadpool. From the preview: With Pre-Release Events beginning this week, there has been a lot of excitement surrounding the […]
Categories: Game Theory & Design

Jeff Geerling's Blog: Thoughts on the Acquia Certified Front end Specialist - Drupal 8 Exam

Planet Drupal - 24 February 2017 - 8:58am

Another day, another Acquia Developer Certification exam review (see the previous one: Certified Back end Specialist - Drupal 8, I recently took the Front End Specialist – Drupal 8 Exam, so I'll post some brief thoughts on the exam below.

Categories: Drupal

New Guild Ball Releases Available From Steamforged Games

Tabletop Gaming News - 24 February 2017 - 8:17am
Happy Guild Ball Release Day, everyone! As you would expect, I’m rather excited about the next 3 releases being made available. However, I won’t be picking up Hag right away for my Fisherman’s Guild. I’m gonna be getting her at Adepticon. But that doesn’t mean you shouldn’t run out and get the new figures right […]
Categories: Game Theory & Design

Drupal core announcements: 8.3.0 release candidate phase begins week of February 27; no Drupal 8.2.x or 7.x patch release planned

Planet Drupal - 24 February 2017 - 8:08am
Drupal 8.3.0 release candidate phase

The release candidate phase for the 8.3.0 minor release begins the week of February 27. Starting that week, the 8.3.x branch will be subject to release candidate restrictions, with only critical fixes and certain other limited changes allowed.

8.3.x includes new experimental modules for workflows, layout discovery and field layouts; raises stability of the BigPipe module to stable and the Migrate module to beta; and includes several REST, content moderation, authoring experience, performance, and testing improvements among other things. You can read a detailed list of improvements in the announcements of alpha1 and beta1.

Minor versions may include changes to user interfaces, translatable strings, themes, internal APIs like render arrays and controllers, etc. (See the Drupal 8 backwards compatibility and internal API policy for details.) Developers and site owners should test the release candidate to prepare for these changes.

8.4.x will remain open for new development during the 8.3.x release candidate phase.

Drupal 8.3.0 will be released on April 5th, 2017.

No Drupal 8.2.x or 7.x releases planned

March 1 is also a monthly core patch (bug fix) release window for Drupal 8 and 7, but no patch release is planned. This is also the final bug fix release window for 8.2.x (meaning 8.2.x will not receive further development or support aside from its final security release window on March 15). Sites should plan to update to Drupal 8.3.0 on April 5.

For more information on Drupal core release windows, see the documentation on release timing and security releases, as well as the Drupal core release cycle overview.

Categories: Drupal

CMON Previews Battle System in Rising Sun

Tabletop Gaming News - 24 February 2017 - 8:00am
The Rising Sun previews continue. We’ve seen a bunch of the minis. We’ve learned a bit about diplomacy. But what about when talking fails and fighting is the only way to resolve issues? Well, we get a look at how that works here in this preview. From the article: In Rising Sun, money plays a […]
Categories: Game Theory & Design

Sports League

New Drupal Modules - 24 February 2017 - 7:37am

Sports League module is an out of the box solution to manage sports league functionality in Drupal. It relies on popular modules in drupal to help manage content typically used in websites for sports clubs. Main example is derived from football clubs, but can be easily extended.

Functionality included:
- Manage competitions, multi competition editions and its standings.
- Manage clubs and teams.
- Manage matches, rosters and match moments.
- Manage players.
- Manage automatic statistics on players and teams.
- Manage club titles.

Categories: Drupal

New Konflikt ’47 Releases Available From Warlord Games

Tabletop Gaming News - 24 February 2017 - 7:00am
Trevor Noah has a new special out on Netflix. In it, he has this whole bit about Russian being the scariest accent out there. If you ever want to frighten someone away, just start talking in a thick Russian accent. So I could only assume that if you were to have a conversation with the […]
Categories: Game Theory & Design

New Imperial Fist Terminators From Forge World

Tabletop Gaming News - 24 February 2017 - 6:00am
With my love of giant robots, I’ve always loved Terminators in 40k. I know. I know. They’re a guy in a suit. But considering the suit-to-guy ratio there, they’re basically giant robots (I mean, Gundams are “a guy in a suit, too”). I’ve just always loved the way Terminators looked. If you’re a Terminator fan, […]
Categories: Game Theory & Design

CiviCRM Blog: The quest for performance improvements - 6th sprint

Planet Drupal - 24 February 2017 - 5:59am

In this blog I want to explain the round up we have done around the refactoring of the acl_contact_cache. In the previous sprints we discovered that a lot of the performance was slowed down by the way the acl_contact_cache was used (or rather not used at all). See also the previous blog post:

At the socialist party they have 350.000 contacts and around 300 users who can access civicrm. Most of the users are only allowed to see only the members in their local chapter.

In the previous blog we explained the proof of concept. We now have implemented this proof of concept and the average performance increase was 60%.

We created a table which holds which user has access to which contacts. We then fill this table once in a few hours. See also issue CRM-19934 for the technical implementation of this proof of concept.

Performance increase in the search query

In the next examples we are logged in as a local member who can only see members in the chapter Amersfoort. We then search for persons with the name 'Jan'. And we measure how long the query for searching takes.

The query for presenting the list with letters in the search result looks like

SELECT count(DISTINCT as rowCount FROM civicrm_contact contact_a LEFT JOIN civicrm_value_geostelsel geostelsel ON = geostelsel.entity_id LEFT JOIN civicrm_membership membership_access ON = membership_access.contact_id WHERE ((((contact_a.sort_name LIKE '%jan%')))) AND ( = 803832 OR (((( ( geostelsel.`afdeling` = 806816 OR geostelsel.`regio` = 806816 OR geostelsel.`provincie` = 806816 ) AND ( membership_access.membership_type_id IN (1, 2, 3) AND ( membership_access.status_id IN (1, 2, 3) OR (membership_access.status_id = '7' AND (membership_access.end_date >= NOW() - INTERVAL 3 MONTH)) ) ) ) OR = 806816 )) AND (contact_a.is_deleted = 0) )) ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc;

As you can see that is quite a complicated query and includes details about which members the user is allowed to see.  Only executing this query takes around 0.435 seconds and the reason is that mysql has to check each record in civicrm_contact (which in this case is around 350.000 and growing)

After refactoring the acl cache functionality in CiviCRM Core the query looks different:

SELECT DISTINCT UPPER(LEFT(contact_a.sort_name, 1)) as sort_name  FROM civicrm_contact contact_a INNER JOIN `civicrm_acl_contacts` `civicrm_acl_contacts` ON `civicrm_acl_contacts`.`contact_id` = `contact_a`.`id`  WHERE  (((( contact_a.sort_name LIKE '%jan%' ))))  AND  `civicrm_acl_contacts`.`operation_type` = '2' AND `civicrm_acl_contacts`.`user_id` = '803832' AND `civicrm_acl_contacts`.`domain_id` = '1' AND (contact_a.is_deleted = 0)    ORDER BY UPPER(LEFT(contact_a.sort_name, 1)) asc

The query now takes around 0,022 seconds to run (20 times faster).


How does this new functionality works:

1. Every time an ACL restriction is needed in a query civicrm core only does an inner join on the civicrm_acl_contacts table and that is all

2. The inner join is generated in the service 'acl_contact_cache'  that service also checks whether the the civicrm_acl_contacts table need to be updated or not.

3. When an update of civicrm_acl_contacts table is needed depends on the settings under administer --> System Settings --> Misc --> ACL Contact Cache Validity (in minutes)

So how does this look like in code?

Below an example of how you could use the acl_contact_cache service to inject acl logic into your query:

// First get the service from the Civi Container $aclContactCache = \Civi::service('acl_contact_cache'); // The $aclContactCache is a class based on \Civi\ACL\ContactCacheInterface // Now get the aclWhere and aclFrom part for our query $aclWhere = $aclContactCache->getAclWhereClause(CRM_Core_Permission::VIEW, 'contact_a'); $aclFrom = $aclContactCache->getAclJoin(CRM_Core_Permission::VIEW, 'contact_a'); // Now build our query $sql = "SELECT contact_a.* FROM civicrm_contact contact_a ".$aclFrom." WHERE 1 AND ".$aclWhere; // That is it now execute our query and handle the output...

The reason we use a service in the Civi Container class is that it is now also quite easy to override this part of core in your own extension.

The \Civi\ACL\ContactCache class has all the logic to for building the ACL queries. Meaning that this class contains the logic to interact with the ACL settings in CiviCRM, with the permissioned relationship etc.. All those settings are taken into account when filling civicrm_acl_contacts table which is per user and per operation once in the three hours.


Categories: Drupal

Entity Submenu Block

New Drupal Modules - 24 February 2017 - 5:28am

This Drupal 8 module is meant for the fairly common use case of displaying the current page's submenu items as rendered content entities (typically in the 'teaser' or similar view mode).

You can add Entity Submenu Blocks from the Block layout page and configure the view modes that should be used for different content entity types. By default only menu items for content entities are rendered, but there is an option to render other menu items as simple links too.

Categories: Drupal

The Brain Gorger's Appetite

New RPG Product Reviews - 24 February 2017 - 3:47am
Publisher: Gamehole Publishing
Rating: 5
An review

This module clocks in at 40 pages, 1 page SRD, 1 page blank, 1 page blank, leaving us with 37 pages of content. Not included in this page-count would be the two full-color maps on the inside of front and back cover and the front/back cover.

This review was moved up in my review-queue due to me receiving the print copy of this module in exchange for a fair and unbiased review. Additionally, it should be noted that my review is based on the print copy exclusively.

This being an adventure-review, the following contains SPOILERS. Potential players should jump to the conclusion.




All right, still here? Great! This module takes place in the town of Ockney's Hold. The place's moderate wealth derives from the export of azurite over the meandering Oriana River. The local baron, one Oliver Reinson, has recently, quite weirdly, changed his behavior. His interests are changed, the chamberlain has taken a more proactive role and the former captain of the town's guard has been replaced by a half-orc with a nasty temper, one Drast Grimbank. This has significantly changed the atmosphere of the town...and High Steward Braxton Tavaras has determined that something is SERIOUSLY going wrong in town...which is why he meets the PCs in a dingy tavern...though it should be noted that town and tavern-establishing shots/background information are provided with extensive read-aloud text for your convenience...and briefing itself has a lot of interesting components in details - perceptive PCs may, for example, note a pin on Tavaras' sleeves that denotes him as a member of a cadre of beings devoted to the ideals of good government - a kind of benevolent kingmakers/maesters, if you will. The whole module has these small tidbits that make the scenes feel more alive, those little informational nuggets that make it feel pretty organic.

Anyway, Tavaras' task is that the PCs are NOT to engage the baron, but should definitely find out what is amiss. We begin thus with an interesting premise: Thanks to Tavaras' connections and recommendations, the PCs enter the service of the Baron. It is here I can comment on the cartography of the module; apart from the aforementioned full-color maps in the front/back-cover, the internal maps are b/w pencil-drawings and there are a lot o them. The tavern? Mapped. Mansions? Mapped. In the latter case, the map is very detailed and actually makes for a nice handout, in spite of being keyed. In the former, a secret door's included, which means that you'll have to draw a player-friendly iteration. So no, alas, no player-friendly iterations.

Where was I? Oh yes, the PCs are by now in the service of the baron, giving them an inside look of the baroness Helda not being too excited about the change of personality the baron has been exhibiting. The keep is not mapped, but that is due to the relatively brief stay here - you see, the PCs will pretty soon have a chance to save the baroness in the middle of the night from a mimic, of all creatures, that has made its way somehow into the keep. Perceptive PCs receive a direct hint regarding means of egress to the baroness' chambers that may put them on track for the next sequence of the investigation, but smart players are not necessarily reliant on this - the similarly changed Chamberlain Brice would be the next suspect - brusque and uncooperative, shadowing the chamberlain may put them, after some legwork, on trail towards a refinery aptly named the Brick, where the PCs can listen in on both chamberlain and owner of the refinery - and it seems like they have a conspiracy afoot, as a nebulous mastermind is mentioned...of course, they may well be caught and have a fight up their hands, having to deal with the unpleasant master of the refinery...who btw. has his own unique ability to set him apart.

It should definitely be clear after that, that investigating the Brice Manor would be the next step - and btw., the garden is anything but safe, containing several carnivorous plants from 5th Edition Foes, reprinted herein for your convenience. The inside of the manor has btw. a response team of capable individuals, one led by Thaldar, a VERY powerful adversary...and the chamberlain does react with appropriate indignation to the invasion of his home. Here's the thing, though: Smart PCs will want to interrogate the folks...and thus deduce that the captured chamberlain has been replaced by a doppelganger...who, true to convention, when caught, can spill some serious beans.

It seems like a nasty syndicate known as the Ceaseless has driven its claws into the town - you see, the aforementioned primary export of the region, azurite, actually acts like a drug to creatures of certain...anatomies. Namely brain-gorgers, which are basically illithids stripped of closed IP. Yeah. OUCH. Now the ceaseless may have underestimated the impact of addiction to azurite by putting just such an individual in charge of the operation, which is directly a reason the otherwise pretty subtle operation became noticeable, thus drawing in the PCs. In order to save the baron and the town and break the brain-gorger's hold on the baron, the PCs will have to make their way towards the copper mines, provided they manage to survive the response-team sent to deal with them...

The 3-day journey through the wilderness has, just fyi, keyed encounters for each day and interesting things that happen, so yeah - more than a sequence of simple encounters....and then, the PCs will have to navigate the mines and finally deal with the brain-gorger. Wait. At what level? 1 -3? Well, yeah, but guess what - thanks to the addition of said villain, the PCs actually have a fighting chance.

Beyond stats for all monsters employed, the module closes with a nice 2-page gazetteer of the town.


Editing and formatting are very good. I noticed no grievous glitches in formal or rules-language departments. Layout adheres to a crisp two-column b/w-standard and the pdf's b/w-art is nice, as is the cartography. The cartography may not provide player-friendly iterations, but generally is high-quality. The printed softcover comes with glossy cover, thick, nice paper and is generally well-made and doesn't feel cheap - so yeah, if in doubt, I'd recommend print.

This is, to my knowledge the freshman offering of Gamehole Publishing and author Alex Kammer and it hits all my sweet spots. Its descriptive text if evocative. It assumes competent and smart players. It has pointers for GMs for the dialogues; it sports a variety of thematically diverse creatures...and it's not a module that hands you victory on a silver platter. In fact, I consider this to be delightfully old-school. If your players don't act smart, they'll DIE. Horribly. The bosses herein are BRUTAL. The module offers investigation, combat, dungeon- and wilderness-exploration and a captivating, fast-paced plot/unearthing of a conspiracy. In short: This very much reads how I tend to design adventures for my own campaign. Including the challenge it poses. If you're a pampered player who is not used to modules being actually hard to succeed, then this may come as a shock...but victory is EXTREMELY gratifying. You can pretty much play this as dark fantasy, as high fantasy or anything in between - whether it's Oerth, the Forgotten Realms, Golarion or another world, the module will fit in.

Theme-wise, it makes a perfect fit for the Borderlands Region of Frog God Games Lost Lands or, with an emphasis on more horror and a slight reskin of some humanoids, a great fit for Ravenloft. Why? Because its design-aesthetic is so damn beautiful. I know, I know. Call me hypocrite, but most commercial modules for the big systems (exceptions do exist by the spades, mind you) feel a bit too easy for me. I've always been a GM and player who WANTS challenge. I want my choices to matter and make a difference and I want character death to be a possible component of the game. It is here. Now, at the same time, we actually did not lose a character playing this one. By a hair's breadth. But no, this is not, I repeat, this is NOT a meat-grinder. It is not a nega-dungeon either. It is just a thoroughly well-crafted little gem that pits the PCs against brutal odds and a powerful opposition, but has ample in-game rationale why they can triumph.

My one relevant point of criticism pertains the lack of player-friendly versions of the maps, you know, sans key and secret doors etc. That being said, this is one of the most impressive first books I've seen a publisher and author produce in quite some time, and I do have a policy of cutting such first offerings at least a bit of slack. So, while usually the lack of player-maps would cost this my seal of approval, for once, I will retain it here. My final verdict will clock in at 5 stars + seal of approval and as far as I'm concerned, I'm stoked to see the sequel module hinted in the aftermath of this one.

Endzeitgeist out.
Categories: Game Theory & Design

All the things you can do with an expo pass at GDC! - by Brandon Sheffield Blogs - 24 February 2017 - 2:14am
A lot of people don't realize how much you can do with an expo pass. I'm a big advocate for them, so here's a big explainer!
Categories: Game Theory & Design

Keep referenced entities

New Drupal Modules - 24 February 2017 - 1:16am

Provides protecting some entities from deletion if they are used in other entities.

Categories: Drupal

InternetDevels: What type of Drupal developer do you need for your project?

Planet Drupal - 24 February 2017 - 12:16am

If you want to create a web resource, or to implement certain improvements on an existing one, then you must find specialists who will make your ideas come true. It’s quite a challenging task. We offered our 10 tips for hiring a top web developer by mentioning qualities that must be possessed. However, in addition, there are different types of web developers, with different skills, duties and types of work. The objectives and the scale of your project require appropriate experts.

Read more
Categories: Drupal

The Ties That Bind

Gnome Stew - 24 February 2017 - 12:00am

Family can mean so many combinations. Mix it up a little.

There sure are a lot of orphans in roleplaying games.

From the brooding warrior with no ties to hold her back to the super skilled agent with a family lost to tragedy, it’s very common to find a table full of characters that have no family ties. Sometimes you’re lucky if any of them have any connection at all to anyone outside of the scope of the game. It’s a trope that many players fall into and if you’re not careful, your game’s PCs could represent a vast wasteland of loneliness and isolation.

When I started thinking about writing this article, I considered the six PCs in my Eberron (Pathfinder) game. They each have a pretty rich history, but four of them are still orphans. The Gunslinger was an abandoned infant taken in by a Lyrandar family in Stormhome. The Oracle’s family was slaughtered in the Demon Wastes by cultists that sought to enslave his powers. The Fighter’s merchant parents were casualties of the Last War leaving her to grow up on the streets of Sharn. The Wizard does have a brother, but their parents were also killed during the Last War. The only two characters with any significant family still around are the Witch and the Cavalier. All of these backgrounds make sense for the characters and the world they’re playing in, but it’s still a significant number of orphans.

Family is complicated and messy and can make the game world so much more real and interesting for your character.It really is an easy trope for players to latch onto when creating their characters, and I am certainly not innocent of doing this for my characters. My Jedi in our FFG Star Wars game was a young Padawan on her way to Coruscant when she barely escaped Order 66, forcing her to live as a street urchin. The loss of family or loved ones can be a good catalyst to explain why a character started adventuring or fighting whatever evil lies at the heart of the game being played. At the very least, it can help explain why a character would be willing to give up the creature comforts of home and go on an adventure. If you’ve got nothing you care about at home, or even no home, there’s nothing left to lose.

It’s a reasonable choice, but it skips the rich opportunities having a family can present for your character. While it can provide some simple motivations behind a character, there is a lot to be said for having someone or something to fight for. Rather than doing it because you’ve got nothing left to lose, you could be doing it to ensure the safety of a parent, a sibling, a lover, a child. Family doesn’t have to be limited to blood relations either. Many of us can name friends that might as well be family, people that we would do anything for. Consider creating the same for your character. Family is complicated and messy and can make the game world so much more real and interesting for your character.

  • When you start going down the well tread orphan route, take a moment and reconsider. It’s too easy a choice. Consider giving your character a big family with plenty of ties all over the place. Or maybe a small, intimate group of friends that they had to leave behind. How about a lover where things got a little complicated and you haven’t had a chance to say you’re sorry yet. Dig a little deeper for some connections and it will help ground your character in the reality of the game.
  • Don’t feel you need to map out a full family tree at character creation. Family stuff probably won’t come up in the first session, but don’t shy away from those connections if the opportunity presents itself later. If the characters are heading into a town where your character has history, consider who they know there and mention it to the GM. Recently in the Eberron game, we learned the Gunslinger had a fling with the Witch’s kid sister before they knew each other. That made for some fun scenes all predicated on their ties to the world around them.
  • Sure, it can suck to have loved ones in danger, but that’s what drives so many great characters. Katniss Everdeen sacrifices so much to try and protect her little sister. Peter Parker keeps his identity a secret to keep Aunt May safe. John McClane may be going through a rough patch with his wife, but he’ll still take on a bunch of terrorists to save her. Would any of these stories be quite so engaging if it weren’t for the relationships driving these characters? Probably not.
  • Close as could be as children, now on opposite sides… Go!

    Don’t let your players’ characters exist in a vacuum. Ask questions about their friends and family. They came from somewhere and didn’t raise themselves, so they have people in their lives somewhere. Find out who they care about, who they never want to see again, who they miss. Everyone they ever loved being dead is a pretty extreme place to be and shouldn’t be allowed lightly.

  • USE the connections the players give you. Asking questions helps build the world, but if the ties they create never show up in the game, what’s the point? When it makes sense, weave the family and friends of your players’ characters into the game as NPCs. Bringing pieces of their background into play helps reward them for helping add to the world around the characters and they’re great ways to get the players invested in what’s happening in the game.
  • Finally and very importantly, don’t be a dick. Never fridge their loved ones just for the sake of messing with the players. Absolutely make the lives of the characters and those around them dangerous and challenging, but doing horrible things just for the sake of getting a rise out of your players is a cheap move and takes away their agency. This is also one of the reasons why some old school players will shy away from creating ties for their character. I’ve heard players state, “I don’t want to give the GM that kind of leverage.” Well, that’s either a player who doesn’t quite get it yet or someone who had a bad experience with an awful GM.


How have your players handled creating family ties in your games? Or, if you’re a player, when have you had family used well? I’d love to hear your stories on how your games made use of extended relationships like these.

Categories: Game Theory & Design

Lawful GM: Real Life Factors

RPGNet - 24 February 2017 - 12:00am
The real world and your game.
Categories: Game Theory & Design

GDC 2017 Level Design Workshop - by Joel Burgess Blogs - 23 February 2017 - 11:15pm
Get a sneak preview of the 2017 Level Design workshop, hosted by GDC on Feb 28. The speakers will introduce their topics, as well as roundtable some questions submitted by the LD community.
Categories: Game Theory & Design

Unimity Solutions Drupal Blog: Drupal 8 as an Enterprise Web Content Management System

Planet Drupal - 23 February 2017 - 10:30pm

Drupal 8 integrating with Traditional ECMs to enhance Enterprise Content Management Capabilities. Drupal 8 is a strong platform with it’s Strong Web Content Management System, has a role to Play in integrating with the existing Challengers/Traditional ECMs to enhance their Enterprise Content Management Capabilities.

Categories: Drupal


New Drupal Modules - 23 February 2017 - 10:27pm

A numerical field with enormous range, high precision, efficient storage and computational properties, and associated units property

Categories: Drupal


Subscribe to As If Productions aggregator