webserverinfo
webserverinfo
ITEM
,
RESULT

The webserverinfo statement retrieves additional information about the web server and the current browser request.

Parameters

This statement has two parameters:

item – specifies what additional information should be retrieved.

result – field or variable where the retrieved information will be placed.

Description

This statement retrieves additional information about the web server and the current browser request. This statement only works on Panorama X Server, and only when an external web server is being used (see Using an External Web Server). For example, this code could be used to find out what external web server software is running:

    local serverSoftware
    webserverinfo "SERVER_SOFTWARE",serverSoftware
    // variable serverSoftware will contain something like --> Apache/2.4.48 (Unix)

The webserverinfo( function can also retrieve the same information, like this:

    let serverSoftware = webserverinfo("SERVER_SOFTWARE")

The available items that can be retrieved include:

- QUERY_STRING – The information (if any) following the “?” in the URL for this request (for example `ColoradoHotels~byCity~Aspen`).

- SERVER_SOFTWARE – The name and version of the information server answering the query (for example `Apache/2.4.48 (Unix)`).

- SERVER_ADDR – The IP address of the server for this URL (for example `207.35.76.24`).

- SERVER_ADMIN – The administrators e-mail address for this server (if it has been set up. (for example `webmaster@myserver.org`).

- SERVER_NAME – The servers host name, DNS alias or IP address. (For Apache the name appearing on the relevant ServerName directive (may be in the general sec- tion or a section) (for example `www.myserver.com)`).

- SERVER_PORT – The port number on this server to which this request was directed (for example `80`).

- SERVER_SIGNATURE – The HTML string that may be embedded in the page to identify this host (for example `Apache/1.3.29 Server at jim-reas- computer.local Port 80`).

- SERVER_PORT – The port to which this request was directed (for example `80`).

- REMOTE_ADDR – The IP address of the host making this request (for example `207.35.76.27`).

- REMOTE_PORT – The port number used by the remote host when making this request (for example `4325`).

- REQUEST_METHOD – The method used for this request for HTTP “GET”, HEAD" or “POST” (for example `GET`).

- HTTP_ACCEPT – The MIME types the requestor will accept as defined in the HTTP header (for example `* / *`).

- HTTP_ACCEPT_ENCODING – The compression types the requestor will accept as defined in the HTTP header (for example `gzip, deflate;q=1.0, identity;q=0.5, *;q=0`).

- HTTP_ACCEPT_LANGUAGE – The LANGUAGE types the server is requested to accept as defined in the HTTP header and typically used for content negotiation (for example `en-us`).

- HTTP_CONNECTION – The type of connection as defined in the HTTP header (for example `keep-alive`).

- HTTP_HOST – The base URL of the host (for example `www.myserver.com`).

- HTTP_REFERER – The URL of the page that made this request. If linked from e-mail or manually entered this value is NULL. (Depending on your server settings this may be disabled, in which case the value will always be NULL. Also, many browsers are removing or limiting the information provided by this item.) (for example `http://www.samplesite.com/ stuff.html`).

- HTTP_USER_AGENT – The browser id or user-agent string identifying the browser (nominally defined by RFC 1945 and RFC 2068). For a list of current browsers see: http:// www.zytrax.com/tech/web/browser_ids.htm (for example `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)`).

Note: Some of these options may not be available on all servers.

See Also

- Panorama Server -- sharing a database across multiple computers, or even across the entire internet.
- abortifstructurelocked -- Check if database structure is locked, if it is, notify user and stop program.
- addremotehost -- makes a remote host available to this computer.
- adjustservervariable -- adjusts the value of a server variable. This is an "atomic" operation, so it is multi-user friendly.
- adjustservervariable( -- adjusts the value of a server variable. This is an "atomic" operation, so it is multi-user friendly.
- Advanced Server Settings -- Panorama X Server settings for advanced users.
- alerttimestampmismatches -- display mismatched time stamps.
- assignservervariable -- assigns a value to a permanent variable on the server. If the server variable does not already exist, it will be created.
- Automatic Record Numbering in a Shared Database -- generating unique numbers across multiple users.
- bonjour( -- returns a list of available hosts.
- bonjourserversenabled( -- returns true if client access to bounjour servers (on local network) is enabled.
- bookmarkshareddatabase -- saves the local location of the current shared database.
- Bulk Data Transformations on Shared Databases -- using formulafill, propagate, etc. in a shared environment.
- cgilink( -- creates a domain independent URL for another CGI action on the same server.
- cgilinknewwindow( -- creates a domain independent link for another CGI action on the same server that opens a new browser window.
- cginavlink( -- creates a domain-independent navigation link for the current record in this database.
- cginavlinknewwindow( -- creates a domain-independent navigation link (to a new browser window) for the current record in this database.
- Changing the Design of a Shared Database -- modifying database fields, forms and/or procedures.
- checkserverconnection -- checks to see if the specified server is connected.
- checkserverconnection( -- checks to see if the specified server is connected.
- checkserversynchronization -- checks the synchronization of the current database.
- checkstructurelock -- Check if database structure is locked, if it is, notify user and stop program.
- Client/Server Debug Instrumentation -- using instrumentation with Panorama X server and clients.
- clientimportallocaterecords -- contacts the server to allocate new records when importing or appending new data.
- clientimportuploaddata -- contacts the server to upload and insert new records to the server when importing or appending new data.
- cloakeddatabasename( -- converts the regular "uncloaked" database name into the internal "mangled" name used on the server.
- connecttoserver -- reconnects the current database to the server (after the dropserver statement has been used).
- Controlling and Monitoring the Server Connection -- overriding automatic server connection behavior.
- Creating a Shared Database -- convert a single user database into a shared database.
- databaseoptionsdialog -- opens the standard Database Options dialog.
- dbserverdomain( -- returns the server domain for the database.
- defineservervariable -- defines the value of a permanent variable on the server. If the variable already exists, it is not touched.
- deletewebtemplate -- deletes the web template (a dictionary) associated with a form (if any).
- disconnectedserver -- takes the current database offline without contacting the server.
- downloaddatabasefromserver -- downloads a database file from a Panorama server.
- downloaddatafromserver -- asynchronously downloads pre-calculated binary data from a Panorama server.
- downloadrecord -- downloads the current record from the connected server.
- downloadrecordwithwarning -- downloads the current record from the connected server, with a warning if the record is currently locked.
- dropallshareddatabases -- drops the connection to all shared databases. Panorama uses this when the client is about to quit, could also be used if you know you are about to go offline.
- dropserver -- disconnects the current database from the server.
- encodeurlfragment( -- encodes text so that it can be used in the fragment portion of a URL (the portion after the # symbol).
- encodeurlhost( -- encodes text so that it can be used in the host portion of a URL (for example www.host.com).
- encodeurlpassword( -- encodes text so that it can be used in the password portion of a URL.
- encodeurlpath( -- encodes text so that it can be used in the path portion of a URL (the portion after the host name, but before any ? symbol).
- encodeurlquery( -- encodes text so that it can be used in the query portion of a URL (the portion after the ? symbol).
- encodeurluser( -- encodes text so that it can be used in the user name portion of a URL.
- enterprisecall -- calls a procedure in a server database, opening and closing the database if necessary.
- forcelockrecord -- immediately locks the current record.
- forcesynchronize -- force synchronizes the local database with Panorama Server (downloads all records, not just recently modified ones).
- forcesynchronizeall -- force synchronizes all open databases.
- forceunlockallrecords -- immediately unlocks all records in the current database.
- forceunlockdatabaserecord -- immediately unlocks an arbitrary record in the specified server database.
- forceunlockrecord -- immediately unlocks the current record.
- getserverlog -- retrieves information from one or more server logs.
- getserverlog( -- retrieves information from one or more server logs.
- getwebtabletemplate -- converts a web table template (created by the Text Export Wizard) into the format compatible with the HTMLDataTable statement.
- getwebtabletemplate( -- converts a web table template (created by the Text Export Wizard) into the format compatible with the HTMLDataTable statement.
- getwebtemplate -- retrieves the web template (a dictionary) associated with a form (if any).
- getwebtemplate( -- retrieves the web template (a dictionary) associated with a form (if any).
- getwebtemplatetext -- retrieves the text of the web template (a dictionary) associated with a form (if any).
- getwebtemplatetext( -- retrieves the text of the web template (a dictionary) associated with a form (if any).
- grabwebformitems -- grabs multiple web form items and stuffs the values into fields and/or variables.
- hostdatabases -- downloads a list of available databases on a Panorama X Server.
- hostdownload -- downloads a shared file to this computer, prompting the user for the location.
- hostedfiles( -- returns a list of open databases associated with a specified host (server).
- HTML Export -- custom exports into an HTML file.
- htmlarraytable -- generates an HTML table from an arrray.
- htmldatamerge -- uses a template to generate HTML you want from a database.
- htmldatatable -- generates an HTML table from selected data in the current database.
- htmldecode( -- converts HTML text into regular text by converting any special HTML entities (`&`, `©`, etc.) into the corresponding characters.
- htmlencode( -- converts standard text into HTML text by converting any special characters into the equivalent HTML entities.
- htmlextractimages -- extracts the image URLs from an HTML page.
- htmlextractlinks -- extracts the links from an HTML page.
- htmlformitemnames -- returns a list of form input elements (*INPUT* tags, etc.) within an HTML page.
- htmltablecell( -- extracts the data from a cell in an HTML table.
- htmltablecellexists( -- returns true if an HTML table contains the specified cell, false if it doesn't.
- htmltablecellraw( -- extracts the data from a cell in an HTML table (including tags, if any).
- htmltableheight( -- calculates the height (number of rows) in an HTML table.
- htmltablerow( -- extracts the data from a row in an HTML table.
- htmltablerowraw( -- extracts the raw data (including tags, if any) from a row in an HTML table.
- htmltabletoarray -- converts an HTML table into a text array.
- htmltablewidth( -- calculates the width (number of columns) in an HTML table.
- info("runningonserver") -- returns true if code is running on Panorama X Server, false if running on client.
- info("serverconnectionstatus") -- returns the status of the connection between this database and the server.
- info("serverupdate") -- returns true if the server update option is currently turned on (this is the default).
- info("unsharedrecordid") -- returns the minimum ID for unshared records.
- Installing and Launching Panorama Server -- instructions for getting Panorama Server up and running, as well as best practices for configuring system settings on a server computer.
- installpanoramacgi -- installs Panoramax.cgi for use with external web server.
- Introduction to Panorama X Team Server -- using a server extends the reach of Panorama beyond a single computer to a network of connected computers, or even across the entire Internet. This topic introduces the concepts needed to understand the operation of the Panorama X Team Server system, including multi-user database sharing and database web publishing.
- letservervariable -- creates a server variable and assigns a value to it.
- listwebtables -- generates a list of web tables (generated by the Text Export wizard) in the specified database.
- listwebtables( -- returns the list of web tables (generated by the Text Export wizard) in the specified database.
- listwebtemplates -- retrieves a list of web templates in the specified database, if any.
- listwebtemplates( -- retrieves a list of web templates in the specified database, if any.
- lockcurrentrecord( -- attempts to lock the current record, returns true if successful, false if failed.
- lockedrecordlist -- returns a list of records locked in the current database.
- lockorstop -- attempts to lock the current record. If the record is currently locked by another user, the procedure stops with an error
- lockrecord -- attempts to lock the current record, and waits if it is currently locked by another user.
- Logging Server Activity -- recording server activities for later analysis.
- Looking up Data Directly from the Server -- local in-memory vs. server lookups.
- Manually Uploading a Quick Patch to the Server -- uploading a procedure or form.
- openserverfile -- opens a database (used on the server).
- panoramaxservercgiurl( -- returns the URL associated with a Panorama X server cgi.
- panoramaxservers( -- returns an array of available Panorama servers.
- panoramaxserverurl( -- returns the URL associated with a Panorama X server.
- Permanently Deleting a Database from the Server -- remove a database from the server.
- Permanently Detaching a Shared Database from the Server -- unshare a shared database.
- Record Locking and Editing Shared Data -- coordinating data entry across multiple simultaneous users.
- Record Locking in Procedure Code -- implicit and explicit management of record locking.
- recordislocked( -- tests whether the current record is locked on this client.
- remotepanoramaxservers( -- returns the names of all Panorama X servers that are remotely accessible from this computer.
- removeremotehost -- makes a remote host unavailable to this computer.
- renderwebform -- renders a Panorama web form into HTML, merging data into the template as necessary.
- renderwebform( -- renders a Panorama web form into HTML, merging data into the template as necessary.
- renderwebtable -- renders a web table using records selected with WebSelect in the current database.
- renderwebtable( -- renders a web table using records selected with WebSelect in the current database.
- Restricting Server Access -- limiting Panorama X Server access to authorized users.
- resynchronize -- synchronizes the local database with Panorama Server. This is the same as choosing Synchronize from the File menu.
- retrywebform -- retries a web form that has missing or invalid data.
- savewebtemplate -- saves a web template (a dictionary) associated with a form.
- Server Administration Wizard -- this wizard is used to monitor the operation of Panorama servers (both local and remote servers can be monitored), including monitoring server status, checking database status and downloading databases, and monitoring the status of user sessions.
- Server Variables (Shared Variables) -- sharing variable values across multiple users.
- serverformulafill -- fills a specified subset of records in a shared database.
- serverjournalcode -- writes code to journal file.
- serverjournalcurrentrecord -- writes the current record to journal file.
- serverlog -- adds a line to one or more server logs.
- serverupdate -- temporarily disables record locking and server updates when using a shared database.
- servervariable( -- returns the value of a server variable (a permanent variable on the server).
- sethiddenwebformitem -- adds a hidden field to a form on a web page.
- Setting up a Computer as a Panorama X Client -- instructions for setting up a new client computer so that it can access a Panorama X server.
- Shared Database Synchronization -- data synchronization across multiple users.
- shareddatabasebookmarkedpath( -- retrieves the local path and filename of a server database (if any).
- sharedusers( -- returns a list of users that are currently using the specified database.
- Sharing Icon & Context Menu -- operation of the sharing icon and pop-up menu (in the toolbar).
- startbonjour -- starts monitoring the local network for available hosts.
- startnewdatabasegeneration -- starts a new generation of the current database to the server (must be a shared database).
- stashwebformitems -- takes the variables created with the GrabWebFormItems statement and assigns them to fields in the current record.
- stopbonjour -- cancels monitoring of the local network for available hosts.
- synchronize -- synchronizes the local database with Panorama Server. This is the same as choosing *Synchronize* from the *File* menu.
- synchronizeall -- synchronizes all open databases.
- Synchronizing in Procedure Code -- customizing the data synchronization process.
- Temporarily Disconnecting a Shared Database from the Server -- pause database sharing.
- uncloakeddatabasename( -- converts the internal server name of a database to the regular "uncloaked" name.
- undefineservervariable -- destroys a server variable.
- uploaddatatoserver -- uploads binary data to the server.
- uploadfiletoserver -- uploads a file or folder to a Panorama server.
- uploadnewdatabasegeneration -- uploads a new generation of the current database to the server (must be a shared database).
- urldecode( -- decodes text that contains percent encoded characters.
- urlencode( -- converts text into a legal URL (by converting spaces into `%20`). WARNING: THIS FUNCTION IS OBSOLETE.
- Using an External Web Server -- instructions for using Panorama Server in conjunction with an external web server (for example Apache, Nginx, etc.).
- Web Cookies -- web cookies.
- Web Only Databases -- databases that are web published but not shared (no synchronization).
- webdatabaseadminpage -- generates a web admin HTML page for the current database.
- webdatabasetoform -- fills in an HTML form with database field values.
- webformallitems( -- returns a list of POST parameters passed from a form to the web server as a carriage return separated list.
- webformerrors( -- returns a list of errors that have been collected with the WebFormItemCheck statement.
- webformhiddenitems( -- returns a list of the hidden items in the web form submitted to this web procedure.
- webformitem -- sets a field or variable with the value of a POST web form item (used when processing a web query with Panorama Server).
- webformitembang -- sets the text generated by the webformitembang( function.
- webformitembang( -- returns an exclamation point, icon or symbol to indicate an error in a web form for data entry.
- webformitemcheck -- uses a formula to check the validity of a web form item.
- webformitemerror( -- returns the error for a specific web form item, if any (used when processing a web query with Panorama Server).
- webformitemnames -- returns a list of POST parameters passed from a form to the web server as a carriage return separated list.
- webformitemnames( -- returns a list of POST parameters passed from a form to the web server as a carriage return separated list.
- webformitems( -- returns a list of POST parameters passed from a form to the web server, including both visible and invisible items (but excluding the special items Panorama generates for its own internal use).
- webformlink( -- generates a link to a Panorama form on the current web site (the link will open in a new browser window).
- webformlinknewwindow( -- generates a link to a Panorama form on the current web site.
- webformmerge -- fills in an HTML form with database values (fields and variables).
- webformmissingfields( -- lists required fields that were not been entered into a web form.
- webformname( -- when processing data input into a web form, this function returns the name of the Panorama form associated with the web form (if any).
- webformrecordid -- adds a RECORD_ID hidden field to the HTML of a web form.
- webformselection -- selects data based on input from a web form. The web form must have fields that match the database fields.
- webformtodatabase -- updates the current database with information from the web form that was just submitted.
- webformvisibleitems( -- returns a list of the visible items in the web form submitted to this web procedure.
- weblink( -- builds an HTML link tag
- weblinknewwindow( -- builds an HTML link tag
- webmerge -- merges an external HTML template file with fields and variables from the current record.
- webselect -- selects data on web server using a formula.
- webthisrecordkey -- makes a key for use with the WebURLSelect statement to specify the current record.
- webthisrecordkey( -- makes a key for use with the WebURLSelect statement to specify the current record.
- weburlfind -- finds a record based on keys in a URL.
- weburlselect -- selects one or more records based on keys in a URL.
- Working with Sharing Disruptions -- dealing with network & power outages, disconnections, and other anomalies.
- Working With Summary Records in a Shared Database -- summary records are not shared between users.
- xtag( -- generates an HTML/XML tag.

History

Version | Status | Notes
10.2 | Updated | Carried over from Panorama 6.