On my project there are multiple vendors creating Ignition graphics. Lead vendor already has the customers gateway in their office and setup with all of their PLC’s programmed and communicating in bench test environment. Offsite, but functioning for aid in building their graphics. I have don’t have this luxury.
I’m tasked with building our graphics offline. No live PLC’s, no points list for building UDT’s ect… And to make my situation more complex, the lead vendor has built the existing templates, windows and navigation on the gateway with an Active Directory Hybrid Database. Pretty much all of their templates have custom properties for security which queries the DB.
How can I set up my companies gateway (development server/my laptop) to use the existing templates and windows, and also to create my own templates and windows using the same security parameters they are using but tied to my “IgnitionAdmin” user?
I know this is a vague question so let me elaborate. Currently I set up an internal user source and I gave my user the same “IgnitionAdmin” role matching what they are using in their Active Directory along with a ton of area admin roles. They are currently using three Client Tags (IsAdmin, MyLocations, MyRoles) and the 2nd two are using datasets . Their templates have custom properties such as SecurityLocation and SecurityRole and a binding on the internal property “InternalEnabled” for template such as PBMS (Push button multi state). Script for internal enabled is an expression binding:
if( {PBMS.SecurityRole} = “”,
{PBMS.Enabled},
{PBMS.Enabled} & hasRole(coalesce({PBMS.SecurityRole},"")))
They are also defining the hasRole using a project script. Its defined and hits the Database
def hasRole(user, role).
They also have built a “user” window with 7 different power tables (Base Group, Base Role, Linked Roles, User Areas, User Groups, User Roles and Users) that query the DB and different tables in the database through a binding on the data object.
Any ideas on how to make this work without using their database?