22:07:17 <maxamillion> #startmeeting
22:07:17 <zodbot> Meeting started Sat Dec  5 22:07:17 2009 UTC.  The chair is maxamillion. Information about MeetBot at http://wiki.debian.org/MeetBot.
22:07:17 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
22:08:12 <maxamillion> #topic - Moksha
22:09:23 <maxamillion> Moksha was created in order to satisfy a need for real time system with the ability to easily integrate existing applications and build feature rich dashboards to things such as all the development tools in fedora (koji, cvs, bodhi, pkgdb -> fedora community)
22:10:13 <maxamillion> Moksha has a lot of support for AMQP (Advanced Message Queuing Protocol) and is written in python
22:11:15 <maxamillion> it opens a socket within the browser that offers you the ability to run js.io which ports protocol implementations in javascript so we can now make "native" connections from within the contained application running in the browser via an internal proxy
22:11:31 <maxamillion> #topic Moksha - The present
22:11:36 <maxamillion> -> solit proof of concept
22:11:44 <maxamillion> -> solid purpose
22:12:00 <maxamillion> --> plugin driven real time web architecture
22:12:03 <maxamillion> -> modular
22:12:13 <maxamillion> --> .... I type too slow
22:13:28 <maxamillion> request comes in and hits a WSGI server, goes through the middleware stack and on to either an external resouce (eg: Fedora Infrastructure), a message broker, or a database and it draws its information from there
22:14:38 <maxamillion> moksha middleware loads all apps and widgets that are installed, it will mount them in the directory path of moksha making them easily accessable
22:15:01 <maxamillion> in terms of moksha, if you say "app" you mean turbogears web application
22:15:40 <maxamillion> and "app" in this sense could also be a controller
22:16:30 <maxamillion> a "widget" is comprised of a few things -> javascript and csss, template, and server side logic
22:16:38 <maxamillion> css*
22:17:20 <maxamillion> moksha builds on top of this widget and provides a "live widget" which contains: topics, on message callback, server side logic, javascript and css, and the widget template
22:18:52 <maxamillion> moksha makes a "live widget" which will connect to a "live socket" (using js.io) and will connect to AMQP/STOMP and connects to Orbit and Orbit handles communication to the message broker
22:20:19 <maxamillion> the moksha hub provides a set of APIs that you can leverage but is not required
22:20:28 <maxamillion> it loads up plugins that reside on entry points
22:20:50 <maxamillion> when the hub loads it is an event loop reactor from the twisted framework
22:21:45 <maxamillion> the producer/consumer portion talks to AMQP/STOMP in order to translate to the broker
22:22:43 <maxamillion> #topic Moksha - Rapid development deployment
22:23:23 <maxamillion> Orbited(morbidQ) <- stomp -> MokshaHub(producers,consumers) <- AMQP -> Qpid
22:23:47 <maxamillion> (that's meant to be a graphic representation and not some sort of cryptic code or nomentclature
22:23:50 <maxamillion> )
22:23:58 <maxamillion> <now moving into a demo>
22:24:05 <maxamillion> #topic Moksha - demo
22:28:32 <maxamillion> paster -> a program that allows you to provide templates to moksha
22:29:29 <maxamillion> paver -> "kinda like make but for python"
22:38:01 <maxamillion> #topic Moksha - wrapping TurboGears applications in Moksha to make them live
22:39:12 <maxamillion> There are very small amounts of code that are required to wrap an existing TurboGears2 web application
22:41:44 <maxamillion> the documentation is location at http://moksha.csh.rit.edu/apps/docs/main/IntegratingWithTG2.html
22:48:58 <maxamillion> http://civx.us <--- moksha application
22:49:03 <maxamillion> #endmeeting