docs/main/Features.rst | 33 +++++++++---------
docs/main/MessageBrokers.rst | 2 +
docs/main/Middleware.rst | 28 +++++++++++++++
docs/main/MokshaPlatform.rst | 31 -----------------
docs/main/Technology.rst | 5 ++
docs/main/Vision.rst | 1
moksha/lib/app_globals.py | 39 +++++++---------------
moksha/public/images/Powered-by-moksha_button.png |binary
8 files changed, 64 insertions(+), 75 deletions(-)
New commits:
commit c4f78029c76505fface19946d971d807cd858712
Author: Luke Macken <lmacken(a)redhat.com>
Date: Mon Apr 20 23:33:03 2009 -0400
Document the role that Twisted plays in the stack
diff --git a/docs/main/Technology.rst b/docs/main/Technology.rst
index 4c6ac63..f17cda6 100644
--- a/docs/main/Technology.rst
+++ b/docs/main/Technology.rst
@@ -75,3 +75,8 @@ receives, stores, and routes messages using the AMQP protocol. `RHM
<
http://rhm.et.redhat.com/>`_ is a persistence extension to the Qpid AMQP
broker that allows message storage using either a libaio-based asynchronous
journal or synchronously with Berkely DB. -
+
+`Twisted <
http://twistedmatrix.com>`_
+-------------------------------------
+
+Twisted is an event-driven networking engine written in Python. It is the core engine
for the :doc:`MokshaHub`, which reacts to incoming messages, as well as runs our
:doc:`DataStreams`.
commit 627afd7be71c30faf0fbf9208a27c6f9ed39f75e
Author: Luke Macken <lmacken(a)redhat.com>
Date: Mon Apr 20 23:27:27 2009 -0400
Fix some inter-doc sphinx linkage
diff --git a/docs/main/Features.rst b/docs/main/Features.rst
index 8088b94..fab5ea5 100644
--- a/docs/main/Features.rst
+++ b/docs/main/Features.rst
@@ -40,9 +40,7 @@ reusable "Widgets", which are essentially just bundles of
HTML, JavaScript,
CSS, and render-time logic. The ToscaWidgets WSGI Middleware is also integrated
into Moksha, which handles intelligently injecting Widget resources.
-Moksha also provides a variety of other Widgets, including a LiveWidget_ API
-for creating real-time message-driven widgets that can efficiently acquire data
-from a variety of sources.
+Moksha also provides a variety of other Widgets, including a :doc:`LiveWidget` API for
creating real-time message-driven widgets that can publish and subscribe to message
:doc:`Topics`.
Resource Connectors
-------------------
@@ -59,19 +57,20 @@ infrastructure environments.
Expert System
--------------
-The MokshaHub_ gives you Expert System-like functionality by providing APIs for
-interacting with a variety of knowledge bases (SQLAlchemy models, Resource
-Connectors, Caches, Message Queues, etc), and can easily monitor and process
-incoming data. One could then easily build state-machines, inference engines,
-or even forward/backward-chaning rule-driven expert systems.
-
-Moksha also provides a simple yet powerful API for creating DataStreamers_ that
-can do basically anything at anytime. It allows for the easy scripting of
-periodic tasks such as fetching data, polling resources, warming caches,
-sending notifications, analyzing databases, etc. For example, Moksha provides
-a FeedStream_, that automatically handles fetching, parsing, caching, and
-sending notifications for all known feeds at a regular interval.
-
-These are loaded by the MokshaHub_, and are executed outside of the WSGI
+:doc:`MokshaHub` gives you Expert System-like functionality by providing
+APIs for interacting with a variety of knowledge bases (SQLAlchemy models,
+Resource Connectors, Caches, Message Queues, etc), and can easily monitor and
+process incoming data. One could then easily build state-machines, inference
+engines, or even forward/backward-chaning rule-driven expert systems.
+
+Moksha also provides a simple yet powerful API for creating
+:doc:`DataStreamers` that can do basically anything at anytime. It allows for
+the easy scripting of periodic tasks such as fetching data, polling resources,
+warming caches, sending notifications, analyzing databases, etc. For example,
+Moksha provides a :doc:`FeedStream`, that automatically handles fetching,
+parsing, caching, and sending notifications for all known feeds at a regular
+interval.
+
+These are loaded by :doc:`MokshaHub`, and are executed outside of the WSGI
application stack, but they are still able to access the Database, Cache,
MessageHub, etc.
diff --git a/docs/main/MessageBrokers.rst b/docs/main/MessageBrokers.rst
index 92ad2ed..c61452c 100644
--- a/docs/main/MessageBrokers.rst
+++ b/docs/main/MessageBrokers.rst
@@ -33,3 +33,5 @@ The :class:`MokshaHub` will then automatically connect up to your AMQP
broker an
AMQP support in Moksha has been tested with `Qpid <
http://qpid.apache.org>`_.
+
+`RabbitMQ <
http://rabbitmq.com>`_ support is under development. See the
:doc:`RabbitMQ` documentation for details on testing it.
commit 1ecf12a22c32adfa8308900090cb3222d5b238fb
Author: Luke Macken <lmacken(a)redhat.com>
Date: Mon Apr 20 23:23:11 2009 -0400
Move some of our WSGI middleware docs around
diff --git a/docs/main/Middleware.rst b/docs/main/Middleware.rst
index 41ecaa5..bed47a5 100644
--- a/docs/main/Middleware.rst
+++ b/docs/main/Middleware.rst
@@ -45,3 +45,31 @@ how it looks in TurboGears2. If you're using Moksha as a
stand-alone platform,
TurboGears2 allows us to easily insert middleware directly on top of the raw
application, so we then have the ability to use the paste.registry,
sessions, and caching.
+
+Moksha's Full Platform WSGI Stack
+---------------------------------
+
+Not only can Moksha be inserted into any existing `WSGI
<
http://wsgi.org>`_-compliant application,
+but on it's own offers a comprehensive top-to-bottom middleware stack that
+provides a vast plethora of additional functionality.
+
+=============================== ===============
+Middleware Function Module
+=============================== ===============
+Profiling repoze.profile
+Resource compression repoze.squeeze
+ **TG2 Middleware**
+---------------------------------------------------
+Application routing/dispatching Routes
+Session management Beaker
+Caching layer Beaker
+Widget resource injection ToscaWidgets
+Authentication repoze.who
+Authorization repoze.what
+Transaction management repoze.tm2
+Error handling & Debugging WebError
+Registry manager Paste
+ **Moksha Middleware**
+---------------------------------------------------
+Your application
+=============================== ===============
diff --git a/docs/main/MokshaPlatform.rst b/docs/main/MokshaPlatform.rst
deleted file mode 100644
index ab5cb56..0000000
--- a/docs/main/MokshaPlatform.rst
+++ /dev/null
@@ -1,31 +0,0 @@
-===============
-Moksha Platform
-===============
-
-Not only can Moksha be inserted into any existing WSGI-compliant application,
-but on it's own offers a comprehensive top-to-bottom middleware stack that
-provides a vast plethora of additional functionality.
-
-`WSGI <
http://wsgi.org>`_ Middleware Stack
-------------------------------------------
-
-=============================== ===============
-Middleware Function Module
-=============================== ===============
-Profiling repoze.profile
-Resource compression repoze.squeeze
- **TG2 Middleware**
----------------------------------------------------
-Application routing/dispatching Routes
-Session management Beaker
-Caching layer Beaker
-Widget resource injection ToscaWidgets
-Authentication repoze.who
-Authorization repoze.what
-Transaction management repoze.tm2
-Error handling & Debugging WebError
-Registry manager Paste
- **Moksha Middleware**
----------------------------------------------------
-Your application
-=============================== ===============
diff --git a/docs/main/Vision.rst b/docs/main/Vision.rst
index b3b031c..28738f1 100644
--- a/docs/main/Vision.rst
+++ b/docs/main/Vision.rst
@@ -5,7 +5,6 @@ The Vision
:maxdepth: 2
Introduction
- MokshaPlatform
DataAggregation
DataInterpretation
DataPersistence
commit 8eea13943408671927db2eba6e32952e75b96506
Author: Luke Macken <lmacken(a)redhat.com>
Date: Mon Apr 20 23:10:31 2009 -0400
Add a powered by moksha icon, thanks to Mizmo :)
diff --git a/moksha/public/images/Powered-by-moksha_button.png
b/moksha/public/images/Powered-by-moksha_button.png
new file mode 100644
index 0000000..7818754
Binary files /dev/null and b/moksha/public/images/Powered-by-moksha_button.png differ
commit dfb22cc24630628fa7898f08bb3c911bd5d3ed29
Author: Luke Macken <lmacken(a)redhat.com>
Date: Mon Apr 20 22:47:49 2009 -0400
Dumb down our globals object.
Comment out some experimental functionality that are not currently using.
diff --git a/moksha/lib/app_globals.py b/moksha/lib/app_globals.py
index e665e71..ccd1da8 100644
--- a/moksha/lib/app_globals.py
+++ b/moksha/lib/app_globals.py
@@ -1,16 +1,15 @@
"""The application's Globals object"""
-import logging
-import inspect
+#import logging
+#import inspect
-from tg import config
-from shove import Shove
+#from tg import config
+#from shove import Shove
-from moksha.exc import CacheBackendException
-from moksha.lib.cache import Cache
+#from moksha.exc import CacheBackendException
+#from moksha.lib.cache import Cache
-
-log = logging.getLogger(__name__)
+#log = logging.getLogger('moksha')
class Globals(object):
"""Globals acts as a container for objects available throughout the
@@ -22,21 +21,9 @@ class Globals(object):
initialization and is available during requests via the 'g'
variable
"""
- timeout = int(config.get('beaker.cache.timeout', '0'))
- try:
- self.cache = Cache(config['beaker.cache.url'], timeout)
- except (CacheBackendException, KeyError), e:
- log.warning(str(e))
- self.cache = None
-
- #def __getattribute__(self, *args, **kw):
- # # @@ TODO: Namespace moksha app's Global objects
- # # load them in the middlware...
- # # ensure that this object is always in pylons.g, even if we are
- # # running a full moksha stack, or as middleware
- # # proxy to them on incoming request
- # print "Globals.__getattr__(%s)" % locals()
- # frame = inspect.currentframe()
- # caller = frame.f_back.f_back.f_globals['__name__']
- # print "caller = ", caller
- # return object.__getattribute__(self, *args, **kw)
+ #timeout = int(config.get('beaker.cache.timeout', '0'))
+ #try:
+ # self.cache = Cache(config['beaker.cache.url'], timeout)
+ #except (CacheBackendException, KeyError), e:
+ # log.warning(str(e))
+ # self.cache = None