12 May 23

Jon Pugh: Okay, Hi! Everybody Jon Pugh: welcome to site audit session where my name is John

Jon Pugh: John Puke and I've been doing Drupal a really long time. And Jon Pugh: these days my companies think,, consult to consulting and devops, and have a desktop hosting product and all sorts of things. And right now we're working with the agency

Jon Pugh: doing really great stuff. They are a major open source contributor as well to a distribution called Bar Base, and

Jon Pugh: we're working together to do some really interesting stuff based on the site audit module. So

Jon Pugh: yeah. Jon Pugh: So the version is for, and the joke is track your triple site into the Fourth Dimension, because that's time. Just the Drupal site. Audit module has been around a long time

Jon Pugh: 10 years coming up in July, and Jon Pugh: you may have used it, and it's actually got, you know, a decent amount or installed at the moment, but it's also a trush thing. So a lot of people Lot More people probably use it than this.

Jon Pugh: 10 years it's passed from. It was initially created by Pantheon, and they used to run it across like all their sites at once, I believe. so that they could check like different statuses.

Jon Pugh: And then, yeah viaducts. The new sponsor of the kitchens was in there for a while, and me and Varda think shop. So the first version was Old 777 Drush, and just Rush, and it would just print out all this stuff for you, and it was, you know you could use that and and get some information. And it was really helpful.

Jon Pugh: There, wasn't anything more than that that back, then, so you could render it out. I think it probably still a Json print. Back then

Jon Pugh: and there's a set of checks for everything, all get into that. So this next version came around, and it was finally on 888

Jon Pugh: at Rush, but also it's still. The first round of that version actually is still just, was just didn't have web. At least they had prettier dress with the tables and the colors and all that.

Jon Pugh: Then the version 3 came out, and we finally had a web interface. And so we had this, and now we had this. So the developers created a nice little bootstrap friendly

Jon Pugh: dashboard here, and it calculates kind of how pretty much of a percentage you're using your best practices. And

Jon Pugh: yeah, there's like 3 levels of lagging that you can code up for, you know, pass, fail, warning.

Jon Pugh: And so Jon Pugh: 4 Point X is where I create. We created a new branch based on that for 4. And basically the whole point was.

Jon Pugh: It's funny, actually, because this came about from. We wanted to build a dashboard to like track other sites. So Varta has over 100, I think, almost 200 customers or sites.

Jon Pugh: and Jon Pugh: that's a lot. So we need it really need to see, like a high level view where all the sites are at, whether they're cachings enabled, or what version of triples they're doing. So starting to build a a dashboard out of Drupal right? And so the original task was just to get that information somehow.

Jon Pugh: And Jon Pugh: of course there's a 1 million ways to like. Send info from one website to the next. So I was looking around at stuff, and we already we're using site audit. Vardot has their own customized site audit checks that does it even more checks than are provided already.

Jon Pugh: And so they had been using it a while, and and I was looking at it and looking at it and going. This is really why Don't, we just send one send site audit from one site to the other. So

Jon Pugh: and also how do I? It should be an entity, so I can save them. And

Jon Pugh: that was it. I talked to Rosen from the Bardot, and it was like true. Let's go for it, and

Jon Pugh: made it really really easy. Just generate great entity, create everything. It took like a couple of days, really, just to make a new entity where it's just like a node. You submit a label.

Jon Pugh: author, and it saves them over time, because now they're nodes Jon Pugh: right, so your reports can be saved, and they have a little metadata about them like well who created it? And when

Jon Pugh: and it has fields now for site, title, and site uid. So it'll actually save the actual site, title

Jon Pugh: and the site uid in like a basically a field on the report.

Jon Pugh: And then and then now we can. Now that their entities we like. Oh, we can save them regularly. We'll save them every minute, save them every hour a day.

Jon Pugh: and we wanted to send them, so we say, made a send queue as well configured to send every minute, every day.

Jon Pugh: every hour. Of course, some delete stuff. I think we still need to implement that delete report solder, then. So let's make a list of contribution requests that we'll put into the issue queue after this.

Jon Pugh: So yeah, very simple. Jon Pugh: Remote settings. So again, making a rest endpoint to receive an entity was like piece of cake with dress just generate rest, endpoint. So now that comes built in the site audit server when you require that on your triple site.

