Newsfeeds

Into my Galaxy: GSoC’ 16: Port Search Configuration Module to Drupal 8 : Mid Terms

Planet Drupal - 17 hours 4 min ago

I feel really excited to have cleared the mid-Term requirement for my project in Google Summer of Code (GSoC). The results of the mid-Term evaluations were announced June 28, 00:30 IST. This was the evaluation for the first phase of GSoC. In this evaluation process, set up by GSoC organisers, students and mentors have to share their feedback about the current progress of the project. Mentors need to give a pass/ fail grade. Students can continue coding once they clear the evaluations successfully.

I have been working on Porting Search Configuration module to Drupal 8. Please go through my previous posts if you would like to have a look into the past activities in this port process.

Last week I worked on testing some of the units of this module using the Php unit tests framework. Testing is an important process when it comes to any software development process. It plays a crucial role for any software. It helps us to understand the improve our software to the required level by making use of various test cases. We input various values and check whether the tests are passed according to the requirement. If any condition fails to our expectations, we need to make the required changes to suit the application needs.

Php unit tests are generally used to test some units of an application. To check whether the functions implemented gives the expected output, behaviour of the functions in various test cases, giving different types of arguments as inputs to check the errors or flaws for improving the application.

We need to install the Php unit for this process. You could follow this documentation for this process. Furthermore, they give a detailed analysis of the Php Unit Tests.

Once the installation is completed, we can start writing the unit tests for the functionalities we have implemented. The tests are generally stored in the tests/src/Unit directory of the module. The name of the unit test file will be of the format xyzTest.php. All tests are suffixed by ‘Test’. ‘xyz’ can be replaced by the functionality you are going to test.

The following is a simple test to check the sum of two numbers: sumTest.php

<?php class SampleTest extends PHPUnit_Framework_TestCase { public function testSum() { $this->assertEquals(2+2, 4); } } ?>

As mentioned in this above code snippet, we need to create a class, with class name suffixed by ‘Test’ which is an extension of PHPUnit_Framework_TestCase. Now, we need to write the tests inside as member functions. The functions starting with the name test are executed. Here we are checking the sum of the two numbers. This is a very simple demonstration.

The tests are run by using the command PHPUnit. i.e,

$ phpunit tests/src/Unit/sumTest.php

The output generated on running the above test is:

PHPUnit 5.4.6 by Sebastian Bergmann and contributors.

. 1 / 1 (100%)

Time: 252 ms, Memory: 13.25MB

OK (1 test, 1 assertion)

Stay tuned for future updates on this module port.

 


Categories: Drupal

The Golden Circle: A different perspective on game design

Social/Online Games - Gamasutra - 17 hours 4 min ago

Gearbox Studio Québec senior designer Maxime Babin examines the business concept of "The Golden Circle," and relates that back to how game designers design games. ...

Categories: Game Theory & Design

7th Sea Core Rulebook (Second Edition)

New RPG Product Reviews - 18 hours 2 min ago
Publisher: John Wick Presents
Rating: 4
To call this a 2nd Edition feels like a bit of a misnomer. John Wick has taken the old 7th Sea, tossed the old Roll and Keep mechanics overboard, and rewrote much of the setting and history to create this new version of 7th Sea. As such, it feels more fitting to use a term more commonly applied to movies: a reboot.

**A More Cinematic Experience**

7th Sea's new mechanics lend itself to a style of play where the player characters are Heroes with a capital "H". Men and women with amazing skill and luck to live out larger-than-life adventures.

The new system is fairly straightforward. Upon declaring the character's action for the turn, they roll a pool of d10's determined by the sum of their Trait and Skill. Players then assemble sets of 10 from the results of the roll, with each set counting as a Raise. These are then used to "buy" narrative achievements such as successfully meeting a goal, taking advantage of an opportunity, or just avoiding harm.

On the GM's part, their job is to present the players with Opportunities and Threats within the scene, each one building towards a cinematic encounter between the Heroes and the opposition, be it a horde of goons, a devious trap, or the villain of the story.

**You're not the World, but a Stage**

GMs who cleave towards a more simulation-based philosophy of running a game will find themselves somewhat challenged by the chief conceit of 7th Sea second edition. The game is engineered so that your role is not that of a director rather than that of a referee.

Threats and Villains exist so that you can highlight the Heroes. And even the character creation ensures that the Heroes know exactly what they're getting into, and how they'd like each tale to end.

This eliminates a lot of the creative input from the side of the GM, and those who are used to a more open, sandbox method might find themselves lost as to how to properly run the game.

**Pretty as it gets**

