 Alright, I might just start then. Hi everyone. My name is Shannon Lee and I'm a senior content designer here at Pragma. Thank you Michael and Marge for organising this event. I want to also thank the sponsors, Ironstar, Annex, Jetbrain and of course Pragma for putting on a good spread. Round of applause for our organisers and sponsors. So a little bit about me. I've worked on several website enhancement and redevelopment projects over the years. Namely have done things for the Australian Cyber Security Centre, also the Commonwealth Environmental Water Holder Content Development and more recently the Clean Energy Regulator working on a project at the moment to redesign their website for next year. Also prior to this I worked in a not-for-profit government sector for over ten years as well. So I led the basically Communications and Branding for the Australian Water Partnership which is a DFAT initiative specialising in overseas development aid in the Indo-Pacific region and so I was responsible for developing and maintaining their website communications and branding at that time. So my talk today is about streamlining content operations for Drupal. And I have an Aladdin theme because I feel like gather content is much like Genie from Aladdin. It makes your life so much easier and I believe there's even a Genie here. There you go. So it was Seren Dippity. It was also one of my favourite animations, animated films growing up so I think that all made sense to me and hands anyone who was really into Aladdin as well. Oh good. Excellent. Same era. So like the Genie Gather content is a whole new world of content development and migration that streamlines content ops for Drupal and here at Pragma we've used that across many projects. And content governance, let alone migration is a pretty tricky task as well so you might be thinking if only there was an easier way and there is. So who here has anything to do with developing, migrating or publishing content at all? Yeah, quite a lot of you. Who here has had anything or worked with anyone who has to do that? Okay. Great. So I think I've probably captured the entire audience there almost. So we know that there are many apps and plugins for migrating content to Drupal but today or tonight I'll be focusing more on the high level overview of what Gather content can do and how I've used it with some brief examples of Drupal integration noting that I'm a fairly recent user of Drupal so I started this year. So by the end of the talk though I hope that you will all feel pretty excited and empowered to adopt Gather content for you and your clients because it really is a game changer. So please join me on this journey. So I'll just quickly summarise, I'll go over some traditional tools and workflows then I'll go deeper into Gather content and the benefits of that and I'll touch briefly on the migration to Drupal and then I'll share a couple of tips and tricks I've learned along the way with Drupal and I'll do a quick summary after that. So traditional tools and workflows so much like sand as my friend the genie explains, Microsoft tools are everywhere. The Microsoft ecosystem contains many useful and powerful tools for organisations but there isn't one particular one on its own that manages the entire content life cycle. There's drafting and reviewing in Word docs for example and tracking and spreadsheets, there's communicating via email and through all these different applications it tends to lead to fragmented processes for example all these docs, spreadsheets and emails are a recipe for errors and delays using Word templates is really great for writing and reviewing we all know that and as Sharon pointed out it has some great consistency and design sort of ease with that but it means also you have to migrate everything manually across Drupal as well and you also have to save it somewhere and make sure that you manage file sharing and there's a lot of human error involved. It's also hard to get a really clear overview so there's no sophisticated tracking capability in Word SharePoint and emails for example and you need to track down who's responsible for a piece of content at any one time and there's no really easy way to share progress with stakeholders. There's content bottlenecks and so for example people are unsure of who's action in content in an email chain and attachment or share links and context is buried in email threads and there's filing and versioning control issues happening which can impact your deadlines and there's also tedious content migration so for example you need to manually edit and create content in Word and you need to manually transfer it to Drupal as well. So once again it carries that double handling and a lot of delays but what if you don't have a luxury of gather content or you need some time to get it approved so here's some alternative. I'll give you an example of how I've managed this in Word and so using Word can become as in but you can also do some nifty things with Word developer tools and this helps more with content development rather than migration itself. So this is an example of a template that I've used creating content controls using the developer function in Word. So this is like details for the page, you can put all of this into your Word doc so for example you can put information here for date and all of the things listed here there's some controls around dates and checkboxes and things like that and some structured data as well that you can specify and instructions on how to fill out the template as well so which has information and links to writing and style guides you can put all the information you want in there for Australian government style manual for example organizational guidelines and links to those as well and further on down here I've got a components list as well which maps what page types they can be used on and these will match the component names in Drupal as well so it lists out what page types they're on and also you've got a component builder so this is what options and fields for a component are available what's a required field, character limits, help text, that kind of thing how to fill up the field as well so there's some nifty things that you can select here that ensures that you get that structured content and there's also some repeatable sections as well so for example here clicking on the plus icon in the bottom right adds another heading and body area for an accordion group so they're just some of the things that you could do in Word itself if it's a bit of a hurdle to get to gather content but noting that there's finally also a content area which then you can copy and paste the components into so you can manually copy and pasting across but you're creating the flow of the page at that point so it's pretty helpful for structured content but again it's a manual process of reviewing and approving and migrating and it's a one-way transfer to Drupal as well and be aware that some of your clients may not be okay with the macros and the security issues around that so that's just a note so gather content now I'll show you what your world could be like so why gather content? well it gather content GC for short has powerful content development features it works with Drupal version 7 onwards it's easier to set up and use and it alleviates those issues of those content pain points that I mentioned earlier so this is a headless CMS that uses an API to deliver content based on REST API which means it's a back-end only content management system acts primarily as a content repository and this just shows you what other platforms it currently integrates with it's one platform instead of six tools so we know Office 365 is pretty powerful and it has powerful tools in its ecosystem however to replace this functionality you would have to use Word, Excel, OneDrive, Email and Calendar and throw in Trello as well for that project management in comparison gather content allows you to manage your content operations from draft stage to publish to all from one platform so that will reduce errors and double handling as well and that's all done in GC and then migrated via that API then you have templates and repeatable components as well so it provides those guardrails for creating structured content making it clear to content authors what format content needs to be in and then you can map that to Drupal paragraphs and nodes and so that will save your team time and it will ensure some consistency as well so just zooming in on that as well you can set that fairly easily in gather content and then those are the components that can be reused and repeated and mass updated in one area and then you can embed your content style guide and migration related syntax in your editing environment as well so that all content authors have everything they need at their disposal to ensure that they can follow those consistent guidelines as well it will also offer a collaboration custom workflows as well so it makes it clear what everyone is responsible for and when and you can clearly understand the status from this image here what needs to happen next and across different stakeholders as well and so it's really easy to see that if you've got some production bottlenecks where they are and obviously you can set those deadlines as well and it does some other cool stuff so I think they're pretty self-explanatory I won't go into that in too much detail so a little bit about the gather content Drupal integration that we've been working on currently so this is the current project here while there is an out of the box GC module that works with Drupal it wasn't fit for our purpose so we ended up using a custom migration for our current website redevelopment project so simply put we needed more flexibility with how the content was mapped to Paragraphs in Drupal and so that's just a view of the API configuration there this is an example of what Brynn and the team have been working on this is the configuration area and the plan is to map out the content using simple syntax as shown with the double curly braces start and end tags and these are just some settings for the API and then in the gather content editor view we use those tags to map the pieces of content to the Drupal components there so for example the image and call out tags in there this is just the data mapping screen that's going on behind the scenes so this is a push simple one click push to Drupal and next this is where it ends up in the editor view in the back end so that was the broad strokes of what we've been working on and these are just some simple tips and tricks I don't have a specific screenshot for these because I don't have access to the back ends of these anymore but one for example is flagging errors through formatting rules to help validate content this is something that March set up in a previous project and she just made sure that the WYSIWYG editor could display text as read if there was any heading tags that were also in bold as well so it just made sure it eliminated just excess markup and ensure that accessibility as well that when we were copying content across from documents it was copied across correctly so this is more in a very manual process situation but we found out that was really useful for just ensuring that we had a good efficient and accessible workflow we also, this is something I worked on specifically was adding some help text on the field labels in the back end of Drupal so you can embed your instructions into the back end making sure that it's in context on top of fields again providing somewhat of a guardrail system for those content authors and then again embedding a guideline for content authors in the editor sidebar so this is something again that March helped me with but this also ensured like if you're developing star guides for your content authors you want to make sure that they're referring to them so we found it useful to create that link in the sidebar there so everything again was in context always enforcing that consistency so in summary, it's possible and worthwhile to convince your clients to adopt gather content because we've actually used it for many large federal government organizations already so it provides that rich tapestry of features such as better content governance integrated workflows and structured content that can fast track your content operations and so it really is like a magical carpet ride to a successful website builder enhancement Thank you Thank you, Shannon Questions for Shannon Oh, sorry about that Hello Hi So I used gather content module a couple of years ago and one of the problems we found is that you couldn't save directly to paragraphs and I guess it's similar to the inflexibility that you spoke of so what we had to do is write a custom module so we saved it to a separate content type and then when it saves, it would then create the paragraphs and then save it on the page what did your custom module do to alleviate the issues with paragraphs? Okay We are currently, I am will throw to Bryn so we are currently in the midst of still developing that You don't need to stand up, you don't need to No, I'm not standing up, obviously So, like you said, some of the limitations of the module that it doesn't... Well, it currently does map to paragraphs but gather content has limitations on its end which doesn't allow us to have dynamic page templates of components So we used the curly braces syntax and then we wrote a custom module that grabs the content from the API and using those mapping things that we saw before it allows us to write basically a schema in our module around each component it creates a JSON file with that structured content and then we run a Drupal migration which is also a benefit that the migration the gather content module doesn't have it uses batch processes and not a Drupal migration under the hood How do you reach out to the gather content module to see if some of the changes you've made can be integrated into their code? I think... So I'm planning on writing a migration like a gather content migration source like plug-in but I don't think... like I think that they're different spectrums because like our module requires gather content to have a very particular structure which is... It's not... it's somewhat flexible in the fact that like your content designer gets to decide what components go where but not every single person who uses gather content will want to use it in that way So there are some limitations there but for our purpose it's seemingly work fine Thank you You're up Don't get up It's fine You're really at the stand, aren't you? I was just wondering Last time I used gather content linking between pages wasn't something at least that I figured out at the time like obviously when the content goes into Drupal you want people to be able to click a text link on one page and go through to the other page Can that be done in gather content where you can link one page to another page and how is that then handled when the pages become into Drupal and you need to be linking between Drupal pages Great question You answered the gather content so I'll answer the Drupal Great question, we were just talking about this earlier So this is more Brins territory still Shall I let you explain it relative links? Sure So you can do linking inside of gather content from like the pages in gather content basically our migration runs the import of all the paragraphs and then runs the pages they're all orphaned and then it reruns the linking of all the pages again so it goes and grabs the IDs of every page and then basically that is the ID that's also used to build the page so we can do a reverse lookup of how Drupal mapped that to a node grab the node ID then replace all the links with the node ID Yeah, I've written a custom plugin Yeah It's the only way I can figure it out but I'm not genius so Yeah, you just press a button and it doesn't now so I'm thinking about it So I think the next step will be if there's an alias attached to the node use that instead because we do a database query so we should be able to grab the alias seems a lot normal Very edgy and cool things It's a whole new world Like I said So one thing you can do is you can use the link module use save nodes slash ID and if you have alias it will pick it up automatically because the problem is if you save the alias, the alias might change and then you have a problem Yeah, cool. Thank you Conzer