doc/book/en/B1021-views-selectors.en.txt
author Sandrine Ribeau <sandrine.ribeau@logilab.fr>
Tue, 30 Dec 2008 12:00:45 -0800
changeset 316 99943acb44af
child 351 ebbcf31e200d
permissions -rw-r--r--
[doc] Add sub-section about selectors and a little about registerer in views chapter.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
316
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
     1
.. -*- coding: utf-8 -*-
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
     2
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
     3
Selectors
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
     4
`````````
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
     5
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
     6
A selector is responsible to score how well an object may be used with a
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
     7
given result set during publishing time selection. This enables the selection
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
     8
of the most appropriate views to a given result set.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
     9
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    10
A selector is a method that computes a score. This score is used by
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    11
`CubicWeb` engine to identify which view is the best to apply in the
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    12
context. In the case, no score is higher than the others, then an
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    13
exception is raised ``NoSelectableObject`` to let you know that the
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    14
engine was not able to identify the view to apply. In such case
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    15
you would need to review your design and make sure your views are
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    16
properly defined.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    17
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    18
`CubicWeb` provides its own set of selectors that you can use and here
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    19
is a description of some of the most common used:
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    20
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    21
*yes_selector*
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    22
    This selector accepts everything which basically means to any result
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    23
    set.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    24
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    25
*norset_selector*
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    26
    This selector accepts no result set, so it can be applied to any
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    27
    object.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    28
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    29
*rset_selector*
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    30
    This selector accepts result set, whatever the number of objects
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    31
    in the result set.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    32
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    33
*anyrset_selector*
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    34
    This selector accepts any non empty result set.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    35
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    36
*emptyrset_selector*
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    37
    This selector accepts empty result set.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    38
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    39
*onelinerset_selector*
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    40
    This selector accepts result set with a single line of result.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    41
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    42
*twolinerset_selector*
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    43
    This selector accepts result set with *at least* two lines of result.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    44
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    45
*anonymous_selector*
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    46
    This selector accepts if user is anonymous.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    47
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    48
*not_anonymous_selector*
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    49
    This selector accepta if user is authenticated.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    50
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    51
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    52
Of course you can write your own set of selectors as you get familiar with the
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    53
framework.
99943acb44af [doc] Add sub-section about selectors and a little about registerer in views chapter.
Sandrine Ribeau <sandrine.ribeau@logilab.fr>
parents:
diff changeset
    54