Jon Pugh: and then you just paste in a URL with a little Api key, and you can start sending reports from one site to another.

Jon Pugh: or from many sites to one. And so this is what the Ui looks like when in the back end. So the traditional site. Audit Module Page was right here under report.

Jon Pugh: and it was just static like it, just rendered at the time and printed out stuff. And then Jon Pugh: so if you wanted to save that you had to like print it or send it, you know. Send a link or something somewhere.

Jon Pugh: But now we can save these reports over time, so you can click and see Jon Pugh: what's caching enables. Here was the table size, what was the table? Size there, and now it's all in the identity. So we can make views and things and all sorts of fun stuff

Jon Pugh: out of all that information. Jon Pugh: Yeah, so

Jon Pugh: that's I'm keeping this show slides to a minimum, because it's really easier to see

Jon Pugh: how it works. Jon Pugh: But let me load up the triple Org page, and then we can just kind of open up to questions for a minute, and then i'll jump right into some demos.

Jon Pugh: So yeah, anybody like have any questions yet?

Jon Pugh: No problems. Jon Pugh: So the page is triple Org slash project, slash site, underscore audit.

Jon Pugh: And now I've got a lot to do to like. Update the to project page and everything. But that's hopefully what we're gonna kick off

Jon Pugh: in this session even do a little bit of work. There's another module called Site Audit Server.

Jon Pugh: Now, which is separate, so we can. That's still in development as well. But this is what you use to receive things.

Jon Pugh: and I just created a slack chat room for site audit as well site on it. And Drupal say on it, module.

Jon Pugh: so we'll have to put that on the site as well. So yeah, let's jump in and look at some audits.

Jon Pugh: so Jon Pugh: let's just jump in and look at the cool one first.

Jon Pugh: This is the dashboard where most of this is triple content, and it's kind of custom stuff for linking customers and etc.

Jon Pugh: content together. So i'm gonna skip through that and go straight to the site Audit part.

Jon Pugh: So we now have a list of entities. So all these come in from different places.

Jon Pugh: They had come in. They show different URL. So this is the actual triple site, title, and the URL that it's coming from. So you can see we've got some aqueous sites here.

Jon Pugh: and we've got it coming from our own self-hosted sites, and even Fromlando.

Jon Pugh: And even then there we have some from prod. So it's really neat way to see all the different environments, even that are being worked on.

Jon Pugh: and so I can jump into any one of these and kind of see the state of things. So

Jon Pugh: let's open up one of these reports. So Jon Pugh: a report about the reporting site. So this is the UN Unhcr site, which is you UN things. It's very data heavy. They don't even care about it. Themes. It's a good example of how things work. So

Jon Pugh: that is now sending us site audits, and it's so we can see that's 4 or 4 is enabled folder structures.

Jon Pugh: No multi-sites detected. It was for some super.

Jon Pugh: The whole code is Jon Pugh: content. Jon Pugh: How many fields you have.

Jon Pugh: Use that field so you can see. Oh, I got a lot of blocks here. Jon Pugh: I can have all these feeds, etc., and then you can really figure out what's filling up your site so lots of lots of fields

Jon Pugh: never. Wow. So then, yeah, taxonomies, etc. Jon Pugh: But then cool thing very, very helpful here.

Jon Pugh: Whoa! My size, my database. Jon Pugh: This one's really big 3 gigs.

Jon Pugh: Why is it so big? I don't know. So storage engine they have. The this is a little heavy duty stuff. There's a lot of info. It's not really designed yet, for the most useful info like this is just fragmentation ratio, and so everybody, if you scroll past it

Jon Pugh: you can get to the good stuff how big your tables are! So this search index has this meant has a 1 million 2 millionrows. So we know that, hey?

Jon Pugh: They got a large search index. Jon Pugh: We don't need it if we're taking dev snapshots. So we now exclude that table, and we make sure that those things aren't there. watchdog, was huge, but it looks like they clear that out. Good.

Jon Pugh: And so what's interesting about this, though, is because you can come now you can compare it.

Jon Pugh: Compare the 2

Jon Pugh: So like we, we 2 different environments. Jon Pugh: right? So one of them was the live site, and then one of them. We have even a dev site here. So if you look at the website.

Jon Pugh: we can come in and look at the database and see. Oh, wow! Much less than 3 gigs, Only 500. Megs Right now. We know

