Ignition Community Live with Travis and Kevin

Ignition 8.1 Exclusive Live Demo

65 min video  /  62 minute read
 

Join us for a special edition of Ignition Community Live featuring Inductive Automation's Co-Directors of Sales Engineering, Travis Cox and Kevin McClusky. Travis and Kevin will expertly guide you through a lengthy and detailed demo of the most polished and powerful version of Ignition ever: the soon-to-be-released Ignition 8.1!

You’ll get to see 8.1’s stunning new features in action, including Perspective Workstation, Perspective Symbols, Quick Start, Power Chart, improved tag browser, and more. After the demo, Travis and Kevin will take time to answer your questions live. Even if you saw our introduction of 8.1 at the 2020 Ignition Community Conference, you won’ t want to miss this deeper dive into the new release, so reserve your spot on the webcast now!

Webinar Transcript

00:00
Travis: Hey everybody, and welcome to today's Ignition Community Live. We are very excited to be here today. We're gonna see an exclusive 8.1 live demonstration. This is episode 19 of the Community Live. My name is Travis Cox, and I'm a Co-Director of Sales Engineering.

00:19
Kevin: And my name is Kevin McClusky, and I am the other Co-Director of Sales Engineering.

00:23
Travis: And we love to do live demonstrations. If you guys visited the developer panel from the ICC Conference, Carl did some demonstrations on 8.1. Here, we're gonna take that a little bit to the next step and show these features in more detail.

00:40
Kevin: Today's topic is Ignition 8.1. The idea is that we're going to go through all the different features that we have inside 8.1, and it's not really going to be an exhaustive demo of everything, but we are going to hit a lot of the highlights and a lot of the things that we've pooled into 8.1, and we really want to give you a sense of exactly what you're going to be getting, when you download it, when you upgrade to 8.1, or if you're considering upgrading or staying where you are right now, what some of those features are and what some of those benefits are.

01:14
Travis: Absolutely. So if we look at the agenda here today. We're gonna first talk about the 8.1 release, in terms of the focus on performance and stability, the fact that it's LTS, we're then gonna look at the features in detail. So we're gonna look at three Perspective feature additions, and that is the Power Chart, the Perspective Symbols, and Perspective Workstation. We're then gonna look at the full IDP support that Ignition 8.1 brings to the table, across the board, we're gonna look at the Docker image, we're gonna look at the new tag browser design within Designer, and then we're gonna take a look at the quick start and the Designer workspace, the start page, the redesign of that.

02:00
Kevin: So one of the really important pieces of 8.1 is that, it is a long-term support release, so if you take a look back at 8.0, 8.0.0 was released 17 months ago, and it's been hardened over 17 releases, all the way 8.0.0 through 8.0.16, which is the current release, and all of the work that's gone in, all of that hardening, all of those improvements, are part of 8.1. So 8.1 is the next release of Ignition, and the 8.1.0 that's going to come out, it's a very easy upgrade if you're coming from 8.0, to go to 8.1, we didn't change very many things behind the scenes, it's running on very, very similar technology, and we've made a few improvements that you're about to see into 8.1, but things didn't change foundationally, inside Ignition, in the same way that they did between 7.9 and 8.0, where we re-wrote a few of the systems to improve them. It is still a fairly simple upgrade from 7.9, but anyone who's going from 7.9 to 8.0 or 8.1, we do recommend reading the upgrade guide, we have an upgrade guide available for all of the 7.9 customers, so if you're going straight from that long-term support release of 7.9 to 8.1, if you check the user manual when the 8.1 comes out, it'll have the upgrade guide and they're similar to the 7.9 to 8.0 upgrade guide, but fully updated for guidance from going from 7.9 to 8.1.

03:36
Travis: Yeah, and the big focus here, with Ignition 8.1, is really all on performance and stability. So we've released Ignition 8.0 almost a year and a half ago, and that brought a bunch of new features to the table, from 7.9 and now, over the course of the last year and a half, we've been really maturing the 8.0 branch, adding more features and rounding out what Perspective brings to the table, in particular. 8.1, because it's an LTS release, it's a long-term support release, it's something that's gonna be supported for five years, and we want to have that peace of mind where, when we come out with a new minor revision of 8.1, like 8.1.1, to 8.1.2, that it'll be a very simple, easy upgrade, and you could take advantage of the other fixes that go into that.

04:31
Travis: So the focus is, and a continued focus, during the 8.1 life cycle, is on those improvements that are there and making sure we're fixing anything, especially if there's anything security-related. So it's all about maintaining stability and making sure that it performs well. So it's not about introducing big new features to the table, we have some new features we're gonna show here, in 8.1, and there might be small little things that we add to 8.1, but anything that we'd add, of course, is something that would be very low-risk, in terms of backwards compatibility, that doesn't have a chance of breaking something that would already be working. So that focus is really on that performance and the stability.

05:14
Kevin: Hey Travis, we had a few questions come in already, and I think we have a really large number of attendees here, I know that we had over a 1,000 people sign up for this, so these questions will probably keep coming in. I wanted to answer a couple of them very quickly. “So how long will 8.0 be supported for?” Since 8.0 is not a long-term support release, your next step for upgrades is to go to 8.1. So 8.0 support ends with the release of 8.1; that said, we are planning on doing one more release of 8.0, just to get some of the last-minute features and updates in there. So 8.0.17, will be coming probably, right after 8.1.0, but we're not planning on any updates after that, and just like 7.9 was supported for five years, 8.1 is going to be supported for five years, with LTS release.

06:09
Kevin: There's a question about containers, we're going to get to that, shortly. So you can re-ask that, when we get to that section, if that's still a question. “And is IU going to be updated for 8.1?” Yes, we have some new features, and so it's going to have some new components. It's very similar to 8.0, because we don't have... We're so focused on stability and improvements here, that the list of features that we have going into 8.1, is more limited than it was 7.9 to 8.0, for example. And so the upgrade test, for folks who are already certified, is going to be much, much simpler, just going from 8.0 to 8.1.

06:54
Travis: All right, perfect. So now, we talked about 8.1 in terms of the LTS and the performance and stability. We're now, we're going to look at the features. And first look is gonna be on Perspective, in particular. And there are three features that I wanna highlight here. The first one is Perspective Workstation. And this is a new way to be able to see your Perspective session. This will be running as a desktop application on Windows or Linux or Mac machine, where it has an embedded browser. So it's a wrap around the browser here.

