So let's talk a little bit today about orthographic projection, basically a way that we can take three-dimensional objects and visualize them on a two-dimensional piece of paper. So for our example, since this is an aerospace class, let's take a look at a paper airplane. So if you follow along with me, what I would like you to do is I want you to go ahead and construct a paper airplane of your own. Take a few minutes, pause the video, and create for yourself a simple paper airplane. Now that you've completed it, let's talk a little bit about this three-dimensional paper airplane that you have. Notice it's a three-dimensional object. But in our three dimensions, there's many ways that we can look at this object. Right now, we're looking down at the top of the airplane. OK. But if we rotate it, we can take it, we can look at it from different perspectives. There are an infinite number of perspectives that we can look at to describe the airplane. The question sort of becomes, do we have to show all these pictures? Yes, a picture is worth 1,000 words. Do we have to show all these various pictures of this to get a sense for what the airplane really is? Well, it's definitely helpful, but that contains lots and lots of information. Can we get most of the information down simply by looking at it from a few perspectives? And because this is a three-dimensional object, we can actually convey almost all the information using just three sort of views. So we're going to start by considering, we're holding the plane here. Let's start by looking down on the plane. If you focus directly down on the plane, this is what we call the plan view. All right? So there's one way that we can look at the plane. Now I'm going to rotate the plane 90 degrees. I have two choices of how to rotate it 90 degrees. But instead of looking at it from the top to the bottom, let's rotate the plane 90 degrees. And we're going to look at it from the left side through to the right side. So this, depending on how you sort of orient or think about this, can either be called the front elevation or the side elevation. Now this is the side of our plane. So maybe we can call it the side elevation. But the idea, again, is that it's elevated. It's going across the bottom here. But then we're also going up and down. So that's the idea of an elevation. So now we've looked at it from the top, what we call the plan. From the side, what we call the side elevation. And then let's go ahead and rotate it one more time. 90 degrees from the side elevation. This is also an elevation, but this would be what we would call the front elevation, or perhaps the back elevation, depending on how you rotate it. But generally the terms we use are plan, side elevation, front elevation. Notice if I rotate it again, another 90 degrees. There's a different way of looking at the plan. With it rotated, but we'll have to rotate it this way to sort of see it the way that we saw it originally. So we take a number of different rotations to sort of look at this. And notice if I take that picture, that picture, and that picture, I should be able to get a pretty good idea of what the entire plane looks like. So that's what we're going to try to go ahead and do here, is to map out those three things. Let's start by drawing, as best we can, the plan. So to begin, to create our plan view, we're going to want to go ahead and sketch this. And we're going to want to get a sense for how big it is. So I'm going to start here by measuring my plane from the front of the plane to the back of the plane. And we're going to say that's about 7 inches. And notice if the plane is sitting normally, we'll measure it across the width of the plane. And it changes a little bit as I stretch the plane, but we'll say that's approximately 6 inches across the plane. So we're going to call this dimension here our x dimension, the sort of side to side dimension. And this dimension here, from the front, which is close to me, I'm in this direction down. I'm in this direction to the back. We're going to call y. Let's go ahead and create an axis so we can sketch this. I draw here. So there's our first axis, our x and our y. And we can go ahead and sort of sketch what the plane looks like on our x and y axis. I notice that this started. We're going to sort of put a medium, a middle point there that the plane runs right down the middle. And that was about 7 inches. Let's see if we run down the sort of middle of the plane there that's a little closer to. So it's about 6 inches to that middle point of the plane and then it extends out to 7 inches. And again, I'm doing a rough sketch. One, two, three, four, five, six. So my plane comes out, the middle sort of center line of my plane runs there. And then I measure it out to the points of the wings that were about 3 inches away on either of those sides. There's a little bit of a nose here on the tip here that's about an inch across. And I'm going to go ahead and see if I can roughly recreate, let's see, that's supposed to be 3 inches down from there, what my view of my plane looks like from the top. So there's a rough view of my airplane from the plan view. Now, if I want to express this information on the same page, I can recognize that everything here in this dimension along this x dimension, as I turn and look at the plane for what we call the side elevation here. As I turn to look at, now I need to decide what I'm rotating it about. I'm going to go ahead and rotate it around this flat point so that the plane looks actually around the bottom of the plane, so that the plane looks something like this and the wings slant up a little bit. I'm going to recognize that it still has these side-to-side measurements. I still have an x-axis. However, now I have dimensions that are also vertical. In fact, this rises up to be about, let's see here, it looks to be about 3 inches or so. So if I'm going to actually sketch my airplane here, what I can recognize is things like the nose of the plane. Here's the front of the plane, and I can recognize that the nose of the plane has a position on the x-axis. So I'm going to try to locate that same nose of the plane in the same position on the x-axis. And the back of the plane also has positions on the x-axis, so I can locate the tips of the wings in that same place on the x-axis, but now they have a different z-location. So I'm going to put them up about 3 inches off. Let's see here, 1, 2, 3, about 3 inches up off the top. So you can sort of see that this location here shares an x-position, but on this lower picture, I'm drawing this with an x-axis, but I'm also drawing it on the z-axis. So for my plan view, I have two coordinates that I'm concerned about, x versus y, but for my side elevation here, I have two different coordinates, the z-x and the z. Let's see if I can sort of continue sketching what that looks like for the rest of the plane. Notice we see something that looks a little bit like this. We'll go ahead and connect the top of the plane to the top of the plane. And the bottom of the plane to a location that's a little bit inside there, then that rises up some amount and connects to the wing. But there are some other sort of pieces in here. For example, there's a little bit of a piece that's right here. And if we see if our wing extends up just a little bit, if we look at our wing, we can sort of see that a little bit. Maybe that extends out just a little bit, that we line up that tip with where it's located there and what we can see from this perspective here. So the idea is we're lining up points along the x-axis because that's the axis that they share, but we have different values on the z. And there's sort of a sketch of what the airplane looks like from the side. If I want to, I can also include those other sort of pieces here, those internal pieces of the wing that sort of drop down here. All right, so that gives us two perspectives of the plane. Now let's go ahead and rotate the plane one more time and look at it from the back slash front elevation. Notice in this case we sort of see this strange v shape with the wings that are extended. And we want to sort of keep things aligned with the other two parts of the picture. Well, now this is where we have to be sort of, we have to consider where we draw this. Notice when we drew the side elevation, we drew it directly below the plan. Well, for this other elevation, the front elevation, we're going to draw it immediately to the right of the side elevation. And we're going to try to line up the pieces that, well, have the same z-axis. So I'm going to create another area over here, another axis. It's the same z-axis. But now I'm also going to need to create a different axis because what we're seeing here across this dimension now, across this dimension here now, this is side to side. This is the same as what was up and down on our plan view. So this is going to be our y-axis. And we're going to make sure these y-axes line up by creating something, by creating a diagonal line. Here's a diagonal line here. This line has a name. It's called the miter line. Sometimes you see it spelled with an R-E. Sometimes you see it spelled with an E-R. But it's a miter line. And the idea here is that anything that has a y-dimension on my plan view will line up with the similar y-dimension on my front elevation. So for example, the wing tip on the side of the plane here, I'm going to go move out until I hit the miter line. And then I'm going to bounce it off that miter line and move down to some point. That's going to be the far left side of my wing. And similarly, the far right side of my wing is going to come out. It looks like I might need a little more space. Do I have it? I'm not quite going to have enough space there. But the far right side of my wing is basically going to extend right there up against the side of my paper. So there's the extent of my wing. The middle of the plane is going to be located. I go across from the plan and then drop straight down when I hit the miter line. And now we have a y-coordinate for the middle of my plane. So let's go ahead and take a look here. We see that there's this, for example, this point that's right here on the wing. Actually, let's do this point right here. You see this point that's right here, where the v shape comes up? I'm going to keep my finger on that point and then turn and rotate so we see the plan view. So notice we know where that point is right there. Let's go ahead and locate that point. But see where it is located on this front view? Let's see if we can locate that and sketch it. So here's where the point is located. I'll mark it here in red. There's where that point is located. We know what its y-coordinate is. I'm going to follow that y-coordinate over and drop it down. But we don't know its z-coordinate. Unless we go over here, let's take a look in the side elevation. Where is it on the side elevation? Well, basically, it's right up here at this peak point, maybe a little bit beneath our wing. There's the point right there. So now we can go across from that point, which is right here. And now we've located where the point here is the point here. And here is the point on our picture. So now I know that that sort of extends from here down to the front of the airplane. Let me go ahead and draw that in. And now I've established, whoops, that's a little too far. We notice the bottom of the airplane. We know that the bottom of the airplane is located at this z-coordinate. So let me go ahead and sketch. There's the line that creates that v at the back of the plane. And I'll create a symmetric one on the other side. So now I've created that v perspective. I can also figure out where the tips of the wings are. There's the tips of the wings that come out. Here I've located, let me circle those in yellow. There's the tip of the wing there. There's the tip of the wing there. Let's see if we can figure out where the tip of the wing is on the front elevation by lining it up. The z-coordinate we get from the side elevation. The y-coordinate we get from the plan bounced off of the miter line. And there is where we see the tip of the wing. So now we can connect that wing tip. Again, from our perspective here, I'm running out of space here, we can go ahead and connect to that wing tip by drawing the line out to that point. And I will replicate that on the other side. So each piece of this is actually connected the same way. For example, if we look down this line here, you'll see that there's the nose of the airplane. We can just barely see the nose of the airplane touching right there. If this was perfectly flat, we would just see just a little bit of the nose in that you see some sort of these planes where the wings are attached there. Well, let's see if we can find where that nose of the plane does have a z-coordinate. It does have a direction in the vertical. So let me come across from there. We notice that that's located directly in the middle here. So that little bit that's extended there gives us another place that we can make a connection. I made this a little bit dark and thick when I made those lines. So let's see if we can erase those and make them a little less thick so we can see the distinction between them. One line drops down from the wings to the back of the plane. And then there are other lines that drop down from the wings to the front of the plane. So you can see just a little bit of the dimension of the back of the plane from there. And then we also notice when our wings, we can sort of see the basis of our wings, the bottom of our wingtips. Our wingtips come out to a point. I think our wingtips extend down a little bit. Once we actually get out here, they extend back down a little bit, back down. And then we notice from that point, those extend out toward the front part of the plane. And now I believe we've sketched at least the basics of our plane. The key element here is to notice that our side to side, if we're moving side to side, that is our x-axis there. If we're moving and that x-axis appears in two places, both in the plan view and on this elevation written below what we're calling the side elevation right now, if we're back to front, that appears in two places, both in the plan view but actually in this rotated view over here that we call the front elevation. And then up to down is repeated in both of these. Now I will say that we call this the side elevation because it was the side of the airplane. And this is the front elevation because it was the front or the back of the airplane. But typically, these terms are actually interchangeable, that the side elevation is the one that's drawn on the side, that this is the side elevation, and that this is the front elevation. Not interchangeable, they're interchanged. Usually we call this one the front and this one the side. I just didn't want to confuse the terminology of it being the side of the airplane with a different elevation. But this is the way you draw an orthographic view. You have a view from the top, the plan view. You have a view that's drawn directly below the plan view, typically called the front view, and then one that's off to one side called the side view. So I'm going to ask you to do now, just do your best to sketch your own airplane. Can you create a similar orthographic view from a three-dimensional object?