Jon Pugh: that's really help. We can keep tabs on all this stuff from a from one place. It's kind of nice instead of clicking between sites.

Jon Pugh: So yeah. Jon Pugh: i'm not. Yeah, there's basically a lot of stuff that you can find out about this was going to be more about the new features. I think everyone maybe has seen these things before, and I I mean, I hope everyone everyone's seen like the regular status report page.

Jon Pugh: because this kind of where this grew out of, you know. So

Jon Pugh: okay. Jon Pugh: yeah, let me. Yeah. So let me just do a quick, another quick tour. So when you enable the

Jon Pugh: regular module you're used to, maybe, seeing this list of reports. Jon Pugh: so you can customize the ones you want. But now the new site audit. Send Module has these settings in it as well, so recurring audits. How often you want to send it, and then remote settings.

Jon Pugh: And we're going to walk through, actually setting this up a new on a site real quick after I kind of show you this, so

Jon Pugh: that it's really straightforward, and then so you can send.

Jon Pugh: You can make a new report. Jon Pugh: and you can send the report so I can just click, send.

Jon Pugh: And Jon Pugh: so I added this little tab like email. But I just realized, like it's an entity. Maybe we just leave that to other modules. You know we Don't really need you send an entity? We already have that so remote server. And and then here's the audit report.

Jon Pugh: and then all the fields are already filled out it's because it's pre-populated from the site itself and the site Youri also

Jon Pugh: pre-populated from the site. Jon Pugh: And this is actually our own field. So a really cool feature of

Jon Pugh: site. Audit report being an entity is, you can have fields on it.

Jon Pugh: so on either end Jon Pugh: your client site or or your

Jon Pugh: or your server. You can add as many other fields as you want for notes, or referencing other things or users, or even it's to enable commenting. Maybe I Haven't tried that yet. But the regular entities content entities. So anything you can do with those you can do with these site audit reports. Now.

Jon Pugh: yeah. So this is to test out sending one

Jon Pugh: to ourselves. So this serve the site's actually got it's. It is its own server, but that's kind of the fun, and

Jon Pugh: when you hit save it does a test, so we can see that so we can go to the report.

Jon Pugh: Send the report.

Jon Pugh: and then just hit send, and Jon Pugh: you 2

Jon Pugh: it posts it receives, and that's it.

Jon Pugh: So Jon Pugh: one of the interesting things we are doing is because it's an entity is we added, fields. Right? So this is a link to a node. This is just a node reference field that links to a a site content type

Jon Pugh: which allows us to list the reports just for that site a little bit. There's some. We're working out some

Jon Pugh: things with these. How they associate like this is our own custom code. But basically since there was the server, module

Jon Pugh: creates entities. Jon Pugh: and it has a hook, for when it receives it, and the client module has hooks, for when it was sends it

Jon Pugh: right, so you can alter the payload from your site to the site. Audit Server very easily with triple hooks, and you can all you can react on the server side and the client side when that you get that back.

Jon Pugh: So when we send, when this site receives an audit. It looks up a site node for that, and it tries to pre-fill the field.

Jon Pugh: and it also actually will create a new site, node and link it automatically.

Jon Pugh: I believe it works right now. So it's. You can actually simulate this because one of the things we can do is alter this. So just like

Jon Pugh: we can. It's not really coming from this site. So we're actually we're we're breaking this kind of audit procedure. So from a development standpoint, i'm thinking about just making these not exist at all, for to be editable because you can really

Jon Pugh: what you know baking on it if you wanted to. But Jon Pugh: and so i'm making it. I'm. Working on a new site called Empire Drupal. It's the Empire State Drupal. I'm. Thinking about making a new community group here in New York to have maybe a statewide little camp.

Jon Pugh: So when I send this to my to the special lies Dsd. Our custom Module receives it.

Jon Pugh: looks up some stuff and tries to do something with it. So let's see what happened there. It did so it created this new node for us. and associated it directly. So that's kind of cool.

Jon Pugh: So that way we can just new sites can come in all the time, and we don't have to pre-populate them in our in our system. So and yeah.

Jon Pugh: So that's that's it. The the use cases are really really big. I think there's all sorts of things we can do with it. What I really like to do is

Jon Pugh: bundles. Actually, so. Jon Pugh: Site audit is Jon Pugh: an entity, but I hadn't never made any bundles, and so I think, in like a this would be like an audit type. And so what i'm thinking is, Drupal would very easily allow us to have the audit

