Changes

Jump to navigation Jump to search
850 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:sessionswrite-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:sessionsdelete-logs|$date as xs:string|elementempty-sequence(session)*}}|-valign="top"
| '''Summary'''
|Returns an element sequence with all currently opened sessions, including Deletes the user name, address (IP:port) and an optionally opened database.log entries from the specified <code>$date<br/code>The output of this function is similar to the [[Commands#SHOW_SESSIONS|SHOW SESSIONS]] command.|-valign="top"| '''ExamplesErrors'''|* {{CodeError|today|admin:sessions()#Errors}} may e.gToday's log file cannot be deleted. return <codebr/><session user="admin" address="127{{Error|delete|#Errors}} An error occurred while deleting a log file.0.0.1:6286" database="factbook"/></code>
|}
==admin:logs=Database Sessions=
{{Mark|Updated with Version 7.8.2==admin:}} represent name of log files as string value; {{Code|$merge}} argument added.sessions==
{| width='100%'
|-valign="top"
| width='120' | '''Signatures'''
|{{Func|admin:logssessions||element(filesession)*}}<br/>{{Func|admin:logs|$date as xs:string|element(entry)*}}<br/>{{Func|admin:logs|$date as xs:string, $merge as xs:boolean|element(entry)*}}<br/>|-valign="top"
| '''Summary'''
|Returns [[Logging]] data compiled by the an element sequence with all currently opened database or HTTP server.<br/>If no argument is specified, a list of all log files will be returnedsessions, including the file size username, address (IP:port) and datean optionally opened database.<br/>If a {{Code|$date}} is specified, The output of this function and the contents of a single log file will be returned.<br/>If {{CodeCommand|$mergeSHOW SESSIONS}} command is set to true, related log entries will be mergedsimilar.|-valign="top"
| '''Examples'''
|
* {{Code|admin:logssessions()}} may e.g. return <code><file sizesession user="admin" address="127.0.0.1:6286" database="834367factbook"/>2013-01-23</code> if |} =Errors= {| class="wikitable" width="100%"! width="110"|Code|Description|- valign="top"|{{Code|delete}}|An error occurred while deleting a single log file exists.* |- valign="top"|{{Code|for $today}}|Today's log in admin:logs() return admin:logs($log)file cannot be deleted.|- valign="top"|{{Code|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: [[#admin:logs{{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