ComputerMinds Config tools

New Drupal Modules - 20 September 2016 - 8:17am

Provides advanced configuration management workflow functionality, based around ComputerMinds' intended config management workflow.

Inspired by a combination of PreviousNext's Drush CMI tools, Configuration Synchronizer, Configuration development and Configuration Update Manager.

Categories: Drupal

Mystic ScROLLS Dice Game Up On Kickstarter

Tabletop Gaming News - 20 September 2016 - 8:00am
The written word is very powerful. I mean, look at what you’re doing right now. I’m imparting knowledge to you via written language (ok, typed, but still). Wizards are well known for having scrolls filled with all sorts of arcane knowledge in the form of powerful spells. As an apprentice wizard that you are (didn’t […]
Categories: Game Theory & Design

BlackMesh: Best of New Orleans DrupalCon Core Conversations

Planet Drupal - 20 September 2016 - 7:46am

DrupalCon New Orleans had many good Core Conversations. The Core Conversation track sessions are a bit different than regular session. Presenters frame a topic, discussion, or concern. And then, the conversation with the audience continues in the session recordings.

I was the local track chair and I listened to all of the convos. Here are some choice quotes. Enjoy the highlights from New Orleans, and I'll see you in Dublin!

Quotes from the sessions Automated javascript testing: where we are and what we actually want by dawehner

"we should go with Mocha and Karma" @dawehner in Core Convo: Automated javascript testing @drupalconNA #drupalcon

Approaches for UX changes big and small by yoroy

"We've done multiple usability tests on [#Drupal] core. The results have become predictable” @royscholten #DrupalCon

MVP should provide value for end users right from the start. @royscholten #DrupalCon

Is size just a number?: Reflecting on community growth, mentoring, and where we spend our efforts by David Hernandez

"Focus on the human element" from @davidnarrabilis about #Drupal Community growth #DrupalCon

Just Right: Goldilocks and CMS theme systems by lauriii and Cottser

Personas the theme system has to deal, are base for complexity we have @laurii1 #DrupalCon

"Because we can do things :)" @Cottser #DrupalCon

The potential in Drupal 8.x and how to realize it by Gábor Hojtsy and webchick

"You can make big changes in Drupal 8" @gaborhojtsy #DrupalCon

"Things that we want to do to the process to improve" @webchick #DrupalCon

About Core MVP process proposal, @dickolsson: "Can we get an MVP of this" // @webchick @gaborhojtsy #DrupalCon

The future of Drupal Performance - Parallel worlds by Fabianx

Ha @drupalconNA "Welcome to our cooking 101 class!" @fabianfranz in The future of Drupal Performance #DrupalCon

"Avoid doing unnecessary work" @fabianfranz in The future of Drupal Performance #DrupalCon

Recruiting and retaining dedicated volunteers by stephelhajj

Professional & funny: Recruiting and retaining dedicated volunteers @stephelhajj #DrupalCon

Prune your garden @stephelhajj #DrupalCon

Together we can make Drupal The Example for Diversity in Tech! by drnikki and techgirlgeek

Diversity, Equality, Inclusion, Marginalized Group @TechGirlGeek #DrupalCon

Things that make you a: good developer, no. tech worker. no: human being @drnikki #DrupalCon

Unbias Me Chrome extension from @fureigh via @drnikki #DrupalCon

#DrupalCon audience adds @lexiconvalley E78 Diversity resource // @TechGirlGeek @drnikki

Learning to Let Go (Contrib Burnout) and Module Giveaway by Dave Reid

"Be human" from @lullabot via @davereid #DrupalCon

How to do contrib: compartmentalize, therapy, afk time, todo list via @davereid #DrupalCon

Drupal (admin) as an application: More JavaScript in core? by prestonso , danigrrl , and mdrummond

At #MidCamp "consensus about what features we want in Core for JavaScript" @prestonso @MarcDrummond #DrupalCon

Workflow Initiative (Drupal is a CMS) by timmillwood and dixon_

Check the Workflow Initiative Plan for updates #DrupalCon core convo from @timmillwood @dickolsson

Leaving Drupal by eatings

"One cant be a master without an apprentice" @eatings Leaving Drupal #DrupalCon core convo

State of Drupal by Dries, xjm, and Gábor Hojtsy

To help remove contribution barriers @Dries in State of #Drupal #DrupalCon core convo

How to find issues that are good for new contributors from @gaborhojtsy at @Dries State of #Drupal #DrupalCon convo

D.o, github, issue workspaces background via @xjmdrupal @joshua_io at @Dries State of #Drupal #DrupalCon convo Don't say just. It does a great disservice to the complexity of the system @joshua_io at State of #Drupal #DrupalCon

Lessons from WordPress Core by stevector and andrew.taylor

"We have a twin island [..] right next to us, that has all the same pressures we do.” @stevector #DrupalCon

DrupalDrupalCon New Orleans
Categories: Drupal

InternetDevels: Drupal 8 Module: Rules

Planet Drupal - 20 September 2016 - 7:39am

Rules are everywhere: at school, at work, in life in general ... and there are some Rules in Drupal 8
as well!
Although it’s definitely not what you think it is :)

