Drupal is a powerful content management system that allows you to create some pretty cool websites, it achieves this by allowing users to be able to create different entity types that allow them to interact with each other.
Here at Upbeat we're currently working on a new mobile application, using a combination of Phonegap, Ionic Framework and the ever-fantastic AngularJS. The app talks to a JSON API, which in turn gets its data from both a local data-store, and also a Drupal 7 site via the Services module, so our chosen toolset had to be flexible and easily extensible. ( Psst... If this stuff sounds interesting to you, we're hiring - get in touch! )
After a successful website re-launch in October 2014, Oxford Business Group (OBG) planned to extend their digital presence with the introduction of an iPad app. The application Hydrant developed is designed to showcase and provide access to OBG’s broad range of economic insights - on the move, wherever you may be.
The official release of Drupal 8 is edging closer. The announcement at DrupalCon Amsterdam (attended by a few of my colleagues), that Drupal 8 had reached “beta”, signaled that we’re approaching the final straight and before too long it will be time to start really getting to grips with the new features. So what does it mean to a site builder with Drupal 8? On the face of things, there is nothing to worry about - pretty much everything that was there in Drupal 7, is still to be found in 8. Apart from the “to be expected” moving of user interface adjustments, the technical side of building up a site structure looks very similar.
As part of discussions with a prospective client, I was recently asked about our involvement with the Drupal community. I provided some written responses to our business development team, however it occurred to me that we didn't have the spirit of our contribution documented anywhere visible (outside of Upbeat) - so here it is.
Following on from DrupalCon Amsterdam and the launch of Drupal 8 beta, we're starting to put Drupal 8 through its paces. Part of that process will be taking contributed modules that we maintain and moving them across to work with Drupal 8. This blog post looks at the first module we ported - login tracker. Login tracker is a fairly straightforward module that tracks user logins to a site and makes the information available to views for reporting. It's a fairly simple module with no real user-interface, or configuration, so makes for an easy first module to port. That does mean though that this post doesn't talk about Twig, or the Configuration Management system in Drupal 8 - two big areas of change. Note: This post isn't intended as an exhaustive guide - it's just a record of our experience porting a module.
What did I set out to do? From day to day we get a variety of questions from non-drupal-working staff, and I thought it would be a good idea to shed some light on the basic principals that we use everyday. This would make sales processes easier "it's not quite as easy as it looks", and general project management a bit easier as they would be able to flex their basic drupal muscles which would inspire the client even more than normal.
DrupalCon this year was in Amsterdam, a great city providing an accessible location for 2300+ of the worlds most dedicated Drupal developers and agency business people. As silver sponsors of the event we had the opportunity to learn and meet others through the wide variety of sessions and social events.
At the end of September, three of the Hydrant team attended the European DrupalCon in Amsterdam. I was lucky enough to attend the conference, and was joined by Leo White our MD, and Lewis Harper our Business Development Manager. We obviously all had different ideas about what we wanted to get out of the conference, but mine were firmly of a technical nature. A pleasanter-than-usual journey down the M6 to Manchester airport left us with a few hours to kill before the flight, and we spent most of this discussing what we expected the conference to cover, and what we wanted to achieve.
Recently, we built a Drupal Commerce site that has its it’s products created automatically from an XML feed. To import these products, we used the feeds module (https://www.drupal.org/project/feeds). The site also made use of the “inline_entity_form” module (https://www.drupal.org/project/inline_entity_form), making it possible to associate and update both a product entity and it’s node display at the same time. Two feeds were set up, one for the product entity and another for the node display. This unearthed a problem with using feeds though… the product entity needed to be created before the node display, so that the relativity could be set. If the node display is created first, the relativity is not set, resulting in a broken output.