07:31
Travis: So before we go into that in more detail, I do want to explain the Perspective Module. It brings three different ways that we can launch the client to the session. And the module itself is running on the Ignition Gateway, and that's where you create your projects. These are just the ways in which we can actually see that and launch the application. The first being mobile, and these are with the iOS and Android apps that are available on the App Store, so you can get the Ignition Perspective apps. And that allows us to utilize the phones and their sensors, GPS and camera, accelerometer and more. So that's a great way to launch Perspective. The second is the browser, of course. This is the standard way most people will launch Perspective. And I'll be using any modern browser, such as Chrome, Firefox, Safari, et cetera. So any device that has a modern browser, we can go and launch the Perspective session on and be able to really interact with that application.

08:27
Travis: The third is now a new way that we can launch Perspective, and that is with Workstation, and this is really specifically for HMI terminals where we have a desktop application that is running this instead of it being a browser on those machines. So we'll get into that in a little more detail here. So Workstation is part of the Perspective, of the full Perspective Module, just another way we can launch the client there. It could be added to any existing license. So if you already have a license with that license you’ll be able to view it in mobile and do it in the browser, you can also then license it to view it in Workstation. And we did that so that some people might just want Workstation, they might just want mobile, they might just want browser, you can license it for one of those three there, but you're just licensing the module on the server. And of course, if you get the full, unlimited module, you can launch any way that you'd like with any kind of mode there.

09:22
Travis: The Workstation, because that's in the desktop application, we provide a launcher for that, very much like the Designer Launcher or the Vision Client Launcher, and we can download that from the gateway. So I'll be showing that here. One of the big things is because this product is meant for HMI terminals, it offers a new kiosk mode. This is similar to Vision's full screen mode where basically, we can launch the Perspective app, have it be full-screen, exclusive, it hides the start bar, all of that. And that basically looks like it's a real HMI versus running as a tab in a browser, something like that. And now, in the future, we're gonna be adding a feature to Workstation where kiosk mode will be able to lock down the OS. So we'll be preventing access to it. So you can't use control, delete or the Windows key to get to the OS. And of course, you can put this in the startup directory, so when the machine reboots, if you have a panel PC, it goes right into ‘Open up the Perspective Workstation application,’ and you'll get right into the application, can't get out without proper credentials.

10:27
Travis: This also allows us to work with, because it's a desktop application, we can work with multi-monitors, and I'll show this here today. But we can actually have one shortcut that opens up the app and opens it up on every monitor you've got. So if you've got a NOC or something like that, you can have a frame on each of the desktops with a different perspective view in each one of those. And with navigation, we can navigate and navigate all of them at the same time. It's a really good experience for the kiosk mode and for the multi-monitor support there. So of course, with Workstation, we're not designing anything different with that. We're just designing the Perspective views and creating the application like we would anywhere else, and just gives us that new way of launching it. But it doesn't matter, you can access the same application in any one of those launch modes that I mentioned there before.

11:16
Travis: So this is a really great addition to Perspective. And when people are comparing it to Vision in terms of things that Vision did that Perspective didn't do out of the gates, this closes the gap a lot more. There's now, we'll see a lot more use of Perspective really as the HMI on the plant floor because of Workstation. And there will be, in the future, more features added to Workstation like being able to interact with the OS and reading parsing files and talking to serial devices. And it gives us that medium, just like on iOS and Android, we can talk to the phone natively. Here with the Workstation, we can talk to the OS natively and do some pretty cool things.

11:55
Travis: So I think let's get into a demonstration of that so we can see this in action. So I'm gonna go here to my local system, and if I go to the homepage here, the homepage looks small, redesign. It's "Meet Ignition," and we can get the Designer Launcher, we can get the Vision Client Launcher. We can also then get the Perspective Workstation, we can download that and run it, as well as if you are in a browser, you can just launch Perspective sessions right here by viewing the projects. So if I go to "Download Perspective Workstation," very much like you would with the other launchers, you can download this for Windows, Mac or Linux. I have already downloaded it and have installed it on my machine, but you would simply just do that, and I have it down here in my start bar. So here is the Perspective Workstation, so I'm gonna go ahead and open this thing up.

12:43
Travis: So I haven't done anything with it yet, I just have simply installed it. It's very similar to the other launchers where you can go in there and add one or multiple applications to Workstations. So I can simply go and add an application, and I can look at my local machine. You can simply look at what's... See what's on the network through the multicast or you can... or manually define or specify URL to Ignition server. I'm gonna go ahead and select my local Gateway there. And I have one project here called Demo, so I'm gonna go ahead and add that application, and there we go, it is in there, it's ready for us to launch it. I can, at this point, click on it and open the application, and I'd get right into a Perspective Workstation.

13:23
Travis: Before we do that, though, I'm gonna go into the settings. Let's go into these little three dots on the right-hand side. I could create a shortcut from here. I can add this to our favorites, which is a list of our favorite Gateways. We are now, we're seeing all the Gateways. I can go to favorites, we can... You can actually, if you have a lot of Gateways you're dealing with... Kevin and I, we usually have a huge listing of these things, so you can kind of pin the ones that are important to you. You can export the configuration of this. Of course, you can also delete it. Now, if I look at the Manage, this is where we can actually configure what we want this application, this particular application to do on this Workstation.

13:56
Travis: So it's gonna launch it, and right now in windowed mode. It can also launch it in kiosk mode, and that's the full screen exclusive mode. I'm gonna launch it for now on windowed mode. Because we have an embedded browser, the application there could have a link to another URL, external URL or it could be linking to another project. Basically, if we have those links, you can decide what to do with those links. You can block them all together and not allow that to happen. You can open them inside of that same embedded browser, or you could go open it up in the system browser. It would at that point bring up Firefox or Chrome or whatever, and open it there. Well, we see a lot of people who just simply keep that blocked.

14:41
Travis: And so this is just the standard to the project on my local system here. Now, the important part about this is the display configuration. This is where we can, if we have multiple monitors, we can simply identify all the displays we've got. So if I click Identify, you can see I've got... This is my main monitor. I do have another monitor you guys aren't seeing here, and that was number two. And I can decide what I want to do in each of those. So my primary display here is my display one. Display two, I may want that to open up, and maybe I want that to go to our forward slash charts view that is mounted there. And so now I've got it where I can open up the application on both of my monitors. So if I put it in kiosk mode and I selected multi-monitors, those are the big features that it brings to the table here that we can work with. So I'm gonna go ahead and apply this. Actually, I'll take off this one here and go ahead and apply this. Press okay, so now I've got this configured.

