DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:fastwiki

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
plugin:fastwiki [2015-07-20 12:46] – [Template/Plugin developers: Integrating Fastwiki] ziothplugin:fastwiki [2024-02-11 03:40] (current) zioth
Line 6: Line 6:
 email      : elifenton@this_is_not_a_real_email.fake email      : elifenton@this_is_not_a_real_email.fake
 type       : action, javascript type       : action, javascript
-lastupdate : 2015-07-19 +lastupdate : 2024-02-10 
-compatible : Hrun+compatible : Hrun, Detritus, Elenor of Tsort, Frusterick Manners, Greebo, Hogfather, Igor, Jack Jackrum, Kaos
 depends    :  depends    : 
-conflicts  :  +conflicts ckgedit, codemirror, qna 
-similar    : sectionedit+similar    : sectionedit, quickedit, inlineeditor
 tags       : section, editing, ajax, fast, preview, navigation tags       : section, editing, ajax, fast, preview, navigation
  
-downloadurl: http://github.com/zioth/dokuwiki_fastwiki/archive/master.zip+downloadurl: https://github.com/zioth/dokuwiki_fastwiki/archive/master.zip
 bugtracker : https://github.com/zioth/dokuwiki_fastwiki/issues bugtracker : https://github.com/zioth/dokuwiki_fastwiki/issues
 sourcerepo : https://github.com/zioth/dokuwiki_fastwiki sourcerepo : https://github.com/zioth/dokuwiki_fastwiki
Line 21: Line 21:
 ---- ----
  
-This plugin is part of my effort to make the DokuWiki experience smoother and faster.+This plugin is part of my effort to make the DokuWiki experience smoother and faster. It provides full-featured inline section editing, and dramatically speeds up editing, edit previews and page loads.
  
