Appfarm Documentation
Getting startedDocumentationCommunityAppfarm Create
  • Overview
  • Getting Started
    • What is Appfarm?
    • Key concepts
    • Quickstart
      • Speed intro
      • Step-by-step guide
    • Appfarm Showroom
    • FAQ
  • Appcademy
    • Learning paths
    • Appfarm Fundamentals
      • Intro Course
        • 1. Intro to No-Code and Appfarm
        • 2. Navigation in Appfarm Create
        • 3. What is Apps?
        • 4. Intro to UI Editor
        • 5. Data Model
        • 6. App Data
        • 7. Actions
        • 8. Tips and Tricks
        • 9. Intro to practical walkthrough
        • 10. Create a details view of a Project
        • 11. Create a Custom List
        • 12. Swipe and Delete
        • 13. Functionality for simple Create of Data
        • 14. Upload and Download Photos
        • 15. Input Dialog with Validation and Save
        • 16. Dashboard
        • 17. Summary
        • Quiz
      • User Interface Fundamentals
        • Container - Sectioning, Styling and Repeating
        • Conditional Styles
        • Motions
        • Responsive Design
        • Step-by-step workflow
        • Featured UI Components
        • Quiz
      • App Data Fundamentals
        • Data Source Filtering
        • App Variables and Runtime Properties
        • URL Parameters
        • Quiz
      • Actions & Logic Fundamentals
        • Event Handlers
        • Featured Action Nodes
        • Context Parameters
        • Quiz
      • Services Fundamentals
        • Introduction to Services
        • Setting up a Service
        • Scheduling a Service
      • Integration Fundamentals
        • The web request action node
        • Fetch data from an endpoint
        • Map data to a data source
        • Modify the response
        • Nested data mapping
        • Path parameters
        • Authentication
        • Send data to an endpoint
        • Quiz
      • User handling and permissions
        • Users and roles
        • Permissions
        • Creating users
        • Extending the User object class
        • Updating and deleting users
        • Unauthenticated access
        • Quiz
    • Appfarm Professional
      • User Interfaces
        • Featured UI Components
        • Concepts and Use Cases
      • Data Structures & Data Handling
        • Data Features
        • Search & Filters
        • Featured Action Nodes
        • GraphQL
      • Logic & Flow
        • Logical Concepts
        • Date and Time Handling
        • Featured Action Nodes
        • Exception Handling
      • Login & Configuration
        • Login and Authentication
        • Settings, Configuration and Languages
      • Security & Operations
        • Security and Permissions
        • Deployment
        • Schedules and Logs
        • Debugging and App Health
      • Performance & Optimization
        • Optimizing Performance
        • Enhancing Functionality
    • Appfarm Sales Representative
    • Appfarm Developer Forum
      • Session 1: Data Modeling in Appfarm Create
      • Session 2: App Data in Appfarm Create
      • Session 3: Services in Appfarm Create
      • Session 4: Optimizing Performance
    • Background
      • Databases
        • Data modeling 101
        • Database normalization
  • Library
    • UI components
      • Advanced bar chart
      • Advanced bubble chart
      • Advanced combined chart
      • Advanced gantt chart
      • Advanced heatmap chart
      • Advanced line/area chart
      • Advanced pie chart
      • Advanced scatter plot chart
      • Advanced solid gauge chart
      • Animated component
      • Avatar
      • Avatar group
      • Basic bar chart
      • Basic gauge chart
      • Basic line chart
      • Basic pie chart
      • Bottom navigation
      • Button
      • Checkbox
      • Chip group
      • Circular progress
      • Coded component
      • Container
      • Date & time picker
      • Drawable canvas
      • Floating action button
      • Icon
      • Icon button
      • Iframe
      • Image
      • Linear progress
      • List
      • Map
      • Menu list
      • Multi select
      • PDF reader
      • Popover
      • Radio buttons
      • Rich text editor
      • Rich text
      • Select
      • Slider
      • Speed dial
      • Switch
      • Table
      • Tabs
      • Text
      • Text edit
      • View container
      • Visibility group
    • Action nodes
      • Aggregate data
      • Advanced search
      • Auth operations
      • Block
      • Catch exception
      • Copy to clipboard
      • Create file archive
      • Create file object
      • Create object
      • Create user account
      • Delete objects
      • Delete user account
      • Duplicate objects
      • End execution
      • Exit block
      • Exit loop
      • Export data
      • Foreach
      • Generate document
      • If
      • Import data
      • Invalidate cache
      • Log in
      • Log to console
      • Log out
      • Next iteration
      • Navigate
      • Open/close popover
      • Open confirm dialog
      • Open print dialog
      • Open snackbar
      • Open Unsplash dialog
      • Open URL
      • Persist objects
      • Push notifications
      • Read objects
      • Request permissions
      • Run code
      • Run other action
      • Run service
      • Scan barcode/QR code
      • Send email
      • Send SMS
      • Set client language
      • Set data source attributes
      • Set selection
      • Set theme
      • Set user account image
      • Show install app prompt
      • Sleep
      • Sort objects
      • Throw exception
      • Toggle drawer
      • Update object
      • Update secret
      • Update user account
      • Web request
      • While
  • Reference
    • Appfarm Create
      • Appfarm Commander
      • Blue dots
      • Copy & Paste
      • Farmer's Market
      • Find references
      • Find usage
      • Keyboard shortcuts
      • Undo/Redo
      • User preferences
    • Platform concepts
      • Conditions
      • Data bindings
      • Date and time
      • Event handlers
      • Filters
      • Functions
      • Markdown
      • Objects
      • Operators
      • Value processor
    • Dashboard
    • Apps
      • UI
        • Views
          • Dialog
          • Drawer
        • Layout designer
        • Component properties
        • Shareable UI components
      • Data
        • App variables
        • Data sources
        • Calendar data sources
      • Actions
      • App settings
      • App size
      • App health
    • Services
      • Service Endpoints
      • Service settings
      • Service health
      • API explorer
    • Data model
      • Object classes
      • Object class properties
      • Enumerated types
      • GraphQL
        • Queries
        • Mutations
      • Data Extract API
      • Time series data
    • Operations
      • Deploy
      • Schedules
      • Logs
    • Resources
      • Themes
      • Files
      • Fonts
      • Internationalization
    • Configuration
      • Environments
      • Login
        • Custom auth providers
    • Security
      • Users
      • Service accounts
      • Roles
      • Secrets
      • Permissions
        • Conditional Permissions
    • Appfarm Client
      • Developer tools for Apps
      • Developer tools for Services
      • Warnings and errors
  • How to
    • Data modeling
      • Many-to-many relationships
      • Use naming conventions
      • Offline data handling
      • Data silos and White labelling
    • User interface
      • Manage a many-to-many relationship with a Chip group
      • Configure drag and drop
      • Build a drag-and-drop calendar
      • Design a responsive layout
      • Work with flexbox
      • Use Mapbox as a map layer
      • Understand charts
    • Logic and flow
      • Event Log Design
      • Configure advanced search
    • Themes and styling
      • Change the active theme
      • Add custom email templates
    • Enhance your app
      • Add deep links
      • Add keyboard shortcuts
      • Add link previews for social media
      • Apply SEO best practices
      • Change the active language
      • Generate a PDF from a Container
    • Integrations
      • Integrate with external systems
      • Integrate with OpenAI
      • Integrate with Google Analytics (GA4)
      • Configure a custom email account
      • Integrate with a payment provider
      • Integrate with Signicat
      • Integrate directly with an external database
      • Retrieve a Bearer token from Google Cloud
      • Fetch data from BigQuery
      • Retrieve access token from Microsoft Entra ID
    • Workflow automation
      • Update an OAuth 2.0 access token from a service
    • Authentication and access control
      • Add users and assign roles
      • Configure unauthenticated access
      • Implement third-party authentication
    • Security, testing and deployment
      • Add a custom domain
      • Install an app on a device
      • Get ready for Production
      • Optimize performance
      • Security checklist
      • Test and debug
    • Example apps
      • Create an Instagram clone
        • The end result
        • Designing the feed
        • Create new post
        • Add a like-button
        • Add comment-functionality
  • Solution administration
    • Subscription and billing
    • Dedicated tier benefits
    • Guide to GDPR
      • Key principles
      • How Appfarm protects personal data
      • How you can protect your clients’ data
      • Glossary
    • Appfarm and the EU AI Act
  • Policies
    • Appfarm Policies
    • Data Processors
    • Privacy Policy