15:34
Travis: Before I launch it though, one more thing to point out in the top right in the settings is if you want that to be the default application, if I want Demo to be the one that it'll go to automatically if I open the Workstation application, then I can have that happen. All right, we can have a shortcut that opens that thing up directly, but if I want, when I open up Workstation to go right to this default application, much like if you on iOS and Android, you select the one that you wanna go into right away, you could do the same thing here. Every time it opens, it will go right into that. I'm gonna go ahead and cancel that, though. So let's now go ahead and launch it, so I'm gonna go ahead and click on this and open the application down the bottom right. And it's going to initialize it, and it'll start it up as a desktop application as you can see. So I'm right into the Perspective session there, and I can interact with the session, I could do all the stuff that we normally do. But as you can see, it's just a normal desktop application here. And if I ran in kiosk mode again, it would be full screen on that. So we're really, really excited about the possibilities that Workstation brings to the table, and this is a great addition to the Workstation or to the Perspective Module.

16:37
Kevin: Travis, if you don't mind, I'll jump in here real quick. We had about probably 15 questions about Workstation, but I thought that it might make sense to answer a small number of these. So one of the popular questions is, "How does this relate to the Vision Module?" So we knew that question was going to come, so is this a replacement for the Vision Module? Is the Vision Module going away? What does this mean for the overall architecture here? Maybe you can answer that real quick.

17:08
Travis: Yeah, that's a great question and one that we definitely anticipated. I figure there'll be quite a few questions about, "Is Vision going away? Is this phasing out Vision?" So first and foremost, the answer to that question is no. We have these two modules in Ignition for visualization. We have Vision, and we have Perspective, and we're gonna continue to have those. And you can use one or the other or both. You can have them in the same server, no problem. Everything that we people have done in Vision will continue to run, so as they upgrade 8.1, they'll be able to take advantage of all the features Vision brings to the table.

17:38
Travis: And if they would like to leverage Perspective, they could certainly go and leverage Perspective. The Workstation product really does blur the lines in terms of the functionality that Vision could do that Perspective couldn't do, so now there's a lot more that Perspective can do when you compare the two products together. And there still are gonna be some more features added to Perspective that'll be important, but for a lot of people when they look at a new project, they're going to probably gravitate towards Perspective, especially with now having Workstation for HMIS and things like that. They'll probably gravitate to that 'cause that's the newer technology there.

18:12
Travis: People who have existing Vision systems, they can keep those running, going forward. If they would like to also leverage Perspective and parallel that, they certainly could. So we're definitely not gonna phase it out. We're not making that decision for anybody. We're gonna keep supporting them in there, and you get to choose what technology, what way you'd like to launch to clients. Do you think that covers it, Kevin?

18:32
Kevin: No, I think that that covers it pretty well. I'm reading through a whole slew of other questions here. "So, will Workstation run on Windows CE?" Unfortunately not. So it's gonna require a more modern version of Windows or pretty much anything after Windows CE, but it won't run on CE. "Does the Workstation application for Perspective have access to a camera or any hardware?" Not in 8.1.0, but it will in 8.1.X. So 8.1.something, we are adding some integration to the hardware there with Workstation. So a camera is one of those things on our list for what we're looking into, so not immediately out of the gate, but we're definitely looking at integration with different pieces of hardware there.

19:16
Travis: I will reiterate real quick, Kevin, that right away, we're gonna be adding the, in kiosk mode, the ability to knock it out, so that you can't interact with the OS, so you can stay in that mode. So it's like you go to the mall and there's a kiosk there, they don't want you getting out of that, going to the other apps. They want you to stay in the application. That'll be the same experience for people on HMIs. So that's one of the first things.

19:39
Kevin: Yeah, absolutely.

19:41
Travis: Interfacing with a camera, interfacing with files or serial devices, and there's probably a plethora of other ideas. We're interested in hearing those ideas, but those are things we'll be adding in future 8.1 releases.

19:51
Kevin: Yeah. Next question here, will this be available on Ignition Edge? Absolutely. Yes. Workstation? Will you be able to create shareable launchers with application configs? So similar to the way that the Native Client launchers work right now, and it uses a lot of the same technology behind the scenes, actually, so yeah, you can distribute it in the same way that you can do the Native Client launchers or a very similar way there as well. But go ahead.

20:19
Travis: Well let's say... And even better now because you actually do have the ability, we did add to the launchers the ability to pass in JSON configuration through your own shortcuts. So if you want to distribute this from a domain controller's aspect, you could easily install these things quickly from the domain controller, and you can also distribute the shortcuts, they open things up much, much easier.

20:38
Kevin: Absolutely. There was a question about fleet management on iPads, which is a little bit different from Workstation. But the quick answer to that question, it was a long question, so I won't read the whole thing, but it's that we have been working on switching out the app, so that it has a configuration that can be managed by these fleet management programs that are out there that IT departments use to distribute the apps so that configuration can be set when it's being sent out to all the different users who might be using it with some preset configuration there. So basically, yes, going into the future, that's something that we're going to support. And then the last one that I'm going to answer here is, “What are the requirements for my HMI to be able to support Perspective Workstation?” Travis, do you wanna take that one?

21:27
Travis: Yeah. So in terms of being able to support that, you just have to have a panel PC that can run Workstation. As Kevin mentioned, you have to be able to have a full Windows OS, or Linux OS. And you could easily open Workstation. In terms of what you're designing, any kind of application you put inside, or that you build with Perspective, of course, can be visible with Workstation. Having Workstation and having the new Power Symbols that we're gonna talk about, sorry, the Perspective Symbols that we're talking about next, really, that makes it really approachable for making HMIs. Let's keep going. I know we've got a lot of questions in there. But let's talk about the next one, Perspective Symbols. These are a great addition to Perspective as well. And it really is gonna help accelerate building HMIs a lot faster. And the idea here is to have components that are built into Perspective that have a lot of inner workings and that make it really, really easy for building HMIs with the common symbols that are out there. So we started with five symbols here, on the 8.1.0 release, and these are the motor pump valve, a flow meter and a vessel. We'll be adding, in future versions, my release, we'll be adding more symbols as we go along with that release train methodology.

