====== Listusergroup Plugin ======
---- plugin ----
description: Displays the users from one or more groups with options (e.g. link to homepage) via a table. Group members attributes and their order can be defined, Table can have a header. Email and homepage can be shown as link. Homepage can have an icon. List can be filtered by existing homepages.
author : richig_vienna
email : richard.gfrerer@gmx.net
type : Syntax
lastupdate : 2020-12-21
compatible : 2018-04-22,2020-07-29
depends :
conflicts :
similar : groupusers
tags : groups, listing, users
downloadurl: https://github.com/richig-vienna/DokuWiki-ListUsergroup-Plugin/zipball/master
bugtracker : https://github.com/richig-vienna/DokuWiki-ListUsergroup-Plugin/issues
sourcerepo : https://github.com/richig-vienna/DokuWiki-ListUsergroup-Plugin
donationurl:
----
===== Installation =====
Search and install the plugin using the [[plugin:plugin|Plugin Manager]], which points to latest version of the plugin. Refer to [[:Plugins]] on how to install plugins manually.
===== Examples/Usage =====
There is currently no demo available.
{{listusergroup>group=user,admin;class=ul;show=home,user,fullname,groups,header,email;link=user,email}}
Above definitions create a table with all members from group 'user' and 'admin'.
Table's CSS class is 'ul'.
Order for 'Show' is relevant ('header' may be anywhere and creates a header for the table):
- 1st show 'home' icon
- 2nd show 'login name'
- 3rd show full name
- 4th show comma-separated list of the groups of the user
- 5th show email
Link 'user' and 'email' creates a link to members homepage and a 'mailto:'.
{{listusergroup>group=user,admin;class=ul;show=existinghome,user,fullname,header,email;link=user,email}}
Above definitions create a table with all members from group 'user' and 'admin'.
Table's CSS class is 'ul'.
Order for 'Show' is relevant ('header' may be anywhere and creates a header for the table):
- 1st show 'home' icon ('existinghome' selects only members with an existing homepage.)
- 2nd show 'login name'
- 3rd show full name
- 4th show email
Link 'user' and 'email' creates a link to members homepage and a 'mailto:'.
{{listusergroup>group=admin;class=pagelist;show=header,fullname,user,home}}
Above definitions create a table with all members from group 'admin'.
Table's CSS class is 'pagelist'.
Order for 'Show' is relevant ('header' may be anywhere and creates a header for the table):
- 1st show full name
- 2nd show 'login name'
- 3rd show show 'home' icon
No links are created.
{{listusergroup>group=admin;show=email,fullname,user}}
Above definitions create a table with all members from group 'admin'.
No table's CSS class is given.
Order for 'Show' is relevant (no header for the table):
- 1st show email
- 2nd show full name
- 3rd show 'login name'
No links are created.
{{listusergroup>group=user;show=user,groups}}
Above definitions create a table with all members from group 'user'.
No table's CSS class is given.
Order for 'Show' is relevant (no header for the table):
- 1st show 'login name'
- 2nd show comma-separated list of the groups of the user
No links are created.
===== Syntax =====
Basic syntax:
{{groupusers>opt=val[;opt=val,val,...;opt=...]}}
* opt ... key of a option's 'key-value(s) pair'
* val ... one or more value(s) of a option's 'key-value(s) pair'
* **opt** can be one of this:
* //group// --- comma-separated groups to list members of (e.g.: user, admin)
* //show// --- comma-separated attributes to show (order is relevant)
* //link// --- comma-separated list of attributes of to link (homepage, email)
* //class// --- use class for the table (e.g.: inline, pagelist, htCore, ul, diff, ...)
* val for **group** can be any existing user group e.g.:
* //user// --- select member of group 'user'
* //admin// --- select member of group 'admin'
* val for **show** can be one of this:
* //home// --- show 'home' icon (class is defined via configuration manager)
* //existinghome// --- show only members with an existing homepage (user:@USER@)
* //user// --- members login name
* //fullname// --- members full name
* //header// --- show header of table
* //email// --- members email
* //groups// --- comma-separated list of the groups of the user
* val for **link** can be one of this:
* //user// --- create link with mailto:
* //email// --- create link to members homepage (user:@USER@)
* val for **class** can be any existing css class e.g.:
* //inline//
* //pagelist//
* //htCore//
* //ul//
* //diff//
===== Configuration and Settings =====
In the configuration manager these settings can be set:
* //namespace// --- defines the usernamespace (e.g. 'user')
* //homeicon// --- current: two definitions configured
* //class="fa fa-home"// --- default
* //class="iconify" data-icon="mdi:home-account"//
===== CSS Settings =====
* The //table CSS class// can be definend by the option 'class'.
* The //home icon// can be selected via configuration manager.
===== Development =====
//[downloadable blocks, development comments]//
=== Change Log ===
{{rss>https://github.com/richig-vienna/DokuWiki-ListUsergroup-Plugin/commits/master.atom date}}
=== Known Bugs and Issues ===
=== ToDo/Wish List ===
* Add a way to sort by one or more specified columns.
* Add the logical operators to selection criteria e.g. (!admin && edit) to show users in edit group who are **not** an admin.
* Group header probably needs a title?
===== FAQ =====
===== Discussion =====
[[plugin:listusergroup:discussion]]