Everytime we need to add services and expose them to Flash, serious work is paid to find if AMFPHP is still valid, if SabreAMF is still faster than anything, if Zend AMF has latest or greatest features and bug fixes.
To solve this issue, i've created a services server, like xmlrpc is, but that allows to choose either:
- AMFPHP
- SabreAMF
- ZendAMF
as frameworks for processing AMF communications.
The ideal is to unify them all in one project, called flashremoting_server (The AMF RPC technology itself is called Flash Remoting officially by Adobe, the owner)
For now, the module works only for drupal 6 and is greatly inspired by AMFPHP module and an existing SabreaAMF module that i myself wrote.
Can you please advise on how to start this project or tell me your opinion, thank you, hopefully this will solve a lot of pain when dealing with flash/drupal RPC
| Comment | File | Size | Author |
|---|---|---|---|
| flashremoting_server.tar_.gz | 50.48 KB | iongion |
Comments
Comment #1
hazaYou should create your sandbox and push you code inside, this will really help us to review the code, plus we can post some issue in the issue queue if needed.
Comment #2
sreynen commentedHi iongion,
I'm changing this to "needs work" because it isn't ready to review. After you have created a sandbox project, as Haza suggested, please change the status back to "needs review."
Comment #3
iongion commentedDid what you guys told me, sorry for the late response, hopefully you will find it as useful as I did.
I need to add more sample clients, but these are just what I meant, samples, it can wait, it will allow integration of Drupal with various clients such as:
- AMFFlexClient - very similar to Flash as Flex is just Flash in its core
- AMFJavaClient - there are many java flash remoting solutions that I need to investigate, will start with main ones such as:
a) BlazeDS
b) GraniteDS
c) WebORB
c) Red5's remoting facility
- AMFNETClient - same as in java:
a) WebORB
b) FluorineFX
Why I consider are these samples are helpful, because not only they allow Flash Remoting like communication, but allow Drupal RPC using a very optimized communication format, AMF(actionscript message format) between various consumers enlisted above.
Comment #4
tim.plunkettThere is no sandbox. Please read Applying for permission to create full projects.
Comment #5
iongion commentedThe sandbox is available at http://drupal.org/sandbox/iongion/1222258
I am not yet applying for full projects permissions because more recently, the services module went through an overhaul and must update on that first.
Thx for the review.
Comment #6
tim.plunkettPer #5
Comment #7
slewazimuth commentedI came across this module in the attachment today and decided that although its not an official project yet I thought I would take a peek. I downloaded it and installed for AMFPHP(2.0), ZendAMF(1.11.10) and SabreAMF(1.3.234) on both locally hosted Drupal 6.22 and remotely hosted Drupal 6.22 installations. The remotely hosted Drupal is was running under LAMP while the locally hosted Drupal was running under WAMP. Used Flash CS4 and CS5 to consume services native to Services module plus added a couple of my own for fun with Services module 6.x-2.4 released last December. Everything worked just fine. Looking forward to this project becoming official. Good start iongion!
Comment #8
gregglesWhat do you think after looking at services, iongion? Should we move this to closed for now and you can work with services?
Comment #9
iongion commentedYes, you can move it to closed, I will resume work on this asap, pretty crowded period for me lately.
Comment #10
gregglesOk, thanks.
Comment #11
iongion commentedI have reopened this issue as I managed to get some time to adapt the module to the new services 3 implementation.
Before mainstream I would need some help from you, related to the issue #1230322 here http://drupal.org/node/1230322.
There is a mention there about CSRF problems.
What happens now is that, even if you are already logged in and a flash applet is on one of the pages(that you visit after login), if a remote method is called, because of services 3 changes user is being de-authenticated completely.
This is really problematic, need to get deeper into it, otherwise, this module would be a good solution for people waiting for an AMF server for Services 3.
Comment #12
iongion commentedI have decided to copy services_controller_execute as _flash_remoting_server_services_controller_execute and remove the user account session authentication/de-authentication ping-pong.
This allows the module to work as expected.
Things look good and would need some testing from you, there is still the http://drupal.org/node/1230322 issue that it is mentioned there, but I really do not understand what kind of CSRF attack can be made. Again, some help from you explaining what could go wrong, how should that code be adjusted would really be appreciated.
The sandbox project is present here also https://github.com/iongion/flash_remoting_server
Comment #13
klausiClosing due to lack of activity. Feel free to reopen if you are still working on this application.