UserManager supported?

Hi

Can we use the UserManager Plugin for an NGClient?

Thanks and regards

It’s a plugin, not a bean, so why not? Some features are obviously deployment specific and might just not work as in other clients. What specifically are you interested in using?

Sorry for interrupting in this topic but I was going to ask the same question about this plugin. I add it to my plugins and made a war export.
When I deploy my war I get the following error on the admin page: ‘Error occured loading server plugin class com.drmaison.plugin.usermanager.UserManagerServer

My main question was about compatibility with the NGclient but maybe I’m doing something wrong with the install of the plugin?

What is likely the problem is that some libraries required by the plugin are not automatically included in the war export (see https://forum.servoy.com/viewtopic.php?p=113448).

This should be possible with 8.1.1 (see https://support.servoy.com/browse/SVY-10434)

thank you for the reply. I was missing a library in the export.

So now all is fine?

I asked because we couldn’t get it working. And we didn’t know if we should investigate more in finding the right configuration, or if there are problems not related to us.

Thanks for the reply. Do you know when 8.1.1 will be available?

patrick:
So now all is fine?

Yes its all working right now. I got the plugin from a colleagues and that one failed so i reinstalled it with the Servoy Plugin installer and got the extra option to select when I was export the war.
After I select the missing plugin everything worked just fine.

What version of Servoy did you use to get it work?

Hi,

I am using the UserManager plugin with version 8.1.0 in a web client environment without any issues. I have also tried using the NGClient for our solution and although there are many styling issues to be resolved the UserManager element of it works just fine.

Steve

Thank you, Steve. So it’s worth to give it another try in 8.1.0.

Best regards to everyone who answered

Is it ready for Servoy 2022.09 and further (entry point defined)?
Regards
Birgit

rieder:
Is it ready for Servoy 2022.09 and further (entry point defined)?

I’ve asked Patrick Ruhsert about this recently and he is not supporting it anymore and recommends to use substitute functions.

Some of its functionality is already possible using the clientmanager plugin though.
Any stream/download of files should also be possible using the file plugin (considering you’re on (Ti)NG)

Maybe you can determine which functions you need substitutes for and publish it here?

Hi Marc

Thank you for the answer. Good to know that we should replace the functions. I just checked, we use
Server.getSettingsProperty(key)
Client.maxIdleTime(minutes)
Client.applicationType()
.getSmartClients()

Best regards
Birgit

Hello Birgit,

you should replace the plugin with basically the following:

  • Client.applicationType()
    → when asked in the client your are in: application.getApplicationType()
    → when asked for any other client: plugins.clientmanager has a method getConnectedClients() which gives you an array of JSClientInformation, where you have getApplicationType() again

  • .getSmartClients()
    → as above plugins.clientmanager.getConnectedClients() and then filter out the smart clients

  • Client.maxIdleTime(minutes)
    → JSClientInformation also has getIdleTime() for each client and plugins.clientmanager also has a shutDownClient(clientId), so you can quite easily run a batch job for example that goes over all clients and disconnects idle ones

  • Server.getSettingsProperty(key)
    → which property are you interested in and why / what do you do with it?

Hi Patrick

Thank you for the suggested replacements.

In the properties file we store application specific configurations. What would you suggest how we could read this information?

Thank you and best regards
Birgit

I need very few server specific settings, but for the few I do I use this kind of “schema” in servoy.properties:

  • a property prefixed with “user”, e.g. “user.serverType=TEST”
  • I retrieve that value in any client using application.getUserProperty(‘serverType’)

Those user properties also show in servoy-admin as “user.properties” at the bottom of the start page.

The user properties, shown in servoy-admin as “user.properties” at the bottom of the start page, can be read with

application.getUserProperty(name)

Above the field user.properties, there is a field system.properties, but there is no method like

application.getSystemProperty(name)

How can I read the system.properties?

Thanks and regards,