Exploring Ignition 8.3: A Guided Tour
60 min video / 57 minute read Download PDFSpeakers
Travis Cox
Chief Technology Evangelist
Inductive Automation
Now that Ignition 8.3 is here, what better way to celebrate than to take a tour of it led by one of the world’s most experienced and enthusiastic Ignition experts?
At this webinar, join us for a wide-ranging overview of Ignition 8.3, which introduces major advancements in data processing efficiency, security, management, and development speed. In a single, demo-filled hour, we’ll show you why Ignition 8.3 is truly the world’s most powerful, most open, and most flexible application development platform.
- See the Industrial Historian Solution Suite and Event Streams Module
- Check out the Perspective Drawing Editor and Forms
- Discover security enhancements and the redesigned Ignition gateway
- Learn about Deployment Modes and Version Control
Plus, get a look at alarm metrics, Twilio Voice & WhatsApp integrations, and the built-in REST API, and hear expert answers to your 8.3 questions. Register now — even if you can’t attend, we’ll send you the recording!
Transcript:
00:00
Travis Cox: Welcome to today's webinar, "Exploring Ignition 8.3, A Guided Tour." Thanks for joining us here today. I'm Travis Cox, the Chief Technology Evangelist here at Inductive Automation. I work closely with end users integrators to help them build their projects and to solve challenges. Today, I continue to share my expertise through education and awareness in exploring the art of the possible with Ignition. And I'm very happy to be here today to give you a comprehensive tour of Ignition 8.3. So here's our agenda for today. I'm going to introduce you to Ignition and Inductive Automation for those of you that are new. Then I'm going to tell you a little bit about our new release, Ignition 8.3, and I'll show you a long demo and all the different features of it. After that, I'll go over a few more details and I'll have some time for Q&A. To submit your question, type it into the questions area of the GoToWebinar control panel and I'll answer as many of them as I can at the end. If I don't get to your question here today, please reach out to one of our account representatives and we'll be happy to answer it for you.
01:04
Travis Cox: And of course, yes, the recording will be done and will be emailed to you tomorrow and the slides will be available on our website. So don't worry about that. You'll be able to see the recording and be able to see all of this again because I'm going to go fast here today and show you a lot of the amazing features that are part of Ignition 8.3. So first, in case you're not familiar with Inductive Automation, here are a few facts about us. We are a software company and our software, Ignition, is used by 65% of Fortune 100 companies, which means that it's being used every single day inside some of the world's biggest companies. And we have a highly diversified customer base across many industries with thousands of Ignition installations in over 140 countries. We've been in the industry for over 22 years and we have over 350 employees in the US and in Australia. As I mentioned, our software is called Ignition and it's a universal industrial application platform for SCADA, MES, IIoT, and much more. It is really a software platform that helps you with the new paradigm. It acts as a central hub for everything on the plant floor and beyond.
02:14
Travis Cox: You can build any kind of industrial application with it. It's web-based, it's web-managed, it's web-deployable to desktops, industrial displays, and mobile devices, and it has an unlimited licensing model that allows you to have as many tags, screens, projects, clients, device connections, you name it. You can scale up as you go forward. It's fully cross-platform and it offers industrial-strength security and stability. So let's talk about Ignition 8.3. That's what we're here for today. It was released on September 16th, 2025, and that was the first day of our ICC conference. And it's the result of many years of hard work. It's a comprehensive update to the Ignition platform. In fact, it's so comprehensive that we went straight from 8.1 to 8.3. We've designed it to be the world's most powerful, open, and flexible application development platform. Like everyone here at Inductive Automation, I'm thrilled that Ignition 8.3 is finally here, and I'll start showing it off in just a couple of minutes. But first, I'm going to tell you some broad strokes about how Ignition 8.3 can benefit you. Whether you're new or experienced in Ignition, 8.3 helps you unlock your data's full potential.
03:25
Travis Cox: You can easily store more data, connect to more devices, integrate with more systems to take your data to the next level. Ignition 8.3 also simplifies your project workflow. You can streamline processes and add more customization to your projects with new tools for drawing graphics, building forms, and submitting data. You can manage and configure systems with ease in Ignition 8.3. It's the world's most scalable platform, so you can efficiently navigate and manage large systems, share resources, and access your projects and connections more quickly than ever. You can deploy and secure large systems with Ignition 8.3. It has powerful new integrations and features that improve system management for your enterprise. You can streamline your build, test, deploy processes with deployment modes, elevate project collaboration and version control with Git, and provide more protection for your data using advanced security features. And Ignition 8.3 is a long-term support version, so you'll know you'll be taken care of for the long haul. 8.3 will be getting regular updates and enhancements through the next five years, which lets you build your system on a stable foundation for the future. In fact, Ignition 8.3 isn't the end. It's the starting point.
04:39
Travis Cox: There is a lot that we can do that we're going to be building on top of Ignition 8.3 with these new systems. And I'll mention a little bit of that as we go through the demo here today. So now, let me take you through a guided tour of the key features in Ignition 8.3. And we're going to try to cover a lot of ground here in the webinar today. So first, we're going to talk about the redesigned Ignition gateway, the web UI. We're going to show off the new Core Historian. It's part of the industrial historian solution suite. We're going to look at Perspective's, drawing tools and offline forms. We're going to look at the new alarm metrics metadata that's within our tag system. We're going to see the new module event streams and the connection to Kafka, as well as, of course, MQTT. We're going to show you the new Twilio Voice and WhatsApp integrations. We're going to look at some of the security enhancements, including secrets management. And then we're going to show some DevOps. We're going to look at how we can do version control with Ignition now that we have all the configurations and file systems. We're going to show the new REST API that's built into Ignition. And we're going to explore deployment modes.
05:44
Travis Cox: So there's a lot that we're going to cover here today. I hope you guys are just as excited as I am. I love showing off these new features. So we're going to start first with the redesigned Ignition gateway. So we're going to look at the new web UI that's part of Ignition 8.3. So let me go over to that. So now you should be seeing my browser and I have Ignition 8.3 installed on my machine. If you don't have it installed, it's very, very easy to go and download it. You can go to our website, inductionautomation.com, go to the downloads page. You can download it for different operating systems, and, of course, we have the Docker Container, and there are now Helm charts to deploy in Kubernetes. There are lots of ways to easily get Ignition 8.3 up and running. So this is the new web UI for Ignition 8.3. And for those of you who were familiar with Ignition 8.1 before, the web UI will look a little bit different at first. And maybe to some, it might be a little jarring because they're still familiar with the home status configuration sections. But we really designed this to be much more intuitive and much easier to find what you're looking for and to kind of have status and configuration all built into one place.
06:51
Travis Cox: So we're not doing it in two different sections. So let's kind of show first different sections of the left-hand side. So the home section is where, of course, we launch our projects. We can launch Perspective projects, the designer, and of course, Vision projects. So we can go right there and see all of those and easily get to it. So it's meant to go and launch, and that's the page that's accessible without having to be logged in. Once you're logged in, of course, you can access all the rest of these sections. We've broken up the configuration into platform-level configuration. So these are things like gateway settings, defining projects, installing modules, security settings like setting up identity providers and users and security levels. That's all part of the platform area. And if I go here to connections, this is where we would connect to various things like MQTT, connect to devices, connect to databases, connect to service connectors like Kafka, as well as OPC servers that we want to get connected to. Then we have the network, which is our gateway network, as well as, of course, the networking settings in Ignition, like setting up the web server and SSL, as well as, of course, a lot of the EAM configuration, whether you're an agent or controller. All that is part of the network area.
08:04
Travis Cox: Then we have services, and services are all the services that Ignition provides. You'll be able to set up the historian, set up tags, set up alarming reports, and see the status of things like SFCs, transaction groups, and event streams. So all that in one place. And then, of course, lastly is the diagnostics, where we can see all the diagnostics of Ignition, the performance of Ignition, as well as the logs very easily in one place. Now, what's great about this new web UI is not only is it organized much better and much more intuitive, but now we have a beautiful search function. So if I want to go search for devices, I can go straight up here and I can go see the device settings as well as the connections. I can go straight to that area. And here you saw it brought me to connections and into that connections area. Now, another thing that's really nice about the web UI is we brought together status and configuration. So let me go up to a particular database connection so I can actually see in one place if there are any error connections, what our throughput is, and the valid connections. I can go over here on each connection; I can view details of them and see that right here as a dock that kind of expands out.
09:12
Travis Cox: If there is a fault, we can see the fault and click on it and get the message right here without having to leave the page. And so it really just makes things a lot simpler to go and configure and see what's going on. As well, of course, in all of these areas, the tables here have much more performance. You have thousands and thousands of things; it will load very fast. And it also allows us, if we want to create new connections, to have a modal up here. So for example, if I want to create a new device connection, I can select my driver and set the configuration on there. And let me come out. And if I want to edit a connection here, I can edit and it brings it out to the dock on the right. So it's just very easy to navigate around and very intuitive. In fact, once you start using a lot more, you really see the benefits of it and start to really enjoy it. The last thing I want to show you in the web UI is under the platform. As there's a new section under overview that gives you the glance of your configuration in one view. And this is really exciting to me, especially if you have things like errors.
10:17
Travis Cox: So let's let's go, for example, to a device. I'm going to create a device connection; I'm going to create a Modbus one here, and I don't have a Modbus device. So I'm just going to put localhost and you're going to see, of course, that it is not connected. So if I go to the platform, you can actually see under devices, I've got one error. And if I expand it, I can see that the Modbus there is disconnected. I can click on the configure and go straight to the area that I can start and easily then work with that config. So I'll go ahead and delete it, but it allows you to get to these places very quickly. And so I really, really love this new web UI for Ignition 8.3. So let's move on to the next topic in 8.3, which is the new built-in Core Historian and that's based on QuestDB. So for that, we're going to be setting up one of our services and that is the historian. And so I'm going to do it here, Historians. This is where we can create a historian, and if you connect to an SQL database, of course, you can use the normal historian like you have forever, the SQL Historian, but now there is a brand new Core Historian.
11:22
Travis Cox: Again, it's built on QuestDB, an open-source time series database technology. It's embedded in the process; it's inside of Ignition. So for people that are new to Ignition, it is so easy to get started with this in that you don't have to install any databases separately. You can just start with the Core Historian, and this is a highly performant and optimized or high-throughput storage engine that's right here on the same Ignition server. Now, of course, you can break it up with the gateway network and all of that, but this makes it so easy for people who want to log data, especially for the plant or that site, just very, very quickly and easily. So all I have to do is select the new Core Historian, which I'm going to call "Historian, " and you can, of course, specify partition intervals; you can do pruning if you'd like to, or even archiving if you want to set it up. Because it's embedded in the process, we can do more than just pruning, which we do in SQL databases. Here we can actually archive data; you can set that all up.
12:16
Travis Cox: I'm going to go ahead and just simply create that. Now I've got the new Core Historian set up, so that's just that simple. Then we open up our designer, and we can go over to any tag that we want. So let me go to my realistic tags over here. I'm going to right-click and edit these and simply come down, turn on the historian, and select that historian, and I'll set the deadband style to discrete, and there we go. That data is now being logged to the new embedded historian, and if you wanted to, you could go into the file system; you can actually go and see the QuestDB database files. You cannot connect to the QuestDB directly; it's because it is embedded in Ignition. However, the data, of course, is open; it's there and, of course, accessible through all of our mechanisms within Ignition. So for example, if we wanted to go to our charts and I wanted to bring in the data from that, it would be very easy; of course, we can get that data out. Let's go here, the last eight minutes, and there we can see the data logging. So this historian is, like I said, very fast and very simple, and for a lot of new customers, this is all you need to get going with Ignition.
13:26
Travis Cox: Now, of course, if you want to install a database separately and still use that, that's still part of Ignition. We just now have this brand-new piece that you can take advantage of. So that covers the web UI and the new Core Historian, but of course, there's so much in Ignition 8.3. Let's move on to Perspective. Perspective is the native HTML visualization to build applications within Ignition, and it's a great module. There's so much you can do with Perspective, but it's got a few enhancements in 8.3. Most notably, the drawing tools and the form components, along with the offline form capabilities. I'm going to show you all of that here. Let's start with the drawing tools. So there's a new component over here that's called Drawing, and you can bring it onto your screen, onto your view. You can double-click on it, and it opens up the editor where we can basically configure. Let's configure a 100 by 100, or do 200 by 200, where we can use all the tools so I can draw shapes, squares, circles, and polygons. You can do freeform paths. You can put text in here. You can use pencil. You can draw anything you'd like to draw.
14:43
Travis Cox: So you can really build any kind of SVG that you'd like to. So it's a full-on SVG editor built into the designer. Of course, when I press Apply, I can see that. And of course, with SVGs, they scale beautifully. So that you're able to easily build your own graphics. And for those of you who have been with Ignition for a while, with Perspective, if you want to draw a circle or a line or any of that, it was hard. Now, of course, it's very simple using the new drawing tools. Now, there are multiple ways you can access these tools. I drew my own graphic here. But if you want to still use Symbol Factory, which we have in Ignition, bring that over here; all the graphics are there. And now I can actually drag it on, and I can then double-click on it and make those modifications. So I can actually right there, I can see all the individual paths that are part of this, and I can manipulate this, right? I can easily change the graphic. If I want to delete this, for example, the circle up here, I can certainly do that and get rid of that. And it's really easy to do.
15:43
Travis Cox: You don't have to go outside of the designer. Now, what's also really cool about the drawing tools is that we can actually do binding. So here I have a fill color on this square. Let's say that I want to bind that directly to a tag. And let's go to our writable; let's go to writable integer one, and we'll do a mapping on this, a simple mapping. If I have a value of zero, one, or two, we can make this a color, and we can make it so that zero is red, one is green, and two can be, I don't know, orange, let's say. And so a real simple binding that we're putting on that square, on the fill of that square, and now that's set up. If I press apply, you'll see, of course, that there is, in here, you can see the binding happen on the properties, but now it is ready to go. And if I go over here to my writable, and we change this to a one, we'll make it go green there; you can see that it changed. Real simple. Now, what's also really cool is that you can—I'm going to make this a little bit taller; let's go 100—I'm going to put in here text.
16:48
Travis Cox: You can now put in text, and let's just say that this is going to be motor five on there. Press apply, and now I've got that, and you'll notice that the text will, of course, scale beautifully as the screen gets smaller or bigger. So that's really cool. The drawing tools are a really great addition. Now, you can also take SVGs that are outside of Ignition that you have downloaded from the internet or whatever, and you can drag them in. So I have the Ignition logo. I'm going to drag in here. You're going to want to set it, when you do that, to embed. Embed will actually embed the SVG into the view. And so there I can see here is the Ignition logo. I can double-click on it. And I can actually, if I wanted to, go remove parts of this again, make that, manipulate it and make those changes very easily. So building HMIs, especially building graphics, all of that is much easier than ever with the new drawing tools that are part of Perspective. So hopefully you guys enjoy that. And we're always, of course, looking for feedback on how we can improve that. But no longer do you have to worry about making those modifications in an SVG editor outside of the designer.
17:59
Travis Cox: So it's all built in. Let's talk about the next update to Perspective, which is the offline forms, or the form component and offline forms. So the new form components, actually, let me go to a new screen. I'm going to call this form. New form. And there's a new component over here. If I search for it, called "form, " you can drag it into your view. And this is where you can basically build the entire form within one component. And it's meant to be mobile responsive. It has validation. Everything's built into it to handle forms. If you were to do this outside the form component, it's not that hard to build forms. But you have to line things up. You've got to think about mobile-responsive design. You have to do the validation on your own. You have to often involve scripting to get things in place. This makes it so simple. So as you can see over here, if I look at my items and look at the rows, here's that second row with that. There's a widget in here, which is a text widget. And we have quite a few widgets to start out with. Text, email, URL, passwords, numbers. You can see all the ones that we have in here.
19:10
Travis Cox: And there's going to be more that we're going to add. A few of them we wanted to add at the beginning. We just didn't make it for the initial release. But we want to add the ability to do signatures and capture images, like on your phones, whatever it might be, so that you can bring that into the form. But let's show you this. So I can basically take... Let me take another one of these. Let me duplicate this one. And on this one, this widget, we're going to set it to be a toggle switch there. Or let's do a dropdown. We'll go over here and we'll do a dropdown. And the dropdown will have options. So I can have option 1. And then we'll duplicate this. And we have an option; maybe it's bigger, option 2. And we can sit in here; we can have validation if we want to and force this to be a required field. You can see the star shows up on there. And for all different types, there are different validation options that are there. We can set, of course, what we want. So we can set the label down here.
20:16
Travis Cox: This is going to be a select option. And it's really easy to build these forms. And we can have information boxes. Here is some information on this item. You can see there. It's really simple to set these things up. And it's actually because it's defined into one component; we can actually bind this to... Dynamically if we wanted to and have these forms being dynamically generated. Of course, for offline forms, we don't want that. We want them to be defined right within the component itself. So let me go to another form that I've already set up ahead of time here. Let's go to this one. I have this machine safety inspection checklist. It's all set up. Now, what's cool about this is if I look at the submit, the last thing to kind of point out is that this will fire either component events or submission events. And submission events are that it will actually submit that to a handler where we can do something with it. And so in my case, I'm submitting it to a handler called inspection. And that's up here. If I go to this gateway events form submission, there's inspection. This is using scripting. All I have to do is just figure out what to do with the data.
21:23
Travis Cox: All the validation—everything that has happened before—happened for us. All I'm doing here is I'm just inserting this into our database. I'm inserting into a new row. So if we were to submit that, we'll see that come in. So very simple. So let's go back to our browser. Let's go launch this application Perspective. And so there's my form. Let's go to the compressor, compressor 1. If I don't put something there, you'll see it says, Please fill out the field so the evaluation is good and done. So I'll select my items here. Here are some notes. And I can submit that. And you see this form has been submitted successfully. That then went through the handler. And if I go in my database, I should see under my inspection form, refresh it. And there is that new row. So the other reason that that form submission is so important is that the component knows how to submit this. And with the mobile app, which I'm going to show now. So we're going to switch over to the mobile side. So give me a second here to get this up on the screen. So you'll see this is the native app. And for my phone, I'm going to go add the application to that demo project.
22:43
Travis Cox: And now if I go edit this, I can actually say, Let's make this available offline. By making this available offline, it downloads everything. And now you can see that it is as available. Of course, if I go in now, I can go set up that form like normal. That's all good. But what happens if we're offline? So let's go ahead, and let's show this. What I'm going to do is real quick; I'm going to stop the Ignition server so I can be offline for that. So let's go back to mirroring. One second. Here we go. So now I'm offline. So let's go in here, and you're going to see that it's not going to be able to connect. So it's going to say in just a moment, it'll launch and it'll show us that we're offline. So at the very top, we're currently working offline. Let's go ahead and put something in here. So I'm going to go pump one. This is Travis. And I'm going to set my form again. Let's say everything is good. And we're going to submit. So you'll see that that was the case. It says that that offline submission was added to the device queue.
23:57
Travis Cox: So if I exit and go over here, you'll notice at the top that there's a queue, a submission queue. And that submission queue is all the items that were there. So when we're back in range, this will automatically then get submitted to that same handler that we just showed. So that can get stored into the database. So let's go back. Let's start up our Ignition server again so that I can be back online. And while that's happening, we're going to mirror the phone again one more time. So I'm just going to press the refresh button. And you'll notice that it's submitted. Everything was good. There are no more queued submissions. It automatically went up there. And so now I should be able to go into my database. Let's minimize this. Go to my database, and refresh. And you'll see there's my centrifugal pump, pump one. So we're able to show that offline capability. It is a very, I think, critical feature that's going to be for a lot of people when they need to go out on-site, where there's no cellular, no Wi-Fi, and where they can collect that information. This form component and this offline capability are huge. But the thing to keep in mind with this, for those of you who are going to use it, is to ensure that the screen that you have doesn't have any bindings and doesn't have anything that relies back on the server. Because that's got to be available completely offline there, which is what you have to make sure to look at.
25:21
Travis Cox: But this is an amazing new feature of Ignition. So let's go from Perspective. Let's move on to another area, another new area that got updated, which is our alarming system and our alarm metrics. So now if we go to our tag browser, if I go to each of these folders, you'll notice that in the folder, there's a new meta area called alarm metrics. And alarm metrics show you what's currently active within that area. So let me go down here. I'm going to make an alarm go active here. I'm going to read and write. And so if I look at my alarm metrics, you can see that I have one that is active. We have something active in that particular folder. And it's for anything that's in this folder and below. Of course, if I look at the individual folders here, like this one, it does not have anything active. But the writable one sure does, because that one is active. And we can use that metadata. So no longer do you have to create your UDT that looks at and gets this information for you. It's provided automatically. And there are quite a few different metrics that you can look at and use.
26:26
Travis Cox: And if you want to bring it onto a screen, let's go over here too. I'm going to go to my home screen here. Let me put on a drawing component. And I'm going to draw a simple circle. So let's do it. Whoops. We'll do 30, 30. We're going to draw a little circle in here. Not going to draw it perfectly. But of course, with that, we can go over, and I can actually bind this to a tag. And if I look at my tags, I expand to go to simulator and alarm metrics. I'm looking to see if it is active in that particular folder. And we can do a mapping. Let's do a simple true/false. If it's true, it's going to be red. If it's false, we're going to, I don't know, be gray, let's say. And so if I apply, now I've got my circle that is going to show stuff that's active in that particular folder. So if I were to make that alarm clear, you could see that it went away. So these metrics are just right there. They're available. They're easy to work with. And it just makes that part really simple. The alarming system is a very powerful part of Ignition.
27:36
Travis Cox: And that just gives you the information quickly without having to find it. So that's a simple little addition, but very powerful, very mighty on that. So let's move on. Looking at the tag system, we've done quite a bit in that we've added the ability to connect to more devices and we've done more with our OPC UA stack. So let's see two of those two features. I'm going to go back to our browser, and I'm going to go over to another server that I've got here. I'm going to go to my devices. We added a new driver in Ignition 8.3 called the Siemens Enhanced Driver. And this allows you to do symbolic addressing for that. So I'm going to go ahead and connect to a Siemens device that I have. And this one is at 1020473. And I want to do the symbolic. This is a 1500. I want to do symbolic type. I'm going to create that connection. And we're now connected. So if I open up the designer and I go and browse the devices, you can see that I get all of the tags right within the device. Very easy to see. I can drag them in and use them. This is for people that are working with Siemens devices.
28:48
Travis Cox: This is the enhanced S7 Plus. Enhanced Driver is just great. You don't have to worry about the onboard OPC UA server. You can just go directly and use symbolic addressing like normal. So we are continuing to add more drivers to Ignition as we go forward. This was a great addition in 8.3. So the next thing I want to show is our OPC UA Module. That, as our server, we've added some more features to that. If I go to OPC, our OPC server is based on Eclipse Milo. We've updated that to OPC UA 105 in this release. And we've added the ability for OPC UA events to come in through event streams, as well as we have a new way of being able to share data from Ignition out to different clients and we can be selective as to what we want to share with them. So if I actually go to our OPC UA server settings here, I'm going to come down to permissions. And on permissions, this is where we, before, if you connected to our OPC UA server, it was just all or nothing. All the data was accessible to you. Now you can actually put individual permissions on tag providers.
30:03
Travis Cox: You can have tag providers where you can specify which tags are allowed to be browsed, read, written to, all of that. And you can do that by roles. So you can assign roles for connections too, for users connecting to the OPC UA server, and based on those roles. So if I, for example, look at my default tag provider, I can add a read-write role that is allowed to browse, read, and write. But then if I did it to a different provider and I said they don't have that, they wouldn't be able to see those tags. So now we could be more selective as to which tags are accessible through the OPC UA server. And that's really important, especially if you have a server with lots of different data and you need multiple different vendors or people to connect to that server and only get the data they need. So it's a simple little feature, but really powerful there as well. Again, more fine-grained security. We can put Ignition, the better. Cool. So let's move from there. As I mentioned, the OPC UA Module adds events to event streams, and event streams is a brand new module for Ignition 8.3. And this is a—I'm going to go over here to this area.
31:09
Travis Cox: It's a new area in our designer we can configure. But event streams are basically ways that we can move data around to different places in a very highly performant, highly scalable framework, a system. As we look to things like MQTT, especially people want a Kafka with these, we didn't want these to be one-offs. We wanted a framework where when data changes, especially from pub-subsystems, we can handle that and then do something with that data. And so event streams was our new module. And this allows you to have a source of data. Like, for example, your source could be coming from MQTT, a tag in Ignition, or Kafka could be listening for an event. And when that thing changes, we can take it in and we can do the different things with it. So, for example, here I've got a stream already set up for Kafka. And this is a Kafka source. So I'm listening, I'm connecting to our, I have my Kafka connector, which since I'm on that, I'll go over to our connections and under our service connectors here. Oops, let me go to the right server. Let's go to connections and service connectors. And you'll see that I've got a connection to a Kafka cluster.
32:23
Travis Cox: So on my local machine, I have one running and I'm connected to that already. And in here, on my source, that's the Kafka connector. I'm listening for a topic called Ignition Messages. And when a topic comes in or a value comes in, that's going to be a JSON object. That's the encoding that I want. And we can filter that message if we want to. We can transform and manipulate the message. We can buffer it there so we don't lose these records. Of course, we can then do something with that data. In this particular case, there are lots of different handlers. I can have one or more handlers. Here, I'm actually using a database handler where I can write that information to a database table. But I can send it out through MQTT. I can send it out to a tag. I can call a script. I can do whatever I want. And the idea of this framework is that you have so many options. The more sources and handlers that we have, the more options for how you can move data around. And it just gives you so much more flexibility, especially with MQTT, with the Cirrus Link MQTT modules. Pretty much that all worked around tags and publishing tag data out, whereas you're bringing that information into a tag system.
33:33
Travis Cox: But now we can send to any MQTT topic or listen for an MQTT topic. So I'll show you an example of that here in a minute. So I've got this one Kafka setup. It's going to a database. It's inserting into a table called Kafka Messages. So if I go to my database, here's that table. I don't have any records in there right now for that. So what I'm going to do is I'm going to go over here and I'm going to run a Python program that I have to actually produce a Kafka message. It's going to send that to the Kafka cluster that I have, which is on that same Ignition Messages topic that this is listening for. So I'm going to go ahead and run that. And so here you can see there's my message that it should send to Ignition Messages. And ultimately, that's going to get handled. And if I go into my database and we refresh that, there you can see there's that new message that just came in. So it easily allows us to see these messages, to bring that message in and do something with it. Now, if I wanted to write that to do more with that data, like say I wanted to write that to a tag, we could do that as well.
34:45
Travis Cox: So let's go over here. Let's create a new tag. We'll call it a memory tag, and this will be our Kafka message there. And it's going to be a document-style tag. So we're going to bring that in. I'm going to copy the path. Let's go over here and write that on a tag. The tag path is going to be this. The value is simply event.data. That is the full message there. The quality will be good. And the timestamp will be now. We'll do a; these are all expressions there. So let's go ahead and save this. And so now I'm going to do two things. I'm going to write to a database and write to a tag at the same time. So let's go and put another message in there. Let's write one more. There we go. It's random. See, one came in with two handlers. And now you can see on my tag, I've got that data coming in. Super simple. There are so many things that we can do. I'm not going to be able to show every example, but I'm going to show one more. Let's do an event listener for alarms. So events, let's call them events. And it's going to be the event listener. We can actually have alarms sent out through this. And there's nothing to configure here, but we're going to go over to the handler and I'm going to write this to MQTT.
36:04
Travis Cox: We're going to go to ours; this is the broker I've connected to and I'll call this event stream alarm events. So we'll write that to MQTT. And so again, this is not just, it's not Sparkplug. We could do that, but this is a plain JSON message that is going to be sent to that server. So let's go ahead and save that. What we're going to do is open up MQTT Explorer here and we're going to connect to my local broker. And so I don't have any; we'll see that message come in. Now, what we can do with this is we actually have to create a pipeline. Let me minimize this. I'm going to create a pipeline and that pipeline, there's an event stream source where I can actually take the alarm message and I can pipe it directly to—and this is the stream you want to go to—the event stream. So then once I save that, let's go down to an alarm like this writable Boolean one and here's my alarm. When it goes active, I want to go into that pipeline so that we can send that data into that stream. So let's go over to the stream, which is going to write to MQTT. So now let's go ahead and make this go to a one, there, which you can see one came in, it wrote to MQTT.
37:20
Travis Cox: Let's go over here and there's my event streams, alarm events, and that full alarm message that just went through. So this could be, I can go from Kafka to MQTT, MP to Kafka. I can go from MQTT to database and MQTT to tags. I can do whatever combination I want, giving me ultimate flexibility here with event streams. There are so many things that we can do. I'll just mention a couple more things real quick. In that, from sources, we have MQTT tags, we can listen on Kafka topics, Sparkplug messages from MQTT, event listeners, which I just showed, and then HTTP. HTTP actually adds an endpoint to Ignition for this stream that a third-party application can post to, and that message will come in and we can handle it. So there are quite a few. And for these event streams, the sources and handlers are part of the SDK. You can actually build modules that extend the functionality, adding more to this. If we look at the handlers that kind of show there, but databases sending through gateway messages or gateway events in the gateway network going out through HTTP or Kafka, we can do the logging system, MQTT, tags, as well as just do any script that we want to run right here.
38:27
Travis Cox: So lots of possibilities with event streams. So we're going to go to, from event streams, we're going to go to another amazing feature, a couple of features that were added, which are new voice and new alarm notifications. Since we're talking about alarming a little bit, let's go back over here. We have some new alarm notification types. Let me go to this server. No, this one. And if I go over here to our notification system, we actually have, if I create profiles, new Twilio Voice and Twilio WhatsApp notifications. So I can actually do voice through voice calls through Twilio, which I'm not going to show you here today. I will show you the Twilio WhatsApp, though, where we can go send alarms through WhatsApp. That's pretty cool. So that one I have set up here, I have this WhatsApp configuration that is based on a Twilio account. So I've got a Twilio account set up and the notification for WhatsApp. And you can follow the documentation to get that set up. I also have a roster for WhatsApp that is going to be basically, I'm sending it to myself, Travis, so I can see that alarm come through.
39:36
Travis Cox: So let's kind of get this set up to show you. I'm going to open this designer here. Before, I was going to bring up my phone one more time. Before we actually trigger the alarm, let's show you here I've got WhatsApp open. I have no chats right now in WhatsApp. So once the notification happens, I'm going to just go and send this to true and send that alarm. So that's going to send this message to me. So let's go back before I do anything; let's go show you the phone again. And so there you can see it says, "Greetings, Travis." There's an alarm notification machine; the alarm machine fault has been triggered. With WhatsApp, you have to establish a secure channel. I'll say great, and now I have that channel where any message, of course, at that point, gives me the full details of the alarm, and we can go back and forth with this, which is a great new addition for folks, especially for people that are on their phones, that are using WhatsApp to get these notifications versus SMS messages, things like that. This is a great new addition and a very simple thing, but with the alarm system, there are just more and more ways that you can send notifications now with Twilio Voice and with WhatsApp.
40:57
Travis Cox: Okay. Hope you guys are all doing well. We're almost there. We have a few more important things to show. So let's go to the next one, which is to talk about Secrets Management. And I'm not going to really configure this in full detail here, but under security, we have the ability to specify Secrets Providers. And right now we only have an internal one, but we are adding providers to external secrets managers. Like there's Bitwarden, there's HashiCorp Vault, and there are many out there that people want to use, and we'll be adding more. This is part of the SDK as well, where we can connect to these third-party tools that store passwords, that store certificates and tokens, and various things that we want to use. So if I call this my vault here, with that, I'm just going to go in and manage a secret. So I can put a secret here like it's my database and the value for that is my password and I have my secret. Now what's cool is you'll notice that on a connection, like if I go to my database connection and edit that, this is where we can either embed the password, so anybody who upgrades will be able to work perfectly fine, or you can say it actually wants to be referenced.
42:09
Travis Cox: I want to go into my vault; I want to reference that database. And so if I use that now, it's going to be the same; we'll get a valid connection, but we're getting the password from the secrets vault versus embedding it directly into this particular resource. So it's a simple feature that was added but very powerful in terms of being able to leverage these third-party tools for all the secrets. So as we add more at Ignition 8.3, as I mentioned, this is a starting point. There are more sources and handlers we want to add to event streams, there's more secret management, we want to add more historian options there to different time series databases. There's just more that we can do with this framework, this base that's in here. Okay, cool. So let's go to the next feature that I want to talk about. This has to deal with DevOps, where we can do version control in Ignition, we can set up deploy modes, and we can use the REST API in Ignition. So let's talk about all three of those. The first thing I want to do is I want to show you that all the configuration in Ignition 8.3 is stored in the file system.
43:13
Travis Cox: So if we actually go to the install directory, here's the data directory that's there, and in the data directory, all the configuration is there. So like before, all the projects are in here, and we can actually see in the projects; if I go to Perspective, for example, here are our views, and I can actually see the individual views and the configuration of those views. Just as pure JSON, really simple. But what's now great in 8.3 is that all the configuration of the server, all the stuff that we did in the gateway, database connections and all that, are now stored here in the file system. So if I go to resources, there's my core configuration. If I go to Ignition, as an example, let's go take a look at the database connection. And so there's my MariaDB connection, and there's the JSON for that. So everything is very simple; it's all there. We can see it in the install directory, but that makes it very easy for us to then connect that to Git so that we can see that in a version control system. So let's show how we would set that up real quick. I'm going to come over here; we're going to do some commands here.
44:24
Travis Cox: So for those of you not familiar with Git, it's okay, don't worry, we're not. It's really easy if we wanted to. I'm in the data directory here, and what I'm going to do is I'm going to set this one up as a—I'm going to set this as a repository to my repository. And so I'm going to do a couple commands. I'm going to add the remote origin. I'm going to a GitLab that I have installed on my local machine. I'm going to do an initial commit, so I'm going to add all the files that are here, and after that, I'm going to do my initial commit. Let's go ahead and push that to our repo. And so I have an empty repository right now in GitLab, and by doing this, I'm basically pushing all that config into it, so it'll be done here in just a moment, and I'll be able to see all that in my version control system. So we'll go ahead now. Now it's ready to go. Let's go ahead and refresh this, and you'll see that this is now my config. My repository has now got all the files. Let's go make a change. Let's go into our tag, and let's say that these engineering units here are a percentage, or PSI, from zero to 45, let's say, and there we go. Now I've made a change, and let's go ahead and use now, instead of using the command line tools, let's use GitHub Desktop for this.
45:47
Travis Cox: So I'm going to quickly add this directory and then bring this over, and so here you can see that now I've got a change, and the change is to those writable tags. You can see the engineering high and engineering unit were changed, and I can commit this, so change a tag. I could change anything I want, and you would see those happening. I'm going to push that to my repository, and so once that pushes to the repository, I will be able to see those commits and those changes that are happening across all of the configuration in Ignition, from the gateway side all the way, of course, to projects. Everything that we would have would be in there. So that part just allows us to do that complete version control. So it's very exciting to have that. So that's been pushed. Let's go ahead and refresh this page because you'll see that there's now a change to tag commits. If I go look at that one in particular, I can see the change of that tag that we showed.
46:52
Travis Cox: So really it's great to be able to use this and leverage tools like Git. Of course, you can use GitHub if you like to. You can use GitLab if you want something local. Lots of options for that. Along with that is how we can set up development, testing and production environments. And we're making that process a lot easier now. So if I go to the platform, we've added a new thing in Ignition called deployment modes. Deployment modes are where we can set up different modes and different configurations of Ignition for different environments that we want to go into. So it's environmental awareness that we're setting up. So if I create a mode for development, I now have a development mode. I can go to things like a database connection. And right now, this configuration is part of the core. So there's a kind of hierarchy set up that we have an inheritance model. And it goes core. And then I have our different modes. And what I can do is I can actually put an override for our development mode. And I can say in that override, let's go ahead and show this. You can see here's the core and there's the development. And if I wanted to, I could actually go into that development and change something, like I could change the IP address or something different or change the password, whatever it is.
48:07
Travis Cox: And what's cool is I'll go ahead and do that. So let's say I change the URL. That config is all in the file system. So in fact, you'll notice that if I look at my resources, there's core, and then now there's the development. And for development, there's my override for the database connection. And so that has the different IP address. When I take the backup of this gateway and move it to my development environment, I can actually mark my development environment as being development. So you can see this Ignition server here at the top left; it has development. If I go look at my database connections—not that one, database connections—you can see that that's just the one I'm using is development and core is down below because this is not the production environment. In my case, I'm using Core as the production environment. But you can set up however you want. And it gives you the one backup that holds all the config for different environments, but each environment is set up in a different mode. And it only runs that configuration in that mode. But I would see all that configuration in our version control system.
49:09
Travis Cox: I would know exactly what happened. In fact, if I open up the GitHub desktop, you can see that development got those new changes in that development folder. So it's a great new way to really have that environmental separation and environmental awareness built into Ignition. So it makes your job easier. I could just simply move my config from dev to testing to prod. I don't have to worry about which config I need to move exactly. It'll all happen for you if you set up the right model for how you want that configuration to be inherited. So the last thing that we're going to show here today is the brand-new REST API built into Ignition 8.3. And this REST API is so powerful. What's really cool about this new gateway web interface is that everything you see in this gateway web interface is all going against the REST API built into Ignition. Everything that is visible here is visible to a third-party application for Perspective projects and Vision projects. It's all ready to go. And you can simply take advantage of that. So what we have to do for this is under security; we have to set up an API key.
50:19
Travis Cox: So I don't have an API key. Oops, let me go here. Wrong one. Let's go over to my API keys here. I got an API key set up. It's really simple. You can go create a token. You have to give it a role security level that has permission associated with either reading or writing to using the API. But I've got one set up already. And I'm going to use something like Postman or any kind of tool to interface with that API. Now what you can do is actually, if I go to a new tab, I can slash open API at the end. And you can actually see all the endpoints that are there. So for example, if I want to look for devices, I want to alter devices, or I want to get information about devices or databases with an Ignition, I can go—you can see—let's say I want to see all of the listed device resources. I want to see all the devices that are there. This gives you all the endpoints that are in the system. We can then use that third-party tool or, again, call that REST API. I'm going to use insomnia here for Mac. And I've got a few different endpoints set up.
51:20
Travis Cox: So I actually have, in my environment, I've actually got my token set up that I would—that I created earlier—that goes in our header. And I have these different endpoints to look at. So for example, there's an endpoint at /data/API/v1 to list all of the OPC UA devices. If I do that, I can see there's my daily device simulator. And there's my other programmable simulator that is called my simulator. And I can actually see the config. I can also see the metrics. So here I can see the status and these are both running. If it was faulty, we would see that we would know it's faulty and all that right here. Let's go to our database connections. I have a database connection for MariaDB. There's all the config for that database connection. And I get all of the metrics too. I even get active connections, queries, throughput, and all these different numbers you get as well. So all the metrics, again, everything we see in the web UI, is now accessible in this API. Let's say, though, that we want to add something new. I want to add a new OPC UA device. So if I go to our gateway, go to connections and go to devices, I have these two simulators.
52:30
Travis Cox: Let's say I want to add a Modbus connection. All you do is call that endpoint to post to the device endpoint. The body is going to be a new Modbus, a simple JSON config that you'd see if you looked at the file system and that's what that would look like. I'm going to post that in there. And again, in my header, I have the token, so it's all ready to go. Let's go ahead and send it. That was created. And now you can see I've got a Modbus device that is not going to connect, but it was easily added through that REST API. There are just so many endpoints that you could work with. Again, if you go look at the open API, you can see them. And what's great is modules will add new endpoints and automatically be dynamic when those things are added. We're going to add more endpoints as we go forward, not just for configuration, but for our systems, like even querying historian data. All of that will be adding more to the API now that it's built in to Ignition. It just gives you so much flexibility with what you can do. And you can use third-party tools like Ansible or just show this data inside your projects, or IT tools can work with it.
53:32
Travis Cox: Of course, when you're using orchestration platforms and are able to deploy the config out there dynamically, you can leverage all of these tools that we have between the version control, between the plan modes, and the REST API. There are so many options for how you can deploy and work with Ignition. So hopefully you got to see a pretty comprehensive demo of Ignition 8.3. There's a lot that's there. I tried to cram as much as I could into that 45-minute time, but go try it out for yourself. There's a lot of great stuff that's in there. You can go download it on the website. It's a free trial, a two-hour trial period. You can try everything that we showed here. It just takes a couple of minutes to download it. And you can go to our documentation, our university. We have some videos there. We'll be adding more videos as we go forward. Reach out to us if you have any questions on that. One other thing I want to mention before we go to the Q&A is that along with Ignition 8.3, we just released Ignition Solution Suites. And this is offering a new, simpler way to buy and deploy Ignition. Solution Suites are pre-built combinations of modules designed to deliver complete future-ready solutions.
54:41
Travis Cox: And when you purchase upgrade protection with Solution Suites, you're entitled to all future upgrades for that suite for free, meaning any new modules we add to that suite, you will get for free in the future. It's a way to future-proof your systems and to basically continue to have... THE technology that comes out. You want that available in your system so you can take advantage of it. And you can actually see all the information about Solution Suites on our website. You can buy them today. You can see the details around them. This is a really great way to look at buying. It's simpler to buy Ignition and just have a lot more power long-term. Also, of course, you can check out the Inductive University. It's our free online training library with lots, with hundreds of educational videos. So you can learn Ignition step-by-step at your own pace. We have a great user manual and a great forum where you can ask questions of other people. No cost whatsoever; it just helps you understand how to leverage Ignition. If you have additional questions, you can contact our international distribution partners outside the US. You see here, of course, within the US, you can contact our account executive team.
55:43
Travis Cox: We're happy to answer any questions for you. And let's now get into our Q&A. As a reminder, you can put questions in there if you have any for the Q&A, in the questions area. I'll try to get to as many of these as I possibly can. So let me bring that out now. There are quite a few. Oh, my gosh, there are lots of questions that have come in here. So there's a question about... This person came to the ICC conference. How do we get the MCP Module? So at ICC, we introduced a new module for Ignition for MCP, Model Context Provider. That's a connection into AI engines. And that is a new module. We'll be releasing it in beta very soon. We want to get that out to people's hands. So it's coming very shortly here for Ignition 8.3. Another question is, when will the Inductive University videos be updated to include features in 8.3? That is happening as we speak. By the next couple of months, you're going to see a lot more videos being added in there. We're adding them all the time. Now that the release is out, we can really get all those solidified and out the door, along with, of course, getting the documentation where it needs to be.
56:51
Travis Cox: If you guys have any questions in the meantime, feel free to contact our support team or contact our sales engineering team as well. So the question is, does the Core Historian require the SQL Bridge Module? No. So the Core Historian is part of the... Now we have the Core Historian Module, and then we have the SQL Engine Module, and then we have others. Right now, they're kind of bundled together. So it's part of just the historian suite that's there. It's not... SQL Bridge does not rely on SQL Bridge whatsoever for that. And the question is, is it possible to access the Core Historian tables from Query Browser in Designer? So I don't think so. You can do it directly from there. We do want to make that possible. I'm not 100% sure on that. We'll have to get back on that question. So what would be the considered best practices and how do you migrate to Ignition 8.3? That's a great question. I'm glad you brought that up. I'm going to go to our documentation. If you go to the documentation on 8.3, you'll see that there is the getting started and installing.
58:01
Travis Cox: Okay, here it goes. On getting started, installing, upgrading Ignition, there's the Ignition 8 upgrade guide, and there's the 8.1 to 8.3 upgrade guide for those. There's 7.9 to 8.1, of course, and then 8.1 to 8.3. In these guides, you can see all different configurations in there. Mainly, there are some configurations around our gateway network. We've enhanced the security around the gateway network quite a bit. So you kind of read this, kind of see what's there. It's a very simple upgrade, but there are just a couple of things to be kind of aware of. Take a look at the guide if you want to go and upgrade. I highly recommend upgrading in a sandbox environment first. Make sure things are going the way you expect. Test out some of the major pieces of that, and then you can go up to update your production environments with that. I think we are out of time here. I'd love to get there; there are so many questions. I'm so sorry that I didn't get to all of them. 8.3, there are a lot of amazing parts of it. So we will make sure if you have any questions, if you really want to get answers, call our sales team and get a call with them and the sales engineering team.
59:02
Travis Cox: We're happy to address any of the questions for you. You can email us any of that or reach out to me on LinkedIn. If you have questions as well, I'm happy to do that. But we thank everybody for your time here today. And we will, of course, see you next time. We're going to be back in October with another webinar. But until then, connect with us on social media and subscribe to our weekly news speed email. And you can stay up-to-date through our blog, our case studies and more. There's a ton of helpful content for you to explore on our website. Go check it out. Thanks, everybody, for joining us today. Have an amazing rest of your day and an amazing rest of your week.
Want to stay up-to-date with us?
Sign up for our weekly News Feed.