PDA

View Full Version : What can it do for me?


Ozi
08-14-2005, 08:08 PM
As a perl developer, I've developed a work environment which allows our satellite offices to have current content in a MySQL environment. By changing the fields or templates, it performs updates well. I have however often wondered how I could create a relatively close off line version which our team could operate in when they do not have access to the internet. But patching has always been a bit confusing to me. I understand patching the template (wrapper), but the content still is online. Plus the information which is input must be placed online and when internet is re-established.

In essence, what I'm asking is will these tools allow me to create a patching mechanism for online / offline content (database) without interrupting other users. For that matter will having the executeable provide any better security for the user? Will the patching utility be capable of running in an automated fashion determining raw data online vs offline?

So many questions :huh

Lorne
08-16-2005, 10:23 AM
As a perl developer, I've developed a work environment which allows our satellite offices to have current content in a MySQL environment. By changing the fields or templates, it performs updates well. I have however often wondered how I could create a relatively close off line version which our team could operate in when they do not have access to the internet. But patching has always been a bit confusing to me. I understand patching the template (wrapper), but the content still is online. Plus the information which is input must be placed online and when internet is re-established.Synchronizing the online content with the offline content is something you would probably need to handle in perl, e.g. submitting changes to a central server script to merge them into the online database. But visual patch would work well for updating the templates. Note that one requirement for binary patching (which produces the smallest patch files) is that the target files are unchanged, so you would only be able to update the template files if they haven't been modified. Once any database operations were done to the files, they would only be patchable using mysql commands or by completely replacing the files (which would undo any changes made to them).
So much depends on the specifics, though. For example, you could momentarily "freeze" the online database at regular intervals, create a patch for the database files, and then use that patch to update the templates at the satellites (assuming the satellites had already synchronized with the central database).
In essence, what I'm asking is will these tools allow me to create a patching mechanism for online / offline content (database) without interrupting other users.It depends on several factors, such as the type of database system and how it's implemented. The best way to determine whether it will work is to try a simple proof of concept test. Build a small model database that can represent the real thing and try to patch it while it's being used. Note that in order to use Visual Patch to patch any online files, you would need to be able to run the patch executable on the server, i.e. it would need to be a Windows server and the patch would need the appropriate access and permissions to do so. More importantly, however, is that binary patching (by its very nature) is designed to update a static, unchanged file from one specific version to another...so you wouldn't be able to use the patching engine to update the online database files unless they haven't changed. You could still use Visual Patch's actions to manipulate the files or interact with a perl script, but Visual Patch isn't really necessary for that.

For that matter will having the executeable provide any better security for the user?Well, if you're able to take advantage of binary patching, that's a very secure way to distribute an update, since it is essentially useless to anyone who doesn't have the target file installed. The Visual Patch archive is encrypted internally, which also adds to the security of the patches.

Will the patching utility be capable of running in an automated fashion determining raw data online vs offline?Without knowing all the details about your work environment, it's impossible to say for sure. It's possible to extend Visual Patch extensively (you can call external DLLs which makes it possible to add just about any functionality you need if you have the resources to develop DLLs), but out-of-the-box there isn't any built in support for mysql -- although you can use the built-in HTTP submit actions to interface with a perl script and manipulate the online database that way; in effect using Visual Patch as a simple client interface for the user. There is integrated support for SQLite via an available plugin (if you're able to switch databases at this point) and I believe it's possible to interface with MySQL using a 3rd-party lua plugin, although I have never done that myself and don't know the details offhand.

So many questions :huhWithout any questions, how would we find answers? :) If you have any other questions, I'll do my best to answer them.