Zope Level Management

This document describes the workings of Silva from the point of view of a Silva site Manager role. This role has the same rights as a Zope manager.

Assumptions

For the purposes of locating objects, the Silva installation is assumed to be ‘default’, where Silva is installed at the root level of a Zope instance, and named ‘silva’. All paths in this document begin with /silva.

Nomenclature
  • ZMI refers to the Zope Management Interface
  • SMA refers to the Silva Management Anterface (where Silva Authors, Editors and Chief Editors work).
  • ZPT is a Zope Page Template.
  • To limit confusion, we rarely use the word ‘user’. Silva has several built in roles (Author, Editor, Chief Editor, Manager). These are always spelled with a capital letter.
  • A person viewing public pages (anonymously) is a Visitor.

General

 Let’s start with a few tips which are good to know.

If you’re logged in as a Manager, the breadcrumb trail contains an extra link: /manage... that takes you directly to the Zope manage_main in that location. The access key alt-. initiates the action immediately.

In the ZMI of the Silva root, “Silva /edit...” is the third tab. In between comes the “Services” tab, which contains Silva application logic, further detailed below.

In the ZMI on lower levels, there is now Services tab, and the second tab is called “Silva /edit...”. That takes you to the SMI at the current level.

A few key aspects are defined in the Zope properties tab of the Silva root. See the Properties section below (e.g. to change the help location).

Objects in the Silva root

What follows is a quick listing, with links to more information, of the objects found in a Silva root. Most of these items have code that resides on the file system.

In the ZMI, at /silva/manage or /silva/manage_main, you’ll see a number of Zope and Silva objects. Silva objects are Publications, Folders, Documents, etc.

Note that if Silva content objects are present in the root publication, those items will be mingled in the contents listing as well.

Members
Folder containing information about Silva members, i.e. Zope users who have been assigned a Silva specific role. Normally this folder should be left alone; the Member objects are created implicitly on demand. Removing a Member object does not revoke the roles from the corresponding user; it only removes the additional information available via the “user settings” page of the SMI.
content.html
ZPT that helps render public pages. See Template design
frontend.css
Cascading Style Sheet that determine the typographical styles in the Preview screen and public pages. See Template design
globals
This folder (silva/globals) resides on the file system. It contains Silva user interface elements, and will be overwritten in an upgrade.
index
A Silva index document in the Silva root (or Silva ‘top’, as it’s called in the documentation for Author Editor/Chief).
index_html
A Python script that handles web requests. See Template design
layout_macro.html
ZPT macro that renders public pages. See Template design
preview_html
A Python script that handles Silva previews. Will be covered in the Silva Developer documentation inside the Silva product download.
rename-to-override.html
ZPT that can be used to create custom pages. See Template design
standard_error_message
ZPT which displays an error message in Silva style (as opposed to Zope style).
standard_unauthorized_message
ZPT which displays an unauthorized message in Silva style (as opposed to Zope style).

Silva Services

Silva Services are found in the Silva root in the ZMI.  Click on the Services tab to see the list of Service options. Some services have settings that can be modified. Configurable services have a title following the id, e.g.:

service_messages (Silva Message Service)

Other services have no adjustable settings; these don’t have a title. If you click the id you’ll get a screen with a description of the service.

The service_extensions (Silva Product and Extension Configuration)

This service allows configuration of Silva core and extension products. Your own and third party extensions can be activated and deactivated here. SilvaNews is an example of an extension – it’s not part of the Silva core – that must be installed on the file system. Depending on what's been installed the listing will change. Following are several default services:
service_files (Silva Files Service) 
Controls storage of Silva File objects
service_members (Silva Membership Service)
Controls membership / subscription issues.
service_message (Silva Message Service)
Set up email address for workflow support.

Managing Silva 'Legacy' layout templates

Note: this section describes the 'legacy' layout system. This ZODB-based approach has been superseded by the SilvaLayout product and silva.core.layout. If you're creating a new layout we recommend using silva.core.layout. However you can use the legacy layout for quick proof of concept work and transfer most of the template work to the file system later.

The default Silva layout templates can be reinstalled – e.g. after an upgrade – with the install default layout button Service Extensions. It may be that you have modified some of the existing layout templates, such as the stylesheet frontend.css. Existing templates won’t be overwritten. Instead the prefix ‘default_’ will be prepended to the new id, preserving your work yet allowing you to examine any differences.

  1. On the Zope level, go to the Silva root

  2. Remove or rename existing layout templates, such as:

    frontend.css

    layout_macro.html

    content.html

    standard_error_message

    Note that there are other items, but if they’ve changed, you’ll be notified.

  3. Go to the Services tab of the Silva root.

  4. Click on service_extensions (Silva Product and Extension Configuration).

  5. In the Silva Core box, click the install default layout button. Wait for the result screen.

  6. Click the name of your Silva root in the breadcrumb trail. This returns you to the Contents tab of the root, where you will see the newly installed templates. If old ones exist, the prefix ‘default_’ will be prepended to the id.

Silva upgrades and layout templates

Make a backup before you upgrade.

When you upgrade, sometimes the stylesheet ‘frontend.css’ has been adjusted. If this is the case, it will be noted in UPGRADE.txt (we know everybody reads it :-)  We recommend – especially if you haven’t changed the stylesheet – that you delete/rename the old one and install default layout. If you see red text in the SMI or preview this is a signal that your frontend.css should be updated, since you’re missing key selectors for content display.

If you are upgrading Silva between major versions it’s a good idea to look in the new template layout_macro.html. Often there are improvements – such as related link references (<link rel="...) for accessibility – and optimizations in the tal code. Don’t forget to read the Upgrade.txt inside the Silva product download.

Silva root properties

Several key aspects are defined in the properties tab of the Silva root.

title: standard Zope title

help_url: defines the URL of the ‘alt-?’ link in the Silva Management Area. This will need adjustment if the id of the Silva root is not 'silva', or if you want to provide a customized help page.

comment: a placeholder. In the Silva management area, comments can be entered in the properties screen. This metadata is not acquired by underlying items.

access_restriction: this feature to restricts access to the Silva site to specified IP ranges. This is also edited via the Access Screen in the Silva management area.

Silva backup

Fig. 1.  View of the Silva (Shakespeare) portal in the ZMI

To make a simple Zope backup:
Place a check in the checkbox by the Silva root.  In Fig. 1 it’s the Silva icon next to Shakespeare. 
Choose Export at the base of the listings and Export your site.  The file you save is a zexp file.
To import a Silva site place a zexp file in the import directory of Zope, choose Import at the base of the listings, and select the .zexp of the Silva site.

Troubleshooting

Read Troubleshooting.txt inside the Silva product download.