Smartclient bootstrapper (alternative downloader)

Servoy announcements

Re: Smartclient bootstrapper (alternative downloader)

Postby jcompagner » Mon Jan 25, 2021 6:06 pm

again, profiles are nothing on the server, then just a configuration that is injected into the jnlp as arguments (mostly system properties)

you can do the same thing in the standalone bootstrapper by using the same properties that you set in your profile in the bootstrap properties..

yes you need to have different installations (bootstrap.jar that you ship around) per profile because the bootstrap.jar IS the profile.

What are you now having for profiles and how is that configured?
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8846
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Smartclient bootstrapper (alternative downloader)

Postby rieder » Mon Jan 25, 2021 6:29 pm

We would like to define the application name with:
Code: Select all
arg0=servoy.branding.windowtitle=ourAppName

No success.

Regards
Birgit Rieder
7r AG, Switzerland
SAN Developer
http://www.seven-r.ch
User avatar
rieder
 
Posts: 181
Joined: Thu Jan 26, 2012 5:18 pm

Re: Smartclient bootstrapper (alternative downloader)

Postby jcompagner » Mon Jan 25, 2021 6:57 pm

ah i read over you comment that you really had this explicit specified in your profile

'
servoy.branding.windowtitle=ourAppName
'

because all the example where things you are trying todo, not what you really had...

but what you need todo here is give a system argument..

arg0=system.property.servoy.profilename:[yourprofile]

You could detect this by using this:

https://[yourserver]/servoy-client/[profile]/[solution].jnlp?raw=true

then you see at the bottom what parameters we send over 2 the client.
that is what you can take over and put in the properties of the bootstrap.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8846
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Smartclient bootstrapper (alternative downloader)

Postby rieder » Mon Jan 25, 2021 7:10 pm

Thank you. Thats a new idea. I'll give it a try.

Regards
Birgit
Birgit Rieder
7r AG, Switzerland
SAN Developer
http://www.seven-r.ch
User avatar
rieder
 
Posts: 181
Joined: Thu Jan 26, 2012 5:18 pm

Re: Smartclient bootstrapper (alternative downloader)

Postby rieder » Wed Jan 27, 2021 10:54 am

I found the argument inside the tag application-desc at the end of the jnlp file:
Code: Select all
system.property.servoy.profilename:OurAppName


So I added:
Code: Select all
arg0=system.property.servoy.profilename:OurAppName

to the bootstrap.jar properties, but no success. The profile is not been taken into account. No effect.

Any idea?

Thanks and regards
Birgit Rieder
7r AG, Switzerland
SAN Developer
http://www.seven-r.ch
User avatar
rieder
 
Posts: 181
Joined: Thu Jan 26, 2012 5:18 pm

Re: Smartclient bootstrapper (alternative downloader)

Postby jcompagner » Wed Jan 27, 2021 12:01 pm

OurAppName?

is that the profile name? which i did say here:

arg0=system.property.servoy.profilename:[yourprofile]

its [yourprofile] not [yourAppName]
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8846
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Smartclient bootstrapper (alternative downloader)

Postby rieder » Wed Jan 27, 2021 1:19 pm

For us profile name = app name
Birgit Rieder
7r AG, Switzerland
SAN Developer
http://www.seven-r.ch
User avatar
rieder
 
Posts: 181
Joined: Thu Jan 26, 2012 5:18 pm

Re: Smartclient bootstrapper (alternative downloader)

Postby jcompagner » Wed Jan 27, 2021 1:36 pm

ok then i don't know why it doesn't work because thats how a normal smart client just works

if i take a name that is listed here: servoy-admin/profiles

under "Profile name"

and i hit that url like that for a jnlp:

servoy-client/[profile-name]/[solutionname].jnlp?raw=true

and you view the source you see something like this: (this profile had all kinds of system properties like that java.plugin stuff)

<application-desc main-class="com.servoy.j2db.smart.J2DBClient">
<argument>system.property.apple.laf.useScreenMenuBar:true</argument>
<argument>s:[solutionname]</argument>
<argument>solution:[solutionname]</argument>
<argument>CI:80B665C2-6205-4681-A065-58C369B311E2</argument>
<argument>system.property.sun.rmi.client.logCalls:true</argument>
<argument>raw:true</argument>
<argument>javaplugin.trace:true</argument>
<argument>system.property.servoy.profilename:[profile-name]</argument>
<argument>javaplugin.logging:true</argument>
<argument>javaplugin.trace.option:basic|net|cache|security|ext|liveconnect|temp</argument>
</application-desc>

and that kind of stuff we need to make the same and then it should just work.

so really look at your place what you need to push over een more
because it could be that there are a lot of arguments like:

client.profile.xxxxx:yyyyy

you also need to push them
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8846
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Smartclient bootstrapper (alternative downloader)

Postby rieder » Wed Jan 27, 2021 2:07 pm

Thank you, Johan, for the detailed description. I think I understand, how it should work.
I'll attach two screenshots, which show our configuration. Maybe you find a misunderstanding?

Screenshot 2021-01-27 at 13.00.13.png

Screenshot 2021-01-27 at 13.01.55.png

