Skip to Content

Newsfeeds

The Fox Who Was Raised By Robots - by William David

Gamasutra.com Blogs - 3 April 2014 - 10:30pm
William David, level designer of Swing Swing Submarine, explains how poorly Tetrobot and Co. sells, and what it means for the future of their next game Seasons after Fall.
Categories: Game Theory & Design

Darren Mothersele: Drupal Theme Generator Update

Planet Drupal - 3 April 2014 - 4:00pm

It's been a week now since I demoed my proof-of-concept for an automated theme generator at the Drupal show and tell event so I thought I'd collect together the feedback I've received so far and post an update.

Wrong Approach?

Almost unanimously positive feedback. In fact, it seems other people have been thinking along similar lines:

@mothersele dude! just saw http://t.co/GyV2m41eUe This is something that @jenlampton, @mortendk, @Cottser and I have discussed for 8.x twig!

— Mark Carver (@mark_carver) March 29, 2014

The one opposing view I have encountered wasn't actually against any of the ideas in the theme generator, but suggested that taking over Drupal markup was wrong and that we should be working with what Drupal provides. I know there are arguments for this, and if you want to go this route then you will need some other mechanism for documenting the conversion of your design to Drupal theme. If you want to argue this case, I'd suggest first try having that discussion with Morten, as I'm going to assume that we're all OK with the concept of taking complete control of (completely rewriting) Drupal's markup output.

Annotation

In an earlier prototype I had started working with annotations inside HTML comments but I found these increasing harder to parse as the extractions became more sophisticated. Someone in conversation brought up ideas from KSS and suggested looking at CSS comments as an alternative.

I'm still proposing this as a possible approach (see Docblock), but for now I'm going to continue to annotate the markup (not the CSS) with x- attributes, as no one has had an issue with this, and at this stage it's easier to work with QueryPath to create the extractions based on these attributes. It seems that annotating the markup with x- attributes will be acceptable as long as they are stripped from the markup during the build process.

@rootwork @illepic @micahgodbolt @EvanLovely @mothersele Interesting! Do the data attributes get stripped out during the build step?

— Brad Frost (@brad_frost) March 28, 2014

It was great to get feedback from Brad Frost as his work on Atomic Design has been influential in the development of this process.

In code, or config

In this first proof-of-concept, the generated theme is held in memory, well actually it is persisted as a Drupal variable containing a single object that holds the result of all the 'extractions' from the source. The original intention was that this would actually be a ctools exportable, so that it could be exported and managed as part of the configuration management process for the site.

This is how the Panels flexible layout builder works. It has one parent layout plugin that programmatically declares child layout plugins based on the layouts you define using the layout builder tool. These child layouts are stored as exportable objects, so they can be exported using Features. The current Hyde theme generator approach is similar, except that the parent plugins (for layout or styles) programmatically declare child layout and style plugins based on the result of each extraction from the HTML source design.

Storing the result of the build in configuration or database raised some concerns, mainly over capturing the results in version control. These tweets summarise the issue:

@mothersele interesting implementation. But I believe that should definitely generate theme in code, not just DB @mcjim @MattFielding

— Tom Bamford (@waako) March 28, 2014

@waako If a prototype is always in sync with a Drupal theme, the markup *is* all in code right? // @mothersele @mcjim

— Matt Fielding (@MattFielding) March 28, 2014

Matt picks up on my original intention, in that the design/theme would be captured in code and be version-able because the translation is automatic from the design's HTML/CSS/JS.

The difficulty is in managing any changes that happen to the generated code once it becomes a Drupal theme. This is exactly the problem that using the theme generator is trying to solve. That it provides a documented, repeatable conversion process, so that design can become part of the (agile) development workflow.

However, it is going to be unavoidable that some tweaking will be needed. This covers a couple more issues that were raised at the Drupal show-and-tell event:

  • How to manage logic in template files?
  • How to capture Drupal's pre-process functions?

The approach I am looking at to solve this, is one I've seen practised by other tools that involve code generation. For example, have you seen BDD using Behat? When define a test scenario in Behat it generates stub code for any unrecognised steps in your tests. For example, if you say "Given I am in a directory", you would get the generated stub code:

/** * @Given /^I am in a directory "([^"]*)"$/ */ public function iAmInADirectory($argument1) { throw new PendingException(); }

