Automatic Updates

LiveCode is the premier environment for creating multi-platform solutions for all major operating systems - Windows, Mac OS X, Linux, the Web, Server environments and Mobile platforms. Brand new to LiveCode? Welcome!

Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller

Post Reply
bsouthuk
Posts: 261
Joined: Fri Dec 05, 2008 7:25 pm

Automatic Updates

Post by bsouthuk » Fri Feb 20, 2009 2:02 pm

Hi - wonder if anyone can help me.

I'm creating software in Revolution which I'm looking to sell on to businesses in form of monthly subscription licenses.

One of the main challenges I have is that the industry the software will be used for experience constant changes therefore I will be consistantly updating my software to keep up with these changes throughout each month. The changes will require me to add/remove images and recode scypts etc...

My question is whether or not I am able to build my software in a way that when company's that purchase open the software on their systems any updates I have made since the last time they logged on will update automatically through the internet.

I am sure that this is possible but could anybody advise me the best and easiest way I can learn how to do this or whether it's a job for a far more experienced programmer.

Your help is hugely appreciated.

Thanks

Daniel

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 10049
Joined: Sat Apr 08, 2006 7:05 am
Contact:

Post by FourthWorld » Sun Feb 22, 2009 3:49 pm

While most OSes prevent a standalone from modifying itself, there's nothing stopping a Rev-made standalone from modifying any stack files outside of the actual executable.

So the simplest approach is what many call an "anchor window" design patten (or more newer users sometimes use "splash screen" to describe this), in which your app contains only a single stack which is used only for initializing the app. During initialization the app finds a folder next to it (typically labeled something like "Components"), where it finds the stack files that comprise the bulk of the application. The components folder could also have a "Media" folder next to it or inside it, so updating movies, images, etc. would be as simple.

For the actual updates, play around with libURL, things like:

go url "http://servers/stack.rev"

You can easily download stacks and other files in one line in Rev. :)

For example scripts you're welcome to borrow from, see in your Rev installation:
Development->Plugins->GoRevNet
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

bsouthuk
Posts: 261
Joined: Fri Dec 05, 2008 7:25 pm

Post by bsouthuk » Wed Feb 25, 2009 4:21 pm

Thanks much appreciated only just spotted the reply- thank you very much for that.

I think the simplest way would be to put the stack on a URL and everytime a customer logs on to my software if the stack has changed then it will download and overwrite the current one?

Do you have any snippets/scrytps or guide on how to achieve this?

You mentioned in your reply I could borrow scripts from Gorev net. I downloaded the gorev net but when i right click on the components it ends of selecting them even when Revolution is in 'edit' mode - do you know what I'm doing wrong?

Thanks

Daniel

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 10049
Joined: Sat Apr 08, 2006 7:05 am
Contact:

Post by FourthWorld » Wed Feb 25, 2009 10:06 pm

bsouthuk wrote:I think the simplest way would be to put the stack on a URL and everytime a customer logs on to my software if the stack has changed then it will download and overwrite the current one?
You might consider an offline mode. I do a lot of work on trains and airplanes, and I really appreciate apps that let me work without connection.

You could maintain a small text file at your site with version info, and on startup grab that, downloading only those portions that have changed. Once downloaded, they would remain in a local folder so the user could continue working with them in between updates.
You mentioned in your reply I could borrow scripts from Gorev net. I downloaded the gorev net but when i right click on the components it ends of selecting them even when Revolution is in 'edit' mode - do you know what I'm doing wrong?
Hard to say. When I choose Development->Plugins->GoRevNet, and then open the Application Browser, I see GoRevNet listed there.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

Post Reply