Before starting, when I was last year at the Drupal, I noticed that by the audience in the room, if it's a few people or a lot of people who understand that there is a problem on the future, what the session is about, a problem or understanding or too many doubts or enough documentation, so something that people want to know. So I'm happy that I'm not the only one with doubts about configuration in Drupal 8. So today we're going to talk about configuration deployment in Drupal 8. It's an intermediate session, so I will skip the presentation of what the configuration management is, how you can use it, brush, basic things, so we can proceed to the deployment itself. So a bit about me, I'm Gabriela, I'm from Italy and most of the people here in the UK are from Gabi, and I'm Gabri everywhere, on Drupal, on Twitter and on any other social media platform that I don't use actually. I've been a lot of time at this Drupal developer for 8 years as a Drupal. I'm a dad, I'm a beautiful folk, which is 3 years old now. And sometimes then yes, I can talk about manifesto, and this is what I like. It's recording, there's no speakers in there because they're really so small. Yes. It's not good, I mean as I have a beautiful voice. I always thought the last series that I like to watch, I've been watching Shameless recently, and I love it, that's why I deserve a mention on my presentation. So today, we're going to discuss about configuration management deployment. So this is a bit of a description of what a configuration management is. It's a feature which will give us the possibility to have the configuration in files. It's not because the file itself, it's because now we can have a single source of through about the configuration of our website. And we can take this file, we can take this block of configuration, and we can version it on our workflow, on our virtual control system, or on our file system directory, which you just use to download the touch-it-z from the web UI. So this is a piece of something that I'm going to discuss about, but this is what we're going to chat. This is so, the presentation is more an exercise. I won't tell you the through, I want to discuss with you about what my feeling is about what the configuration is, how we can deploy it. So this is how the simple configuration deployment works. We have a source website, and our configuration is in the active state. So our configuration is a configuration running on the website. And when we want to migrate, when we want to deploy this configuration from the source website to the destination website, most of the time it's from staging or death to production. We export the configuration. We export the configuration, and normally the configuration goes to the sync storage, which again normally is directed on your global instance, but we don't have to forget when we think about deployment, we think about configuration. We don't have to forget that there are people using just the web UI, so your exporting can be just to export the touch-it-z from the web UI. And then you have this monolithic configuration. It's really important. You have the whole block of configuration in a single storage unit, whatever it is, the directory, or a package. And then you import straight inside the destination website from a sync state to an active state. And again, what you do is you push the whole configuration. So you are the master of through, and whatever is on the destination website will be overridden or deleted. So if you have a priority, if you are new on Drupal, or not a new on Drupal, sooner or later you will have this problem, or you push the configuration, and you see that something doesn't work. So you have this question. Will I override existing configuration settings on production when I import to production? Yes, you will. You are the master of through, so whatever you have on your files will be, and is existing on production will be overridden. Will I delete new configuration changes on production? So my client created a web form, which is not on my configuration, my monolithic configuration. Will I delete it? Yes, you will. Any new thing done on production will be deleted normally. So these are the rules on import. So the new configuration will be created. An existing configuration will be overridden. So a configuration coming from here, which exists on here will be overridden. And the missing configuration, which is in here, but is not on our import block, will be deleted. So in a simple deployment, we have a simple website. It's just a two-page website, or two-lining page website. It's a simple website. It's fine. It can work. So we always push our configuration, like it was a waterfall, no? Pushing water and water and water, and we delete all the dirty things, so it stays on the pool because we keep pushing. But what if our configuration is not simple? What if we have a big website? Some of the configuration is coming from us. Are the configurations coming from the client? How do we deal with it? And most of the times, a two-page website is not a website with a simple configuration. So it doesn't look normally like this. It's more like this. We have small parts of configuration, right? And we, as a developer, we recognize most of these parts. And the exercise that we are going to do today is try to find common patterns so we can react to these patterns. This is how our configuration will look like. In this presentation, I identified four segments that we are going to check at the moment. But on the old and new, our configuration is something that is like the base of the website, which is the node, the fields, the user roles, something that is the core of our website. Then we have something like this on the top, the yellow one, which is something that the client is going to create. One of my clients is the page manager massively. So they create a landing page continuously like once a week. I don't have these pages, these page manager instances, or the variants, or my depth. So every time that I will push my configuration, I will delete all the client jobs. So we have to take care of new stuff.  So Google Analytics is a good example. When we create Google Analytics, we maybe put Google Analytics on our depth environment, right? So we have it on the configuration and we push to the configuration to production. But then the client has to be able to change the Google Analytics code so the configuration setting will change. So if we push again this configuration, we will remove the configuration settings from Google Analytics. So we have something that we suggest a configuration edited to production. Do you have it? But that should say, yes, I have it. And then you don't give this configuration. So it's a one-time configuration. And then we have an environment-specific configuration. In this case, it's on your development environment.  So this configuration is still part of your configuration. It's environment-related, so we have to recognize it. So I go through these four segments that I think they have to be recognized. Again, it's an exercise. This is what I came up after reading some of the solutions to the problems. I will put these slides almost immediately on the website. So don't worry about taking screenshots or notes. Everything will be there. The primary segment is the bones of a website. So it's the configuration that the client should not change. Fields, nodes, views, block types. So the core settings. So it's something that it's what, at the moment, the configuration management does. So new configuration must be created. Existing configuration of a reader, missing configuration must be deleted. So if you have a new field, the new field has to be created. If you are making an update on a field, the update has to be of a reader or production. If you are removing a field because it's not reading anymore, it has to be the reader or production. So the export part of the configuration is the master of this segment. The next segment is the secondary configuration. So this is anything new created by the client. We don't have this configuration on our, most of the times, we don't have this configuration on our exported block. But it's part of the environment, it's part of the configuration. Even if it's not part of the configuration that you are importing, it will be part of the configuration of production, which is probably much more important than the configuration that you are shipping, because it's the one that will face the public. So it must be recognized as an important segment of the configuration. So together with that thing that we are going to update, we have to take care of things that we shouldn't delete. The master is active. So the master is the active state of production. And it's something that we have to consider. One example is the new block instances, or as I said, the page manager instances, or new web forms. So we give the possibility to the client to create campaigns and web forms. And they shouldn't be deleted, so we have to take care of this segment. The first segment is probably a funny one, it's a new one. So as I said, it's configuration. The client should be able to change, and you just want to give an install state or a one-time state. Another good example is the site settings. On the site settings, you add the email destination or the email source of any mail sent by the website. This is on the site settings. The client used to add the account of an intern on these settings. So the email address was changing twice a month. So I don't know what the next value would be. But I must provide this because this is the core of the website. So I must provide this configuration. And I have to say, look, Drupal in production, do you have this configuration? And maybe when you first set up the website, this configuration is not there. So the configuration will be installed in port. But next time, you don't have to override this configuration. So if a new configuration must be created, if it doesn't exist on production, it shouldn't be touched. The third segment on our configuration is... I call it data, but it's not really data. It's anything about an environment. So it must be part of our configuration. The settings and the configuration did it use the data environment. So we want to keep the stage by proxy, web profiler, and endeavor. Or it could be that we want a segmental configuration for the testing environment with specific settings, with specific modules for the stage. So we cannot identify this segmental configuration. As I said here, I'm using the conditional. Because it doesn't matter about the production, where this configuration stays, if it is part of the configuration, or if, for example, we don't have this on our client, we don't have this segment on our configuration. We use automatic scripts to enable module or disable module in a specific environment. But maybe this is part of the segment that we should talk about and discuss about. So this presentation is full of recap because it's maybe a new concept. It's something that all the customers want to propose and we should discuss about. So what we need to do in a service is to understand to which segment that configuration belongs to. It's important. It's not important. It's new. It's not new. It's a regular production for a production. And to be able to react, it's maybe too much. So I was wondering if we had a solution that was much more than the deployment with hoping everything would work. And actually we have solutions. We have solutions. These are the main, the current main actors on the configuration management management in Drupal. But maybe in the future we can have more. So we'll discuss about this comparing all these tools with these segments. So first of all it's trash. Everybody knows trash. I won't talk about trash. Trash out of the box contains the commands to import and export. So how trash this with our primary configuration is the configuration that we have to push, no matter what. It does automatically with trash. And sex, it takes care of the box of the primary configuration. The second configuration, which is the configuration that the client can change, the client can create, so it's new instances. It's the configuration that we don't have to delete while we import. And it does it kind of out of the box with a partial switch. What this does, the way it works is if you use trash from the command line, it pulls first the configuration from production and then it puts your configuration on top. So it means that the new things coming from production that you don't have on your configuration will be merged on this copy and over. So your configuration will be yours plus the new stuff. And it does it works. What it does is deleting what you want to delete. So as soon as you have a field that you want to delete, it won't be deleted because you don't have this field on your configuration to be imported, you don't have this configuration because you've deleted the field. But it's still on production, so if you use the trash partial, it won't delete it. You have to do it manually. It doesn't work with an install one-time initial configuration, which is, just to remember, it's the one that we suggest. Production, do you have it? No, I don't. Do you have it? Yes, I do. Okay, I won't give it to you. Environment-specific configuration. It kind of does it, so you can skip modules. So for example, you can have some modules on your dev or stage, and when you export, it doesn't export you. So you get kind of create environment-specific configuration. But first, this is just for exporting.  And then, on the other side, when you import the configuration, you have to manually enable the module. So you kind of understand your environment. You can tell Drush, look, you don't know that we are on dev, but I'm telling you, skip this module, skip this configuration. So Drush, it kind of does what we need, not fully, but part of it. Config Split is a really interesting model. What it does is exactly what the name says. It splits your configuration in several... I don't know. It's folder at the end of the day. I was trying to find a good name to things, but at the end of the day, it's just a folder. So you can... You can have a per-environment configuration this state, so you say, okay, on this specific setting of Config Split setting, I don't want this module and this module and this module, so the module it says and how a configuration belonging to the module, it will be not exported on that block of configuration. In case of the primary, yes, it does. By default, all the... Drush, by default, takes care of the primary, so more or less all the solution they can deal with the overall problems of the website. Plus, Config Split comes with Drush and Drupal Console implementation with the OS command, so you can import just those blocks of configuration you want. It doesn't take care of the secondary, unless you rely on Drush, but this module is made for creating... splitting your configuration. It's known about dealing with the configuration. And of course, it doesn't take care of the initial, of the secondary as well, because it has to have this capability. It takes care of the environment configuration because this is what the module has been built for. Then another actor is Cotic Read Only, which approach the configuration deployment in a really drastic way. It just makes it impossible for your client to make changes on the production environment. So every time the client will try to submit on a phone a configuration change, the website will say, no way, this is locked. You can't make any change. So going back to our segments, that's configuration that only fuels this module, workflow deployment. Yes, it does. Everything is covered by Drush. All the configuration and synchronization web interface. That's it. Take care of the secondary configuration, which is the configuration that the client has to be able to create, but it shouldn't be destroyed by the input. It does. Configuration Read Only actually shouldn't allow the client to make any changes. Even if you create a new instance, it should say, no, you can't do it. But as a... You can create a module that hooks on the... I think it's an event that is patched more than a phone book. But anyway, you can hook to that Read Only process. What should I say, it's a Read Only event. It's an event. You can hook to the process and allow some new configuration. So it's tricky, but you can allow the primary configuration to be pushed, secondary configuration to be kept. But for every module, sorry, let's keep the speed. You have, even if it's a web UI or a command line module. So if you can do the same task from the web UI and or from the command line. You can do it, but then you cannot use the web UI nor the command line because it must be a web developer going there, building a module, booking on the event and subscribing the event and allowing some configuration. So one of these segments and one of these presentations I just kept an eye on the developer experience on then maybe the normal user experience. So the people that they installed Drupal already installed they don't know anything about code. They don't know anything about Flash. They just want to use the configuration. They want to have maybe the website locally with work or whatever it is. They want to have the website in production and they just use the web interface. So why should we keep two tools only for us developers? Everybody should allow to have primary settings and secondary settings not be deleted. So it could be a solution for these two, but it's only for coders. Which is a really interesting one and this may Drupal 8 configuration less scary. This is on Drupal 7 feature they lock this feature. So don't revet this feature when I revet the whole. Don't revet this particular part of my feature when I revet all of them. So what it does is importing the web UI from the command line. What it does is it ignores the new changes. So you can use it how it works is there is a web UI settings page where you can exclude or ignore specific configuration like we create web forms we don't want to delete web forms created by the client when we import. So it works with white card as well. What we do is we take the configuration name and we work on the configuration. For example we write web form.astresk so anything belonging to the web form configuration it will be ignored so it won't be deleted on import it won't be overwritten on on import as well. Does it take care of the primary? Yes, everything dealing with the trash it takes care of the primary but in this case it hooks even on what you are importing from a terminal guy even if you are a group of developers you can use this module to take care of the primary of the secondary and even of the initial configuration. So it deals even with the one type of configuration the one that I suggest you have it or not it doesn't work it's a bit tricky because it should shift the configuration the new configuration the one that you are suggesting together with conflict ignore settings to ignore the configuration so the first import because it doesn't know it has to ignore this configuration it will import it and then you import the configuration ignore setting as well so next time it won't be imported again because you just told the module say look there is a new rule and it's to skip this one it doesn't take care of the apparent environment dealing with the configuration maybe because config.node doesn't know anything so far about export it's just looking or subscribing on the import set not on the export so you can select the feature so when we hit on 2x7 the feature when you look it will override the feature but when you export it will export the whole feature again the final one is rush CMI tools which is a previous next rush extension which luckily takes care of everything for this presentation I thought about these 3 segments of configuration before knowing the rush CMI tools it had exactly as wish to deal with the issue so it was a confirmation that there is something going around there is something that we should talk about and probably there is some segments that we have to identify maybe these 3 or 4 good candidates again for 2 it's an extension of the config import export of rush it has CMI and sexy so it's does it take care of the primary? yes it does and there is default CMI integrate the partial so by default rush CMI would be like doing rush configuration import partial on your configuration we will keep on the configuration existing on production and missing on your shipping block if we keep the configuration on production what about new feeds what about old feeds that we want to delete these 2 so instead of keeping everything on production and it's not on my configuration you can mention there is this 3 configuration because I don't need them anymore for example delete these feeds there is this node type or there is this block because station leaves on my environment anymore so again we set the rush CMI by default it's the equivalent of rush CMI partial so it will take care of new configuration existing on production and not coming from my import it doesn't care of the initial install segment so when in import you can say in a different folder you can so it's something even that is out of power of your sync directory in a different folder you say 10 minutes come on it's not your life insurance on your import it's blue book plus production has this other configuration if it does this is for you and then exporting on an environment base segment you can just skip modules and you can enforce with ignore the list of configuration because skip modules by default on rush it's not buggy it can lead to unexpected configuration depending on the module can lead to be saved for your sync anyway in this case don't see a backwards text care of this saying be sure that this part won't leave by configuration anymore but it was a lot and maybe it's a new stuff it was the sketch that after the presentation available it's not just me that we recognize that we have this set when from the configuration this is briefly the process so we have a monolithic block and then on our side we recognize some segments and we know that on our export or the import process we don't need the environment-related configuration so this is the configuration that we have to ship which is the primary plus the initial configuration so this is the one that we ship but then we have to compare with the production one the production has part of our primary part of our initial and then we have the secondary configuration the new stuff that we are not aware of we should take care of that and that would be a summary of our configuration on production the primary would be deleted because we are the master the initial will be deleted because we have D so we will take care of it from the process but we have to keep the secondary configuration so about the secondary configuration that will be imported it's a merge of all this I don't know better about the sheet but all this block so all these segments so this then will become our monolithic configuration that we can push because the monolithic bit is what configuration management understands we have to work the middle part this is very good this table is very good so it's better how we see all the tools here all the segments that we recognize there can be more I just understand these three this is environment related so we can have one more on all of these segment of configuration and then in here how we can use this is good because if I I love flash I have access to my server I should use because it does everything for me but if I know if I'm a normal business manager dealing with I don't know cats I mean I sell fast food I don't know anything about curling or I have this website I know that I have my configuration I can use what do I do to deal with my things I can just use for example coffee to ignore if I just have these three segments of my configuration that's it really I know that we have three minutes so I'm really love if you have any love or any qualification for me this was an exercise coming from a real life someone mentioned to me you don't give an example we just got to ignore on our website mainly because we identified these three segments and we saw the company ignore does all of them but yeah and open to you now if you have any question or you want to throw me yes how are you dealing with custom content like menu items which are content or taxonomy terms that you can for structure aside or kind of custom block that has the address that needs to go on the site somewhere how do you get that kind of configuration content this shouldn't be a configuration there was a huge discussion about if content should be it should be part of deployment or shouldn't be part of your deployment on my deployment, on my workflow we leave content to parent and base we don't export the content so the content needs some production if we don't get the content I pull the database or I export the content in some way if you want to do it I think there is also a module called content default I guess where you can stage your content it's a demo I think it's yes, default where you stage your content but I think it's a one of the different here it's a common pattern sorting or shipping the content it's more about yeah, again, path based scenario, the situation you can do it with content default does he answer your question? yeah, it's just those bits of content that actually must be a structure that you need for building the site so you have to make sure that your UID will stay the same otherwise if you have menu items it's my main point and always one of us yeah, it makes sense maybe content default is a solution yeah and you stage those important ones but it is an excitement like core content core not like to back call both of your websites yeah what if you want to change some of the configuration in particular like a contact form you want to change the fields in the contact form but not the email address that the contact form goes to because the client controls that how would you manage that? that's a good question I don't have a both solution because this is not possible at the moment with the configuration tools that we have yeah I don't have an answer for you I never try I know that for example you can ignore configuration otherwise you can go deep to the settings I don't think you can at the moment because you go through the configuration names I don't know if you can go deep to the settings but I don't see how you you should be able to do it so going deep to the settings instead of limiting to the the whole config block by the moment I don't think this is possible with any of the tools I'm afraid yes man, what would you do for the how would you change the settings let's say in views or if you have that clashes how would you resolve it is there any good aspects this is a common question and it looks like there is a big step for adopting configuration deployment with Drupal 8 but personally I had this problem with features in Drupal 7 so I don't see any difference really what I can tell you is that now with Drupal 8 providing everything compact structured and standardised in a configuration that I actually think it's much easier to avoid these kind of problems then it was with a feature on Drupal 8 in Drupal 7 the way I personally avoid it is there is no global solution to this the personal normality is I try to create when is a problem we work in a agile way when I saw that a story is a possible case of complex I create more large features for each of the stories so I try to limit the change only to few lines and then it should be possible to me this is so far the only way so creating micro changes instead of global changes so hopefully someone will change even if it's all the same file just from line of settings . . . . . . . . . . . . .


High five it up. Haven't slept much, it's been a little windy. It's about five in the morning, and I'm gonna try to get going because the National Weather Service has issued a wind advisory, very strong gusts. So I'm gonna try to ride before it gets way too gnarly and I'm up, so why not go right now? Yay. There's also quite a bit of moonlight, so that should help guide me. It's pretty bright outside. All right, need to make sure I didn't leave anything behind. It's not often I pack up in the windy dark. Should be good. Thank you, beautiful piece of flat ground right next to this crater you can't really see right now. Let's go ride bikes, it's an adventure. Oh, and there's the moon. There's the moon, lead the way moon. Sure I'm glad my wahoo works in the dark because you can't see a whole lot that way. All right, so far so good. It's definitely windy, but it's beautiful. I love it. I'm riding to the moonlight with the stars as my guide. No crashies, no flaties, no wormies, whew. And it's supposed to get way windier. That's why I'm out here early to try to get some of these miles in while it's not crazy windy. Just a little bit. Okay, I haven't gone very far. Mainly because of sand, not so much because of wind. It's really deep sand and it's hard to navigate sand in the dark. I don't know if I could navigate it in the light either. Whoa, there's a tree right there. Talk about navigating. Look at this, I just saw on the side of the road lighting up everything. If you need help, push red button. US Border Patrol will arrive in one hour by you there. Wow, this is interesting. Me or I should push this sail fast like a meh. Just kidding, I don't need help. But maybe you could turn the wind off, that'd be cool. I'm guessing they put this here for people who are coming across the border from Mexico. Look at that image, just a dehydrated, dying human. That's crazy. Huh, well, back into the darkness. It's a beautiful time to be riding a bike. A little bit of light in the sky and it's beautiful. Even though it's not fun to wake up in the dark and pack up everything when it's blowing around, it's beautiful to be on the road this early. I never wake up this early if I don't have to. And today, I kind of have to, to beat this wind. All right, bike, I know we woke up early. Get up, I know you're tired. Get up, bike, let's go. All right, so the sun is on its way. Push this button for help places. Attention, you cannot walk to safety from this point. You are in danger of dying if you do not summon help. That's pretty dramatic and it's also in Spanish. And I've been thinking about this a lot since I saw the last one. And this is a station for Mexicans, Central Americans, who are crossing the border through the desert, who have been on foot for however long, weeks without a lot of food and water. You know, imagine just traipsing through this, not on roads, they don't want to get caught. And then they see this and they see, oh, maybe they can help us.  So nobody really wants to push this button. It's a tricky conundrum because they're coming here to work, to help their families, create a better life. And you hit that button, you're going back. And a lot of times these people have been planning their trips for years. When I lived in Honduras, people were saving up money forever to make this border crossing, to pay the coyotes and to get all the way up here. So, fascinating. I didn't know anything like this existed. It's funny, it was really windy at like five in the morning, but right now, it's completely still. The National Weather Service is saying 10 a.m., it's all gonna break loose. I mean, when they warn farmers about high winds and to be careful with your machinery, they usually mean business. So, I need to keep moving. And hopefully it's not as severe as they're saying. All right, I've been riding for two hours, I've only gone nine miles. Gives you an idea of how fast I'm not going. And it's time for a pro meal bar. Not sponsored by pro meal, but I just love these things. It's just a big chunk of calories and some chocolate chips. So, I'm riding by this farm and I see somebody walking in the field. I think it's a farmer. Nope, it's Aaron. What's up, buddy? Hey. Good morning. Did you have a good night? I did, did you? Yeah, man. Good. Yeah, you sleep well? Yeah, yep, no snakes, no creepy crawlies. Buenos dias, Kyle. Buenos dias! How you doing, buddy? Doing good. Dangerbird day four. Yes, sir. I'd like to think that it's the final day. It better be. Yeah, slept here and ground was soft. Yeah, look at that nice soft sand you found. I know, well, we found plenty of it walking through it yesterday. I think the wind's in our favor. Be quiet. Don't taunt it. I've learned my lesson. We're the three best friends that anyone can have. We're the three best friends that anyone can have. All right, so we've come to a fork in the road. The true route takes us all the way around this train track, 15 miles. But it does say in the ride with GPS notes that you can go across. You can find this magical gate and be careful because trains can kill you. So I'm thinking we should cut off 15 miles. What about you guys? Yeah. All right. Kyle, I'll hold your bike. Here's the gate. This maneuver is saving us 15 miles. And I'm cool with it. Thank you, gate master. All right, we did it. I feel like we just got a cheat code in a video game.  So the route goes all the way left over back, boom. But we went straight across right here. Way easier. Let's go to Las Cruces. So with that little route cut we just did, we have 25 miles to go. And I don't want to jinx myself. But the wind has not been a factor yet. It might even be helping. It feels like a bit of a tailwind. Oh, it's just so nice. I was really kind of anxious last night reading about all these high wind advisories. But so far, so good. In something like that is calling my name. Where we started on Saturday. Today is Tuesday. Thank you, Dangerbird, Monumental Loop, Matt, Pablo. Everybody involved. This is awesome. We're done. This route had it all. It was challenging. It was interesting. It was beautiful. Made lots of new friends. Got to ride with people. Got to sleep under the stars. This was a winner for sure. I'm so glad I made the effort to come on down here and do this. And I'm really impressed with what Matt and Pablo have created. And like I said on Saturday, the energy of the group really just stayed with me the whole time. It was really fun to be part of this. Cause a lot of times bikepacking is a solitary sport. At least it is for me. A lot of times I just go off on my own and do my thing. And sometimes I'm with one or two people, but it was really unique to be part of a thing. And even though we weren't all together all the time, it was fun just knowing that on this entire route there were about 100 or so people scattered around and we were all connected by this little blue line. The monumental loop. And it was monumental. And you know what I'm really happy about as well? The heat, it's warm. I feel like I got some bonus summertime. Thank you so much for watching this series. Please like and subscribe and tell all your weird friends about my channel. That's the best way to have my channel grow is just word of mouth. And I like weird subscribers. I like weird people, you know what I'm saying? Bam. High five it up. Bam. Okay. Beans. Time for beans. Oh yeah, there we go. Good work, hombres. Ha ha. He's so ready for this. Ha ha.


All right, and it's now time for our last standalone speaking session on the out-of-home opportunity a marketeer's perspective and our speaker is Mr. Koshik Prasad general manager consumer marketing for India Marketing and sales leader over 17 years of enriching experience in building brands new product launches Delivering innovative marketing solutions and running winning sales operations Combining strategic mindset with an urgency for execution Ladies and gentlemen, I think it's time. We put our hands together to welcome mr. Koshik Prasad Hi Good evening everybody You must excuse me. I'm Suffering from flu. I make off in between a Please excuse me A lot has been said today about out-of-home and I was fortunate to hear a large part of the discussion that happened In the panel here. I have a few thoughts to share on how do okay So I guess this is what all of us are battling, right? We're all battling for attention. In fact right now. I'm battling for your attention I know you have important phone calls or text messages to respond to And I'm battling for your attention, right? This is something that all of us are doing day in and day out and as marketeer That's the most important That's the most important battle that we are fighting and this creature. I think is the most famous creature And it says that our attention spans are less than that of a goldfish, right? So if If that's what if that's what we are battling and for out-of-home I think this is the Half empty glass story you know Challenges of you know that is unorganized That is lack of measurability lack of digitization Local laws, you know that poppin Suddenly some part of the country will outlaw hoardings and then we'll scramble for solutions and and stuff like that, right? But we still do a lot of outdoors why because The distributor likes it deal likes it CEO likes it And the oldest trick in the book is to actually Have hoardings On the route, you know, your CEO will take That's the secret every marketeer knows and I've been at the wrong end of that In our last campaign The CEO came back and he said I said boss, I didn't do it. It was not intentional, but he didn't believe me Right. I mean, that's what it's got to and because of all these challenges And like the earlier discussion the panel members were saying Outdoor is almost become like an afterthought afterthought pardon me The budget outlays for outdoor Start looking like this right, but Quite frankly unfortunately because of all this data issue You know outdoor doesn't have a seat on the table Uh You know people invest in digital you're investing more and more in digital and other mediums But unfortunately outdoors doesn't seem to have a seat on the table But I believe if the If the greatest marketeer of our times today Uses outdoor The medium works Right, so I have no doubts in my mind That this medium works if the greatest marketer of our time uses it. I'm sure he sees something in it. So There is discussion about the half full story, right Which is you know, I I heard some snatches of conversation in the panel That there is measurement that's starting to happen There is some digital screens. That's Coming alive in in parts of the country Uh, there are conversations of hyper targeting. There are conversations of beacon and all of that But quite frankly, I think It's it's all slow burn, right Because once you have all of this Yeah, good It's happening. It's happening at its own pace But you know what consumers are Digitally queued on I need to invest at least one fourth of my budget in digital Now we have heard arguments like this, right? We have heard arguments that you know data shows blah blah blah What does you know, where does outdoor fit in and we've had arguments of this sort I think there is an opportunity quite frankly to to re-imagine Outdoors and it's it's not something new It's been done before And many brands have done it And I think it's I think it's important that You know, we look at outdoors in that fashion so What I'm saying is You know actually look Beyond just a logo cut out to brand cut through Look at the opportunity to tell the brand story If reaches are There is actually an opportunity For exponential reach R to the power of X And that's and that's possible It's possible it's been done And many brands have done that One fine example is this Right Probably the best Best outdoor in the world And for people who don't know Can somebody play the video please A Lot of happy customers, I'm sure and A lot of publicity. So that's R to the power of X Right, it's a simple outdoor and R to the power of X. So it's it's not It's not it's not difficult. So it's been done. So another fine example is Pepsi max It uses augmented reality to tell the brand story Uh, you know, I'll probably skip it in the interest of time For for people who are not familiar you can google it up. Uh, it's a very nice one It clocked about 10 million views and it reached Little less than Half a billion people the the sheer amount of publicity it got through press Is is was about half a billion people, right? So that's not bad for One best shelter in London. That's not bad so And the point I'm trying to make is If it was one story of a beer in the earlier example It's an example of augmented reality in this one Uh closer home It can be You know It's not moving It can be two alphabets Right just two alphabets and this is something that really caught my attention Of course, they had a very nice product to sell which is butter chicken Of which I don't consume but I think it's important that the brand story is able to cut through Not just cut through beyond marketing press actually go to The media beyond the marketing press reach to consumers That's the real power of the idea the real power of the idea in outdoor And it at one level we can all be happy if it's Featured in e4m If a a faqs added blah blah blah and pat ourselves But if it doesn't reach the consumers I think we've done a pretty shoddy job Or it can be a simple dot, right? This is an example From Amsterdam And it one I can't I think I have a video for that Life Interesting example or it can be a take on On pop culture, right? And all of us in India are familiar with this. It's probably the longest running outdoor campaign In the country, right? It can be a take on pop culture And the interesting thing is it's it's it's almost part of our culture today You pick up the hindu sometimes you look for the the amul Cartoon right and you know somewhere in the country There is an out of home that particular. Sorry with that particular message Or it could be a record, right? So this is The echo spot billboard. I think this is in Mexico Or Brazil, I think Spain by miss it's and I was told I mean I looked it up. It's some 5,300 square meters. That's some 58,000 square feet. That's like one campaign for us, man For god's sake, right and it won it won it's up. It's it's in the guineas book, right? So this picture actually is Is there for two reasons one of course is to tell about the Guinness record breaking outdoor And second, of course, it's a shameless plug for the four echo spot so quite frankly With the outdoor medium And the internet I think there is an opportunity for for reach for multiplying reach For actually taking r to the power of x, right? So in conclusion, all I would say is Actually we need to move from logo cutouts to cut through right There is an opportunity to tell the brand story A real opportunity to actually do r to the power of x And the internet and social media gives us the opportunity today and I mean, of course, this is this been told to death by many people even the last panel Nothing can be done without a good idea, right at the end of it at the end of the day fundamentally I think we need good ideas and I think one of the comments that was made in the in the panel discussion was Maybe the outdoor guy should be involved right up front in in in the briefing process, right? Yeah, that's if that's not being done by by Brand owners, I think it's an it's a missed opportunity With that, I would I would I would say thank you so much for your patience and listening to me Thank you, sir. Thank you for your words and I'll invite mr. Suresh balakrishnan CEO south asia and middle east kinetic india To give away the token of appreciation to mr. Prasad You Yes, let's have a huge round of applause


