All RPGs and Storygames by Tod Foley are now available at DrivethruRPG and RPGnow. Bring these games to your table!
The options let players sort their lists in new ways and give them filter to automatically hide titles based on price, discount, or release type. ...
Necrosoft Games founder and Gamasutra contributor Brandon Sheffield makes the case (complete with multiple sources of data) that there is no longer a single 'game industry', if there ever was. ...
The noted Chinese tech giant Tencent led the funding round, held just ahead of the game division's planned IPO. ...
Learn more about the Drupal Diversity & Inclusion their Drupal.org project. We have begun our initial migration from the Github repository. This will take some time and is considered a work-in-progress.
Last fall at BADCamp it was exciting to see that a component-driven approach to building Drupal 8 themes is becoming the standard. Many people are doing great things to advance this approach, including reducing duplication and simplifying data structures. In the day-long front end summit, and in many sessions and BOFs during BADCamp, great tips were shared for making the most of helper modules, such as the UI Patterns module, as well as techniques that make the most of Pattern Lab, KSS, and other front end systems.
In the past I’ve struggled with the decision of whether or not to start a new Drupal project with a distribution. Since Drupal 8 has evolved I’ve noticed the decision has shifted from whether or not to use one, to which one is the right fit. Two things that are fairly new to distributions are sub-profiles and build tools, both of which have influenced the way I approach a new Drupal project.Sub-profiles
Sub-profiles are a relatively new thing. While there is still some work to be done in how to manage dependencies and deal with more complex inheritance, inheriting a profile is now possible and in many cases recommended. One example is Acquia's Lightning distribution. Lightning does a good job highlighting the wheels you should not be re-inventing, while also serving as an example of a parent and sub-profile to the well known OpenEDU distribution.
Acquia's article about sub-profiles covers a helpful list of questions to start with such as: Does your new Drupal 8 site need media support? Does it need layout support? As the project develops and matures, are you ready to support the changes that will happen in Drupal core with media and layout, or anything else? As of version 8.3, things like media and layout were only stable enough in contrib, and in 8.4 were only partially moved into core. As of 8.5 and 8.6, workflow, media and layout are planned to be moved into core and stable and will considerably change your site's architecture and implementation. So, with a sub-profile, the specifications for which modules to use and how to use them are now inherited, and not the responsibility of the sub-profile.Build tools
The next thing to consider is how, or who, is actually building your profile. If you're not thinking about SaaS, (if you are, see Dries's article about making distributions commercially interesting), then you're really targeting developers. Since Drupal 8 development is now entirely composer based, you might want to checkout what profiles are already doing with composer. Here are some examples of composer.json configurations as well as open source tools that you can integrate with composer:
- Composer scripts - https://github.com/acquia/lightning/blob/8.x-3.x/composer.json - script hooks, (like post-install, pre-install), auto class loading, dependency management, etc.
- Robo task runner - https://github.com/consolidation/Robo - defines tasks in an auto-loaded PHP class RoboFile
- Phing build tool - https://www.phing.info - define tasks with a build.xml
- Testing - PHPUnit test helper methods and classes, as well as addon Behat features and commands
- Starter content - this currently is just a hook_install script that installs a view with a header, but worth trying out and building on
- TravisCI integration - with only a few modifications to an existing .travis.yml file you can setup continuous integration for your profile. The existing configuration already handles setting up your server, installing composer and configuring PHP, installing a local browser for testing, headless browser for testing (see composer hooks), installing and re-installing Drupal (see robo), running tests (see behat, phpunit), and development tools for moving files around in your local development environment.
Using a combination of sub-profiles with these build tools have made starting my new Drupal projects more efficient. There is a lot of helpful material out there to learn from, contribute to, and build on. Hopefully this gives you a great start to focusing your new Drupal projects as well.
The entity reports module provide users with insights about the structure of their entity types by placing reports on these in /admin/reports menu. It currently features:
1. Report about the field structure of all node types (bundles): field name, field machine name, description, cardinality and target entities.
2. Report about the field structure of all taxonomies and the list of terms
3. Downloadable report of each type above in JSON
Thanks again to everyone who has participated in my survey about agile practices in our industry. In this final piece, I would like to share some of my key observations and provide an overview of what has been covered in the previous nine blog posts.Josef Dabernig Thu, 02/15/2018 - 15:15
The 30 survey participants provided in-depth answers in 10 different sections with a set of multiple-choice questions and freeform answers. The survey aimed to get a better understanding of how agile practices are established and live in agencies related to the Drupal community.Survey results overview
Part 1 - Initial Observations provides an overview of popular methodologies, project team sizes, iteration length, team integration, how teams stay connected, splitting up the work, client communication and delivery practices.
Part 2 - Process Insights gives a deeper understanding of how strictly teams follow the process and which adaptations they have applied.
Part 3 - Teams analyses the average team size, where teams work and how teams and projects are paired.
Part 4 - Discovery & Planning examines the balancing features and functionality against providing value when talking about work increments and when teams make the discovery.
Part 5 - Team Communication & Process is about how teams communicate, how much time they spend in meetings and how client work is balanced against internal or non-billable work.
Part 6 - Defining Work analyses the different phases in the ticket process and who is involved in defining work, as well as which tools are essential for organising the work.
Part 7 - Estimations provides insights into how teams estimate and by whom estimations are executed.
Part 8 - Client Interactions highlights how regularly teams meet with the client and how communication between the team and the client is handled.
Part 9 - Practices gives a rundown of how often teams deploy code and compares usage of the various agile practices teams apply to their work.
Having spent some time looking at the data, and processing chunks of the results into the individual blog posts I have mentioned before, was a rewarding task. Even though the number of survey participants was not very high, I believe that the results are appropriate and representable. Apart from the quantitative analysis, I was happy to have asked for freeform answers which provided me with the diversity to allow the survey to be representative.
There is not a single truth to how agile works. In some cases, you'll be able to collaborate closely with the client on a daily basis, in other cases, you will be lucky if you can meet the client every second week. While some agencies have fewer long-term projects, the majority have a mix of smaller and bigger projects regarding size and duration.
Some teams prefer to work integrated across disciplines. Others prefer to have separate teams based on their expertise. From my point of view, active collaboration and communication between teams and clients are essential to create a better product. The way in which this is organised always depends on what works best for the participating individuals and organisations.
An example, where implementing a rigid process can make sense, would be, that we can help the team not to take on too much work. On the other hand, if the process starts getting in the way of everything, we need to remind ourselves of the principle «Individuals and interactions over processes and tools» of the agile manifesto. The process is there to help the team collaborate with the client to produce working software and responding to change as we move forward in the project. The process must be well understood by all role players so that it helps instead of limit our work.
Feel free to dig into the results raw data and please make sure to look at the freeform answers. I tried to summarise some highlights as parts of the series, but there is a lot more to be found from reading them yourself.
That’s it for the agile agency survey results. Thanks again to all the participants and let us know if you have any thoughts on the survey about agile practices.