Read more
Categories: Drupal

Latest Releases Available From Corvus Belli

Tabletop Gaming News - 20 September 2016 - 7:00am
Yeah, I know we’re just shy of 3 weeks into September, but sometimes things happen a releases and announcements get pushed back. So, having said that, Corvus Belli has August’s releases for Infinity now available over in their webshop. Back during the original preview, it seemed people weren’t too happy with some of the sculpts. […]
Categories: Game Theory & Design

Why New Master of Orion Is Already Old - by Martin Rezny Blogs - 20 September 2016 - 6:38am
A review of the new Master of Orion written by someone who has spent last ten years playing Master of Orion II, with some suggestions to people who intend to make other space 4X games.
Categories: Game Theory & Design

How to create you own stuff: universes(pt1) - by Vitor Bulbovas Blogs - 20 September 2016 - 6:37am
Now I’ll try to help you guys to create your own things from scratch-kinda-.
Categories: Game Theory & Design

Multiplatform game - good or bad idea? - by Leszek Lisowski Blogs - 20 September 2016 - 6:35am
This entry is about pros and cons and of course many struggles during creation of the multiplatform 4X strategy game by an indie studio. Probably some useful info for anybody considering to release a game on many platforms.
Categories: Game Theory & Design

Five Lessons Learned as Marketing Manager at Failbetter Games - by Haley Uyrus Blogs - 20 September 2016 - 6:35am
Haley Uyrus, marketing manager at Failbetter Games, discusses five lessons for indie marketing after switching from pre-release to post-release marketing and PR. Topics include marketing and brand copy, community, advertising, and business practices.
Categories: Game Theory & Design

Brief Intro to China's Mobile Gaming Market - by Jason Kong Blogs - 20 September 2016 - 6:33am
A brief intro on China's Mobile Gaming Market, a comparison of the different gaming platforms in China
Categories: Game Theory & Design

Reminder: Use rapid prototyping - by Lars Tornbjerg Blogs - 20 September 2016 - 6:33am
A friendly reminder of using rapid prototyping - what it is and what are the benefits.
Categories: Game Theory & Design

Zivtech: What are Hooks?

Planet Drupal - 20 September 2016 - 6:32am
As a junior developer ramping up to learning Drupal, I spent a lot of time clicking through the UI. After getting familiar with it, I wanted to take a look behind the scenes at Drupal’s codebase. Writing code for a Drupal site can be an overwhelming experience because, even though it’s written in PHP, there’s a dense API behind it. One of the biggest parts of that API is the hook system. The first exposure I had to writing PHP with Drupal was through update hooks. So I wanted to review how hooks work, and how cool they are to use! What is a Hook? Drupal has a lot of excellent Community Documentation, and their page on hooks is thorough. It says:

“Hooks are how modules can interact with the core code of Drupal. They make it possible for a module to define new urls and pages within the site (hook_menu), to add content to pages (hook_block, hook_footer, etc.), to set up custom database tables (hook_schema), and more.

Hooks occur at various points in the thread of execution, where Drupal seeks contributions from all the enabled modules. For example, when a user visits a help page on a Drupal site, as Drupal builds the help page it will give each module a chance to contribute documentation about itself. It does this by scanning all the module code for functions that have the name mymodule_help($path, $arg), where "mymodule" is the module's name, e.g., the block module's help hook is called block_help and the node module's help hook is called node_help. The hook may provide parameters; hook_help's parameters $path and $arg allow the developer to determine what page or pages the help messages will appear on.
A hook can be thought of as an event listener in the sense that an event triggers an action.”

It’s amazing that Drupal is built on this hook system. There are hooks for anything you can think of! You can even alter a form or a whole page. As Drupal builds each page, it’s scanning the module code for the hooks in core and then runs the ones that you wrote. Alan Storm put it succinctly in one of his blog posts:

“When a hook is invoked, Drupal will

  1. Get a list of all installed and enabled modules
  2. Ask each module “Have you implemented the do_something hook”?
  3. If so, then Drupal calls the function in those modules that implement the hook

This way, as a core developer, you can achieve what you want while still letting other programmers “hook into” what you’re doing.”

Update Hooks The first hook I used was an update hook. The purpose of an update hook is to run code when a database update is triggered. (See the Drupal documentation for function hook_update_N for more information). I’m assuming my reader has worked with Features development (if not, go here).

My goal was to enable a certain contributed module programmatically when I deployed my code to the site (the Olark module). To do this, I had to find an existing feature in my project that was already enabled. A good rule of thumb is to add your code to an existing feature that is related to the code you’re writing. Since Olark is a chat module, I was looking for a feature related to customers or the homepage. I couldn’t find any feature that fit exactly with the module, so I added my code to feature_general. Within the directory of that feature, I found the feature_general.install file, and added my hook:
/** * Enables 'olark' module. */ function feature_general_update_7006() { module_enable(array('olark')); }
After I deploy my code, I trigger a database update. Think back to the three steps that Alan Storm mentioned. Since my feature is already enabled, when the update is triggered, Drupal asks if any update hooks have been invoked. When it sees that there is one in my feature, it knows to read the code in the install file and turn on the Olark module.

It’s also worth noting the naming convention. I have to put the name of my feature and then _update. The number of the hook also matters (see documentation for specifics on how to number your hooks). The hooks only run once, so each hook has to be one greater than the one before.

Writing hooks is a great way for a junior developer to be introduced to PHP in Drupal and learn about how Drupal is built. Once you can conceptualize the inner workings of Drupal, it’s much easier to tackle things like module development in the future.
Categories: Drupal

New Konflikt ’47 Releases Available From Warlord Games

Tabletop Gaming News - 20 September 2016 - 6:00am
People love to think “what if” in regards to a lot of things, but to WWII, specifically. That includes many game designers. Konflikt ’47 is one such result, giving us a war that continued on, as well as imbuing it with a lot of strange technological advances. There’s three new releases for it over in […]
Categories: Game Theory & Design Giving Clients What They Need - Not What They Want

Planet Drupal - 20 September 2016 - 5:38am

If you're anything like me, you've spent a few years in the freelance/agency world performing work for clients. If your clients are anything like the ones I've had, they come in with preconceived notions, "wives tales", and many, many things that are just not in their best interest.

I know there is a tendency to say "the customer is always right." I would prefer to say "the customer is entitled to the best product possible."

Part of that product is you - their developer - and your knowledge.

In this post, I'm going to attempt to show you a piece of what I mean when I say "Giving Clients What They Need - Not What They Want".

