 Hi everyone, welcome to our talk Drupal at scale at the Australian National University First we would like to acknowledge the Gadigal of the Eora nation The traditional custodians of this land and pay our respects to the elders both past present and future Also, we want to give a big thanks To the Drupal South team for organizing another awesome event that we always looked at 10th year after year to the Drupal core and contributed module maintainers whose passion for open source enables our projects and helps our progress and To my team years some undra and honk for turning ambitions into reality My name is Dimitri. I started working with Drupal in 2008 when I tried to speed up the development of my computer science degree project then I work as a freelancer for several years and In 2013 I decided to migrate to Australia to start a career as a business analyst, but at the end I follow my passion and join the ANU to do what I love the most building websites in Drupal for units You know, it's actually funny that in our Kemper bubble sometimes we forget that not everyone knows what ANU is So it's very important to start this talk with a small Introduction about ANU because only 60% of us is actually know what ANU is So located in Kemper since 1946 ANU is the only National University of Australia It has a huge history and heritage And made a lot of contributions to research education and policy The community has now 70,000 students and 4500 staff members There are some notable members of politics graduated from ANU and There are six noble laureates ANU was one of the first institutions in Australia to use the internet which was in the 80s It was mostly for research purposes and Around around mid 90s. There was already 100 websites around the university believe it or not ANU has managed its web in a decentralized manner since the beginning there is a central web team that takes care of the central website and There are web teams in each of the faculties or colleges that Do web development maintenance support services for those websites? But they need to follow the branding and security guidelines mandated by the central team Our web team is for people and we do in-house web development maintenance and support services for the faculty of science and faculty of health and medicine The services that we provide have skyrocketed since I joined the University in 2013 for example the number of sites has almost doubled The number of web editors and web pages has increased five times The number of health desk support tickets has been increasing steadily The websites have become the main source to promote degree projects degrees projects news events and enable collaboration across the university In terms of Drupal upgrades with migrated 10 websites to Drupal 10 and we still have 30 to go This has been delayed by the rapid release of new Drupal versions as you know and We've been waiting for some contributed modules to become available to be able to migrate them all So how you survive in this evolving landscape where you have lots of Support tickets from clients. You have a high number of websites so we've put in a strong emphasis on Sustainable growth, which means we are standardizing our content architecture templates site configurations But we also try to keep things flexible for customers Because they have lots of requests as you as you're probably familiar with and we are also putting as a strong emphasis on team culture barring by incorporating agile philosophy and Practices, so that also has a direct impact on our services and keep the team motivated Our latest Drupal 10 platform has around 40 content types which have evolved over 15 years we We've tried to make them as generic as possible So to respond to a variety of customer requests in this talk, we are going to show you a few of them There are lots of content like a to promote news events project research general information for students staff services If you want to explore them all we invite you to visit our website web.science.edu Where you can find all the templates for our content types You will also find our contact details on that page So feel free to write to us if you have any questions or want to have a chat with us So let's start with our event Content type before I proceed I want to highlight that all our content types share same design patterns We have a hero at the top with a big image or a video We have a break room title some metadata summary and Full body of content that can be one column two column or a series of tabs So the first content type that we want to show you is the event one which helps people to promote events from simple morning teas to large scale conferences I'm Going to show you bit by bit and how we achieve to implement that in Drupal on the right hand side of the screen You will see the full page and the highlighted section is the one that we are exploring so On the left hand side, you'll be able to see that we have icons within labels That was achieved by overriding trick templates and inserting material icons Which is a huge library in Google with different fonts that are freely available to use We use a smart date module to print dates with durations Which is much more user-friendly that the Drupal core one Speaker event series costs are Drupal core fields, which is list of text entry reference and long text for for cost We achieve to print the contact in this way by creating a paragraph for that with name position email and telephone number Behind the scenes We use the layout and background module which allows you to have one column or two column Sections with background colors or images. It's very flexible and it's awesome to use We use the element class for matter and field label modules that allows you to have field labels wrapped into h1 h2 P div stacks So that's a for example how we had the button block button on the previous screen with the register So we injected a bootstrap five-class to print it like a button and we use the layout builder styles that allows you to to to have things like baddings margins so you can select that style and We inject bootstrap five classes in it Following that we use so both JS that creates automatically for you a table of content with With all the headings that you have in the body text and that's what we do in our case That table of content accompanies the user either as they scroll the the web page And all mobile devices we printed at the bottom of the screen because as much ease of to navigate for you this For images, we use the Drupal core responsive image styles That allows us to serve the right image size according to the device breakpoint To improve things further We use we serve images in web p format that in some cases reduces them even 60 percent 70 percent so that has helped us to To reduce the page load times considerably Following that we have a schedule of speakers that we use We created it using paragraphs that allows us to have Multiple events that span over several dates, which usually is the use case for conferences To print it in that way we use the views and tweak with with tweak Selection rules of for example, we manage use cases where there is no image for the speaker or there is no Biography so the layout doesn't break and it still looks good We'll show you the editing interface soon one standout feature from our Platform and across the content types is something called child pages Which is powered by the inline entity for module So on this screen you see that if you click on accommodation and transport or Transport you'll be taken to a separate web page with its own hero table of content and full body text That approach has helped us to reduce the number of fields in our content types And we keep things flexible for our customers. So if they need some strange use case You don't have to create a field for that. You can keep it keep things flexible and have child pages They are happy. We are happy and that helps us to negotiate lots of Requirements from them In the editing interface of our content types, we use something called few group module that allows us to have What we call vertical or horizontal tabs in our content types We have chosen to keep them vertical because that gives us a clean look and scalability You can have as many as you require and the layout your layout doesn't break And we recommend you to also do that one One cool editing interface is the one that I show you Previously which was for the child pages Which is again Powered by the inline entity for module So in this in one single screen you can add new child pages edit them remove them rearrange them This is something that was very difficult to achieve in Drupal 7 but with that module you can do it now in Drupal 10 very user-friendly Because they can do it straight away in one screen without going to several forms You probably ask yourself how we converted that event into a conference So that's something that is being possible using the layout builder library module So with that module you can create several layouts and assign them to different content types In this case we created one for the conference and we set in layout builder to print everything as tabs So for example, if you go to the edit page of that event you select conference and tada it looks like A new layout with tabs One thing that is awesome in Drupal 10 is the ability to override landing pages Which was achieved in Drupal 7 by using panelizer and now in Drupal core you can Set to override every single note. This is something that we use for to build all the landing pages on our websites So the generic landing page content type only has hero Promotional message summary and we overwrite every single one of them and we add the necessary blocks to finalize the build of that page With this strategy, we don't have to start from scratch Building all the landing pages And there is a lot of work done So the power to override Pages plus child pages is what we use for our centers and divisions institutes This Helps us to solve use cases where we are asked to do websites with a website, you know in Probably for you also like everybody wants a website So but in this case where you can have a child pages So we say no we we can have a website in the website for you, which is our center and division template So for example, when you go to news and events We override the default layout of that child page and we insert the entity reference views That points from different content types that point to the center and division We print of them print of them in each of the child pages So that's how you have a list of people news and events resources research projects facilities So it's basically a website with a website One of the most complex content types that you will find in our Templates is the one that promotes degree programs It's a it's a shop basically shop with lots of content on it So we have something that overview testimonials careers learning experience fees and scholarships how to apply instructions convenience teachers To create that content type, uh, we notice that We use a lot something called content boxes where you have a title an image a summary and a call to action So, uh, to simplify things we created that paragraph And we reuse them across different fields of our, uh In in the edit form So we avoided to create like six different paragraphs for each use case And we use it across all our content types that simple content box So we use it in this case we use it for program descriptions testimonials Convenors learning experience teachers like for all of them So I recommend you to follow that Strategy in case sometimes you notice that there are certain things that you can reuse them So create a paragraph reuse it in all your content types On the last one I wanted to show you is our promotional message content type, which we call feature So we use them in our home page on landing pages on our degree pages Uh, and it's very very very awesome. Um I'm going to leave you with samundra who is going to present you our project management strategies team building and other stuff Thank you. Uh, sorry Thank you. I I am samundra before I start. I will just give you a brief about myself Just the way part So I started doing my web development in 2013 when I was in uni with a web competition, which we never won So after that like after working in different projects. I started with Drupal in 2021 when I started with anew so I think that's the brief. So let me just continue with the content so After this content architecture and content types, uh, let me give you brief about The project management strategies that were successful in our part of work. Just the successful ones So first thing was setting a reputation. How do you keep a reputation? Uh, the commitment and delivery That's how we do it and key The second thing is defining a way boner when you are working with an organization or some point Uh, we define a way boner who is usually a Comps person who is the point of contact and the person who helps us to get it Approved and launched in that side that helped a lot and The third thing is you have to have a demo site like demo site helps us to set limitations and expectation for clients which help us to define and like Make a circle around So fourth, I don't think I need to talk about agile if that's been talked a lot. So we use agile metallurgies and practices And lastly, we need to have a defined workflow as a small team You need if you don't have a workflow Then your project is going to go haywire and take a longer time So as our small team like trying to do a lot of work, we have a very specific workflow to go through So even though we Use all these strategies, you can't do anything or like it is very difficult to do things If you are asked to do these kind of stuff that are like bigger projects And we have a small team like one of these some of them are Here like you they are asking for a multi-lingual websites or they want to connect it with the hr database and They want to place your site in the top ranking of google Or something like this So I am hopeful about like ai technology which will help us with The multi-lingual website or something like that, but it has been a difficult task to like satisfy customers if they are asking that So We had have some key strategies to manage customers. So how we can manage their expectation And that worked for us First of which is good user training whenever we launch a website or we keep Accesses to some people We give a good user training so We usually give a in-person user training and we have some document in our Like demo website which help them out So this reduces our helpdecks ticket and which can we can focus in some of the projects that we are doing Second thing is organizing contents in the edit Form in a logical fashion so that like we only keep five Fills in a logical set As you can see there So And we keep it particle as we will be able to scale it easier. It is easy to scale it So another thing is like if someone is asking for your landing page what worked for us is we saw demo site we set limitation expectation and Device a status is then asked for a content Usually Asked for a content before even you start doing the project. Usually it will save you a lot of unused Project projects or like time for you That has worked for us Sometimes people never send you the content and it is like past the point So all these things If you don't have a solely team, it can't be achieved. So we use some strategies to keep our team solid And our team culture is defined by Henry Ford's words Coming together is beginning keeping together is progress and working together is success So there are some strategies that we use to keep our team together First thing is agile team structure. You can see our carbon board right in front of our workplace. So anybody who comes on there That is very transparent to everybody what we are working on and how much load we are taking in So nobody asks us like what you are working so There are other practices like we have a weak limiting or Things like that and we have a collaborative Culture over there and we can disagree with anybody. That's another point of view Okay Another thing is we have got this one-on-one meeting session every 15 days like fortnightly with our leader So you can see Hong over there and Dimitri. They are having a fake To get a picture. So, yeah We have this one and answer So that like if you have any Personal goals, do you want to achieve or like you have some problem going on you can freely talk with your mentor like leader That has been a great help even to me Another thing is retrospective session after that is one-on-one thing Like we do a monthly retrospective session with our team to like look after And reflect on our previous month and set of expectations for next month and sometimes we do it with other teams So that we could get a feedback So lastly nothing is possible without a good leadership Especially with developers like us what happens is like we are into projects and we go haywire like just go deeper into it and We miss the point sometimes like my Team leader says don't kill and with a bazooka. I usually try to do that So like that direction should be set by a good team leader and chain of leadership to help us out. That's Has been very helpful for us so Finally, I would like to thank all of you to be here if you have any question, please Ask us questions and then if you want to connect with us here are our connect So media linked in them. I know email address our website. Please feel free to ask any questions You said that a news websites has grown to up to 40 sites Have there been any work done to consolidate them and make them simpler Yeah, so our team Manages 40, but across the new there are around 300 websites We've done a lot of work to consolidate Some of the websites like between the research centers that had Previously its own website. So now now they are consolidated into the faculty or the college website And some of them some of them joined the research schools So so we've done like lots of work around that to try to reduce the number of sites But they pop up some of them because for example the university created research institutes now So each one of the research institutes now had to be its own website. So So things are growing A little bit here after you I think you had about 60 Yeah Hi, just wondering have you been able to share your tech That you've created and your layouts and all of that With the other colleges to kind of uplift all of a and you Is that something that you're giving back to and then to the central team and that or is everything kind of siloed? Uh, so as I mentioned like a new in its history had a decentralized way of working So each of the faculties has its own web team And they have their own strategies To develop maintain and do help this support some of them Also used outsourcing so There are some companies that work with those faculties some of them do their own stuff But we have shared like all this content architecture with all the web team But at the end they are the ones that decide if they want to do the wrong thing Or they want to use ours, but uh, yeah, we've we've been trying to work more closely with with all the teams across the university, but It's difficult to To have an impact from from a local web team to the whole university like that's something that will be good to have More support from the central to all the web teams, but That's something that has been embedded in the history of anew. So The the centralized way of working That's a question from me, uh, because you said that I think you are using multi sites, right? multi sites Drupal, right? I mean, so I know that you have many sites and you have How you Face the situation like because each site had their own database. How you do the configuration? How do you manage the configuration management? I mean because As you mean the integration between no, no whenever you have a Update to Any configuration? How do you because you have each site has separate database, right? Yes, so when you have multi site, how you manage to send the import export the uh the configurations So in in drupal 7 we used An open source system called edger and we use features But in drupal 10 we are using content synchronization, which is part of drupal core and we use drash, so So for example our central website is web Those signs that's where we create all the contentize templates and then we synchronize that site with all the all the other drupal same websites Using drash Uncontent synchronization. Yeah part of drupal core Thank you very much. Thank you