DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:move

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Both sides next revision
plugin:move [2017-01-18 03:01]
rgleason
plugin:move [2020-09-09 16:21] (current)
MilchFlasche old revision restored (2020-06-06 11:25)
Line 6: Line 6:
 email      : michael@content-space.de  email      : michael@content-space.de 
 type       : admin, action, helper type       : admin, action, helper
-lastupdate : 2017-01-07 +lastupdate : 2018-04-30 
-compatible : Hrun, Detritus, "Elenor Of Tsort"+compatible : Greebo, Hrun, Detritus, "Elenor Of Tsort", Frusterick Manners, Hogfather
 depends    :  depends    : 
 conflicts  : autolink2 conflicts  : autolink2
Line 33: Line 33:
 **Warning**: This plugin does not update ACL rules. For example if you had an ACL rule that read-protected a certain wiki page this rule won't have any effect anymore after moving that page. **Warning**: This plugin does not update ACL rules. For example if you had an ACL rule that read-protected a certain wiki page this rule won't have any effect anymore after moving that page.
  
-Install the plugin using the [[plugin:plugin|Plugin Manager]] and the download URL above, which points to latest version of the plugin. Refer to [[:Plugins]] on how to install plugins manually.+Search and install the plugin using the [[plugin:extension|Extension Manager]]. Refer to [[:Plugins]] on how to install plugins manually.
  
 :!: **When updating an existing installation of this plugin in DokuWiki versions older than Release Summer 2015 "Detritus" it might be necessary to de-install the old plugin version first and re-install the new version thereafter.** Severe problems (e.g. inconsistent application menues with the old plugin screen combined with several unlogical [admin] buttons) have been observed after upating the plugin. For instance when originally installed on Dokuwiki release //2014-09-29 "Hrun"// and updated onto Dokuwiki release //2015-08-10 "Detritus"//. :!: **When updating an existing installation of this plugin in DokuWiki versions older than Release Summer 2015 "Detritus" it might be necessary to de-install the old plugin version first and re-install the new version thereafter.** Severe problems (e.g. inconsistent application menues with the old plugin screen combined with several unlogical [admin] buttons) have been observed after upating the plugin. For instance when originally installed on Dokuwiki release //2014-09-29 "Hrun"// and updated onto Dokuwiki release //2015-08-10 "Detritus"//.
  
-If, for any reason, you used an FTP client to upload pages, you should "hit" (open) them in a browser to be sure the index is refreshed, otherwise the move plugins will fail to work on the page, or worth, forget to update link on those page.+If, for any reason, you used an FTP client to upload pages, you should "hit" (open) them in a browser to be sure the index is refreshed, otherwise the move plugins will fail to work on the page, or worse, forget to update link on those page. 
 ===== Usage ===== ===== Usage =====
  
