 Alright, okay. So yeah, this talk is just about Ghost CMS and we architected it, what it is, how it provides benefits to basically everyone in Australia and also how other countries consider taking what we've done for Ghost CMS and use that for ideas with their own governments. So a little bit about me first. So I started off on the Ghost CMS project in professional services. So professional services in Acre is where we're sort of working with our clients to enable them to develop large-sized work with partners as well and we basically help them to put out these large sites and these large platforms. I got on my Drupal.org profile and I have a look at the age on there and it says how long I've been on Drupal.org, almost four years old. So, you know, I'm going to celebrate my fourth birthday soon. Most places online, I use this username here, Typhonius. It's a long story about how I got it or we can talk about later. The key thing about that is that when I invented it, I didn't realize that Typhonius was also a species of toad, which when people Google me, it's really important for me to point out to them, this is me and these are not me. So it's just a little difference there if you Google that word. So SJ explained a little bit about Acre and I'll explain a little bit more about who we are and what we do. So we founded in 2007, again, as SJ says by the founder of Drupal, Dries Weiter. It's a company that as well as hosting, we do product services training and certification. So we've got a bunch of products which are going to be integrating around Drupal as an open source platform to tie in with things like personalization, to work with large content databases, products for CDNs and things. And then also the training and certification aspect. So we work with partners and we work with individual people, individual developers and development teams to upskill them to ensure that they're certified and make sure that we can say with good authority that these people know their Drupal. So right now we're a little over 700 employees globally and that's from 2007 upwards. In this region here, which is of course the only region that matters, we're around 30, a little bit above 30 people and that's sort of a split. So we're a little slither in the pie globally, but we're sort of growing in the region. So when I started about two and a half years ago with the company, we were in another tent and now in the region where we're sort of above 30, which is great. It means I've got more friends to hang out with in Australia and in New Zealand and Singapore. So in the beginning, what is gut-CMS? Gut-CMS is for the service and distribution. So on one hand we've got the distribution side of it, which is a Drupal distribution that we created specifically for the Australian government. So we built upon sort of existing distributions and existing modules, put in a few little bits of our own and we created a distribution that we thought would be great for the requirements of the Australian government. It's a service in such a way that it's a platform. So we provide a platform, a hosted platform, with operational and support SLAs to ensure that all the government sites that come onto the platform will be able to have that sort of security aspect and that sort of maintenance aspect in mind. The other really key thing about it is that it's able to be used by all levels of government. So it's not just federal government, you know, the top tier, it's also state government and local government as well. So anyone who has any kind of government affiliation, we say, yeah, absolutely, jump on the platform. So what has gut-CMS created? So we've got a bunch of these links here. These were provided to me by a counterpart of mine of the Australian Department of Finance. The Australian government is really trying to pioneer a lot of the sort of the open standards and an e-government policy that the rest of the world maybe hasn't quite caught up with yet. So we're sort of looking at the way that the Australian government is putting in standards for, you know, online digital experiences that, you know, as I say, the rest of the world is not quite there. So we're looking at things like responsive, we're looking at things like making sure that sites are accessible and making sure that, you know, people with disabilities, be they, you know, colorblindness or, you know, any other kind of disabilities, are able to actually access these websites in an equal manner to sort of nonhandicap people. So the gut-CMS distribution, right now it's a private distribution, but we're working to open and source it as soon as we can actually. We just need a couple of ticks and a couple of final checks on some of the security aspects of that. And that's something that what we want to do is, as I say, we want to make this an example towards governments around the world. We want to say, here's what we can do, here's our gut-CMS distribution, here is our Drupal code base that is powering the entire Australian government. And you can use it to, you can take it, you can modify it, you can contribute back to it. That's sort of what we're hoping for the gut-CMS distribution. So we're sort of, you know, getting out to people slightly at the moment, just because it's in this private distribution waiting for approval. But eventually we're going to place it on Drupal.org and we're going to place it on GitHub as well so everyone can download and benefit from it, just in the same way that they do from Drupal Core and the Drupal contract modules. We will be regularly updating it, so we're going to be managing that code base with the help of our partners. So when security updates come out, we'll be proactively making sure that they're ready. And, you know, feature enhancements, whatever different government departments come along and they say, well, I think we'd like an event calendar or we'd like, you know, this other kind of feature. That will get pushed back into the main repository. The aim there being that it's sort of like an upstream repository that anyone can then pull from. So if you have, say, a government department in another country who says, well, I like what Australia's doing, I'll use their code base, they're able to get the benefits of that as well. So talking about a government reuse and talking about, you know, the sort of recycling of code and the recycling of ideas. So there's this little quote here that, as I said, my counterpart put together for me to say, you know, principle three is to have a government open source policy. Basically, leverage what is already provided for us before building our own thing. So we're leveraging what's provided to us by the Drupal community and that being Drupal Core and all those contract modules. And we're sort of then making that available to all the government. The other thing is that in a lot of government departments as they currently exist, they kind of go it alone. They say, right, well, we need an event calendar and we need the ability to sign up to these events and we need the ability to change the colour of our header. And then another government department comes along and they have those exact same three requirements. But because they don't necessarily talk to each other and they have their own internal development teams, they act in a siloed way, doing the same job, you know, doing those same code tasks and giving pretty much the same result. So by having an entire platform for the entirety of government, when one department says we'd like the ability to change the colour of our header, that code can get put into the repository and then suddenly it's available for everyone else. So there's not this sort of need to go it alone for everyone. Everyone is going to be benefiting from the developments of everyone else. So how do agencies get on with GovCMAS? So right now what they do is they speak for the Department of Finance and they speak to accurate and we work out to see whether they're a fit for GovCMAS because the last thing we want to do is we don't want to put someone on a platform who would be a good fit for it. And much in the same way that when you're selling Drupal, when you're sort of saying, you know, here's Drupal, here's an option for you. You want to make sure that the requirements that the companies you're working with, the requirements they have are going to be a good fit for Drupal because otherwise, you know, you're misselling and they're going to have a terrible experience and they're never going to want to use Drupal again. So we want to make sure that when entities, government entities come on, they're going to be a good fit for GovCMAS. And for those that wouldn't be a good fit for GovCMAS, we say, well, GovCMAS isn't really a good fit for you because you have all of these complex integrations with all of these other things. So let's work out how Drupal can best serve you there. One of our aims actually is to have GovCMAS being the GovCMAS distribution as a base distribution for any of these other government agencies. So they're still able to pull in those changes and then maybe at some point later on, they're able to come back into GovCMAS. And I'll show a little bit about the work of those sort of sites. So the problem, the problem that we're looking to solve with this, government online, a few questions. So at Singapore, this is an open question. How easy is it as a government website? Is it a good experience? Is it something which you necessarily enjoy doing? I mean, yes or no? I think they're pretty good. They're pretty good? Oh, is that joy using it? It works. So this is the question that I asked in Canberra because you know, Canberra being very government centric, how many people are working for a government department and who's satisfied with the development or authoring experience? Does anyone here actually work for a government department who work in any Drupal position there? You've got like a lot of raised hands in Canberra being the centre of government, the sea of government. And then when I asked the question about who's satisfied with the development or authoring experience, a lot of those hands went down because some were using Drupal, some weren't. But whether it was a case of training, whether it was a case of just the entire site experience, it wasn't something which they were, they were sort of happy with, they were sort of variable. So what we wanted to do is we wanted to take the sort of hints that had been given to us from other places in the world. We wanted to take Whitehouse.gov, which is on Drupal. It's open source. We wanted to take Gov.uk, which is written in Ruby, and it's again, it's open source. We took a look at these sites and that's sort of an entire all-government platform. And this one here, Whitehouse.gov and Petitions.Whitehouse.gov, it's sort of the Whitehouse front page and also the Whitehouse Petitions website. We looked at these and we thought, all right, well, they've done a great job for their respective countries, putting state in the ground and saying, we're all in on open source. We're all in on Drupal, we're all in open source and Ruby. We wanted to say, we're going to do the same for Australia, but we're going to do that better. We're going to make it so it's a simple platform for people to get on. It's a simple thing that the government departments can say, all right, yep, I'll do this. And they get on with a far less of a barrier to entry. So let's talk about these patterns. So this guy here is a guy called John Sheridan and he's the CIO, I think, or CTO of the entire Australian government. So a lot of the decisions that procure them and a lot of the sort of decisions that are open source and cloud and Drupal, they sort of go through him and stem from him. He had this idea of patterns. So GovCMS patterns. Pattern one is GovCMS out of the box. So we take our GovCMS distribution, we look at all the things it provides. The government department comes on to us and they say, we'd like to go on GovCMS and we say, what are your requirements? And they're a one-to-one match. So that's a pattern one side. A pattern two side is in this sort of transitionary state as the platform evolves to meet those requirements. And that being, you know, this, here's our GovCMS distribution with sort of the features and functionalities as it has. And then we've got this other side over here that matches 99% but the one thing that they want isn't in GovCMS. And we work with them to advance the platform to get them in to become one of those pattern one sides. And then there's that pattern three example that I explained earlier, which is just a completely custom thing. Again, we're hoping to leverage the GovCMS distribution, the PHP code base underlying the websites. So they're able to keep drawing on that experience, keep drawing on that code reuse. But they're sort of able to put in more complex integrations that might not be a good fit for GovCMS. So here's sort of that in graphical form. So GovCMS, let's say version 1.0, a pattern one site would fit straight into that. Pattern two, you know, at some point in the future when we release 1.1, that's maybe where a pattern two site could be. And then pattern three is just this sort of completely custom build with the hope that at some point in the future at some version we can say, well, now our requirements match up. Come back in, come onto the platform. So I'm going to talk about the technical bits. Technical is me being very professional as a technical person with GovCMS. So how do we get many departments onto the one GovCMS? So there's all of these different departments, local, state, federal, and then the single platform with the single code base. So one code base, many databases, basically a very, very large multi-site that will power every single one, every single government department. So our solution for this, this is one of our one of our sort of products that we provide is the Acquirefied Site Factory. We've used Acquirefied Site Factory for a number of other clients that we have. So Warner Music is a great example of that whereby they have one code base and then each website, each of the sort of, you know, artist websites that they have, whether that's Bruno Mars or Lady Gaga or David Bowie, you can look their sites up. Justin Bieber, don't look his site up. You can look at their sites and they all look completely different. But underneath, they're all running on the same code base. So it's all, you know, one single Drupal code base and all of these sites are running on that, even though they're aggressively different. So the site factory itself, what does it simplify as multi-site? So you know in a typical multi-site how you'd have to sort of, you know, create those directories and make sure all the databases were mapped to each other. This does that all automatically. So the creation of a site is now a button, you know, whoever the client is, whoever has the site factory, they click a button and there's like a new site. The site gets spun up with the same code base, with a new database, sometimes optionally if they want, with a template of, you know, a bunch of, a bunch of sort of, you know, layouts and themes and everything built into it. And then it's ready to go. It's ready to be developed on if they need to. It's ready to have, you know, additional views and panels and things placed in there if they need to. And it's ready to most importantly have content put in there. So yeah, as I say, granular access between on-sites and groups, which means that one agency could have say one or many. So, you know, a department with many public-facing websites might want to have, you know, a huge number of sites on the platform, or a small government department might just put one on. Each of these were able to control granularly access, except put granular access controls in place. So each site has their own administration team, each site has their own content editing team and all of them from the outside look like different sites. Yeah, I mentioned site duplication as well. So, you know, if you see a site that you like, you can say I want a copy of that and I'll build on that. So we have a bunch of template sites as well. One for a minister, one for sort of a ministry blog, one for a portfolio site, one for sort of a brochure site. The aim of all of this being we're going to be reducing the time that it takes the government departments to actually come online to have that responsive theme, to have all of those access controls in place so we have a site that's ready to go, ready to put content in. So tooling, all of the open source tools that we use to put GovCMS together, this is just a few of them, a few sort of other things that I'm sure we've added on since. Here that being obviously Drupal, so that's going to be our code base, that's where everything is stored. We actually utilize Drushmake, so we don't have a fully built code base for GovCMS. We have a very small lean Drushmake file to do all the importance of all of the modules. So the code base itself is very small, very lean. Thing is sort of our conductor that runs through everything when we build things. So it runs Drushmake, it runs all of our testing, it runs all of our integration with distributions and pushing it out to Drupal.org and pushing it out together. Composer, we obviously use a bunch of sort of dependencies of Composer with things like Thing, with things like PHPCS. PHPCS, we make sure that when we have new code on the site, when we're making new amendments, when we're making changes to the code or changes to the build script, that all of that is passing muster, but all of that is it's good code that obeys Drupal coding standards and PHP coding standards. Behat is something which I'll explain a little bit, it's behavioural testing because when we push out new code and we add new features, we don't have to cause a regression to any of our other sites. So we use this behavioural testing to go out and make sure that the updates that we have on the site, the new code that exists, won't affect any of the existing sites on the platform. Gets our version control and then TravisCI is what we use to basically run our builds and do all our testing automatically. So we fire our code off to Travis and then TravisCI that comes back with a big thumbs up or a thumbs down to say this code passes tests doesn't pass tests, don't merge it and all of that is managed in Github. So we do a pull request based workflow where new code comes in and does all the automated tests. As I'll say, all of this will be open sourced soon. Probably, I don't really want to put a date on it, but hopefully soon we're just sort of waiting for that sort of final testing to go through. So a little bit of a talk about the ghost CMS architecture. So down here on our base platform, this is the Acroplied Site Factory. So this is all the additional components to the Acroplied Enterprise. So the managed platform that we have that includes all of our SLAs our 24-7 monitoring and operations team, we're sort of building on top of that to provide that easy multi-site interface. The ghost CMS distribution itself, we took Drupal, we took an existing government distribution called AGOV, we took a few ideas from AGOV, and then we placed it into our ghost CMS distribution. On top of that, we're using a lot of ghost CMS modules that we've developed to say these things are useful for government, these are the kind of features and functionalities that government departments will want and then of course contract modules. We're going to be wanting things like views, we're going to be wanting things like displays, so all of these things are packaging together to build the ghost CMS platform which sort of comprises of both platform and then code based on top of that. So here's our funky get work flow where we pull sort of things in and push things out and everything. As I say, when we created the initial ghost CMS build, we took a little bit of AGOV, which was the sort of the old government distribution that we drew influence from, which is Drupal Core and Drupal Contra, and then pushed that out to the ghost CMS site factory. And also, if there's pattern 3 custom builds wanting that's where we say, okay, we'll push that out to you as well. Take advantage of this code base that we've created, pull that into sort of your other your other platforms where you need it. So our patch work flow. So when government departments come to us and they say, oh my god, there's a security bug fix release, how do we deal with this? This is something we obviously had to prepare for and we obviously had to some say, it's okay, we've got this in hand, this is how our security workflow happens. So as you know, if you're signed up to those emails that ping you at about 2am every Thursday to say all of these modules here need updates, we get a loss. And because we have the 24-7 remote administration team who are ready to make those hot fixes to our websites and make hot fixes to anyone on our platform for Drupal Core and Drupal Contra, that goes out to them and they go and fix that up for the GovCMS platform. So that's what goes into GovCMS is our GovCMS distribution. Normally our patch workflow would go through a governance procedure whereby we'd speak to the government and we'd say, here are some patches, here are some things that we'd like to add to the platform. We analyse requirements and we decide whether it's a good fit for GovCMS. For security patches we actually bypass that. We go straight to put in the patch because they're wanting a really short SLI on that. So we bypass that procedure and we'd put in that patch to fix any security requirement. And that's sort of where the Acria IRA team comes in. Again, because some people, some government agencies aren't hosting on site factory. You know, it's open source code so they're free to take it away, host it internally, host it wherever they want. They're sort of able to pull the latest GovCMS code base down for themselves. Unfortunately, they're not taking advantage of the Acria IRA because they might be hosting themselves. But they're taking that build GovCMS code base and putting that to work on your own platform obviously with your own development themes and things. So who's over there saying there's a module for that? Drupal saying where you say, well I need this thing. It does this, it does this, it doesn't do this. You go, oh there's a module for that. It's on Drupal Contrib. It's this module here. How do we sort of rationalise there's a module for that, for GovCMS? Because if we go to 200 different government departments and we say we've got this website platform what do you want for it? There's a huge chance that everyone's going to come up with all of these different requirements that would, you know, if we let it happen, would cause the GovCMS code base to get bigger and bigger and bigger and eventually we'd have, you know, 700 modules on that with this big unwieldy beast that we then can't continue to maintain. So our idea around this is that we're going to work with each of the government departments on board. Anyone that doesn't just want the pattern 1, you know, the 100% match for requirements anyone that wants anything additional we're going to work through their requirements with them and see if we can either, firstly work their requirements into the existing GovCMS code, i.e. we don't change the code at all, but we change the way that their Drupal site operates to accommodate them. An example of this would be, you know, using things like Display Suite in a really creative manner to put out, you know, different templating things. Rather than create our own custom module that would do these custom templates, we use things like Display Suite and other modules that exist in Contra to do that for us. The other thing that we have to do is we have to, you know, ensure that the platform itself as a whole is well catered for. The other thing that we have to do is ensure that the platform itself as a whole is well catered for. So we don't necessarily just think on a site-by-site basis whereby each site is their own thing and we'll work out the requirements for them. We need to evaluate the functionality for the platform. We need to make sure that anything that we're adding to the entire platform is going to be beneficial to that entire platform. What that requires is for us to keep the code basically in. So all of those modules that were important, you know, Drosh Makefile, we need to make sure that those things then are going to be beneficial to the entire platform. We don't want to be re-creating the wheel. We don't want to be sort of creating custom modules where Contra for that already exists. We don't, similarly, we don't want to be creating any custom modules or importing Contra modules where we can manage the functionality of that within the existing codebase. What this means by keeping this codebase lean, by keeping the amount of modules in GOTCMS small is any kind of changes that we make to the codebase are smaller still. You know, we don't have to access thousands of different sites for all these different permutations of modules because we've got a very small lean codebase. We're still leveraging the community so we're not, you know, going off on our own creating all these custom modules and not abiding by that first principle that I mentioned way earlier on about reusing existing code and reusing what other people have already developed for us. And we're remembering what brought us here. We're remembering that, you know, right now as people who work in Drupal, work in the Drupal industry, you know, the whole idea of, you know, coming for code and sharing code and being open source about that, we're sticking to that. And we're saying, all right, well, I see how Contra has used code. Let's use that. Oh, they need a patch here. Well, let's patch that back in the community and then we'll draw on that rather than going down our own roads. We're working very closely with the community there. So, talking about testing again and talking about what happens when we deploy new versions of the GOTCMS codebase, what happens when we're looking to patch a codebase. We check our code to make sure that it's syntactically correct. The last thing we want to do is roll out a new release that has a missing semi-con on. You know, we don't want to have any kind of PHP errors that could potentially take down the entire platform. So we run everything through syntax checking to make sure that there's no very basic syntax errors. And again, you know, there's TravisCI that will go through and run all of those tests and, you know, report back whether it was a good or a bad result, whether it passed the syntax checking. We use PHP CSS to do our Drupal coding standards. We hold ourselves to a really high regard for the GOTCMS codebase. So any new custom code that we put in, we're going to want to make sure that it's going to be abiding by every single one of the Drupal coding standards because we're going to open source this. We're going to let everyone see it. So if we have horrible code in there, it's not going to really look very well. Not really going to look very good for us. And similarly, if other people download that code and then we're helping it, for me personally when I read off people's code, and it's not too intense and too intense in a space here, it's absolutely horrible to read. I need to sort of reformat it before I can read it properly. So what we're doing is we're making that easier for other developers to easily get onboarded onto the platform to work with GOTCMS. We also analyze it for psychometric complexity. So we use a tool called, I think it's PHP-ND. What that does is it makes sure that you haven't got, you know, 17 nested if loops with lots and lots of different permutations and options. And that you have a nice clean code that won't be complex. You know, it's got to be simple functional code. For behavioral testing, we use BAHAT. And I'll quickly touch on BAHAT right now. Strupal, who's heard of BAHAT? So this is a BAHAT test. This is the test language that you would write. The idea of this being that decision makers and business owners alike, product managers, project, you know, program directors as well as developers are able to write tests for the site. So this one here, so we have a GOTCMS Google Analytics code that goes out in addition to any site specific Google Analytics code. What this allows us to do is specify that okay, well these 20 sites, these 30 sites, these 40 sites are now on the platform. So we'll get that number going up in terms of page use for not only the individual sites for the entire platform as a whole. Again, analytics for the entire platform. So here's our feature. The feature goes, okay, this is our feature title. We're going to do GOTCMS Google Analytics. Our scenario just a code comment essentially. Check that the GA markup appears. Given I go to the home page, so BAHAT will go to the home page off the website, then the response should contain UA123123. What that one there simply does is it takes a look at the entire response, the entire markup and we ensure these letters here in that order appear on the page. Similarly, we can check things like 403 pages. We can make sure that if someone tries to go to admin slash config, it's a 403 error is returns permission denied. We can log into the website. We can create new users. We can post content or testing to make sure that the WYSIWY is there, to make sure that the media library exists, to make sure that the pictures exist and all of these are going to be written by, they don't have to be written by technical people, they can be written by non-technical people. This language is very simple. You can say well here is a list of all the things you can do. Given I go to the response should contain given I log in as, given I log out that kind of thing. It should be fairly easy to put together a test. You don't need to know any of the technical language. You don't need to learn PHP or anything. It's just a very simple, I think it's called kupungulge in some sense. It's this very simple syntax here. So the benefits of GoCMess. Benefits to agencies, and this is something I touched on a little bit earlier. It's this lengthy procurement procedure. So, probably quite similar to regular companies and other sort of government departments around the world. When an option to change the way things currently are running happens. When there's that option to say change the website or go for a new provider for something. The agency has to go through a procurement procedure where they put out a tender, they, you know, evaluate responses and then they choose who they go for. Because the Department of Finance did this already, they did this last year, they put out a large tender and they said well, we'd like to do, you know, we'd like one GoCMess place and they chose actually to be the tenderer. They've already gone through that procurement procedure so other agencies can leverage that, that sort of procurement procedure being passed and, you know, have a zero time procurement. They sign a memorandum of understanding with the Department of Finance and then they can instantly jump on to the GoCMess platform. So there's no sort of waiting around, responding to tenders, writing big lengthy questions. Similarly, there's no security requirements to be evaluated. GoCMess is evaluated as IRAP assessed and, you know, we've assessed ourselves against the ISN, which are Australian security requirements similar to kind of FedRAMP in the US. I don't really know what the security requirements are or the security procedures are in Singapore. But again, a similar kind of thing where every government department says, well we need to be assessed to this level to make sure that our website is safe in the public cloud. What that has the effect of doing is it increases the agility. So we're managing the code base and the platform is being managed. Then the ability to put out content, you know, it happens a lot quicker. And similarly, because we're on that GoCMess platform they don't have to worry about, you know, waking up at 2 am to do a security release. They don't need to worry that, you know, someone's going to have problems with the site or someone's going to be complaining to them and they need to sort of answer their questions. Because our global support and operations team are the ones who are covering the GoCMess platform and the GoCMess code base. So this is a benefit to Australian residents. I say residents, not citizens because I'm not a citizen of Australia. So I call myself a resident because I live there but I'm not a citizen yet. It's this familiarity aspect. You know, if I'm working on or visiting any government website the idea would be that you know, I've given a very similar site experience for any site. That's not necessarily the look and feel because that can change drastically but it's almost the experience that comes with being on a government website. This rapid integration and development of the sites this means that there's sort of less time taken to improve those sites. So there's no more waiting around for months or years to have a new iteration of the Department of Communications website. They can do it and they just did it in about four months. They just released their version last week. Those savings are then hopefully going to be passed on. So there's no long lengthy procurement procedure. There's no sort of, you know, lots of money reinventing the wheel for every different government department. All of that savings will hopefully be passed on to the residents of the country. Benefits to government employees. So we've got a lot of sort of people, a lot of contacts within government who, you know, Drupal developers or site maintainers and things. Because it's open source, they have full freedom to contribute if they want to. If they have a particular, a particular sort of need they want to drive, they're absolutely free to do that. It's not a process that is made behind closed doors. It's all open. It's all on Drupal.org and GitHub. It's going to be open for them to contribute to if they want. They're able to then use agile and use sort of modern PHP tooling which will increase their own skill set and make them into better developers. Similarly, that will help with their transferable so they can say, well, I've worked on a GovCMS website for the last year. They can go to any other government department who's also on GovCMS and it's relevant experience. It needs to be a relevant developer experience. And also it's just good to contribute to open source because it's something that you can feel good about yourself doing. So benefits to the Drupal community. As I said earlier, it provides a flagship Drupal example, much like the White House site, much like, you know, Gov.uk being flagships for those particular countries. GovCMS is a flagship for Drupal in Australia, a flagship for government in Drupal around the world. It's this example that we're setting to say, look, there's, you know, these concerns you have over security, these concerns you have over, you know, hosting websites in public cloud, these concerns you have over open source. The Australian government has said that we're fine to do that. So what's your problem? Where's sort of the issue that you have with Drupal in public cloud when the entire government has said we're getting behind this? There's a mandate to contribute enhancements so that the guy that we saw earlier, John Sheridan one of his sort of key tenants is that any kind of contributions to GovCMS, any kind of improvement to the entire platform should then be donated back to the community. So we're not going to be working on our own over here and not sharing anything back. We're going to be working here, making sure that, you know, this is going to work for GovCMS and then we'll push that back into the community. If we need to patch rules module, if we need to patch feeds module we'll do that and then we'll push that code back into the community to make sure that again, we're not the only ones benefiting other people benefiting from our enhancements as well. We're increasing skills for developers in Australia so it's going to be those government departments those partners that we have who are developing those sites and that becomes a stake in the ground worldwide. So I know that Singapore has done a sort of similar thing with government and, you know, a platform for sites to go on. What we're saying is this is how we're doing it in Australia. This is our Drupal platform. This is our solution to lots and lots of sites being brought, you know, head first into the 21st century. Feel free to copy. Let's chat about this. Let's help you to achieve your own. So I'll give you these two links here and these are things which I can sort of provide on external channels as well. These are the two places where we're going to be providing this. These are already both set up. There's just no code there yet. So we've got a CMS GitHub project and then we've got a CMS Drupal developer project. They're both sort of ready to have the code placed on top. These things here are the links that were sort of referenced earlier on in the beginning slides. And then this is all of my information and any questions. So I don't have a government but I have a company how relevant would a CMS be if I wanted to structure internal company sites where there are procedures and things like that? Sure, absolutely. So would it be like a multi many sites on one platform? Would it just be one site and you're just asking about the governance of that particular site? I guess I'm asking what kind of features that could be applicable to a corporation or to a company that's on Gov CMS? Well in terms of the governance procedure of that all the Australian government are really benefitting from that is having this very structured procedure in which new code gets added to the codebase. This procedure where Acre is vetting all the code is security checking all the code and other people who are merging that code in. It's also that experience where we can say that whole keeping the codebase lean idea that this code is going to be good for the platform. So it's having a trusted advisor or whether that's a company that you're engaging with it's that knowledge that they know we're going to hand over the governance to you and we're going to work with you to say we need these features and you can be that advisor that says these features are not a good fit so let's put them to the side let's bring these ones in and let's use these solutions to I think it's made my question maybe more Ken can I rent Gov CMS alone on my own server? Or do I need to subscribe to some service? No, no Gov CMS is it's essentially Drupal plus other things Gov CMS itself consists of both code and platform so it's not just the distribution so the distribution is just the codebase which anyone is free to download and use on their own platform in the server in their basement on their mobile phone if they run Linux on there or whatever Gov CMS platform is the one that provides security and assurance 24-7 monitoring the proactive support and operations and sort of everything else encompassing that the governance procedure is what sits in front of the codebase so anyone actually using the codebase and keeping the codebase up to date is still benefiting from that governance even if they don't have an active stake in that Is it used for when you say government websites will it also be used for example to do passport applications make appointments with government agencies is it used for those sort of things as well so what we're very aware of is Drupal placing things so a lot of people this whole there's a module for Drupal to do anything we're kind of very acutely aware that if you try and tear Drupal in all of these different ways and that leads to a bad experience because something like passport applications when you need to have super super secure storage and data processing and transmission of very very personal information or even things like apps for things Drupal may not be the best case there and certainly the Gov CMS distribution the Gov CMS platform what the idea was there is it would be for publicly rated websites so non secure non top secret just publicly available websites the idea being that we're not trying to do everything because if we try and do everything we don't do everything badly if we try and make a very secure application for doing passports, driver's licenses or births or deaths or marriages or anything which is very personal information at the same time as doing say the village fate for our local council is on over here if we try and do all of those things at once then we're going to spread ourselves too thin and we're not going to be able to provide a really quality platform with good code governance and a good sort of user experience so for us what we're focusing on in Gov CMS is publicly available information so non person identifiable information essentially for anonymous users obviously there's going to be a huge amount of content and content editing and authoring going on underneath because that's what the government departments are doing they're putting out all of this content engaging with their users but it's not going to be for people to enter their passport numbers or their social security or that kind of thing so what's the number of custom modules? the number of custom modules a lot of them to be honest are features so we're heavily using features so when a I need to double check the exact number but I think in total we're about core contrary custom features like 150 or something the end of the features being that a user signs up to Gov CMS when they come onto the platform or when they download the code base for themselves and install it on their laptop or on their own server or in their basin or whatever then they can enable a bunch of features and just have news and events and calendars and everything automatically done for them so in this 100% module do you have one single key for these sites? this new functionality is going to be a custom module or it's going to be a quick of an existing module so if it's so go back to those patterns and things if it's a pattern one site then there's no gatekeeper involved because it's just we'll use the code base and we'll use whatever's on the code base we'll manage our Drupal site and we'll be the site builders if it's a pattern two site where we need to increase the code base we need to level up that code base and put in more functionality and more features for the sites requirements to be matched one to one then we have Acquia and government gatekeepers to ensure that the code that's being used is relevant and worthwhile good quality code and that it will be a benefit to the entire platform so the conversation first starts off non-technically so we said to the government well this agency would like this functionality would that be a good fit for GovSIMS and we chat as Acquia to the Department of Finance and we make sure that this is going to be a benefit to the entire platform and then it goes over to the technical team which is myself and it's a few other people in the region who I can name one and a half hams we discuss the best solution for that bearing in mind we're trying to keep the code base lean we're not trying to add all of these modules all at once we might be extending a feature or something we might be patching one of our existing modules or we might be extending a contrary module and passing those contributions back so we act as the technical advisor and gatekeepers to that code base but it's not to stop other people from contributing you know when it goes public we expect people will be putting in patches putting in ideas, putting in issues and there will be the ones to assist and help those people develop their ideas into things that will fit into the GovSIMS code base there's an info that I've probably kind of missed out in the diagram there's a mentioning about aglof can you explain a bit about aglof specific so initially a few years ago a company called Previous Next made a dribble distribution called agov Australian government kind of thing what we did on top of that is we saw what kind of idea that was and we said well this is something which government has used already it's a great state in the ground for government let's build on that so we took elements of agov and we took elements of our own development our own design and we made that into the GovSIMS distribution so there's sort of the the base building blocks that we used to create the GovSIMS distribution bits of that are from agov because it itself is a dribble distribution so you know again we're using this whole idea of not rebuilding completely from scratch but taking advantage of things that are already provided to us by the community so essentially it's also made a dribble distribution it is yeah so agov was another dribble distribution so just the code base whereas GovSIMS is the code base so we built on top of that agov agov framework using GovSIMS modules, GovSIMS features and things and then we're putting it on a GovSIMS platform so it's also the hosted solution that's GovSIMS, hosted solution support, operations, monitoring, security patching, remote administration so it's run out of battery anyway, any other questions? I have some questions regarding testing what's the experience we've had so far? pretty good, actually pretty good then so we wrote a couple of integrations with Drush so there's an integration with Drush and there's an integration that we wrote with something else basically the Drush integration allows people to log into websites using the app given I log in as a content editor given I log in as an authenticated user so it's pretty good, we've also extended the basic app classes to be more more sort of relevant to a Drupal site because the app isn't a Drupal specific testing framework, it's sort of a fairly open testing framework that can be hit on any site so we've sort of taken that and extended it for Drupal and GovSIMS are there any errors that had me capture using the app but not really capture by a single test? so it's mainly going to be things like why don't we have a thing about this? there's things like the example you showed you about the the G8 that could be done with a simple test my question back to you is how easy is it to write a simple test test even I don't find it easy I think simple test is pretty difficult pretty tedious and it's not it's not something that we want to say to our government departments oh if you want to test, just use simple test because simple test itself is a very specific Drupal thing it's not even a PHP thing, it's a very specific Drupal thing so we're trying to upskill people in general Drupal general PHP, general best practices then using something like Behat is going to be going to be sort of more advantageous to developers and people who are contributing because it's then transferable to other projects like Drupal 8 using Behat as well by default other PHP frameworks again using Behat as a testing framework for Behat probably more common as well yeah exactly so it's not a very specific thing like simple test yeah simple test can go die but Behat can't do everything a simple test can well that's a good question I mean off the top of my head I can't think of anything it can't do but there's so many things that simple test can do you know with Behat could also do as well it can submit forms, it can log into your site all the basic stuff what it essentially does is it mimics a user so it mimics the user on the front end given I click this button given I cite these options given that kind of thing whereas simple test does it in a very similar way but it just does it at a PHP level it just goes take these boxes and then run, form, submit and so on last question on testing I don't think Behat actually does physical regression test do you guys do any physical regression how do you mean say because chances are if let's say both the code base is really developed using best practices chances are there won't be any simple test on Behat testing build but there are actually bigger chance that for example CSS change or even in the new module version change a little bit of the template structure then change the HTML structure that's interesting and I didn't put on so we're trying something called FANTOM FANTOM.js and we're using a thing but I think it was the BBC developed RAFE where what that does is it goes the way and then you can give it a margin of error so you can say if this differs by 5% fail test so we can take two pages and if the CSS changes such that you know that circle that you had here is now here it will look at those it will do a comparative analysis and it will say this is different by more than our torrents fail that test sometimes we'll want it we'll say okay it failed but that's fine because we did change the CSS on purpose but if it's the case where say a module has changed to CSS or Drupal Core in such a way that with the way that we've laid things out then that comes into play and we can have a look at those screenshots and say oh yeah let's work on that let's see what actually changed so yeah that's a good place where simple test on behalf would not be able to bring that up Is there a building inside the distribution as well? What we're doing is we're working on a sort of a separate one in a separate distribution a separate sort of GitHub project so we can then sort of find that out at all of our CSS sites but if actually the game is to bring that in and make that available Thanks Thank you Alright, thank you Thank you We have some hot sauce questions You know that would be our community right? Put on this For the room Okay so as you all know we are a community and then of course the community what we all want is to improve make sure that we do because there's a lot of future events and all that as well as any other activities so actually I'll share this link with you all it's actually a survey that we have prepared to solicit feedback from the community so if you all can spend sometimes 5 minutes and then you can see how the survey looks like so you can shop to help us provide some feedback about yourself, your needs, your challenges that's what how do you think about the community so far the things that we've been doing so from that we'll play it right? I'm just going to leave this here for the next few minutes while you're level and all that that's all okay thank you there's still a little bit of feedback there's some things as well feel free to just mingle around I think after this session some people that I have some years as well okay thank you everyone for coming thanks everyone