Powered by GitBook
On this page
  • General settings
  • Maintenance
  • Email settings
  • Log options
  • Progressive Web App defaults
  • Session settings
  • Content security
  • Application security
  • Service security
  • GraphQL security
  • User account manipulation
  • Other
  • Custom header tags

Was this helpful?

Export as PDF
  1. Reference
  2. Configuration

Environments

You can configure each Appfarm Client environment in your solution separately. You can enable or disable platform features, set solution-wide defaults that will apply across all apps, and customize settings to ensure your apps work as expected.

It is common to maintain different environment configurations, particularly between Development and Production. For example, in Development and Test it is very helpful to have client logs enabled but this is not typically enabled in Production. On the other hand, you might have Schedules enabled in Production, but not in any other environment.

In general it is a good idea to only enable the features and configurations that are required for your apps and services to run in a given environment. This will help keep your solution safe from unintended issues.

General settings

Setting
Description

Login Config

Enable GraphQL

Enable GraphQL Auxilary Endpoints

Enable GraphQL Explorer

Enable API Services

Enable API Explorer

Enable Scheduler

Maintenance

Setting
Description

Enable Maintenance Mode

Show a maintenance mode page to all users in the Appfarm Client and disable access to apps.

Maintenance Mode Text

Text to show on the maintenance mode page.

