Take a look at this web page. It's a web page that's showing
things that, well, maybe they look familiar to you. These are the PI
ProcessBook Displays that we ship with our
Demo System, PIDemo.piw. If you
notice, though, these ProcessBook Displays, these pdi files,
are now within a Web Page. So how did we do this?
Well, this is with a package called PI ActiveView.
ActiveView takes those Displays, the PDI Files,
and saves those PDI -- excuse me,
allows those pdi files to be displayed
within any ActiveX Control Container.
And, Internet Explorer is an ActiveX Control Container.
So, what we're looking at here is the actual
pdi files. Now, the reason we find this so useful
is because there are some customers who have ProcessBook
Displays that they're so valuable
in what they do, like, for example, the Visual Basic Scripting
that you can see that's going on right here. There's
some scripting going on in VBA, behind the
scenes. Yeah, that can, ends up being so
valuable that, even though customers would like to put this
information on the Web, they don't want to give up that scripting
capability or things like the, you
know, the navigating with buttons that people have gotten
accustomed to. And, of course, some customers have
hundreds and hundreds of PI ProcessBook Displays that they simply
want to put on the Web. They don't want to go about having
to convert them all into the
SVG and use them in a PI Graphic WebPart.
So that's where PI ActiveView comes in. With ActiveView you can
host these PDI Files on a web page. What you're
hosting is the actual PDI Files, the Display Documents.
Now, all the scripting, as I said,
or, or the vast majority of the scripting
inside ProcessBook will continue to work.
The things that won't work are those things that make
reference to the larger Objects in ProcessBook
like the Workbook Objects. Those are things that will not
be available through scripting. In addition, there's some
specialized types of Displays, like PI BatchView and
PI SQC, the Statistical Quality Control
addin. And, those work within ActiveView, so customers
who are used to using those Displays
tend to use ActiveView if they need to look at
this on a web page. Now,
a couple of things about this design you should know about.
First of all, within ActiveView
you are going to have to maintain a direct
connection to the PI Server through Port
5450. That's a lot of detail that we usually don't get
into in this class, in a Client Class, but our System
Managers are well aware that the rich clients
like PI ProcessBook and PI DataLink, they typically rely
on Port 5450 to make their connection to the
PI Server. Well, since ActiveView is essentially
a rich client, that Port is going to
be required to be open, and that is one thing that, that
basically makes most people choose to use
ActiveView only with an intranet, not,
not an internet app...application
that would go all the way outside your internal network.
And to explain this further, let's take a look at this
animation here. With the
PI ActiveView Connection, essentially what you're
going to have is a Web Server
that hosts a Page called
my Page.htm. That's a strict WebPage.
When the client hits that
WebPage, embedded on that WebPage is
going to be a Display, a pdi file
from PI ProcessBook. Now, when we host
that, within this local client right here, that
initiates or launches an ActiveX Control,
then initiates the typical functionality in
PI ProcessBook. So, PI ProcessBook initiates
an SDK -- that's a Software Development Kit --
an SDK-based connection to the PI Server
via Port T, or this
TCP-IP Listening Port 5450.
Now, I'm, I'm guessing some of you looking at this
slide say, hold on a second. I, what, what's this PDI
stuff? I, I've got PIW Files.
Are you telling me that I have to redo all my PIW Files,
or somehow export them, etc., etc.?
We've got an answer to that, a very good solution to that.
This was exported automatically. I just did it
a few minutes ago. I use a
File that we ship with ActiveView.
It is called the Export.pdi.
You simply load the Name of a File
and the Destination, the Path for that Destination,
and what it will do
is generate all the required
HTML code for hosting those
Displays on a page that looks like this.
So, yeah, it'll create a page that looks
like this. Now, you know, if, if you're a web designer,
you look at this and say hey, what's, you know, with the huge left
margin? I wouldn't do it like that. No problem.
I mean, if you want to do this on your own, just take this as
kind of a step to generate the PDI Files
and give you some Sample Code that you can use in your own HTML files.
So you're not, you're certainly not stuck with
what we export. But, if all you want
is a quick and dirty way of getting this out onto the Web,
that Export is very robust.
You will, basically what it's doing is it's running a Visual Basic
script that opens the PIW Files, saves them as PDI Files
and then generates the
HTML Code that will host these
inside ActiveView. And, that's what we're looking at
right here. Okay, well, if you trust me then you
can just stop the video right now, but, hey, why believe me?
Let me just demonstrate it. I hate when people say yeah, I just did
this, and I'm not going to show you how it worked, and so, why don't I
delete what I had just created, and let's generate it over again,
just so you can see how it works. So, here's my File, PI Demo.piw.
Doesn't have to be Open or it could be Open
if you want it to. You'll find this
Export, that PDI, in this Path that you see right here.
I'll just go ahead and open it up. It's normally
under Pri...Program Files, PI PC, AC
View, whoops,
WebDev, and there's the File,
Export.pdi. You're being prompted for what
PIW File you want, and you'll just say
you have to go out and Browse to that.
That's going to be PI PC,
under ProcBook,
and it's under the English Version
PIDEMO. Yeah, there we go. So, it's found that File,
and now I need to specify my Output. I think my
Output I'll just Copy and Paste from here.
And so what's happening now
is it's launched that Script and it's Exporting these Files.
Now, that, yeah, I'll just point out something.
A couple of these Displays when they open up, they launch
VB Scripts. So that's what you're seeing here. These are not
errors. These are just the normal behavior of these Displays when they open.
There we go.
And, now, the Export is complete. So, not only
is it robust, it's pretty fast. So now that I've done
this, hey, there it is. It's the thing I just deleted.
Double-click on this. I'm doing this locally so I have
to allow this to run locally.
And, there we go. So now we're --
what we're seeing here is these Displays
that we've just Exported showing up inside
these, this, now this
PDI File's hosted by ActiveView. And things
like - now there, there's certain restrictions, certain types of buttons
that are not referencing other Displays that are
within the same Path. Those will break, but, generally,
if you've got everything using Relative Referencing, you should have
no problem with your Buttons. Oh, and, of course, any
Buttons that link to, for example, a separate
PIW File, like let's say if this Button
had linked to a PIW File, that simply will not work.
This will not launch a PIW File from within here.
And, now, I didn't mention it, but, of course, the big finish to all this
would be to take what we just generated
and send this over to a Web Server, post this on a Web Server
and then give it to your users.