[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