I am running PHP Shindig supporting a main application built in Python... On Fri, 2010-04-16 at 14:32 -0700, Ian Wilson wrote: > Has anyone shown interest in porting shindig to python? I saw this > http://code.google.com/p/gae-opensocial/ but I haven't heard that many good > things about GAE, I think its still too unrefined. I know this is nearly an > impossible software engineering feat but how long do you think it would take > a developer to port over the most minimal working portion of shindig to > python?
I believe there is at least one other port somewhere - I've certainly seen a good port of most of the code to Python at some point. Shindig is maintained with the latest features far more quickly than you could expect other ports to be though (IMO). That's the reason I haven't moved to a Python port (at least yet). I chose PHP because we do have some in-house PHP devs I can go to if required (but not Java), and we don't have any JVMs on our production boxes - but otherwise it would have made little difference to me so far. Personally I'm mainly using the gadgetserver part of shindig - which requires little direct integration between the two pieces of software (shindig and the main app). Deployment is basically just patching shindig with some javascript features, configuration changes and a few minor patches. As I'm only using the gadgetserver, the gadgets/metadata call gives me most of the shindig-container communication I need, and the /gadgets/ifr call gives most of the container-shindig communication. Regarding the main social apis, if your data from python is stored into a relational database then it's probably easiest to bite the bullet and extend the appropriate shindig apis within php/java - A large part of my data is stored in a zope object database, so that hasn't been an option for me, and as far as I know the other options are basically: * Not implement the actual opensocial parts (not recommended unless it's really not required) * Implement the social interfaces in shindig so that they make requests to your main app (via JSON-RPC or similar) * Implement the Rest apis in python and modify the apache config to send specific requests to different services. Hope that helps, Tim Wintle