22:40
Travis: But these symbols have three different ways that we can display data, or the way they could be displayed, through a P&ID mode, a simple mode and a mimic or more real-life mode, they have animation built into them. They have easy properties we can drag and drop tags onto and make it really easy in designing these. So let's go and show this in more detail. So I've opened my Designer here. And the Designer, if you look at your Perspective components on the right hand side all the way down to the bottom, you'll see all of these symbols. So they're the five that we have so far. And I brought them on my screen here and I have the different... for each of these symbols, I have the different appearance mode. So I've got the simple on the top, I've got the mimic in the middle, and I've got the P&ID, or the more high performance one on the bottom.

23:27
Travis: And then if we look at each of these, they're gonna have different properties for it. And again, it's all built in. So it's not just the drawing of the graphic, there's a lot more that's built into these, that are baked into the components. So not just the SIM, not just the appearance, but we have animation as part of that. So if I set the state of this motor to be running, you'll see there's animation there on the motor, you can certainly turn that off if you don't want the animation, because at the animation's speed geared to at zero, which will turn that off. But the state here is a nice state. So there's state built into these components. We know if it's running, if it stopped, if it's faulted. And of course, it automatically adjusts its display based on that state. So you don't have to worry about doing your color bindings and transforms and all of that, you just have to focus on getting the value into the state here, as well as getting the value into maybe the label if you wanna show the label on the component as well as the value on the component.

24:21
Travis: So you see here the label for the motor is motor and the tax is 100%, those can actually certainly be adjusted and you can specify the location of where you want those to go. On this one here, we can also change the orientation of the component of the motor from top to bottom left, right, we can also adjust the feed of that. If I wanna go to the top on the feed here again, you can... There's a lot of smarts built in so you can take advantage of that with these components. Now, it does make it a lot easier when interface and when doing binding. So over here, I've got a motor, and I've got in there, you know, the value as percentage I can, this is just a string here, I can just drag it right over to the text property. And there you go. That's linked up. And it makes it really easy to just drag and drop properties to these different properties of these symbols. Now, one thing is that it has a state, the state is a string. And so here you see it's running or stopped or faulted on this particular one. Again, every symbol has different configurations there. So what you might wanna do, especially if your state in the PLC is a number, like here, I've gotten in this UDT, I've got a state and a PLC is integer, and one may be running zero might be stopped. Two might be, you know, faulty or something like that.

25:38
Travis: And so I could easily go and bind the state property of this... of the actual component, let me bring this over, I might bind one into their screen here. I can easily bind that to a tag and I can add a transform that would map it from a number to a string. And we could do that. I also recommend that if you have the UDT you can actually go on the UDT like I've done here... And I've actually built out a state, so that is an expression tag, and you can see it based on the state from the PLC, and if it's zero it would be stopped, if it's one it would be running, if it's two it'll be faulted, otherwise it's an unknown state. But I can then simply take that string state and drag it over to the state property, and now that's linked up.

26:22
Travis: Right, so if I set the state and the PLC to a zero, of course, now it'll be off or stopped, and so it's really, really easy to work with these from dragging tags over to them, and again, every one of these have different properties that we can interface with. The vessel has quite a bit of properties for how that looks. So that's one way we might be interfacing with them. Another thing that you might do is take one of these components and you might wrap it into your own view, making your own template out of that, where you can pass in a tag path and you can then do all the indirect bindings on there, and you can on the... If you make your own view as a template, you can have a drag-and-drop config where you can drop a, drag a UDT onto a screen and have it create that symbol for you with all the bindings ready to go.

27:09
Travis: It can make that part really, really simple. I just wanna point out that if you just wanted to quickly drag and drop values over to the symbols, I can go to the project properties. One of the things that people don't realize with Perspective is, you can actually configure what you want the drag and drop to do. So let's say for example, I wanna configure the string data type, so I drag a string onto the screen, I could actually go and add it to the list, I can add any component, and so all of the... All components exist here, so I could look at Motor, I can add that there. If I come down here for the Motor in particular, I can specify what I want to do when we drag and drop. So I can say, if I... When I drag, I'm gonna get the tags value property and I'm gonna drag it over to props. If you look over here, I want props.state, that's the state I wanna link that to and we can make it bidirectional or not. So if I do this, now I could actually take this state, I can drag on the screen, I can select Motor right away from that, and I can go over here on Motor 2 and do the same thing, drag it over and bring it down on that particular component, and so really easily... Let me set one of these two running, so you can see that they're in fact different, but that did the binding for me, made it really, really simple to do that.

28:26
Travis: Again, if we make a template, we can have the drop config of a template where I can drag the whole UDT over and it'll make that part really simple as well. So you're really in control of that drag and drop and the symbols really make it easy in developing these applications, and especially for making HMIs. Alright, so that's Perspective Symbols. Anything there Kevin, any questions you saw related to these that we should address?

28:50
Kevin: Well, there are a couple of questions about new symbols. As we release new symbols, they will make it into new releases, so basically the symbols are included in the releases, 8.1.0 is going to have all of these symbols part of it, it isn't a separate license, there's no separate module to purchase, it's just included. If you have a license for 8.1.0, you will have access to all of these symbols. When we add new symbols, they will go into the next version, so 8.1.1 will probably have additional symbols. There's a question about adding specific symbols. Please let us know what you need for your industry or what you're looking for that we might not have. We're very open to that, and we're going to be adding more symbols over the course of the 8.1's timeline here, so please reach out, let us know.

29:38
Kevin: And if I want to make my own symbols, that was one of the other big questions here, how do I do that? There's two different options. One, of course, if you're familiar with Ignition, you already know that you can create templates, you can create embedded use, and those are a great way to create reusable components essentially. If you wanna do something super fancy like what we have here, where it has multiple different rendering modes, it has different animations that are behind the scenes, you wanna get down and dirty in terms of how advanced these are, you can do the same thing that our programmers have done. We do have our Module SDK open, and it has a section for extensibility with the smart symbols where you can create your own smart symbols.

30:23
Kevin: Generally, folks, if you're looking at doing something that's reusable, are you going to go to the template route, are you going to go the embedded view route rather than actually programming against SDK, but we do take the training wheels off, we do make that available for you, so you can do that if you want to. And the last question that I will answer here quickly is, "Does 8.1 solve the drag-and-drop issues on Linux?" And I am happy to say, yes, absolutely, it does. So that is something that has been a long time incoming in being fixed, and if you download 8.1.0-RC2 right now, you'll see it fixed there.

