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

Reply via email to