Locker

Hi,

 

Is it possible for NG to have lockers?

E.g.,

Need password when opening the file.

Need password when users want to check MODELING tab.

Need unzip password when users want to unzip vcmx files.

 

Thank you.

Possible, yes. Implemented, no. For example, there is a way to license add-ons in current gen.

As you know, people can manage and protect their own files, for example archiving components and layouts, and then assigning a security lock password using 7Zip. They can also implement their own file vaults.

But let’s explorer this further.

  • Do you want to be able to add a file vault as a source in eCat?
  • Do you want to tag components and layouts to require the use of an add-on or password in order to be loaded in 3D world?
  • Do you want to be able to add a SecureLock property to a component?
  • Is something like BoxCryptor what you would be interested in?https://www.boxcryptor.com/en/boxcryptor

Ah … I should describe my need more in detail.

 

Here is the situation. (Current gen)

I have created a library for a customer.

Customer wants their suppliers to use it.

 

Customer does not want their suppliers to change anything in Create tab.

Also, does not want their suppliers to change some(not all) Component properties in Param tab.

However, their suppliers are using 3DAutomate.

 

What I am thinking of,

  1. Need password when selecting Create tab.
  2. Need password when trying to change value of some(not all) Component properties in Param tab.
  3. Other things are normal as usual.
 

Hope this can help you to understand my needs.

 

Thank you.

OK. That’s a good idea. So making components and layouts read-only and/or sealed. The API can be used to do this, but ways to use the context of application is not available yet in Python API. For example, you could make a secured component not capable of being selected in Modeling view, which I could do now if I knew a way to point back to the node or component of a selected feature.

The attached component and following script are a simple demo. You could add a dialog to ask for key, and then if correct key is given the component mode changes from read-only to writable.

from vcScript import *

def isComponentSecured(comp):
   lock = comp.getProperty("SecureLock")
   if (lock):
     return True
   else:
     return False

def checkComponentSecurity(comp):
  if (isComponentSecured(comp)):
    for p in comp.Properties:
      p.WritableWhenConnected = False
      p.WritableWhenDisconnected = False
      p.WritableWhenSimulating = False

app = getApplication()
app.OnComponentAdded = checkComponentSecurity

Protected-Component.vcmx (17.2 KB)

1 Like
  1. Lock Component properties Awesome, this is smart, I will do it in this way, thank you.
  2. Lock Create tab What I do now, is to convert PythonScript to byte code. Users cannot see the source code, then users can do nothing to PythonScript. But I need to have 2 version of components, not easy to maintain.

    That’s why I want to make wish.
    Need password when selecting Create tab.

    Come up with a idea.
    Is it possible for you to provides events API for clicking tabs?
    Something like OnClickTabs().
    Then I can do something on it, just like item1.

The .NET API has the ability to keep track of context, for example when user clicks ribbon tabs. Nothing like that is available in Python API at the moment nor a version of .NET API event aggregator and selection messaging.

Perhaps the Events tutorial for .NET API can be modded to test this… https://forum.visualcomponents.com/forums/topic/using-events-to-update-controls/

Admin, please forward this to development.