GraphQL Maintenance Mode

Return 503 Service Unavailable on all external requests to the GraphQL endpoint.

Services Maintenance Mode

Return 503 Service Unavailable on all external requests to services endpoints. Schedules are not affected by this setting. To prevent schedules from triggering services, clear either Enable Scheduler or Enable API Services.

Email settings

Setting
Description

Email Provider

By default, emails sent from a solution use the integrated Appfarm mail server.

  • The sender name is the solution name

  • There is a maximum number of emails that can be sent per month. The limit is specified in your subscription agreement.

Log options

Setting
Description

Enable Client Log

Simulate Messaging Only

Enable this option to prevent email and SMS messages from being sent. The relevant action nodes will still run, but the actual sending will be simulated. This option can be helpful during development and testing.

Progressive Web App defaults

Setting
Description

Name

The name of the app. It may be displayed among a list of other apps or as a label for an icon. Defaults to Appfarm.

Short Name

An abbreviated name used as the app name on device homescreens and other places with limited space.

Defaults to Appfarm.

Orientation

The default orientation of your app on mobile devices.

Background Color

A color that may be used by the operating system as a placeholder while the app's styles are loaded. Usually, this should match the background color of the app.

Theme Color

A color that may be used by the operating system when displaying the app. This color may apply even when an app is not installed as a PWA.

Icon 72x72–512x512

Session settings

Setting
Description

Absolute Timeout

The maximum length of a user session before the user must reauthenticate. The default length is 15 552 000 (180 days). The maximum length is 31 536 000 (365 days).

Renewal Timeout

The maximum length of a user session before it will not be automatically renewed. The default length is 604 800 (7 days). The maximum length is 5 184 000 (60 days). It is recommended to set this value a little longer than the typical usage period of your apps.

Content security

By default, Appfarm implements a strict set of content security settings to protect users against common attacks. However, we also allow for easy integration with third-party services and sites and you may need to allow their domains within the following policies.

Setting
Description

Web Request Targets

Allowed domains that can receive web requests directly from the client. If you only send web requests from the server, which is the default behaviour, you do not need to allow the receiving domains here.

Font Sources

Allowed domains that can deliver fonts to the Appfarm Client.

Frame Targets

Allowed domains that can be loaded into frame/iframe tags.

Frame Ancestors

Allowed domains that can embed the Appfarm Client in frame/iframe tags.

Image Sources

Allowed domains that can deliver images to the Appfarm Client.

Script Sources

Allowed domains that can deliver scripts to the Appfarm Client.

Style Sources

Allowed domains that can deliver stylesheets to the Appfarm Client.

Allow Insecure Resources

Public Assets

Allowing external tools (such as Hotjar) to access and use Appfarm assets (fonts and stylesheets) without authentication.

Application security

Setting
Description

Unauthenticated Access

Service Account

Service security

Setting
Description

Unauthenticated Access

Enable this option to be able to run services with unauthenticated access. A typical use case is running services from unauthenticated Apps.

Service Account

Max Payload Size

Override the default permitted size (in MB) for incoming POST requests to an Appfarm Service Endpoint. The default is 1 MB, and you may allow up to 50 MB.

GraphQL security

Setting
Description

Unauthenticated Access

Service Account

User account manipulation

User accounts are global resources. Changes to user accounts in any environment will affect production. The settings below are automatically cleared every night for Development, Test and Staging to prevent unintended user changes.

Setting
Description

Allow Create User Account

Enable user account creation within apps.

Allow Update User Account

Enable user account updates within apps.

Allow Delete User Account

Enable user account deletion within apps.

Other

Setting
Description

Custom Header Tags

Add custom meta and script tags inside the <head> element of your apps. This is useful when you need to add site-wide scripts, for example to implement analytics or a chatbot.

Google Analytics ID

Note: This feature is deprecated, and set to READ ONLY.

Google Analytics will not be supported as a built-in setting by Appfarm from mid-2023. From July 1st 2023, Google will replace Google Analytics (Universal Analytics, currently supported natively by Appfarm) with GA4.