Line 69: Line 70:
  
 {{https://cloud.githubusercontent.com/assets/86426/2829070/4ec6c932-cf9e-11e3-8583-b046bd45c081.png?250| Screenshot}} {{https://cloud.githubusercontent.com/assets/86426/2829070/4ec6c932-cf9e-11e3-8583-b046bd45c081.png?250| Screenshot}}
- 
  
 ===== Support for other plugins ===== ===== Support for other plugins =====
Line 79: Line 79:
  
 Plugins not explicitly stating their compatibility are most probably not adjusted. Plugins not explicitly stating their compatibility are most probably not adjusted.
- 
-==== Technical Review for users ==== 
- 
-The move plugin uses the search index of DokuWiki to find pages that contain links to moved pages or media files and then uses DokuWiki's parser to identify all links to pages or media files in the affected pages and changes them if necessary. Whenever a page is modified, a new revision of the page is created (but changes are batched, so when you move many pages e.g. using the tree-based move manager you should still only see 1-2 new revisions per affected page). In contrast to a simple search and replace this can identify much more complex situation e.g. when a link is [[Foo Bar]] it will be found if the page foo_bar is moved and using DokuWiki's parser makes sure that e.g. code blocks or special plugin syntax is not modified. Plugins can also add support, so e.g. the syntax of the include plugin will also be adjusted accordingly. This structure should contribute to stability. Individual pages can be easily reverted using the builtin revert functionality of DokuWiki. 
- 
-When a page or namespace is moved are all the internal links in the document / book / parent namespace checked and changed with an option to undo? Is there a Yes/no? check feature?  
-  * Yes, all links should be adapted as you already noted (both relative links in the moved page as well as links to the moved page/media file). There is currently no such check feature. However, as the plugin is using DokuWiki's parser it should really only change links that actually point to the moved page/media file and nothing else. When a page is changed, a new revision is created so you can later inspect the changes and, if necessary, revert them. 
- 
-Are other housekeeping chores associated with " moving" such as media. What else is needed to have a clean move? 
-  * Both pages and media files have a list of revisions and saved, old versions in attic/media_attic respectively. These files need to be moved, too. Pages also have other metadata. Further, the search index needs to be adjusted (e.g. by re-indexing the page at the new location). The move plugin takes care of all that when you rename or move a page or media file. Depending on the plugins you are using there might be additional data to be moved. Plugins can add support for moving their data when a page is moved using the move plugin, e.g. the struct plugin adapts its database when a page is moved. 
- 
-What happens to old revisions and recent changes? 
-  * Unordered List ItemOld revisions are moved together with the page (and a new revision reflecting the move is added). In the recent changes, two changes are added, documenting both the deletion at the old name and the creation at the new name. As only one change per page is displayed in the recent changes, this means that older changes of the page won't be displayed in the recent changes. 
  
  
Line 129: Line 116:
  
 Feel free to open a bug report if your plugin needs additional support from the move plugin. Feel free to open a bug report if your plugin needs additional support from the move plugin.
 +
 +===== Technical Background =====
 +
 +The move plugin uses the search index of DokuWiki to find pages that contain links to moved pages or media files and then uses DokuWiki's parser to identify all links to pages or media files in the affected pages and changes them if necessary. Whenever a page is modified, a new revision of the page is created (but changes are batched, so when you move many pages e.g. using the tree-based move manager you should still only see 1-2 new revisions per affected page).
 +
 +In contrast to a simple search and replace this can identify much more complex situations e.g. when a link is %%[[Foo Bar]]%% it will be found if the page foo_bar is moved and using DokuWiki's parser makes sure that e.g. code blocks or special plugin syntax is not modified.
 +
 +Plugins can also add support, so e.g. the syntax of the include plugin will also be adjusted accordingly.
 +
 +When using the admin interface to move whole namespaces or multiple pages and media files, an option to show a preview of the changes is available. You are encouraged to have a look at the preview to check that the plugin will do what you intended. Changes to individual pages can be easily reverted later using the builtin revert functionality of DokuWiki.
 +
 +Both pages and media files have a list of revisions and saved, old versions in attic/media_attic respectively. These files need to be moved, too. Pages also have other metadata. Further, the search index needs to be adjusted (e.g. by re-indexing the page at the new location). The move plugin takes care of all that when you rename or move a page or media file.
 +
 +Depending on the plugins you are using there might be additional data to be moved. Plugins can add support for moving their data when a page is moved using the move plugin, e.g. the struct plugin adapts its database when a page is moved.
 +
 +The plugin moves old revisions together with the page (and a new revision reflecting the move is added). In the recent changes, two changes are added, documenting both the deletion at the old name and the creation at the new name. As only one change per page is displayed in the recent changes, this means that older changes of the page won't be displayed in the recent changes, but can be seen on the page's individual "old revisions" view.
  
 ===== Issues and feature requests ===== ===== Issues and feature requests =====
  
 Please report bugs and feature requests in the [[https://github.com/michitux/dokuwiki-plugin-move/issues|issue tracker]]. Please report bugs and feature requests in the [[https://github.com/michitux/dokuwiki-plugin-move/issues|issue tracker]].
plugin/move.1484704892.txt.gz · Last modified: 2017-01-18 03:01 by rgleason