summaryrefslogtreecommitdiff
path: root/docs/quick_tutorial/traversal_addcontent.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/quick_tutorial/traversal_addcontent.rst')
-rw-r--r--docs/quick_tutorial/traversal_addcontent.rst105
1 files changed, 0 insertions, 105 deletions
diff --git a/docs/quick_tutorial/traversal_addcontent.rst b/docs/quick_tutorial/traversal_addcontent.rst
deleted file mode 100644
index 499e08fbb..000000000
--- a/docs/quick_tutorial/traversal_addcontent.rst
+++ /dev/null
@@ -1,105 +0,0 @@
-===================================
-25: Adding Resources To Hierarchies
-===================================
-
-Multiple views per type allowing addition of content anywhere in a
-resource tree.
-
-Background
-==========
-
-We now have multiple kinds-of-things, but only one view per resource
-type. We need the ability to add things to containers,
-then view/edit resources.
-
-This introduces the concept of named views. A name is a part of the URL
-that appears after the resource identifier. For example::
-
- @view_config(context=Folder, name='add_document')
-
-...means that this URL::
-
- http://localhost:6543/some_folder/add_document
-
-...will match the view being configured. It's as if you have an
-object-oriented web, with operations on resources represented by a URL.
-
-When you omit the ``name=`` (as we did in the previous examples,
-you are establishing a "default view" for the context. That is,
-a view to be used when no view name is found during traversal.
-
-Goals
-=====
-
-- Adding and editing content in a resource tree
-
-- Simple form which POSTs data
-
-- A view which takes the POST data, creates a resource, and redirects
- to the newly-added resource
-
-- Named views
-
-Steps
-=====
-
-#. We are going to use the previous step as our starting point:
-
- .. code-block:: bash
-
- (env27)$ cd ..; cp -r traversal_typeviews traversal_addcontent; cd traversal_addcontent
- (env27)$ python setup.py develop
-
-
-#. Our views in ``traversal_addcontent/tutorial/views.py`` need
- type-specific registrations:
-
- .. literalinclude:: traversal_addcontent/tutorial/views.py
- :linenos:
-
-#. One small change in
- ``traversal_addcontent/tutorial/templates/document.pt``:
-
- .. literalinclude:: traversal_addcontent/tutorial/templates/document.pt
- :language: html
- :linenos:
-
-#. Need forms added to
- ``traversal_addcontent/tutorial/templates/folder.pt``:
-
- .. literalinclude:: traversal_addcontent/tutorial/templates/folder.pt
- :language: html
- :linenos:
-
-#. Forms also needed for
- ``traversal_addcontent/tutorial/templates/site.pt``:
-
- .. literalinclude:: traversal_addcontent/tutorial/templates/site.pt
- :language: html
- :linenos:
-
-#. ``$ nosetests`` should report running 4 tests.
-
-#. Run your Pyramid application with:
-
- .. code-block:: bash
-
- (env27)$ pserve development.ini --reload
-
-#. Open ``http://localhost:6543/`` in your browser.
-
-Analysis
-========
-
-Our views now represent a richer system, where form data can be
-processed to modify content in the tree. We do this by attaching named
-views to resource types, giving them a natural system for
-object-oriented operations.
-
-To enforce uniqueness, we randomly choose a satisfactorily large number.
-
-Extra Credit
-============
-
-#. Can ``document_view`` simply return nothing instead of an empty
- dictionary?