I think the theme generator could do something similar for elements marked as requiring pre-processing in the template file. This needs some further thought and perhaps a couple of experiements.

Terminology

Still struggling with naming conventions. If this is going to be a more general tool then need generally understandable terms (like 'component'). But, need to avoid overloading terms even more, as it's already quite confusing having SMACSS modules, Drupal modules, panels, blocks, boxes, styles, layouts. urgh!

Next steps...

@mothersele @mark_carver I love it. Also love that it works w/ panels! Q: Are the layout plugins placed in the theme? @mortendk @Cottser

— Jen Lampton (@jenlampton) March 31, 2014

So, I'm going to revise the current proof-of-concept and produce a second prototype. This time as a Drush command that generates an actual Drupal theme. Rather than holding the extracted theme in configuration it will generate a theme folder, that will include all the usual Drupal theme files, plus any plugins for Panels layouts, styles, display suite etc, and the CSS/JS copied across from the source design.

This will allow Hyde to generate stub code for pre-processing or other programmatic tweaks that are needed to get Drupal's output to match the design markup. I also think people will be more accepting of this approach as it's probably more like how it is expected to work.

My worry is that people will then hack the generated theme, it will go out of sync with the source design markup, and that will break the whole process.

If you want to get involved, please drop me a line. I need input from designers, themers, and developers. In particular, I'd be interested to speak to anyone else already using Atomic Design and/or SMACSS on Drupal projects.

Categories: Drupal

PreviousNext: Object-oriented page callbacks for Drupal 7

Planet Drupal - 3 April 2014 - 3:45pm

In Drupal we use object-oriented page and form callbacks to ease our programmning burden This is a nice improvement that allows us to encapsulate the functionality of one or many page callbacks into objects, with all the benefits that brings. Is it possible for us to us object-oriented page callbacks in Drupal 7? With a few tricks, yes it is. This article shows you how.

This is part of a continuing series of using Drupal 8 programming techniques in Drupal 7.

Categories: Drupal

PreviousNext: Object-oriented page callbacks for Drupal 7

Planet Drupal - 3 April 2014 - 3:45pm

In Drupal we use object-oriented page and form callbacks to ease our programmning burden This is a nice improvement that allows us to encapsulate the functionality of one or many page callbacks into objects, with all the benefits that brings. Is it possible for us to us object-oriented page callbacks in Drupal 7? With a few tricks, yes it is. This article shows you how.

This is part of a continuing series of using Drupal 8 programming techniques in Drupal 7.

Categories: Drupal

Wunderkraut blog: Does Acquia Certification give you personal ROI?

Planet Drupal - 3 April 2014 - 2:48pm

I’ve been recruiting many Drupal developers. The process is usually a mixture of random in-depth questions, a drupal.org profile review and pure intuition on the applicant’s fit for our company.

That’s why I felt genuinely interested in the recently published Acquia Certification program. Could a single test provide a trustworthy distinction between a seasoned and an unexperienced Drupal developer? I got to test myself a couple of days ago.

The Acquia Certified Developer Exam promised to analyze a testee’s knowledge of Drupal as well as web development skills in general. The covered areas are so overly wide that it is pretty hard to cover all corners with 60 multiple choice questions. Drupal was naturally present in most them while some of the other development topics were covered only by one or two.

The test time was limited to 90 minutes which I spent completely. The most time consuming part was reading the questions themselves.  I would have made the answer options tricky, not the questions. The questions were  quite lengthy, trying to mimic a real life case of an freelancer. An entreprise level questions would have had more focus on testing, scalability, deployment and documentation - not to mention drupal.org participation.

My overall feeling about the exam was positive. Althought I would have preferred the test being split into more specialized, separate tests, the certificate test gives what it promises. After completing my test, I got the results which reflected in my mind quite well my personal skills.

For sure one cannot pass the test only by guessing so the certificate is a valid testimony of prior in-depth Drupal experience. That’s why having a Acquia Certification in your CV will give you additional credibility and personal ROI. It will grow from personal ROI to corporate ROI when becoming an acknowledged selling point as well as a decision criterion in tendering processes.

 

Categories: Drupal

This Week in Video Game Criticism: Threes' company

Social/Online Games - Gamasutra - 3 April 2014 - 12:03pm