Jon Pugh: type admin ui, where you click, add audit type, and then you can select like I want this audit to just do the code and like, then you. Then, when you go to add a new report you would choose which type of you wanted.

Jon Pugh: So that's probably i'm gonna write up some of these like as kind of feature requests, or because we're we're now that it's here we're recruiting more and more of our and developers to do these things. The thing is we have

Jon Pugh: other reports, and they take a lot they take longer, you know, so it takes like a lot of crunch time or processing to figure out like your config status or something, so making it kind of modular would be great, and also, if it's a node, so we could all we could make it look nice right? We could make the

Jon Pugh: all this we can change the rendering and do theming and stuff like that. So i'm thinking this is really a neat framework for like getting all sorts of info out to people that need it, whether it's content. Managers or user managers or stuff like that.

Jon Pugh: Yeah, so Jon Pugh: that's basically the main chunk of the session.

Jon Pugh: It's like, I said it's really simple module. And Jon Pugh: but yeah, I just wanted to like it's. An this was a lot. This we were allowed we were. We. We could do this easily here because it it's in views now. So I just added the fields.

Jon Pugh: and it's interesting because you can see. Actually let me go to a different one

Jon Pugh: like you can see the debt testing live, all reporting back to the same place. So it is.

Is it Jon Pugh: focus?

Jon Pugh: Oh, yeah, yeah. And anyway. Yeah. So

Jon Pugh: which?

Jon Pugh: Yeah, yeah, we I know what happens. It's jumping around. So i'll demo that later. But you can see the you can see sites with the same uid that have different Urls.

Jon Pugh: Right? So it's nice. Jon Pugh: Yeah. So I just wanted to do a complete setup. Now, actually, just kinda so you know how to do this on your own if you want.

Jon Pugh: So I think basically I have a couple of sites up.

Jon Pugh: and Jon Pugh: we are going to literally do some get commits and stuff like that. So

Cynthia Mijares (she/her): done, i'm not sure if this is the right time. But I did have a question about the report itself, and i'm curious to know if this is something that's

Jon Pugh: It's already. That's exactly what it is already. It's a Json dump of whatever what the audit report was already doing. Yeah, actually.

Jon Pugh: I should. I put devil, I forget to put Devil module there, but Cynthia Mijares (she/her): something I love to use when i'm creating estimates.

Jon Pugh: Yes, that's great. Yeah, that's a great idea, right? Because you can see how much content all that

Jon Pugh: cool good idea. Irina Zaks: Cynthia, is the floor open for questions, because my extension of your question

Jon Pugh: I want to show what's what people are interested in seeing. So yeah. So yeah, it's just it's all just basically structurally, it just takes the the

Jon Pugh: it takes it and just dumps it. So best practices block, etc. Jon Pugh: It just, you know it was already run. It already had the capability to render this to Json. All I did was I'm saving it to a field.

Jon Pugh: So and it is I I did make it like a verbal data field. So any whatever the traditional, any of the drupal data export stuff should work. But this is also we need a little

Jon Pugh: assistance because it can't. Yeah, you can't piece meal it out, Really, it just takes that and turns it into the table like table field sets that I did here.

Jon Pugh: But yeah, more as possible, like, I think if we had bundles we could. Actually, I was thinking we could. You could do like add fields.

Jon Pugh: and then do like a Jon Pugh: There's a if there's a way to do like Json, select of the main field, and it's a little

Jon Pugh: complex, because, like Jon Pugh: it is just storing it as a whole. Json dump. So sorting by, you know. Nodes isn't possible yet.

Jon Pugh: right. But there's all sorts of ways. We could do that with different things.

Jon Pugh: Yeah. So Jon Pugh: let me just any other questions. You can just jump in.

Jon Pugh: But basically. Yeah, you can pose a require site audit.

Jon Pugh: Make sure you get the last step, or I'm: i'm actually making releases pretty big it pretty often. So I think it's fine.

Jon Pugh: And then i'm gonna commit that.

Irina Zaks: I do have a question. I My question is, follow up on Cynthia's question as a site builder. especially with 777, and of life, announced one of the things that we do very, very, very, very often is like I need to get off my 777 site