31:00
Travis: Woo-hoo, yes, for sure. Alright, so the last one that I'm gonna demonstrate. I'm gonna kick it over to Kevin for the other features, I'm gonna demonstrate the Power Chart. This is... The Perspective Power Chart is probably one of the most important components that we've added and one of the most requested, of course, out there. I'm sure a lot of you're familiar with Vision and Vision's Easy Chart component that makes it really, really easy for building ad hoc or dynamic trends as well, and has a lot of features built into the Easy Chart. Perspective Power Chart takes that to the next level, but of course, specifically for Perspective, and I am really, really excited about this, it brings a lot of opportunity what we can do and how we build applications, and it supports mobile-responsive design, and it's very touch-friendly for phones and tablets, so it's really a perfect component to really go to the next level with charting.

31:52
Travis: Now to really show this, I'm gonna go into the actual application to the session. So here, I've got one open on my local machine. I'm gonna go to the Power Chart. I just put the Power Chart here on the components, all I've done is drag it on, make it full-screen, and I can start interacting with it. So first and foremost, what we do, it's a blank slate right now. As a user, I can go on there and see and browse all the tags, so here I can see all the tags that are there, I can add the ones I want, so let's say I want to add those two to the trend and now those two are added. If you look at the very bottom here, I can see those two pens and I can actually go in and either delete that or I can edit those pens and I'll show more about that, but right away, I get some information about some statistics about those two pens, I can see the current value of them, I can see the min, max, the average, I can see what access and what plot it's on right away. And if I put my mouse over certain areas, you can see the X-trace is changing. So where I put my mouse I can see the values for that right away. So right now I'm looking at the last eight hours, I can certainly change that, if I wanna look at the last maybe one hour of time, I can specify that. I can also go and switch just from real-time to historical mode.

33:04
Travis: And I really like this because with this, you can actually select ranges really easily. So let's say I wanna select a range from 28 to the 29th, I can do that whole range and bring it back. So you can see all of my data, and when I'm in historical mode, you have down here, you have the day range selector where you can actually go in and select the range you're interested in and look at that data. So you can switch easily between the real-time mode and the historical mode here. Just go back to the real-time mode, and right now, in terms of the mode, I'm in the mode here to pan and zoom, so I can actually kinda zoom in certain areas, I can drag and I can move... Zoom or pan over left or right in terms of the time period. I can then reset this, go back to the normal view of where I'm at for that last hour.

33:52
Travis: So that's the first mode, the second mode is an actual X-trace mode, so this is gonna draw all the X-trace there, and you can see at the bottom too, and for each of those pens, so you can see the X-trace down there for... The value for IF highlighted, but what's great about this X-trace is it's not just one, I can actually create multiple. So I can actually click and make multiple X-traces, so if I wanna see those values at different points, and right now they're following along, 'cause the trend is real time, but if it's historical they'd stay right where they are, and I can easily have multiple X-traces on there. It's something that we didn't have in the Vision Easy Chart component.

34:28
Travis: So really excited about that. I can go over here to the three dots and I can clear all the X-traces that I have, that's one mode. I think I'm more excited about the... What we call the Brush Range Mode. This Brush Range Mode allows it to actually select multiple ranges of time, and when I select multiple ranges down the bottom, instead of just getting the tags, the pens in there just once, I now get the pens in there for each of the ranges. So I've got two of them, you can see the top and the bottom for the first and second, and I get statistics about that range. So I can see what is the first value, the last value, the average, minimum maximum, the median, delta, sum, the upper control limit, lower control limit. The standard deviation, a lot of great information about those, and we can easily move these around, we can select them and when we select them, it highlights the one down below that we're interested in.

35:17
Travis: So really great to have these brush ranges within this new component, I'm gonna go ahead and clear that out. So that's the Brush Range. We now also have the ability to do annotations, I'm really excited about annotations. Like I can click on any area and say I wanna add a note here, and I can say that there. So you can see that's added. That is saved in the database there, so if another user goes to use the trend, they're gonna see that note as well. So great to have annotations now to this, makes it really, really nice.

35:52
Travis: So those are the different modes that the chart has. We can, of course, down at the bottom with the pen, we can actually make this more minimalistic. We can actually go to full screen, if we wanna go for the chart to full screen there to use all the available space we can go back and again, we can start now editing and not only can we add tags but we can start configuring the settings of the trend. As you see here with the pens, I can click the edit button. Well what that's gonna do is edit that particular pen. If I got to the Settings over here, I can actually go and see the chart setting. So I can have... I can see the axes, I have one axis right now, I can add additional axes, if I wanna add another one. Here, maybe I want that position on the right-hand side, I have it Auto Range and this will be Value over there. I'm gonna go ahead and add that. I can go to a particular pen. So let's say I want realistic three to be inside of Axis 1 instead of the default axis, and that can change the plot. I can hide this from the chart, from the pen control panel, I can make it user-selectable or not, and do all sorts of different settings for this. Type of it, if you want an area or bar. So if I want to make an area render, I can set the colors and the styling for that. All of these things we can set for each of these pens. And finish that. So now I have got that on its own axis, and I got it using Area Renderer on that.

37:14
Travis: We can add multiple plots, so if I did wanna have a second plot in here, we can specify a relative weight with those plots on that, and I can then go back to a pen and say, I want a Realistic 3 not only in its own axis, I'll go back to the default axis, but I want it in plot one. I'll go ahead and do that now I've got two different plots up there that I can deal with.

37:33
Travis: And lastly with the configurations are the columns. So these are the columns that we see in the Pens table down below. And the first ones are if I'm not in the Brush Range mode, I can see the Current Value, Min Max, Average, X-trace, Axis, and Plus. So you can choose which ones you want to be there, which ones you don't. If I didn't want Minimum, Maximum, I don't want those to show up, I just want the Current Value, the Axis and the X-trace, we can do that. When we're in the Brush Range mode, this is where we can actually specify all the statistics columns that we want to show up for, so you can hide or show those.

38:08
Travis: So the last thing here to point out with this component is on the three dots, I can actually easily export this data to a CSV as well as I can print this and easily send it to a printer just for that particular trend. Makes it really easy to do that and it's just gonna be the chart itself, not the entire view. All right, so the last thing to point out with the chart is I just show the runtime piece. If you're in the configuration environment, all of that configuration is there through the property model. I'm not gonna go into details on all the property model here, but the configuration interaction, all the axes, all the pens, all the plots, if we want the certain data columns to be visible or not, the titles, all these things are properties, properties we can bind these to whatever I want, to a query.

