Once you have discovered the physical facts of a situation, all that remains - no matter how improbable - is more interesting.
In 2013, we handled our "Game of the Year" list quite differently. Instead of publishing a single top 10, Gamasutra writers simply picked five games that they loved most in 2013. Here they are, all in one place. ...
Facebook developers can now add autoplay videos to their App Details page, which should make it easier to showcase high-action Facebook games. ...
The gaming agency continues to bolster its ability to serve mobile game developers by acquiring mobile-focused McWhorter Group founder Adrienne Horsley. ...
The minds behind Candy Crush Saga and other King games share the processes and shed light on the discussions that lead to their development success. ...
Someone told me recently that the amount of material in one Sunday edition of the New York Times contains more information than the average person in the 19th century would be exposed to in his or her lifetime. That’s a ridiculous amount of content published on the web daily. Combine the large volume of information with the pressure to create not just good but great quality content, and the task of maintaining the process of content publishing becomes a tricky one. If we don’t have a process architected for publishing content, content strategy fails.
At Phase2 we build large content management systems for our clients. These systems are often built for large organizations with multiple content teams and departments. An effective publishing workflow will help content editors coordinate the various tasks of publishing content, from draft to review to posting content publicly. Here is a collection of resources to help you define your own content workflow system.Keep Content Strategy In Mind
Your content strategy should always define your content publishing workflow. Here are some great blog posts to get you acquainted with content strategy and designing a content workflow with your specific organization’s content processes in mind:
- Designing With Content In Mind
- Crafting Content Management Experiences
- Workflow systems and hair styles. Best practices for designing either but mostly workflow systems.
The next step in creating a content publishing workflow is to consider your content editors and administrators. Ask yourself how they can use this system most effectively. These are the people who will be using this system on the day to day basis, and really need to embrace the workflow in order for it to be successful. Here are some great posts about considerations for the content administrator:
- 3 Drupal Modules to show your content managers you love them
- 3 Tips For Making Your Admin UI More Intuitive
- Four Tips For Training Clients On A CMS
Once a content strategy is established and the content administrator’s needs have been considered, there are many different technical strategies to architect a content publishing workflow within your CMS. Here are a few strategies that we have taken:
- Building State Machine With State Flow To Build Powerful Workflows
- Extending Your Workflow With State Machine
- Content Staging Initiative- Improving digital workflow for efficient content publishing.
- Real Site Preview in Drupal
- Building a publishing workflow with scheduled transitions at node creation.
Check out these examples of workflow systems that we have developed with our clients:
- Creating a Custom Editorial UI For Reuters London 2012 Olympic Site
- How Robin Hood And Phase2 Created An Online Response To Hurricane Sandy
- Making The Admin Back-end Shine For Pac-12
Given today’s 24/7 news cycle, it is more critical than ever that content managers be empowered to execute on their goals. Taking the time to design the workflow based on your organization and its content will reap huge benefits for your content team and the content itself (and therefore your site’s visitors). When the system is streamlined, it will be that much easier to a large quantity but high quality content that stands out from the ever-flowing stream of information.
Happy Content Publishing!
This week, our partnership with game criticism site Critical Distance brings us picks from Kris Ligman on topics including the harassment of Zoe Quinn and whether the term 'gamer' is worth saving. ...
As you have likely heard, the Drupal.org Tech Team recently completed the updgrade of Drupal.org to Drupal 7. While there are still some upgrade issues being resolved, Drupal.org now runs the latest version of Drupal, improving the code under the hood and allowing for greater flexibility.
For someone not versed in Drupal at all, the Using Drupal book by O'Reilly is the best place to start. This is particularly true for developers coming from a background in which the construction of a website using web UI tools is not a familiar concept.
Once the tutorials in this book have been covered, the dev should have an excellent grounding of the basics of Drupal and should begin to understand why using the community modules are useful.Drush
After the unpleasantness of having to use the GUI to make things, you can take a short rest and familiarise yourself with Drush – a command line tool providing a number of useful resources for administering a Drupal site:
Now you need to make sure your code adheres to our coding standards. The Drupal project specifies its own. If you are using PHP Storm IDE then you can follow this tutorial to set it up correctly:
There is also a Drupal module which checks your code for you. So set this up and have a go:
It would then be advisable to look at how theming and sub-theming works with the bootstrap theme which we use here at Deeson Online:
Whilst looking at theming and sub theming with the above, it would be advisable to install the Display Suite module at the same time and understand how that works. There is reasonable documentation for this linked from the module page:
Now, you've created a whole lot of stuff above that only exists in the database.... and you probably feel dirty. If not, what kind of dev are you!?
To get that stuff out of the DB and into code where it can be version controlled in Drupal 7 you need to use an add-on module called Features. Learn how to use this next:
Drupal recognise that things only existing in the database is a problem, so the Features module is an attempt to rectify it but it is far from perfect. (In Drupal 8 this is solved in a whole new way, but that's for another day!)Must-have modules
There are a number of 'must-have' modules that all projects will have. It would be good to familiarise yourself with these now:
- pathauto - for setting automatic URL patterns for each content type on the system
- admin_menu - a better toolbar than the one shipped with Drupal. Enable admin_menu_toolbar as well after downloading this module
- admin_views - replace the standard admin pages in Drupal with ones generated by the views module
- captcha - add captcha to forms
- wysiwyg - rich text editing (follow the README file instructions after enabling, you should use the CKEditor library with this)
- date - superior date handling tools, fields and views integration
- devel - for dev environment – provides development tools. Eg in custom code try dpm($my_variable); or kpr($myvariable) for neat debugging of data
- email - provides an email field
- entity - provides superior entity api functions
- entitycache - provides better caching of entities
- entityreference - provides a field which allows one entity (eg a node) to reference another.
- field_group - group fields together on the node edit form in various ways
- globalredirect - basic redirect rules such as providing a 301 redirect from node/123 to it's aliased version
- google_analytics - easy integration with Google analytics
- link - provides a link field to easily add a hyperlink to the page
- masquerade - provides a block which allows the site admin to login as any other user of the site
- media - really good media handling (image library etc) for admins to manage their content
- module_filter - a better module management screen
- honeypot - spam protection for forms
- metatag - seo fields
- entityqueue - allows nodes to be placed and manually ordered in a queue. The queue can then be used as the basis of a carousel (via a view for example).
- redirect - allows site admin to create redirects on the site
- strongarm - allows variables in the variable table to be exported via features
- reroute_email - stops development sites sending emails to real users
- seckit - adds a bunch of best practice security options
- styleguide - provides an admin page which lists all HTML components in the current site styles, useful when reviewing them
- views - create listing pages and sql queries in the UI (this is also covered in Using Drupal)
- webform - a (reasonably) simple way of allowing content editors create questionnaires on the site
Congratulations – you are now ready to write a module! The following tutorial will help with this:
The fail module is an excellent piece of code to study as it gives a lot of commented examples of 'worst practice' in Drupal. Add it to a Drupal site with 'drush dl fail'
The examples in contrib project contain a whole load of modules which demonstrate how to use various components of the Drupal eco-system in code.
Almost all these are worth studying except entity_example unless you are feeling masochistic (the eck module provides this functionality in an easier to digest form).Advanced concepts
If you still want more, take a look at the following modules that will help in creating more complex sites:
- context - allows functionality on the site to be determined by 'context' ie where the user is and what they are doing
- rules - allows events, conditions and actions on the site
- commerce - a superb e-commerce framework which is built with Drupal. The commerce kickstart distribution demonstrates its abilities superbly
- master - this module allows a module dependency listing per environment (dev, test, live). You can then script some of its drush commands to ensure the correct modules are enabled or disabled on each environment
- eck - The entity construction kit allows the construction of entities. Entities exist on the same level as node or taxonomy. These are data containers
- migrate - This is a developer's tool used for data migrations into Drupal
- wsif - This is a developer tool providing a best practice framework for developing web service integrations into Drupal
- behat_testing - To learn how to write functional tests for your site (other behat testing modules are available)
Some other useful books are:
- Pro Drupal 7 Development - for programming concepts
- High performance Drupal - for creating performance sites in Drupal. A good grounding in a number of other tools we use as well
- Clean Code - how to write clean code
- Clean Coder - best practice and professional development which we agree with
- PHP Security - The standard book on PHP security best practice
So there you go. Get cracking – and tell us how you get on!Read moreAre you a developer new to Drupal? Read this...By John Ennew | 20th December 2013
Bluespark Labs: How Information Architecture and Content Strategy can work together to tell your story
Our new site design has now been live for almost a month and our content strategy continues to evolve. As a result, we’ve seen visits to the site increase by 47.8% in the period between September 8th, 2013 and December 14th, 2013 compared to the period previous to that.
In the same period our Facebook Page fans grew from a bit over 63,000 to 133,166. Almost 90% of that was organic growth, while 10% came through targeted campaigns.
The reasons behind this growth are numerous and we will try and go through most in subsequent blog posts. Today, I would like to focus on the choices we took with regards to information architecture and how that relates to our content strategy.Information Architecture and Content Strategy
Before we go into the details, allow me to briefly talk about the relationship between information architecture and content strategy. Information Architecture, in many ways, has a longer history for web development. It is, in the simplest sense, the navigation tools you provide your users to go through your site. Content strategy, on the other hand, is a slightly newer term and it is often described as the set of methods and guidelines for the development and curation of content coupled with the strategy for the distribution of that content across the web. It is the work you do to shape and define the voice of your brand.
Now, the question is to what extent are these two things related? For us the answer is that the two are very closely interlinked.
The information architecture of your site is one of the ways through which you express your content strategy. The choices you make about what content to highlight are just another way to express what are the more important issues for you. In other words, information architecture is another expression of your voice.
At the same time, information architecture should also be thought of as an enabler for content strategy. It helps you tell your story. It gives you the tools to lead the user through a certain path. If your information architecture does not allow certain “trips” through your content it limits the types of stories you can tell.
As such, the two are so interlinked that we believe you cannot develop one first and the other afterwards. The two have to be developed in unison and grow iteratively with your site.The choices for ITALY
With that, let's looks at some of the specifics for ITALY Magazine. Our main objectives were:
1. Convey the beauty of Italy and provide a sense of style and attention to detail - Italy is both a beautiful country and a country driven by beauty. Our website needs to reflect that. Put simply, one of the values we need to express through our content strategy is beauty.
2. Provide an easy way for users to identify the range of content available and distinguish between editorial content and advertising or listings. However, we also need to provide means to mix the two depending on context. This is a clear requirement that our information architecture needs to satisfy. This in turn corresponds to a basic principle of our content strategy - all content is and should be valuable to users.
3. Once users have zeroed in on actually carrying out a task (finding a property to buy in Italy, searching for an experience) allow them to do that with the minimum of distraction.
These requirements led us to develop three key tools.
1. High-level information architecture expressed as navigation. Content on Italy Magazine is divided in listings (properties, experiences, places to stay), editorial produced by our team and information relevant to Italy. Furthermore our users typically start through a process of discovery via the editorial content before zeroing in on more specific tasks such as planning their vacation experiences in Italy. As such our header divides content in three types: Listings, Tools and Editorial with the focus being on the editorial sections. In addition, the stream (which we discuss below) allows us to mix listings and editorial dynamically on landing pages.
2. Latest Information - below the header users can find the latest information for a specific section - divided in different types of editorial (features or short stories). This provides users with a highly visual and appealing look into the latest information on ITALY. This emphasis on images allows Italy to shine through.
3. The stream - this is (from an information architecture and content strategy perspective) the most cutting-edge aspect of the page. Once we move beyond our latest content we have the ability to construct a flexible “stream" that can combine any number of different types of content. The stream is the result of algorithmic choices (using basic rules about the behaviour of users) combined with editorial control. It can mix editorial content with advertising, listings and user-generated content. It allows users to discover content they may have not thought existed in a highly visual manner and allows us to learn more about what works best for users through analytics.
So there you have it - three choices that are an expression of our values through content strategy and information architecture. On the one hand, we have objectives we aim to meet with regards to expressing our brand through content and, on the other hand, we have tools that allow us to do that on the site through information architecture. The requirement for beauty leads to navigation that is largely image-based. The need to highlight the value of different types of content and facilitate discovery leads to the idea of a flexible stream. The flipside is allowing information architecture to provide easy eways for users to complete tasks on the site. We didn't focus to much on that in this post, but will in subsequent posts. Finally, all of the above needs to serve the wider business aims of the company. That means connecting these choices to clear effects it has had on the way users interact with the site and perceive the brand. Key to determining that is collecting the right data and analysing it in in the correct way. Data collection and analysis will be the subject of our next post.Tags: ITALYContent StrategyInformation ArchitectureDrupal Planet
PhpStorm is my favourite IDE for PHP development and is a great tool for Drupal development. Drupal hook autocomplete used to be available via 3rd party plugins with varying reliability. It is now standard with PhpStorm with the recent release of PhpStorm 7 (via the Drupal Plugin). Here is a run down on how to use Drupal hook autocomplete.Tags: Drupal Module DevelopmentPlanet DrupalPhpStorm