I will say that the artwork and layout for the book is gorgeous, with full colour illustrations and easily readable text. The lack of over-sexualised images is a major plus, and I found a few pieces that took into account the LGBT fans as well, something that I feel will be very much appreciated.

Conclusions

7th Sea Second Edition isn't an old car with a new coat of paint. It's a familiar shade of paint on a brand new car. If you're looking for more of the old, then you might want to be prepared to be surprised.

However, if you're looking for a game that delivers rope-swinging swashbuckler-y fun with the ability to take your own story by the reins, then this is the game for you. John Wick clearly knew what he wanted to do with the game, and didn't waste time killing sacred cows to make it happen.
Categories: Game Theory & Design

Code Enigma: #AberdeenCloud - what happened?

Planet Drupal - 19 hours 34 min ago
#AberdeenCloud - what happened? Language English #AberdeenCloud - what happened?

The only cloud with no silver lining.

Thu, 2016-06-30 09:54By greg

 

If you were an #AberdeenCloud customer, you’ll be only too aware their platform went bang on the evening of 28th June 2016. Spectacularly.

As it happens, we had spotted the lack of support response, and while there had not (and still has not, I might add - they still have a Sign Up page!) been any communication from #AberdeenCloud that anything was wrong, we were starting to get a little nervous. It took time to ask our customers what they wanted to do, collate the responses, vet a new supplier (our ISO 27001 certification requires we procure carefully), negotiate contracts, and so on, but we had got there.

Having signed a contract with Platform.sh just the day before, we were about to start migrating #AberdeenCloud customers over. Unfortunately, as it turned out, we were just a few days too late.

So what happened? Our timeline of events went something like this:

  • On 28-06-2016 at approximately 1900 UTC we got alerts from Pingdom for one of our customers on #AberdeenCloud.

  • It had happened earlier in the day, but restarting the container had cleared the issue - we figured it was something that was triggered by a Drupal cron event, but had not yet managed to investigate. So we did the same again, restarted the container. It did not come back. This was the first  sign all was not well.

  • Then another site went sideways, so we tried to restart that container. Same happened.

  • At this point we realised trying to restart containers was making things worse. To test we tried to restart the container on a development site we didn’t care about, same happened.

Right about now we realise things are not at all well with the #AberdeenCloud platform. OK, time for an emergency migration then! No one sleeps tonight! So we:

  • Raised an emergency ticket with #AberdeenCloud support (still not responded to, of course).

  • Tried to pull backups from the #AberdeenCloud backup manager (which was still available to us), but it failed for a site with no container running.

  • Tried to pull a stage backup instead, that failed too.

  • Tried to pull a backup from a seemingly still healthy site (it wasn’t healthy, it was just entirely cached by Varnish as it happened) and that also failed.

  • Tried to use `drush` to get databases, but found Drupal sites had no configuration files any more and could not connect to their databases.

And this is when something horrifying became apparent. All those daily backups #AberdeenCloud had been taking for us - and they did work, we had cause to use them just the week before - were, for some unknown reason, taken out by the same platform failure! No backups!

At this point it was time to see if we could pull anything off the running services. We noticed pretty quickly that:

  • phpMyAdmin was still running for all sites, even the ones with dead containers, so we used its “Export” feature to grab all live databases.

  • Version control was still running, so we quickly updated all codebase copies to make sure we had the latest code.

So now we have code and databases, which is good, but still no files. The containers we’d tried to restart were gone. Nothing we could do, it’s dead, Jim. So we tried a few things:

  • We started trying to contact people - we got hold of people who used to work for #AberdeenCloud to see if they could help (they couldn’t) - we sent Sampo, the CEO, a message via LinkedIn pleading for help (he still hasn’t replied, probably never will) - but we ran out of road, couldn’t find anyone able or willing to step in.

  • While the communication effort was going on, we started trying every trick we could think of to get files from “good” containers, via SSH, via the `aberdeen` command line client, via SFTP, copying files to another location to pull down, nothing worked.

  • We also tried spidering the sites using the `wget` command for Linux, to pull as many assets as possible from remaining Varnish caches, but this had very limited success.

At this point we started looking at the root cause, and it became pretty clear the mounted directories containing client uploaded files and Drupal configuration files were no longer there. You could see it when you logged into a container, but it was just a cache. If you tried to check the disk space it didn’t even show up. That storage was just gone.

But far worse, it seems backup storage depended on the exact same service! This is quite astounding really, but it seems there was no separation of service between storage of backups and storage of files and configuration. So if you lose one, you lose the other. Whereas you would expect backups would be somewhere more resilient and, frankly, more simple to access. We’d never had cause to question this before, our backups had always worked and the platform was closed source - there’s no way we could’ve known this was the case, but there you go. Cloud files gone, sites gone (because no Drupal settings) and backups gone - all in one fell swoop!

