cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - If community subscription notifications are filling up your inbox you can set up a daily digest and get all your notifications in a single email. X

Manufacturing Apps for multiple factories and user groups

olatz
12-Amethyst

Manufacturing Apps for multiple factories and user groups

Hi,

 

My question is about Manufacturing Apps and the possibilities to be configured to monitor lines, machines, KPIs, etc. of multiple factories with differente group of users.

 

In our case, the intent is to use Manufacturing Apps to monitor different lines, machines, and KPIs from different factories. Each factory is going to have its own users, and once the users are logged, they only should see the lines, machines and KPIs that are configured for their factory, so they shouldn't have access information from other factories. Each factory should have its look & feel (logos, colours, etc.) which is going to be different for each factory.

 

Can we do it using Manufacturing Apps?

 

Thanks.

 

Olatz

1 ACCEPTED SOLUTION

Accepted Solutions
abhkumar
13-Aquamarine
(To:olatz)

Hello@olatz ,

The step 7 that I mentioned in above post i.e. (Go to PTC.SCA.SCO.ContextManager & execute PropagatePermissions services according the requirement like PropagateUserGroupPermissionsOnEntities, PropagateUserPermissionsOnEntities.) is well explained in the help center of manufacturing apps in below links under Services for Propagating Permissions:

https://support.ptc.com/help/thingworx_apps/r8.5/en/#page/thingworx_apps%2FThingWorxAppsCust%2Fmanag...

Once you add a equipment to a network you have to execute the Propagate Permission service.

Let me explain you in detail how Propagating Permissions service work:
By design we are essentially giving by default permission only to the user creating the context and entities. There are many use cases where it is not desired to give access to users to all entities in a network/context simply because they have access to the network. Let me give you an example with user A and user B. User A is responsible for Region A and User B for Region B. User A should not see the region B part of the network. We decided to adopt a restrictive approach for permissions which is the most common approach; once the network structure is built, it is therefore left for the admin/user to decide how to propagate permissions to other users.
 
Network AB [User A and B]
               |--------Region A [User A only]
                              |------------- Customer 1
                                                            |--------- Asset 11
                                                            |--------- Asset 12
                              |------------- Customer 2
                                                            |--------- Asset 21
                                                            |--------- Asset 22
               |--------Region B [User B only]
                              |------------- Customer 3
                                                            |--------- Asset 31
                                                            |--------- Asset 32
                              |------------- Customer 4
                                                            |--------- Asset 41
                                                            |--------- Asset 42

 

The aim of creating an organization is to allow assign visibility to entities in the ThingWorx model.

 

Thanks

Abhishek 

 

 

View solution in original post

4 REPLIES 4
abhkumar
13-Aquamarine
(To:olatz)

Hi @olatz 

 

In Manufacturing Apps 8.5, you can control the viability of Assets by Managing Contexts from PTC.Factory.C_LaunchPointConfigurationThing. As shown below

Capture1.PNG

Context: A context is a grouping of Assets (or equipment types that derive from Assets) in an equipment structure. ThingWorx Apps provides the ability to implement multiple contexts, each with its own equipment structure. Each context can have its own set of equipment relationships and permissions. context displays on Asset Advisor, Production KPIs, Alert Monitoring, and the Equipment tab in Configuration and Setup.  Contexts are defined within ThingWorx Composer, on the EquipmentContextSettings configuration table of the launch point configuration thing (PTC.Factory.C_LaunchPointConfigurationThing_[ReleaseVersion]).

 

The following information is defined for each context:

  • ContextName—(Required) The name for the context. Must be unique within the EquipmentContextSettings configuration table. If no value is specified for the LocalizationToken property, then this value displays for the context in ThingWorx Apps.
  • Network—(Required) The name of the network entity used for this context. Must be unique within the EquipmentContextSettings configuration table.
  • Description—An optional description for the context.
  • LocalizationToken—The localization token that is displayed as the name for this context in ThingWorx Apps. If no LocalizationToken is specified, the ContextName value displays as the context name instead.
  • EquipmentRelationshipSettings—(Required) The equipment relationship definition data table defining the valid relationships for this context. Each context can use a different equipment relationship definition data table, or multiple contexts can use the same equipment relationship definition data table. By default, the equipment relationship definition data table for the default context is PTC.SCA.SCO.DefaultEquipmentRelationshipDefinition.
  • Enabled—When this checkbox is selected (the default), the context is available within ThingWorx Apps. If this checkbox is cleared, the context is disabled, and does not appear in the context-aware areas of ThingWorx Apps.

