00344: markup to prevent searching of pages or groups
Description: Add some new markup to control searches, in particular, to prevent search from looking at certain pages or groups.
Possibilties: (:nosearch:) or (:cloak:) or (:hide:)
If placed on a page, prevents the page from being searched. If placed on the GroupAttributes page, prevents the entire group from being searched and omits the group name from the search results. If per-page exclusions slows things down too much, then per-group exclusion would be acceptable.
If placed in GroupHeader or GroupFooter only prevents those 2 pages from being searched (not very useful, but included here for completeness).
To be really useful, this markup should prevent searches only when the search is initiated from outside the protected pages. In other words, if someone is already inside the "Private" group, then search should look at all the pages in the "Private" group as well as the rest of the unprotected pages.
Actually, per-page exclusions are easier to deal with than per-group ones, since we're already grabbing the page to do the search. Per-group exclusions require making a separate read of a GroupAttributes file and making sure any (:cloak:) gets honored for any pages in the group.
Also, keep in mind that as distributed, PmWiki does all of its searches from the Main group, thus "already inside the 'Private' group" doesn't really exist unless there's a per-group search page of some sort. And even within a group there ought to be a way to cloak things, thus we should provide options that mean "cloak outside this group" and "cloak always". And there probably ought to be a way to say "uncloak this page even if the rest of the group is cloaked".
Overall it just sounds like it'd be better to have search honor pages' read attributes and use that as a guide.
--Pm
If by "Overall it just sounds like it'd be better to have search honor pages' read attributes and use that as a guide." you mean that search would only display a group name or page if the user had read privileges for them, then that would be fine. But this does bring to mind another aspect of "cloaking" - the ability to suppress the listing of the pages on AllRecentChanges. Does this warrant another PITS entry? The objective is the same - to keep private pages hidden from view. -- NeilHerber February 24, 2005, at 01:22 PM