summaryrefslogtreecommitdiff
path: root/docs/tutorials/cmf/catalog.rst
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2010-12-29 02:22:50 -0500
committerChris McDonough <chrism@plope.com>2010-12-29 02:22:50 -0500
commit7e9d3c17bc2fbd4841dbf58509ddd75028971dd9 (patch)
tree3687fda8ac9d4701188a9da62ccdd202806c8ab2 /docs/tutorials/cmf/catalog.rst
parentae4a242a4f161f8cbc95d6e66ad67ec6d1dd2ada (diff)
downloadpyramid-7e9d3c17bc2fbd4841dbf58509ddd75028971dd9.tar.gz
pyramid-7e9d3c17bc2fbd4841dbf58509ddd75028971dd9.tar.bz2
pyramid-7e9d3c17bc2fbd4841dbf58509ddd75028971dd9.zip
- The (weak) "Converting a CMF Application to Pyramid" tutorial has been
removed from the tutorials section. It was moved to the ``pyramid_tutorials`` Github repository.
Diffstat (limited to 'docs/tutorials/cmf/catalog.rst')
-rw-r--r--docs/tutorials/cmf/catalog.rst73
1 files changed, 0 insertions, 73 deletions
diff --git a/docs/tutorials/cmf/catalog.rst b/docs/tutorials/cmf/catalog.rst
deleted file mode 100644
index d5e9534ae..000000000
--- a/docs/tutorials/cmf/catalog.rst
+++ /dev/null
@@ -1,73 +0,0 @@
-.. _catalog_chapter:
-
-=======
-Catalog
-=======
-
-The main feature of the CMF catalog is that it filters search results
-from the Zope 2 "catalog" based on the requesting user's ability to
-view a particular cataloged object.
-
-:app:`Pyramid` itself has no cataloging facility, but an addon
-package named :term:`repoze.catalog` offers similar functionality.
-
-Creating an Allowed Index
--------------------------
-
-In CMF, a catalog index named ``getAllowedRolesAndUsers`` along with
-application indexing code allows for filtered search results. It's
-reasonably easy to reproduce this pattern using some custom code.
-
-Creating The ``allowed`` Index
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Here's some code which creates an ``allowed`` index for use in a
-``repoze.catalog`` catalog::
-
- from pyramid.security import principals_allowed_by_permission
- from repoze.catalog.indexes.keyword import CatalogKeywordIndex
- from repoze.catalog.catalog import Catalog
-
- class Allowed:
- def __init__(self, permission):
- self.permission = permission
-
- def __call__(self, context, default):
- principals = principals_allowed_by_permission(context,
- self.permission)
- return principals
-
- def make_allowed_index(permission='View'):
- index = CatalogKeywordIndex(Allowed(permission))
- return index
-
- index = make_allowed_index()
- catalog = Catalog()
- catalog['allowed'] = index
-
-When you index an item, the allowed index will be populated with all
-the principal ids which have the 'View' permission.
-
-Using the ``allowed`` Index
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Here's how you might use the ``allowed`` index within a query::
-
- from pyramid.security import effective_principals
- principals = effective_principals(request)
- catalog.searchResults(allowed={'operator':'or', 'query':principals})
-
-The above query will return all document ids that the current user has
-the 'View' permission against. Add other indexes to the query to get
-a useful result.
-
-See the `repoze.catalog package
-<http://svn.repoze.org/repoze.catalog/trunk>`_ for more information.
-
-
-
-
-
-
-
-