Before creating a context we need to create a network entity.

 

To create a network entity:

  1. In ThingWorx Composer, select Networks from the Browse pane, and click New.
  2. Enter a name for the new network. This is the value to be entered as the Network for a context on the EquipmentContextSettings configuration table.
  3. Click Save to create the network.
  4. On the Permissions page for the network, select Visibility.
  5. Search for and select the PTC.Factory.MachineVisibility organization. This grants the same visibility permissions to the ThingWorx Apps user roles as are granted in the default context.
  6. Click Save to save the network.

 

To create a new context:

  1. Navigate to the Configuration page of PTC.Factory.C_LaunchPointConfigurationThing_[ReleaseVersion].
  2. Click Add on the EquipmentContextSettings configuration table.
  3. In the EquipmentContextSettings window, specify the information for the context.
  4. Click Add to add the context to the configuration table.
  5. Click Save to save the launch point configuration thing.

Now to control the visibility of context follow below steps:

 

  1. Create an Organization say “MainOrg” and add two sub units under the MainOrg.
  2. Create 4 users as “Maintenance manager or any” and add 2 users in each sub unit organization.

Capture2.PNG

 

 

        3. Create 2 network for each context view and add 1 or more line & assets in the network

        4.  Go to the visibility permission of the first network and add one sub unit organization & give run-time access to the users or user group specific to that organization.

.     Capture3.PNG

 

        5.Repeat the 4th step for second network.

        6. Go to launch point Configuration & create context for 2 different networks.                                                                            7.      Go to PTC.SCA.SCO.ContextManager & execute PropagatePermissions services according the requirement like PropagateUserGroupPermissionsOnEntities, PropagateUserPermissionsOnEntities.

 

 

 

 

slangley
23-Emerald II
(To:abhkumar)

Hi @olatz.

 

If the response provided by @abhkumar answered your question, please mark it as the Accepted Solution for the benefit of others with the same question.

 

Regards.

 

--Sharon

olatz
12-Amethyst
(To:abhkumar)

Thanks abhkumar@

 

Could you please clarify the last 7 steps? I found your explanations in the help center of manufacturing apps:

https://support.ptc.com/help/thingworx_apps/r8.5/en/#page/thingworx_apps%2FThingWorxAppsCust%2Fmanaging_context_and_equipment_permissions.html%23

https://support.ptc.com/help/thingworx_apps/r8.5/en/#page/thingworx_apps%2FThingWorxAppsCust%2Fmanaging_context_and_equipment_permissions.html%23

But in thouse links there is no metion about your last 7 steps.

I could create contexts following the instructions in the links and giving to each user the access to the corresponding equipment, but I didn't create any organization. Which is the aim of creating an organization in this example?

 

Thanks in advance,

 

Olatz.

abhkumar
13-Aquamarine
(To:olatz)

Hello@olatz ,

The step 7 that I mentioned in above post i.e. (Go to PTC.SCA.SCO.ContextManager & execute PropagatePermissions services according the requirement like PropagateUserGroupPermissionsOnEntities, PropagateUserPermissionsOnEntities.) is well explained in the help center of manufacturing apps in below links under Services for Propagating Permissions:

https://support.ptc.com/help/thingworx_apps/r8.5/en/#page/thingworx_apps%2FThingWorxAppsCust%2Fmanag...

Once you add a equipment to a network you have to execute the Propagate Permission service.

Let me explain you in detail how Propagating Permissions service work:
By design we are essentially giving by default permission only to the user creating the context and entities. There are many use cases where it is not desired to give access to users to all entities in a network/context simply because they have access to the network. Let me give you an example with user A and user B. User A is responsible for Region A and User B for Region B. User A should not see the region B part of the network. We decided to adopt a restrictive approach for permissions which is the most common approach; once the network structure is built, it is therefore left for the admin/user to decide how to propagate permissions to other users.
 
Network AB [User A and B]
               |--------Region A [User A only]
                              |------------- Customer 1
                                                            |--------- Asset 11
                                                            |--------- Asset 12
                              |------------- Customer 2
                                                            |--------- Asset 21
                                                            |--------- Asset 22
               |--------Region B [User B only]
                              |------------- Customer 3
                                                            |--------- Asset 31
                                                            |--------- Asset 32
                              |------------- Customer 4
                                                            |--------- Asset 41
                                                            |--------- Asset 42

 

The aim of creating an organization is to allow assign visibility to entities in the ThingWorx model.

 

Thanks

Abhishek 

 

 

Top Tags