Irina Zaks: give me like, not even Irina Zaks: like dollar estimate. But at least can you give me idea of what i'm looking at? What? What's the level of work.

Irina Zaks: And what I actually what what I really, realistically do is I copy and paste all the things from status, report, fields, report.

Irina Zaks: site, report and say, okay, all right. This is the list of things that I'm doing

Irina Zaks: right. Irina Zaks: And so for for us, migrating. migrating.

Irina Zaks: not migrating. So Site audit was developed for Drupal 7. Then it will by Pantheon originally. Then it would just to make sure that this we you to display in the Pantheon Ui, and then it was released to open source, and then it was ported to aid. And now it's model, and it's great and it's terrific.

Irina Zaks: And as a part of Drupal 7. So Self Landing initiative. We would love to port, to Port Ui

Irina Zaks: 7, and we have in the model we have issue opened.

Irina Zaks: Figure out what would be the most efficient way Irina Zaks: to organize

Irina Zaks: sprint or something. I don't. Irina Zaks: I don't know if issue has been created here, but I know how to do that.

Jon Pugh: Yeah, I think Basically, we'll. We'll track the effort on the issue. Jon Pugh: But I don't think it would. It would be a really basic Drupal 7 module. It might be good kind of test, like prep task for a yeah task for someone to take on, but because it's basically the same. Actually, they're classes, and it just renders out and from via drush. So

Jon Pugh: if you just wanted to put it in the Ui, it would be Jon Pugh: almost the same as what I did in the fourx version, because it's just rendering it to a render an entity. So

Jon Pugh: let me see. Jon Pugh: Exactly, remember. But yeah, the HTML report is just it just goes from the data object to looping through type type instead of type details. It would be field group.

Jon Pugh: you know, and then checks is just a table, so this wouldn't be too hard, I don't think.

Jon Pugh: to convert back Jon Pugh: to to like back port, you know, because it's it. Or.

Jon Pugh: yeah. Irina Zaks: Well, the session is recorded.

Jon Pugh: Well. yeah. Jon Pugh: no. I was just sorry I i'm trailing off, because if you want to do it before you even have any migration code, right? You want to be able to

Jon Pugh: view that report like the similar to this, the way this is working. But I mean, yeah, 777 has field sets and collaps a little field set. So it would really just be like, you know, one hook menu, item, one page and one, and the theme function. And you know, yeah, you could probably

Jon Pugh: get steal some of this code to do it as well Jon Pugh: if you wanted to cause it the this this is probably looks the same.

Jon Pugh: I'd have to check. Irina Zaks: Okay. I hope that there are some developers on this call who might

Irina Zaks: be listening and looking. And. Irina Zaks: John, if we decide to organize a sprint at some point, are you? Do you plan to be a drupal? Con.

Irina Zaks: Yeah, I do. Actually, I do plan to go

Irina Zaks: sure Jon Pugh: whether for people with people who are actually at Drupal, Con, we're organize something online. Not everyone can travel to pizza.

Jon Pugh: right? Jon Pugh: We're always there, always welcome. And also, yeah, David, the the slack channel now is is up. So if you're not on Drupal, slack, it's a great place to join. All right, you know.

Jon Pugh: and Jon Pugh: the Jon Pugh: is

Jon Pugh: they audit? Irina Zaks: Is it called site Audit Channel? Irina Zaks: I did site audit module because I was like, If I call it site audit, people might be coming in going.

Jon Pugh: Yeah, right here. So. And it's very small so far. But please please join. And you know. yeah, it's very popular. You're right. So I think we have a lot of interesting plans. So I think development is going to move. Move pretty well

Irina Zaks: pretty well quickly on it on different. Jon Pugh: Great. Yeah, it will go. Let me. But yeah, I think like, if you would look at the drush, this basically you could convert this very easily to the theme right? So

Jon Pugh: Rush is doing. Jon Pugh: I guess it's doing that. I don't know.

Jon Pugh: Yeah, Anyway. Jon Pugh: we could talk about a group of 7 all day. But somebody yeah.

Jon Pugh: any more questions.

Jon Pugh: Right? Jon Pugh: Let me. Yeah, let me just do a quick walk through of how I got how I can get this set up. So

Jon Pugh: I went. Am actually I started a Jon Pugh: new site

Jon Pugh: site, Audit Cloud. and I have my Empire drupal here.

Jon Pugh: So let me

