[pmwiki-users] Edit page extensions
Joachim Durchholz
jo at durchholz.org
Mon Apr 25 07:19:29 CDT 2005
Hi all,
I just stumbled over PITS00308, and had some ideas in the vein of Pm's
original request, namely design a framework with the proper hooks so
that recipes can easily insert whatever is needed.
For general amusement and (maybe) inspiration, here's my idea how this
could look like. I've considered wiki administrators and recipe authors
alike, and while I hope it's a good design, I'm pretty sure there are
lots of things to improve :-)
If anybody cares to reply, please phrase your points so that it's clear
whether that means the admin or the recipe author side of things.
Sketch for an edit page framework
---------------------------------
From the proposals, I see that many require additional page elements. A
recipe author hence would have to provide for page elements and name them.
Display
-------
The order that extensions are displayed is important for usability. My
first idea was to have something similar to the way that Markup()
priorises rules, but that would be too alien to administrators. So let's
place everything into an administrative wiki page (say, EditPage), ready
for editing by administrators.
Recipes should be able to determine whether an edit element is optional
or required. Optional elements not mentioned on EditPage are left out,
required elements are tacked on at the end. (A "New Page Name" button
would be optional, the "wikitext" and "save" buttons would be required
to ensure that the wiki administrator doesn't lock himself and everybody
else out from editing wiki pages.)
Workflow
--------
In some cases, edit elements will be too large to be conveniently
displayed on one page. (For examples, an advanced "move page to another
group" recipe might display all links that a page has, and have a
checkbox that, if checked, will cause the recipe to change the group
name part of the link. That list might become very long.)
For this reason, recipes must be able to call out to a separate page.
The called-out page will have write access to all the input fields of
the edit page (that's the usual technical by-product of getting input
from sessions with an HTTP browser), which is good since the recipes
must be able to read and write the wikitext, with all the changes that
the user already made to it.
Layout
------
Some edit elements may be inline (buttons, single-line input fields),
others may be block elements (wikitext).
Otherwise, normal wiki layout should apply.
Integration with PmWiki core
----------------------------
The PmWiki core should name all the edit page elements that it uses, so
that the admin can leave out or replace what he wants to customise. The
liste of core edit page elements that I see is (*very* tentative names):
title, guibuttons, textedit*,
author, minoredit, savebutton*, previewbutton, resetbutton, tips
The items with a star are those that should be made required.
Going beyond editing
--------------------
The framework would be good for creating other kinds of pages beyond
those for editing. Applications that I can see are:
* Comment functions
* In a single-author wiki, most action links could be replaced with an
"Administration" link that leads to a page with all the
edit/rename/delete/attributes/whatever functions that require write
access; that page could be done using the same framework.
* In general, pages that are built from a wiki page.
Related work
------------
The form guide system seems to aim in a similar direction.
Regards,
Jo
More information about the pmwiki-users
mailing list