Permalink
Browse files

remove some empty doc files and add documentation about pluggable app…

…lications
  • Loading branch information...
1 parent ebd4f01 commit 94305d85e8418488eb5ac87b90fff257c51b560f @amol- amol- committed Mar 27, 2012
Showing with 53 additions and 40 deletions.
  1. +2 −1 docs/extensions.rst
  2. +51 −0 docs/main/Extensions/Pluggable/index.rst
  3. +0 −14 docs/testimonials.rst
  4. +0 −8 docs/toc.rst
  5. +0 −8 docs/tutorials.rst
  6. +0 −9 docs/whitepapers/cardlist.rst
View
@@ -17,9 +17,10 @@ This is a list of core TurboGears extensions and tutorials that involve optional
main/Extensions/Crud/index
main/Extensions/Admin/index
- main/Extensions/Geo/index
+ main/Extensions/Pluggable/index
main/Extensions/Command/index
main/Extensions/Scheduling
+ main/Extensions/Geo/index
main/AuthorizeTutorial
@@ -0,0 +1,51 @@
+=========================================
+Pluggable Applications with TurboGears
+=========================================
+
+TurboGears 2.1.4 introduced support for pluggable applications using tgext.pluggable.
+``tgext.pluggable`` is now the official supported way in TurboGears to create pluggable
+reusable applications.
+Currently only SQLAlchemy based applications are supported as pluggable applications.
+
+Official documentation for ``tgext.pluggable`` can be found at: http://pypi.python.org/pypi/tgext.pluggable
+
+Supported Features
+==================================
+
+Pluggable applications can define their own:
+
+ * **controllers**, which will be automatically mounted when the application is purged.
+ * **models**, which will be available inside and outside of the plugged application.
+ * **helpers**, which can be automatically exposed in ``h`` object in application template.
+ * **bootstrap**, which will be executed when `setup-app` is called.
+ * **statics**, which will be available at their own private path.
+
+Mounting a pluggable application
+==================================
+
+In your application config/app_cfg.py import plug from ``tgext.pluggable`` and
+call it for each pluggable application you want to enable.
+
+The plugged package must be installed in your environment.
+
+.. code-block:: python
+
+ from tgext.pluggable import plug
+ plug(base_config, 'package_name')
+
+Creating Pluggable Applications
+===================================
+
+``tgext.pluggable`` provides a **quickstart-pluggable** command
+to create a new pluggable applications:
+
+.. code-block:: bash
+
+ $ paster quickstart-pluggable plugtest
+ Enter package name [plugtest]:
+ ...
+
+The quickstarted application will provide an example on how to use
+models, helpers, bootstrap, controllers and statics.
+
+
View
@@ -1,14 +0,0 @@
-.. _testimonials:
-
-============================================
-Testimonials, White Papers, and Case Studies
-============================================
-
-.. toctree::
- :maxdepth: 1
-
- whitepapers/cardlist
-
-.. todo:: Difficulty: Hard. Add testimonials
-
-
View
@@ -51,14 +51,6 @@ Useful Utilities and Tools
utilities
-Testimonials, White Papers, and Case Studies
-============================================
-
-.. toctree::
- :maxdepth: 3
-
- testimonials
-
Indices and tables
==================
View
@@ -49,14 +49,6 @@ Moving From Other Frameworks
main/CakePHPIntro
-Extended Tutorials / White Papers
-=================================
-
-.. toctree::
- :maxdepth: 1
-
- whitepapers/cardlist
-
Sometimes, you don't need a tutorial. Sometimes, you just need to see
some sample code, or get a specific answer to a specific question, and
tutorials are just too much for you. If that's you, might we suggest
@@ -1,9 +0,0 @@
-.. _mpedersen_cardlist:
-
-=================================================
- Card List Exchange Manager, by Michael Pedersen
-=================================================
-
-This page is a placeholder to allow a todo to be closed.
-
-.. todo:: Difficulty: Hard. Add cardlist manager whitepaper (from m.pedersen)

0 comments on commit 94305d8

Please sign in to comment.