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
  • Launch the DevTools for Services
  • Overview
  • Capture Mode
  • Manual
  • Next Request
  • Traced Request
  • Panels
  • Logs
  • Service data
  • Actions
  • Service Validation
  • Solution Log Stream

Was this helpful?

Export as PDF
  1. Reference
  2. Appfarm Client

Developer tools for Services

PreviousDeveloper tools for AppsNextWarnings and errors

Last updated 1 year ago

Was this helpful?

A Service may be tested and debugged using a dedicated Developer tool: DevTools for Services. It enables you to run a service (with input, if present), and to enable capture of incoming requests. You may also inspect the service data, and you may breakpoint service actions to execute them step-by-step.

Launch the DevTools for Services

You may launch DevTools for Services by navigating to the Service inside Appfarm Create, and clicking the blue top-right icon button:

Additional information for launching the DevTools:

  • DevTools for Services is only available when API Services are enabled. Go to Environments > ENVIRONMENT and make sure Enable API Services is enabled.

  • You may also access DevTools for Services by navigating directly to the URL https://SOLUTION_SHORTNAME-dev.appfarm.app/api/services/devtools.

  • If you want to access DevTools for Services in Test or Staging environment, simply replace the string dev from the above URL with either test or stage.

  • When accessing the DevTools from Test or Staging environment, access must be granted. Go to Permissions -> Advanced -> DevTools for Services and give access to the relevant Role to access the DevTools for Services.

Note: When using DevTools for Services, you are acting as yourself, with the full permissions of your own User in the given environment. If you want to test the Service e.g. with the same permissions as a Service Account, you should:

1) Locate the Role of the Service Account, and (temporarily) give access to DevTools for Services to that Role (Permissions -> Advanced -> DevTools for Services) 2) Create a test user, with the same Role memberships as the Service Account, and log in to DevTools for Services using that test user.

Overview

Below is an overview of DevTools for Services.

In the above screenshot, the Capture Mode (1) controls the layout of the input area (2).

There are 3 capture modes:

The panel at the bottom (3) contains 4 submenus for

Capture Mode

Select a Capture mode depending on how you want to debug or test a Service Endpoint.

Manual

Allows you to specify the input to the Service Endpoint (if present) and to execute it manually by clicking Execute. The execution log will appear in the Logs panel, and you may inspect the content of the Service Data. You may also add breakpoints to the Action and continue each action node step-by-step.

Note: When running DevTools for Service, you are running the Service as yourself. Please make sure your user has sufficient permissions for the operations being tested.

Next Request

Clicking Enable capture will start listening. Once a request hits the endpoint, it will appear in the Logs panel. Note that you may also set breakpoints to an action to stop incoming requests, and execute the action nodes step by step (use with care, as the Service endpoint will pause).

Traced Request

This capture mode allows you to log a specific request from a third party.

Explanation of the steps with reference to the above screenshot:

  • Step 1: Enter a unique Trace ID in DevTools for Services.

  • Step 2: Communicate to the third party to add an x-trace-id header to the request, with that Trace ID as the value. In the above screenshot, you may see this setup in Postman.

  • Step 3: Enable capture in DevTools.

  • Step 4: The request is sent from the third party.

When Step 4 occurs, the execution of the service endpoint will appear in the Logs panel. Note that you may also set breakpoints to an action to stop the incoming traced requests, and execute the action nodes step by step (use with care, as the Service endpoint will pause).

Panels

The functionality within the Developer tools is grouped into four panels.

Logs

When running Service Endpoints, the execution log will appear in this section. You will see a log entry for each action node executed. Warnings and errors will also be logged.

The logs include:

  • A data view of modified data sources.

  • The payload is sent when calling external APIs.

  • Context data for an action, such as action params.

  • Error messages from failed action nodes.

  • Execution time of actions and action nodes.

Service data

The Service Data panel lists the data sources used in the service, along with the objects contained in those data sources. For data sources in Services - all object class properties are read and listed.

Actions

The Actions panel lists all actions in your service. You can also set breakpoints at the action node level to step into the action execution.

Select an action to display the action nodes contained inside. Toggle a breakpoint by clicking on an action node.

All breakpoints are displayed in a list to the right. You can activate/deactivate a breakpoint by clicking the corresponding switch in this list. This is useful if you want to retain the breakpoint for later, but deactivate it temporarily.

When an action is paused due to a breakpoint, you can choose to resume action execution, step to the next action node, or abort the action execution, by using the buttons in the toolbar.

Service Validation

Service Validation displays any validation warnings and errors for the service. Note that messages in this section may arise from issues out of an Appfarm Create developer's control. Please contact Appfarm Support if you suspect such an issue.

Solution Log Stream

Solution Log Stream allows you to inspect everything that is executed for all Services (or a selection). In addition to filtering the log stream on a set of Services and Endpoints, you may also filter the log events on severity (Info, Notice or Error).

: For manual execution of the service endpoint

: Capture and log all incoming requests to this endpoint (after capture has been enabled)

: Add a header to the third-party request, and trace that specific request as it appears.

: See the execution log of the service execution

: Data sources and objects

: Actions and breakpoints

: Validation warnings and errors

The top-left button (4) features a menu. From this menu, you may navigate to the general Appfarm documentation, or to the .

This capture mode allows you to enable logging of incoming requests to the endpoint. Either from a third party or from a .

Service Schedule
Manual
Next request
Traced request
Logs
Service Data
Actions
Service Validation
Solution log stream
DevTools for Services - Overview
Capture Mode: Next Request
Capture Mode: Traced Request