This week, our partnership with game criticism site Critical Distance brings us picks from Kris Ligman on topics including the cloning of Threes and Tim Rogers's Love: The Video Game. ...

Categories: Game Theory & Design

Shipping on time

Social/Online Games - Gamasutra - 3 April 2014 - 11:46am

"How do we, as obsessive, design happy, feature happy, develop happy engineers actually ship something?" This blog post explains -- in detail. ...

Categories: Game Theory & Design

Commercially viable design on mobile

Social/Online Games - Gamasutra - 3 April 2014 - 10:19am

"In my experience, new designers are quick to rebel against the concept of simplicity, and are often more in love with systems than mechanics." ...

Categories: Game Theory & Design

Video Game Elitism and Kirby - by Danny Vondrak

Gamasutra.com Blogs - 3 April 2014 - 9:36am
Due its simple juvenile nature, the Kirby franchise shines light on the hypocrisy of elitism in video game design by being both neanderthalically stimulating and undeniably fun.
Categories: Game Theory & Design

Why changes in the Steam ecosystem terrify me - by D Scott Nettleton

Gamasutra.com Blogs - 3 April 2014 - 8:44am
Steam has long been a highly curated ecosystem, and is now moving further and further away from this approach. I don't like that.
Categories: Game Theory & Design

ThinkShout: Reflections on Drupal Day: Creating a One-Size-Fits-All Day for Nonprofit Professionals and Technologists

Planet Drupal - 3 April 2014 - 8:00am

Originally published March 26 on NTEN.org

Learning a new technology can be incredibly intimidating, especially if you’re going at it alone. There’s great comfort in knowing that you’re not the only one with those particular questions or having this recurring, frustrating problem. Stranding yourself on a technological island is so unnecessary, especially given how accessible learning resources are these days. This is the beauty of the modern technology communities.

Specifically, the Drupal community. It’s everywhere, it’s friendly, and it’s full of helpful people excited to share their expertise and bring new talent into the fold. I spent the last four months preparing for Drupal Day, a Drupal-centric, day-long workshop that ThinkShout coordinates as part of NTEN’s Nonprofit Technology Conference (NTC). I didn’t quite understand the scope of this community until those months finally culminated in the big day.

The process was an interesting one for me especially, as it was not only my very first Drupal Day but also my first experience at the NTC. How do you create a one-size-fits-all day for a large group of people, both nonprofit professionals and technologists, with a wide range of technical competency levels?

It may not be a perfect fit, but so long as there are options, your attendees remain in control and are able to choose the sessions relevant to their interests. With the collaborative efforts of our sponsors and nonprofit feedback, we were able to put together a day jam-packed with content.

My experience with Drupal Day left me with a few key takeaways for those looking to dive into Drupal:

1. The Drupal community really is awesome.

Drupal.org is only the beginning, but it’s a fantastic beginning full of answers. There are forums, an archive of resources, and even a live chat if that’s more your speed. There’s a wealth of information available to you online, all of it curated by the people that know and love Drupal best. This community isn’t purely digital, either. If you live in a large city, chances are there’s a Drupal meetup near you. If you’d prefer to meet face to face, you can, whether it’s through a local event, full-blown DrupalCon, or nonprofit summits at NYC Camp, and BADCamp. You can also access paid training on BuildAModule, but the best part is that you can meet Christ Shattuck, the BuildAModule instructor, in person at a ton of these events. You’re going to start recognizing people quickly, and it’s going to be more helpful than you might think.

2. Learn from others’ stories and share your own.

One of the draws of Drupal Day is that it’s a great opportunity to hear from nonprofit decision makers about their experiences with Drupal. This year, every single one of our speakers represented a nonprofit with a successful Drupal story and each came from different technological backgrounds. We chose speakers that we believed had great, impactful stories that Drupal Day attendees could learn from. This year, Erin Harrington from The Salmon Project, Jess Snyder from WETA, Porter Mason from UNICEF, Milo Sybrant from the International Rescue Committee, and Tony Kopetchny from Pew Charitable Trusts joined us to share their experiences. You can learn more about their projects by clicking through to their websites.

3. Every question is a good question.

