Summary: line break keeping page store
Created: 2009-01-20 09:23
Status: Suspended
Category: Feature
Priority: 3

Description: With the current "page text in one line" page store format, it is hard to compare page data files visually and merge differences between them.

Compare/merge of page data files can be very useful after PmWiki updates to track changes in wikilib.d and merge them with local customizations. The same applies for maintaining similar content in multiple wikis.

There are great visual diff tools like KDiff3, Meld, Beyond Compare, WinMerge, CSDiff..., but without linebreaks, they are much less useful.

Therefore I suggest an additional/alternative PageStore format where line breaks in the page text are kept unencoded.

Maybe something similar to multipart MIME is suitable. Metadata in the headers, markup in the message parts. PhpWiki uses such a format at least for export/import.

Update 2009.02.05: A problem I missed in my initial proposal is that direct edits of the page file would break the revision history if the revision storage were implemented still with differences to the current revision. Therefore I withdraw my proposal until someone has a good idea how to solve this. Besides this, PageTopStore solves most of the problems.

That suggests that maybe this should be limited to a type of export, as well, instead of changing the default storage mechanism. --OtherMichael

That's available now, see PageTopStore. Even better - the recipe works bidirectional. --OliverBetz