I did not understand what WardCunningham was trying to tell me when we first talked about the Memento (Placeholder) idea. I therefore created this page that actually simulates the edit/view cycle. I demonstrated the meaning of the placeholder with this application at the WMS workshop. The Remove Placeholder Proposal shows that it was not explained good enough here on this wiki so far. I hope this "simulation" helps you to understand the concept better.
--ChristophSauer 2007-02-23
At the end of the page there are to variants of "edit" buttons. If you click on the edit buttons you will see the wiki markup code of the page below the line (it actually only forwards you to another wiki page displaying the code in nowiki markup, that's why it is a simulation).
If you click on "Easy Edit" you will see that the "Placeholder" markup is actually intended for the edit mode only, where it hides complicated code from the user. The user knows that there is a table, plugin, etc. He can move it around in edit mode, but will not be confused by it's markup he does not know (the gibberish code). Placeholders therefore have no formatting effect.
We therefore have to distinguish between "placeholder" markup and "plugin/macro/extension" markup (term is engine specific) in the future. The both terms where obviously confused. Placeholder is edit only and does not format any markup while a plugin markup indeed formats something to the output.
assuming <<x>> would be placeholder markup, [{x}] would be plugin markup.
edit area content: "Hello [{CapitalizePlugin text='World'}]" -> web page content: "Hello WORLD";
Placeholder hides the gibberish of the plugin code from the user in "easy edit mode":
edit area content: "Hello <<plugin 1>>" -> web page content: "Hello WORLD";
What the content of the placeholder should be has not yet been discussed. I guess this can be left to the implementation. For a user not familiar with the advanced features of a wiki engine this tells them that they should not think to much of it - just not removing it. If they want to touch it, they can use the native "edit" button.
Below this line there's the actual simulation: Assuming that creole would not contain tables as a element, the edit variants would display the table differently
The First Heading#
blablabla TheSimpsons
Heading 1 | Heading 2 |
---|---|
x1 | x2 |
My Addition With Creole#
blablabla Futurama
Heading 1 | Heading 2 |
---|---|
x1 | x2 |