[Silva-general] Announcing SilvaWikiToolbar!

Andy Altepeter aaltepet at bethel.edu
Thu Mar 16 20:17:02 CET 2006


Greetings,

I've just released a new Silva extension, SilvaWikiToolbar, for use with Silva 
1.4.x.

What is it?

SilvaWikiToolbar is an attempt to expose and promote the "online 
collaboration" spirit of wiki using Silva at the cms.  The extension provides 
a wiki toolbar that can be included in your layout_macro.  This toolbar has 
the following panels:

1. The edit panel provide a login or request access, or edit link.
2. The creator panel displays who created the document and when
3. The print article panel displays a quick print link
4. The revision panel displays current version information
and provides links to navigate the revision history
5. The siblings panel shows siblings of the current document
6. The search panel allows (content) searches starting at the wiki root
or within the current container. 

The package, more information (including a toolbar graphic!) on 
SilvaWikiToolbar can be found at 
http://www.zope.org/Members/aaltepet/SilvaWikiToolbar

In Depth:

Silva, being built on top of Zope, has very fine grained role-based access
control. Access to SilvaWiki content (e.g. SilvaDocument, SilvaPublictaion, 
SilvaFoder, or any other silva object) is filtered through the builting 
access control machinery. This includes the siblings and revision panels, 
AutoTOCs, and searches. If you don't have access to view object x, it won't 
show up. If you don't have access to the SMI, you will not see the revision 
panel.

To achieve this goal, a couple changes needed to be made to Silva:

TOC Filter

AutoTOCs (both Silva's stock, and my custom one available here:
http://zope.org/Members/aaltepet/SilvaCustomAutoTOC) have a pluggable
filter api. Filters remove items users shouldn't see. The "stock" filter 
removes items which have the 'hide_from_tocs' silva-extra metadata field set. 
This isn't sufficient enough because objects a user may not have access to 
view will still be listed. Users will still know data is there, though they 
won't be able to view it.

With SilvaWikiToolbar installed, an additional TOC Filter is added which
removes items a user doesn't have access to view.

Silva Search (and the search panel)

As of (at least) Silva 1.4, there is a minimal public search interface 
available from any silva url by appending '/public/search'. To this authors 
knowledge, this search interface has never heavily been used or developed. 
This product contains a revised search interface that does not use tables and 
has a few bug fixes. Additionally it also removes search results which users 
do not have access to view.

The search panel searches just content (not titles). It can search either from 
the current container or the wiki root. Since the search panel is used in a 
SilvaWiki, the stock silva search page is not used, only the search results 
page.

Index Documents

There are a few types of index objects that can be used in Silva. 
SilvaDocuments are perhaps the most common, Silva AutoTOCs are probably next 
in the list. In a SilvaWiki, it is probably a good idea to use AutoTOCs (or 
CustomAutoTOCs) as the index items, so users can more easily see and navigate 
to content within the wiki.

Document Descriptions

Both the SilvaCustomAutoTOC and the revised silva search interface display the 
silva-extra content-description (a.k.a description) next to each item. This 
is perhaps a more controllable way to display summary info than other options 
this author has seen, like rendering the first top-level element in the 
document. The latter isn't very useful when document has a twenty item list 
as it's first element. 



More information about the Silva-general mailing list