Servoy Runtime feature

What I really would like to see in Servoy Runtime is an import function, to update the solution, the same way as in Developer or servoy-admin.

I know you can update the file only, but you new database columns are not added automaticly!

Is this possible?

Will not be done, a runtime is ment for demo’s/distro’s it has for example no repository, its like a not modifiable package…

Jan Blok:
Will not be done, a runtime is ment for demo’s/distro’s it has for example no repository, its like a not modifiable package…

Is this true? Is there no way to update a runtime? Is the runtime builder just a tool for developers to demo their client server apps???

Where can I read about the runtime builder capabilities? Is it a real product?
I have three projects that require runtimes and these are definateley NOT demo’s. One would replace a filemaker pro runtime with over 100 installed users and growing.

Well you can send the customers a new solution.runtime file(as found in the runtime lib dir) which holds all the solution/repository information. (meaning you replacing your runtime information)

That’s fine as long as they can maintain their data, i.e. export and import prior to upgrading. How would you handle that elegantly?

Jan Blok:
Well you can send the customers a new solution.runtime file(as found in the runtime lib dir) which holds all the solution/repository information. (meaning you replacing your runtime information)

That’s nice!

1.) Can we use the http-plugin for that, so they can automaticly download the file and overwrite?

2.) How do we handle changes in the database? new columns, etc..??

  1. yes you could
  2. thats a problem, you cannot alter your database model, you whould have to ship the DB’s again

Jan Blok:

  1. yes you could
  2. thats a problem, you cannot alter your database model, you whould have to ship the DB’s again

Is there no way we could shoot a sql-file/statement from the runtime to the db and add columns that way? Also on a user-friendly way?

HJK:
Is there no way we could shoot a sql-file/statement from the runtime to the db and add columns that way? Also on a user-friendly way?

Or perhaps build in a script to dump and load the data to a file that could be reloaded into the updated database?

I would really love to see such a feature.

We have build a solution (for a customer) now in Filemaker which they have sold to 350 companies (almost all runtimes!)

We build a lot of routines in there to import/export the whole stuff.
They are not happy with the fm7, so they are thinking to transform to Servoy.

So changing the data-model in a runtime is very important for them.
But it has to be on a user-friendly way. (No mannually using 3th party tools!)

Is it possible?

  1. Create a stored procedure in your database that alters tables based on parameters you send to it
  2. Set your solution to trigger that SP the first time it launches, in the same method exit servoy as it needs to reload to see the new tables
  3. perform other init methods if necessary

We might also extend the runtime builder in the future so this can be done automatically. However at the moment the runtime builder is a very low volume product so we will have to dedicate our time to the other 482 features you have requested from us. As usual if you really need this feature you can always contact us for the EAFBCIDCP (Escalate A Feature By Contributing In Development Cost Program) fee.

jaleman:
We might also extend the runtime builder in the future so this can be done automatically. However at the moment the runtime builder is a very low volume product so we will have to dedicate our time to the other 482 features you have requested from us. As usual if you really need this feature you can always contact us for the EAFBCIDCP (Escalate A Feature By Contributing In Development Cost Program) fee.

Jan, you have my attention. I’d buy a builder license now if I thought it would better support runtimes than what I have to do with filemaker. I’m happy to help with requirements if this would be helpful.

Bob

Hi,

We were about to purchase the runtime builder in few days.. But we are now worried about how the upgrades will be done easily and user-friendly.

I think the current way of updating the solution (repository) information is fine.

But we are confused with how the data structure changes (add or delete a coulmn or table etc..) will be updated.

Also how the data from the old version will be updated into the latest database?

The servoy document does not tell me anything about updating a runtime solution

Could you please explain me in detail how all going to work so that we are confident before we purchase?

Thanks

ahmad:
…The servoy document does not tell me anything about updating a runtime solution…

The Servoy runtime was not designed to be updated when released (its ment for demo’s/distro’s currently)
But if you read earlier messages in this topic you will see it is possible via stored procedures and http plugin.

Jan Blok:
it is possible via stored procedures and http plugin.

Can some one give some real time example of how it works since I have no knowledge about stored procedures. Where these procedures to be stored? in the previous version or updated version?

How the data are migrated across?

Some real time explantation will be helpful greatly

Thanks

Can some one give some real time example of how it works since I have no knowledge about stored procedures. Where these procedures to be stored? in the previous version or updated version?

How the data are migrated across?

A stored procedure is just a query stored in the database. You would execute it with executeStoredProcedure in a Servoy method. This method could be triggerred by http too. The SP would already need to be in the old version of the solution so that the new version could make use of it. You would just call it to run and pass it the neeeded parameters like a new table name or column, etc. Then you’d exit servoy to refresh the tables.

Theoretically, you could then do just about anything with teh databsase here. My guess is that you could also use this to get around some of the limitations Servoy puts on modifying tables. Those limitations are in place to protect the db structure in case other there are non-servoy users of the db like a webserver connection, for example. However, now with the headless client, that is probably a little less important. In many environments, the databse may only be serving Servoy.

Anyway, this is a powerful approach and again shows how you can probably do whatever you really need to do with Servoy. You only may need to use some clever SQL or Java or beg Servoy team to build a feature to do the heavy lifting.

I’ll be playing with this in the weeks ahead for sure.

Thanks a lot Bob..

It’s really useful for me..

Please share your ideas here..

My understanding is if you forget to add the stored procedure in the older version then you will be helpless to update the data structure..

Anyway I will learn more about stored procedure..

But I think Servoy has to make better upgrade process in the future versions.

Cheers

jaleman:

  1. Create a stored procedure in your database that alters tables based on parameters you send to it
  2. Set your solution to trigger that SP the first time it launches, in the same method exit servoy as it needs to reload to see the new tables
  3. perform other init methods if necessary

We might also extend the runtime builder in the future so this can be done automatically. However at the moment the runtime builder is a very low volume product so we will have to dedicate our time to the other 482 features you have requested from us. As usual if you really need this feature you can always contact us for the EAFBCIDCP (Escalate A Feature By Contributing In Development Cost Program) fee.

Is the ASA database included in the Servoly runtime build, the ASA personal database or the ASA Desktop Runtime Edition? If it is the later, you cannot use stored procs. Also, trax log and thereby no syncronization “by any means”, no triggers or events, no use of ALTER atatements, can’t use CREATE, can’t DROP, can’t use openconnect tools like Sybase Central, can’t encrypt, and no java. Certainly it’s the personal edition, isn’t it???

http://download.sybase.com/pdfdocs/awg0900e/rdrten9.pdf

No worries, it’s the personal database server we include.

Whew! Thanks for that.