39:01
Travis: To a REST call, we can basically make this complete compelling dynamic and we interact with it and change that configuration in the runtime very very easily, even without the user having to do that. So all of those things are there, in fact, if I add a pen here, I'm in the designer and I add a pen, I would see that pen show up over here in the pens area. So it's great to have these because we could definitely take advantage of it from a dynamic design standpoint. All right. So Kevin, that's the end of demonstrations for the Perspective Module, and kicking it over to you for the platform features.

39:41
Kevin: So the first item that I have on my list, this full IDP support. The idea here is that it takes the IDP support that we already had inside Perspective when you are launching a Perspective session, and it brings it to the entire platform. So a number of folks asked, "Are we doing things in Vision that are improving Vision? Are we doing things elsewhere or is all the focus on Perspective?" This is one of those things that we've put into Vision. So we do have a fair amount of development effort going into Perspective, but Vision's also a very important part of our overall visualization systems. And so Vision has IDP support as of Ignition 8.1.O. There was a question, "When is 8.1.0 coming out?" Which I think is a fair question. We have the Release Candidate 1 that is currently up, and actually this morning Release Candidate 2 came out.

40:32
Kevin: So we use our release candidates as a way to get feedback from the community. We have a set of features that are inside there that we are fairly happy with and it's gone through our QA process, but we very much appreciate any feedback in terms of if anyone finds things inside the release candidate that makes it so it's not worthy of being the final release. So the amount of time that it is between a release candidate and a final release can be a little bit variable. We're thinking that it'll probably be somewhere around late October, early November, maybe somewhere in there, but it really depends on the feedback and it really depends on if anything's found inside there that we need to harden.

41:16
Kevin: We don't have a specific set release date that 8.1.O is going to be released, but it is right around the corner. So in 8.1.0, the Ignition Gateway, the Designer, Vision and Perspective, all have the ability to have identity providers. And in order to demonstrate this, I am going to go ahead and install Ignition 8.1.0 RCT, in this case, and I'll show you what that looks like. So in the meantime, while this is installing, it only takes a couple of minutes, Travis, let's jump back over to you and you can go ahead and answer a whole slew of PowerChart questions.

41:56
Travis: Sure, absolutely. So there was a question on, can you use the PowerChart to query database items that are not using the built-in historian to log? So if you do have historical data in some flat tables, let's say, or wide tables, 8.1 actually brings to the table a new history provider, you can actually go in there and add one, that basically is like a simple database query history provider. So if you have a wide table, you can point it to that table and we can actually bring it into the Power Chart as if it was something in the story, and we'd query that directly knowing what timestamp column there is and all of that. It's really, really easy for us to be able to leverage the component with any kind of source. And that's the idea, is we're gonna add more history provider types where we can then query those systems and bring it into the Power Chart. So I didn't get to demonstrate that, but it was a great piece there. The other question here is, "Can you disable the tag browse capability?"

42:52
Travis: There's a lot of questions about the configuration in particular. So right now, you can't disable the tag browse capability, there isn't a property for it. We'll certainly be adding more properties for what pieces are gonna be visible, what pieces are not gonna be visible on there. That will come as we go through it, right now, you can't, but as we add more properties, you'll see more of that happen. And in terms of the configuration, all the stuff that we have in configuration, if you wanna save that, you could easily... We don't have a safe configuration external like in a SQL database or anything like that at the moment. You could easily take those properties and save it off to a database table, and then you can have saved trends that people can go back and forth on. Certainly, you could do that if you wanted to. All right, Kevin, back to you.

43:38
Kevin: So I've gone through, I've installed Ignition and I've been sitting on the screen for a few seconds here. We are going to come back to this, but you can see it says, "Enable Quick Start." Do I wanna do this? I am going to click "Yes," and then I'm later going to tell you what this means. If I hit login right here, it actually takes me to this single sign-on to the identity provider support inside Ignition. So that was an example of the new identity provider support directly inside Ignition's Gateway webpages. I can click log out here and then if I try to go to status, for example, it pops up with this login, which is not the traditional login anymore. This is the identity provider login on this side, so that means that your Perspective sessions or Ignition Vision sessions, your Designer sessions and your Gateway webpage sessions, all of those are going to be right in pulling from the same source there. I will be pulling up the Designer in a little bit, so you'll be able to see that inside the Designer too.

44:41
Kevin: For the sake of time, I'm just going to jump back over here and talk about the next thing. So this tag browser design has... We've redesigned the tag browser and not really entirely redesigned it, but we have some additional things inside that tag browsing. So I'll show you what that means and what that looks like here. So I will come back over to my Ignition Gateway that I just had up and running, I could download the Designer. I happen to have the Designer already installed on my system, so I'm going to just pull that up here. And this is the Designer Launcher that is popping up on my other screen, but this will have a demonstration of... In this case, it has the traditional login. You have the option between either one, so you can do the traditional login or you can do the new IDP login, and you can choose that inside the preferences. I'm going to come in and create a new project and just call it Demo right here.

45:49
Kevin: And inside this demo project, this is going to be able to... You're gonna see everything that's in 8.1.0-RC2 and on the left-hand side, if you have the tag browser. And it looks a little bit different, so if you ever used this before, this tag browser generally is going to have a tree here and everything up until 8.1, it had a browser tree, now we've moved the providers up here to the top. So this one happens to have some tags inside it, and we can see that this is the top level now in terms of the tag browser. And then you can choose the provider that you have along there. The nice new interface, this is a quality-of-life feature addition. This is the new tag creator where you can browse down to your connected devices, and if you want to make changes, if you wanna add things to the tree, you can do it right here and then choose to accept or cancel all of the changes at once.

46:44
Kevin: So let's say I wanted to create a new set, so I have a new folder here, and this folder is going to be my north area, let's say. Hit OK right there and in my north area, maybe I have a whole set of tags and I'll pull random in here, for example, I can expand that out, I can see what I have here that's coming from the device. And you'll notice I haven't made any changes to my actual tag set, so I can choose, I wanna apply this, I want it okay. Or I can even come in and get some more information and I can edit these as I go along so I see the properties right here that are from that specific tag that I'm going to be adding.

