Mailing List Archive

[Zope-PTK] PTK interface thoughts
Hi Guys,

Jens, Paul and I have done a little more thinking about the PTK UI. Here
is a summary of our ideas.

You can see a visual representation of these ideas at:

http://www.zope.org/Products/PTK/mockups/toolbox.html

Let us know what you think!

-Amos

--

Portal User Interface

Vision

The PTK UI should be simple and clear. It should not overwhelm
the user. It should be available to the user at all times.

In general a user will navigate the portal with the portal's
standard navigation controls. When they get to a page that they
want to change, they will use the PTK UI to perform their
management operations. Site browsing and managing will not be
distinct actions.

Components

The PTK UI consists of several visual components which occupy
the HTML page.

Toolbox

The toolbox is the users entry into PTK functions. It is
always available. It gives the user a context-sensitive list
of available actions. For example when viewing a page for
which a user has edit permissions, the toolbox would display a
'Manage page' link.

The toolbox should reassure the user by being as consistent
and clear as possible.

The toolbox consists of a number of 'Actions' which are HTML
links to perform management tasks. 'Actions' are grouped into
'Categories'. 'Categories' are usually identified by icons or
names and group actions into functional groups. For the first
revision of the PTK there will only be three categories which
represent 1. user related actions (e.g. login/logout, prefs),
2. current-object related actions (e.g. manage page), 3.
global or misc actions (e.g. undo, recent documents)

The toolbox communicates with Zope via a simple API. It is
expected that multiple toolbox implementations will be
available and some will make heavy use of Javascript and other
fancy stuff.

The proposed API is this:

toolbox_actions() -> a tuple of dicts

Each dict represents an action and includes these keys:

name -- <string> the action's name or label
url -- <string> the action's URL, either absolute or
relative
permission -- <string> the action's permission
category -- <string> the action's category

Note for the first revision, the category will be restricted
to one of the strings 'user', 'object' or 'global'.

The toolbox will call the 'toolbox_actions' method on the
current object, the siteobject, and the user object. It will
filter the actions based on the user's roles in the context
of the current object and will present the available
actions.

Desktop

The desktop is the main area of the page. The body of the page
located on the desktop. When performing management functions
forms are presented on the desktop.

Status Bar

The status bar is a small area of the page above the desktop
which presents messages to the user in response to management
functions.

For example, after managing a page, the status bar should say
something like, "Page successfully edited."

Everything else

Everything that is not toolbox, desktop or status bar includes
portal-specific headers, footers, and side bars. These areas of
the page brand the portal and provide navigation links.