There really aren’t any dumb questions, especially when it comes to Drupal. The community embraces newcomers and fosters a great environment for learning. No matter your technical competency level, they’ve got an answer for you. This is why we structured Drupal Day 2014 the way we did: nonprofit speakers in the morning talking about their personal accounts of their organization’s experience with Drupal, followed by an afternoon of twelve breakout sessions covering a variety of topics, where guests could move from classroom to classroom easily. We collaborated with our developer sponsors and nonprofit attendees to determine what information was most relevant to nonprofits. We crafted a day around the topics they wanted to learn about. Everything from Google Analytics to content creation had a place at Drupal Day.

The Drupal community is one that needs to be experienced to truly understand its value. It’s a wonderful stage for nonprofits, no matter where their organization is at technology-wise. Drupal Day is a prime example of that, but there are many more events on the horizon, which I highly recommend if you’re on the fence about diving into Drupal. Of course, I also encourage everyone to come out to Drupal Day at the next NTC and see just what exactly it feels like to be part of this fantastic community.

Categories: Drupal

drupalsear.ch: This week in Search API - Meeting notes 01/04/2014

Planet Drupal - 3 April 2014 - 7:59am

On Tuesday, April first we had our first Search API Online meeting using Google Hangout. The following is a result of what was decided and said. It's also a start of this week in Search API so that we allow you to follow along.

What have we done

Frederick fixed the batch process, needs to be tested
During Drupal Dev Days we made 322 commits
Heaviest hours were from 09:00 till 19:00 and then it went up again from 22:00 till 24:00. Thanks to freblasty we even had commits during the middle of the night, 9 of them at 04:00.
Wednesday was our most productive day with 75 commits. Saturday was our low point with only 36 commits, I guess that has something to do with the party on Friday evening…!
20834 lines were added, 11996 were removed
In total we had 15 contributors!!!!
A blog post with more details will be posted soon.
http://drupalsear.ch/rocketship/all/all now features the issues from the sandbox also. If you see issues in Needs Review, please go in and review and/or put your opinion.

What will we do

In General more tests for the processors is our main focus
The indexing logic needs to be reviewed and tested
We’ll move to the proper Search API project once basic functionality is working and we want to work on features.
freblasty is going to move all the issues from the google doc to the sandbox issue queue.
drunkenmonkey will review if the information is clear enough on the main Search API Module page so that people are guided towards best practices and they can join the effort.
Nick_vh will figure how search api tests quickly locally using drupal.org docker images.
Nick_vh will figure out how to proceed with a this week in Search API blog post (which is what you are more or less reading right now).
Nick_vh will register drupalsear.ch and link d8searchapi.acquia.com to it.

For your information

freblasty has a holiday and seems he has time to work on some harder issues. He needs some cheering!
We decided that we'll talk about multiple entity types per index next meeting.
Before committing/pushing, we will always run tests.

Tags:
Categories: Drupal

310 Days in Purgatory - by David Gallant

Gamasutra.com Blogs - 3 April 2014 - 7:35am
I Get This Call Every Day was just greenlit for Steam. So why am I not excited?
Categories: Game Theory & Design

The Design Philosophy of Hero Generations - by Scott Brodie

Gamasutra.com Blogs - 3 April 2014 - 6:57am
When I started designing Hero Generations, my goal was to build a game that would allow players to feel a complex set of emotions I had experienced. Early on, I wrote this summary of how I planned to achieve this aesthetic experience in the game.
Categories: Game Theory & Design

Blink Reaction: How to Add the Current Date to a View in Drupal 7

Planet Drupal - 3 April 2014 - 6:31am

Today, someone in IRC asked how to add the current date to a View they were working on. Seemed simple enough, and I offered to help, thinking it was just a matter of sticking a token in the View header. And it was...sort of. Incredibly, Google searches turned up only code-based solutions. Overkill. Here's a UI-based approach.

To add the current date to the top of a View, follow these steps:

Categories: Drupal

The Magic of Reality - by Alice Rendell

Gamasutra.com Blogs - 3 April 2014 - 6:11am
A look at how games based on realistic portrayals of life can still create unique and powerful stories.
Categories: Game Theory & Design

Commercial Progression: The Acquia Certified Developer exam

Planet Drupal - 3 April 2014 - 5:49am

I recently took the Acquia Certified Developer exam and I’m proud to say that I passed by a significant margin. While it was by no means easy, it shouldn’t be insanely difficult for anyone who is a competent, experienced Drupal developer to get a passing score.