Regards
You do not have the required permissions to view the files attached to this post.
Birgit Rieder
7r AG, Switzerland
SAN Developer
http://www.seven-r.ch
User avatar
rieder
 
Posts: 181
Joined: Thu Jan 26, 2012 5:18 pm

Re: Smartclient bootstrapper (alternative downloader)

Postby jcompagner » Wed Jan 27, 2021 2:25 pm

if that first one works with the right profile (so starting it through a jnlp works and it uses the profile)
then yes i that second one should also work as far as i can see.
Johan Compagner
Servoy
User avatar
jcompagner
 
Posts: 8846
Joined: Tue May 27, 2003 7:26 pm
Location: The Internet

Re: Smartclient bootstrapper (alternative downloader)

Postby rieder » Wed Jan 27, 2021 2:42 pm

Thank you for the confirmation that it should work this way.
And yes, the jnlp works. Without any problem, for years now.

Regards
Birgit Rieder
7r AG, Switzerland
SAN Developer
http://www.seven-r.ch
User avatar
rieder
 
Posts: 181
Joined: Thu Jan 26, 2012 5:18 pm

Re: Smartclient bootstrapper (alternative downloader)

Postby rafig » Fri Feb 23, 2024 7:59 pm

I know this is a very old thread, but I am now trying to migrate some old Servoy 7 customers using Smart Client [SC] to the latest Servoy (they are using the old DATASUTRA framework).
As a first step, I'm trying to get SC running from their server via Tomcat & a deployed WAR file, so have tried to use the 'bootstrapper' to do it.
I have edited the 'bootstrap.jnlp' file from the deployed context [DSPC] on the server & created this
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://proconf-dc01:8180/DSPC/">
   <information>
      <title>ProConf Servoy Client</title>
      <vendor>Servoy</vendor>
      <homepage href="http://www.servoy.com/"/>
      <description>Database client</description>
      <icon href="lib/images/servoy_client_icon.png" />
      <icon kind="splash" href="lib/splashclient.png" width="64" height="64"/>
      <shortcut online="false">
      <desktop/>
    </shortcut>
   </information>
   <resources>
      <j2se version="1.8"   java-vm-args="-XX:SoftRefLRUPolicyMSPerMB=3600000" />
      <jar href="bootstrap.jar" main="true" version="15" download="eager"/>
   </resources>
   <application-desc main-class="com.servoy.bootstrapper.Bootstrap">
      <argument>__DATASUTRA__</argument>
      <argument>bootstrapthreadpoolsize:8</argument>
   </application-desc>
   <security>
      <all-permissions/>
   </security>
</jnlp>

when launching this JNLP, it errors like this
Code: Select all
java.io.IOException: Server returned HTTP response code: 500 for URL: http://proconf-dc01:8180/DSPC/servoy-client/__DATASUTRA__.jnlp
                at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
                at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
                at com.servoy.bootstrapper.BaseBootstrap.loadAndStartClient(BaseBootstrap.java:59)
                at com.servoy.bootstrapper.Bootstrap.main(Bootstrap.java:23)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.lang.reflect.Method.invoke(Unknown Source)
                at com.sun.javaws.Launcher.executeApplication(Unknown Source)
                at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
                at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
                at com.sun.javaws.Launcher.run(Unknown Source)
                at java.lang.Thread.run(Unknown Source)

so it seems to be trying to just get the old style solution JNLP file...
Do I have to a <resources> line for each jar that is part of my solution like (snippet)??
Code: Select all
      <jar href="lib/commons-codec.jar" version="1528362325793" download="eager"/>
      <jar href="lib/jcifs.jar" version="1528362325793" download="eager"/>
      <jar href="lib/httpclient.jar" version="1528362325793" download="eager"/>
      <jar href="lib/httpcore.jar" version="1528362325793" download="eager"/>
      <extension name="beans_molecule.jar" href="servoy-client/beans/molecule.jar.jnlp" version="1484750194853"/>
      <extension name="beans_htmlbean.jar" href="servoy-client/beans/htmlbean.jar.jnlp" version="1484750212135"/>
      <extension name="beans_jpedal_lgpl.jar" href="servoy-client/beans/jpedal_lgpl.jar.jnlp" version="1362737727000"/>
      <extension name="beans_servoy_slider.jar" href="servoy-client/beans/servoy_slider.jar.jnlp" version="1589968180367"/>

I also tried to edit the 'bootstrap.jar' / bootstrap.properties file to
Code: Select all
codebase=http://proconf-dc01:8180/DSPC/
solution=__DATASUTRA__
bootstrapthreadpoolsize=8
#arg0=system.property.servoy.profilename:YourProfileName
#arg1=argument:owner:1
#arg2=owners:2
#jnlp.bootstrapper.home.dir=

and using that, but that also failed (tried running from terminal with "java - jar xxx" and got similar error to above exception.

Please advise what I am doing wrong??
(Clients are using Windows with Java 8 (1.8) on them so that they can still run my solution from Servoy 7.4.11 server (running elsewhere on network)
Servoy Certified Developer
Image
rafig
 
Posts: 715
Joined: Mon Dec 22, 2003 12:58 pm
Location: Watford, UK

Previous

Return to Announcements

Who is online

Users browsing this forum: No registered users and 2 guests

cron