developer-level changes Silva 1.2
Martijn Faassen <[email protected]>
| Newsgroups | gmane.comp.web.zope.silva.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi there,
This is the developer-level changes document for Silva 1.2, describing
differences from Silva 1.1 and earlier versions:
From 1.1 to 1.2:
* the 'action_paste' and 'action_paste_to_ghost' methods on Folder have
a new signature, instead of returning a list of messages it now
returns (message_type, messages) where message_type can be 'feedback'
and 'error' and messages is the list that used to be returned.
* tab_edit for VersionedContent views has changed to make use of a new
macro, ``macro_tab_edit/macros/editor``, instead of
``macro_index/macros/master`` directly. ``macro_tab_edit`` does use
``macro_index`` indirectly.
A default tab_edit is supplied in VersionedContent views.
SilvaDocument however overrides this with its own tab_edit.
You can also do in your own product.
The following slots are available in ``macro_tab_edit/macros/editor``:
* editor_css - add in editor-specific CSS stylesheets.
* editor_refresher - a slot to put in special refreshing code for
editors that are sensitive to Zope session timeouts, such as the
forms editor.
* editor_selection - add extra fields above the main editor content
area to allow the user to switch editors, such as between kupu and
the forms editor.
* editor_content - the main editor content area, showing for
instance the forms editor or kupu.
* The public view directory layout changed due to some change in the way
we register views. For some functionality on the
VersionManagementAdapter, we needed to get a rendered version, which
wasn't allowed the way the views were previously set up (fetching the
version happened in the render scripts, each script would render a
specific version).
Changes:
* instead of registering a 'public' view for VersionedContent
objects, they are now registered for Version objects, the view
assumes
* instead of 2 scripts 'render_view' and 'render_preview' only
'render' is called for both view and preview, if you want to
make a distinction between the two, you can register a new
view_type called 'preview' to another subdirectory and place a
'render' script in that, the general pattern is that if you want
to use only 1 script you place it directly in the
'public/<meta_type>' directory, if you want to have seperate
scripts for view and preview, create a 'view' and 'preview'
directory in that dir ('public/<meta_type>/view' and
'public/<meta_type>/preview')
* the 'model' variable in the render script does not point to the
VersionedContent object anymore, but instead it refers to the
Version object (of course it still refers to the object itself
in case the object is not of a versioned type)
Let us know if anything is unclear!
Regards,
Martijn