I originally heard about it through Acquia’s partner newsletter (Commercial Progression is an Acquia partner) but it was a blog post from Angie "webchick" Byron that really sold me on it. I really liked the idea that it would test practical knowledge and not just require memorizing a bunch of facts. I also felt that being offered by Acquia, one of the most recognized and trusted names for all things Drupal, really helps give it credibility that it might not have if some other company was offering it.

Onsite vs online

After reading about the Secure Sentinel software used for the online testing, I decided to go the onsite route. My biggest concern was that despite my best efforts to avoid disturbances, something would inevitably happen that would cause me to have to retake the exam. Rather than chance it, I decided to just do the onsite exam.

When you register for an onsite exam, you will receive an email with an authorization code and instructions. Essentially it boils down to “show up 15 minutes early with this email and 2 forms of id”. From there, you have to sign some forms (code of conduct and consent to be recorded) and hand over any items you brought with you (wallet, watch, cellphone, etc) which they will store for you until you’re finished since you have any of that with you during the exam. Once all that’s taken care of, they will get the computer setup and take you to the room to start your exam.

Exam prep

If somehow you haven’t seen it already, Webchick has put together an excellent study guide. The sample question is also worth a look but if you feel that you need to do a lot of studying, you should probably re-think whether you should be taking the test. Studying is good for brushing up on topics you might be a little rusty on but it’s no substitute for hands-on experience.

The exam

While I obviously can’t really say anything about the content of the exam, I will say that it is focused things that you will actually encounter and use, not just a bunch of random facts. If you have experience building, maintaining, and fixing Drupal sites using best practices, it will serve you well.

When I was taking the exam, there were questions that actually caused me to smile when I read them because I knew the answer right away. They pertained to scenarios that I had encountered and dealt with while working on Drupal sites. If you’re an experienced developer, don’t be surprised to see some familiar scenarios and issues on the exam.

The actual process was fairly smooth and the 90 minute time limit seems pretty reasonable. I was able to thoroughly read all of the questions, evaluate the answers, and go back and review the questions that I had flagged all with time to spare.

There was one minor issue where the testing system got stalled between questions for a minute or so. That ended up resolving itself just as I was about to call the proctor and the timer resumed from where it was previously so I didn’t actually lose any time. It seems like that was just a minor hiccup with the testing system and not really anyone’s fault.

Final thoughts

When you get you results after the exam, your score is broken down by topic so you can see how well you did in each of the four “domains” the exam covers. It would be nice to be able to see what questions you got wrong after you complete the exam but I realize that might not be possible. One possible alternative might be to give a more detailed breakdown of the score using the sub-topics from the blueprint (eg “3.1 Given a scenario, demonstrate ability to create a custom theme or sub theme”) so the people who take the exam have a better idea of areas where they may need to improve.

The best advice I can give to anyone taking this exam is don’t overthink things and go with your gut. Acquia is not trying to trick you. As long as you read the whole question you should be fine. If you’re an experienced developer and you’re unsure about the answer for a question even after you’ve gone back and reviewed it, the best thing you can do is just go with your first instinct as it’s probably correct.

Categories: Drupal

Introducing Popup Dungeon - Be Any Hero - by Enrique Dryere

Gamasutra.com Blogs - 3 April 2014 - 5:31am
Triple.B.Titles, the makers of Ring Runner, announce their new project Popup Dungeon, a roguelike papercraft enchanted board game that lets you create any weapon, ability, character, or enemy you can imagine.
Categories: Game Theory & Design

Wunderkraut blog: Slides from Vagrant+Puppet=TRUE from Drupal Dev Days in Szeged

Planet Drupal - 3 April 2014 - 4:37am

On Drupal Dev Days I gave a talk about how we work with Vagrant and Puppet with development, here are the slides from that talk.

If you have any questions, please comment.

 

Categories: Drupal

InternetDevels: Flexible materials sorting with the help of Radioactivity module

Planet Drupal - 3 April 2014 - 4:30am

While planning site architecture with a large amount of materials, developers often face such issue: how to implement a flexible materials sorting, or how to make the most interesting articles not to be lost among the new content?

Here we will describe the solution we have implemented while handling this kind of task.

Read more
Categories: Drupal
Syndicate content


about seo