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

CommentFileSizeAuthor
flashremoting_server.tar_.gz50.48 KBiongion

Comments

haza’s picture

You 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.

sreynen’s picture

Status: Needs review » Needs work

Hi 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."

iongion’s picture

Status: Needs work » Needs review

Did 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.

tim.plunkett’s picture

Status: Needs review » Needs work

There is no sandbox. Please read Applying for permission to create full projects.

iongion’s picture

The 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.

tim.plunkett’s picture

Status: Needs work » Postponed

Per #5

slewazimuth’s picture

I 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!

greggles’s picture

What do you think after looking at services, iongion? Should we move this to closed for now and you can work with services?

iongion’s picture

Yes, you can move it to closed, I will resume work on this asap, pretty crowded period for me lately.

greggles’s picture

Status: Postponed » Closed (won't fix)

Ok, thanks.

iongion’s picture

Status: Closed (won't fix) » Needs work

I 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.

iongion’s picture

I 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

klausi’s picture

Status: Needs work » Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application.