Jon Pugh: log in.

Jon Pugh: Then, after you do your demo? Bernardo had a question of what's this Jump in at any time? Yeah.

Jon Pugh: it was there more question. Cynthia Mijares (she/her): Do you want to time in?

Bernardo I Martinez: All right. Bernardo I Martinez: I was wondering what you had in mind for the next iteration, and maybe for the timeline of this MoD joint. Is it a feature complete at this point.

Bernardo I Martinez: Or is there something else coming up the pipeline? Jon Pugh: It does it does what it's always done and it's it works so it's. Say it saves the reports, and

Jon Pugh: it feature complete. I think we're making to make new features. So for for it's for 4.0 is pretty much feature complete. Once we start adding new things like the bundles and adding, You know, report types and things like that. Then we'll probably make it 4.1.

Jon Pugh: So Jon Pugh: Yeah, it's ready. We're it actually has some uses or pretty pretty good usage already on the branch.

Jon Pugh: Let me check this check the stats.

Jon Pugh: So yeah, I just put out a beta 2. Where do you do that now?

Bernardo I Martinez: Is there a reason why you have a stable release? Yeah. Jon Pugh: I just haven't checked the box. I should. In fact, let's go ahead and do that now because it's not a fancy module. There's no I don't think there's any risk, and I Haven't seen any bugs. So I think that's a good point. Let's go ahead and market supported.

Jon Pugh: That's been kind of been nice about it. Is it a very simple module. There's no data stored. It's other than the entities now. So

Jon Pugh: yeah, and it's it's nice. It's old enough. So

Jon Pugh: let's see. not green yet. How do we do that? That's green.

Jon Pugh: Yeah, I'm: not sure forget how to do this. Jon Pugh: anyway.

Jon Pugh: Yeah, any additional questions. Jon Pugh: We'll figure out how that turns green soon.

Irina Zaks: Yeah, I had to. I wanted to ask about the is for has been mentioned here a couple of times. Right.

Irina Zaks: do you? Irina Zaks: Does this agency so has interest and helping with 777 the Ui version with this particular issue. Because this is

Irina Zaks: like. Irina Zaks: if we're trying to migrate like, I don't know if you heard about?

Irina Zaks: Yeah. Jon Pugh: yeah, I think I think we might be able to do that.

Jon Pugh: Yeah, we still have it. We have a few 777 sites, and we can't. Yeah, we can't audit them. Well, not like this.

Jon Pugh: So maybe that. Yeah, I think we, I think we would be open to that

Jon Pugh: if you go to a yeah. I think it's Jon Pugh: that they're already we actually have. Internally, they have, like a spreadsheet where every month they're like list your contributions list your contributions. So yeah, yeah, no. I think we could definitely rally some of some of these, some of us, the team to do these things

Jon Pugh: because they a lot of projects already?

Jon Pugh: Sure. Yeah, I You're right. I I don't want to leave our group. I feel bad for our dribble. 7 sites well again. I don't see it being a huge lift at all. The dad is there and dress it's just a matter of printing it in the theme function instead.

Jon Pugh: Yeah. So yeah. Jon Pugh: it sounds like an afternoon for you. So are there anyone that I need to reach any reason, You know some of them. Yes, we're in the slack room already. Actually, so, Raj. The one, I added, there is from Barb.

Irina Zaks: Okay. Irina Zaks: where's the team here?

Jon Pugh: There we are. Jon Pugh: Our job is here. Well, Job is he's in there. He's the Bar base Maintainer, Mohammed Rosam is the CEO,

Jon Pugh: but this is the main open source guy here, because it may, maintaining barbase, which is one of the biggest, I believe distributions.

Irina Zaks: Yeah, I think that it might be of. Yeah, I believe I talked to a job. Maybe

Irina Zaks: I think that Irina Zaks: from the drupal community perspective.

Irina Zaks: this whole situation, where drople 7 sites can't get off because they don't have mechanism to

Irina Zaks: resources of like mechanism. There, there, there's not enough resources to allow smaller side site owners to begin. Even consider moving of Drupal 7, because the discovery itself.

Irina Zaks: You know anyone would like Cynthia correct me if i'm wrong. But even just to get discover some, for the site is 20 to 40 h.

