[Zope] DTML Method vs Document

Martijn Pieters mj@antraciet.nl
Thu, 04 Mar 1999 10:06:39 +0100


At 21:44 03/03/99 , Philip Aylesworth wrote:
>What is the difference between a DTML document and a DTML method? Seems to
>me a method should not be surfable but they are.
>
>Is it possible to change my documents to DTML documents? Even just for
>housekeeping.

Micheal answered these perfectly.

>One other unrelated question: What is a Principia Draft?

It is a special use of the session object, but it appears to be partially
broken. When you create a Principia Draft, it asks you to specify an
orginal object, from the same Folder you are creating the Draft in. This
will be your 'draft', on which you can make changes invisible to the
outside world.

The draft contains an invisible Session object that is immediatly started
and joined, and an invisible UserFolder to facilitate extra users (for
example, customers that want to be able to view your work on it as well,
but have no access to it otherwise).

The Principia Draft suffers two problems however. The first is really a
Session object bug, in that security for Session objects is broken. This
has allready been reported as a bug to the Collector by me. The second
problem is that the Userfolder and Session controls are inaccessible via
the management screens.

The latter problem is caused by convention changes in the Folder object (or
the ObjectManager class really, used by Folder. I think that Folder objects
_used_ to call title_and_id on a object when displaying it in it's
management screen, but the current release of Zope constructs the id and
title of an object by using it's id and title separetly. Principia Drafts
made use of the call to title_and_id to insert links to its UserFolder and
Session controls. As this now doesn't happen anymore, you will have to do
this yourself.

As long as you have access to Session objects, you can change users on a
Principia Draft object by calling it's users__draft__.manage_main method,
and reach the Session controls by calling its manage_approve__draft__
method. The URLS are:
http://yoursever.com/Zope/Draft/users__draft__/manage_main and
http://yoursever.com/Zope/Draft/manage_approve__draft__

Martijn

Ps. Martijn, I am CCing to you for use in the FAQ. I know it still needs
editing..


--
M.J. Pieters, Web Developer
| Antraciet http://www.antraciet.nl
| Tel: +31-35-6254545 Fax: +31-35-6254555
| mailto:mj@antraciet.nl http://www.antraciet.nl/~mj
| PGP: http://wwwkeys.nl.pgp.net:11371/pks/lookup?op=get&search=0xA8A32149
------------------------------------------