Adam,
Unfortunately our server setup does not allow direct access to MySQL from
remote machines so there will have to be another tier. I've tried in the
past to use RB as a CGI on the server but it doesn't work with my versions
of Debian and Apache.
Rob
----- Original Message -----
From: "Adam Shirey" <[EMAIL PROTECTED]>
To: "REALbasic NUG" <[email protected]>
Sent: Friday, January 12, 2007 3:00 PM
Subject: Re: Converting desktop app to multi-user "Smart Client"
Rob,
If it's all one client (but with an online and an offline mode), why not
connect to your MySQL alongside your REALSQLDatabase? Then it's basically
copying data from one DB to another: Select data from your REAL db where
the
record is dirty, and for every record, update or insert the record into
the
MySQL db.
-Adam
On 1/12/07, Rob <[EMAIL PROTECTED]> wrote:
Hi Adam,
Yes, the 'offline' clients are using realSQL databases with an identical
schema.
That's essentially what I was doing for the local version, using standard
sqlexecute and db records to insert, add, update etc. to the realSQL db.
My
thought was then to query the realSQL for records where 'to update'= true
then generate the commands to update the server (sending them through an
httpsocket).
Any thoughts on how to transmit the data? I was thinking the most secure
way
would be to generate an http post with the command type (1 for add, 2 for
delete, etc.) and adding the parameters as part of the post.
Something like server.php
?1&username&password&tablename&John&Smith&555-1212
Then have the php assemble the sql.
Thanks,
Rob
----- Original Message -----
From: "Adam Shirey" <[EMAIL PROTECTED]>
To: "REALbasic NUG" <[email protected]>
Sent: Friday, January 12, 2007 1:08 PM
Subject: Re: Converting desktop app to multi-user "Smart Client"
> Hi Rob,
>
> I assume that for 'offline' mode, you'll have a reliable method for
> storing
> data -- perhaps a REALSQLDatabase of the same schema as the server so
you
> can run queries and store data to be synchronized? The first instinct
> seems
> to be to do this so offline clients can insert data that can be easily
> queried and manipulated; then, when you sync up, you can have a
> function
> that finds everything with its dirty bit set, assembles SQL queries,
> and
> executes them.
>
> Easier yet, create one DatabaseRecord for each dirty object and insert
> it --
> no SQL query required, and it can be BLOB-friendly.
>
> Knowing a little more of your implementation may help with suggestions
for
> your implementation.
>
>
> HTH!
> -Adam
>
> On 1/12/07, Rob <[EMAIL PROTECTED]> wrote:
>>
>> Hi all,
>> I have created a desktop database front end to handle some of our
>> company's
>> workflow processes. We are now hoping to modify the app so individual
>> users
>> can run the app on there local machine (both on and off line) and sync
>> data
>> to a central server.
>> The server will most likely be a Linux box using php as middleware and
>> MySQL
>> as a database. The system will have approx. 20-30 unique users who
>> will
>> have
>> different levels of access (controlled by the database.)
>>
>> In planning for this upgrade I have identified 2 potential issues;
>>
>> 1) determining best way to handle local to network data sync.
>> I will be creating a UUID for each record so I'm not worried about
>> duplicate
>> record ID's. What does concern me is how to determine what records
>> need
>> to
>> be synced. The only thing I can think of is to have a "last modified"
>> date
>> field for server queries and an "to update" Boolean field. When the
sync
>> command is called, the desktop app would get a recordset based on the
to
>> update flag then generate the sql to be sent to the server. The app
would
>> then request all records updated after the last sync (local property).
>> Does this make sense or is there a better way to deal with
synchronizing
>> data?
>>
>> 2) What would be the best way to handle network SQL strings. Send the
>> whole
>> string over the network? Send the parameters and an SQL identifier and
>> have
>> the php middleware assemble the SQL?
>> I don't think either would be that complicated but I am worried about
>> security.
>>
>> Thanks,
>> Rob
>>
>>
>> _______________________________________________
>> Unsubscribe or switch delivery mode:
>> <http://www.realsoftware.com/support/listmanager/>
>>
>> Search the archives of this list here:
>> <http://support.realsoftware.com/listarchives/lists.html>
>>
> _______________________________________________
> Unsubscribe or switch delivery mode:
> <http://www.realsoftware.com/support/listmanager/>
>
> Search the archives of this list here:
> <http://support.realsoftware.com/listarchives/lists.html>
>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>