47:26
Kevin: And I can get a summary of the different things that are going to happen as soon as I hit okay, if I choose to do so. It's creating 12 new tags, this is the list, we've got two folders there that it's creating and then these are all the tags inside there. If I hit okay, then that just pops it in and we are set with all of that. So, as I said, a quality-of-life improvement there. And we think that folks are gonna like that.

47:51
Kevin: The next item that I have here, is to talk a little bit about Docker. So Docker, if you're not familiar with Docker, Docker is a platform that essentially... It's a whole software that has the ability to run these containers. And these containers are... You can think of them like virtual machines, except they run in a much more lightweight manner and they're very easy to get started with and install and run and immediately spin up. And a lot of organizations, IT departments, are really big on Docker at this point, in addition to a lot of other folks and in fact, Inductive Automation uses Docker pretty extensively internally. So what I'm going to show you is what we've done, which is release a Docker image, an official supported Inductive Automation Docker image, that you can take and you can download and you can use. And when I say download, I'll show you what that means. So I'm going to go to Docker, and this is just... I'll go to Docker Hub, right? So I'm gonna do hub.docker.com.

49:03
Kevin: And this is the main place that if you're pulling in Docker images, where most of them are listed. I'm going to go in and search for Inductive Automation, and this will pop up our docker image. So come right over here. There's the Docker pull command, if you just wanna pull it. We put a little bit of documentation in here, so if we wanna run it in an ephemeral way where it's going to be there as soon as we get it, it's going to go away as soon as we're done, this is an example of how you might do that. So all I'm going to do is take this, copy that. And then most folks who are running Docker are running it on Linux and so they might have a server infrastructure. You can certainly run it on Windows as well, but it's going to be rare that folks might want to run Docker images on an install that they have somewhere. So basically, I'm going to grab this and show you inside a virtual machine that I have set up what this looks like.

50:03
Kevin: So we'll come over here, this is just Ubuntu Linux, pull up the terminal, and I will do the thing. So this is Ignition, this is that command right there. I can hit enter, it's going to start up Docker. I can choose which version of Ignition I wanna be running, if I wanna run the Nightly, if I wanna run a different version. We have the ports that I'm going to map it to here and a couple of things to give it names and a network buy-in to dress and a few other things. I'm actually going to switch this out, so it's running from the RC1. So this is 8.1.0-RC1, you might say to Kevin, "How did you know that that was RC1? And that was available?" If you go to these tags right over here on Docker Hub, it's going to give you a full listing of all the things that are available on Docker Hub. And right here, this is 8.1.0-RC1. So come back over here, and I just hit Enter. Oh, and actually I need to be an administrator, and if you've ever used Ignition before, or not Ignition, if you ever used Linux before, you know the sudo command. So I'm going to do that.

51:16
Kevin: And there you go. It is up and running. And that's all there is to it. So you now have Ignition running, put in a single command and Ignition is there. So this is that port 9088. I can come in and I will pull this up inside my main system here and connect up to it. So I'm just gonna take a little quick look at what the IP address is through this inside here, and this is that 192.168.248.140. And I'll switch back over to my web browser here and put that guy in. 140 and then that's at port 9088.

52:01
Kevin: So this is it, this is Ignition, it's up and running. It's ready for commissioning. If I wanted to come in and spin up another copy of Ignition, I can do that just as easily. So I'll change my port to 9089 here, and give this name to Test2, click enter, and now I have a second copy of Ignition running simple as that. So I'll come in and do 9089 on this and you are good to go. So if you wanna spin up multiple copies of Ignition very quickly, this is a really nice way to do it, you can orchestrate things, you can use the... Along with systems like Kubernetes, there are a couple of gotchas if you're going that route, we're happy to walk you through some of that stuff, because the way that the storage works behind the scenes, but the idea is that you can scale these things out, and then if you're taking a look at the standard options that are in the cloud, Azure has options, AWS has options for what their container services look like. And those can all be really convenient.

53:09
Kevin: If you've never launched a Docker image before for a certain item, I know we recently updated our nightly, so if I go to the nightly here in this case, and I wanna jump over to grab that, but I've never grabbed it before, Docker obviously, I have this information that I have on this system that I pulled up before, if I do that, because the nightly is new, it's going to automatically download it, grab it from Docker Hub, any of the different resources that are needed so you can see that it’s grabbing these couple of resources and it's about a gig and a half to do that.

53:43
Kevin: So the very first time you launch it, it's going to do this, grab resources, and then after that, it's immediate to spend these things up. And the last thing...

53:51
Travis: Hold on...

53:52
Kevin: Yeah, go ahead please.

53:54
Travis: But there was a question about licensing with Docker. I think it's an important thing to address. Why don't you address that?

54:00
Kevin: Sure, sure, so we have... Yeah, yeah, absolutely. So we have licenses that you can purchase from us that are 8-character licenses and some of the six character licenses that are intended to work inside these type of environments. So basically, you just talk to us, we're going to give you a license, and you purchase a license, and then we're going to give you one of these 8-character licenses. Just request that specifically. The Docker image is going to have communication back to our servers to verify that license, that means that that license can be more ephemeral, it's easy to run inside those environments. If you're using our official Docker image, then that license should work for you. Going into the future, we are also exploring some things for making things work well with the idea of auto-scaling. We're going to have some additional licensing options that are coming along those lines, but yeah, if you wanna run right now today on this, just let your account executive know wherever you're purchasing software from Inductive Automation or from your integrator, and they can get one of those 8-character license pieces.

55:11
Kevin: All right, and then I'm going to show the Quick Start and Designer Workspace start page redesigns here, which is one of the... which is the last item on our list. So trying to fly through at a pretty decent click here, I'm jumping back over to the Designer, and you'll notice that when Ignition first started, I quickly clicked through... When I first installed it, I quickly clicked through something that said, "Do you wanna view the Quick Start?” This is the Quick Start project, and in fact, what this Quick Start project gave us is, if you come over to the Ignition homepage, we have a project that is already here ready to go. Ready for you to use.

55:56
Kevin: So I'm going to come back over here, I'm going to say that I want to do a Perspective session, launch this Quick Start project, and this is available, this is an Ignition project and is running on this Ignition Gateway, and it is there for you to take a look at, to dig into to understand how things are working behind the scenes to be able to watch as different things change and to be able to learn Ignition. So we have Inductive University, which is great, but if you want a little bit of hands-on in terms of the project that Inductive Automation has created that shows off different types of binding, shows off different types of transforms and actions and themes, views, containers and examples of status control, alarming, things like that, we have all of this available, and in fact, if you choose, go ahead and start with a Quick Start project, you will get this immediately inside Ignition and the version that you download and you install.

