 All right in that case. Hello everybody. Hello. Thank you for coming. I appreciate it So my name is Jimmy can I work at iron star as the one of the co-founders and the API delivery lead So I work with Mike or I'm Mike or Richo as probably most people know I started working with PHP back in 2013 so it's been 10 years now Then after PHP Moved on to node angular react and now I'm primarily working with Golang Doing API development stuff for iron star So I wouldn't consider myself a Drupal developer I've got mostly experienced in other technologies the last The last few weeks while preparing this presentation I was able to get into Drupal a little bit and start doing a couple of my insights and you know feeling it around a little bit Which is you know, I've always been on the periphery sort of dealing with people who are making their sites and then hosting them and not necessarily doing that myself So it's been really interesting to get that insight In saying that working with Drupal over the last five years, I think it's given me an insight into how it works From a from a hosting perspective at least So in this presentation, I'm really excited to share some insights on combining two technologies that I really love to work with Hey, Dennis one of them is one of them is Drupal, of course and the Other one is next JS Yeah, I think that's just me Okay, thank you So today I'm going to talk about the technical benefits of these two technologies and also the non-technical side of things That's these technologies can bring so I wanted to start with this proverb Unknown origin if you look online, some people say it's Mongolian some people say it's South African, but I really like it either way so in context of this presentation, I think when you work with not just two technologies, but multiple different types of Developers you gain access to the insights their expertise and different ways of working not just on the technology But also as a whole and When you combine the two strengths of these technologies you you get something that's that's bigger and stronger than the sum of its parts and Also, did I mention the word for Einstein? I think that You can go fast alone, but you might go further with us Shameless plug, so I'll start with the technical side of things being a tech conference And then talk about the non-tech a little bit later So I'll start with next JS being a Drupal conference Not everybody might be familiar with next JS So sorry if you're already familiar, but I thought I'd run over it a little bit first and I and And talk a little bit about this so yeah, sorry if you're already familiar, but Yeah, next JS. It's a web framework. It's based on react react at this point Was the hot new technology? That's 10 years ago. It's been out for 10 years now. So I'm starting to feel a little bit old. It's no longer the hot new thing, but It's also quite stable and Next JS being built on top of that just adds to it So I don't think any there's not many people doing just raw react anymore I think most people are using some sort of a framework Be it next or Gatsby or one of the others which build on top of react to make that a bit more seamless the build a bit more seamless so the benefits of using next JS the The ability to be able to service I'd render which if you've tried to do that in raw react before is Not the easiest experience. I'd say Next JS and the other hand makes that really seamless and It also allowed static site generation and API routes and also isomorphic rendering as well. So That's on a page by page page by page basis. You can pick if you want a page server side rendered a page static rendered or a page that is dynamic in nature. That's really powerful Before in the before times may be very difficult to try and set something like like that up So you can see why it's become so popular In my personal opinion, I think it has a very nice developer experience I've done a few next JS sites myself over the past few years some for agency some embedded into large enterprise Which seems to be pretty on board for in general using react at this stage because it's mature and a bit older and I'd probably go out on a limb and say that next JS is becoming a bit of a de facto standard for new react builds these days Probably reasonable to say I would recommend giving it a try if you haven't done it before. It's very easy to get up and go So I like it's Drupal conference. I got to talk a bit about Drupal I got to stop raving at JavaScript, which is hard for me. So I really like JavaScript So you've probably heard about headless before but I personally think it's a bit of an odd term for it Like what is what is ahead? Why is no head? What's good about not having a head? You probably pick a bit of a better term for it, but I think Explaining it in this context Headless Drupal the term head refers to the front-end presentation layer. So In traditional Drupal websites Drupal would do all the content management and then also render a page for you as well in this situation being headless it only does the content management side and And leaves the rendering up to Something in the front doesn't necessarily have to be next JS for the purpose of this For this presentation. I wanted to focus on that because of the tooling around it But it can be anything it can be plain HTML and just making You know fetch calls if you really wanted to give you view It could be any framework of your choosing as long as some reach out to a network So headless is probably a bit misleading I Probably prefer to see the term API first Drupal popularize, but that is Bit beyond my reach. I'll just put it out there and see if it starts to spread a little bit if that's okay So Yes, okay Drupal conference right back on track. So why would you want to give Drupal less work to do? Why are you cutting it in half? To address that I think for one separation of concerns is Important so you have one thing do something very well and another thing do another thing very well in this case Drupal is very good at content management. It's extremely flexible to the nth degree And next js on the front end is great to work with and is very modern and cool at the moment So I think this separation can lead to even greater flexibility. You can build more possibly depending on the build more scalable more flexible and potentially more performant apps with less From a technical perspective, I wouldn't call it better That is going to be up to your team your project your clients who are going to be consuming this stuff Like as an end user, but also the people are going to be entering content and working with it as As a non-technical person perhaps So not necessarily better, but a really good option to have it just adds to the power of Drupal in my opinion So just a quick Not a great Diagram, but it's very simple and that's the best bit about it You have Drupal over here on the left with your content management and It shoots Jason over to next jazz which renders the page It's literally as simple as that and it could be anything on this right-hand side and also different rendering methods in next Yes, so the flexibility is the best part simple and flexible So why hasn't it caught on I think there might be a fair few people in this room who have not worked with headless before Or they don't like it or Whatever reason it's not the It's not the default for Drupal when you build a Drupal project You probably expect to be doing your rendering your content manager for the whole lot in Drupal but I don't want to give too many spoilers for Mike's presentation tomorrow morning where he's talking about the survey results Drupal survey results It's more common than I expected that's for sure. So I Know one spoiler one spoiler I promise So this is definitely higher than I expected The yes column is still lower than the no column, but sorry the other way around It's still like less than 50 percent, but I expected it to be Expected it to be like a lot less to be honest more and the 20 percent mark So this this piece of data surprised me a little bit and Part of it being that Jason API in particular has been around for quite a while I remember using it for one project back in 2017. I Didn't have a great experience with it. I think maybe a lot of people didn't have a great experience with it it was Hard to work with for myself as the the front-end developer and the person doing the Drupal develop was struggling with it as Well for reasons So maybe it just wasn't great at the time, but that's more than five years ago I think things have changed and part of that is Is what you can do with next JS and the front-end now? so there They've definitely an improvements on the Jason API side as far as I've seen comparing to five years ago to now the game change of the motivation for me to give this presentation was the From the team at chapter three if you've heard of them before they They've created a project called next Drupal and It's a very easy way to get started with a headless Drupal installation and Next JS on the front you get up very quickly, which is good So I am going to Do that now If everybody could spare me a quick prayer demo gods and Let's see how quickly I can sort of get up and going as a bit of a disclaimer. I have cheated I Cheated badly mainly because I didn't know how good the Wi-Fi was going to be here Or if I had to hotspot and doing composer installs on On potentially bad connections is not the best idea So getting up and going is quite easy Chapter three have very good documentation All starting from here. So Step one install Drupal Again, I've cheated and I've done that already And I used a composer create project to do that as a standard boilerplate That should be very familiar for you. This output should be very familiar for you here for your Composer output That is all done very easy And you add the next chess module Okay, I think I can do that So far still easy. I don't see any red yet from composer. So maybe I got lucky this time Next step apply patches This seems to be pretty common in the Drupal world. You only need two of them I'm not entirely sure what they do. One of them is for the multi-language support I believe it's this one here and the other one just seems to make it work so So play your patches familiar output yellow scary, but all good That part is done enable modules Okay, so now I'm getting into Drupal territory So enable some modules we need two modules to be able to go one of them is next chess which I've done here the other one is Sorry Jason next yes Jason API I've done this in advance also That's already done. You will get a page Which you'd probably recognize which tells you what other dependencies you're gonna be installing with that, but it's pretty straightforward So far no problems Path aliases, okay Still pretty easy I'm gonna put in some content pattern Which they've prescribed here for me It's an article. I'm gonna give it a label of Next yes site. What did they want for this article? Of course Doesn't really matter. I don't think but so there we go already in use. I did this last time when I did my practice talk Okay, so consider that done ignore the red We press on create an extra s projects. I've cheated again This is the command here use MPX and create next app from the next Drupal basic starter What's my project called demo front-end? easy easy So that is up the next part we need to do is to Copy some environment variables over so we need next jazz to be able to communicate with Drupal Quite easy and that's all in here So you can you start with an env dot example. This is one I've done earlier And you plug in the base URL Can put in the image domain if you're gonna start using images. I don't have this demo, but there it is Okay, so far so good Then we start up the server For reference That looks like I've done this already. I Think it's already up, but you start the server with mpm run dev again very easy I don't think there's anything hard about this so far And there we are. That's our site is that easy So you from the first time it took me about half an hour just because I was reading up and the patches didn't apply the first time And I ran into a couple of other little issues, but overall very quick And there you are So other cool things you can do with this On this side, we've got a basic example which I can skip over Here so the other thing we can do with this is with the same set we can We can spin up a GraphQL example So this particular one is calling the GraphQL API I've used a separate installation of Drupal to demonstrate this And there you are Very easy very very very easy There are some different steps to setting up for GraphQL compared to JSON API I'm but they're very similar you apply slightly different patches and you install slightly different dependencies on the composer side Then you're basically good to go. So I did not struggle with this at all after doing JSON API is probably took about 15 minutes It's really sweet. I Don't know which direction I go if I was setting up a new site now if I do JSON API or if I do GraphQL It's probably going to depend on your project. If you've got a whole bunch of other people are going to be consuming JSON API then and they don't know how to use GraphQL or they want to for whatever reason which is perfectly fine Maybe that's the way to go. Otherwise GraphQL is pretty sweet in this instance The other thing which is where I think the power of it is demonstrated is from our friends at umami That looks pretty familiar. I don't think that would be new to anybody here. It's an Amami site. This is rendered using Next.js With headless on the back end There it is hi So the really cool thing about this is that Because it's just data coming down if I've got my own site The completely separate site that wants to consume the same data. I can hang on though This might look familiar. It's in Japanese, but It's just a mommy on the underside. It's that particular post might look familiar. It's just an Amami post, but with my blog It's all data underneath. It's all very easy Which is why it's such a powerful option if I've got one site That needs to consume this data. That's great. I've got 10 sites needs to consume this data or similar data That's where you get some real power out of Drupal Alrighty thus ends the Demo portion. I think I made it through Relatively unscathed. Let's see prayed. Yeah, see called it already Who needs to pray to the demo gods anyway? So this was a joke, but also not a joke seamless or was it? No, it was not completely seamless It took me about half an hour to set up but after setting it up. I ran into some things. So the largest issue of which Was the node path? So the path aliases which come back in your results Suddenly they just started to disappear when I enabled a new language. I Couldn't get him back there is work around for that. Thank you to Lee and Through Lee found Al if he's in the room There is a way to get around it, but that really stumped me because it just disappeared. I couldn't find the documentation and I Was having a bad time My solution was to rip it down and start again, which is not ideal There is another way around it, but it wasn't super clear So maybe that's just a point in favor of GraphQL And it did leave me a little bit discouraged as well. So the next issue is Composer When I did those screens part of it was because of the bad Possibly bad Wi-Fi, but also because like I didn't know if Composer was just gonna suddenly crack it But I don't think that's a problem. That's unique to headless. That is just a composer thing What else was this? When I was doing the GraphQL installation the documentation on Chapter 3 was slightly out of date This is Composer again, I guess, but the patches weren't compatible with what I had in there I needed to put it back to dev level compatibility And then it started to work, but I didn't use Composer for like 10 years. So That stumped me for a minute. Well, I figured it out, but not ideal so there is the documentation on Chapter 3 is excellent, but there are there are some gaps sometimes as well But I think that's just a matter of being up to date and it changes very frequently No, I put that in there So hosting options for this So hosting this is very easy Because there's no rendering on the front for Drupal You're probably gonna be using you probably won't need that much power to be able to host Just a content just essentially just a content management system and only sending data out That means that you could host it on a Droplet in digital ocean you could host it on AWS you could host it on Einstein and For the front-end that could be static and pushed out to Vacell or it could be on a hosting provider It depends on your needs. So the flexibility that you gain from this is That it can go anywhere The other side of it is if you're statically rendering stuff all you need is the data available at a point When you pull it down to do the the static render Then you can just send that HTML up to S3 or one of those other static hosting sites and basically host it for free if you wanted to do that as well And that of course comes with its own set of security benefits you might only turn on Drupal for an hour a day just update content turn it off altogether and Shoot it out to to wherever you like and there's the only thing that's going to be That's going to have an attack vector is some HTML some CSS some a little bit of JavaScript That's just one example of a project and it's not going to play everywhere, but I think that's pretty cool So let's look at the other world. I have very short amount of time. So I'll race to this So when and originally I planned this presentation I wanted to talk about the best of both worlds being the technical side of things So you got the CMS and you got the front end and that's really cool. It really I think the benefit comes in a Bit deeper than that and that is when we talk about non-technical and the technical side of things So we can leverage the strengths of next yes and Drupal which may lead to fast development time. That is a May It's going to depend on the project and the people you have available. So Mainly I think for this is the ability to be able to work more easily in parallel You can have people Maybe multiple people just doing back-end only stuff in Drupal and Then people who are just doing front-end stuff kind of back in the old days, right? You have your back-end team. You have your front-end team and they kind of siloed to a degree That in some cases can speed you up if you can work completely in parallel I Opportunities for reuse between projects. I think this can I Don't think this applies as much but it Depending on the project it can allow you to reuse this data between different projects So you don't need to do multi-site. You don't need to have Completely different Drupal installations to be able to handle it You can have one and then you can have multiple front-ends in whatever flavor you like an extra s view whatever that in some cases can Possibly reduce some costs for you This is a this is a big one for me. So enterprise companies. I've done quite a bit of work with enterprise over the last Probably five to six years. They struggle with CMS platforms. It's mainly the classic Legacy so they've got a whole bunch of stuff that somebody put in like ten years ago that they need to maintain and that does like one part of their site Then they've got another one They got a jumler over here and they've got a a cycle over here, then they've got you know all sorts of stuff They've got from maybe years and years and years ago All on different CMSs Trying to manage all of those is really difficult. So I Think people approach CMS is like it's an easy it's an easy thing What are you doing is putting stuff in a box and then you get some data out? It's It's difficult and I don't think it's a solve problem for enterprise at the moment. So I Think this presents a really compelling case for Drupal Because Drupal is so trusted is trusted in government in particular, which is which is not a small ask and I think It also ticks some important boxes that many competitors Just can't and won't they're just not in that same space So if I look at a couple of the bigger ones Like a SAS provider Contentful if you've heard of that before it's essentially a headless CMS as a SAS product Now that seems like it's a really good offering. It's got a nice UI. It's got a nice API It's very easy to use for the technical and non-technical side, but You can't host that they host that I think they have a data center out of here now, but for a while they didn't and that's its own set of problems if you have any kind of Compliance or controls it's gonna rule it out completely straight away unfortunately The other thing is that SAS I mean we've all been there We've all probably got a Netflix account they can just jack the price and we're not talking a little bit of a jack We're talking Hundreds of dollars thousands of dollars and they're just gonna go well if you don't like it Here's the door That presents a pretty significant risk The same does not exist in Drupal. It's open source If you want to change you can change but you can do it on your own on your own terms So it's not a bad option, but it's got to be for the right project. I don't think Big enterprise is should be considering it and I'll quickly talk about some others a.m. Sitecore great Expensive so expensive and not open source That's basically all I need to say about those two Don't think anybody's a huge fan WordPress. Maybe I think they're kind of operating at a different level to Drupal I don't think it's fair to compare those two anymore like it seems that Drupal 7 was the competitor to WordPress small site blog mom-and-pop stores that sort of stuff Okay, maybe yeah, one of the other these days Drupal 8 plus. I don't think that's the space that Drupal's Pitching for anymore. They're looking for for big enterprise is looking for government I don't think WordPress suits that at all Drupal on the other hand does So I've got two minutes left The last thing I'm gonna touch on very quickly is the shortage of PHP developers Drupal in particular. So if you look at the most of the huge languages worldwide Somehow we've got JavaScript all the way at the top. It's everywhere. It's ubiquitous and then PHP This surprised me at 20%. I Really thought that PHP would be higher. I mean so much of the web is built on it and from way back, right? It's just It just it surprised me surprised me. How's that so low? I? Don't think the shortage is going to improve in the short term as a technology gets older. It becomes less Cool, it's not the hot thing anymore like PHP That day has kind of passed for it if you know what I mean So I don't think a lot of developers are coming in going. I want to be a Drupal dev I want to be a PHP dev. I don't want to look for the new shiny unfortunately There's also this which is less a little bit less Good I've never heard of Phoenix before I have heard as felt which is up the top there But unfortunately right down the bottom is our friends at Drupal as the love verse dreaded so the It doesn't paint a great picture for Drupal But I think that's more to my previous point It's not the new shiny anymore and people want to work on the new hot thing Unfortunately, whether that's justified or not. Okay, so this is all good. What's your point? So as I mentioned earlier, I think Drupal is fantastic has a really bright future even though that last set of slides is probably a little bit You know Not great Personally, I think it has a bright future and the reason for that is that I think it fits a very Important slot that not many others can it ticks the boxes in terms of being open source and it ticks the box in terms of trust with enterprise and government and I Bought up the previous statistics to highlight the potential to accelerate the growth of Drupal by supplementing your developers with people from the the JavaScript plan The truth is there's just a lot more JavaScript developers out there than there are PHP and Drupal developers and If you can work in parallel then on the right project you can definitely utilize that I think it offers Yeah, I think it offers a new approach to be able to to fill that gap in the shortage of developers on the PHP side Okay, so I am slightly over I'll do a quick summary. I think the technology on both sides is fantastic and Drupal is an excellent piece of technology. I hope I didn't I hope I wasn't a downer for a little bit there But honestly, I wouldn't be in this with Einstein if I didn't think that Drupal had a bright future Beyond the technical side of things I think that's with themes like gin For non-technical users starting to use a CMS. I think it's very nice and a good selling point To show how easy it is for people to be able to insert content The other part of this is The shortage so I Don't think the shortage is going to get better anytime soon and maybe This is the way to be able to pitch Drupal for some project Okay, that's me. I'm over. I'm sorry. Does anybody have any questions? Right, so I was talking to somebody about this after my practice talk the other day and yeah, that is possible so you can have I Don't think there's tooling for it, but there are ways to work not work around it, but you can do it. Yeah Yeah, so all you need is Yeah, I did this for a this is quite a while ago, but I did this for a header for an e-commerce website the It was rendered by a jumella So not Drupal, but you know same kind of concept so the the main body of the page is rendered by jumella, but just the header which needed to be common between a new react build and web-sphere commerce build and They had a WordPress build as well that header needed to be the same across all of them so they decided that to be able to have the new build look nice and Keep the header in sync that the header would be its own app and you could render it into You could render it into jumella as its own piece. There is new Beta functionality as part of next.js which Leah learned me to which is oh Really? There are us. Yeah, so the question was are there any like themes for next.js that work with Drupal There are a couple that have been created by chapter 3 one of them was the my blog that was based on their Very bare bones kind of example. They also had umami there as well. I think there was one more, but there's not many So yes to your point if you're trying to showcase with a theme Maybe it's not the best for that But I'm hoping that might change over time. I think traditionally just react in general and next.js in general they don't have a lot of like out of the box themes they expect you to kind of Do it yourself. Yeah tailwind bridges that gap to a degree and that is in by default in the next Drupal project, which is really cool I think Thanks for the question It's going to depend on the project obviously You're probably going to at least double your developers on it because you'll have one person doing Drupal and one person doing JavaScript if you're doing a really small side with a very tight budget, maybe that's not feasible But it might be it might be an upsell to them You've got your data in this one spot and if you want a future site Maybe you want a a small brochure or if you want You know another little like a satellite site that's on your brand Then this is setting you up for the future. I think that's a way to sell it to answer your question about cost I think that immediate cost of having two devs unless you've got somebody who's Good at both That can potentially double the price But it can also end up being cheaper as well if you can't find a Drupal dev Or you've got one Drupal dev in your agency and they need to be building for ten sites at the same time If they're doing all of that work just in Drupal That's going to be a lot for them if their job is to maintain and start new sites and get people up and running and then Push it off to JavaScript developers Maybe it's going to end up cheaper for you trying to hire new PHP developers Drupal developers is not easy So it's going to be highly dependent, but I Yeah Yeah, absolutely. Yeah Yeah, I get you. Yeah, I think it's just more a numbers game There's just a lot more JavaScript developers out there compared to Drupal and PHP from that From that survey as stack overflow, it seems like there's a lot of people who aren't super thrilled about continuing to work Which is I don't think it's fair, but that's just what it seems to look like from those those surveys Thank you for the question. I was able to answer it