Test and debug

Every action you take in Appfarm Create is instantly saved, meaning; your application is only a description of which UI components, logical building blocks, object classes, etc. are used in your application, as well as where and how they are used. Deployment to the development environment is instant and testing your App is simply a matter of navigating to a URL.

Testing your Apps

All Solutions in Appfarm come shipped with dedicated Development (DEV), Test (TEST), Staging (STAGE), and Production (PROD) environments. What is available in your Solution depends on your Appfarm subscription plan.

While using Appfarm Create to define your applications, all changes are automatically deployed to the Develop environment. Keep the apps client open in a browser tab to see your applications come to life as you use Appfarm Create UI Designer.

Navigate to https://SOLUTION_SHORTNAME-dev.appfarm.app, or use the button in the app bar to open the client for the active App.

If your App has only been enabled for small devices (mobile devices), you might need to open the debug tool in your browser to simulate a mobile screen resolution.

Debugging Apps

When testing your functionality, you will at some point need a way to debug your application logic. Appfarm comes with a set of built-in tools to help you tune your apps, and also diagnose problems.

Have a look at the Developer Tools section for more details. Here you will learn how to use the Developer Tools for Apps, as well as more advanced debugging.

If you want to simulate running the App from another device, such as a mobile or tablet, you could use the browser development tools. We recommend Google Chrome for this purpose. Chrome has a dedicated device button in the top-left section of the console. To open Developer Tools for Chrome, click F12, or navigate to Developer Tools from the settings menu of your browser. The browser built-in Developer Tools may also be used for advanced debugging.

Force logout of an App

When testing Apps with different users, it sometimes occurs that the browser session is logged in with an incorrect user and that you do not have a "Logout" or "Signout" button available in your App.

You may log out 3 different ways:

1) Add a button to your App, and add an action with action node Log out.

2) Navigate to the root (https://SOLUTION-HOSTNAME, for example https://thirtyfiftyinc.appfarm.app) and sign out using the top-left menu. Note that this approach only works if you have access to more than 1 app, otherwise, you will be redirected automatically to the (only) App you have access to.

3) Append /auth/logout to the URL (e.g. https://SOLUTION-HOSTNAME/myapp/auth/logout)

App Health

App Health is found in the top-right menu in Create when you are inside an App. It reveals incorrect or sub-optimal setup of your App. Please see this section for more info on App Health.

Debugging Data Issues

In some cases, your App might not load due to massive amounts of data, or corrupt data. Database Connected Data Sources in App Data are loaded before the On App Load action executes, and before the App is displayed.

In the cases where loading initial data fails, you might get a timeout or minimal logging, since it often fails before the Developer Tools for Apps is loaded.

But how can you debug which data source is causing the issue? Here are a few steps to help you with this debugging:

  1. Create a copy of your App (E.g. "My App (DEBUG)")

  2. Disable the first half of the (database connected) Data Sources, in other words, mark them as Initially Disabled

  3. Is the App still not loading? Repeat step 2 for the enabled data sources until the App is loaded. You have now located the issue: It is in one of the last disabled data sources.

  4. Enable the last disabled data sources until the App is not loading. You have now found the data source causing the issue.

  5. Check the number of records in that data source, either by using GraphQL or (simpler), set Limit Object Count to 1, and display the built-in property Total Object Count of that data source. The Total Object Count will hold the number of records in the database that matches the filter criteria (even though only 1 is read due to the Limit Object Count setting).

  6. If there are inconsistencies in the data, you may need to inspect the data with GraphQL and update or delete the record(s). A scenario that may occur is the following (example): Some old data has stored "ThirtyFiftyInc" in the column "company". That Object Class Property (a string) is deleted (NB: that does not delete the data!). At a later stage, a new Object Class Property, also named "company" is created, but with reference to Company as the data type (ObjectID is the technical datatype behind the _id). When reading the old records, the joins may fail at a database level. A common error in the log related to this is CastError (read more here).

Debugging Services

If you want to debug services or test them manually, Appfarm comes with a DevTools for Services. The has many of the same features as the DevTools for Apps, but it may also be used to trace and se execution log for incoming requests, or the log when a Service is executed by a schedule.

Service Health

Service Health is found in the top-right menu in Create when you are inside a Service. It reveals incorrect or sub-optimal setup of your Service. Please see this section for more info.


Deployment is the task of applying updated versions of your application to various environments. After testing in the DEV environment, you might deploy the new version of your Solution to TEST, STAGE, or PROD environments.

All deployments are done in Appfarm Create. Click Deploy in the main menu.

Appfarm Create features one-click deploy - allowing you to deploy your changes to TEST, STAGE or PROD with one click. You may also roll back to a previous version in all of the environments.

Note: If the deploy button is disabled, there are no changes to deploy.


You may take snapshots of your entire Solution (for example, Apps, Global Data Model - all configuration done in Appfarm Create) at any time. From the Deploy menu, expand the top left section Development, and select the Take Snapshot option. The snapshot will be listed below, and you may roll back to this (or another) snapshot at any time. Note that all changes done after the time of the snapshot will be overwritten.

Backup your App or Service

Make a copy of your App (or Service) if you want to do some major changes. You are now able to experiment and develop on the copied App, without risking unrecoverable damage.

From the Apps list, hover over the App you want to make a copy of, click the more-button (𐄛) and then Make a copy. The App is now duplicated, without any references to the original App.

Last updated