Let's look at traditional radiation patterns for high gain, patch array, and sector antennas in a 3D view. What you will notice is there are three typical parts of this pattern. You have your main lobe where your ideal connectivity comes from, and then you have front and back or side lobes. Let's look at a more simplified 2D view that is normally found in spec sheets and wisps are used to reading. When we look at typical radiation patterns, we usually think of them in one way, only the measured gain of the main lobe in relation to your CPE's distance. What we usually ignore is the distance that your AP signal will travel past your coverage area and then become noise for your radios as well as others. Also, another important part that is often overlooked is the effect of the side lobe radiation pattern and the effective distance of this signal as noise and more important for receiving noise. Most users think side lobes only affect co-located AP's, but they are a huge receptor of noise from much greater distances than one might think. Now let's look at how introducing high-power radios in combination with these high-gain antennas really reduce the spectrum efficiency of your radiating station and creates more noise for you. You can see when we turn up TX power, your coverage area grows, as well as the total signal propagation as noise. Now let's look at our lower-gain symmetrical horn antennas with no side lobes. You can clearly see how it's capable of rejecting noise by acting as a natural filter. If we compare them side by side, you can see how you are able to achieve similar distances with more TX power, but dramatically reducing received noise by having lower receive gain and no side lobes. It's clear how much more noise rejection a horn antenna has in the traditional sector when we overlap them. The effective area of sending noise and also receiving it is dramatic. In conclusion, more forward antenna gain is not always the answer. High-gain antennas create more problems with side lobes and make it harder for you to manage your available spectrum which we know is getting more and more crowded every day.