Manually Inserting User to Auto User Datasource

The user management component is very useful, and we hope to use it along with the ignition auto datasource to save lots of time in developing our own user management.

However, there are a few custom fields we would like to add to the user, so we have created another table (lets call it custom_props) that is keyed to the user id in the auto generated (lets call it auto_users) table. However, in order to key off the auto_users table we need to create the user first.

What we initially came up with is creating a popup window with first name, last name, username, and password options. This window inserts the user manually to the auto_users table bypassing the user management component. We also have our custom properties here that are inserted after the user is manually inserted.

However, we have the user management component in a window with a list of the users fetched to the database. The selected username in the list is bound to the user management “Username” field of the user management component. The mode is set to edit single.

This works brilliant. Our user is inserted manually and our meta data is inserted to the custom_props table. It immediately appears in our selection list, however if we select the user in our list that updates the Username property of the Edit Single user management component, there is about a 10-15 second delay before it will accept the username as valid. The username also doesn’t show up on the user page in the gateway managment webapp.

A couple questions:

  1. Is there a script/service that is running periodically that is doing something to make the users editable in the user management component? Can we call this on our manual insert to “refresh” the users?
  2. Is there a better suggested way to add a few custom fields to an auto user source?
  3. Can we use the user management component with a manual user source if we configure our database correctly and should we abandon this whole auto user source with custom properties idea to pursue this method?

Any brainstorming/feedback would be appreciated.

UPDATE: We just found the “Cache Validation Timeout” property on the user source config that dictates how often the user source is updated, we dropped this down to 1 second. This doesn’t seem to do anything though.

Can anyone provide any insight into this issue?

Coming back to this issue. Bueller? Bueller?

Seems you need to submit a feature request.

Is there a script/service that is running periodically that is doing something to make the users editable in the user management component? Can we call this on our manual insert to “refresh” the users?

There’s no task that I can see that’s periodically refreshing. You should be able to manually fire updateTables() on the user management component, which is the only thing I can see being run on the component.

Is there a better suggested way to add a few custom fields to an auto user source?

If you use a database user source, you could add a trigger on row insertion in your users table that automatically adds appropriate records in the relevant tables - then roll your own management component.