A transition guide will be distributed to those using the built-in Google Analytics ID setting.

Integrate your apps with Google Analytics. Once you add an ID, the necessary scripts will be added to your apps, and page views will be automatically tracked. As with all client-side analytics, any ad-blockers or browser settings that prevent tracking may affect your reporting.

.well-known Directory Entries

Default App

An unauthenticated user will be redirected to this app if they navigate to the root URL of the Appfarm Client. This setting is useful when there is a public app that acts as an entry point, such as a public web page - and you always want that App as entry point if the user is not logged in.

Custom header tags

Add meta tags and import custom scripts into your apps by creating custom header tags. Example use cases include additional open graph meta tags, analytics scripts, and third-party chatbots.

Custom header tags will be added to every app in the given environment. Controlling the tags at the environment level can be useful to customize or restrict analytics scripts that collect page views or track user behaviour.

Setting
Description

Description

A description of the header tag for easy identification.

Tag Type

The HTML tag to add. The options are:

  • Meta

  • Script Content

  • Script URL

Name

Meta tag type only.

The value for the name attribute of the meta tag. For example, to add a meta description tag you would enter description.

Content

Meta tag type only.

The value for the content attribute of the meta tag. For example, to add a meta description tag you would enter the actual description you wish to include.

Script/Script URL

Script tags only.

The JavaScript code or URL of a file containing JavaScript, depending on the chosen tag type.

Async

Script tags only.

Defer

Script URL only.

Custom attributes

Custom attributes for the Custom header tag. Set the attribute and a value.

PreviousConfigurationNextLogin

Last updated 7 months ago

Was this helpful?

Assign a .

Enable access.

Will enable a built-in endpoint for all GraphQL enabled Object Classes with built-in . This endpoint may be used to update this identifier of existing records. Read more .

Enable , a web-based tool for running GraphQL queries and mutations to see and modify the data in the database.

Enable to run.

Enable the a user interface for .

Enable to run.

Choose between Appfarm, , or .

The sender domain is

Print log messages to the browser console. This checkbox must also be selected to enable .

These values are serve as defaults for all of your apps in the . They can be overwritten per app in .

App icons of various dimensions that can be used in different contexts across an operating system. The icons must be uploaded to .

These settings map directly to the .

If enabled, the CSP policy will be disabled. This is only required if you embed passive content (images) from sources that must be HTTP instead of HTTPS. You should always prefer HTTPS.

Enable this option to be able to serve apps with .

Unauthenticated apps will run as the specified here. Unauthenticated users will have the app and data permissions granted to the role(s) the service account has assigned.

Unauthenticated access to Services will run as the specified here. The permissions of this unauthenticated access equals the permissions granted to the role(s) of this service account.

Enable this option to be able to access the GraphQL endpoints with unauthenticated access. A typical use case is performing web requests towards the for querying data.

Unauthenticated access to GraphQL will run as the specified here. The permissions of this unauthenticated access equals the permissions granted to the role(s) of this service account.

See .

Note that this is only for Universal Analytics properties. Google Analytics 4 is not supported. You may check out our guide in .

Add publicly discoverable site-wide metadata. This is used for example, when configuring Apple Pay or .

If a user is logged in and has access to multiple apps, the list of apps will be shown. Please also note the setting -> App for defining a custom Login App.

Custom header tags can be used to load external javascript libraries in your apps and can be referenced when writing or .

The script should be loaded asynchronously. Find more information about the .

The script execution should be deferred. For more information about the .

Example for Script URL Subresource Integrity (SRI) is a security feature that enables browsers to verify that resources they fetch (for example, from a ) are delivered without unexpected manipulation. It works by allowing you to provide a cryptographic hash that a fetched resource must match. You can add integrity and crossorigin as Custom attributes in order to provide the following example Script URL header tag to your app:

<script src="https://cdn.example.com/app.js"
integrity="sha384-+/M6kredJcxdsqkczBUjMLvqyHb1K/JThDXWsBVxMEeZHEaMKEOEct339VItX1zB"
crossorigin="anonymous"></script>
web application manifest
App Settings
Content Security Policy (CSP) standard
functions
code
login configuration
GraphQL
services
documentation and testing of services
schedules
appfarm-mail.com
Developer Tools
Files
upgrade-insecure-requests
unauthenticated access
service account
service account
service account
Integrating with Google Analytics 4
universal links
async attribute on MDN
defer attribute on MDN
CDN
Custom header tags
GraphiQL
GraphQL Endpoints
here
Random Identifier
Login Config
Mailgun
Amazon
SES
SendGrid