Drupal Planet Feed https://purkiss.com/drupal-planet-feed.xml en Co-operative.club - The History, Part I: Project Blueprint and First Test Space https://purkiss.com/blog/steve-purkiss/2016/12/12/co-operativeclub-history-part-i-project-blueprint-and-first-test <span>Co-operative.club - The History, Part I: Project Blueprint and First Test Space</span> <div class="field field--name-field-image field--type-image field--label-hidden field--item"> <img src="/sites/default/files/styles/max_325x325/public/2016-12/co-operative-club-header.png?itok=EyEfQTUX" width="325" height="110" alt="Co-operative.club header image - a fireside scene with leather chairs and the text co-operative.club displayed" typeof="foaf:Image" class="img-responsive" /> </div> <span><span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span></span> <span>Mon, 12/12/2016 - 00:11</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>This is the story of how the <a href="http://co-operative.club/concept">Co-operative.club concept</a> came about and this part takes us up to what happened when I had my first opportunity to test things out in a space in real life ten years ago. It covers my initial encounters with <a href="https://drupal.org">the Drupal project</a>, and throughout the series you will see how it is integral to the success of this collaborative spaces project, gain an understanding of why it is very different to other software it is often compared to, how it changed my life, why <a href="http://purkiss.com/blog/steve-purkiss/2016/11/18/end-web-cms-brass-era">I believe it will become the dominant system for building web-based systems within the next three years</a>, and how it - and this <a href="http://co-operative.club">Co-operative.club project</a> - could help you to realise your dreams whatever they may be - no technical know-how necessary. You're free to call me crazy if you believe I am once the story's done, for now just enjoy the ride and keep your mind open ;)</p> <p>As I start to brain-dump everything onto the <a href="https://gitlab.com/co-operative.club">GitLab group of projects for the construction of Co-operative.club</a> I believe it is necessary to tell this story - there's quite a few angles to the project meaning the sum is greater than the parts which, individually, are potentially in orders of magnitude easier to build and/or exist already. This will help understanding of the concept, what has been tried out already, and what is going to be involved in the successful construction of it. It's not going to be a quick one, so grab a drink and hold on tight...</p> <h2>In the beginning, there was the BBC 'B'</h2> <p><img alt="BBC Micro" data-entity-type="file" data-entity-uuid="e483c535-6c1e-43ac-9770-8f45f5ef17ec" src="/sites/default/files/inline-images/bbc-micro.jpg" class="align-right" />I grew up in a little village in Essex in the East of England where there wasn't much to do apart from play in the fields. When I was 9 the <a href="https://en.wikipedia.org/wiki/BBC_Micro">BBC Model 'B'</a> came out and I was lucky enough that my parents bought me one. The BBC ran a computer literacy project where there were programmes on telly about it and I along with many others learned how to code. I did my first "Hello World!" by coding 10 PRINT "HELLO!"; 20 GOTO 10 then I typed RUN and it displayed the word HELLO! all over the screen. Then I put a space after the exclamation mark, i.e. 10 PRINT "HELLO! ", ran the program again and it displayed HELLO! all over the screen, but this time it staggered the HELLO!s diagonally instead of neat columns and as it scrolled it was almost hypnotising - I was amazed that just changing something that small could make it do something so different, and I made it do that.</p> <p>Skip on 35 years and I'm now making a living of essentially doing the same thing as I was then - seeing how something works and changing it to do what I want. I don't have to ask anyone's permission to do it, I have all the tools I need to do it, and from this I can live anywhere I like. I'm in control of what I do each day - if I mess up I've only myself to blame and I use the experience as a lesson to be learned. I've learned <em>many</em> lessons over the last ten years pursuing this vision.</p> <h2>The 'DotBomb' and the Return to Essex</h2> <p>When the DotCom bubble burst in 2001 I was working in London for a company who had built the first ever integrated, scalable modular framework of apps for rapidly constructing interactive web systems with modules covering content management, commerce, and collaboration functionality (blogs, forums, messaging, etc.), along with a web-based administration interface called TeamView for managing it, for example creating your own custom content types like articles, reviews, and so on. RemoteApps, as they named it, was essentially what Drupal is in terms of functionality - but a proprietary product.</p> <p>I was the sixth person in the company - we grew quickly to sixty and had many big name clients along with some really innovative startups such as the first ever online horse-race betting site which calculated results and organised payouts, so I got to learn about Rule 4, which I've now completely forgotten. I worked on some amazing projects including <a href="http://www.diy.com/">B&amp;Q's diy.com</a> and was very proud when I developed an account they thought wasn't worth putting the effort into and turned it into their first six-figure project - to build Volkswagen's New Beetle microsite.</p> <p><img alt="RemoteApps logo with the tagline integrating the future" data-entity-type="file" data-entity-uuid="451fd9f5-d2ea-4c12-bdb6-26aef67d1155" src="/sites/default/files/inline-images/remoteapps-logo.gif" class="align-right" />I also helped the company communicate more cohesively internally by setting up an intranet, built using our own software as more people were building apps they weren't themselves actually using and I made people have to go there to get their expenses paid which ensured they actually used it. At the time we were growing fast and as <a href="https://en.wikipedia.org/wiki/Big_Brother_(UK_TV_series)">Big Brother</a> was on television I did a mock-up of their website but with profiles of team members so others could get to know them a bit better and it was a lot nicer than just a plain profile page on a corporate intranet.</p> <p>Scaling a proprietary software company was expensive and hard work - were growing our integration partner network, training partners up on our modules and APIs, I was organising and running co-marketing events at trade shows; but the world changed on a dime and our funders suddenly pulled all their money out of their tech stocks resulting in finding myself redundant along with thousands of others in the industry at the time. No more free parties, which seemed to happen every week somewhere near to where I was living in <a href="http://exmouth.london/">Exmouth Market</a>, <a href="https://en.wikipedia.org/wiki/Clerkenwell">Clerkenwell</a> on the borders of <a href="https://en.wikipedia.org/wiki/Shoreditch">Shoreditch, East London</a>.</p> <p>I was pretty gutted as I had share options which, on valuation at the time, were worth a touch over a million dollars, only to be worth nothing the next moment. I was surprised too as we'd just sealed a deal with Macromedia to incorporate our technology in their popular <a href="https://en.wikipedia.org/wiki/Adobe_Dreamweaver">Dreamweaver</a> (now owned by Adobe) website creation software where people could just drag and drop functionality into their websites - blogs, forums, etc. I wasn't involved in the business side of things at that level so it came as a shock to me at the time as I was only the previous week getting advised by my line manager about mortgages as there was a studio apartment in the <a href="https://en.wikipedia.org/wiki/Barbican_Centre">Barbican Centre</a> (where I used to skip school to go to classical concerts!) going for £80k - I think they're about £240k now. He knew at the time I was going to be made redundant but didn't say a word, and that's when I promised I'd never put myself in a similar situation again. On my way out for the last time I asked one of the co-founders what <img alt="drop.org logo - the precursor website to drupal" data-entity-type="file" data-entity-uuid="36f81413-8623-473b-aedd-c76108a60d3d" src="/sites/default/files/inline-images/drop-org.png" class="align-right" />he'd do differently if he ever did it again, he replied "I'd Open Source it". Little did I know that around the same time <a href="http://buytaert.net/">Dries</a> had <a href="https://www.drupal.org/about/history">released his drop.org community site as Open Source code</a>.</p> <p>I then did a bit of freelancing work building websites for people in London but I didn't have enough to sustain my London lifestyle so returned back to Essex. I went to networking meetings and discovered BeyondBricks which was an online forum funded by the DTI for small businesses. I ended up helping people on there with advice on Free Software they could use to do things they wanted to do and won a few website projects through my visibility there.</p> <h2>Business Networking and the Birth of the Concept</h2> <p><img alt="logo of the now defunct ecademy business network" data-entity-type="file" data-entity-uuid="fea2934e-0351-485e-bd84-9d83932f30fb" src="/sites/default/files/inline-images/ecademy-logo_0.gif" class="align-left" />Funding from the DTI for BeyondBricks stopped and Ecademy bought it which was another online business network, built on the <a href="https://www.drupal.org">Free Software Framework Drupal</a>, who's tagline at the time was "community plumbing". My first CMS, as with many others, was hand-rolled but I soon moved on to the <a href="http://www.opensourcecms.com/">plethora of PHP-based Open Source CMSs</a>. <img alt="A big blank blue screen which is the WordPerfect welcome screen" data-entity-type="file" data-entity-uuid="f14c094e-988d-492c-9e55-799cbcc318e1" src="/sites/default/files/inline-images/wordprefect_0.png" class="align-right" />I'd tried out Drupal during my research but didn't really understand how to use it and completely missed its abilities as all I was presented with was a blank screen reminding me a little of <a href="https://en.wikipedia.org/wiki/WordPerfect">WordPerfect</a> back in the days of my first job working in a local computer store - it presented you with a big blank blue screen and a cursor, you had to figure out the rest.</p> <p>After flirting with <a href="https://www.phpnuke.org/">PHPNuke</a> but finding it restrictively run by one person who decided to hold back new stuff for paying members only, I tried the various other *Nukes however settled on <a href="http://xoops.org/">XOOPS</a> as it was more object-oriented which is what I was used to back in my DotCom days when I was using J2EE Enterprise Java.</p> <p><img alt="Testimonial of Steve Purkiss from ecademy member Mark Posen saying Steve is simply *the* man to talk to if you want to know anything about open source. He is friendly, helpful and highly knowledgeable. Steve is highly recommended." data-entity-type="file" data-entity-uuid="2219c1de-7508-4fa6-a64a-56d9a499a8c3" src="/sites/default/files/inline-images/testimonial.png" /></p> <p>I enjoyed networking online and soon found myself being called "The Open Source Guy" - I loved meeting new people and helping them find out more about all the free stuff there was out there they could use to build and grow their businesses, learning from others, and the shared entrepreneurial experience. I set up and ran local Ecademy meetings in Essex as well as traveling up to the big meetings in London and others around the local area. I managed to gain a few clients which kept me going, but it always felt weird to say to people that I found my business in the backroom of pubs - this is when I first wondered why there weren't dedicated spaces for business networking meetings.</p> <p>Many of the people I met worked from home, and the ones with offices still needed to get out to meet people. I was also aware that this Free Software that I was talking about didn't have a home either - you didn't find it in boxes in your local PC World store, and to help people find out what software would be useful for them it was always a conversation as opposed to selling them a product. I thought a space where these conversations could happen would be good, and it fit into the business networking space too. To me, the concept was obvious.</p> <h2>BlackStar and the Business Trip</h2> <p><a href="http://entrepreneursinstitute.org/wd/spurkiss/your-profile/#panel2"><img alt="Image of all the Wealth Dynamics profiles" data-entity-type="file" data-entity-uuid="6aaf258e-5707-4b34-8e3d-0f7d7ce6052c" src="/sites/default/files/inline-images/wealth-dynamics-profiles.jpg" class="align-left" /></a>In the Winter of 2004 Ecademy, in their ongoing quest to find a business model that worked and was sustainable, created a special 'BlackStar' group which cost a significant amount per month to join, but had special focused events which I liked the idea of so I joined. One event was a weekend of <a href="http://entrepreneursinstitute.org/wd/spurkiss/">Wealth Dynamics training</a> from entrepreneur <a href="https://www.youtube.com/user/rogerhamiltontv">Roger Hamilton</a> held at <a href="https://en.wikipedia.org/wiki/Chatham_House">Chatham House in London</a>. The event was amazing and I was hooked on the <a href="http://entrepreneursinstitute.org/wd/spurkiss/your-profile/#panel2">Wealth Dynamics Profiling</a> where I came out as a <a href="http://entrepreneursinstitute.org/wd/spurkiss/your-profile/the-star/">'Star' profile</a> - good at starting things, not so good at finishing. To be 'in flow' my natural ability is to promote other people's creations, and it is true that is what I do.</p> <p><a href="http://entrepreneursinstitute.org/wd/spurkiss/your-profile/the-star/"><img alt="My Wealth Dynamics profile - predominantly Star" data-entity-type="file" data-entity-uuid="5e0e5a85-76ab-42b5-b2a7-33d60ede6ccf" src="/sites/default/files/inline-images/STAR%20-%20Steve%20Purkiss_0.png" /></a></p> <p>Through the BlackStar group I'd met <a href="http://www.nickheap.co.uk/">Nick Heap</a> who did this thing called 'Core Process' where through an exercise of writing down three times in your life you're especially proud of along with words you associate with them, then whittling them down to two you get the essence of you, mine is 'fostering connections', which does explain what I do in terms of both technology and people - I know what code can help you do something and I know what people can do what to help and I foster those connections, and quite frankly once I've done that I'm on to the next thing (that goes back to <a href="http://entrepreneursinstitute.org/wd/spurkiss/your-profile/the-star/">my Star profile</a>, good at starting things). So since then it's been a quest to build a model around that which enables me to live 'in flow' instead of what I usually do which is try to do everything myself, that's where I fail.</p> <p>At the time I had a mentor through the BlackStar group, the guy who had thought up the 0845 'free internet' connection which was the thing in those days - a shared revenue idea he had sold to a telecoms company. I was excited about my concept and wondered why people weren't throwing money at me - he suggested I needed to chill out a bit and have a break. He was doing a talk in Toronto that weekend so I thought where better to chill out than above the clouds and promptly booked flights and ended up flying the next day to Canada. I didn't know much about the country but had always wanted to visit that side of the pond and figured that's where the business was - everyone in the UK always seemed to want to put you down if you had big ideas.</p> <h2>PossiBox 1 - Toronto</h2> <p>I enjoyed my time in Toronto so much, I loved the people and the attitude and was so blinded by the big city and bright lights, and the reaction I had from people with my British accent that they actually seemed to listen to me, I thought upon my return I'd pack up and go live there for a bit and see if anyone there would throw me a bunch of money to get a place up and running. I did exactly that, and found myself wandering around a freezing cold downtown Toronto early Jan 2005 without a hat or scarf wondering where everyone was, not realising there was a network of tunnels with shopping centres underground!</p> <p>I'd rented a flat in Queen Street West and went to every networking meeting I could, still thinking how cool it would to be to have a space for these people, and whenever I told someone about the concept they loved it but still no-one threw me a pot of cash. I even found a 'perfect' building but still no pots of money thrown. It was a HUGE building and had space for coworking on the top floor, meeting and conference rooms on the middle, public 'lounge' and retail space, and basement which would be perfect for audio/visual soundproofed spaces for people to record podcasts, vidcasts, etc. Here it is now courtesy of Google, looking a little better than when I wandered around it in its full emptiness glory!</p> <p><img alt="Possibox 1 - a huge building in downtown Toronto" data-entity-type="file" data-entity-uuid="a3b799da-b713-41ac-961d-97d5ece8c617" src="/sites/default/files/inline-images/possibox-1-toronto.png" /></p> <h2>From 'Open Source' to 'Free Software'</h2> <p>At that time I was firmly in the belief that I was part of the Open Source crowd. I thought the space would be a great outlet for marketing Open Source-powered hardware, from watches to personal audio, gadgets of all types which I thought would be appearing on the seen rapidly - which there are more of now, guess I was a bit early to the scene.</p> <p>The LinuxExpo was being held there where a friend (who I'd met on my first trip out there and said about my project, which at the time I was referring to as "the box" and had the domain "thebox.at", "it's like a Brain Gym") and I went out for a meal with one of luminaries of Free Software who was doing a talk and wanted to hook up the night before as he was at a loose end. He had spent his entire career reverse-engineering proprietary hardware drivers just so people could share files and printers between competing Operating Systems - Linux, Macs, Windows, etc. and most people didn't - and don't - know his software even exists to this day (<a href="https://www.samba.org/">Samba</a>). He discussed the world of software and introduced me to a side I hadn't seen before, the business side of proprietary vs open source/free software. He started talking about Kings and Queens and power throughout centuries and who said what was right and what was wrong, and took me down a rabbit hole I'm still exploring to this day.</p> <p><img alt="The Free Software, Free Society! wordmark" data-entity-type="file" data-entity-uuid="5ec6681b-042d-4104-be5c-f2f13b1959a4" src="/sites/default/files/inline-images/free-software-free-society.jpg" /></p> <p>I hadn't realised the importance of Free Software in humans continuing quest for Freedom. My first jobs had been in computer shops and I hadn't realise the impact OSs like Windows had done to software by only providing compiled binaries and not the source code - the thing that I had the freedom to play with on my BBC 'B' as a kid and had provided me with an income for the few years since redundancy. I decided as the Free Software Foundation's AGM was on in Boston I had to go and that friend who'd come out for the meal with us offered to drive me so experienced my first state-side road trip to the mecca of MIT, which was an amazing place. Whilst I was there I explained my concept to Lawrence Lessig who created the Creative Commons licensing and he kind of understood it and said it was an extremely interesting idea, unless he was just being polite, but it seemed genuine, although he is a lawyer lol.</p> <h2>TestBox 1 - Uptown Toronto</h2> <p>Another friend whom I'd met at that first networking meeting I'd flown out for said his brother's old shoe shop was empty for a while and I could use it to test out my concept. I of course jumped at the chance and found myself in some upmarket part of Toronto which was miles out of the centre, but who cared? I had a space, and I was gonna give it a go. Personally I thought it would need to start in a city centre as it's a new concept people would need to get an understanding of before it spread out to the 'burbs (I still believe this to be the case).</p> <p>We went to see the space, which was just a shop so no space for meeting rooms etc. but thought better than no space so set up a few computers I'd managed a local supplier of Linux PCs to lend us and awaited a few friends of friends to arrive with some art to display. Suddenly a hoard of artists turned up and there were about 100 pieces of art piled up in the basement! We sifted through and picked out some good pieces to display and hung them up. I filled a bookcase which had been left there with some tech and business books and magazines. We went shopping and bought a trolley load of booze, invited some friends and had a launch party. No business types came because I didn't have a big network of contacts, and we were miles out of the centre of the city. We did have a good party though.</p> <p>So there was me, with a couple of friends, in a pretty much empty shop with some random PCs that no-one knew how to use, with no Internet connection as the phone line had already been disconnected, no website just a flyer on the front door which explained the experiment to bewildered passers by, and some random art on the wall, in the middle of Toronto's upmarket suburbs.</p> <p>Needless to say this experiment didn't work very well, but it did educate. I've attached my original 'Blueprint' below, the picture on the front cover was taken looking down on the shop window display.</p> <p><a href="https://www.edocr.com/v/b6er548l/steve4/organicopen-source-cafecoworking-concept"><img alt="Front cover of the Open Source Coworking Cafe Concept with a computer box, a t-shirt and some books strewn across the shop window floor display" data-entity-type="file" data-entity-uuid="e6a8bae5-a484-4f0f-9a49-a55cfe44f934" src="/sites/default/files/inline-images/open4blueprint_cover_testboxfloor.png" /></a></p> <h2>COMING UP NEXT: Co-operative.club - The History, Part II: You wanna building? I got a building for ya!</h2> </div> <div class="field field--name-field-category field--type-entity-reference field--label-inline"> <div class="field--label">Category</div> <div class="field--item"><a href="/category/creativity" hreflang="en">Creativity</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline"> <div class="field--label">Tags</div> <div class="field__items"> <div class="field--item"><a href="/tags/co-operativeclub" hreflang="en">co-operative.club</a></div> <div class="field--item"><a href="/tags/coworking" hreflang="en">coworking</a></div> <div class="field--item"><a href="/tags/cafe" hreflang="en">cafe</a></div> <div class="field--item"><a href="/tags/concept" hreflang="en">concept</a></div> <div class="field--item"><a href="/tags/drupal" hreflang="en">drupal</a></div> <div class="field--item"><a href="/tags/drupal-planet" hreflang="en">Drupal Planet</a></div> <div class="field--item"><a href="/tags/drupal-architecture" hreflang="en">Drupal Architecture</a></div> <div class="field--item"><a href="/tags/creativity" hreflang="en">creativity</a></div> </div> </div> <section> <h2>Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=70&amp;2=comment&amp;3=comment" token="lVr2me8sBkS-nqUIwncjF3mVjqLfFPdES9CWk_dZWLs"></drupal-render-placeholder> </section> <span class="a2a_kit a2a_kit_size_32 addtoany_list" data-a2a-url="https://purkiss.com/blog/steve-purkiss/2016/12/12/co-operativeclub-history-part-i-project-blueprint-and-first-test" data-a2a-title="Co-operative.club - The History, Part I: Project Blueprint and First Test Space"><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpurkiss.com%2Fblog%2Fsteve-purkiss%2F2016%2F12%2F12%2Fco-operativeclub-history-part-i-project-blueprint-and-first-test&amp;title=Co-operative.club%20-%20The%20History%2C%20Part%20I%3A%20Project%20Blueprint%20and%20First%20Test%20Space"></a><a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> <a class="a2a_button_google_plus"></a></span> Mon, 12 Dec 2016 00:11:00 +0000 Steve Purkiss 70 at https://purkiss.com https://purkiss.com/blog/steve-purkiss/2016/12/12/co-operativeclub-history-part-i-project-blueprint-and-first-test#comments The End Of The Web CMS Brass Era? https://purkiss.com/blog/steve-purkiss/2016/11/18/end-web-cms-brass-era <span>The End Of The Web CMS Brass Era?</span> <div class="field field--name-field-image field--type-image field--label-hidden field--item"> <img src="/sites/default/files/styles/max_325x325/public/2016-11/1903-ford-rc.jpg?itok=2ebs1j9M" width="325" height="240" alt="Photo of the Ford Model A car" typeof="foaf:Image" class="img-responsive" /> </div> <span><span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span></span> <span>Fri, 18/11/2016 - 16:02</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Growing up in Essex with my father and most of my friends families working in some capacity for the Ford Motor Company, I tend to gravitate towards the automotive industry whenever I hear people saying we need to look to history in order to see the future. I'm always skeptical about taking this too literally as circumstances change and many new factors are involved - hence why I'm more afraid of an autonomous car controlled by code I'm not allowed to see than a driver whom I can; however sitting here on the eve of the <a href="https://www.gnu.org/philosophy/open-source-misses-the-point.html">Free/Libre Open Source</a> <strong>project</strong> <a href="https://drupal.org/">Drupal</a>'s first anniversary of its latest <strong>product</strong> release, <a href="https://drupal.org/8">Drupal 8</a>, I find it hard not to draw parallels between these two industries as I ponder what the future might have to hold.</p> <h2>Brass Era Cars</h2> <p><figure role="group" class="align-right"><img alt="1911 Ford Model T Touring" data-entity-type="file" data-entity-uuid="eb80f923-a084-48f0-ae44-eb9422602c8d" src="/sites/default/files/inline-images/1911_Ford_Model_T_Touring_0.jpg" /><figcaption>1911 Ford Model T <a href="https://commons.wikimedia.org/wiki/File:1911_Ford_Model_T_Touring_2.jpg">via Wikimedia Commons</a></figcaption></figure></p> <p>According to Wikipedia, 1886 is regarded as the <a href="https://en.wikipedia.org/wiki/Car">birth year of the modern car,</a> and the <a href="https://en.wikipedia.org/wiki/Brass_Era_car">'Brass Era'</a> is an American term for the early period of automotive manufacturing, named for the prominent brass fittings used during this time for such things as lights and radiators. It is generally considered to encompass 1896 through 1915, a time when these vehicles were often referred to as horseless carriages.</p> <p>Within the 20 years that make up this era, the various experimental designs and alternative power systems would be marginalised. Although the modern touring car had been invented earlier, it was not until <a href="https://en.wikipedia.org/wiki/Panhard" title="Panhard">Panhard et Levassor</a>'s <i><a href="https://en.wikipedia.org/wiki/Syst%C3%A8me_Panhard" title="Système Panhard">Système Panhard</a></i>, first built in 1891, was widely licensed and adopted that recognisable and standardised automobiles were created. This system specified front-engined, rear-wheel drive internal combustion engined cars with a sliding gear transmission, and was to become the standard layout for automobiles for most of the next century.</p> <p>Initially the high-wheel motor buggy (resembling the horse buggy of before 1900) was in its heyday, with over 75 makers, but were only gradually abandoned, in favour of the more advanced runabouts and tonneaus along with other more expensive closed bodies - and killed off by the Ford Model T, first produced by Ford in 1908.</p> <h2>Brass Era Web</h2> <p><figure role="group" class="align-right"><img alt="Drop 1.0 - the first version of Drupal!" data-entity-type="file" data-entity-uuid="222399c3-d283-476e-9373-9ee2cb36c009" src="/sites/default/files/inline-images/drop1_0.jpg" /><figcaption>drop.org, which <a href="https://drupal.cheppers.com/">later became Drupal!</a></figcaption></figure></p> <p>The <a href="https://en.wikipedia.org/wiki/Web_browser">first web browser</a> was invented in 1990 by Sir Tim Berners-Lee, with <a href="https://www.quora.com/When-was-the-first-web-content-management-system-CMS-released">the first content management system ('CMS') appearing around 1992</a>. <a href="https://en.wikipedia.org/wiki/Drupal">Drupal was started in 2000</a> at a time when there were many CMSs, and although the <a href="https://en.wikipedia.org/wiki/List_of_content_management_systems">list of CMSs available</a> is still considerable, there's no doubt that there's a few who dominate the market, with WordPress taking the lion's share; Joomla and Drupal in a battle for 2nd and 3rd spot. If however you only look at larger installations, for example usage in government and education, you'll find Drupal has much larger market share.</p> <p>Because you can package up functionality in install profiles and distributions much like the Linux operating system, it enables the roll-out of hundreds or even thousands of similar sites, for example <a href="http://buytaert.net/drupal-8-turns-one">Nasdaq's Investor Relations Website Platform</a>, <a href="https://www.getopensocial.com">OpenSocial's collaboration platform</a> and the <a href="https://www.drupal.org/project/agov">Australian Government's aGov distro</a>. A kind of mass-market production line, one might conjecture.</p> <h2>The Parallels</h2> <p>So we have new modes of transport (the car, the web), which quickly have models of manufacture designed for them (Système Panhard, CMSs), of which many different types are made (high-wheeled motor buggies, CMSs), but were gradually abandoned in favour of more advanced runabouts and tonneaus (WordPress, Joomla, Drupal) along with other more expensive closed bodies (SharePoint, SiteCore, Adobe Experience Manager).</p> <p>The Model T was produced in 1908, 22 years after the birth of the car; Drupal 8 development began in 2011, 21 years after the birth of the web browser. Ford's Model T was not only successful because it provided inexpensive transportation on a massive scale, but also because the car signified innovation for the rising middle class and became a powerful symbol of America's age of modernisation. I'm writing this on a Drupal 8 site which I had the freedom to download, install, and use for free with no license fees, has so far involved me writing no code, and costs me <a href="https://m.do.co/c/c133f1c749c8">only $10pcm to host on DigitalOcean</a>.</p> <h2>From Innovation To Standardisation<img alt="Composer logo, an illustration of a conductor" data-entity-type="file" data-entity-uuid="883dfc36-743a-47e1-8e22-03aa1f41d2a8" src="/sites/default/files/inline-images/composer-logo.png" class="align-right" /></h2> <p>During the Brass Era, development of automotive technology was rapid, due in part to hundreds of small manufacturers competing to gain the world's attention, with key developments including electronic ignition systems, independent suspension, and four-wheeled brakes.</p> <p>In Drupal 8 we've seen <a href="https://symfony.com/">Symfony</a> adopted and many modules included into core such as WYSIWYG and Views, making Drupal 8 a great ignition for any web system; <a href="https://en.wikipedia.org/wiki/Composer_(software)">Composer</a> increasingly used as Drupal's independent suspension to keep all those dependencies nicely balanced; and as the web calls for speeding up not slowing down, Drupal 8 has the most <a href="http://wimleers.com/article/drupal-8-dynamic-page-cache">advanced dynamic cache system</a> of any CMS, even capable of caching logged in users.</p> <h2>Nearing The End</h2> <p>We're now 26 years into the Web - with the Brass Era ending 29 years into the Car does this mean we're nearing the end of the Web CMS Brass Era? What exactly constitutes 'Brass' in terms of Web CMSs?</p> <p>I draw parallels between Brass and the multitude of modules/plugins and themes for these CMSs. For example, WordPress has many, but they have a much different ecosystem than Drupal's modular architecture which means you can start small and build as your needs arise. WordPress has many paid-for plugins which if you try to get them working together <a href="https://www.lullabot.com/podcasts/drupalizeme-podcast/wordpress-vs-drupal">you might encounter issues</a>. Drupal 8's modular system and object-oriented architecture is designed so you can build 100% the system you need, not 90% made up of what someone else thinks you need which has to be nice and shiny in order to grab your attention because they have so many competitors for their shiny lanterns they have for sale.</p> <p>With WordPress you quickly get into a situation where you have to start writing code to do anything - that's untested, untried code which you'll be tasked with supporting and maintaining. And who is writing this code which operates your core business? With Drupal you've tried and tested modules to use for functionality, along with a 40+ member <a href="https://www.drupal.org/security-team">Drupal Security Team</a> keeping a watchful eye over any security issues which may arise. There's also strict <a href="https://www.drupal.org/docs/develop/standards">Drupal Coding Standards</a>, and an ethos in the community of working together on similar functionality where possible as opposed to having many plugins doing the same or similar functionality.</p> <p>I hear people saying "use the right tool for the job", but I don't use different cars for different day-to-day journeys, and most the people I hear it from are techies, not business people who are more focused on the bottom line and just want stuff to be done. Sure, for the edge-cases it's fine, however many businesses share common business functionality so the more that's in the open and shared, the lower the cost of making use of the web will be. Take for example hairdressers, or car dealerships, or life coaches. I see a future filled with many industry-specific Drupal distributions servicing vertical markets. At the moment it's too easy for digital agencies to sell individual solutions and not share, after all, their model is selling people's time, but it won't be long before enterprising entrepreneurs develop more of these distributions focusing on specific verticals, especially now composer support is taking shape more so it's easier to build and maintain these distributions.</p> <p>For too long many have essentially forked Drupal by downloading it and customising it to the requirements of just the one project at hand, whereas the beauty of Drupal is where you grow the capabilities of Drupal so it does what you want to do without writing code by using modules from core and the world of contrib land. There's <a href="https://youtu.be/OrpZzVMcQV8">a great session from the recent DrupalSouth on YouTube </a>explaining how a decision to "contribute more back" by releasing a module a week, either upgrading existing modules to Drupal 8 or tidying up code from client projects where there was functionality created which more than that one specific requirement needed so could be useful to others turned into a complete new approach to how they develop projects, and their goal for 2017 is to write no custom code at all. This is how it should've been from the start, but there are a number of factors as to why people haven't been approaching Drupal development like this, however going by the number of modules released over the last few weeks for Drupal 8 I believe people are beginning to understand that this entire project was built by sharing, not keeping things secret. I personally believe there needs to be more sharing, and I'd love to speak to any organisation willing to open up their website development project to the world so everyone can have the opportunity to advise on how best to develop it using the modules and methods available, and let's start sharing more so we can grow Drupal's capability more.<img alt="Drupal 8 logo" data-entity-type="file" data-entity-uuid="a4daaadc-0c49-401f-baa0-f0b514091155" src="/sites/default/files/inline-images/drupal8logo.png" class="align-right" /></p> <p>So I'm calling it - I believe we'll see Drupal 8 take a dominant lead in the CMS market space over the next three years and go on to be the platform of choice when developing anything for the web. When there's commodity functionality out there available for free, the justification to start paying out for development and/or license fees does not make much sense for the majority of users. Sure, there will always be other systems around - there's custom cars, Formula 1, rally, and so on, but many just want to get from A to B for the minimum cost and minimum fuss, and let's remember the majority of the web is still not using any CMS.</p> <p>With Drupal 8's ability to work with any device, it's not just publishing for the web but embedding itself in the core of how the internet works, so no matter what you want to do, whether you're the <a href="http://buytaert.net/drupal-8-turns-one">YMCA connecting to workout machines and wearables like FitBit bands</a> or simply <a href="https://www.greatagain.gov/">thanking your supporters</a>, Drupal 8 can do it!</p> <p>Question is - does this mean another 100 years before we see autonomous CMS appear? I do hope it's not that long before I can just think about what I want to build &amp; it appears magically in front of me!</p> <p>If you want to find out more about what Drupal could be doing for you, feel free to <a href="http://purkiss.com/contact">contact me</a>, and if you're reading this on 19th November 2016, Drupal 8's 1st birthday, there's a fabulous line-up of speakers and sessions for the free <a href="http://www.drupal8day.com/">Drupal 8 Day Virtual Conference</a>.</p> <p><em>Main image of Ford Model A by DougW <a href="https://commons.wikimedia.org/wiki/File%3A1903-ford-rc.jpg">via Wikimedia Commons</a></em></p> </div> <div class="field field--name-field-category field--type-entity-reference field--label-inline"> <div class="field--label">Category</div> <div class="field--item"><a href="/category/op-ed" hreflang="en">Op-ed</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline"> <div class="field--label">Tags</div> <div class="field__items"> <div class="field--item"><a href="/tags/drupal-planet" hreflang="en">Drupal Planet</a></div> <div class="field--item"><a href="/tags/drupal8" hreflang="en">Drupal8</a></div> </div> </div> <section> <h2>Comments</h2> <a id="comment-9"></a> <article data-comment-user-id="0" about="/comment/9" typeof="schema:Comment" class="js-comment"> <mark class="hidden" data-comment-timestamp="1479834754"></mark> <footer> <article typeof="schema:Person" about="/user/0"> </article> <p><span rel="schema:author">Submitted by <span lang="" typeof="schema:Person" property="schema:name" datatype="">Mike Herchel (not verified)</span> on Tue, 22/11/2016 - 14:54</span> <span property="schema:dateCreated" content="2016-11-22T14:54:47+00:00" class="hidden"></span> </p> <a href="/comment/9#comment-9" hreflang="en">Permalink</a> </footer> <div> <h3 property="schema:name" datatype=""><a href="/comment/9#comment-9" class="permalink" rel="bookmark" hreflang="en">So I&#039;m calling it - I…</a></h3> <div property="schema:text" class="field field--name-comment-body field--type-text-long field--label-hidden field--item"><blockquote><p>So I'm calling it - I believe we'll see Drupal 8 take a dominant lead in the CMS market space over the next three years and go on to be the platform of choice when developing anything for the web. </p></blockquote> <p>I agree that Drupal is a better CMS, but WP is more popular because it's "Good enough", and you can set up a functioning website for &lt; $100, provided your use case is covered. </p> <p>With WP, I can download and install it, pay $50 for a theme that comes with example content and functionality, rip out or change the content, and voila -- I have a fully functioning website.</p> <p>With Drupal, you typically have to build out a theme from scratch -- even if a commercial theme will do. You also have to build out your content model from scratch, and integrate that into the theme. Most "mom and pop" places aren't going to want to spend that much money on a Drupal developer.</p> <p>There's a Drupal.org issue (<a href="https://www.drupal.org/node/2818085">https://www.drupal.org/node/2818085</a>) that proposes to solve this by allowing people to download install profiles during the installation process. I <em>really believe</em> if this were developed, Drupal would see tons of new "smaller" sites developed that would begin to shift the momentum to Drupal.</p> </div> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=9&amp;1=default&amp;2=en&amp;3=" token="vyc1qmhuDymXFj5qDjqj_ZYSn1Uhj93eGQ3_XlPo-tI"></drupal-render-placeholder> </div> </article> <div class="indented"><a id="comment-10"></a> <article data-comment-user-id="1" about="/comment/10" typeof="schema:Comment" class="js-comment"> <mark class="hidden" data-comment-timestamp="1479835354"></mark> <footer> <article typeof="schema:Person" about="/u/steve-purkiss"> </article> <p><span rel="schema:author">Submitted by <span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span> on Tue, 22/11/2016 - 17:22</span> <span property="schema:dateCreated" content="2016-11-22T17:22:34+00:00" class="hidden"></span> </p> <p class="visually-hidden">In reply to <a href="/comment/9#comment-9" class="permalink" rel="bookmark" hreflang="en">So I&#039;m calling it - I…</a> by <span lang="" typeof="schema:Person" property="schema:name" datatype="">Mike Herchel (not verified)</span></p> <a href="/comment/10#comment-10" hreflang="en">Permalink</a> </footer> <div> <h3 property="schema:name" datatype=""><a href="/comment/10#comment-10" class="permalink" rel="bookmark" hreflang="en">Mini Distros</a></h3> <div property="schema:text" class="field field--name-comment-body field--type-text-long field--label-hidden field--item"><p>Thanks for your comment! You're right about how the current situation is in terms of cost, and the distribution/profile selector will help on the technical side, and what I believe will be the key is something I coined 'mini distros' a while back.</p> <p>I mentioned in my post about servicing verticals - at the moment it's easy money developing different solutions for each client but with the advent of Drupal 8 opening up development to a wider audience it's become a lot more feasible to create distributions which serve specific types of business - the aforementioned hairdressers, life coaches, etc. - most the themes for WordPress don't have much in terms of depth of functionality whereas Drupal could deliver a much more useful solution to someone's business out-of-the-box and offered on an OpenSAAS kind of way. Once development has progresses the innovation in particular verticals would make it a compelling offering, and by focusing on one vertical economies of scale mean you can get down to very low prices, much cheaper than WordPress is currently to cobble together a solution, in fact I think the price of WordPress is quite expensive, and even more so if you take into account the opportunity cost of what you're missing out on by not offering functionality specific to your industry needs.</p> <p>I guess what I'm saying is for me, Drupal 8 - including such offshoots as <a href="http://drutopia.org/">Drutopia</a> - is the beginning of something exciting. <em>Very exciting!</em></p> <p><em>Oh, and if anyone wants to co-operate on industry-specific distros do <a href="http://purkiss.com/contact">get in touch</a> ;)</em></p></div> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=10&amp;1=default&amp;2=en&amp;3=" token="aMFSqcJuqpvz4JlBaHcijatXY1Y63RcKJnI8tqchiNE"></drupal-render-placeholder> </div> </article> </div> <h2>Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=69&amp;2=comment&amp;3=comment" token="IQxni0p78o9ZSEWkihFEC7fFRbIcXcDos4BQLuUqJuM"></drupal-render-placeholder> </section> <span class="a2a_kit a2a_kit_size_32 addtoany_list" data-a2a-url="https://purkiss.com/blog/steve-purkiss/2016/11/18/end-web-cms-brass-era" data-a2a-title="The End Of The Web CMS Brass Era?"><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpurkiss.com%2Fblog%2Fsteve-purkiss%2F2016%2F11%2F18%2Fend-web-cms-brass-era&amp;title=The%20End%20Of%20The%20Web%20CMS%20Brass%20Era%3F"></a><a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> <a class="a2a_button_google_plus"></a></span> Fri, 18 Nov 2016 16:02:22 +0000 Steve Purkiss 69 at https://purkiss.com https://purkiss.com/blog/steve-purkiss/2016/11/18/end-web-cms-brass-era#comments Leapfrog the Drupal Learning Curve & Architect the Perfect Solution in 3 Simple Steps https://purkiss.com/blog/steve-purkiss/2016/10/09/leapfrog-drupal-learning-curve-architect-perfect-solution-3-simple <span>Leapfrog the Drupal Learning Curve &amp; Architect the Perfect Solution in 3 Simple Steps</span> <div class="field field--name-field-image field--type-image field--label-hidden field--item"> <img src="/sites/default/files/styles/max_325x325/public/2016-10/drupal-8-learning-curve.jpg?itok=0FdiTg5k" width="325" height="244" alt="Drawing of a Drupal 8 ship riding a wave over previous versions" typeof="foaf:Image" class="img-responsive" /> </div> <span><span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span></span> <span>Sun, 09/10/2016 - 14:06</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p><em>"Drupal has a steep learning curve"</em> is something I hear time and again, however I feel this is a misguided perception and something we need to work towards changing - especially now <a href="https://assoc.drupal.org/blog/megansanicki/drupal-associations-12-month-focus">focus is on the adoption journey</a>. Learning how to 'Drupal' is actually incredibly easy - the trick is to understand exactly what Drupal is and how to mould it to your needs - this is what I'm going to show you how to do in three simple steps.</p> <h2><strong>Step 1: Discover what Drupal <em>doesn't</em> know</strong></h2> <p>This is by far the most important step of the process, hence why I go into much further detail than the other two - skim if you so wish but I assure you the story is there for a reason!</p> <h3><strong>We've been here before</strong></h3> <p>As of writing, Drupal has been around for 15 years and has solved many problems associated with building a wide range of web sites and applications, embedding this knowledge in either the <a href="https://www.drupal.org/project/drupal">core Drupal distribution</a> or one of the <a href="https://www.drupal.org/project/project_module">35,000+ modules available on the drupal.org site</a>. Drupal's decision to only provide backwards-compatibility for content and not functionality means this functionality has had the ability to improve over time <em>and</em> make the most of innovation in technology, for example the recent big jump from mostly procedural programming to object-oriented.</p> <h3><strong>A note about the jump from procedural to object orientation</strong></h3> <p>This latest jump was a big one - Drupal was developed before object orientation was available in <a href="https://en.wikipedia.org/wiki/PHP">PHP</a> (the language Drupal is written in), and so developed its own system of '<a href="https://www.drupal.org/node/292">hooks</a>'. You use hooks to interact with Drupal core to override functionality in order to make Drupal do what you want it to do for you. You can think of hooks like the ones on a coat stand - the trouble here was as different modules and themes overrode hooks, like an overloaded coat stand with many different coats on each hook, it became increasingly harder to work out what hook was changing what and when in the process it was changing it.</p> <p>There are still hooks in Drupal 8, but these may disappear in future versions of Drupal as the migration to object-orientation continues. An added benefit is more backwards compatibility than before for future versions, so the change between versions 8 and 9 <em>shouldn't</em> be as pronounced as the change from 7 to 8 as we don't have to perform again such a big move as changing the fundamental way the entire code works. I believe there's plans to support backwards compatibility over two major versions from now on, so 9 will be backwards compatible with 8, 10 with 9, but not 10 with 8 - <a href="https://en.wiktionary.org/wiki/your_mileage_may_vary">YMMV</a>, etc.!</p> <h3><strong>Knowledge carried throughout generations</strong></h3> <p><figure role="group" class="align-right"><img alt="A drawing of people representing versions of drupal, with 8 being the new kid on the block, ageing as versions go back" data-entity-type="file" data-entity-uuid="8d0eb75b-271f-4e78-9734-b677270aab70" src="/sites/default/files/inline-images/drupal-versions.jpg" /><figcaption>Courtesy @sgrame: https://twitter.com/sgrame/status/774232084231680000</figcaption></figure></p> <p>The key point to understand here is what Drupal brings along with it as it progresses from version to version. Whilst the underlying code may change in order to improve and make the most of the latest innovation in programming languages, the knowledge, experience, and best practices gained and shared from its deployment to millions of sites is maintained in the API and module layer. It is unlikely what you are trying to build is unknown to Drupal in some way or another, it has dealt with everything from <a href="http://drupal.com/">simple brochureware sites</a> which look the same to everyone to sites such as <a href="https://weather.com">weather.com</a> where everyone who visits sees a personalised version of the site. As I often like to quip, I've never been asked for Rocket Science and even if I was, <a href="http://www.nasa.gov/">NASA uses Drupal</a> ;)</p> <p>This development process is fundamentally different to how other systems on the market work, with many other popular ones focusing on ease of use at the expense of progressive innovation, and is why you see Drupal have a larger share of the market on sites with complex requirements. The adoption of semantic versioning means there are now minor releases which include bug fixes along with both new and experimental functionality, and a new version of Drupal is released every six months. We are already up to version 8.2, and with <a href="http://buytaert.net/drupal-8-2-now-with-more-outside-in">current focus on 'outside-in'</a> it is becoming easier for people used to systems other than Drupal - or none at all - to use Drupal, however it is not easy to visualise your end goal and know how to get there, or there is a module or modules already out there which could help you along the way to achieve your desired outcome without having to code anew.</p> <p>To help overcome this out-of-the-box experience there are many ongoing initiatives to provide default content, make module discovery easier, build focused distributions, etc. but they will all take time. There is a way to approach development which means you don't end up going down the wrong path or developing functionality which already exists, it is to discover what exactly it is you want to build Drupal doesn't already know about and <em>focus only on functionality required which is specific to your situation and no other</em>.</p> <h3><strong>What makes you different?</strong></h3> <p><img alt="Characters from different nationalities" data-entity-type="file" data-entity-uuid="ccf86cf3-3b8d-46c2-85d7-d76508490e99" src="/sites/default/files/inline-images/different-nationalities-1124478_640.jpg" class="align-center" /></p> <p>I recently provided the architecture for a high-profile specialist travel site - a six-figure project which unfortunately as with many projects I'm involved in I'm under non-disclosure agreements, doesn't mean I can't talk about the approach I took though, and this is a particularly good example.</p> <p>As they were merging a number of existing systems I could've just looked at the existing data, however there is nothing to say those systems were designed well and we don't want to fall into the trap which I see many times where people re-create bad systems. Drupal is a very flexible system, many others require you to fit your data into how they work. So by asking the client to explain how their organisation worked and what was different about themselves as opposed to other similar organisations I discovered there were six distinct areas:</p> <ol><li><strong>Activity</strong> - their offerings were split into distinct activity types</li> <li><strong>Resorts</strong> - they operate their own resorts</li> <li><strong>Accommodation</strong> - each resort contains one or more different types of accommodation</li> <li><strong>Region</strong> - the organisation had their own definition of a region, some spanning more than one country</li> <li><strong>Departure Gateways</strong> - they fly out from a limited number of airports</li> <li><strong>Arrival Gateways</strong> - resorts are serviced by one or more local airports</li> </ol><p>Everything else on the system was something Drupal would have dealt with before in one way or another - number of rooms, features of accommodation and resorts, and so on. These could easily be achieved using fields, taxonomy terms, and everything else Drupal provides out-of-the-box.</p> <h3><strong>Design with the future in mind</strong></h3> <p>I also took the time to observe the operations of the organisation as I walked around their office. I noticed the majority of people were answering calls, so I asked what exactly they had to deal with on the phone - people wanting more information on particular deals, issues with accommodation crop up from time to time - all the usual a travel company would have to deal with but more so here as they owned and operated the resorts. The point here is there's a whole wealth of user requirements contained here which although weren't in the scope of this current phase of development, by having them in mind when designing a system it should make it easier to extend to accommodate their needs as and when budgets and time allow.</p> <p>If you only design a system for buying via the web you may find when a member of staff is trying to help a customer on the phone the process is unnecessarily complicated, or extending the system to cope with this new use case is particularly hard if you haven't taken this scenario into consideration to start with. Not to say it can't be done, and is easier to adapt now Drupal 8 is more object-oriented, but it's always good to have the future in mind - some of this you will be able to see, some you'll need to extract from key stakeholders, you'll be surprised sometimes with what you find out which you'll then be glad you asked. Here I knew the latest version of <a href="https://www.drupal.org/project/commerce">Commerce for Drupal 8</a> has the ability to set up different buying processes so it would be able to cope easily with phone orders if it were ever a requirement.</p> <h3><strong>Design for different rates of change</strong></h3> <p>It is feasible I could've used Drupal's built-in content types to build the system, but this would've limited the system to this particular use-case, making it harder to cope with different buying processes like the one mentioned above. It also did not sound right - an "airport" isn't a content type, it's an entity. It has content - facilities etc. but the thing itself is an entity. So I created six custom entities, and it sounded much better especially when you went to create a view - "list accommodation in resort". By simply teaching Drupal what was different about this particular organisation, we extended Drupal's "knowledge" and leveraged everything else it had to offer to deal with the functionality it does know about, like date ranges, durations, prices, and so on.</p> <p>Whilst the front-end of a website may go through many enhancements and refreshes, the core business model of an organisation - especially one such as this which is well-established and operated for many years, does not change as much, if at all. In this example they mentioned they may add new activities, and they offered packages which covered more than one activity but their current system couldn't cope with this, which is why activity was treated as a separate entity.</p> <p>By encoding the core business model of an organisation as high up the chain as you can with Drupal, you end up with a far more flexible system to cope with the faster-moving changes such as views to list out particular promotions, plus ensure longevity by enabling future development of those core parts of the system. I also wanted to make it a little more difficult for them to change any of this as this is critical to the operation of the organisation, so if changes were needed they would have to go through a harder process than changing a view, but there should be a good reason for any changes needed to the core business model so happy with the custom entity approach taken.</p> <h3><strong>Seeing the wood for the trees</strong></h3> <p><img alt="Forest Sunbeams Trees Sunlight Light Foliage" data-entity-type="file" data-entity-uuid="e1204c4c-8bf2-47d1-b6ea-980adac1b40f" hspace="10" src="/sites/default/files/inline-images/forest-56930_640_0.jpg" vspace="10" class="align-left" />It's not only when architecting systems you need to take this approach to Drupal - another small example is when I helped someone out a couple of weeks back who was having problems getting a product listing displaying exactly how he wanted it to using Drupal 7. He had tried a number of different types of <a href="https://www.drupal.org/project/views">views</a> (Drupal's user interface for manipulating database queries) but none of them would do what he wanted, which was to provide a faceted search facility, listing the results grouped by category. You'll see this functionality on most e-commerce sites these days, for example click on Televisions and it'll provide you a list grouped by manufacturer, or perhaps size - the point is it's not Rocket Science, it's been done before, it shouldn't be hard to do, so something else was causing the issue here. Sometimes it's hard to see the wood for the trees, so you need to take a step back and take a logical think about the situation.</p> <p>We delved into the problem and through a series of questions worked out the thing he wanted to do which was different was he wanted a number of fields to be displayed at the group level - the name of the group, an image, and a description. None of the various combinations of views he had tried provided the ability to display more than one field, and rewriting the field output in the view did not apply to group by fields. Although there are a number of ways to achieve this from different parts of Drupal, I implemented the simplest way I knew which was to output the taxonomy term ID as the field to group by, and overwrite the template in order to load the details of the taxonomy term so we could easily grab the fields we needed.</p> <p>I can almost hear others screaming at me to use display modes or some other functionality available as I'm sure there's other ways this can be achieved which are 'better', however as I spend most of my time dealing with back-end issues and not front-end and as we only had limited time and budget to solve the issue, this worked as a solution for the situation at hand so we went with it.</p> <p>The take-away here is to go with what solves the majority of the problem, the thing you see or can imagine seeing other people using, and focus on what is specific to your needs. Faceted searching, listing products, grouping products by category - all standard functionality and should be simple to achieve in Drupal. Outputting multiple fields for a grouping category title? Not so much.</p> <h2><strong>Step 2: Modularise Your Requirements</strong></h2> <p><img alt="Moog synthesizer to symbolise modularity of system​​" data-entity-type="file" data-entity-uuid="43ae5636-214c-45b3-95f3-a766a89bd1b7" hspace="10" src="/sites/default/files/inline-images/moog-1573329_640_0.jpg" vspace="10" class="align-right" /></p> <p>Drupal is a modular system, so you need to modularise your requirements by breaking them down as much as you can. Yes, what you're wanting to do has more than likely been done before, but maybe not in your exact combination - if it has then cool, you don't have to do anything as there's already a module/distribution/theme/etc. out there for you! Many times there isn't though, and every organisation has their differences, so you need to break your requirements down in order to deal with them successfully.</p> <p>In our example above where we have a faceted search listing out products grouped by category, by splitting it up into "faceted search", "list products", and "group a view by category" we are going to get much better results when searching for answers than if we search for "faceted search grouped by taxonomy", which is more specific to our use-case than the majority of uses. You're more likely to end up with someone else's specific situation who also has had issues solving it and may forever skip past the actual solutions you are looking for. Be as generic as you can with generic requirements, then be as specific as you can with the ones you identified as particular to your situation, in this example we could've searched for "override view field output" and it would've brought us results for how to override using views templates, which is how we solved the problem there.</p> <p>Once you align your vocabulary more closely with Drupal's generic, modular functionality, you'll enjoy much more success with your searches - it takes a little logical thought and remembering it's not Rocket Science! Far too many times I've seen sites where little or no research has been done as to what's already out there and people have essentially forked Drupal, creating their own monster significantly increasing the amount of work it takes to maintain and extend the site when it's not necessary.</p> <p>Every line of code you produce is technical debt - even if you decide not to use the module you find which does what you need or part of what you need, you can study the tried-and-tested code, copy it into your module and use as a base for your work. A good example is detailed in <a href="http://purkiss.com/blog/steve-purkiss/2016/10/07/short-screencast-intro-new-drupal-console-fieldinfo-command">my previous blog post about creating a Drupal Console command</a> where I found code which did some of what I wanted so I based my work on it because I knew what had already been written worked and there was no point in me writing it again.</p> <h2><strong>Step 3: Only Develop Specifics, Share Where Possible &amp; Grow Drupal!</strong></h2> <p><img alt="Pieces of a puzzle being squished by a pair of hands" data-entity-type="file" data-entity-uuid="fb01cee5-836a-426f-a7c5-b68a6320d617" hspace="10" src="/sites/default/files/inline-images/pieces-of-the-puzzle-592798_640.jpg" vspace="10" class="align-left" />If you find you have to develop specific functionality for your site, have a think about if it would be of use to anyone else, or whether you're going to be the only person in the world doing this specific thing. As mentioned above, every line of code you write is something you or your client is going to need to support your/themselves. If you publish a module to <a href="https://www.drupal.org/project/project_module">the drupal.org module repository</a> you not only have the possibility of others sharing the maintenance of the code but they may also provide enhancements, and stable module releases are covered by the <a href="https://www.drupal.org/security-advisory-policy">security advisory policy</a> which doesn't mean they secure your module, but if an exploit is found and reported the 40+ strong <a href="https://www.drupal.org/security-team">Drupal Security Team</a> are there to help. Even if you just <a href="https://www.drupal.org/create-sandbox">create a sandbox project</a> you may discover others find the code useful and provide feedback.</p> <p>If you're working for a client and they are worried about sharing code, or you're the end client and worry about losing competitive advantage, remember software is easy to copy and it's the rest of what you do which sets you apart from your competition. In our travel example above, it's the resorts they own which provide the value to the customer, not the software code which enables people to book a stay in them.</p> <p>Currently there is a lack of sharing code on the implementation side - there's a lot of factors for this including competition between suppliers, infrastructure ease of use or lack thereof, and a general lack of co-operation in some industries. The result is many people end up writing similar code when they could be starting at a higher level, collaborating with industry peers, sharing development and maintenance costs, and going towards pushing the Drupal project forward. The more we can do out-of-the-box, the better it gets for all concerned as projects cost less, launch quicker, and we can focus on code which isn't out there already which is specific to the organisation itself, so spending the development budget on genuinely useful code instead of code which could be freely available to us in the first instance. Remembering how much we started with for free may be of help creating impetus to share any code we develop.</p> <p>Although my site here doesn't do much functionally I haven't had to write a single line of code to be able to use the web to communicate my message to you, something I believe is <em>amazeballs! </em>Drupal can and does provide code for generic websites, however it's up to industries to collaborate and build their modules and distributions, and/or some enterprising people to build code and distributions for them, as we see in some areas such as e-learning and government.</p> <p>I'm honestly shocked when I hear projects haven't contributed any code back, especially larger projects lasting longer than a year - I worry about how much technical debt they've incurred and feel sorry they haven't helped Drupal to grow, it's only by contributing code the Drupal product itself has reached this amazing level of innovation. I understand there are reasons, however I never see it as "contribution", more akin to riding a bicycle - I can stare at it as long as I like but until I push my feet down on the pedal it's not going to take me anywhere, I don't call it "contribution", just how the bike works!</p> <p>I hope this post has been of help, do feel free to comment below, or <a href="http://purkiss.com/contact">get in touch with me</a> if I can be of help with anything specific.</p> <p><strong>Happy Drupaling!</strong></p> <p>Main Drupal 8 Learning Curve image courtesy <a href="https://twitter.com/sgrame/status/335290382290132992">@sgrame</a>. Other images attributed inline, the rest are public domain, found on <a href="https://pixabay.com">pixabay</a>.</p> </div> <div class="field field--name-field-category field--type-entity-reference field--label-inline"> <div class="field--label">Category</div> <div class="field--item"><a href="/category/tutorials" hreflang="en">Tutorials</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline"> <div class="field--label">Tags</div> <div class="field__items"> <div class="field--item"><a href="/tags/drupal-planet" hreflang="en">Drupal Planet</a></div> <div class="field--item"><a href="/tags/drupal-architecture" hreflang="en">Drupal Architecture</a></div> <div class="field--item"><a href="/tags/data-modeling" hreflang="en">Data modeling</a></div> <div class="field--item"><a href="/tags/drupal" hreflang="en">drupal</a></div> </div> </div> <section> <h2>Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=51&amp;2=comment&amp;3=comment" token="NZvNRkn_WFkMqEEDEK-ISBkhxwnLVJxigiQBj683nV8"></drupal-render-placeholder> </section> <span class="a2a_kit a2a_kit_size_32 addtoany_list" data-a2a-url="https://purkiss.com/blog/steve-purkiss/2016/10/09/leapfrog-drupal-learning-curve-architect-perfect-solution-3-simple" data-a2a-title="Leapfrog the Drupal Learning Curve &amp; Architect the Perfect Solution in 3 Simple Steps"><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpurkiss.com%2Fblog%2Fsteve-purkiss%2F2016%2F10%2F09%2Fleapfrog-drupal-learning-curve-architect-perfect-solution-3-simple&amp;title=Leapfrog%20the%20Drupal%20Learning%20Curve%20%26amp%3B%20Architect%20the%20Perfect%20Solution%20in%203%20Simple%20Steps"></a><a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> <a class="a2a_button_google_plus"></a></span> Sun, 09 Oct 2016 13:06:20 +0000 Steve Purkiss 51 at https://purkiss.com https://purkiss.com/blog/steve-purkiss/2016/10/09/leapfrog-drupal-learning-curve-architect-perfect-solution-3-simple#comments Short screencast intro to the new Drupal Console field:info command https://purkiss.com/blog/steve-purkiss/2016/10/07/short-screencast-intro-new-drupal-console-fieldinfo-command <span>Short screencast intro to the new Drupal Console field:info command</span> <div class="field field--name-field-image field--type-image field--label-hidden field--item"> <img src="/sites/default/files/styles/max_325x325/public/2016-10/drupal-console-logo.png?itok=gOZvruBJ" width="300" height="114" alt="Drupal Console logo" typeof="foaf:Image" class="img-responsive" /> </div> <span><span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span></span> <span>Fri, 07/10/2016 - 10:39</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>I am a big fan of <a href="https://drupalconsole.com/">Drupal Console</a>, the CLI built on top of <a href="http://symfony.com/doc/current/components/console.html">Symfony Console</a> for use with <a href="https://www.drupal.org/8">Drupal 8</a>. As well as the ability to generate skeleton code, Drupal Console has a heap of commands for a number of uses, routing, debugging, and now with the new <strong>field:info</strong> command you can gain an overview of what fields are on a site and where they are used.</p> <h2>A bit of background</h2> <p>I wrote this last month as a result of attending the <a href="http://www.eventbrite.co.uk/e/drupal-sprint-weekend-july-2016-london-uk-tickets-26464547173#">Drupal Global Sprint Weekend - London Outpost</a> which was focusing on Drupal Console. I'd been wanting to learn how Drupal Console worked for a long time, and as it's always easier when sitting around a table with other Drupalers I jumped at the opportunity and made my way up to the Big Smoke for the day. Big thanks due here to <a href="https://www.drupal.org/user/3555">Robert Castelo</a> for organising the sprint, and for keeping the Drupal lights on in London for all these years - I believe it was one of, if not the first, local Drupal User Group!</p> <p>I managed to get all the info I needed to set up my machine on the Saturday in order to contribute to the project and take on an issue from the <a href="https://github.com/hechoendrupal/DrupalConsole/issues">Drupal Console GitHub issue queue</a> - one was a feature request for this command which looked like something I could achieve, so decided upon that as my task. It ended up taking a couple of weeks to write and I'm extremely happy with the results, of course I learned much on the way too so I never see it as 'contribution' but more as 'free learning' for me! A big thanks here to the DrupalConsole team who provided me with a lot of help over on the <a href="https://gitter.im/hechoendrupal/DrupalConsole">Drupal Console gitter.im chat channel</a>.</p> <h2>Stealing code is a Good Thing</h2> <p>I discovered a Drupal module which had the basic functionality I needed for this command - <a href="https://www.drupal.org/project/field_report">Field Report</a> - which I then re-factored for use in Drupal Console and added the extras for the options. I even managed to contribute a patch back to the Field Report module to fix an issue they had, which was nice to be able to do as I'd used their code!</p> <h2>A quick retropective</h2> <p>I think the hardest part was getting the display to look nice, however as my first 'professional' programming was RPG (Report Program Generator, not Role Playing Games unfortunately!) for IBM AS/400s which originated from punch cards I was used to figuring out text-only outputs ;) Apart from that is was just a case of reading the Symfony Console documentation to understand how options and arguments work, and which one to use for particular purposes.</p> <h2>The field:info Screencast</h2> <p>And finally at last, here's the <strong>field:info</strong> screencast ~ enjoy!</p> <div class="video-embed-field-responsive-video form-group"><iframe width="854" height="480" frameborder="0" allowfullscreen="allowfullscreen" src="https://www.youtube.com/embed/LufH8XS9nMU?autoplay=0&amp;start=0&amp;rel=0"></iframe> </div> </div> <div class="field field--name-field-category field--type-entity-reference field--label-inline"> <div class="field--label">Category</div> <div class="field--item"><a href="/category/tutorials" hreflang="en">Tutorials</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline"> <div class="field--label">Tags</div> <div class="field__items"> <div class="field--item"><a href="/tags/drupal-console" hreflang="en">Drupal Console</a></div> <div class="field--item"><a href="/tags/drupal8" hreflang="en">Drupal8</a></div> <div class="field--item"><a href="/tags/drupal-planet" hreflang="en">Drupal Planet</a></div> <div class="field--item"><a href="/tags/cli" hreflang="en">CLI</a></div> <div class="field--item"><a href="/tags/drupal" hreflang="en">drupal</a></div> <div class="field--item"><a href="/tags/tutorial" hreflang="en">tutorial</a></div> <div class="field--item"><a href="/tags/screencast" hreflang="en">Screencast</a></div> </div> </div> <section> <h2>Comments</h2> <a id="comment-7"></a> <article data-comment-user-id="0" about="/comment/7" typeof="schema:Comment" class="js-comment"> <mark class="hidden" data-comment-timestamp="1476461506"></mark> <footer> <article typeof="schema:Person" about="/user/0"> </article> <p><span rel="schema:author">Submitted by <span lang="" typeof="schema:Person" property="schema:name" datatype="">rphair (not verified)</span> on Fri, 14/10/2016 - 16:40</span> <span property="schema:dateCreated" content="2016-10-14T15:40:13+00:00" class="hidden"></span> </p> <a href="/comment/7#comment-7" hreflang="en">Permalink</a> </footer> <div> <h3 property="schema:name" datatype=""><a href="/comment/7#comment-7" class="permalink" rel="bookmark" hreflang="en">good incentive to learn Drupal Console</a></h3> <div property="schema:text" class="field field--name-comment-body field--type-text-long field--label-hidden field--item"><p>Thanks to you, I saw this live at DrupalCon Dublin... which became my motivation to finally get Drupal Console working. In case anyone wonders why they don't see it on a stock install, I had to do "composer require drupal/console:1.0.0-rc5" which for me required a more recent version of symfony/dom-crawler ("composer require symfony/dom-crawler:2.8.12").</p> <p>I had always hoped something like this would be available in Drupal &amp; thanks for sharing. It's also a great preview for the things you can do in Drupal Console that are really hard to do any other way.</p> </div> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=7&amp;1=default&amp;2=en&amp;3=" token="gSITky6KmlYh8k3gzKegeQw5Ab0eMLcMkqN0j1ewtsc"></drupal-render-placeholder> </div> </article> <div class="indented"><a id="comment-8"></a> <article data-comment-user-id="1" about="/comment/8" typeof="schema:Comment" class="js-comment"> <mark class="hidden" data-comment-timestamp="1476461571"></mark> <footer> <article typeof="schema:Person" about="/u/steve-purkiss"> </article> <p><span rel="schema:author">Submitted by <span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span> on Fri, 14/10/2016 - 17:12</span> <span property="schema:dateCreated" content="2016-10-14T16:12:51+00:00" class="hidden"></span> </p> <p class="visually-hidden">In reply to <a href="/comment/7#comment-7" class="permalink" rel="bookmark" hreflang="en">good incentive to learn Drupal Console</a> by <span lang="" typeof="schema:Person" property="schema:name" datatype="">rphair (not verified)</span></p> <a href="/comment/8#comment-8" hreflang="en">Permalink</a> </footer> <div> <h3 property="schema:name" datatype=""><a href="/comment/8#comment-8" class="permalink" rel="bookmark" hreflang="en">Thanks!</a></h3> <div property="schema:text" class="field field--name-comment-body field--type-text-long field--label-hidden field--item"><p>Thanks Robert, I enjoyed that little Tour de Drupal in the pub! Glad you got into console, it's pretty awesome &amp; thanks for sharing the tip - as I showed you in my composer.json I just put "~8.0" for any Drupal module so when I do a composer update it'll grab the latest version - for console I guess something like "~1.0" will also do similar... YMMV etc.</p> <p>Happy Drupaling!</p></div> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=8&amp;1=default&amp;2=en&amp;3=" token="roEwVhPI8x3guUlKO4gZlMfjatgWmh9ZcaE9ZvBUEwo"></drupal-render-placeholder> </div> </article> </div> <h2>Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=50&amp;2=comment&amp;3=comment" token="8WGO8ImBirMqhXncJ2JSiB-Mre32O1REXwH0equKyUQ"></drupal-render-placeholder> </section> <span class="a2a_kit a2a_kit_size_32 addtoany_list" data-a2a-url="https://purkiss.com/blog/steve-purkiss/2016/10/07/short-screencast-intro-new-drupal-console-fieldinfo-command" data-a2a-title="Short screencast intro to the new Drupal Console field:info command"><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpurkiss.com%2Fblog%2Fsteve-purkiss%2F2016%2F10%2F07%2Fshort-screencast-intro-new-drupal-console-fieldinfo-command&amp;title=Short%20screencast%20intro%20to%20the%20new%20Drupal%20Console%20field%3Ainfo%20command"></a><a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> <a class="a2a_button_google_plus"></a></span> Fri, 07 Oct 2016 09:39:38 +0000 Steve Purkiss 50 at https://purkiss.com https://purkiss.com/blog/steve-purkiss/2016/10/07/short-screencast-intro-new-drupal-console-fieldinfo-command#comments Drop Guard - Automatic Updates for Drupal - The Road Test! https://purkiss.com/blog/steve-purkiss/2016/09/24/drop-guard-automatic-updates-drupal-road-test <span>Drop Guard - Automatic Updates for Drupal - The Road Test!</span> <div class="field field--name-field-image field--type-image field--label-hidden field--item"> <img src="/sites/default/files/styles/max_325x325/public/2016-09/drop-guard-logo_0.png?itok=HnuMRnPU" width="325" height="157" alt="Drop Guard logo and strapline continuous security for Drupal" typeof="foaf:Image" class="img-responsive" /> </div> <span><span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span></span> <span>Sat, 24/09/2016 - 17:27</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Automating updates for Drupal has been a hotly debated topic for many years with a number of strong views expressed from all sides and some <a href="https://www.drupal.org/node/2367319">recent encouraging progress</a> but as of yet still no resolution.</p> <p>Due to Drupal's complexity, automating updates is not a trivial task however the importance of such functionality came to a head a couple of years back in October 2014 with the '<a href="http://www.linuxjournal.com/content/drupageddon-sql-injection-database-abstraction-and-hundreds-thousands-web-sites">Drupageddon</a>' where an exploit had been discovered in which users were told if they did not patch their system within just a few hours then it was likely their sites were toast.</p> <p>As Drupal adoption continues, the pressure to implement such functionality grows and a sprinkling of commercial offerings have appeared, most notably <a href="https://www.drop-guard.net/">Drop Guard</a> which grew from an internal tool built by German Drupal web &amp; mobile app agency <a href="http://www.brightsolutions.de/">Bright Solutions</a>. Bright created the <a href="http://www.erpal.info/">ERPAL</a> distribution of Drupal, an all-in-one e-business backroom platform, so they know their Drupal and I was eager to try out their service. It also looks like the Drop Guard site itself is built on top of ERPAL.</p> <p>As usual with Drupal there are a million-and-one things on my try-out list with more exciting stuff appearing each day, so I was excited when I saw a tweet from Drop Guard offering a free ticket to DrupalCon Dublin in return for an impartial review of their service - I wasn't planning on going but this meant I could just about justify attending, and I would finally get round to setting up automated updates for my new <a href="http://purkiss.com">purkiss.com</a> which I'd just started to build in Drupal 8.</p> <p>I replied within a few seconds and won the prize! Of course now I had to do the work, so for the past month and a half I've been road-testing their service and below is my report. I'm actually writing this in the extended sprints on the Saturday before DrupalCon - I had planned on writing it before but one thing led to another and I ended up having to do some client work, but as luck and Drupal small-world would have it, one of the first Drupalers I met this morning just happens to be working on building a new user interface for Drop Guard so not only did I manage to gain a little more info on the service and company, but also a sneak peek at what looks like a much more user-friendly interface to this important service offering.</p> <p>I must admit, my review would have been quite different if I hadn't seen those mock-ups, so I'm very glad I did - everything happens for a reason, etc.!</p> <h2><strong>What's the offering?</strong></h2> <p>Billed as "The update management system for automation and quality assurance", Drop Guard provides continuous security for Drupal, targeted at hosting providers, Drupal agencies, freelancers and non-profits - the latter of which they have <a href="http://www.drop-guard.net/blog/free-drop-guard-usage-announcement">recently offered a free of cost tier</a> for, which in my mind is a very Good Thing. For individual sites they currently have three pricing option - €9pcm plus tax for up to 30 contrib modules covered, €29 for up to 70, and €59 for up to 150, plus tailored offerings for agencies. </p> <p>All packages offer the same functionality underneath - fully controllable workflow for updates, automated patch detection and application - provided you set up everything as needed, which can be done through their integration into Continuous Integration ('CI') tools and options for Secure Shell ('SSH') deployments. </p> <p>Seamless integration with the major Drupal-specific hosting providers is also part of the offering, so all-in-all a good offer for the price, considering how much time is spent on these tasks plus the knowledge that if there's an urgent update and you're not around, or asleep, or without a connection, your site(s) are safe. I do wonder what will happen as more companies launch similar services, whether it will be a race to the lowest price until core decides to provide it for free? More on that later...</p> <h2><strong>A note on our value as a community</strong></h2> <p>I'm going to be particularly picky with my review because I believe there is a space for this kind of value-added service in the market but I think over the next couple of years the landscape will be very different with a number of offerings, so hopefully by providing detailed feedback I can provide more value than just a review saying "it's great".</p> <p>As an offering that has grown from the community I would very much like to see Drop Guard succeed and not be overtaken by something which comes along with bigger financial backing but perhaps no 'soul', and as a community I believe it's in our hands to support these kinds of community-grown offerings - if we just watch from the sidelines but don't join in their growth by helping out, recommending and of course using their service then we are not in a position to complain if they disappear.</p> <p>I also really appreciate the opportunity they have given me to attend DrupalCon as it means I can be around kindred folk enjoying the many DrupalCon goings-on and get to run my BoF sessions (shameless plug: <a href="https://events.drupal.org/dublin2016/bofs/does-drupal-need-platform-cooperative">Co-op BoF Tuesday 5pm</a>, <a href="https://events.drupal.org/dublin2016/bofs/freelancers-contractors-bof">Freelancers &amp; Contractors BoF Wednesday 5pm</a>, both Wicklow Room 3). I believe this kind of value sharing between companies and community is the way forward - "growing the pie for everyone" as I've heard time and again at various Drupal events. So hopefully my review will provide value to you too, please do feel free to comment using the form at the bottom of this article, it would be great to hear what your experiences, thoughts and opinions on the subject - don't be shy!</p> <h2><strong>Step 1: Creating an account</strong></h2> <p>So, on to the system itself - I was particularly interested to see how this worked as many projects I've worked on utilise CI, however apart from playing around with <a href="https://jenkins.io/">Jenkins</a> for a while some time ago, I'd not had a pressing reason to set anything up for myself - it had always been something someone else had done. I soon found out I was not going to be Drop Guard's 'usual' customer as for me when I read 'Automated patch detection and application' I naively had the impression I was just going to enter a few login details and Drop Guard was going to magically work everything out for me whilst I get on a plane to go lay on a beach somewhere. As usual though, there's a little more than that to do to set everything up, but once it is then yes, perhaps it's ok to go catch that plane!</p> <p>The account creation screen to me has a few too many fields to fill out in this current day and age where quickly lose interest - not that it has too many questions, but really all you need is an email address - the rest can be added later. For mission-critical required information, sure, but other questions seem more relevant to what Drop Guard want in order to profile you as a customer type, which don't seem to have any immediate effect on what I'm presented with after login, so I would say leave them out and let users choose once in the system. There's also a 'Promo Code' field, which to me just makes me feel like there's a promo code lying around somewhere I should be searching the net for. As I also found out later, it defaults to the account creation screen, so when you come back to the website you have to click the 'I have an account' in order to log in, I would say switch that - it's how most other sites work and if I want to create an account I have no problem in clicking a tab but it does get slightly annoying having to click every time I log back in.</p> <p>There's also a link underneath the registration form to their slack channel which slightly worried me as I'm not a user of slack due to its proprietary nature - as a developer of Free/Libre Open Source Software many of my answers come from searching the web for similar situations, and unless you pay slack a lot of money, that history is not available for search so although it's a nice user-friendly interface I would much prefer to see people adoption more open solutions such as <a href="https://www.mattermost.org/">Mattermost</a>. I presume here there are other options for support so carry on my journey.</p> <p>As previously mentioned I'm going to be picky, but it's what I felt, so it's what I'm going to type - also remember with a redesign on the cards things may have changed by the time you read this!</p> <h2><strong>Step 2: Adding a project</strong></h2> <p>Once you've registered and confirmed your email by clicking on the link that's sent to you, a screen is presented where you can set up your first project. There's only a few fields to fill out - a name for your project, the URL of your code repository (<a href="https://git-scm.com/">Git</a> only, but I'm unsure of any value supporting other code versioning systems, if they still exist) and a field for tags. This tags field threw me a little as there was no description as to how the tags would be used, I'm presuming they're if you have a number of sites then tagging is useful but I wouldn't necessarily have the field here.</p> <p>I was encouraged to see the link to the support chat, now I know I don't have to use slack to get in touch with Drop Guard if I need any help. Of course being me it's now a little annoying as I go from screen to screen as if these chat things auto-open I often think someone's there waiting for me to talk so I always end up clicking to minimise it!</p> <p>I experienced problems with the system not accepting my Git URL which, after a few conversations with the Drop Guard team turned out to be browser caching issues which I believe perhaps came from the heavy in-development phase the system was at the time, and all worked well after clearing my cache so if you do by chance experience issues. Saying that though, I've just tried to add another project and it's come up with the same error - 'Git username can't contain ":" and "@" characters'. I cleared all my caches (which is a pain now I'm going to have to log in to everything again!), so no doubt I'll be approaching the Drop Guard at DrupalCon to see what the deal is - <a href="http://www.drop-guard.net/blog/meet-us-at-drupalcon-dublin-2016">go see Drop Guard at booth #105</a> if you're attending!</p> <h2><strong>Step 3: Site config</strong></h2> <p>To enable access to your Drupal site, <a href="http://dgo.to/dropguard">Drop Guard has its own module on drupal.org</a> which you download and install on your site. This module provides you with a User ID and Access Token which you enter into this screen, along with the URL of your site. All very simple &amp; has my specific details so no screen shot for this step.</p> <h2><strong>Step 4: Update behaviours</strong></h2> <p>You now get to choose what type of updates you want Drop Guard to do anything with and how to handle them. I found this a little overwhelming to begin with and although there is a 'Reload best practices', I believe there could be perhaps three options available in order to provide different levels of security based on best practices. You could then delve deeper into the individual settings. I was encouraged that you can apply changes to different branches, this system really does cover all potential update workflows.</p> <h2><strong>Step 5: Events</strong></h2> <p>Once you've selected your update behaviours you now get the opportunity to attach actions to these events - request a URL, send an email, execute an SSH command, merge a branch, and create a task in project management system. You can add any number of these to each event depending on your particular workflow - for me at this moment I'm happy just being sent an email, but I can see how easy it's going to be to hook into my CI once I've set it up(!).</p> <h2><strong>Step 6: Integrations</strong></h2> <p>The last setup screen is if you want to connect to your project management system, which I don't have so can't really comment on the functionality other than to say I'm sure it's useful for those who do - the options at the moment are for Jira and Redmine.</p> <h2><strong>Step 7: Sit back and relax!</strong></h2> <p>And that's it, now it's time to sit back, relax, and let Drop Guard do the hard work for you! Although I'm only using it on a very small site it's still very useful as the Drop Guard system emails are far more descriptive than the out-of-the-box Drupal site ones so I can judge better as to whether I need to do something or not. I look forward to setting up continuous integration for my site and configuring Drop Guard to do a lot more for me. I guess I could start by just setting up a few SSH commands to run on specific events, we'll see if I have some time once I get back after DrupalCon...</p> <h2><strong>Conclusion</strong></h2> <p>I've really enjoyed testing the system out and communicating back and forth with the team and as mentioned look forward to integrating my own site more into the update system than it is right now and feel very confident Drop Guard will be able to deal with a number of different scenarios in any which way I want it to. That's if I manage to get to the bottom of my original issue of not being able to add a site - in this day where more of these types of services are appearing on what seems a daily basis, if I find one that works for me out-of-the-box first time, that's probably going to be the one I end up using. I do feel that you're kind of dropped in the deep end straight away and this could perhaps be split up a little more depending on the audience. In a way I felt that if you had all that knowledge already then perhaps you have your own system set-up so it's going to be a choice whether you pay for a system like this or continue down your own path.</p> <p>Currently I don't see the value differential between the various services, but then as said I'm not their typical client. If the aim is for hosting companies and agencies then they also have the added issue of eventually it being more cost effective in the long term to develop their own systems, but I don't really know enough about what's involved in running this service so can't comment any more than I know a site builder who's built a system that suits their needs, on their own, which manages hundreds of sites. Obviously not everyone's capable of doing that, but it's a case of hunting out that niche where this system hits a sweet spot and then developing your market from there. Or if the idea is to simply build the 'best' system then sell to some large hosting provider then I guess that's a way forward too.</p> <p>As well as creating a few simple options to ease people into the service I did wonder why they don't market the system on the code security side too - as they have access to your system it would be easy to see whether the code has been changed since they last checked - to me as a user knowing if my code has changed is kinda important and could be a good 'value add' service to market - hacked protection!</p> <p>It will be interesting to see this market develop, momentum is certainly gathering as I see a seemingly similar offering launched recently, plus more Drupal-specific agencies offering this service as part of their packages. With Drupal core also potentially offering at least some of this then companies in or thinking of entering this space will seriously need to think about what their USP is as there's nothing here which is 'secret sauce', it's all Free/Libre Open Source Software. Let's hope it doesn't become a race to the bottom in terms of price-point, and if it does then let's do it all in core because you can't beat Free.</p> <p>Once again I'd like to thank Drop Guard for this opportunity and encourage you to <a href="https://www.drop-guard.net/">try out Drop Guard for yourself</a>, and if you're lucky enough to be in Dublin for DrupalCon then <a href="http://www.drop-guard.net/blog/meet-us-at-drupalcon-dublin-2016">go see them at their booth!</a></p></div> <div class="field field--name-field-category field--type-entity-reference field--label-inline"> <div class="field--label">Category</div> <div class="field--item"><a href="/category/product-service-reviews" hreflang="en">Product &amp; Service Reviews</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline"> <div class="field--label">Tags</div> <div class="field__items"> <div class="field--item"><a href="/tags/drupal-planet" hreflang="en">Drupal Planet</a></div> <div class="field--item"><a href="/tags/drupal" hreflang="en">drupal</a></div> <div class="field--item"><a href="/tags/continuous-integration" hreflang="en">Continuous Integration</a></div> <div class="field--item"><a href="/tags/ci" hreflang="en">CI</a></div> <div class="field--item"><a href="/tags/automatic-security-updates" hreflang="en">Automatic Security Updates</a></div> <div class="field--item"><a href="/tags/drop-guard" hreflang="en">Drop Guard</a></div> <div class="field--item"><a href="/tags/reviews" hreflang="en">Reviews</a></div> </div> </div> <section> <h2>Comments</h2> <a id="comment-2"></a> <article data-comment-user-id="0" about="/comment/2" typeof="schema:Comment" class="js-comment"> <mark class="hidden" data-comment-timestamp="1476179339"></mark> <footer> <article typeof="schema:Person" about="/user/0"> </article> <p><span rel="schema:author">Submitted by <span lang="" typeof="schema:Person" property="schema:name" datatype="">David Snopek (not verified)</span> on Mon, 26/09/2016 - 20:35</span> <span property="schema:dateCreated" content="2016-09-26T19:35:52+00:00" class="hidden"></span> </p> <a href="/comment/2#comment-2" hreflang="en">Permalink</a> </footer> <div> <h3 property="schema:name" datatype=""><a href="/comment/2#comment-2" class="permalink" rel="bookmark" hreflang="en">What are the other recent offerings you&#039;ve seen launch recently?</a></h3> <div property="schema:text" class="field field--name-comment-body field--type-text-long field--label-hidden field--item"><blockquote><p> It will be interesting to see this market develop, momentum is certainly gathering as I see a seemingly similar offering launched recently</p> <blockquote><p>Just wondering what this service was? You alluded to their being a couple, I'm curious what they are, if you don't mind saying.</p> <p>Thanks!</p></blockquote> </blockquote> </div> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=2&amp;1=default&amp;2=en&amp;3=" token="8HyszN_uZaobqtd30DdLSRD9p71vJt7YwSHUzjLPUDo"></drupal-render-placeholder> </div> </article> <div class="indented"><a id="comment-5"></a> <article data-comment-user-id="1" about="/comment/5" typeof="schema:Comment" class="js-comment"> <mark class="hidden" data-comment-timestamp="1476179702"></mark> <footer> <article typeof="schema:Person" about="/u/steve-purkiss"> </article> <p><span rel="schema:author">Submitted by <span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span> on Tue, 11/10/2016 - 10:55</span> <span property="schema:dateCreated" content="2016-10-11T09:55:02+00:00" class="hidden"></span> </p> <p class="visually-hidden">In reply to <a href="/comment/2#comment-2" class="permalink" rel="bookmark" hreflang="en">What are the other recent offerings you&#039;ve seen launch recently?</a> by <span lang="" typeof="schema:Person" property="schema:name" datatype="">David Snopek (not verified)</span></p> <a href="/comment/5#comment-5" hreflang="en">Permalink</a> </footer> <div> <h3 property="schema:name" datatype=""><a href="/comment/5#comment-5" class="permalink" rel="bookmark" hreflang="en">A few</a></h3> <div property="schema:text" class="field field--name-comment-body field--type-text-long field--label-hidden field--item"><p>Apologies, I realised I half-set up my rule to email me comments when posted but didn't get it working!</p> <p>I saw someone tweeting a lot @ people saying he's set up a new service offering this, did a quick search but can't find it now, will post if I do. It was the usual @ everybody with Drupal in their profile so immediately made it look like a low-quality offering IMO.</p> <p>Also a number of Drupal shops are offering this as part of their hosting offering, I saw Annertech is doing this, amazee.io are I believe hooked up to Drop Guard.</p> <p>I've seen a couple around, just did a quick google and found another - http://inet-design.com/fully-managed-drupal-hosting.html</p></div> <drupal-render-placeholder callback="comment.lazy_builders:renderLinks" arguments="0=5&amp;1=default&amp;2=en&amp;3=" token="snLK4uT1j2VtGw-KzkfvzjF68wCrC45QPo-Mz5zLNL4"></drupal-render-placeholder> </div> </article> </div> <h2>Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=49&amp;2=comment&amp;3=comment" token="EYSBuqNkTPlaRK1NSYbtsloNkP_0gUfu3_ifJvB-TkQ"></drupal-render-placeholder> </section> <span class="a2a_kit a2a_kit_size_32 addtoany_list" data-a2a-url="https://purkiss.com/blog/steve-purkiss/2016/09/24/drop-guard-automatic-updates-drupal-road-test" data-a2a-title="Drop Guard - Automatic Updates for Drupal - The Road Test!"><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpurkiss.com%2Fblog%2Fsteve-purkiss%2F2016%2F09%2F24%2Fdrop-guard-automatic-updates-drupal-road-test&amp;title=Drop%20Guard%20-%20Automatic%20Updates%20for%20Drupal%20-%20The%20Road%20Test%21"></a><a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> <a class="a2a_button_google_plus"></a></span> Sat, 24 Sep 2016 16:27:02 +0000 Steve Purkiss 49 at https://purkiss.com https://purkiss.com/blog/steve-purkiss/2016/09/24/drop-guard-automatic-updates-drupal-road-test#comments Drupal Debrief #1 https://purkiss.com/blog/steve-purkiss/2016/08/19/drupal-debrief-1 <span>Drupal Debrief #1</span> <span><span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span></span> <span>Fri, 19/08/2016 - 17:30</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><h3>News</h3> <ol><li><a href="https://www.drupal.org/node/2785631">Panels security issues causing issues</a></li> <li><a href="https://groups.drupal.org/node/513151">Gábor Hojtsy - We can add big new things to Drupal 8, but how do we decide what to add?</a> &amp; <a href="http://www.yoroy.com/pieces/vetting-drupal-product-ideas">Vetting Drupal product ideas</a></li> <li><a href="https://assoc.drupal.org/blog/rachfrieee/changes-drupal-association-events-team">DA events team ch-ch-changes</a></li> <li><a href="https://www.gitbook.com/book/drupal-media/drupal8-guide">Drupal 8 Media Guide gitbook</a></li> <li><a href="https://www.youtube.com/watch?v=pe54oVoEDwM">GSOC / Social API</a></li> <li><a href="https://www.drupal.org/node/2779729#comment-11523801">OH: "backdreditor"</a> &amp; <a href="https://www.drupal.org/node/2779729">Move features from dreditor into drupal.org</a></li> <li><a href="https://www.marcdrummond.com/posts/2016/08/18/composer-drupal-8">Marc Drummond - thoughts on Composer &amp; Drupal8</a></li> <li><a href="https://twitter.com/Drupal_Heroes/status/766155578901164032">Some numbers from the drupalaton sprints</a></li> <li><a href="https://twitter.com/dgtlmoon/status/766154088518221825">Abandoned entityreference module gains momentum</a> </li> <li><a href="https://twitter.com/carriehd/status/766061257518710787">"There are many other non-Drupal CMS platforms that allow you to do content modeling and structured content. @NoVAUXMeetup #novaux #uxdc"</a></li> </ol><h4>Of Recent Interest</h4> <ul><li><a href="http://buytaert.net/drupal-goes-to-rio">Drupal goes to Rio</a></li> </ul><h4>On The Horizon</h4> <ul><li><a href="https://www.ostraining.com/blog/drupal/drupal-82/">Drupal 8.2</a></li> </ul><h3>Events</h3> <h4>Recent</h4> <ul><li><a href="https://www.youtube.com/watch?v=gTPMbjKZS9U">Atlantic Coast Nw Drupal Meetup Video</a></li> </ul><h4>Forthcoming</h4> <h5>from <a href="https://www.drupical.com/">Drupical</a></h5> <ul><li><a href="mwds2016.eventbrite.com">Midwest Drupal Summit</a> - Friday 19th - Sunday 21st August</li> <li><a href="http://2016.drupalcampct.org/">DrupalCampCT</a> - Saturday 20th August</li> <li><a href="https://events.drupal.org/dublin2016/news/build-your-drupalcon-agenda-session-and-bof-schedule-live">DrupalCon Dublin schedule now online</a></li> </ul><h4>Related</h4> <ul><li><a href="https://fsfe.org/community/events/2016/summit/frontpage">Free Software Foundation European Summit</a> - September 2nd - 4th, Berlin</li> </ul><h3>Module Releases</h3> <h4>from <a href="https://twitter.com/drupal8modules">@drupal8modules</a></h4> <ul><li><a href="http://dgo.to/drd">DRD 8.x-3.0-alpha3</a></li> <li><a href="http://dgo.to/drd_remote">DRD Remote 8.x-3.0-alpha3</a></li> <li><a href="http://dgo.to/back_to_top">Back To Top 8.x-1.0-beta2</a></li> <li><a href="http://dgo.to/xls_serialization">XLS Serialization 8.x-1.x-dev</a></li> <li><a href="http://dgo.to/contact_storage">Contact Storage 8.x-1.0-beta7</a></li> <li><a href="http://dgo.to/formblock">Form Block 8.x-1.0-beta9</a></li> <li><a href="http://dgo.to/remote_stream_wrapper">Remote Stream Wrapper 8.x-1.0</a></li> <li><a href="http://dgo.to/smart_ip">Smart IP 8.x-3.0-beta2</a></li> <li><a href="http://dgo.to/coroporate_blue">Corporate Blue Theme 8.x-1.0-alpha1</a></li> <li><a href="http://dgo.to/mailhandler">Mailhandler 8.x-1.x-dev</a></li> <li><a href="http://dgo.to/config_split">Config Split 8.x-1.x-dev</a></li> <li><a href="http://dgo.to/user_permissions">User Permissions 8.x-1.x-dev</a></li> <li><a href="http://dgo.to/styleguide">Style Guide 8.x-1.0-alpha1</a></li> </ul><h3>#builddrupalwithsteve</h3> <h4>modules used so far on <a href="http://purkiss.com">purkiss.com</a></h4> <ul><li><a href="http://dgo.to/admin_toolbar">Admin Toolbar</a></li> <li><a href="http://dgo.to/eu_cookie_compliance">EU Cookie Compliance</a></li> <li><a href="http://dgo.to/smtp">SMTP</a> so can use gmail</li> <li><a href="http://dgo.to/google_analytics">Google Analytics</a></li> <li><a href="http://dgo.to/mollom">Mollom</a></li> <li><a href="http://dgo.to/honeypot">Honeypot</a></li> <li><a href="http://dgo.to/metatag">Metatag</a> (&amp; <a href="http://dgo.to/token">Token</a>)</li> <li><a href="http://dgo.to/pathauto">Pathauto</a> (&amp; <a href="http://dgo.to/ctools">CTools</a>) - <a href="https://www.ostraining.com/blog/drupal/pathauto/">OSTraining article on Pathauto</a></li> <li><a href="http://dgo.to/contact_storage">Contact Storage</a> (<a href="https://www.drupal.org/node/2784741">current issue with field definitions</a>)</li> <li><a href="http://dgo.to/simple_sitemap">Simple Sitemap</a></li> <li><a href="http://dgo.to/readme">README</a></li> <li><a href="http://dgo.to/addtoany">AddToAny</a></li> <li><a href="http://dgo.to/bootstrap_clean_blog">Bootstrap Clean Blog</a> (&amp; <a href="http://dgo.to/bootstrap">Bootstrap</a>) <a href="https://www.drupal.org/node/2776927">patch but also needs file upload option added</a></li> <li><a href="http://dgo.to/extlink">External links</a></li> <li><a href="http://dgo.to/video_embed_field">Video Embed Field</a></li> </ul><h4>Tutorials used:</h4> <ul><li><a href="https://www.webwash.net/drupal/tutorials/build-blog-drupal-8-content-types-and-fields">WebWash: Building a Blog in Drupal 8</a></li> </ul><h3>Helpful Links</h3> <ul><li><a href="https://www.drupalvm.com/">DrupalVM</a> - Drupal development Virtual Machine</li> <li><a href="http://drupalsun.com/">Drupalsun</a> - nicely designed Drupal Planet news feed</li> <li><a href="https://www.drupical.com/">Drupical</a> - Drupal events map</li> <li><a href="http://dgo.to/">dgo.to</a> - Short URL to Drupal resources</li> <li><a href="https://drupalconsole.com/">Drupal Console</a></li> <li><a href="https://m.do.co/c/c133f1c749c8">DigitalOcean</a> - please use this referral link to help with hosting costs!</li> <li>Have any ideas/questions about the show or need any Drupal?! - <a href="http://purkiss.com/contact">Get in touch!</a></li> </ul></div> <div class="field field--name-field-category field--type-entity-reference field--label-inline"> <div class="field--label">Category</div> <div class="field--item"><a href="/category/news" hreflang="en">News</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline"> <div class="field--label">Tags</div> <div class="field__items"> <div class="field--item"><a href="/tags/news" hreflang="en">News</a></div> <div class="field--item"><a href="/tags/vlog" hreflang="en">vlog</a></div> <div class="field--item"><a href="/tags/drupal-planet" hreflang="en">Drupal Planet</a></div> </div> </div> <section> <h2>Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=2&amp;2=comment&amp;3=comment" token="F49PdYXTo9nYIabImP7ytdb_O42_SRqoEM-rbvtsxlo"></drupal-render-placeholder> </section> <span class="a2a_kit a2a_kit_size_32 addtoany_list" data-a2a-url="https://purkiss.com/blog/steve-purkiss/2016/08/19/drupal-debrief-1" data-a2a-title="Drupal Debrief #1"><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpurkiss.com%2Fblog%2Fsteve-purkiss%2F2016%2F08%2F19%2Fdrupal-debrief-1&amp;title=Drupal%20Debrief%20%231"></a><a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> <a class="a2a_button_google_plus"></a></span> Fri, 19 Aug 2016 16:30:00 +0000 Steve Purkiss 2 at https://purkiss.com https://purkiss.com/blog/steve-purkiss/2016/08/19/drupal-debrief-1#comments Remote DrupalCon - Day 3 https://purkiss.com/blog/steve-purkiss/2015/09/25/remote-drupalcon-day-3 <span>Remote DrupalCon - Day 3</span> <span><span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span></span> <span>Fri, 25/09/2015 - 23:14</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><h2>"Talk is silver, contribution is gold"</h2> <p>It's the final day of sessions at the Real DrupalCon and these are the keynotes I've been waiting for! (<a href="http://purkiss.com/blog/steve-purkiss/2015/09/23/remote-drupalcon-day-2">click here for yesterday's blog if you missed it</a>)</p> <p>I say "keynotes" as in a departure from the norm there are two speakers today, both whom I've had the pleasure of seeing previously and both whom touch on subjects close to me -<a href="https://youtu.be/TdEVaOjL20s">Contribution beyond source code in Drupal and Mental Health in Open Source</a>.</p> <h2>Contribution beyond source code</h2> <p><a href="https://twitter.com/sgrame/status/646966174916444160">Sketchnotes by Peter Decuyper</a></p> <p>David Rozas (<a href="https://twitter.com/drozas">@drozas</a>) is a Free Software enthusiast, Drupal developer, PhD candidate and postgraduate researcher whom for the last few years has been researching contribution in Free Software communities, specifically Drupal. I've seen David talk at a few DrupalCamps and it is great to see his work being recognised and able to reach a wider audience.</p> <p>I find it a particularly interesting area as my non-code contributions to the Drupal project are orders of magnitude greater than the ones of code - I just noticed the other day my <a href="https://groups.drupal.org/user/8816">Drupal Groups Profile</a> says I've been involved in organising 70 events, plus I've done things like create <a href="https://vimeo.com/28789460">a cool short film about What is Drupal?</a> In fact one of the reasons I used Drupal in the first place was because writing code for other people's websites selling parking spaces or whatever didn't really float my boat much as a computer scientist so I could do most of what I needed with existing modules and just provide the 'glue code'.</p> <p>It is only really in the past year with the advent of Drupal 8 that my code contributions have started - much of that has also been to do with actually knowing how I can join in, along with confidence issues - the latter covered by today's second keynote so I'll park that one for the moment.</p> <h3>Commons Based Peer Production</h3> <p>The key to David's session for me was the introduction to the audience of the term "Commons Based Peer Production", which is how the Drupal community works. I honestly think the vast majority of people who currently use Drupal at the moment think it's a CMS product produced by some magical team toiling away building the exact feature you want to use for Free, or they simply don't think about how or where it comes from, it just is. By David introducing the notion of Commons Based Peer Production it ideally frames the community and the product, and explains how it is built and maintained - not by one specific company but by a community of peers, i.e. you and me, no magic unicorns in the sky. Far too often I see Drupal 'sold' as a product which often serves to disappoint when people encounter issues and don't understand the process of how they can deal with them, often expecting people to work for free and/or blaming Drupal itself for their problems. An overview of CBPP should be in every Drupal 101 tutorial, get people involved in the community from the start!</p> <p>David covers the notion of what commons are and highlights a number of quotes from Drupal community members and comes to the conclusion that to continue to scale the Drupal community effectively more local meetings in real life are needed to strengthen the connections built online and enable community members to interact on other levels than just code itself. In terms of funding the growth, David explains we need to explore new dimensions of value - an area I'm particularly interested in as I love to write and do other things than code however the only proven way I get money at the moment is from coding.</p> <p>Profiles on the Drupal website are covered, highlighting that community contributions are beginning to be included a lot more, as well as things like listing your mentors which helps the mentors too, not just your own profile. More non-code contributions need to be included - it's often been the mantra of Drupal that "Talk is silver, code is gold", I like the alternative "Talk is silver, contribution is gold". The more we recognise people's contributions of any kind, the more the community will grow organically.</p> <p>David's keynote is an enlightening one as it educates members of our community as to what it is they are actually part of - I think this is key to knowing that you can and are part of it and helps to break down the barriers to contribution. He ends his keynote saying this is only the first set of results and wants to continue the research in an open, Drupal fashion and invites people to join in over at a new group set up <a href="https://groups.drupal.org/research-about-drupal-community">Research about the Drupal community</a> - this is only the beginning!</p> <h2>Mental Health &amp; Open Source<a href="https://twitter.com/annavitals/status/647080066011103233"><img alt="Why people break down infographic" src="http://purkiss.com/sites/default/files/breakdown.png" /></a></h2> <p><a href="https://twitter.com/mikebell_">Mike Bell</a>, UK Drupalist <a href="https://youtu.be/TdEVaOjL20s?t=49m">begins his keynote on Mental Health &amp; Open Source</a> with a caveat that he is not a doctor and this is just from his own experience via a break down. Shortly after his talk I saw <a href="https://twitter.com/annavitals/status/647080066011103233">this infographic by Anna Vital go by on my twitter timeline</a> which I thought was quite appropriate as I think I have at some time encountered similar scenarios and it's how you deal with them which makes them either constructive or destructive.</p> <p>Mike covers these issues well in three sections - Depression, Anxiety and Imposter Syndrome. Rather than repeating his entire keynote I'm going to cover a little about how each of them affects my life and I encourage you to <a href="https://youtu.be/TdEVaOjL20s?t=49m">watch Mike's keynote</a> to gain more insight into what is a very important subject everyone is affected by at some time or another.</p> <h3>Depression</h3> <p>It's strange when you look at your life and all the things you have - I live in a wonderful apartment, in a wonderful city, close to the beach yet depression is something which, as Mike says, just comes over like a dark cloud and it's very hard often to see the good in anything. Like Mike, when I first went for help with my depression from the medical profession I was put on a dose of medication and it did help me get through the worst of it. This was 20 years ago when I was a 'mature student' at uni (I'm now 43!). A year later I went particularly low again and was put on a different medication which had an adverse reaction with me which meant I was shaking all the time and when my best friend pointed it out I took myself off the medication and haven't had any pharmaceuticals since. For me, I know what causes my depression and I know what I need to do to get out of it - eat healthily, do lots of exercise, etc. Doesn't mean I always do it, and I'm particularly out of practice at the moment hence why I'm not as happy as I know I can be, but whilst the pills do help in some cases, they only tend to mask the underlying issues which are often more than not life issues which I believe working through them makes me a stronger person in the end. I'm not advocating not taking medication, I'm just saying for many people it's not the answer but a temporary fix, and if you're happy with that then that's fine. Mental illness isn't one thing affecting people in one way and there's no one answer.</p> <h3>Anxiety</h3> <p>I'm going through lots of anxiety right now - I spent a lot of time and money traveling this year so I could grow my Drupal network and learn more about Drupal 8 but I went over-optimistic again and didn't build my pipeline up enough, so a month ago I lost a number of potential opportunities all at the same time and now I'm two months behind in rent. The worst is it's debilitating which just produces a downward spiral as it means you stop doing the things which bring you the work in the first place. Luckily a couple of months back I forced myself to start blogging again, so when I had to cancel my DrupalCon ticket I thought that instead of being depressed and anxious about cancelling the one thing which probably would've meant I'd bump into someone and make connections for work I'd use my talents, keep myself busy, create the opportunity for connections to happen, and give you all an ear-bending in the meantime ;)</p> <p>I'm anxious about writing about this stuff because I'm freelance, I'm the salesperson, and I worry if people know every bit about my life then they somehow link it with work. Well, for sure I don't do a 9-5 any more, but I go by what I produce, the end result, and when I look back at the projects I've produced lately I'm very proud - happy clients takes my anxiety away for sure! So thanks to Mike, because if it weren't for you I wouldn't feel as easy as I do now writing about this stuff, and frankly I don't care what people think, whether self-indulgent, too much, or whatever, it's helping me right now lol.</p> <h3>Imposter Syndrome</h3> <p>This is probably my biggest bug-bear with mental illness. I've been hacking on computer code for the lat 34 years, yet often when I look at some code I go "I can't do this" and it often take a lot of effort to get past this point, but every time I have I've proved to myself that I can do it. That's probably more confidence than imposter syndrome, for me it stems back to when I was in a previous company in the dotcom days and the head geek took the mick out of my technical capabilities. I admit I'm not the best one to be sitting down coding all day on a client's site, but that's more to do with the fact I'm a creator as opposed to a mechanic, and my days are not 100% coding any more.</p> <p>Where I get imposter syndrome most is when all three issues are affecting me, and I can honestly say yesterday was one of those days. I was ready to sell everything up - I don't know where my next income is coming from, I'm late with bills, I'm credit carded up to the max - what am I doing, who am I kidding that I know this Drupal thing? I realised it was only my current wave of thinking though so instead of staying up late last night to write this final blog of the conference I'd do it the next day. Then anxiety set in - what if I forgot everything I watched? What if I just let it slip and didn't end up writing the blog? I knew this blogging thing was a silly idea &amp; wouldn't last long - etc. etc. - if I told you every thought I had last night on this the page would never end, but we are here so once again the world didn't end ;)</p> <h3>Managing Mental Illness</h3> <p>Mike continues his keynote covering what methods he's using to cope at the moment and areas such as how it impacts companies and business. For me, Drupal enables me to live with who I am as a person - there's enough opportunities around so that I can, bit by bit, fulfil my needs from a number of different areas - personally I've never found a job which could do that for me. You're either building your own life or someone else's, from a bad experience being made redundant back in the 'dotbomb' days I've always wanted to be in a position where I'm in control, and although it's hard to say this right now with imposter syndrome creeping back in with the thought of the late rent and bills, I do believe I've managed to do pretty good having freelanced now for the last 15 years. That's not to say I'm not open to opportunities - often I think about how 'easy' it would be not to have to worry and just take my monthly pay, but I don't believe that's going to fulfil my potential as a human being - in fact I don't think it does for any human being, but that's another story for another time.</p> <p>All I do know is I'm enjoying writing this way too much - I used to blog and write stuff every day as I wrote a Plain English Guide to Open Source but my writing stopped shortly before my Drupal started due to an abusive relationship I was in over in Canada with a girl who I found out was BPD &amp; bipolar, but that's yet again another story so for the moment thanks Mike for helping me back on my road to recovery, apologies to those who are just trying to catch up with the goings-on at DrupalCon, I'll get back on the case shortly, if you want to discuss this, or anything, further please do tweet <a href="https://twitter.com/stevepurkiss">@stevepurkiss</a> or <a href="http://purkiss.com/contact">contact me through my website</a>, comments are broken on here and I'm not fixing them as I'm migrating to Drupal 8 just as soon as I finish this blog ;)</p> <p>Mike's keynote finishes up with a well-deserved standing ovation from the audience then a short Q&amp;A session discussing things like how we can help within our community and at our events. Mike suggests a table at events where local mental health professionals can set up a stall with leaflets, etc. Personally I think we should do those as part of the process but focus on the underlying issues as to why people are having break downs in the first place. It's a strange year as this is covered in other sessions I watched which I brief below as our project has experienced much 'burn-out', but it is great to see so much focus on this - seeing and being part of how we address these issues is great as I'm sure if it were in some company they'd probably just pass it on to the HR department to sort out, we have the opportunity here to forge new ways of dealing with the pressures of modern life. Personally I believe new ways of living like being a digital nomad are part of the cure - we don't need to be near the factories to do our work any more yet we live in an infrastructure and culture built around those principles, luckily this is changing slowly as we do more of this sort of thing.</p> <h2>Other sessions from Day 3</h2> <p>I must admit I had to have a break after watching the two keynotes, it was all a bit overwhelming - two subjects close to my heart, community members and their work being recognised, the reaction of the audience, etc. but I knew there were more awesome sessions coming and two days in with only one to go was certainly no time to give up now I've been blogging about it too ;) So on we continue, and on a similar vein to the keynotes...</p> <p><a href="https://youtu.be/LWdNMhI0MoA">Avoiding and surviving of contribution burnout</a> - <a href="https://twitter.com/laurii1">@laurii1</a> and <a href="https://twitter.com/schnitzel">@schnitzel</a> provide an excellent session on what burnout is as opposed to stress, some tips on how to deal with it personally (like drink more water, cos it makes you pee so forces you to get up and move around!), and how to deal with it in our community (delegation, more praise for participation, etc.). More than half the session is given over to discussion with the audience on how we can make Drupal more sustainable so well worth a watch. I think there will always be stress and burnout whilst there's such a disproportionate amount of contributors vs users of Drupal so believe that at least some of these issues can be addressed by growing the community of contributors so the workload is shared more, and perhaps saying no to stuff if there isn't the material support to go along with the efforts necessary to produce it.</p> <p><a href="https://youtu.be/Zkvoaw6yCcg">Pain Points of Contribution in the Drupal Community</a> - Kalpana's (<a href="https://twitter.com/kalpanagoel">@kgoel</a>) session is along similar veins but more on the practical side of what the problems are with the current interfaces we have and stumbling blocks to participation and how we can get organisations to contribute and participate more.</p> <p><a href="https://youtu.be/vwDCgDfiMEk">Hassle-free Hosting and Testing with DevShop &amp; Behat</a> - there's lots of options for managed Drupal hosting, and whilst I love them they are rather expensive especially when dealing with small or personal projects, plus it's always good to look at other options so when I saw there was an open source hosting project for devshops available I thought I'd check it out. It's interesting, but I still don't feel confident enough to manage my own and clients sites as I'm no sysadmin (I like to break things, guess that's why I like tests so much!) so whilst I'll still be playing around with self-hosting a few pet projects, I'll leave the client stuff up to the professionals. Worth watching if you want to set up your own hosting stack though.</p> <p><a href="https://youtu.be/vtDYXNJkcvM">The future of Groups on Drupal.org</a> - unfortunately the presenter's slides didn't display properly so we couldn't fully see the proposed improvements but you got a good idea that there's a lot of good change on the way, focusing on the personas that were created a while back for drupal.org users so contextual data should show up in the future, at the moment it's focused squarely on developers.</p> <p><a href="https://youtu.be/d2SutA331S8">Planning for Drupal 8.1.x, 8.2.x, and our future together</a> - this was actually more interesting and important than I thought it would be, another half-session, half audience participating in making a list of what to be included in the next versions of Drupal now that we have gone to semantic versioning, i.e. minor versions as well as major providing functionality additions. Presenter <a href="https://twitter.com/timplunkett">Tim Plunkett</a> whom I had the pleasure of finally meeting when I went to DrupalCon LA (yes, that's another reason why I'm cashflow poor at the moment!) is ideally placed to host this talk as his work in the panels and layouts area is particularly affected by semantic versioning as not everything will get into the 8.0.0 release. Watch this if you're planning on using Drupal 8 and want to know what's coming up soon!</p> <p><a href="https://youtu.be/SGvQD36m6Wk">AMA: Drupal Shops Explain How They Do It</a> - not much in terms of visuals on this one but an interesting discussion from a few Drupal shops as to how they do things like manage remote teams and encourage clients to become part of the community. I find it encouraging hearing their efforts but as someone who's seen a lot of the issues lately with getting Drupal 8 out of the door I'll be a lot happier when the balance of contributions is, well a little more balanced. If people can make millions out of Drupal, then it shouldn't be as hard as it was to get $250k for funding some core development - for whatever reason. What businesses get back is Drupal, if you don't fund/help maintain/grow Drupal, it will disappear. Free as in speech, not beer remember!</p> <p><a href="https://youtu.be/iieIuaoFFnk">Distributed Teams, Systems &amp; Culture</a> - An interesting session on how one company - <a href="http://pantheon.io/">pantheon</a> - manages its remote teams.</p> <p><a href="https://youtu.be/ssS5oblHxi8">PHP 7 is (almost) here. OMG! PANIC!</a> - I started to watch this as now Drupal 8 is almost here we are actually making use of some of the functions PHP has developed in the last 10 years or so! It was a little too heavy for me for yesterday so I'll revisit it sometime as interesting things are happening in the PHP world.</p> <p><a href="https://youtu.be/9KG11emrQQk">Paid contribution: past, present, and future</a> - this was a really interesting session on funding contributions, mainly driven by audience discussions being part of the core conversations track. There's been a lot of different approaches to funding in the last year with more people now being paid to work on Drupal fulltime, a few funding campaigns for things like Rules and other efforts. One particular point I thought interesting was the discussion on return on investment for companies sponsoring DrupalCamps, and the general feeling that it's becoming harder to justify as businesses want to know direct results. Suggestions such as questionnaires before the event so companies can research potential employees were offered and a general feeling that the overall sponsorship packages need to be revamped - companies don't care how big their logo is, they want value they can value. There was also the Rules initiative which was funded but took a lot of effort and it was mentioned that it's going to be hard to go back and ask for more so other options would be good to look into - personally I think people just don't know what needs doing or how they can get involved so it's good to see sessions like this try to hatch more ideas out.</p> <p><a href="https://youtu.be/xHRW2Nz2ZL8">Building semantic content models in Drupal 8</a> - I was particularly interested in this session as one of my projects is a Drupal skills-matching site. I must admit I was eagerly waiting Dries' Drupal 8 retrospective to appear in the video timeline so once it did and I saw that most of this looked the same as it was in 7, I moved on. Extremely interesting topic though!</p> <p><a href="https://youtu.be/sDj39PwAz8w">Drupal 8 retrospective with Dries</a> - each year the founder of the Drupal project Dries does a Q&amp;A session which is one of the only sessions I usually attend. After quite a few DrupalCons (8 I believe!), I soon worked out that most of the videod sessions I was fine with watching after the event, so mostly ended up going to BoFs (Birds of a Feather) sessions where you get to participate in the growth of a certain area of the project, or the hallway track. This DrupalCon is the only one I've watched all sessions during the event but sadly that's only because I'm not physically there!</p> <p>Dries goes through what worked well, what didn't, and how we can improve in the future - release fewer things sooner, improve core funding, etc. The take-away quote for me was when he said "we need to get off our processes island as well as our technical one" which couldn't have summed it up better - other projects and organisations have worked on this for years and we should gain knowledge from them, at the moment we just throw things into the pot and Drupal comes out the other side, we need more direction.</p> <p>A truly superb session and one every Drupaler must watch!</p> <h2>Watch Later List</h2> <p>By this time I was pretty bushed so I thought I'd go through the rest of the <a href="https://www.youtube.com/user/DrupalAssociation/videos">Drupal Association videos</a> to see which other ones from the conference I'd like to watch. As per usual a massive list emerged but thought I'd post it here for those like-minded!</p> <h2>We did a DrupalCon!</h2> <p>These words from the closing session where they announced the <a href="https://events.drupal.org/dublin2016">next European DrupalCon will be in Dublin</a> next September! Before that there's <a href="https://events.drupal.org/asia2016">DrupalCon Asia in Mumbai</a> in February and<a href="https://events.drupal.org/neworleans2016">DrupalCon New Orleans</a> in May. I do hope I manage to work out my business models so I can afford to go to all. I'm particularly interested in Mumbai as I've never been there and I think there is massive opportunity over there, I'd love to grow teams of connections out there, watch this space and <a href="http://purkiss.com/contact">get in touch if you want to be involved or can help out in any way</a>.</p> <p>Although I didn't make it I do feel doing this blog has made me feel more part of it so didn't totally miss out but I do recommend you make the effort to attend a DrupalCon if you haven't already, at least go to your local events or start one up if there isn't anything - I learned the hard way that Drupal isn't just a sole way of working, it's all about the people, join in and soon things start to become much clearer.</p> <p>Well, that's it from me - thanks for joining me on my remote DrupalCon journey and I hope never have to do it again as instead I'll be there ;)</p> <p><a href="http://purkiss.com/contact">Click here to contact me to discuss this further, I welcome all feedback!</a></p> </div> <div class="field field--name-field-category field--type-entity-reference field--label-inline"> <div class="field--label">Category</div> <div class="field--item"><a href="/category/events" hreflang="en">Events</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline"> <div class="field--label">Tags</div> <div class="field__items"> <div class="field--item"><a href="/tags/drupal" hreflang="en">drupal</a></div> <div class="field--item"><a href="/tags/drupalcon" hreflang="en">DrupalCon</a></div> <div class="field--item"><a href="/tags/drupal-planet" hreflang="en">Drupal Planet</a></div> </div> </div> <section> <h2>Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=31&amp;2=comment&amp;3=comment" token="bSPtugrLwN5jbrCNR2Q7iGOm7e9RD_nshh2xPTofkFA"></drupal-render-placeholder> </section> <span class="a2a_kit a2a_kit_size_32 addtoany_list" data-a2a-url="https://purkiss.com/blog/steve-purkiss/2015/09/25/remote-drupalcon-day-3" data-a2a-title="Remote DrupalCon - Day 3"><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpurkiss.com%2Fblog%2Fsteve-purkiss%2F2015%2F09%2F25%2Fremote-drupalcon-day-3&amp;title=Remote%20DrupalCon%20-%20Day%203"></a><a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> <a class="a2a_button_google_plus"></a></span> Fri, 25 Sep 2015 22:14:21 +0000 Steve Purkiss 31 at https://purkiss.com https://purkiss.com/blog/steve-purkiss/2015/09/25/remote-drupalcon-day-3#comments Remote DrupalCon - Day 2 https://purkiss.com/blog/steve-purkiss/2015/09/23/remote-drupalcon-day-2 <span>Remote DrupalCon - Day 2</span> <span><span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span></span> <span>Wed, 23/09/2015 - 23:11</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><h2>Let's never do that again</h2> <p>Unlike <a href="http://purkiss.com/blog/steve-purkiss/2015/09/22/remote-drupalcon-day-1">when I was watching yesterday's Driesnote</a>, I actually quite expected these sorts of words to come out of the mouth of Larry Garfield, aka <a href="https://twitter.com/crell">@crell</a>, long-time Drupal contributor and the reason I stayed up way too late last night after blogging so not strictly Day 2 but deserves a mention as was a superb, insightful session "<a href="https://youtu.be/DTJnJxFfvmI">Drupal in 2020</a>".</p> <p>The never do that again refers to the four-or-so years spent on developing Drupal 8 with most of that time spent not developing new stuff but just barely catching up with modern technology trends. In order to be relevant even with today's technologies we need to be looking at what we could be doing and Larry shows off a number of impressive development projects which enable PHP to run in a similar way to node.js - even faster in many cases. Well worth a watch!</p> <p>I ended the night with <a href="https://youtu.be/iKNXkQlOlPk">Ken Rickard's 2020 Vision</a>, an entertaining session from a highly experienced professional reminding us that we are implementing a content management system, not a web publishing tool which comes from the print era, and thus there are many different considerations, and often many of the non-technical ones are overlooked whereas they can prove to be the biggest obstacles.</p> <p><a href="https://twitter.com/NathalieNahai">Day 2 Keynote - Web Psychologist Nathalie Nahai</a></p> <p>I'd seen Nathalie talk before so I must admit I wasn't paying much attention until I saw a question pop up on twitter asking how this session mostly on marketing manipulation techniques was relevant to our community. Nathalie quickly focused on how we could use some of the techniques to help our current community as well as attract new people in by simply telling our story. A well-deserved round of applause came when Nathalie remarked:</p> <p>"This is such a vibrant community it needs to be expressed online much more"</p> <p>This is a big area of interest to me as I see so many wonderful stories from around the Drupal world yet currently the loudest voices being heard are the ones with funding. I've not an issue with that per se, I believe we could do more by collaborating together on strong marketing messaging.</p> <p>I know the DA are doing as much as they can with the resources they have available, however I believe there is a place in the market for an organisation which markets the community as a whole - I envisage trucks that turn into training rooms / 24h coder lounges with schwag stores on board so can rock up to camps all over the place ;) But I guess that's another blog for another time - all I know is I'd love to go round the world interviewing the community for all to see &amp; potentially training many more unexplored areas up in our community values of ownership!</p> <p><a href="https://youtu.be/PZn8o---ce8">Making the Leap: Successful Products as a Web Agency</a></p> <p>Drawing from his own experience with Drupal offsite backup service <a href="https://www.nodesquirrel.com/">NodeSquirrel</a>, <a href="https://twitter.com/dgorton">Drew Gorton</a> from managed hosting service providers <a href="https://pantheon.io/">Pantheon</a> gave an interesting talk covering how quite a few product businesses had managed to make the uncommon successful birth from an agency. Drew provides useful insights I empathise with as I much prefer working in the product world however what with my bootstrapping and co-operative ideals it's taking a little longer than I'd hoped for ;)</p> <p><a href="https://youtu.be/NtpfzhPjnLo">Self-Managing Organizations: Teal is the new Orange</a></p> <p>This was a really interesting session from a company I hadn't heard of before - <a href="https://www.liip.ch/en">Liip</a>. Their organisation is around the 120 people mark and they have a self-organising way of working, with the ratio of pay difference between high and low 3-1. I beleive the company is also owned by the staff however I don't think the percentages were detailed, will have to watch again. They said they had no plans and let teams decide their own projects, strategies, etc. Obviously it's not all plain-sailing and provided a for a great case-study in things going certainly a better way in terms of fairer working environments and enabling human beings to grow rather than be stunted by job roles.</p> <p>I watched a little of <a href="https://www.youtube.com/watch?v=uXVfkzqiOtk">Shut up and take my money!</a> which was about integrating the <a href="https://stripe.com/gb">Stripe</a> payment system with Drupal 8. I've done this previously and nothing much seemed to be different on the Stripe side so moved on - the videos are pouring in quick &amp; fast!</p> <p>I then watched <a href="https://www.youtube.com/watch?v=PqJOM5n1-yM">Expose Drupal with RESTful</a> for a short while until I realised it was 7 so moved on to <a href="https://www.youtube.com/watch?v=vLIvNzO_QRg">PhpStorm for Drupal Development</a> which was a fairly short session clocking in at 15 minutes however very useful, even pointing out a feature which shows you what features you have and haven't been using. I'm no fan of the licensing on PhpStorm but it does make life much easier so will be harder to give up than my macbook but I guess will have to be done at some point if I'm going to achieve complete Freedom!</p> <p><a href="https://youtu.be/EqOOPeodTzc">Headless D8 in HHVM plus Angular.js</a></p> <p>It was noted from the outset that this was a sponsored session from <a href="https://platform.sh/">platform.sh</a> so they would be showing off their product, which I've had the pleasure of playing around with a little on a time-limited trial, however I was suckered in by the buzzwords so I stuck it out. Being at home it was even easier for me to just click the mouse than suffer potential slight embarrasment as I walk out of the session room but in reality that rarely happens and I end up sitting right through the session continually questioning myself as if I were watching the fifth instalment of Jaws wondering wether an incident with a fish will happen at some point.</p> <p>Suffice to say platform.sh works with HHVM and Angular.js. I've nothing against sponsor talks or platform.sh, I think they are both good things, just not this session, for me at least. I guess I wanted to see something shiny, not just a product demo, I feel they could've made a lot more out of the title than they did without having to be so focused on the continual sales pitch. Which I know that's what it was, but felt more like something that should've been out in the exhibit hall. I guess that doesn't get videod and put into the stream though.</p> <p>I started to watch <a href="https://youtu.be/EglfVllpYd4">Altering, Extending, and Enhancing Drupal 8</a> by Joe Shindelar (<a href="https://twitter.com/eojthebrave">@eojthebrave</a>) whom I've had the pleasure of meeting at a number of Drupal events here &amp; in the US. Joe's a great teacher, but for me as I've been playing with Drupal 8 for a while now I decided to skip on, especially when he said "Don't hack core" which is I know the thing, but in Drupal 8 I plan to hack core by simply using its interfaces... it's made for 'hacking' this time. Properly hacking that is of course! I realise this presentation wasn't for me though.</p> <p>Then I watched a little <a href="https://youtu.be/QcU_LCAHNLg">Building amazing searches with Search API</a> but all was looking pretty similar to 7 so thought I'd put that one on the watch when I have a specific need for it list. Then came along a truly awesome session...</p> <p><a href="https://youtu.be/LWdNMhI0MoA">Avoiding and surviving of contribution burnout</a></p> <p>As someone who has suffered from depression I am particularly proud of the fact our community can have sessions that cover topics like this. I feel like I'm coming from a different angle as I'm spending most of my time working out how and where I can be of help and it's the client work if anything that's burning me out due to my complete lack of wanting to do anything other than write beautiful code, and I've not yet met a client who has the want or budget to pay me to do that. Sarcasm aside, burnout is a big issue, and something I have an issue with the business/community balance side as I believe one is currently gaining far more benefit out of the other than there should be and I don't really think it's anything that can't be solved with a more balance put back into the situation. That of course is not to make light of anyone's situation, just how I see the situation from my many travels around camps and to CXO meetups and my experience in the world up until now.</p> <p><a href="https://youtu.be/Zkvoaw6yCcg">Pain Points of Contribution in the Drupal Community</a></p> <p>Along similar veins to the previous session, <a href="https://twitter.com/kalpanagoel">Kalpana Goel</a> delivers another important session trying to untangle the issues surrounding contibuting to the community and how we can potentially go about solving them.</p> <p>Then I watched around half of <a href="https://youtu.be/vwDCgDfiMEk">Hassle-free Hosting and Testing with DevShop &amp; Behat</a> which looks like an interesting, open, option for self-hosting your own sites. Being a little tired I thought I'd come back to that when I'm more awake one weekend.</p> <p>Last one for the day was <a href="https://youtu.be/vtDYXNJkcvM">The future of Groups on Drupal.org</a>, which gave an interesting insight into forthcoming changes on drupal.org, much powered by the persona work done previously, so should be interesting when I log in and tailored content appears for me! It's great to see movement finally here, but I agree with Dries when he said previously it really needs perhaps ten million dollars of investment in it. ATEOTD, if you don't look after your tools you won't be able to make a decent product. It's always been my hope that as we talk about Drupal more, about the Why, and show people around the world what we're building the community will organically scale as people will want to be part of it. I think we have a number of issues in the way of that at the moment - perception, current human fear-driven non-sharing society, and state of internal systems. It's good to see a little focus going on the things we can fix now, hopefully we can scale it up soon so we don't get more fractured across different proprietary community silos just because they're 'easy'.</p> <h2>Wrap-up</h2> <p>Well I may not be in Barcelona but I'm certainly ranting like I'm at DrupalCon, just on the record lol! With all the tweets and session-watching I'm certainly getting DrupalCon tired so signing off for the night, looking forward to the final day of sessions tomorrow with another important keynote and of course looking forward to finding out where next year's European DrupalCon will be - hopefully I'll plan a little better and build a little buffer so I don't miss out!</p> <p>Unfortunately my comments are broken on this site so whilst I'm migrating to Drupal 8, do please tweet me <a href="https://twitter.com/stevepurkiss">@stevepurkiss</a> or get in touch via <a href="http://purkiss.com/contact">my contact form</a>.</p> <p><a href="http://purkiss.com/blog/steve-purkiss/2015/09/25/remote-drupalcon-day-3">Click here to read Remote DrupalCon Day 3</a></p> </div> <div class="field field--name-field-category field--type-entity-reference field--label-inline"> <div class="field--label">Category</div> <div class="field--item"><a href="/category/events" hreflang="en">Events</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline"> <div class="field--label">Tags</div> <div class="field__items"> <div class="field--item"><a href="/tags/drupal" hreflang="en">drupal</a></div> <div class="field--item"><a href="/tags/drupalcon" hreflang="en">DrupalCon</a></div> <div class="field--item"><a href="/tags/drupal-planet" hreflang="en">Drupal Planet</a></div> </div> </div> <section> <h2>Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=30&amp;2=comment&amp;3=comment" token="8wewMAKC0uqsWM0QjaNynVaLnWgPdKnjktil3Z76i3I"></drupal-render-placeholder> </section> <span class="a2a_kit a2a_kit_size_32 addtoany_list" data-a2a-url="https://purkiss.com/blog/steve-purkiss/2015/09/23/remote-drupalcon-day-2" data-a2a-title="Remote DrupalCon - Day 2"><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpurkiss.com%2Fblog%2Fsteve-purkiss%2F2015%2F09%2F23%2Fremote-drupalcon-day-2&amp;title=Remote%20DrupalCon%20-%20Day%202"></a><a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> <a class="a2a_button_google_plus"></a></span> Wed, 23 Sep 2015 22:11:12 +0000 Steve Purkiss 30 at https://purkiss.com https://purkiss.com/blog/steve-purkiss/2015/09/23/remote-drupalcon-day-2#comments Remote DrupalCon - Day 1 https://purkiss.com/blog/steve-purkiss/2015/09/22/remote-drupalcon-day-1 <span>Remote DrupalCon - Day 1</span> <span><span lang="" about="/u/steve-purkiss" typeof="schema:Person" property="schema:name" datatype="">Steve Purkiss</span></span> <span>Tue, 22/09/2015 - 09:07</span> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><h2>Release Drupal 8 and momentum will come</h2> <p><em><strong>“Is Drupal losing momentum? Yes”.</strong></em></p> <p>Not the words I was expecting to hear (<a href="http://purkiss.com/blog/steve-purkiss/2015/08/15/drupalaton-day-zero-drupal-8-shipped-you-didn%E2%80%99t-miss-the-boat-already">happens to me a lot this year</a>) come out of <a href="http://drupal.org/">Drupal</a>’s founder Dries Buytaert as he took to the stage in Barcelona for this year’s European wing of the<a href="http://drupalcon.org/">DrupalCon</a> conference for his regular “Driesnote”, but as I sit here back in rainy England after having to sell my DrupalCon tickets last week I certainly empathised. Dries explains this lull happens every time at this point between major version releases and assures us a big spike will come when Drupal 8 is released, so all we can do at the moment is work as fast as possible to get Drupal 8 out.</p> <h2>Move to a more sustainable release process</h2> <p>Once Drupal 8 is out there Dries suggests using a system of feature branching so that you can always be shippable (<a href="http://buytaert.net/always-be-shippable">http://buytaert.net/always-be-shippable</a>). This seems like a much more sensible approach than the current one, enabling timed releases and adaptability as different features encounter different issues along the way hopefully meaning they won’t have as much impact on each other as they have in the current release cycle so we don’t have to experience this huge effort to get everything working all at the same time going forward.</p> <p>Whilst I think this is a good approach I fear this opening up to a huge amount of functionality being able to potentially go into core as it’s easier to develop, which is where the question of different cores for different uses comes in. There was a blog post a while back about how Drupal could evolve more like Linux has with distributions - personally I see that more attractive than putting all the things in core over time, especially if one of the major focus of our efforts in the future is to be for the non-coders as Dries goes on to cover in his keynote.</p> <h2>Put non-coders first to increase our impact</h2> <p>Dries continues to cover Drupal’s market position, suggesting our focus should now be on the user experience to make it easy to do things with Drupal. There is no point in providing functionality for non-coders if they can’t figure out how to use it so personally I’m glad to see a focus on this, and with the growing community of front-end developers, UX people and other job roles I daren’t guess as I’ll no doubt offend as it’s not my area of expertise - I believe it’ll gradually happen.</p> <p>Whilst WordPress has focused heavily on user experience, Drupal has focused much more on the developer experience. Now we have achieved so much on the developer experience side of things it is time to focus on the user experience, and to cut back from comparing to WordPress as Drupal has moved on much further in terms of technology capabilities and instead to focus on the majority of sites out there which currently have no CMS. By focusing on the usability side it will be much easier for people to see how advanced Drupal is and actually make use out of it themselves instead of being baffled by terminology and ‘Drupalisms’. </p> <h2>Drupal 8 will be the go-to platform for sites and apps</h2> <p>Dries then talks about Drupal’s technological relevance in the future as many other front-end frameworks appear and develop and are certainly here to stay. He outlines the future not as one of a completely de-coupled Drupal as you miss out on a lot of Drupal’s goodness by taking that approach and instead talks about ‘progressive decoupling’ where Drupal is much more integrated into the front-end process. I tend to agree here and put it down to current lack of appreciation of Drupal’s capabilities simply because there are so many, and as Drupal 8 is adopted more I am sure more examples will fuel the interest and we will see some interesting ‘mash-ups’ - if I had unlimited time &amp; funds I’d certainly be hooking up views to my Oculus VR - do feel free to sponsor that one lol!</p> <h2>Other sessions from Day One</h2> <p>Once the keynote had finished I was pleasantly surprised to see the sessions appear almost immediately on youtube, here’s a link to the Drupal Association’s video list where they appear:</p> <h3>DrupalCon Barcelona 2015: The Prenote!</h3> <p>Always a fun kick-off to DrupalCon, always a laugh and a song, watch it if you didn’t get to go along!</p> <h3>Content Strategy for Drupal.org</h3> <p>For a long time now Drupal.org, the online home of the Drupal community, has been maintained mostly by the community however recently thanks to funding more and more is being done to improve the site which is the biggest online Drupal site there is. Tatiana (<a href="http://twitter.com/tvnweb">@tvnweb</a>) who works for the Drupal Association as product owner of drupal.org details the process of the work done so far to categorise the content and uses of drupal.org and covers the current and future developments.</p> <p>The main area of change is around managing of projects which is moving to organic groups and should provide a much more comprehensive way of collaborating online than the current functionality provides. I am certainly enjoying all the improvements which have been regularly appearing of late and am excited about the growth that these changes will hopefully provide by making it easier to see, understand, and become part of the Drupal community, something which has been up until now quite a mystery to many people!</p> <h3>How to diversify your business beyond Drupal</h3> <p>This was a journey through the trials and tribulations of Amazee Labs as they grew into different service offerings and geographical locations - always interesting to hear the issues surrounding business and a lot to be learned from one of Europe’s top Drupal agencies! </p> <h3>Winning and delivering big projects from a small agency perspective</h3> <p>An interesting take on how to approach the business scene from a different angle focusing on your individual strengths as an agile, small business.</p> <h3>Configuration Deployment Best Practices in Drupal 8</h3> <p>If you want to get down-and-dirty with CMI on Drupal 8 then this is the session for you. See how to move config from one environment to another, something which was nigh-on impossible in Drupal 7 so yay to CMI!</p> <h3>Solving Drupal Performance and Scalability Issues</h3> <p>Tine Sørensen, whom I’ve had the pleasure of meeting at a few Drupal events but sadly missing out this time :(, delivers a useful session covering many issues of dealing with performance and scalability from both the technical and human side of things. Often there’s many low-hanging fruit but it’s sometimes hard to get developers to work on them as they want to work on perhaps things which means they can code more like refining sql queries coming out of Drupal. Instead of this, Tine’s approach is to get the low-hanging fruit out of the way then look at the situation again as there’s hidden costs of changing what comes out of Drupal in terms of sustainability. Tine mentions the graphics library GD being one culprit, with ImageMagick being a replacement using much less resources. </p> <p>There’s way too many good bits of information in Tine’s session for me to highlight here so do watch the session as often many of these easy-to-rectify things are overlooked and the blame is put on Drupal for being slow when all it takes is a little tweaking to get it running just fine!</p> <h3>Drupal 8 theming</h3> <p>I thought I’d finish off the day by watching MortenDK’s theming talk. For the first time in a long time I was sitting there wondering what had happened as there seemed to be a calmer Morten presenting - a testament to the work that’s gone into changing how front-end developers work with Drupal and I could empathise with him when he says he now looks at Drupal 8 code with a sense of relief as that’s how it also feels from a back-end developer’s point of view especially if like me you came originally from an object-oriented way of working 15 years ago then had to learn Drupal’s hook system!</p> <h2>Final thoughts</h2> <p>Drupal 8 is a game-changer and I’m excited about the possibilities - especially as the community grows around the world. Meanwhile, it’s back to youtube until I pass out on this no-frills DrupalCon experience - sad to be missing out on all the networking &amp; fun times but sh*t happens, one lives and learns... ;)</p> </div> <div class="field field--name-field-category field--type-entity-reference field--label-inline"> <div class="field--label">Category</div> <div class="field--item"><a href="/category/events" hreflang="en">Events</a></div> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-inline"> <div class="field--label">Tags</div> <div class="field__items"> <div class="field--item"><a href="/tags/drupal" hreflang="en">drupal</a></div> <div class="field--item"><a href="/tags/drupalcon" hreflang="en">DrupalCon</a></div> <div class="field--item"><a href="/tags/drupal-planet" hreflang="en">Drupal Planet</a></div> </div> </div> <section> <h2>Add new comment</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=29&amp;2=comment&amp;3=comment" token="UMnLAd2pwczbhuG_AINUbJsxrKQK2Tp-jz6Pxzped2E"></drupal-render-placeholder> </section> <span class="a2a_kit a2a_kit_size_32 addtoany_list" data-a2a-url="https://purkiss.com/blog/steve-purkiss/2015/09/22/remote-drupalcon-day-1" data-a2a-title="Remote DrupalCon - Day 1"><a class="a2a_dd addtoany_share_save" href="https://www.addtoany.com/share#url=https%3A%2F%2Fpurkiss.com%2Fblog%2Fsteve-purkiss%2F2015%2F09%2F22%2Fremote-drupalcon-day-1&amp;title=Remote%20DrupalCon%20-%20Day%201"></a><a class="a2a_button_facebook"></a> <a class="a2a_button_twitter"></a> <a class="a2a_button_google_plus"></a></span> Tue, 22 Sep 2015 08:07:33 +0000 Steve Purkiss 29 at https://purkiss.com https://purkiss.com/blog/steve-purkiss/2015/09/22/remote-drupalcon-day-1#comments