The bread and butter for most Filemaker Pro developers is developing one off solutions for clients. As we move to Servoy this could change. Perhaps a better business is reselling ones work many times over? Unfortunateley Filemaker Pro nor Servoy make this easy. The new modules feature opens up the door to discussing how Servoy might help developers sell more licenses with less effort.
Similar to how Servoy provides " check for new version", I like to be able to provide updates to my solutions both runtime and server based without writing code directly to their repository.
For example, I have a solution I’m developing for a market rather than for a specific customer. The solutions will run on ships so the customers will host and administer their own systems without my assistance and with only periodic internet access. I plan to sell this as a runtime or as a networkable client/server version (a runtime server?). When online, I’d like to be able to provide them with access to upgrades and enhancements as downloads from a website or perhaps via email attachments.
Servoy could provide a seperate “update server” product or better, just build this capability into the developer. Perhaps each instance of a solution would contain a unique source ID property to identify it to a developer such that the right modules could be delivered automatically. We could then check the ID with what the solution is licensed for, etc. I’ll spare you a discussion of more requirements now.
Such a capability would open up a big potential for us developers to sell our solutions to a wider audience and to maintain them at lower cost. In both cases, this leads to more Servoy licenses sold. I know this is a big one, but based on what I have seen of Servoy and more importantly, the Servoy development team, I think Servoy could and should be made to support this.
No one want to touch this one? I realize modules were designed to help support multiple developers, so I should have labeled this topic, “remote solution updater”. Do we need a forum heading for “far out ideas”? Well this one isn’t so far out.
With Filemaker Pro, you can largely achieve what I described using the SyncDeK plugin from Worldsync. I haven’t looked at it in awhile, but as I recall, it uses email to deliver data for synchronizing separate databases. SyncDeK also has a cool “version update manager” that lets you replace FMP files with new ones for both runtimes and servers using only email. I believe they also figured this out for FMP7 as well even. This allows you to remotely provide version updates without any intervention. The user just clicks a button to look for and apply any updates.
Since servoy solutions are stored in the database repository, I’m sure someone could get clever with replication, but that sounds hard. I think this should be pretty easy. We can already export a solution to a file and send that out to share with others. Is it a stretch to extend this so that runtimes and remote servers could update solutions? Doesnt seem like it to me. Then adding on this the layer of support to allow modules to be updated in the same manner seems an obvious evolution.
What I want is a new option on the servoy developer repository UI where a developer can specify new versions to be “published” to properly registered runtimes or remote servers (using a seperate repository). We’d need a way to register such licensees and compare against a “subscriber” table for each such solution and some way to deliver the update. I’m sure the dream team could come up with an elegant approach in 5 minutes.
On the remote client or server, we’d just need to provide a way for it to look to the developer for updates periodically just as the client does with the repository server now. Clunkier would be if the update were just an exported solution file that we could deliver however and script loading it into their repository. This is probably nearly doable now.
Does no one else think this would be useful? Am I missing something?
I would love to have this in servoy. I thought servoy did this or made it easy to do unlike FM. I am new to servoy. I am going over the feature to see if it will meet my needs.
I currently use FM 5 with SyncDek for multiple branches.
I believe the bread and butter is mostly in the client-server solutions anyway.
About your version check, you can make your own method that connects to your website and checks if it using the latest version. Just a few lines of code.
Ofcourse you only want this to be called from within Developer. Not the client.
Now if you want automatic updates like Servoy has…I don’t know if a customer wants that. I would want to know what the changes/new features are before deciding to upgrade.
Also as a commercial module you might want to ask money for such an upgrade as well.
Ofcourse all this is from a commercial developer point of view.
I am sure from a internal corporate developer point of view there might be other opinions.
Bob - there is no product - that I’m aware of - that will do what you want. You want a “magic wand” mystical product that will automatically and intelligently update itself without user interaction.
Possible? Sure. You just have to write it in Java or C++.
ROCLASI:
I believe the bread and butter is mostly in the client-server solutions anyway.
I agree here. “One off” just means one made from the mold rather than producing the same thing over and over.
About your version check, you can make your own method that connects to your website and checks if it using the latest version. Just a few lines of code.
Great idea!
Ofcourse you only want this to be called from within Developer. Not the client.
Needs to work for runtimes and perhaps from an admin UI in the client so it happens in the server. No developer (person or software) needed.
Now if you want automatic updates like Servoy has…I don’t know if a customer wants that. I would want to know what the changes/new features are before deciding to upgrade.
They want it! But agreed, it needs to be optional and they need a detail of what they get. That’s the easy part. The key for me is that they do it without me getting envolved in the installation of n seats. Again, similar to how servoy provides updates to developer.
Also as a commercial module you might want to ask money for such an upgrade as well.
Absoluteley! New features are foir sale. Bug fixes and small enhancements are free. That also allows a subscription model. Again just like our friends at servoy…
Pushing updates can already be achieved with a bit of coding right now (less then syncdek and way more reliable). If demand for this feature increases we will also build it into Servoy. How many solutions do you have out there that need this function right now?
jaleman:
How many solutions do you have out there that need this function right now?
Jan,
Not now but soon. We have two solutions that would benefit.
We have a FMP solution that utilizes in-house developed sync via email. Administrative medical offices do all the data entry and reports are delivered to doctors in remote locations. The doctors have a runtime solution installed. With a planned rewrite to Servoy, we would have the doctors log in directly to the main solutions to get there reports. However, it would be beneficial to have sync that would allow a log in and update to a laptop. Then the doctor could review and update their reports without a connection to the net.
We are currently working on a commercial Servoy based solution that will be deployed via an Application Service Provider Business Model. The clients are small offices, average 10 people per. Our current plan is to provide a periodic runtime based solution that contains data and function to allow an office with a temporary loss of Internet connectivity to have access to their information. Having a light coding and reliable way of keeping the runtimes current would be very nice!
I’d be interested to hear of any experiences from Servoy developers with solutions that are mainly single-user, offline (no central server) and require periodic updates.
I’m not 100% sure that this can solve your problems, but if you are looking to publish your own products to your own customers from a URL that has nothing to do with the Servoy repository, then the Updater Software that I have written to install my own Plugins and Beans to the Servoy Developer environment may be something you could use.
You will see an “Info” button on the Updater screen bottom right-hand corner.
You will see that the Updater supports Vendors, Products and Resources as well as support for AV media for you to bundle when your clients run the Updater.
This could be very interesting. The main feature for me though is to work either in Runtime, or Offline (which is a disabled developer) so it might be the right thing for the job. Any more information available?
I have run into several clients who would like the ability to upgrade multiple client sites without having to bo to each server and upload/activate the new solution. These certainly appreciate the ease with which Servoy allows them to update their clients - it’s an absolute dream compared to upgrading their FileMaker users - but still, it would be nice if they could upgrade many clients at once.
Another thing to consider is creating a limited server console that only allows uses to import and activate solutions. Perhaps make this based on server login priveleges. This way developers could authorize certain trusted people at the client site to import new solution releases that are sent to them, without worrying that they might do something stupid from within the server console.
amcgilly:
Another thing to consider is creating a limited server console that only allows uses to import and activate solutions. Perhaps make this based on server login priveleges. This way developers could authorize certain trusted people at the client site to import new solution releases that are sent to them, without worrying that they might do something stupid from within the server console.
/quote]
We have undertaken some significant development with our Software-Updater (client-runtime) and Software-Update-Builder (developer-design-time) plugins.
R1.2.11 will be released today (6th July).
It already supports updating your clients without going near a Servoy Server for resources that are known to exist outside of the Servoy Repository.
The next release will support an automated solution import at each client.
Once you build a client and deploy it with an Updater plugin, then your clients will automatically receive a message that updates are available at a location you specified when you built the Client and the Update.
The Software Updater client runtime connects to the HTTP server you specified at design-time and downloads whatever resources you have pushed up there with your latest Update Message. This can include .servoy solution files.