DokuWiki

It's better when it's simple

User Tools

Site Tools


devel:ideas:pagemoveng

PagemoveNG

This has been implemented as move plugin with a different approach, instead of using the instructions the handler is used directly, i.e. the plugin captures the parsed page content before instructions are generated in order to get the original page source.


One missing feature is an easy way to rename or copy, one or more wiki pages while having history, links and metadata preserved.

Finish https://github.com/chimeric/dokuwiki-plugin-pagemoveng (chimeric has withdrawn from software development) - you can find the ideas at http://www.freelists.org/post/dokuwiki/New-Pagemove-Plugin-Brainstorming and http://forum.dokuwiki.org/thread/4947.

The main structure is implemented, but the actual moving still isn't implemented. The reverse renderer for turning instructions back into syntax seems to work, but it seems to mess up whitespace a bit which might also be related to recent renderer changes. Perhaps also the instructions DokuWiki generates need to be changed to include the (full) original text in order to make the reverse rendering easier.

A way for plugins to move their data and to change their syntax is still missing, too.

Requirements

You definitely need to know PHP. This requires deep knowledge of DokuWiki parser internals so you should either be willing to dig into the code or be already familiar with DokuWiki. Being a somehow experienced programmer is probably helpful, too.

Difficulty

Hard - you can expect a lot of problems and difficulties. If you want to take a real challenge this is the task for you.

Mentors

The following people volunteered to “mentor” any new developers taking up this task by answering questions, giving tips and reviewing code:

Other resources

  • Thread about issues Dmitry Katsubo has with Cyrillic in page names with previous pagemove plugin.
  • editx plugin – able to rename a page but not links to that page
devel/ideas/pagemoveng.txt · Last modified: 2013-11-25 01:08 by Michitux

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki