Document Portal formula URL parameters

Prev Next

Formula URL parameters—what's behind the button?

Document Portal runs from a button field: the Document Portal button is a Formula - Text field with Allow some HTML tags selected, and the Document Portal - Mobile button is a Formula - URL field. The following list shows each URL parameter and a brief description.

A few terms used on this page:

  • Parent table (sometimes called the master table)—the table the Document Portal button is on. Each parent record has its own set of files.

  • Details table (the child table)—the table that holds one record per file in Details mode. See Details Mode.

  • DBID—a table's unique identifier. In a formula, Dbid() returns the current table's DBID, and a table alias such as [_DBID_FILE_DETAILS] returns another table's. See Table aliases.

  • FID—a field ID, the number Quickbase gives each field. You can find it in the field's properties in Quickbase. Record ID# is always field 3.

How the wizard writes the formula

The installation wizard joins all parameters together and wraps them in Base64Encode( ) after request=. When you add or change a parameter, put it inside Base64Encode( ), before the closing );. When request= is used, any parameter outside it is ignored. Parameter names are not case-sensitive.

var Text url = "https://..."  // your Document Portal server URL, created by the installation wizard
& "request="
& Base64Encode(
"clientid=Q1234"
& "&appid=" & AppID()
& "&dbid=" & Dbid()
& "&cloud=s3"
& "&msid=" & [Record ID#]
& "&archivefiles=y"   // a parameter you added
);

"<a class='Vibrant Success OpenAsPopup POSTTempToken' style=\"\" data-height=600 data-width=800 data-refresh=true data-tempTokenDBID='" & Dbid() & "' href=\"" & $url & "\" >Document Portal</a>"

The samples in the table below show each parameter on its own, as it appears inside Base64Encode( ). The wizard also creates a Document Portal - Mobile button with the same parameters; change both. For a full example of a wizard formula, see Add more columns to display.

Parameters marked (required) must always be present. Others are required only in the case noted. If a required parameter is missing or not valid, the portal shows an error when it opens. See Document Portal messages and troubleshooting.

Parameter

Description

Sample in Formula

Authorization parameters
Indicates the client and application that is executing the Document Portal.

clientid (required)

The Quickbase Extensions client identifier assigned to your account during the setup process.  

"clientid=Q1234"

appid (required)

The Unique identifier for the Quickbase application. This is used to verify that your application is authorized to use Document Portal.

"&appid=" & AppID()

Cloud parameters
Indicates which Cloud the Document Portal should use, and other properties about the Cloud.

cloud (required)

Denotes the cloud that should be used. The following are the currently supported options:

- Amazon S3: s3 (or amazons3)

- Dropbox: db (or dropbox)

- Egnyte: eg (or egnyte)

- Quickbase: qb (or quickbase)

For Amazon S3, Dropbox, and Egnyte, we use the connection details saved to your account by the installation wizard, stored encrypted. To set them up, see Cloud provider overview. To change them later, see Manage saved credentials.

For Quickbase as a cloud, keep in mind that you must use Details Mode, which is discussed below. Quickbase cannot be utilized without details mode turned on.

"&cloud=s3"

or

"&cloud=db"

or

"&cloud=eg"

or

"&cloud=qb"

cloudbasedirectory

The directory/folder/bucket that we should be storing files in. This is always the first part of the path of the file in the Cloud.

If not given as a parameter, we use the directory we have on file. This parameter is to override the primary directory if needed.

"&cloudbasedirectory=testbucket"

cloudcustomkey

This parameter allows you to set the structure of the file's key when stored in your cloud. This only applies for Clouds where the key is able to be set, which is currently only Amazon S3.

For example, we default this in details mode to be:

{detailsdbid}_{detailsrecid}

So instead, if you wanted it to be the File Name + Today's date, you could set this to

{filename}_Today()

The following replacements are made:

  • {dbid} with the parent dbid (like the dbid in the dbid param)

  • {detailsdbid} with the details dbid (like the dbid in the detailsdbid param)

  • {detailsrecid} with the detail record's record id (details mode only)

  • {filename} with the name of the File

We always end the key with the file's original extension, regardless of custom key.

Note that in Details Mode, you must have the {detailsrecid} somewhere in your key. If you do not add it, we add it to the end of the key.

"&cloudcustomkey={filename}" (default for no details)

or

"&cloudcustomkey={detailsdbid}_{detailsrecid}" (default for details)

or

"&cloudcustomkey={filename}_" & ToText(Today()) (filename + today's date)

Parent table parameters

Indicates the table and record that you are launching the Document Portal from

dbid (required)

Unique identifier for a Quickbase table. This is used to denote where the parent record lives that all of the files are effectively "connected" to.

"&dbid=" & Dbid()

msid (required)

Record ID# (Field ID #3)—this allows us to relate the data back to your record properly.

If the key value for the table is not Record ID# (Field ID #3), then also pass in keyfid and keyval as discussed below.

"&msid=" & [Record ID#]

keyval

Used when the key field in the parent table is not Record ID#. If this is the case, then pass in the value of the Key Field.

"&keyval=" & [Project ID]

keyfid

Used when the key field in the parent table is not Record ID#. If this is the case, then pass in the Field ID# of the key field.

"&keyfid=12" //where 12 is the Field ID of [Project ID] from above.

clouddirectory

The value on the parent record which is the full directory path of where the files are stored.

The Document Portal uses the passed in value as the directory during usage—so you may pass in some custom value if you would like the files to be stored in a specific location.

For example, if you want to have the base directory of your files be "Project_RecordID#"—you can set this parameter to "&clouddirectory=Project_" & [Record ID#]

If you do decide to change the Cloud Directory to something custom, we highly recommend keeping the Record ID# somewhere in it, as this forces the folder to be unique.

"&clouddirectory=" & [Cloud Directory]

clouddirectoryfid (required for Amazon S3, Dropbox, and Egnyte, unless you pass clouddirectory)

The Field ID of the field that holds the Cloud Directory from the above parameter.

Only pass this in if you would like the Document Portal to handle the cloud directory for you—otherwise, this may overwrite whatever custom directory you have input.

Must be a normal text field.

If you are using a custom Cloud Directory instead of letting us populate the Cloud Directory, you should remove this parameter entirely.

"&clouddirectoryfid=11"

Details mode parameters

Indicates what mode the Document Portal should be in, and various details mode settings.

details

This denotes what mode you would like to use. The modes are as follows:

- No Details (not recommended) - Stores the files only on the cloud. Only the parent table is used. Cannot store additional details with the files.

- Details (recommended) - Stores the files in the cloud and on a child table in your application. Requires a details table (which is the child table.) Allows you to store additional data with each file as a record in Quickbase.

If you would like to use Details mode, set this to y (the wizard writes true, which also works). You also have to use the details parameters below. See Details Mode and Cloud Only / No Details Mode.

Note

Quickbase can only be used in Details Mode.

"&details=y"

or

"&details=n"

detailsdbid (required in Details mode)

The unique identifier of the Quickbase table that holds the file details.

"&detailsdbid=" & [_DBID_FILE_DETAILS]

detailskeyfid

If the key field on the details table is not Record ID# (Field 3)—then please pass in the Key Field's Field ID here.

"&detailskeyfid=10" //where 10 is the Field ID# of the Key Field on the details table

detailsrelatedkeyfid (required in Details mode)

The Relationship Field's Field ID on the Details table.

"&detailsrelatedkeyfid=8"

detailscloudkeyfid

The Field ID of the field on the Details Table which holds the Cloud Key.

Not needed when using Quickbase as a cloud.

"&detailscloudkeyfid=10"

detailsclist

This is the list of fields and their settings to display in the portal. This allows you to change the behavior of the control. The fields are delimited by periods, and the field settings are delimited by colons.

The field settings in order:

Field

Width

Read-Only

Fill-Out

Fill-Out Default Value

Related Proxy Choice Field

Required

Hidden

You may leave any field setting blank if desired, but in order to get down the list, you must supply the colons before that setting. For example, if you only want to set Fill-Out to true for field 5, you would need 5:::true

Field is the Field ID# of the field on the Details table that you would like to display in the portal as a column. We support most field types—the major exception is File Attachments.

Note - You can display Rich-Text fields in the portal, but they are always non-editable. We also cannot guarantee a good viewing experience based on the Rich-Text as it is place as-is in the portal.

Width controls the default size of the column when you open up the portal.

Read-Only stops the users from editing that field during edit. Keep in mind that if a field is non-editable on Quickbase, you cannot edit it in the portal regardless (like lookup fields, summary fields, formula fields)

Fill-Out allows you to ask the user to enter in a value for that field when the user is uploading file(s). This can be leveraged to have the user enter in specific information that is needed on the record.

Fill-Out Default Value allows you to set a default value for the Fill-Out form for this field. This is still changeable when the form pops up—but it is pre-filled so that if no changes are necessary, the flow can be sped up.

If you are using Fill-Out Default Value, and it is possible that there are colons or periods in the value, wrap the default fill-out value like this:

SearchAndReplace(SearchAndReplace([Field Name], ":", ";;;"), ".", ",,,")

We automatically re-replace triple semicolons with a normal colon, and triple commas with a period. This is because colons and periods are used to delimit the clist.

If you specify that the column is Read-Only but give it a Fill-Out Default Value, it still appears in the pop-up, but is not editable.

If you specify a Fill-Out Default Value but set Fill-Out to false, it is not included in the pop-up, but the value is still set when uploading the detail record.

Related Proxy Choice Field allows you to fill out relationships. The column field should be a reference field on some table, and then this proxy choice field would be some other field from that table that populates the drop-down. This mimics the way that choosing a related record on Quickbase works with proxy fields. Note that this does not give you unlimited choices—so on larger tables, you may not see the choice you would like.

Required allows you to force your end-users to fill in the field while using fill-out. This also removes the "blank" option from multiple-choice fields.

Hidden allows you to hide the column from the list. This can be used in conjunction with Read-Only, Fill-Out, and Default Value in order to effectively fill out details without showing them in the grid. Setting Read-Only to true, Fill-Out to false, and set a Default Value effectively sets the field on the record without showing anything in Document Portal.

For step-by-step examples, see Add more columns to display and Set default values for new records. Some field types are always read-only in the portal; see Add more columns to display.

"&detailsclist=8.19.20"

-- include details fields 8, 19, and 20

or

"&detailsclist=7:500:false:true:" & [Account Number] & ".19"

--include details fields 7 and 19, where 7's column should be 500 px wide, is not read-only, should be filled out on new files uploaded, and is pre-set to the value of [Account Number] on the parent record when new files are uploaded.

Note

If you are using the above example, and it is possible that there are colons or periods in the value, wrap the default fill-out value like this:

SearchAndReplace( SearchAndReplace( [Account Number], ":", ";;;"), ".", ",,,")

We automatically re-replace triple semicolons with a normal colon, and triple commas with a period. This is because colons and periods are used to delimit the clist.

or

"&detailsclist=8.42:::true:1:6"

--include details fields 8 and 42, where 42 should be filled out on new files uploaded, and is pre-set to 1 (in this case it is a reference field, so the first record on that table), and the proxy field to show choices in the portal is field 6 on the related table

detailsfafid (required with Quickbase as the cloud)

The Field ID of the field on the Details Table that holds the File Attachment.

Currently only used with using Quickbase as a cloud.

"&detailsfafid=11"

detailsnamefid

The Field ID of the field on the Details Table that holds the Name of the File Attachment. This is an optional field, however, if you would like to see the File Name in Quickbase, we suggest you use this.

"&detailsnamefid=7"

detailssizefid

The Field ID of the field on the Details Table that holds the Size of the file in Kilobytes. This is an optional field, however, if you would like to see the Size of the file in Quickbase, we suggest you use this.

Additionally, if you are using Quickbase as a cloud and you would like to see the File Size inside the Document Portal, you must use this. Quickbase does not return File Sizes natively, so we need to use a field to store them.

"&detailssizefid=8"

detailstypefid

The Field ID of the field on the Details Table that holds the File's Type (extension). This is an optional field, however, if you would like to see the file type (extension) in Quickbase, we suggest you use this.

Note - We grab the File Type from the file's name—so if you upload a file with no extension in the name, we cannot grab what type the file is.

"&detailstypefid=9"

detailsuploadedfid

The Field ID of the field on the Details Table that holds whether a File has been uploaded or not. This is an optional field, however, if you would like this to be denoted in Quickbase as a checkbox, we suggest you use this.

Note - We expect this to be a checkbox field, as we populate this with either a 1 or a 0 depending on if a file has been uploaded or not.

"&detailsuploadedfid=10"

detailspreserve

When set to y, when files are deleted/archived, we do not clear out the values for the file's Key, Name, Size, or Type—only switching Uploaded to false. This allows a breadcrumb trail in Quickbase to show you which exact files may have been deleted/archived. See Archive Mode.

"&detailspreserve=y"

detailsdeleterecord

Details mode only. When set to y, deleting a file in the portal also deletes its record in the details table. The Confirm Delete window then also says NOTE: This will also delete the Quickbase records where the files are kept.

When not set, deleting a file keeps the record and clears its file information (see detailspreserve). In Archive Mode, the file is archived and the record is deleted. See Archive Mode.

Defaults to n.

"&detailsdeleterecord=y"

detailsnosize

Set to y to turn off the File Size column. Defaults to n.

"&detailsnosize=y"

grouplist

This is the list of fields that you would like to use to display groups. The fields are delimited by periods. Grouping precedence is in left to right order.

If a field in the list is not inside the detailsclist, then it is grouped without being displayed as a column.

"&grouplist=15.17"

livegrouping

If set to y, this allows the user to change grouping conditions while using the Document Portal. You can drag a column header to the top of the grid to add it to the grouping.

Defaults to n.

"&livegrouping=y"

Settings parameters

Various settings for the Document Portal to fit your specific desired use-case.

archivefiles

If set to y, the Document Portal archives instead of deleting. This means that when a user attempts to delete files, instead of being deleted, they are put into a sub-folder for archived files in your cloud. This makes it so that you can "remove" files from the Document Portal, but they are still kept in your cloud storage.

This option is unavailable for Quickbase as a Cloud—you can use file revisions on Quickbase itself for this purpose.

Defaults to false. See Archive Mode.

"&archivefiles=y"

archivefolder

When archivefiles is on, this is the sub-folder name we place the archived files into.

Keep in mind that this is the subfolder from the folder we're placing files into already. For example, if we are placing the files into the folder bxxxxxxxx_4, the archive folder could be bxxxxxxxx_4/Deleted

Defaults to "Deleted"

"&archivefolder=ArchivedFiles"

defaultsortfid

If set to a Field ID that is used in the detailsclist, it automatically sorts by that column. If the Field ID is not included in the clist, it is ignored. If not supplied, the Document Portal defaults to sorting by File Name.

"&defaultsortfid=14"

pagesize

Denotes the number of rows allowed on a single page in the file grid.

Defaults to 20.

"&pagesize=15"

theme

Sets the "theme" of the Document Portal. The current choices are as follows:

  • "light" - Portal Light, primarily blue.

  • "dark" - Portal Dark, primarily blue.

  • "studio" - Studio Light, primarily orange.

  • "studiodark" - Studio Dark, primarily orange.

  • "spread" - Spreadsheet Light, primarily green.

  • "spreaddark" - Spreadsheet Dark, primarily green.

  • "industrial" - Industrial Light, primarily gray.

  • "industrialdark" - Industrial Dark, primarily gray.

  • "rp" - Rebecca Purple Light, primarily purple.

  • "rpdark" - Rebecca Purple Dark, primarily purple.

Defaults to "light". Users can change the theme in the Settings window; see User interface.

"&theme=dark"

or

"&theme=studio"

or

"&theme=rp"

hostedpreviews

When set to y, previews are loaded through our server instead of directly from your cloud. Use this if previews fail for an Amazon S3 bucket whose name contains a period (.). Egnyte previews always load this way. Not used with Quickbase as the cloud.

Previews loaded this way support common image types (such as JPG, PNG, and GIF) and PDF files; SVG files can't be previewed.

Defaults to n. See Previewing files.

"&hostedpreviews=y"

allowdelete

This parameter allows you to set the default behavior of the Document Portal for the users—being able to delete/archive files. There are two parts to this:

- y/n : if you give it y, it allows the users to delete/archive. If you give it n, it disallows users to delete/archive.

However, the users can then change this in the settings while they are using the portal. So, if you wish to "lock" it to allow/disallow,

- l (L) : if you also pass in l, it locks the portal to whatever you have set.  

We suggest either setting this to y or nl. The other options are supported, but there are few cases where you would want them.

Defaults to y. Write the values in lowercase. See End-user permissions.

Default to no delete/archive, but allow users to turn delete/archive on:

"&allowdelete=n"

Default to delete/archive, but allow users to turn delete/archive off:

"&allowdelete=y"

Default to no delete/archive, and force this behavior:

"&allowdelete=nl"

Default to delete/archive, and force this behavior:

"&allowdelete=yl"

allowupload

This parameter allows you to set the default behavior of the Document Portal for the users—being able to upload files. There are two parts to this:

- y/n : if you give it y, it allows the users to upload. If you give it n, it disallows users to upload.

However, the users can then change this in the settings while they are using the portal. So, if you wish to "lock" it to allow/disallow,

- l (L) : if you also pass in l, it locks the portal to whatever you have set.  

We suggest either setting this to y or nl. The other options are supported, but there are few cases where you would want them.

Defaults to y. Write the values in lowercase. See End-user permissions.

Default to no upload, but allow users to turn upload on:

"&allowupload=n"

Default to upload, but allow users to turn upload off:

"&allowupload=y"

Default to no upload, and force this behavior:

"&allowupload=nl"

Default to upload, and force this behavior:

"&allowupload=yl"

allowreplace

This parameter allows you to set the default behavior of the Document Portal for the users—being able to replace/overwrite files. There are two parts to this:

- y/n : if you give it y, it allows the users to replace/overwrite. If you give it n, it disallows users to replace/overwrite.

However, the users can then change this in the settings while they are using the portal. So, if you wish to "lock" it to allow/disallow,

- l (L) : if you also pass in l, it locks the portal to whatever you have set.  

We suggest either setting this to y or nl. The other options are supported, but there are few cases where you would want them.

Defaults to y. Write the values in lowercase. See End-user permissions.

Default to no replace/overwrite, but allow users to turn replace/overwrite on:

"&allowreplace=n"

Default to allow replace/overwrite, but allow users to turn replace/overwrite off:

"&allowreplace=y"

Default to no replace/overwrite, and force this behavior:

"&allowreplace=nl"

Default to replace/overwrite, and force this behavior:

"&allowreplace=yl"

allowedit

This parameter allows you to set the default behavior of the Document Portal for the users—being able to edit file records in details mode. There are two parts to this:

- y/n : if you give it y, it allows the users to edit. If you give it n, it disallows users to edit.

However, the users can then change this in the settings while they are using the portal. So, if you wish to "lock" it to edit,

- l (L) : if you also pass in l, it locks the portal to whatever you have set.  

We suggest either setting this to y or nl. The other options are supported, but there are few cases where you would want them.

Defaults to y. Write the values in lowercase. See End-user permissions.

Default to disable editing, but allow users to turn editing on:

"&allowedit=n"

Default to allow editing, but allow users to turn editing off:

"&allowedit=y"

Default to no editing, and force this behavior:

"&allowedit=nl"

Default to allow editing, and force this behavior:

"&allowedit=yl"

allowgridedit

This parameter allows you to set the default behavior of the Document Portal for the users—being able to grid edit file records in details mode. There are two parts to this:

- y/n : if you give it y, it allows the users to use grid edit. If you give it n, it disallows users to edit.

However, the users can then change this in the settings while they are using the portal. So, if you wish to "lock" it to allow/disallow grid editing,

- l (L) : if you also pass in l, it locks the portal to whatever you have set.  

We suggest either setting this to y or nl. The other options are supported, but there are few cases where you would want them.

Defaults to y. Write the values in lowercase. See End-user permissions.

Default to no grid edit, but allow users to turn editing on:

"&allowgridedit=n"

Default to allow grid edit, but allow users to turn grid editing off:

"&allowgridedit=y"

Default to no grid editing, and force this behavior:

"&allowgridedit=nl"

Default to allow grid editing, and force this behavior:

"&allowgridedit=yl"