-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.
  
  
Line 38: Line 38:
 This feature should be compatible with all templates, and all plugins except those that change section editing behavior. If you discover any incompatibilities, please [[https://github.com/zioth/dokuwiki_fastwiki/issues|report a bug]]. This feature should be compatible with all templates, and all plugins except those that change section editing behavior. If you discover any incompatibilities, please [[https://github.com/zioth/dokuwiki_fastwiki/issues|report a bug]].
  
 +If you are using the [[.:discussion|discussion]] plugin, be aware that the inline edit toolbar will have reduced functionality. This is due to the way discussion works.
  
 ===== Inline Previews ===== ===== Inline Previews =====
Line 50: Line 51:
 //Setting name: fastpages// //Setting name: fastpages//
  
-When this setting is enabled, changing page modes -- for example, from viewing a page to editing it, or from site index to revision history -- happens without reloading the page. Only the center content area is changed, and there is a loading animation while the new content is being loaded.((Complete list of supported actions: show, edit, draft, history, recent, revisions, show, subscribe, backlink, index, profile, media, diff.))+When this setting is enabled, changing page modes -- for example, from viewing a page to editing it, or from site index to revision history -- happens without reloading the page. Only the center content area is changed, and there is a loading animation while the new content is being loaded.((Complete list of supported actions: show, edit, draft, history, recent, revisions, show, subscribe, backlink, index, profile, media, diff, showtag))
  
-Enabling this feature also fixes a bug in DokuWiki. You will no longer get an "are you sure you want to leave" alert when all you did was move the cursor around in the editor. You have to actually change something.+Enabling this feature fixes a bug in DokuWiki. You will no longer get an "are you sure you want to leave" alert when all you did was move the cursor around in the editor. You have to actually change something. This feature also works with the [[.:tags|tags plugin]], which makes that plugin behave better with many templates than it does now.
  
 This feature might not be compatible with all templates, and it won't work with any plugin which changes content outside the main content area. This feature might not be compatible with all templates, and it won't work with any plugin which changes content outside the main content area.
  
  
-===Plugin compatibility issues=== +=== Plugin compatibility issues === 
-  * None yet.+  * CKGedit doesn't work with sectionedit: https://github.com/zioth/dokuwiki_fastwiki/issues/24 
 +  * CodeMirror doesn't work with sectionedit: https://github.com/zioth/dokuwiki_fastwiki/issues/18 
 +  * [[.:qna|QNA]] has conflicts with header syntax: https://github.com/zioth/dokuwiki_fastwiki/issues/33 
 +**Fixed**: 
 +  * edittable fixed on 2015-09-16: https://github.com/zioth/dokuwiki_fastwiki/issues/23 
 +  * [[.:hidden|hidden]] fixed on 2015-12-25. 
 +  * [[.:imgpaste|imgpaste]] fixed on 2017-11-25. https://github.com/zioth/dokuwiki_fastwiki/issues/22 
 +  * [[.:struct|struct]] fixed on 2018-01-02. https://github.com/zioth/dokuwiki_fastwiki/issues/25 
  
 ===Supported templates=== ===Supported templates===
 Templates have a variety of behavior when switching view modes. Some hide the sidebar in some modes. Some have links while others have buttons. I have made an effort to support many of the most popular templates. Feel free to request others, if you find that your favorite template doesn't behave correctly. Templates have a variety of behavior when switching view modes. Some hide the sidebar in some modes. Some have links while others have buttons. I have made an effort to support many of the most popular templates. Feel free to request others, if you find that your favorite template doesn't behave correctly.
  
-These templates support all functionality. That means that if you end up in some other mode (for example, by manually adding ?do=edit to the url)DokuWiki will still be super-fastreplacing content with AJAX requests.+These templates support transitions from every supported mode to every other supported mode. For example, if your url includes "?do=edit" and you switch to "show" modethe plugin will be invokedloading the new page quickly.
  
   * [[template:prsnl10|prsnl10]]   * [[template:prsnl10|prsnl10]]
   * [[template:vector|vector]]   * [[template:vector|vector]]
  
-These templates support all functionality from the "show" page. If you manually change the page, or reach another page through some unsupported link, the plugin will be disabled.+These templates load all transitions quickly, provided that you start in "show" mode. If your url includes "?do=edit" or other action, the plugin will be disabled.
  
   * [[template:starter|starter]], and templates based on it:   * [[template:starter|starter]], and templates based on it:
Line 76: Line 85:
   * [[template:arctic|arctic]]   * [[template:arctic|arctic]]
   * [[template:scanlines|scanlines]]   * [[template:scanlines|scanlines]]
 +  * [[template:bootstrap3]]
 +  * [[template:dokubook]]
  
-=== Requests for Template Support === 
-  * None yet. 
  
 === Templates with built-in support === === Templates with built-in support ===
Line 97: Line 106:
  
 When this feature is enabled, entirely new pages load without reloading the page. For example, switching from a:b:c to a:b:d will not reload. However, the page will reload if there is an ACL difference between the two pages. That is, if you have the right to edit the current page but not the next page, the whole page will reload. When this feature is enabled, entirely new pages load without reloading the page. For example, switching from a:b:c to a:b:d will not reload. However, the page will reload if there is an ACL difference between the two pages. That is, if you have the right to edit the current page but not the next page, the whole page will reload.
 +
 +If anything other than the main page content changes when you switch pages, do not enable this setting (but see the other fastshow settings for how to limit it). For example, if the sidebar has page-specific content, that content will _not_ be reloaded on a page transition.
  
 The browser history will reflect the page change. Since Microsoft Internet Explorer 9 and below can't manipulate browser history, those browsers are automatically excluded from this feature. The browser history will reflect the page change. Since Microsoft Internet Explorer 9 and below can't manipulate browser history, those browsers are automatically excluded from this feature.
  
 === Setting: fastshow_same_ns === === Setting: fastshow_same_ns ===
-In most wikis, the sidebar, header or footer is namespace-specific. If this is the case for your wiki, enable this setting, so that the feature is only used when switching to another page in the same namespace.+In some wikis, the sidebar, header or footer is namespace-specific. If this is the case for your wiki, enable this setting, so that the feature is only used when switching to another page in the same namespace.
  
 === Setting: fastshow_include === === Setting: fastshow_include ===
Line 110: Line 121:
  
 === Template Support === === Template Support ===
-Support for this feature is the same as for //fastpages//. However, the [[template:starterbootstrap|starter bootstrap]] template does not support this feature, because it uses non-standard code for the table of contents.((starterbootstrap developer: See "Integrating Fastwiki" below if you want to remove this restriction)).+Support for this feature is the same as for //fastpages//. However, the [[template:starterbootstrap|starter bootstrap]] template does not support this feature, because it uses non-standard code for the table of contents.((starterbootstrap developer: See [[.:fastwiki:integration|Integrating Fastwiki]] if you want to remove this restriction)).
  
 === Comments Support === === Comments Support ===
-If your wiki uses the [[plugin:discussion|Discussion plugin]] or [[plugin:disqus|Disqus plugin]], it should work fine, since the discussion is part of the main content area and this reloaded with the page change. However, if your template inserts a comments section outside the main content area, it will not be updated on page change. You can update your comments section by hooking into this plugin's API (see //Integrating Fastwiki//, below).+If your wiki uses the [[plugin:discussion|Discussion plugin]] or [[plugin:disqus|Disqus plugin]], it should work fine, since the discussion is part of the main content area and thus reloaded with the page change. However, if your template inserts a comments section outside the main content area, it will not be updated on page change. You can update your comments section by hooking into this plugin's API (see [[.:fastwiki:integration|Integrating Fastwiki]]).
  
  
Line 119: Line 130:
 //Setting names: preload, preload_batchsize, preload_per_page// //Setting names: preload, preload_batchsize, preload_per_page//
  
-Want a super speed boost? Enable this feature (along with //fastshow//) to pre-load links on the page. By the time the user clicks on a link, it may already be loaded, resulting in an instantaneous page switch. Pre-loads are remembered when you switch pages (within the limitations of //fastshow// settings), so for a heavily linked wiki, the site will get faster the longer you stay on it.+Want a super speed boost? Enable this experimental feature (along with //fastshow//) to pre-load links on the page. By the time the user clicks on a link, it may already be loaded, resulting in an instantaneous page switch. Pre-loads are remembered when you switch pages (within the limitations of //fastshow// settings), so for a heavily linked wiki, the site will get faster the more you use it.
  
 Warning: This feature will significantly increase network usage. A typical wiki might require 500kb for the first page loaded and 50kb for each subsequent page. With this setting enabled, you'll load an additional 5-20kb per link on the page. If you average 30 links a page (including sidebars), that's 320kb per page instead of just 50kb. Note that the additional size will not affect page load time; preloads don't happen until after the page is loaded. Warning: This feature will significantly increase network usage. A typical wiki might require 500kb for the first page loaded and 50kb for each subsequent page. With this setting enabled, you'll load an additional 5-20kb per link on the page. If you average 30 links a page (including sidebars), that's 320kb per page instead of just 50kb. Note that the additional size will not affect page load time; preloads don't happen until after the page is loaded.
 +
 +Warning: This feature will break page-count statistics. If you keep track of how many users visit each page, do not enable this feature.
  
 Support for this feature is the same as for //fastshow.// Support for this feature is the same as for //fastshow.//
 +
 +**Note:** This feature will only be available if your php installation includes the curl library.
  
 === Setting: preload_batchsize === === Setting: preload_batchsize ===
Line 141: Line 156:
  
 Please let me know if you add support to your template. Please let me know if you add support to your template.
 +
 +==Templates with 3rd party integration==
 +  * [[template:sprintdoc]]
 +
 +==Plugins with 3rd party integration==
 +  * [[plugin:dropfiles]]
 +  * [[plugin:struct]]
 +  * [[plugin:imgpaste]]
  
  
 ===== TODO ===== ===== TODO =====
  
-==== Known Issues ==== +**[[https://github.com/zioth/dokuwiki_fastwiki/issues?q=is%3Aopen+is%3Aissue+label%3Abug|Known Issues]]**
-  In the unlikely event that you get a permission denied error when loading partial content, you'll just get a blank main content area. +
-  Saving section edits reloads all sections instead of just the one you changedThis one is hard to fix, because the "range" parameters of all sections on the page have to be modified. +
-  * After saving a section edit with //fastsave// enabled, the page scrolls to the top instead of staying on the section. +
-  If you save a page, then edit a section, the revision numbers are messed up, and the editor gives you a warning.+
  
-==== Future Plans ==== +**[[https://github.com/zioth/dokuwiki_fastwiki/issues?q=is%3Aopen+is%3Aissue+label%3Aenhancement|Future Plans]]**
-  Fast search. This will also give search a page id, which will fix a lot of sidebar issues and other problems that Doku's search creates. +
-  Cache frequently visited pages in localStorage, for even more speed! +
-  * Add preload configuration in a syntax plugin. This will be useful when the wiki editor knows that certain links are more likely to be clicked than others. +
-  * Keep a history of frequently clicked links on the server, so that we can pre-load those first and keep them around for longer.+
  
-==== No Plan to Fix ==== +**[[https://github.com/zioth/dokuwiki_fastwiki/issues?q=is%3Aissue+label%3Awontfix+is%3Aclosed|Features that won'be added]]**
-  The login, register and resendpwd actions aren't supportedThis is because these should probably be https, and I don'want to get in the way of future development in that area. +
-  The admin action isn't supported. Admin can make major changes to the page, including changing the template. It doesn't matter anyway, since usually only one user has access to admin.+
  
  
 ===== Changelog ===== ===== Changelog =====
  
-{{rss>http://github.com/zioth/dokuwiki_fastwiki/commits/master.atom date}}+{{rss>https://github.com/zioth/dokuwiki_fastwiki/commits/master.atom date}}
  
  
-===== Feature Requests =====+===== FAQ =====
  
 +==Where can I see it in action?==
 +You can try out the inline section editor at https://zioth.com/wiki/playground2 (username: demo. password: demo).
  
-===== FAQ =====+==How do I make my template/plugin work with fastwiki?== 
 +[[plugin:fastwiki:integration]]
  
 +==Why don't I see the preload setting?==
 +The deployment of PHP on your server has the curl library disabled.
  
-===== Discussion ===== 
  
-  * Would you mind if I need to see any example(site or screenshots)?+===== Discussion =====
  
-I'll try to get a screenshot up of the section edit feature [edit: done]The rest just looks like ordinary DokuWiki. My site doesn't have open registration, but you can try http://zioth.com/wiki/playground2 (username: demo. password: demo). Only that one page is open.+Hey Zioth was hoping to get ahold of you about some of your WRAP plugin extentionsIs there any way I can reach you? Thanks!
  
-If you have trouble getting it to work on your site, point me to your site and I'll take a look. Also tell me what template you're using, and which features aren't working. +Sure! You can reach me through my github page: https://github.com/zioth/contactme
- --- [[user>zioth|zioth]] //2015-07-19 04:05//+
plugin/fastwiki.1437389209.txt.gz · Last modified: 2015-07-20 12:46 by zioth

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