Smallest-Federated-Wiki
Smallest-Federated-Wiki copied to clipboard
Feature Candidate: Provide Public and private history control. Author may not want to show all evolution of thought, for artistic or legal reasons.
Provide Public and private history control. Author may not want to show all evolution of thought, for artistic or legal reasons.
It is possible to remove redundant information from the journal. I suggest this be a destructive delete that could be applied before publishing pages from (say) browser local storage. I would call it "condensing" the journal and offer "light", "heavy" and "complete" variations:
Light condensation would replace adjacent stings of actions with the single action that effects the same change. For example, moving an item up two and then up two more could be replaced with a single move up four. The date of the replacement would be the date of the last action in the condensed sequence.
Heavy condensation would replace all edits with a string of adds that add the final version of every item in the sequence and with the date of the last edit of the items. This would preserve a sense of the period of authorship but would discard all intermediate results. When forks are present, the heavy condense would preserve just enough forks to meet the attribution requirement of the cc-by-sa license.
Complete condensation would replace the whole journal with a single create action that creates the whole page at once. The date of the action would be the date of the condense operation. (Forks for attribution would be preserved or could be bundled into the create action in some less visible way.)
We don't yet merge changes from various forks. We should do the analysis of each variation to figure out how much we are giving up when we discard history.
Your idea of offering "light", "heavy" and "complete" variations sounds very complete and powerful for an author. One extra possibility would be to provide a version number with each edit so that people could reference a specific version. The version could be a increasing number for that page. Or it could be a SHA1 hash of the page, or just a date-time stamp.
Until now the index into the journal has been the reference number. When we start messing with the journal we'll have more bookkeeping to do.