====== 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]]