RTGrid: A Real Time Web Grid Control with XMLHttpRequest
Introduction:
This example demonstrates the use of XMLHttpRequest \(AJAX paradigm\) with the php.MVC framework.
We use the PhpMVC\_RTGrid Web grid control class to implement the "real-time" behaviour in the demo.
Download:
Installation:
~~~~~~~~~~~~~~~~~~~~~~~~
This example includes compacted versions of the php.MVC base classes and the php.MVC xml Digester (configuration parser) classes.
As the php.MVC classes are packaged with the application, no configuration should be necessary.
Just unpack the application into the server Web root and browse to the index file "Index.html"
Note for *nix users:
You may need to make sure the ./WEB-INF/db/GridData.dat is writable by the Web server user.
Feedback welcome
CYL
John
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Nice example! (I like how small the code is these days with the ws ;-)) It would be good to see if there was a generic way of integrating the Ajax calls so that other methods and parameters could be used. Maybe this is a result of the javascript, which maybe could be modified so that the communication is not hardcoded in (eg, calling a particular URL with setupPost/processReqChange etc)?.
SAJAX have a nice way of doing it where you include a PHP class, which creates the required javascript calls, and you can assign simple return callers, (to give back controll to you javascript), Well worth a look at if you haven't already.
I used some AJAX for a project recently and found WDDX packets were quite good to use with javascript/php. Although my hosting provider did have to install/configure for me.
I may have a go at some of this stuff again in the future, now that the package is becomming faster :-)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
>Nice example! (I like how small the code is these days with the ws ;-))
Thanks for the inspiration :)
>SAJAX have a nice way of doing it where you include a PHP class
No, I wasn't aware of that library. Sounds good !
>I may have a go at some of this stuff again in the future
Cool. Let me know how it goes if you do.
I hope to do some more work on this (XMLHttpRequest). Perhaps some more Web controls for phpmvc. I've checked out other Web control libraries, but they are mostly not designed in a re-usable way, and are hard to transplant into other applications.
On the downside (of XMLHttpRequest), a cursory search on www.clusty.com reveals some problems with this technique. There seems to be serious issues with memory leaks in browsers, and some security issues.
It appears that the main culprit is the browser by a v-big well known company :)
Any JavaScript experts reading this may like to comment.
We'll see how it goes.
CYL
John
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm away on holidays at present, so it's a bit hard to check. What is on line 26 of PhpMvcOneBase.php.ws, probably in the ClassPath class?
You could try using the latest phpmvc base framework version from the phpmvc.net site
Eg: setup the example to use the external library, in the regular way.
Also try using the auto OS detect in the application "front-end"
See how that goes
CYL
John
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
All,
A new php.MVC example is available for download
RTGrid: A Real Time Web Grid Control with XMLHttpRequest
Introduction:
http://www.phpmvc.net/download/rel/rtgrid-control-with-xmlhttprequest-v1.0.tgz
http://www.phpmvc.net/download/rel/rtgrid-control-with-xmlhttprequest-v1.0.zip
Installation:
~~~~~~~~~~~~~~~~~~~~~~~~
This example includes compacted versions of the php.MVC base classes and the php.MVC xml Digester (configuration parser) classes.
As the php.MVC classes are packaged with the application, no configuration should be necessary.
Just unpack the application into the server Web root and browse to the index file "Index.html"
Note for *nix users:
You may need to make sure the ./WEB-INF/db/GridData.dat is writable by the Web server user.
Feedback welcome
CYL
John
Hi John,
Nice example! (I like how small the code is these days with the ws ;-)) It would be good to see if there was a generic way of integrating the Ajax calls so that other methods and parameters could be used. Maybe this is a result of the javascript, which maybe could be modified so that the communication is not hardcoded in (eg, calling a particular URL with setupPost/processReqChange etc)?.
SAJAX have a nice way of doing it where you include a PHP class, which creates the required javascript calls, and you can assign simple return callers, (to give back controll to you javascript), Well worth a look at if you haven't already.
I used some AJAX for a project recently and found WDDX packets were quite good to use with javascript/php. Although my hosting provider did have to install/configure for me.
I may have a go at some of this stuff again in the future, now that the package is becomming faster :-)
Cameron,
Yeah, I like the concept of XMLHttpRequest.
>Nice example! (I like how small the code is these days with the ws ;-))
Thanks for the inspiration :)
>SAJAX have a nice way of doing it where you include a PHP class
No, I wasn't aware of that library. Sounds good !
>I may have a go at some of this stuff again in the future
Cool. Let me know how it goes if you do.
I hope to do some more work on this (XMLHttpRequest). Perhaps some more Web controls for phpmvc. I've checked out other Web control libraries, but they are mostly not designed in a re-usable way, and are hard to transplant into other applications.
On the downside (of XMLHttpRequest), a cursory search on www.clusty.com reveals some problems with this technique. There seems to be serious issues with memory leaks in browsers, and some security issues.
It appears that the main culprit is the browser by a v-big well known company :)
Any JavaScript experts reading this may like to comment.
We'll see how it goes.
CYL
John
No matter how I try to install / execute this, I keep getting the error message:
Undefined index: windir in /home/periship/public_html/rtgrid/RealTimeGrid/WEB-INF/lib-phpmvc/PhpMvcOneBase.php.ws on line 26
When I click on the [u] in the leftmost column, the text in the right column just changes to a <br/> string.
Server is Linux, kernel version 2.6.9-42.0.2.ELsmp running Apache 1.3.36 and PHP 5.8.7
Ray,
I'm away on holidays at present, so it's a bit hard to check. What is on line 26 of PhpMvcOneBase.php.ws, probably in the ClassPath class?
You could try using the latest phpmvc base framework version from the phpmvc.net site
Eg: setup the example to use the external library, in the regular way.
Also try using the auto OS detect in the application "front-end"
See how that goes
CYL
John