SQLPage documentation

The two most important concepts in SQLPage are components and parameters. This page documents all the components that you can use in SQLPage and their parameters. Use this as a reference when building your SQL application.

components

alert
A visually distinctive message or notification.
card
A grid where each element is a small card that displays a piece of data.
chart
A component that plots data. Line, area, bar, and pie charts are all supported. Each item in the component is a data point in the graph.
csv
A button that lets the user download data as a CSV file. Each column from the items in the component will map to a column in the resulting CSV.
datagrid
Display small pieces of information in a clear and readable way. Each item has a name and is associated with a value.
dynamic
A special component that can be used to render other components, the number and properties of which are not known in advance.
form
A series of input fields that can be filled in by the user. The form contents can be posted and handled by another sql file in your site. The value entered by the user in a field named x will be accessible to the target SQL page as a variable named $x. For instance, you can create a SQL page named "create_user.sql" that would contain "INSERT INTO users(name) VALUES($name)" and a form with its action property set to "create_user.sql" that would contain a field named "name"."
hero
Display a large title and description for your page, with an optional large illustrative image. Useful in your home page, for instance.
http_header
An advanced component that can be used to create redirections, set a custom caching policy to your pages, or set any HTTP header. If you are a beginner, you probably don't need this component. When used, this component has to be the first component in the page, because once the page is sent to the browser, it is too late to change the headers. Any valid HTTP header can be used as a top-level parameter for this component. HTTP headers are additional pieces of information sent with responses to web requests that provide instructions or metadata about the data being sent — for example, setting cache control directives to control caching behavior or specifying the content type of a response.
list
A vertical list of items. Each item can be clickable and link to another page.
shell
Personalize the "shell" surrounding your page contents. Used to set properties for the entire page.
steps
Guide users through multi-stage processes, displaying a clear list of previous and future steps.
table
A table with optional filtering and sorting. Unlike most others, this component does not have a fixed set of item properties, any property that is used will be rendered directly as a column in the table.
text
A paragraph of text. The entire component will render as a single paragraph, with each item being rendered as a span of text inside it, the styling of which can be customized using parameters.

The "http_header" component

An advanced component that can be used to create redirections, set a custom caching policy to your pages, or set any HTTP header. If you are a beginner, you probably don't need this component. When used, this component has to be the first component in the page, because once the page is sent to the browser, it is too late to change the headers. Any valid HTTP header can be used as a top-level parameter for this component. HTTP headers are additional pieces of information sent with responses to web requests that provide instructions or metadata about the data being sent — for example, setting cache control directives to control caching behavior or specifying the content type of a response.

Top-level parameters

Access-Control-Allow-Origin

Specifies which origins are allowed to access the resource in a cross-origin request, used for implementing Cross-Origin Resource Sharing (CORS).

Cache-Control

Directives for how long the page should be cached by the browser. Set this to max-age=N to keep the page in cache for N seconds.

Content-Disposition

Provides instructions on how the response content should be displayed or handled by the client, such as inline or as an attachment.

Location

Specifies the URL to redirect the client to, usually used in 3xx redirection responses.

Set-Cookie

Sets a cookie in the client browser, used for session management and storing user-related information.

Example 1

Set cache control directives for caching behavior. In this example, the response can be cached by the browser and served from the cache for up to 600 seconds (10 minutes) after it is first requested. During that time, even if the cached response becomes stale (outdated), the browser can still use it (stale-while-revalidate) for up to 3600 seconds (1 hour) while it retrieves a fresh copy from the server in the background. If there is an error while trying to retrieve a fresh copy from the server, the browser can continue to serve the stale response for up to 86400 seconds (24 hours) (stale-if-error) instead of showing an error page. This caching behavior helps improve the performance and responsiveness of the website by reducing the number of requests made to the server and allowing the browser to serve content from its cache when appropriate.

SELECT 
    'http_header' as component,
    'public, max-age=600, stale-while-revalidate=3600, stale-if-error=86400' as Cache-Control;

Example 2

Redirect the user to another page. In this example, the user is redirected to a file named another-page.sql at the root of the website. The current page will not be displayed at all. This is useful in particular for content creation pages that contain only INSERT statements, because you can redirect the user to the page that lists the content after it has been created.

SELECT 
    'http_header' as component,
    '/another-page.sql' as Location;