Categories: Drupal

New 3D viewer for improved digital geoscience mapping

Virtual Reality - Science Daily - 20 September 2016 - 5:30am
Over the years, techniques and equipment for digital mapping have revolutionized the way geoscience field studies are performed. Now a unique new software for virtual model interpretation and visualization is revealed by researchers.
Categories: Virtual Reality

Annertech: DrupalCon Welcome Party: It'll be Deadly and Savage (with translations)

Planet Drupal - 20 September 2016 - 3:22am
DrupalCon Welcome Party: It'll be Deadly and Savage (with translations)

This day next week, as part of the Drupal Ireland Association, we will be delighted to welcome you to Dublin at the DrupalCon Welcome Party. It's on a boat, which is going to be deadly ("deadly" in this context means great, "lethal" would mean dodgy/dangerous!). The boat is just across the road from the convention centre, so that will be savage ("savage" of course means lots of fun).

Categories: Drupal

When Can I Use a Person’s Likeness in My Game? - by Kimberly Culp Blogs - 20 September 2016 - 3:13am
Game developers should tread carefully when creating avatars based on real people, and should take into account permission, likeness, and purpose.
Categories: Game Theory & Design

Apsis mail

New Drupal Modules - 20 September 2016 - 2:35am

Interacts with the Apsis mailing list REST api.

  • Provides a subscribe form as a block
  • Allows subscribe and unsubscribe in user edit page
Categories: Drupal

Get some taste! Let's stop making bland games! - by Brandon Sheffield Blogs - 20 September 2016 - 2:06am
Can taste be learned and acquired? I think you can and should learn to discern your own sense of taste, if you want to make compelling media.
Categories: Game Theory & Design

Aurelien Navarre: Porting the Page Load Progress module to Drupal 8

Planet Drupal - 20 September 2016 - 1:08am

Back in 2012, my colleague Mariano released the Page Load Progress module for Drupal 7. This is not a widely popular module but I love it. Simply put, it will display a spinner when a page is taking too long to load, to prevent your users from clicking around or leave the page. It excels for time-consuming form submissions.

The path to being a co-maintainer

In mid-2014, I wanted to start learning Drupal 8 so I figured porting the Page Load Progress module to D8 would be twofold: 1/ do something meaningful to make the module live during the Drupal 8 lifecycle 2/ get to learn about the Drupal 8 API changes.

I quickly filed an issue in the Page Load Progress issue queue to get community feedback as I was 80% through porting the module. For about 2 years I never heard back, so at some point I realized the module was no longer being maintained and a critical Views issue on Drupal 7 (and by extension Drupal 8) was most likely preventing the module from getting wider adoption.

I reached out to Mariano and he said he was no longer doing Drupal development and was happy for me to take over the module. Ha! Didn't think about being a module maintainer. I'm not even a developer. That being said I liked the idea that Open source is all about passing on the torch and I had to do my part until I'd pass it on to someone else.

So, I followed the Dealing with unsupported (abandoned) projects guidelines and filed an issue to take over maintaining the Page Load Progress module. The next steps were for me to get community awareness and help with this new challenge. I thus filed a Drupal 8 Contrib Porting Tracker issue and reached out to Dom. to make him a co-maintainer and mentor on the project, since he has extensive experience with Drupal 8.

Taking it from there

During the summer, we then worked on completing the port of the module and brainstormed on where to bring it next. The main highlights are:

Usage statistics show people are starting using it again, which likely means we did have a blocker with this annoying Views issue.

Next we want to work on implementing JavaScriptTestBase and also allow users to exclude arbitrary paths from triggering the throbber.

Conceptually, the Page Load Progress is a very simple module. But when you think about it, you can considerably improve its inner workings, support edge-cases better and have full JS test coverage to make it rock solid. We're on it. See you in the issue queue!

Categories: Drupal


Subscribe to As If Productions aggregator