Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| wiki:tabulum [2022/07/26 18:34] – [Configuration file] restless | wiki:tabulum [2022/07/27 16:22] (current) – removed restless | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Tabulum ====== | ||
| - | The spiritual successor to [[kioskwatch|KioskWatch]]. | ||
| - | |||
| - | \\ | ||
| - | |||
| - | {| style=“margin-left: | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“border-bottom: | ||
| - | |- | ||
| - | ! | || | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“border-bottom: | ||
| - | |- | ||
| - | ! | || | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“border-bottom: | ||
| - | |- | ||
| - | ! | || | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“text-align: | ||
| - | |- | ||
| - | ! style=“border-bottom: | ||
| - | |} | ||
| - | |||
| - | |||
| - | ==== Information about Tabulum ==== | ||
| - | |||
| - | In the Before Times™ (as I like to call them), we used KioskWatch, which handled web-based kiosks and tracking boards by automating Internet Explorer. | ||
| - | |||
| - | After experimenting endlessly with controlling Chrome or Edge with the [[https:// | ||
| - | |||
| - | |||
| - | == IE Mode is available, right? | ||
| - | |||
| - | No. IE Mode is [[https:// | ||
| - | |||
| - | |||
| - | == Only kiosks and tracking boards are supported == | ||
| - | |||
| - | Since these are meant for kiosks and tracking boards only a //single// browser window is supported. | ||
| - | |||
| - | If a page opens two windows at once... well... that's not suitable for kiosks or tracking boards. | ||
| - | |||
| - | |||
| - | == Why is there no screenshot on this page? == | ||
| - | |||
| - | There is no screenshot because, well, don't you know what a web page looks like? Imagine it full-screen. | ||
| - | |||
| - | |||
| - | == What's with the name? == | ||
| - | |||
| - | //Tabulum// is Latin for tablet, table, or a collection of ordered figures. | ||
| - | |||
| - | |||
| - | == Development information == | ||
| - | |||
| - | Tabulum was written with [[https:// | ||
| - | |||
| - | I picked Lazarus because I didn't have time to go through the motions of getting a new version of Delphi that had WebView2 components available because the time was short until this was being deployed, so I went with something I could write code in and not have to wait on purchase orders. | ||
| - | |||
| - | |||
| - | == Changes will be necessary == | ||
| - | |||
| - | Tabulum, being a new product, will require changes over time. If we can't do something with it now, it doesn' | ||
| - | |||
| - | ==== Configuration instructions ==== | ||
| - | |||
| - | First, note that Tabulum is compiled for 64-bit Windows //only// and only functions on Windows 10 or newer. | ||
| - | |||
| - | |||
| - | === Configuration file ==== | ||
| - | |||
| - | The application' | ||
| - | |||
| - | There are a number of sections in the configuration file: | ||
| - | |||
| - | * **'' | ||
| - | * **'' | ||
| - | * **'' | ||
| - | * **'' | ||
| - | * [[# | ||
| - | |||
| - | |||
| - | == [Configuration] section == | ||
| - | |||
| - | TODO | ||
| - | |||
| - | |||
| - | == [AllowedDomains] section == | ||
| - | |||
| - | Allowed domains is a simple enumerated list of regular expressions that should match //any// and //every// URI that users should be allowed to browse to. Any entry that has a valid match will work. | ||
| - | |||
| - | This means that you can put something very narrow, but make sure you account for things like subdomains or other URL arguments that may be embedded. | ||
| - | |||
| - | As an example: | ||
| - | |||
| - | [AllowedDomains] | ||
| - | 0=https?:// | ||
| - | 1=ebay\.com | ||
| - | |||
| - | This configuration would allow for sites like: | ||
| - | |||
| - | http:// | ||
| - | https:// | ||
| - | https:// | ||
| - | https:// | ||
| - | https:// | ||
| - | http:// | ||
| - | |||
| - | As you can see, the last two may not actually be something we want people to be able to go to... so we have to be careful about the PCREs we write. | ||
| - | |||
| - | |||
| - | == [AdminGroups] section == | ||
| - | |||
| - | Admin groups is a simple enumerated list of groups that are allowed to perform certain functions on the program (currently, only to close the program). | ||
| - | |||
| - | An example: | ||
| - | |||
| - | [AdminGroups] | ||
| - | 0=Administrators | ||
| - | 1=ISD Desktop ES ;The following are all domain groups, but the domain is not necessary | ||
| - | 2=ISD Desktop FS | ||
| - | 3=ISD Desktop SM | ||
| - | |||
| - | |||
| - | == [Authentication] section == | ||
| - | |||
| - | The authentication section specifies groups of settings that, taken together, handle the authentication to their particular site or page. | ||
| - | |||
| - | Each entry enumerates an authentication section, as described below. | ||
| - | |||
| - | |||
| - | == Authentication group sections == | ||
| - | |||
| - | Each authentication section holds the settings for one potential set of credentials for logging into a site. | ||
| - | |||
| - | The section headers are all of the format '' | ||
| - | |||
| - | [Authentication] | ||
| - | 0=LaunchICBMs | ||
| - | 1=DoomsdayDevice | ||
| - | | ||
| - | [Authentication_LaunchICBMs] | ||
| - | ... | ||
| - | | ||
| - | [Authentication_DoomsdayDevice] | ||
| - | ... | ||
| - | |||
| - | There are two different ways the section can go, depending on the authentication type in question: | ||
| - | |||
| - | \\ **Basic authentication** is the simpler traditional authentication built into the HTTP protocol. | ||
| - | |||
| - | ^ Name ^ Type ^ Description | ||
| - | | **AuthType** | ||
| - | | **AllowedPage** | ||
| - | | **Username** | ||
| - | | **Password** | ||
| - | | **Encrypted** | ||
| - | |||
| - | If the settings are properly included, the log will reflect that they have been included as a valid basic authentication setup. | ||
| - | |||
| - | \\ **Application authentication** is meant to allow users to log into pages that have their own bespoke authentication built into the application. | ||
| - | |||
| - | For this authentication, | ||
| - | |||
| - | ^ Name ^ Type ^ Description | ||
| - | | **AuthType** | ||
| - | | **AllowedPage** | ||
| - | | **Username** | ||
| - | | **Password** | ||
| - | | **Encrypted** | ||
| - | | **InjectJS** | ||
| - | | **TypeCreds** | ||
| - | | **CredString** | ||
| - | |||
| - | If the settings are properly included, the log will reflect that they have been included as a valid application authentication setup. | ||
| - | |||
| - | The order of operations is that first if an **InjectJS** script has been loaded, it will be executed against the page. This is pretty arbitrary JavaScript; it can do things like read and modify the DOM of the page, change settings, etc. You might be able to log into the application only using JavaScript, or you may not. It basically depends on the application. | ||
| - | |||
| - | **Please note** that if a page meets the criteria for your **AllowedPage** // | ||
| - | |||
| - | \\ | ||
| - | |||
| - | For both types of authentication, | ||
| - | |||
| - | \\ | ||
| - | |||
| - | Regarding the format for **CredString**, | ||
| - | |||
| - | Supported modifiers: | ||
| - | | ||
| - | + = Shift | ||
| - | ^ = Control | ||
| - | % = Alt | ||
| - | | ||
| - | Surround sequences of characters or key names with parentheses in order to | ||
| - | modify them as a group. | ||
| - | shifts all three characters. | ||
| - | | ||
| - | Supported special characters | ||
| - | | ||
| - | ~ = Enter | ||
| - | ( = Begin modifier group (see above) | ||
| - | ) = End modifier group (see above) | ||
| - | { = Begin key name text (see below) | ||
| - | } = End key name text (see below) | ||
| - | | ||
| - | Supported characters: | ||
| - | | ||
| - | Any character that can be typed is supported. | ||
| - | above with braces in order to send as normal text. | ||
| - | | ||
| - | Supported key names (surround these with braces): | ||
| - | | ||
| - | BKSP, BS, BACKSPACE | ||
| - | BREAK | ||
| - | CAPSLOCK | ||
| - | CLEAR | ||
| - | DEL | ||
| - | DELETE | ||
| - | DOWN | ||
| - | END | ||
| - | ENTER | ||
| - | ESC | ||
| - | ESCAPE | ||
| - | F1 | ||
| - | F2 | ||
| - | F3 | ||
| - | F4 | ||
| - | F5 | ||
| - | F6 | ||
| - | F7 | ||
| - | F8 | ||
| - | F9 | ||
| - | F10 | ||
| - | F11 | ||
| - | F12 | ||
| - | F13 | ||
| - | F14 | ||
| - | F15 | ||
| - | F16 | ||
| - | HELP | ||
| - | HOME | ||
| - | INS | ||
| - | LEFT | ||
| - | NUMLOCK | ||
| - | PGDN | ||
| - | PGUP | ||
| - | PRTSC | ||
| - | RIGHT | ||
| - | SCROLLLOCK | ||
| - | TAB | ||
| - | UP | ||
| - | | ||
| - | Follow the keyname with a space and a number to send the specified key a given | ||
| - | number of times (e.g., {left 6}). | ||
| - | |||
| - | |||
| - | |||
| - | ==== Testing instructions ==== | ||
| - | |||
| - | Tabulum is pretty straightforward. | ||
| - | |||
| - | ==== Logging ==== | ||
| - | |||
| - | {{: | ||
| - | |||
| - | The extensiveness of the logging is defined by the setting **DetailedLog** (see '' | ||
| - | |||
| - | If you have a problem, //please look at the logs.// | ||
| - | ==== Installation summary ==== | ||
| - | |||
| - | Installation of the app requires that MS Edge WebView2 components are installed from Microsoft. | ||
| - | |||
| - | Manual installation is not really necessary; there' | ||
| - | |||
| - | ^ Tabulum.exe | ||
| - | ^ WebView2Loader.dll | ||
| - | ^ EventMessages.dll | ||
| - | ^ EventCategories.dll | ||
| - | ^ Tabulum.ini | ||
| - | |||
| - | Place all these in a single directory, configure the program as above and run it. If properly configured, it should work fine. The user profile directory is made automagically. | ||
| - | ==== Previous versions ==== | ||
| - | |||
| - | This is the first public release of Tabulum. | ||