We were left with no choice but to proceed with what we had, so we:

  • Restored Drupal 6 sites to a virtual machine we had spare (I don’t think Platform.sh supports PHP 5.3, though I may be wrong).

  • Restored Drupal 7 sites to equivalent Platform.sh accounts.

  • Pulled in as many files as we could.

  • Continue to work with customers to help them recover their files and websites.

Anyway, it’s a real shame, because (unknowable backup storage flaw aside) they provided a good service for several years and the platform had proven to be very solid. It’s quite beyond me how someone can allow a business like this to fly into the ground without so much as giving customers a shutdown date with reasonable notice. It is irresponsible beyond belief, but there you go, it happened, and now we have to live with the consequences.

We, at Code Enigma, are obviously very sorry this has impacted on some of our customers. We are doing our best to help people recover their sites, automating the import of files, pulling assets from archive.org, checking support developer local copies for missing data, and we continue to chase Sampo, offering payment for missing files, though I have no confidence he’s ever going to reply.

I will post an FAQ later on other aspects of fallout from this, to help people understand the situation more clearly.

  PageHosting Service Comparison BlogDenial of Service, what you need to know BlogDesign and build a website in a day FAQMy site doesn't load for me, is it down?
Categories: Drupal

Deeson: How does the permissions system work in the Group module for Drupal?

Planet Drupal - 19 hours 46 min ago

We’ve been getting questions about the Group Drupal module and how it relates to the general permission system that ships with Drupal. More specifically, the difference between group roles and user roles. So we figured we’d post a short explanation. 

Consider a regular Drupal site as a one-level thing.

There’s roles and permissions that allow you to do things, but it’s a flat structure. Either you have a permission across the entire site or you don’t. Group adds depth to that structure, allowing you to create smaller levels underneath the main one.

Inside those sub-levels you can have roles and permissions too, just like on the main level. The difference lies in the fact that they’re called group roles and group permissions and they only apply within their section of the site within their group.

Let’s use a practical example to demonstrate this. Suppose you’re building a news website and you allow John and Jane to post articles. But John only writes about sport and Jane only really knows about fashion. Yet they can both publish articles about anything. This is the default story in any Drupal website.

Group would allow you to divide the website into sections such as “Sport”, “Fashion”, “Domestic”, etc. and allow John to only publish articles in Sport and limit Jane to writing about Fashion.

This is just one of the many use cases Group can solve for you.

Interested? Try it out! It’s available for both Drupal 7 and 8, find out more here: https://www.deeson.co.uk/labs/9-reasons-group-drupal-8-awesome

Categories: Drupal

Modules Unraveled: 161 Website Audits and How to Do Them Right with Jon Peck - Modules Unraveled Podcast

Planet Drupal - 21 hours 27 min ago
Published: Thu, 06/30/16Download this episodeWebsite Audits
  • What is a site audit?
  • Why would you do one?
  • Intended audience
    • New clients? Existing clients?
  • What are the goals of a site-audit?
  • How do you approach a site audit?
    • What are some other approaches you’re aware of?
  • What tools and techniques do you use?
  • How do you present the results?
  • How often should you do them?
  • What are some things to avoid?
Episode Links: Jon on drupal.orgJon on TwitterJon on GitHubJon’s about.me pageSite Audit ModuleUnused Modules ModuleSecurity Review ModuleHacked ModuleCache Audit ModuleCoder ModulePHP CodeSnifferDrupal Coding StandardsPHP Copy Paste DetectorPHP Mess DetectorPHP LOCGit StatsGit InspectorESLintESLintwebpagetest.orgGoogle PageSpeed Insightswave.webaim.orgViews Cache Bully ModuleHow to audit Drupal Sites - DCNOLATags: AuditingSecurityPerformanceplanet-drupal
Categories: Drupal

Build-Measure-Learn Cycle: The Untold Story for Casual Mobile Games - by Kemal Sen

Gamasutra.com Blogs - 21 hours 28 min ago
Fundamental activity of Lean methodology is Build-Measure-Learn cycle. Steps are simple; Build your product as fast and minimum as possible, let user decide what to use, how to use and Measure it then Learn from this measurement to develop your product. T
Categories: Game Theory & Design

The RPGnet Interview: Ian Sturrock, Serpent King Games

RPGNet - 21 hours 28 min ago
Did someone say Dragon Warriors?
Categories: Game Theory & Design

What Apps, Games and Stores do Chinese People Use ? -Part I - by Junxue Li