Irina Zaks: like, even just looking at the site, because they. Irina Zaks: if you're not looking at the standard like, say, stand for distribution where we know all in and out. But if you're looking at something else, it's like. I need to understand. What are your modules, how much custom stuff, what is the content, what the relationship? And

Irina Zaks: it needs to be Irina Zaks: translated into plain English from Dupolis right? And this is what site Module is doing so successfully, because this needs to go to site owner and site owner, like.

Irina Zaks: Okay, I got it. I can take it to our finance department.

Irina Zaks: and here's a number at the bottom that says if you have this and that. This is like. you know, bulk code for what needs to be done if you have all the custom theme. If you have.

Irina Zaks: you know, I don't know a 100 relationships you need to think about like

Irina Zaks: what's the amount of work, and what type of work goes in and saving this initial step like, okay, now you have. You don't have to climb the stairs. You have an elevator that will take you there.

Irina Zaks: This is the idea of Irina Zaks: first step of allowing

Irina Zaks: 777 owners to start moving. Jon Pugh: Yeah, yeah, it looks like we got a lot of interest. So I think we can.

Jon Pugh: I don't think it would be much work. So i'll I'll post like a just a description of of how it might be done. Yeah.

Irina Zaks: yeah. So just Jon Pugh: sorry. Any other questions.

Jon Pugh: Okay, I'm gonna just click through. So it once you download the module composer require You get these 3 out of the box site. Audit set on a report entity inside audit send.

Jon Pugh: You can just install those 3 Jon Pugh: yeah serialization. So it's just triple shows serialization. So if you use any, there's a ton of tools that that integrate with that.

Jon Pugh: and then you go to reports. It's under Reports site audit.

Jon Pugh: and then this is the traditional standard side audit that you can then print. But now you can just click, save

Jon Pugh: and give it a label if you'd like site, title, and hit save.

Jon Pugh: And now there it is. So if we go to the now we have go to the site. Audit saved reports. We've got it right here.

Jon Pugh: So when you want to get Jon Pugh: into sending. What you want to do is

sorry. I'm trying to drag a window. Jon Pugh: is there's site Audit server.

Jon Pugh: So site audit Server Jon Pugh: is the rest end point, and that will enable things for you.

Jon Pugh: I think it it automatically enables Q. Authentication as well. This is this: it'll actually use any rest. So if you want to get fancy. you can use that. But basically this is a really simple

Jon Pugh: key authentication thing where you basically you enable the module.

Jon Pugh: you go to any account, Page. So my account. Jon Pugh: and then you go to key authentication, and if you don't have one already, you can click, generate new key. and then you use that in this URL.

Jon Pugh: So Jon Pugh: you just copy that put it there. Jon Pugh: This I just put this: this is: this is my own

Jon Pugh: site. It doesn't. We're working on like there's no Ui for the service. So we're making a little help. Page probably be is going to be needed.

Jon Pugh: But basically you do that. Jon Pugh: And then Jon Pugh: a real remote report, save

Jon Pugh: And that's right. I have to. I didn't get this Api or all sub domain yet. So I just have to do that.

Jon Pugh: and there it is. Post was successful, tested. So now, when I send from Empire Drupal

Jon Pugh: and I have reports here. I mean a little view. But if let's go to the regular one

Jon Pugh: save site reports right. So cron report. So cron's been running right. That's it. So we know that it's saving reports on Chron.

Jon Pugh: And now I want to send it from my other sites. So Empire triple.

Jon Pugh: send it from here.

Jon Pugh: I hit send. Jon Pugh: and I have a send and save optionally. And that's it. It gives me a link of where it went. So

Jon Pugh: now I should have. There. Jon Pugh: I'm Empire Drupal.

Jon Pugh: That's it. Jon Pugh: Yeah, that's it.

Nice. Jon Pugh: Yeah. Jon Pugh: So I was curious about

Jon Pugh: fields and stuff. I actually I haven't tested this, but the whole feet the in all the fields are sent through

Jon Pugh: so like, let's say. Jon Pugh: what's that? Make this a little more interesting. Jon Pugh: We got a structure site auto report manage fields

Jon Pugh: right? Let's say, like text, say, add, add a note.

Jon Pugh: and I'm going to do that on this side, too. Actually.

Jon Pugh: as I want to test. If this doesn't work. This is a feature I want to have. Oh, my bad.

Jon Pugh: that's weird.

Jon Pugh: What's going on. This is regular Drupal: what happened.

