
Reference of the default Silva Services

  Meta::
  
    Valid for:  Silva 0.9.2, Zope 2.6.1, Python 2.1.3
    Authors:    kit blake
                Clemens Klein-Robbenhaar 
    Email:      kitblake+infrae.com
                robbenhaar+espresto.com
    CVS:        $Revision: 1.3 $ $Date: 2003/05/18 20:35:08 $

  This document lists the available service objects of a default
  Silva Root installation and their relevance to Site Managers and 
  Developers.

  Most of the 'service_' items in the Silva Root are instances of the
  WidgetRegistry class of the XMLWidgets product. They are used by the
  editor for the Silva Document and maintained automatically by the
  installation process. Site Managers do not need to worry about them;
  they provide no interesting information via the ZMI.

  Developers may want to look at the configuration and installation code
  in the 'install.py' in the Silva product to learn about how to create
  and configure custom WidgetRegistries.

  Services relevant to Site Manages are shown in **bold style**; services
  only interesting to developers in *this style*.

  - service_annotations: an instance of a
    Products.PortalAnnotations.AnnotationTool

    XXX: description missing

  - **service_catalog**: an instance of a Products.ZCatalog.ZCatalog
    This is used to catalog all Silva content objects which are catalog
    aware.
    
    Site Managers do not need to set up something here, although
    they may want to create additional indexes for custom usage
    (not really recommended, create a separate catalog if possible) or
    fiddle with the "advanced" settings

    Developers could theoretically replace this object by a custom catalog object,
    though there is no known use case for this.
    They may want to create additional Index objects for custom content types.

  - *service_docma* (optional): an instance of
    Products.Silva.DocmaService.
    This object is used to communicate with the DocmaServer
    which is available as a separate product.

    Site Manages may want to add such an object if they with to
    install and use the Docma Product.

    XXX: description missing

  - service_editor: an instance of
    Products.XMLWidgets.EditorService

    This object is used internally for some state management of the
    editors of Silva Document objects. 

    Neither Site Managers nor Developers need to worry about this object.

  - *service_editorsupport*: an instance of
    Products.Silva.EditorSupportNested.EditorSupport

    This object is used internally to supply some helper
    methods to display and edit Silva Document elements.
    
    Site Manages can leave this object alone. 
    Developers may want to learn about the provided functionality when writing
    custom widgets, and maybe replace this object by a custom version.
    One could use a custom version to create a different markup within
    paragraphs, but as creating the custom class seems to be an exercise
    in cut & paste programming with the current implementation, this is
    not recommended yet.

  - **service_extensions**: an instance of Products.Silva.ExtensionService

    Site Managers will check with this object regularly after an upgrade
    of Silva of an extension product of Silva to properly refresh
    the Silva site after an upgrade.

    Developers do not have to deal with this object directly when
    developing a Silva extension product. Instead they may want to
    register their product via the Products.Silva.ExtensionRegistry;
    the SilvaDemoExtension product is an example how to do this.

  - **service_files**: an instance of Silva.File.FilesService

    Site Managers may want to visit this object to control
    the storage of the data of Silva File and Image objects;
    see the documentation for the "FileObject":"File Object" for
    details.

    This is the only 'service_' object which may not only be placed 
    in a Silva Root, but also in nested containers.

  - *service_members*: an implementation of
    Products.Silva.IMembership.IMemberService

    The default implementation is of type 
    Products.Silva.SimpleMembership.SimpleMemberService.

    This object is used to manage the membership information stored in
    the 'Members' folder in the Silva Root.

    Site Managers may want to configure this object to allow
    users to request membership via the web, if this is wanted.
    In this case they should check if the 'standard_error_message'
    is set up to support a registration form; the default layout is
    configured to do so, so one may possibly want to run a 'install
    default layout' via the 'service_extensions' and look the
    the new 'default_standard_error_message' for details.

    Site Managers may want also to replace this with a custom implementation
    meeting the needs of their site. Most probably this will happen
    automatically when installing the product containing the custom
    implementation. 
    Such an custom implementation will not be overwritten with the
    default implementation by an upgrade of the Silva product. If
    concurrent other custom implementations from some Silva extensions
    products are similar polite depends on the implementation of these
    products.

    Developers may want to take a look at the SilvaDemoExtension product
    too learn how to write such a custom implementation.

  - **service_messages**: an implementation
    Products.Silva.IMessageService.IMessageService 

    The default implementation is of type
    Products.Silva.EmailMessageService

    Site Managers may want set up this service for the default
    implementation to enable the email notification feature to 
    several workflow processes.

    Developers may want to look at the default implementation to learn
    how to implement a custom implementation. There is no demo extension
    product yet.

  - **service_metadata**: an implementation of 
    Products.SilvaMetadata.MetadataTool

    XXX: description missing

  - *service_news*: only is SilvaNews is installed.

    XXX: description missing

  - service_resources: a folder containing resources
    for Silva and extensions products.

    The contained 'Silva' directory view maps to the 'resources' directory
    of the Silva product.

  - service_sidebar: an internal object used to render the sidebar
    of the SMI efficiently.

  - service_utils: a Products.FileSystemSite.DirectoryView
    containing several utilities.

    This object maps to the 'service_utils' directory of the
    Silva product.

  - service_view_registry: an internal object used to store
    the location of the different public and SMI views for the different
    Silva object types. The actual views may be found in the
    'service_views' Folder.

    Site Managers may want to check if the views for all content types are
    registered properly by visiting those object via the SMI. The
    registration information is read only via the ZMI, however; the
    object is configured by the installation process.

  - service_views: a folder containing directory views for the
    views used by Silva and extension products.

    The contained 'Silva' directory view maps to the 'views' directory
    of the Silva product.

  - service_widgets: a Directory View containing the widgets
    to edit the Silva Document content elements.

    This directory view maps to the 'widgets' directory
    of the Silva product.

