 You guys excited? Yeah, yes. Yes? Yes. Good. All right. So, I'm excited to do this talk. I really like kind of the future of where WordPress is going. It's kind of my part of the future that I like. So, I'm excited to do this. How many of these are remark developers? Okay. All right. Let's see. Get it all. A little bit of PHP and CSS. All right. So, there's this presentation. I wanted to give you a good foundation. I'm a guide in general. And then you kind of grow into talking about building stuff with the rest of you guys. So, this is me. I have a company that's walking distance from here. And for each right, we're closer to Kobo. It's like a five minute walk from here. We build a lot of really cool things. I love the things that we're always working at. We do, I would say, about seven percent of our projects are WordPress-based. And everything that we build is also maximum. So, our goals are like, you know, they're from a custom plug and a custom theme or custom integration. So, it's all about writing the software to be built at WordPress. They've been doing this for a long time now. I don't think the first WordPress that's happened first in my life, played with the PHP file in 2007. So, it's been a long time I've been doing WordPress. And I also, as you mentioned, helped lead the first three Wordcams back in 2012. All right, so let's get started. So, here's what we're going to do. We're going to do a little one-on-one on WordPress APIs. I'm not sure how familiar you guys are all. I'd like to try to make sure we're somewhat on the same page here. That way, it makes it a lot easier to kind of get in conversation. Then we'll do a little intro into the WordPress on WordPress API, what that looks like. We'll create a little mini-beat where we'll talk a little bit about headless WordPress and then extending this beyond. So, it's a pretty aggressive schedule. A lot that I want to cover in this short period of time, but hopefully this goes well as you guys comment about it. Okay, so let's get down to the fundamentals of what we're here to talk about, which is what is the API and all this stuff. So, the way I like to think of APIs, again, some of this might be a refresher, but again, it's all about the same page here. We have some data, and we want to share it, right? That's kind of the fundamental thing we have here. We have some data. So, for this example, we have a post file. They published an excerpt. We want to share it with people. So, what do we typically do? We build a website to share the information with people, so we display the information to people on our website. But what if you want to display that information on other devices, or you want the information to be accessible to multiple devices? The way this is typically handled is with an API. So, that's what we're here to talk about is how you facilitate that. So, when I think of an API, it's basically a proxy to the data to be viewed in different areas. So, that's kind of what this is. So, how does that look? It's obviously not pretty like the website. It's more programmatic, and this is a j-time representation, which is what we'll be talking about today, but what this allows us to do is how to break software on top of other platforms to access the data and show it to other places. So, that's, you know, it heads for what the API is and what's pretty useful. There's lots of servers out there that have APIs, as an example, a lot more than just that. Okay. So, what is restful? So, we're talking about restful API. So, it's important to just have a good understanding of what a restful means. And so, what this is kind of broken down is representational. Representational state transferred. And I have the four kind of main concepts of what this is. And we're going to go through each one of these just so we have a good foundation. So, let's look at this, what this looks like in terms of an HTTP request. So, an API is basically a bunch of a series of URLs that you can hit, a restful API. And when you hit those URLs, it returns data back. So, we have a few things that we have to break down into what this HTTP request looks like. So, we have the URL itself. We have the methods. Typically, when you use your browser, and you type a URL in, you're actually using the get method. That's what a browser does. In an API, we actually, a restful API, we have more than just a get method to get data. We'll talk more about that. And then we have header method that you'll also be able to add. And you also have the body, and that's ultimately what the request is. So, we're going to walk through this a little bit more so we all have an understanding of what these are. The second part to a restful API is its resource-based. So, what this means is the URLs, the way they're generated, is typically based off of an object. So, if you think of a custom post site as a resource, that's kind of the same kind of concept here of how that fits into play. As I mentioned before, a little bit about the HTTP requests. So, you can get a collection of posts. You can get post slash one, which gets a single post. You can use the post method to create a post, and those posts and posts is in there. Then you have the put and delete, which helps you update and delete those things. So, these are the different methods that you're using. And as we get into this a little bit more, you'll see how this all plays into the WordPress REST API, because all of these are the different methods that you're using. The WordPress REST API, because all of these things are components of it. The next part is stateless. So, in a RESTful API, every time you make a call, the authentication happens within the call. So, every call is self-contained, meaning that the way it typically works with authentication is authorization happens first, somewhere like a login, and then you have a token that you basically pass back and forth with the API, so that you can basically get the data and have permissions to do those type of things. So, this is also done with WordPress as well, where there's a token, and again, we're going to cover it a little bit more, but I'm just trying to put my mental here. And then we also have representation, which basically says the objects that are returned is in a format that is a greater problem. It's not common, but today we're focusing on JSON. Any questions on the foundational REST stuff, or are you guys good so far? Let's jump into the WordPress REST API and how this all comes together. So, since WordPress 47, the REST API has been available, if you actually just pull up in your browser whatever your WordPress site is and type in WP-JSON, you'll be able to see basically the core calls within WordPress API. So, apparently, it's there for you to be used. So, as an example, if you add a little more to the URL, I can get a collection of posts. So this is, you know, I'm starting really fundamental here, but we're not going to go into posts and pages and other CPTs. Obviously, if you take one, you can assume the same for all the other CPTs because I almost, which we'll cover a little bit near the end. But, so here's the posts. So, as you can see at the top, the URL is a little bit different. I have a version, and then I also have slash posts. And when I make that call, it's going to return an array of JSON objects. And each object is all of the data related to each post. So that way you can use it to do something else. So, I forgot I had this, like, little zoomed in. So there you go. There's a couple examples here where you can get posts. An individual post, or you can get a specific caliper. So this is really nice because not only can you get all the posts that you can also filter, like get, or your tags, and so forth. And all of their documentation and the projects is up to date. It's relatively up to date, and it does a pretty good job to help with seeing all the possibilities you can do when you get these requests. Okay. So, let's talk about building an inventory. I have an example I built that I took in 2017 and this is what I wanted to do is make the front page of 2017 be restful so that way we can work across the UPI so that way the posts are loading using the UPI as opposed to being done within PHP. So I think the biggest difference here to keep in mind is when you're building something with a WordPress UPI and you're building a theme specifically by default, a theme is PHP files, right? And you're using PHP tags to display the data, which means that the server on the back end is running into variables for you and then sending all the HTML to the browser to load the content, right? The difference now is that information doesn't exist on the front end. It's being requested individually through the UPI and then we have to take the data, bring it into the browser, generate the set HTML that we need to generate, and then insert it into the document and hence we have the data. So that's how a lot of websites work today which is like the browser is now always refreshing and it's kind of doing a pull and push of data using the browser and then releasing it on the front end. So that's essentially what we're going to create today. It's a mini theme that does exactly that. It's a pull. Alright, so Are these last ones available? Yes, yes, I have all these slides available basically out on this. So this looks very familiar. This is your 2017 theme. So I'm sure you guys have seen this many times before. And what we can see here is how the posts as an example have such a prepped ahead. I thought I was already hoping that those would take them. So let's just walk through this a little bit. We can always take a few of those technicals that I don't know why it's not working right now. Of course, quite a demo. I swear, I think it would be fantastic. I should have had it reloaded. So as an example, I just kind of showed you the lives I get in screenshot as well. You know we have those posts that are loaded there. This is what we typically would see. Of course, it's rendered to the end user and you just see it. We're going to render it a little bit differently using the main guy. So to do this, let's talk about what you have to do within a theme. I'm not going to go through how to create a theme. I have the assumption that you have a little bit of understanding of how the themes are created. But let's talk about how to add into your theme the dependencies that you need to do and the integrations so that you can use the API. So the first thing that we need to do is we have to add some JavaScript dependencies. So this is in the functions PHP file of your theme, which most of our alt-thieves have. And so what we're doing here is we're using the WP and Q-Scripps action here and we're queueing the WP API. So this is inherently in WordPress but it's not inherently in Q so you have to add that. And by doing that, we need to leave our going to have. In my browser console tool you can see my WP API setting so if I make that call my console I nearly have a nonce or group and a version which helps me get a little information I'm going to need for my API act or for my development of the API. So that's the first thing I have to do and then the second thing I'm just including here is essentially a JavaScript file. This JavaScript file is going to be making the requests to the API to basically retrieve my information. So those are the two things that we're adding to our functions VGP to do the integration. Alright, so the next thing that we need to do is essentially just make a HX call to the API to retrieve our information. So you can do this, this is using jQuery's HX call so you can see I have the API setting to that root is basically taken from that variable. So by adding that script to your you immediately have it available to you so now I can use it in my JavaScript. If you don't include that WP API script, you cannot do that and it will work obviously. The other thing we're doing is we're adding a header. So you can see that there will be four send, send, set request header and it's an XWP nonce and then I'm passing the WP API setting to nonce. The reason why we do this is this is your authentication and the instance that you want the site to be able to do something such as modify a post, maybe you want to have the ability to, on the front end, have the user modify some of the text of a post. You can do that by using the nonce. The nonce is going to basically help with the authentication and what that also does is it's not going to have user's information specifically but what it does on the back end is it uses that to determine who the user is, whether a logged user or not logged user and whether they have the permissions to do so and we'll get a little into that a little more. So that's the API call. That's using jQuery. This is pretty straightforward but we're doing an agent call. The nice thing is is WordPress actually provides you a JavaScript library. They have a backbone.js that you're built in. So this actually makes it even easier to integrate or work with WordPress API. So they provide too many things so we have models and collections of models like a post, a collection is a collection of models. So that's the two things that we have. So now taking that example that we have before with jQuery we can simplify our JavaScript and write something as simple as this. So you can see I have post collections equals the jQuery.intGuy that flushes and then capital P and by doing that I have this object that I can now fetch the collection. And so the next thing you can also see that I'm going to carry is I am providing category 7 so I won't just return to me all the posts that are in category 7. So this makes it a lot easier because you can do just two lines of code and it handles the authentication for you as well so you don't have to think about adding or using any other amount. This is all in my library. And you can also see as a second example I can do the models dot posts and provide the ID and that returns that JSON object back to me to use. Cool! Yes, do you have a readbook? I do not have a readbook or I can throw it somewhere I'm done. Yeah, I think I don't. I will most likely I built the I just built the theme recently. Yes, yes. It's fresh. If you do that it's fresh in your mind you literally don't have everything you want to talk about. That is honest. But anyways I will get and then I'll share with I'll basically just take a whole theme since you guys can go hack away. So let's expand on this. Now if I haven't made it clear where we do these type of things is in that front page JSON file that's what I have in the call file is not you don't have to call it that. So if you remember when we queued those two JavaScript files one on this front page so what we have now is a little bit of JavaScript and so you can see what we're doing here is we have this post collection which we're getting and we're fetching them and then we're basically then which is kind of what we're doing next so that was kind of compelling here I don't know what you guys are familiar with JavaScript promises much so the nice thing is this is you can basically it's all JavaScript promises which makes this a lot easier if you're doing a lot of things that you want to do easily. Which is nice. Okay so what we need to do now is we have this collection right so we have this JavaScript that's JSON objects and we need to display it on the front and how do we do that. So I'm using a small JavaScript library called SimplerJS to do so what we can see here is um I like the points um so that's a piece of code that you saw on the previous screen it's at the very bottom now so it's the same stuff and then I just have this function up above which is called renderedPosts and what I'm doing now is in the then that was empty before I'm calling that function passing those models of postPosting.models which is that array of posts which is a function up above and I'm looping through each one to generate the HTML um and so like I said I'm using SimplerJS so I have a simple function where I can pass the components and tokens in and it generates the HTML the question is where does the HTML come from so in this example we have a template of HTML and so this is very similar to the HTML that you're going to see in a but it's actually tokenized so you can see in here I didn't tokenize everything I just tokenized a handful of them for the for a single example but you can see I have like you know the dollar it's rather compelling I have postTitle, postExter, and the ID so I have a few different ones in here so essentially what the SimplerJS library does is when it loops through it takes this piece of HTML and injects the tokens into the values into each one of those the HTML sticks into the DOM that's what it's doing in short so when you do all those things you immediately have those posts showing right up you can see that there's you have their classes and everything so apparently it will just style to your theme and run from there so that's how you load those so the next thing that we can do is actually add a little bit more interactions to this and what we do is we can add essentially the event right here I'm using click so when you look on the .morePost object we want to load more posts so it's relatively straightforward the cool thing about the WordPress EPI client JavaScript JavaScript libraries are it gives you the ability to just call it .more and it loads more posts so you can read one, five, load five, load ten you can do that when you make your first call or you can do it within the .more parameters which you can look up client libraries with documentation but what's really nice is now I can keep this really clean I know I have this loading which is another piece of code I just wrote so that we can show like an animated gift that pages loading while it's retrieving information from the server or going back which is what you often see so I have a function that hides and shows that so yeah we just call it .more and so that way I was going to look at it and it's running this and it loads more posts and renders it back into the page on the loads and I just have to show you an example right now because you can see exactly what this does let's try it one more time okay so I have the one and so like we put the interactions and I click on it if you notice it loaded the gift and then while I was doing the gift it's showing it retrieves the new posts and then it reruns them so now it just continues to hit .more and it's reloading more posts right on page and now reloading so that is all doing that essentially any questions on that I know I went through relatively quickly but it's actually pretty clean you can do this stuff really it doesn't take a lot of code to do something like this yes are there any hooks that you can use to say you want some custom data on your posts can you add that today if you've got some help yes we're going to get to that again we're going to talk about extending my many example that kind of walks through taking a page and rendering it some of the other things that we can also do if you want to take your posts up further is you can actually so if you're going to let the single posts and people are making comments normally when you fill up a comment the page reloads right they have to like hit it and like submit the form in every load that person's comment there is the ability for people to submit comments using the same stuff we did you have the ability to do that and I'll show you a small code snippet how that works but you can also manipulate and push it and not just retrieve it everything that we did there is just retrieved alright so have you guys heard of Wordpress and it lists Wordpress concepts I wanted to see where we're at I was sitting outside it was like a slide above alright so let's talk about this a little bit differently though I'm going to give you the example Wordpress has a CMS we love Wordpress because the CMS capability that is at its core what makes this an amazing platform is the fact that we have a kind of old manual tool that is easy to use and that's what we're familiar with is this screen this is going to be a very arcade soon but this is kind of where what you see now and this is what we're familiar with and this is what I hope but what if we wanted for a completely custom admin for our clients or for myself what if we wanted to have an admin for Wordpress not just for a personal upside or business website we would use Wordpress for e-commerce we would use Wordpress for forms and so maybe I don't care about posts I'm an e-commerce I'm an e-commerce site and I just want to know about my finances I want to know about my products I want to know about hosting I want to manage those differently like the admin right now for Wordpress is basically built to manage the objects and the posts and pages there are better UIs depending on the type of sites that we have the nice thing about the rest of the APIs now we can create those new APIs or those new admin interfaces as an example you can create an admin interface just like this on top of Wordpress and it looks completely different but it was structured and organized in a way that meets the needs of that it clears up and you know I'm mentioning Gutenberg Gutenberg is a new admin interface for managing your posts and objects and that is right now being built on the rest of the API that we're talking about today so this is a new interface that is using this rest of the API and as you can see it's a completely new experience that's being created and that's why I think it's going to make this powerful I think FoodPerc is just the iceberg the tip of the iceberg of where we're going where we can give up because I can totally see this admin interface there's going to be like a series of admin interfaces depending on the type of site that you're building at Wordpress that is optimized for those reasons and that's what the power I believe can happen with this API alright so let's talk a little bit about manipulating data I know I kind of alluded to it so you can see I'm using the put command or the put method up here and not yet and this is how you would type a modify as you can see when I try to make this request I already know that it is post because I'm not authorized so again as long as you are building this we don't authorize that and going back to that object we have that nonce that we need to include again we don't have to worry too much about this if you're using the client library but if you are building this on another third-party system let's say we're not using Wordpress and I'm using an iPhone app and I need to access this data then you need to kind of be aware of these things okay so then I'm not going to go too much into this but I just wanted to mention that if you're using postman at first I would say you should use postman if you're working with APIs just straight flat out it is by far an amazing tool that I'm running through stuff that you can do all the time that makes developing with an API so much better so I should have alluded to that at the beginning but I'm saying it now but when you go to try to test things with your API you want to modify stuff using postman because like I mentioned every single call is independent of itself we have to have an authentication involved to modify the post and to do that you have to essentially add a cookie as well as add a header to the request and so that's what I'm showing you guys here which is we have to provide an authentication so what we do is I basically load I log into the site in my browser I go into my console and I grab the cookie from my browser as you can see here which is the WordPress login one essentially copy and paste that cookie into postman and then once I have that I can make my request as if I'm logging but there's more I don't want to go too far into this so you can be aware of that again I will show the slides so you can look through these things because there are links in here so that you can see you can retrieve them, you can create posts they show you all the examples for covers and one of the things I just showed you a few but you can do all of those things and then taking us a few steps further you can build in the WordPress and currently you have all of these objects the posts, categories, tags, comments and so forth so all of those are available to you even with that client library I'll give you an example of the I'll give you a post using the essentially retrieve it and then you can set the title and it just gets that's it, so it's really clean being able to do that all of those things you can do questions, alright so that is in short the concepts where you can really create some really cool interfaces from it so let's talk about taking us one step further and extending this beyond your basic objects you might add even more stuff to it the first thing you can do is if you're using plus and post types you can essentially automatically tell that plus and post type to add itself to that client library so if you're creating something new such as pets in this example if I want to do .pets .fetch you have to kind of tell WordPress like I need to add this to the rest of the guy so that was an example so if you want to do something like that that apparently isn't going to be there just because your plus and post type is there it won't be there so what we have to do is essentially give it a rest controller so we have this would be rest type controller into when I register my plus and post type so that's what you'll have to do and then this is going to help you add into that so that's the first thing that you can do so if you're doing plus and post types that's the first thing that you want to do is let's say you just want to credit your own API endpoint that is not a custom post type it's completely like something like whatever you want to be like maybe you're taking two different post objects and you're manipulating or you want to retrieve information in a totally different manner you can do that as well so let's talk a little bit about developing an API endpoint as a whole what we're going to do is we're going to talk about the method so you should try to stick to the rules of the get when you're using those methods based off of retrieving creating, updating, and deleting so use those we want to use the authentication as needed we want to validate user data so we want to make sure the data is being sent over is good before we do anything then we perform the actions and then we're going to turn to JSON response so that is the life cycle of what you need to do in an API endpoint so this is probably an example if that was one of the pet things but let's say that we want to add a custom endpoint that the search phrase something called pet name is not vital it's not post-vital this is just a one little object so here's an example that you can see here there is an action called REST API and you can register your own route so the route is the URL that you're in eventually here so what you do is you give a version and then you give the route and it is you can do things like the ID as dynamic as the URL and so you generate that you can declare a method and you can declare it to call back which is essentially the function that's going to retrieve the data so that's what we're doing here so that is where you can see down below this function you've got some pet I'm just having to retrieve posts in this example and then you can see that pulling it together and then generating the best response which would now be available to you with Wordpress that helps generating the response you set this VAS code typically to 200 of the success that you can use and then you return so it's relatively straightforward you register in your route and then you're returning the data so let's pretend that this call though I only want certain users to be able to do that because if you just did that right now you can start adding stuff to your site and then get it you don't want that to happen so we have to do the we have to have some type of authentication so there is another parameter the red is the route called permission to call back and in the permission to call back you do your capabilities check essentially so right now I'm using the current user can edit other posts that's the capabilities that happen to choose for this example but you could whatever capabilities you have in the system you do your check there this is going to use that authentication thing I was talking about so we have that cookie, we have that nonsense being passed in the request the word processing guy is going to check to see what the user is and then check to see if that user can have that permission or capability and if they do it allows them to continue and do the action that they do if they don't it's going to kick back to them and never put that further function that we talked about it just returns that you can't do and then the lesson that we can do is validate the data as well so there's two things permissions, validation and again we have this parameter of this arts and then you can say there are the data that's going to push it over and have them use this example and then validate and call back the data comes in and I'm just doing a very simple thing here which is like is the merit whatever code in there and you can do this for every single variable that you are posting or pushing to your API to validate the data as well you can see there's a variable that's called status and you only want to allow them to send the status over as published or dropped and no other jump you validate that this field doesn't match our validation so once you take that all you put it together and I want to do that but this is returning the response and there it is putting it all together I know it's really small to look at but essentially you can see that we have the arts for validation the validation of the data the permission call back and the retrieval of the data so that is a nutshell it's very simplified but you can really hopefully see that what the possibility is not great to go with that endless operations so that is everything I got any questions? I know I did cover a lot not many specifically yes but I would say it's very PHP how soon? I guess in your mind although society in a project you've been working and switching to Rustble are you are you convinced that this is the way to go and to get rid of PHP you're not going to get rid of PHP because it's only the right PHP to do if you're using WordPress you're using PHP so I would say if you're using WordPress you don't want to use PHP I don't see any time soon that WordPress is not going to have PHP I understand that more jobs are in WordPress in general and I think the rest of you guys even though it's been around for a couple of years now I still think it's super early and I'm really excited to see what people will do with it but you still have to get to show all that the hooks to generate the route to do all the pedications all the PHP you still have to write PHP at the very least it's the right PHP that language that WordPress is on I was curious why you put the API calls in the boot itself is there a better timeline to put it in the plugin or yes that would be what I would do my preferment that's what we do normally I'd like to do everything in the team take a conversation my goal is to show everything you can technically do it on the team but what I would typically do is I would build a plugin that would be an API and then I would build a theme that talks about plugins at the time that is what our company does we build rest of the APIs as a plugin but that's exactly our plugin it works very similar obviously in the way you create plugins you use all the same stuff one thing to mention though is if you're going to do like I want to write your data in a specific way then you would want to make sure that that's not in the plugin so that's the design part but in order to reuse the API calls you shouldn't put it you want to use it on different devices or whatever it would still work on other places because the endpoint still exists it's not as long as the theme is like the API is literally just retreating it's just the back and forth of data objects if you have the ability to do all of the manipulate of data objects regardless of the theme or plugin that's generating those API endpoints I can still go build an icon app that talks about API even though it's built on theme that doesn't change it's more of a code thing like if you're trying to as a developer of the API then you can build it at the plugin and then build a theme that talks to that you could do that but if you're just building an API that is specific to a theme would that make sense? yeah but normally I would probably be tired of that theme forever but I don't want to be able to pull that yeah and that's why you do a better design to be able to put it in the plugin but I'm going to say though today I'm talking about building two different things but yeah you could take a plugin or build it in the plugin and it should be different especially because like you said you change the theme all the code to the theme it lost but at the same time if you're changing the theme the theme will probably be different and maybe it doesn't even represent it so you have to kind of think about what you're doing it's not like if I go to change it if I go to change it and I change the theme the theme has to know the API exists and it has to talk to it so would loading the post is to be to Ajax better for that user group faster are there any negative consequences on SEO from that? yes there can be so yes so I'm not for months I know things are always changing right with the way Google index is stuck I know that they index some things like Ajax sometimes they don't but yeah there are some things that when the crawler is depending on how the crawler is going to pick some things up and there's a couple different ways that this is handled depending on the content you're showing kind of think of the current method because it has to be the few things that were done but there's some things that you can put in the site so that when the crawler is in your site the edge of it will retrieve the information for them what I do is I typically err outside of if I'm trying to go over SEO I typically when I load everything into the HTML it's a lot easier especially if you're doing even like Google has like these structured data I need to generate structured data for comforter posts and stuff like that those are the things that are easier to generate and those are more SEO friendly I think if you're building more administration tools or you're building more app type functionality then the API becomes a lot more powerful Would it be worth it to write the API and load that via PHP for initial load and then have the more lovely for more posts? Yeah, we've done that we've done that playing time and now what we do is what we need because you're already making these to be robust for like a single post because you have the route that you want for the URL for a single post that needs to be done with AJAX you're making the API request anyways for that post but the instance I want to show more like this example I could load the first five with PHP and then just load that for it I was just wondering, you had like two examples that you went through one was where you were setting up a API request to pull in that information put it on AJAX and the second one that you did was a custom endpoint you used more of the WordPress you know code next to it yeah, JavaScript I was just wondering what is really the difference between using those they both essentially do the same thing or that's how I'm seeing it anyways it's a great question it really is the difference of going through the AJAX version as opposed to going through the WordPress version of that so when we build the API that API is now accessible like anything that's created on the app anything, right? and the example with the simple object like the airport approach with the fine library is specifically if you're working within that one WordPress website if you are building like an iPhone app, you have to do both you have to use the commands to do the request but if I were to build another website that was not within the WordPress ecosystem you got a different domain I would have to use the jQuery example because I don't have that library available ok, so you're going through the difference between others and bring us essentially I know there's a lot the hard part about it is like I'm running over so much and it's so hard to cover a lot so if you guys have any questions or you're feeling good I'm going to be around all day so we can always chat more, yes it sounds like you kind of go more in on some of the future of where WordPress is going do you see any applications or any illumination with SSL versus just non-SSL I just see so many API kind of applications being mentioned you know, if you're not SSL at all and you're getting used to them I wonder if there's any directions that kind of start walking down within WordPress from the API to say look, you're not you're going to use the API to understand that I believe every single HTTP request should be SSL every but you don't see anything right now within the structure of the API well that has nothing to do with it that is like the way your server host is set up for the hosting, that's what the SSL looks like that this is outside of the control of that like we can't control SSL essentially we can write code that says don't make requests to other third parties but like everything should be superior in terms of you're pushing down I've given people some examples of simple things like a contact form well it's a contact form I believe in SSL and if someone has emailed a code number that has submitted a contact form and now that person's immigration is compromised that's a very small piece of information but there's value in that so everything should be encrypted happy to put some crypts around how they're to like do this maybe one more question great to be a lot of time done yeah alright what have they been carrying out with SSL I don't know if there are questions what should we do next week what should we do yeah I mean the low generally that's the working part yeah so basically this is an EU kind of thing that was set up which is basically said that we have to be better at informing our users of our site about the information we're collecting about that and the second part is trying to understand which has required us to take steps deeper into our projects that we're doing because a lot of the sites that we're using are using third party systems like Google Analytics per se most people can probably do as well and Google Analytics collects the tone of the link with our users it's anonymous right so there's if you go to your GCard there's a difference of personal information and personal anonymous and you still have to you shouldn't be able to identify the human being based on the information that's being collected which is kind of the second layer to it if it is being collected it is more knowable than it has to be but essentially we're helping our clients understand what information is being collected and putting the correct most of the notes into the slides a lot of our clients have third legal teams that we're working with we basically say here's the groupies that are being logged here's the time limit that they're being logged and then they draft it up we put the banner on and we link to the what article that they drafted so that's kind of the flow that we do when it comes to the notifications I was sitting really trying to go up here and what we're recommending where I work is that the notification is a problem now if somebody is going to be cookie-less and maybe browsing the economy or changing the browser settings wherever every time you go through a different page or if you have to have the notification throughout the entire site I cannot seem to find a wordpress plugin or maybe you would even know one fact will show up only once without knowing without being cookie so if somebody comes in Cognito you can't do anything the whole point of impacting the browser that's like hoping up a new computer you can't you can't like I would not I would be the wrong we shouldn't because I think that we can use all the situations where someone can see it because of the wrong part the law is very short that is a new user they see it the first time I would say like that isn't as basic as anything but I don't think people are going to do that and then complain about it while you're opening up a new browser that's like logging out every time you click on I think that's a problem I think that's a problem but it's only without collecting data they want to be able to put one notification one time to be clicked on and then have it go away it's a new user right you have to let everybody know right the browser do have no information about the current user so a lot of cookies yes that's the part hey now here's an example which is if someone's lost in and let's say the first person is doing it 0 and when they log in that's when you start to click once they log in you can decide because now you can at least you have the ability to try now that you think you can log in I think I can open the window and then you can decide which one but this still requires them to do something to tell them that they are a re-opening person otherwise there's no other way to do this yes it says it's already there it's creating a cookie so it works out great so yes yeah that's it