Jon Pugh: anyway? Okay, it's working now. Jon Pugh: my thinking is, if this either. If this does work, it might, because it just takes the data and hit save. But if it doesn't, this would be, this is a new feature. I want to make sure it gets in there. So if you have the same field on either end, it should save it. So yeah, with that that's weird.

Jon Pugh: You or I plug in for formatter. Jon Pugh: I don't know if that's that might. It might be the entity, but it might be my entity. I that's a bug I just found. But yeah, okay. So now we have these 2 things. So now, if I go make a new report.

Jon Pugh: I can go reports Jon Pugh: side audit Jon Pugh: save report.

Jon Pugh: and that's like the node. Create field. So that's Note.

Jon Pugh: Something is wrong.

Irina Zaks: It's it's a bug it's a feature. It's it's gonna go. It's gonna I. I we love this.

Irina Zaks: We we love this live demo for the camp that gives us a spirit and our fearless leader, the way our fearless leader, John Vicar, put it. It's a camp.

Jon Pugh: Yes. Jon Pugh: So display. I think it's just hiding our note.

Jon Pugh: Yeah, there we go. So if you take the note, put it up top it, save then you can actually see the note that we added.

Jon Pugh: So I got it saved Reports Jon Pugh: new report with note, and there's the note I don't have like a send after the fact feature so that might be nice.

Jon Pugh: Send. Jon Pugh: They only sends it what? When it's saving it.

Did you? Jon Pugh: You get my note?

Jon Pugh: This is gonna be cool. right? Jon Pugh: I don't think it's gonna work, though that's not how it works.

Jon Pugh: So it posted. Jon Pugh: Or did you get my note?

Well, and maybe I didn't Jon Pugh: said that did work. It did work. Look a note.

Jon Pugh: Okay. So there you go. If you put fields on either end

Jon Pugh: you get to receive them, and that great that's triple for you. I didn't do it. I didn't even do that triple did that?

Jon Pugh: Yeah. Pretty sweet stuff. All right. I think that's time. Actually, we only we've tried to give it to people some time before between sessions. So

Jon Pugh: but my final slide up and say, thanks. Jon Pugh: I don't even have a final slide. So i'm just keeping on side on.

Jon Pugh: Or if you want to go. You can go to site Audit Cloud right now and click Google sign up, click the G to sign up with Google. And yeah, i'm gonna provide a site that lets you use our site for site audit receiving instead of worrying about maintaining your own server.

Jon Pugh: So yeah, I think that'll be fun Irina Zaks: this is. do you? Do you want to add this information to your session? You should be able to edit the session description, and we will be posting. We will be posting, recording once it's processed couple of weeks. I don't know week, 1, 2,

Irina Zaks: But this this is really exciting. Thank you so much. Jon Pugh: Thank you.

Jon Pugh: Yeah, that was fun. I'm talking and thank thank all the prior developers over 10 years

Jon Pugh: that they didn't. Jon Pugh: All right.

Jon Pugh: Now we can all just hang out in the hallway, the the virtual hallway.

Luke McCormick: the little G. The G. Here is a Google sign in.

Jon Pugh: Got it? Yeah, it doesn't do anything yet, but Jon Pugh: you can make a key. But maybe let me. Yeah, I'll test it out, and then i'll email you.

English (United States)



The Site Audit module is a classic. It will reach 10 years old this June. It gives you a detailed report of your Drupal site in the web admin, providing a nice pass-fail display for review. It has a drush command that renders the report in HTML, text, or vulcan.

The next version of Site Audit can now not only display reports, but can save them over time, and send them to remote servers. A "Site Audit Server" module is now available to receive the reports via simple REST API.

This means you can:

  1. Store site audit reports in sites themselves to view changes over time.
  2. Add fields to enhance reports.
  3. Save site audit reports on cron.
  4. Create a central drupal site for storing site audit reports from other sites.
  5. Send site audit reports via REST to the Site Audit Server. Receive custom data and do stuff with it.
  6. Send site audit reports via REST on Cron.

Vardot & ThinkDrop are using this architecture to build a "Drupal Support Dashboard" that can track all the sites we are responsible for, and give us feedback if the sites are in compliance and functioning.

This session will give a full tour of the features, a live code session for creating a Report and Checks, and we will create a simple Site Audit dashboard during the session.