OSCommerce Product Manager

OSCommerce Product Manager for Windows
Tasklist

FS#66 - Alternative database connection.

Attached to Project: OSCommerce Product Manager
Opened by Mario A. Valdez-Ramirez (mvaldez) - Friday, 20 August 2004, 07:11 GMT-6
Last edited by Mario A. Valdez-Ramirez (mvaldez) - Monday, 27 March 2006, 02:37 GMT-6
Task Type Bug Report
Category Backend / Core
Status Closed
Assigned To Mario A. Valdez-Ramirez (mvaldez)
Operating System All
Severity Low
Priority Immediate
Reported Version any
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

An user requested an alternative way to connect to the SQL server. Direct connections to MySQL are not a viable option to everybody (specially to users of shared hosting services).

Even though the SSH tunnel option allow users with SSH accounts to do the direct link, for others this is not an option either.
This task depends upon

Closed by  Mario A. Valdez-Ramirez (mvaldez)
Monday, 27 March 2006, 02:37 GMT-6
Reason for closing:  
Comment by Mario A. Valdez-Ramirez (mvaldez) - Friday, 20 August 2004, 07:13 GMT-6
Let's convert the PHP script oscpm1_upload.php in a SQL query interface.

Pending to check this solution.
Comment by Mario A. Valdez-Ramirez (mvaldez) - Friday, 20 August 2004, 07:14 GMT-6
The requester user suggested a SQL dump option. It seems not practical because of the design of the application, which is a real-time manager. We would need to include some kind of offline support to allow managing using SQL dumps.
Comment by Mario A. Valdez-Ramirez (mvaldez) - Saturday, 21 August 2004, 19:29 GMT-6
Too many complains and requests about this.
Chaging priority from "Medium" to "Medium High", (but not higher).
Comment by Mario A. Valdez-Ramirez (mvaldez) - Saturday, 21 August 2004, 19:32 GMT-6
After reviewing XMLRPC, SOAP, CORBA, RPC, etc., I've come to the conclusion that a simple ad-hoc, single-command, TCP socket protocol will work. It works for the image upload/delete/select... it should work for this.

Pending to write proof-of-concept prototype (both PHP server and Delphi client).
Comment by Mario A. Valdez-Ramirez (mvaldez) - Monday, 13 September 2004, 12:29 GMT-6


Server-side script is mostly ready.
Pending to set security controls.
Pending to create client-side code.
Comment by Mario A. Valdez-Ramirez (mvaldez) - Monday, 22 August 2005, 18:48 GMT-6


This bug has become a high-priority one.
Comment by Mario A. Valdez-Ramirez (mvaldez) - Wednesday, 07 September 2005, 19:28 GMT-6

Bug #144 will become obsolete if this bug is fixed.


Comment by Mario A. Valdez-Ramirez (mvaldez) - Wednesday, 07 September 2005, 19:46 GMT-6


I forgot to document the following:

Around January 2005 Pieter Valentijn (http://www.delphidreams.nl/) contacted me and explained a few things he have done with TurboCash and osCommerce. One important thing he did was to write a PHP-Delphi messaging layer that uses HTTP as data transportation layer. (A HTTP-SQL gateway script).

I have not reviewed the code in detail, but I think we can leverage Pieter's code and experience (he is also a Delphi programmer) to fix this bug.

We have received too many requests for an alternate connection method as more hosting providers are no longer giving their users SSH accounts. Even though CPanel providers now (in latest versions) give the user a chance to set the host part of the MySQL authentication, that is unsecure.

Just for the record, as I have said before:
Fixing this bug will allow the connection to pass firewalls and use SSL connections easily. Also, the complexity of supporting osCommerce variants would move from the OSCPMWin cliente to the PHP realm. And it would turn SSH and direct MySQL connection obsolete (which means lesser bug).

Comment by Mario A. Valdez-Ramirez (mvaldez) - Monday, 27 February 2006, 19:47 GMT-6

We have reviewed Pieter Valentijn code. It seems it uses some DataSnap (MIDAS) code from Delphi. We have two problems with that:

a) MIDAS licensing.
b) DataSnap code is not available in Delphi 6 Pro, only Enterprise.

We will continueto develop our own application protocol or use XML-RPC.
Comment by Mario A. Valdez-Ramirez (mvaldez) - Monday, 27 February 2006, 19:53 GMT-6


As of today, server-side code is ready.

Client-side supporting code is ready.

We are building a testing release that will use only HTTP-transported calls to the server-side script.

On preliminary tests we have found out that the client-side code needs some optimization; speed is not as good as with the Zeoslib components. Also, memory footprint *seems* to be bigger.
Comment by Mario A. Valdez-Ramirez (mvaldez) - Tuesday, 28 February 2006, 18:59 GMT-6

First partial test, successful!

Next test is to use all SELECT type queries.
Comment by Mario A. Valdez-Ramirez (mvaldez) - Thursday, 02 March 2006, 00:37 GMT-6

Done around 80% of substitution. Most SQL queries are now being done via HTTP.

It seems to be faster now.

Later we can try to compress the data stream before sending it, specially when sending from server to client.
Comment by Mario A. Valdez-Ramirez (mvaldez) - Monday, 27 March 2006, 02:37 GMT-6

We have fixed this one. After one year and a half... yuks.

We have replaced all Zeoslib code (direct DB connection) with a new HTTP ad-hoc protocol.

Closing this one as fixed/implemented. However, a few extra features regarding integrity and security are pending.

Loading...