Gamasutra.com Blogs - 29 June 2016 - 11:59pm
In this series I would introduce to you the most popular mobile Games and Apps in China. In Part one I would focus on Apps and Part two on Games, not decided yet App stores should be included in P2 or I would write a P3 for it.
Categories: Game Theory & Design

Designing A Production Process: Part 1 - by Ryan Darcey

Gamasutra.com Blogs - 29 June 2016 - 11:59pm
Part 1 of a 3 part series where I break down our production process on Star Wars: First Assault, which was designed using an iterative production methodology developed by Jeff Morris.
Categories: Game Theory & Design

Unexpected Narrative: Part 3 - by Nathan Savant

Gamasutra.com Blogs - 29 June 2016 - 11:59pm
Story can be found in unexpected places in games. In this article series, I will discuss my thoughts on finding narrative in surprising places, and applying those structures to your own games.
Categories: Game Theory & Design

On Making Good Combat Mechanics: Part 1 - by Joseph Sopko

Gamasutra.com Blogs - 29 June 2016 - 11:59pm
Combat mechanics are the soul of any action game. This article series will take a practical approach to combat mechanics, looking at our terminology and principles through images of tools that implement them, rather than detached theoretical concepts.
Categories: Game Theory & Design

Frederic Marand: Faster Drupal sites with Queue API

Planet Drupal - 29 June 2016 - 11:35pm
These are the slides of the presentation I gave last week at DrupalDevDays Milan about the ways using Queue API can help you speed up Drupal sites, especially in connected mode. read more

Categories: Drupal

Anonymous Viewer

New Drupal Modules - 29 June 2016 - 4:51pm

Finally allows you to view that pesky anonymous user at user/0.

Depends on bad judgment.

Categories: Drupal

ImageX Media: Content-Driven UX

Planet Drupal - 29 June 2016 - 3:48pm

This is the third in a series of posts recapping ImageX’s presentations at this year’s DrupalCon.

A content-driven framework is essential for any successful user experience. Content strategy and UX can no longer be considered separately, and to ensure that they work together to make your website its most effective, the following components must be considered: your audience, their interactions, SEO, content distribution, and finally, measurement. 

Categories: Drupal

Stoneblade Entertainment Taking Pre-Orders For Ascension X: War of Shadows

Tabletop Gaming News - 29 June 2016 - 3:00pm
New Vigil seemed like it was going to be nice and peaceful for a bit. But such is not the case, as the creatures from the Void once more look to cause all sorts of havoc. Only the realm’s heroes will be able to turn the tide. And with new challenges comes new opportunities. Be […]
Categories: Game Theory & Design

Janez Urevc: Drupal 8 Media module at Google Summer of Code 2016

Planet Drupal - 29 June 2016 - 2:11pm
Drupal 8 Media module at Google Summer of Code 2016 slashrsm Wed, 29.06.2016 - 23:11

In this video Vijay Nandwani, our GSoC student, explains his progress on the Drupal 8 Media module.

He also wrote a blog post where he explains more technical details.

Categories: Drupal

Star Trek: Frontiers Now Available

Tabletop Gaming News - 29 June 2016 - 2:00pm
While you guys are out there reading your Star Trek: Ascendancy rulebooks, you can also be checking out Star Trek: Frontiers. The new strategy board game of boldly going places is available now from WizKids (as well as retailers in North America, with the rest of the world to follow shortly). The game many of […]
Categories: Game Theory & Design

Battleweb Dexterity Game Up On Kickstarter

Tabletop Gaming News - 29 June 2016 - 1:00pm
Spiders. I know I just scared off at least a couple readers there. That’s the danger in posting about such a thing. Jumping spiders. Dang, a bunch more of you just ran off. I’m sure all the Australians are still around, though. G’day Bruces and Sheilas. Anyway, Battleweb is a new dexterity board game about […]
Categories: Game Theory & Design

OSTraining: Half a Million Views of the Drupal 8 Beginner Class!

Planet Drupal - 29 June 2016 - 12:09pm

Drupal 8 is now eight months old.

Has it been a success so far? Yes. Drupal 8 is running over 100,000 sites and is now more popular than Drupal 6.

Back before Drupal 8 launched, we wanted to try and help in a succesful launch. We set ourselves a goal to help as many people as possible to use Drupal 8. 

Our method of acheiving that goal was Kickstarter project which provided enough financing to release over 200 free videos on YouTube. The training is the best available for Drupal 8 and it's completely free. There's no barrier to entry at all.

The first release was a 60-video series called The Drupal 8 Beginner Class

Today, I'm delighted to say we reached a major milestone. The Drupal 8 Beginner Class has been viewed over half a million times!

Categories: Drupal

Pages

Subscribe to As If Productions aggregator