Anonymous committed de22763

updated general TG information to include the stack.

  • Participants
  • Parent commits bdc6f9f

Comments (0)

Files changed (4)

File docs/index.rst

 TurboGears Documentation
-TurboGears 2 is a reinvention of the TurboGears project to take advantage of
-new components, and to provide a fully customizable :term:`WSGI` (Web Server
-Gateway Interface) stack.   From the beginning TurboGears was designed to be a
-Full Stack framework built from best-of-breed components. New components have
-been released which improved on the ones in the original TGstack, and the Python
-web world has been increasingly designed around WSGI.
+TurboGears is a web framework written in Python that combines best-of-breed
+technologies to offer a developer rapid initial ramp-up, an even learning curve,
+and scalability as your project grows.  TurboGears is built on a 
+stack of technologies that allows us to focus on the parts that are important
+only to TurboGears.  Although TurboGears provides fully featured ORM 
+(Object Relational Mapper), Templating Languages, and URL dispatch mechanisms,
+the codebase remains less than 2000 lines of executable code.
-This has enabled a whole new world of reuse, and TG2 is designed to
-take advantage of this fact in order to make a framework which provides
-easy to use,  productive defaults, while still providing flexibility where
-it's useful.
+It is important to note that this version of TurboGears is a reinvention 
+of the original TurboGears project developed by Kevin Dangoor.  TurboGears2
+was developed to increase cooperation between the Python Web Framework 
+community, especially with the Pylons project.  TurboGears also leverages
+WSGI (Web Server Gateway Interface) components available today.  :term:`WSGI`
+allows web applications to share a common api to provide a layered approach
+to generating web content.
-TG2 represents a change from some of the components in TurboGears 1, but
+The TurboGears Stack: An Overview
+TG2 represents a change from some of the components in TurboGears 1.x, but
 we've now invested in a set of components that we think will continue to be at
-the center of python web development for years to come.
+the center of python web development for years to come.  From the beginning 
+TurboGears was designed to be a Full Stack framework built from best-of-breed
+components.  TurboGears takes some of the guesswork out of choosing from the
+various components available by providing you with a set of productive defaults,
+while still providing the abilty to change those defaults if something better
+meets the needs of your project.
-Documentation is broken into several components. Feel free to jump directly
-to the place you need to be, or read the information below sequentially.
+The TurboGears stack is made up of a four main components that aim at increasing
+web development productivity.  Each of these components can in fact be used
+independently, or within other applications, so the knowledge you gain
+by learning about this components is highly applicable to other projects
+you might do, including those outside the scope of web design.  Here is a breakdown
+of what you can expect to see in the stack.
+.. image:: main/images/stack.png
+   :align: left
+ToscaWidgets_  is a full-featured widgetting library that makes it easier
+to coordinate front end design with server development.  In the previous version
+of TurboGears this role was delegated to a single JavaScript framework: MochiKit.
+ToscaWidgets gives you the choice to incorporate your JS library of choice, either
+for your entire site, or for individual pages.
+Genshi_ was popularized by the project tracking software called Trac.  Genshi
+provides an easy way to create templated content by providing developers
+with pythonic tools, (x)html validation, and useful debugging messages.  Kid
+Developers coming over from TurboGears 1.1 will feel at home with the familiar
+Pylons_ is our web server of choice.  Pylons is a good choice for our web server,
+because it embraces WSGI, and is also broken into smaller swappable components.  Pylons
+gives us routing, caching, sessions, and a set of thread-safe globals to make
+development easier.
+SQLAlchemy_ has been called the best Object Relational Mapper in _any_ language.
+SQLAlchemy provides a solid foundation to build your data-driven application from.
+SA allows you to abstract your database to Python objects, while still giving
+you access to your database in tabular, and even SQL form.  Using SQLAlchemy also gives
+you the ability to use a number of add-on tools like migrate_ and bootalchemy_.
+.. _ToscaWidgets:
+.. _Genshi:
+.. _Pylons:
+.. _SQLAlchemy:
+.. _migrate:
+.. _bootalchemy:
 :ref:`Getting Started <getting-started>`

File docs/main/images/stack.png

Old image
New image

File docs/misc.rst

-.. todo:: Difficulty: Medium. add a "what is turbogears"/faq - very early on. first?
 .. todo:: Difficulty: Medium. include links to "read more" - especially true of 
           tutorials that just scratch the surface  (this kind of replaces the "more linky" todo)
-.. todo:: Difficulty: Medium. Update and incorporate the info from this pic: 
 .. todo:: Difficulty: Medium. parts is parts:   the text on the frontgage of a quickstart says:
           "standing on the shoulders of giants, since 2007" - provide a main place to
           see what components are used (by default) in turbogears.
 .. todo:: Difficulty: Medium. Add lifecycle of TG project in the getting to know TG section.
-.. todo:: Difficulty: Medium. Add shell script which validates environment for building docs
 .. todo:: Difficulty: Medium. make sure that override_template is more visible, and provide a tutorial on how to use it
 .. todo:: Difficulty: Medium. << how to override tgext.admin controllers properly
-.. todo:: Difficulty: Medium. Include these docs:  TG2 virtualenv MySQLdb ImportError.  
+.. todo:: Difficulty: Medium. Include these docs:
+          TG2 virtualenv MySQLdb ImportError.  
           Should we be providing documentation to debug MySQLdb problems?  Seems out of scope.
 .. todo:: Difficulty: Medium. Incorporate these docs:
             * serving static files from the frontent,  /config/ base_config.serve_static = False
             * compressing JS/html/CSS,etc
+.. todo:: Difficulty: Medium. Add shell script which validates environment for building docs

File docs/recipesandfaq.rst

 .. todo:: link repoze.who, repoze.what, and the other key middleware
-Modelling Your Application
+Modeling Your Application
 SQLAlchemy is the default data-storage layer for TurboGears 2.x.