56:54
Kevin: And if you take a look at it inside the Designer, you can take a look under Perspective use, and you can see all of these things that I was just pulling up here. So for example, I'm taking a look at these components, and let's take a look at the time series chart for example, I can just drill right in here, go to Components, and then I can take a look and these are all named intelligently as you would expect them to, so this is by category of charts right there, and then there's the time series chart. So we try to make this as easy to dig into, as simple to understand as possible. And for example, here we go, we have two different time series charts that are embedded inside here. You can see what the property trees look like for this, you can see how it's configured, for each one, you can see how the data is found, if you have a data set binding for some of these. And that's going to be true for all of these different pieces inside here.

57:47
Kevin: One of the nice things that this does, if you have an organization and there are engineers that are learning Ignition, it gives a really nice easy, quick reference to be able to see how components are done, this is kind of a component glossary or index or gallery, if you will. And if you take a look under Ignition 101, this is focused around the Ignition fundamental features inside Perspective that you might use. So different types of bindings, for example, are going to be something that is really easy to take a quick look at. So if I take a look at the framework or not a framework, sorry, the Perspective features and the bindings right here, I can dig in and I could see that if I want a straight tag binding, I can click here, dig in and I can see how a tag binding is done, and that's the simplest type of binding, of course.

58:34
Kevin: If I wanna do something more advanced like an expression structure binding, that has multiple things that are bound to a single point where you have three different items under it, you can take a look and see how an expression structure binding is done or scaling binding over here that's doing some automatic scaling, because this happens to be an expression binding that's being pulled to each one of these, and you can pull in and take a look, this is an expression that's building this out, based on the different values here. So that is the Quick Start mode with Ignition, this is the Quick Start project that we're taking a look at right here, and that is the last item.

59:11
Travis: Before we get to the rest of questions, we appreciate everybody coming here today. Thanks for being a part of this. There's so much to show, so many great features. Kevin and I will not go away, our teams from the sales engineering standpoint will be happy to do any private demonstrations. So let's just schedule some calls to get those going. So there are a couple of other questions. There's a question there that says they only see RC-1 available for download. So if that is true, if RC-2 is meant to drop today, if it's on there, it'll be on there, it'll be up there shortly. You will see RC-2 that will have the tag browser change, things like that in there. Look out for that one here today. There were some questions on IDPs in particular and because you showed how it's available on all parts of the platform there, Kevin, the questions were specifically around RFID and IDP and whether if they have a hub-and-spoke, if each of the spokes can leverage the hub's IDP with that. So maybe you wanna address those two questions real quick.

1:00:14
Kevin: Sure, sure. So the way that IDPs work, it's a technology that has to work through the user's browser, so the user has to have access to that Identity Provider. And so their Ignition Gateway needs to be able to ping whatever that Identity Provider is or have a network path to that Identity Provider. So you wouldn't really chain Identity Providers necessarily, but basically you can use the same Identity Provider for all of the different Ignition Gateways as long as those clients, as long as those systems have access to be able to hit that Identity Provider from those clients. If you are using that same Identity Provider, it provides single sign-on across all of the different Ignition Gateways. So you log in for one, you go to the next one, since you're already logged into the Identity Provider, it does stay in check behind the scenes and then it's going to allow you to just navigate around. You might click here to log in and then it just redirects you right back without prompting for credentials again there.

1:01:14
Travis: All right, one more question for you, Kevin. They noticed in the tag browser that there was a magnifying glass there. Does that mean that they could search for tags in the new version there and not the Find and Replace?

1:01:27
Kevin: Well, this is actually pulling up the Find and Replace, so this is just a quick way to pull up the Find and Replace dialogue that's part of this, and then you can select tags that's right in there. And by final release we might have it so it just auto-selects tags by default. But this is just a quick way to get to the Find and Replace.

1:01:48
Travis: I will say that that is an area... And search for tags is an area that they've been putting some effort into from the development side and there will be a more comprehensive way to look through tags and find configurations and export that out and make changes in future versions to come.

1:02:07
Kevin: Travis, I think if you don't mind, there is one or two other questions here that I thought was worth addressing that came in a little bit earlier too. There were a couple of folks who were asking about 8.0 to 8.1 upgrades. So you can purchase an upgrade to 8.1 from 8.0. If you purchased 8.0 recently within the last 90 days after an 8.1 between that and the 8.1 release, that's a free upgrade, you get that included. If you have not purchased that recently, then if you have upgrade protection as part of your support contract, then you get that included as part of your support contract as well. So most folks who purchase do purchase upgrade protection. If you didn't purchase upgrade protection, then you can talk to your account executive, but you will need to purchase the update to 8.1 from 8.0 if you don't happen to have the support or the upgrade protection as part of that.

1:03:06
Kevin: Would we go straight from 7.9 to 8.1 or would it make sense to go 7.9 to 8.0 to 8.1? Please do not go 7.9 to 8.0 to 8.1. It's completely unnecessary. So yeah, we make all of our upgraders in a way and installers so that they should be backward-compatible, so that you can go from any version of Ignition to the latest version of Ignition. So there's absolutely no need to jump to an intermediary version. I know with some other software packages that's important or that's needed, with Ignition, it's not. So yeah, it goes straight from 7.9 to 8.1, that would be the way to install it and to run, and that upgrade guide that we'll have there is going to guide you through anything that you might have as considerations for that, that's right inside. All right, those were the couple that I did want to answer really quickly. Travis, back over to you.

1:04:02
Travis: Okay. Well, thank you. Thanks to everybody for being here again today. There were a ton of questions and we apologize we couldn't get to all of them, there's a lot more we could show and demo as well. So as I mentioned before, please feel free to reach out to us and to our team to schedule some demonstrations or if you have some questions for us, please, please do so and stay connected with us on social media, subscribe to our news feed and podcast, especially the news feed, when... we'll have blog posts on 8.1 and all of that. They go out there and as release train happens, new versions, you'll see those feature enhancements that will go there. And continue staying tuned into our Ignition Community Live. We have great sessions coming up in the weeks ahead, and we look forward to working with everybody. So have a great rest of the day and we will see you next time.

1:04:49
Kevin: Thank you everyone. Take care.

Posted on September 30, 2020