Changes

Jump to navigation Jump to search
1,143 bytes added ,  15:39, 25 July 2022
no edit summary
This [[Module Library|XQuery Module]] contains functions for performing admin-centric operations that are restricted to such as managing database users with [[User Management|Admin Permissions]]. Existing users can be listed, and soon morelog data.
=Conventions=
All functions and errors in this module are assigned to the {{Code|<code><nowiki>http://basex.org/modules/admin}} </nowiki></code> namespace, which is statically bound to the {{Code|admin}} prefix.<br/>All errors are assigned to the {{Code|http://basex.org/errors}} namespace, which is statically bound to the {{Code|bxerr}} prefix.
=FunctionsDatabase Logs=
==admin:userslogs== {{Mark|Updated with Version 7.8.2:}} md5-encoded password added to output.
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|admin:userslogs||element(userfile)*}}<br/>{{Func|admin:userslogs|$db date as xs:string|element(userentry)*}}<br/>{{Func|admin:logs|$date as xs:string, $merge as xs:boolean|element(entry)*}}<br/>|-valign="top"
| '''Summary'''
|Returns an element sequence[[Logging]] data compiled by the database or HTTP server:* If no argument is specified, containing a list of all registered users along with their access permissions log files will be returned, including the file size and md5-encoded passwordsdate.<br/>* If a database {{Code|$dbdate}} is specified, users registered for the contents of a particular database single log file will be returned.<br/>The output of this function * If {{Code|$merge}} is similar set to true, related log entries will be merged. Please note that the [[Commands#SHOW_USERS|SHOW USERS]] commandmerge might not be 100% successful, as log entries may be ambiguous.|-valign="top"
| '''Examples'''
|
* {{Code|admin:userslogs()}} returns may return <code><user permissionfile size="admin834367"/>admin2015-01-23</userfile></code> if no additional users have been createda single log file exists.* {{Code|admin:userslogs() ! admin:logs("factbook".)}} returns lists the contents of all users that have been registered for the specified databaselog files.
|}
 
==admin:write-log==
 
{| width='100%'
|- valign="top"
| width='120' | '''Signatures'''
|{{Func|admin:write-log|$text as xs:string|empty-sequence()}}<br/>{{Func|admin:write-log|$text as xs:string, $type as xs:string|empty-sequence()}}
|- valign="top"
| '''Summary'''
|Writes a string to the database logs, along with current user data (timestamp, username). An optional log {{Code|$type}} can be specified. If omitted, the log type is {{Code|INFO}}.<br/>If the function is called from a database client, the IP will be logged. Otherwise, the string {{Code|SERVER}} will be logged.
|- valign="top"
| '''Errors'''
|{{Error|type|#Errors}} Type string contains whitespaces.
|}
 
==admin:delete-logs==
 
{| width='100%'
|- valign="top"
| width='120' | '''Signatures'''
|{{Func|admin:delete-logs|$date as xs:string|empty-sequence()}}
|- valign="top"
| '''Summary'''
|Deletes the log entries from the specified <code>$date</code>
|- valign="top"
| '''Errors'''
|{{Error|today|#Errors}} Today's log file cannot be deleted.<br/>{{Error|delete|#Errors}} An error occurred while deleting a log file.
|}
 
=Database Sessions=
==admin:sessions==
 
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|admin:sessions||element(session)*}}
|-valign="top"
| '''Summary'''
|Returns an element sequence with all currently opened database sessions, including the user nameusername, address (IP:port) and an optionally opened database.<br/>The output of this function is similar to and the [[Commands#SHOW_SESSIONS{{Command|SHOW SESSIONS]] }} commandis similar.|-valign="top"
| '''Examples'''
|
|}
=Errors=admin:logs== {| class="wikitable" width='"100%'"|-| ! width='120' "110"| '''Signatures'''Code|{{Func|admin:logs||element(file)*}}<br/>{{Func|admin:logs|$date as xs:string|element(entry)*}}<br/>Description|-valign="top"| '''Summary'''|Returns [[Logging]] data compiled by the database or HTTP server.<br/>If no argument is specified, a list of all log files will be returned, including the file size and date.<br/>If a {{Code|$datedelete}} is specified, the contents of |An error occurred while deleting a single log file will be returned. An empty sequence will be returned if no logging data exists for the specified date.|-valign="top"| '''Examples'''|* {{Code|admin:logs()today}} may return <code><|Today's log file date="2013cannot be deleted.|-01-23" sizevalign="834367top"/></code> if a single log file exists.* |{{Code|for $i in admin:logs() return admin:logs($i/@date)type}} lists the contents of all log files|Type string contains whitespaces.
|}
=Changelog=
 
;Version 9.2
 
* Updated: {{Function||admin:write-log}}: type string may contain more characters
 
;Version 9.0
 
* Updated: error codes updated; errors now use the module namespace
 
;Version 8.3
 
* Updated: {{Function||admin:write-log}}: optional log type added
 
;Version 8.2
 
* Added: {{Function||admin:delete-logs}}
 
;Version 8.0
 
* Added: {{Function||admin:write-log}}
* Deleted: admin:users (renamed to {{Function|User|user:list-details}}).
;Version 7.8.2
* Updated: [[#admin:users{{Function||admin:users]]}}: md5-encoded password added to output.* Updated: {{Function||admin:logs}}: represent name of log files as string value; {{Code|$merge}} argument added.
The Module was introduced with Version 7.5.
 
[[Category:XQuery]]
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu