DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:htmlokay

HtmlOKay Plugin

Compatible with DokuWiki

  • 2024-02-06 "Kaos" unknown
  • 2023-04-04 "Jack Jackrum" no
  • 2022-07-31 "Igor" unknown
  • 2020-07-29 "Hogfather" unknown

plugin Controls HTML access, so that only designated users and groups may use HTML at one of four access levels

Last updated on
2017-12-07
Provides
Admin, Action
Repository
Source
Conflicts with
htmlok

Similar to htmlok

Tagged with acl, configuration, groups, html, htmlok, users

Installation

Search and install ​the plugin using the Extension ​Manager. Or download from gitHub: https://github.com/turnermm/htmlOKay/archive/master.tar.gz and install manually.

Note: When installing from the extension manager, you might get a message that the extension has not been installed. This is probably not true; reload the extension manager and check to see if the extension is listed. Then if it is not, you can install it by using the manual install tab of the extension manager and the above github url.

If you install from the command line, you must make the plugin's conf/access directory writable by the web server.

Instructions

For instructions on use, you can go to the plugin's htmlOKay web site or consult either the pdf file or the ebook which comes bundled with the htmlOKay plugin in the docs directory.

A backup of the web site is at: web.archive.org.

Briefly

To begin with, to use this plugin, the htmlok configuration option must be set to true. The documentation for the htmlok option warns of the security risk in setting this option to true. The htmlOKay plugin is designed to address those risks by enabling HTML access only to restricted users and pages and at different levels.

These restriction are set in the plugin's access manager, where the different levels of HTML access can be set on files and namespaces for different users.

Note on performance

Access can be restricted by page and by namespace. That is, you can set HTML access permissions on one or more files in a namespace, or you can choose the ALL option which sets the permissions for all of the pages in a selected namespace. Whichever method you choose, you cannot set different permissions for the pages of a namespace: all of the pages in a namespace will have the same permissions whether or not you choose the ALL option.

You should try to use the ALL option only for those namespaces where all of the pages are going to be using HTML. The reason for this is that the plugin advises the browser not to cache pages with htmlok markup, forcing the browser to re-fetch these pages each time they are accessed. This is necessary to assure that Dokuwiki retains htmlOKay's access settings between page loads.

It might be good policy to designate selected namespaces for HTML usage for selected users. Then it is not necessary to reset the permissions each time a new page is created.

Refresh Button

More than one access level can be applied to the same namespace. For visitors to such a namespace, htmlOKay uses the the display_levelto determine the access level at which to display the pages in that namespace.

Because DokuWiki caches its pages, sometimes the HTML displayed to a visitor may be that of the last cached version of a page, instead of the version assigned to the display level. Because DokuWiki caches its pages, the HTML displayed to a visitor may be that of the last cached version of a page, instead of the version assigned to the display level. To get around this problem if you see it as a problem, you can create a refresh button, to re-parse the page after the developer has logged out:

button.php
    <form class="button" method="get" action=<?php  echo DOKU_BASE ."/doku.php"?>>
      <div class="no">
        <input type="hidden" name="do" value="show" />
        <input type="hidden" name="refresh" value="yes" />
        <input type="hidden" name="id" value="<?php echo $ID; ?>" />
        <input type="submit" value="Refresh" class="button"  />
      </div>
    </form>

Change Log

plugin/htmlokay.txt · Last modified: 2023-10-30 22:49 by Klap-in

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