Application Lifecycle: 1-Click Publish, LifeTime, Environments, and Versioning

Key Takeaways

  • 1-Click Publish runs TrueChange checks, compiles the module, and deploys it to the current environment in one action.
  • LifeTime is the cross-environment deployment console that moves versioned applications between Development, Test, and Production.
  • Service Center is the per-environment administration console for error logs, Site Property overrides, and runtime configuration.
  • Site Property values set in Service Center override Service Studio defaults and survive republishing the module.
  • The OnBeforeRequest callback modifies outgoing REST requests to add headers or auth tokens before sending.
Last updated: July 2026

Quick Answer: 1-Click Publish in Service Studio compiles, runs TrueChange checks, and deploys a module to the current environment in one action. LifeTime is the OutSystems deployment management console that moves versioned applications across environments (Dev, Test, Prod). Service Center is per-environment administration for logs, Site Properties, and runtime config. Site Properties let you override values per environment without republishing.

1-Click Publish

1-Click Publish is the single-button deployment mechanism in Service Studio. When clicked, it runs TrueChange — OutSystems' static analysis engine that checks for errors, broken references, dependency violations, and type mismatches. If TrueChange finds errors, the publish is blocked. Warnings do not block publishing. After TrueChange passes, the module is compiled into deployable artifacts (server-side code and client-side JavaScript bundles) and deployed to the current environment, typically Development. A new version number is registered automatically.

StepWhat HappensBlocks Publish?
TrueChange errorsType mismatches, broken references, missing dependenciesYes
TrueChange warningsBest-practice suggestions, unused variablesNo
CompileServer and client artifact generationYes if compile fails
DeployPush artifacts to the environment server

LifeTime and Environments

LifeTime is the OutSystems deployment management console — a separate web application that manages applications across all environments. A typical OutSystems installation has at least three environments:

EnvironmentPurposeDeployed From
DevelopmentDeveloper iteration; 1-Click Publish targetService Studio directly
Test / QAIntegration testing, user acceptanceLifeTime deployment from Development
ProductionLive application for end usersLifeTime deployment from Test (approved)

LifeTime lets you create deployment plans that bundle one or more applications with specific versions and deploy them together to a target environment. Deployments are versioned and tracked — you can see who deployed what, when, and from which source environment. LifeTime also supports rollbacks to previously deployed versions when a deployment goes wrong.

Service Center

Service Center is the per-environment administration console. Each environment has its own Service Center instance. Through Service Center you can view application lists and module versions installed on that environment, inspect error logs and general logs for debugging runtime issues, override Site Property values without republishing, monitor environment health (memory, CPU, database connections), and manage security and authentication settings.

Test Your Knowledge

What is the primary difference between 1-Click Publish and LifeTime deployment?

A
B
C
D

Site Properties

Site Properties are module-level configuration values that can be changed per environment without republishing. You define a Site Property in Service Studio with a default value, then override it in Service Center for each environment. Changing a Site Property in Service Center takes effect immediately for new requests — no republish needed.

Site Property ExampleDev ValueProd Value
ApiBaseUrlhttps://dev-api.example.comhttps://api.example.com
FeatureFlagNewCheckoutTrueFalse
MaxRetries35

A critical rule: Service Center overrides take precedence over Service Studio defaults. Republishing a module does not reset Service Center overrides — the environment-specific value remains in effect until manually changed in Service Center.

Expose REST API

OutSystems lets you expose REST APIs from a module. You define a REST API in Service Studio, add methods mapped to Server Actions, and specify HTTP methods (GET, POST, PUT, DELETE) and paths. The exposed endpoints are available at a URL like /<module>/rest/<api>/<method>. Input parameters become query params or request body fields; output parameters become the JSON response. This is how other systems or other OutSystems apps consume your module's logic without a direct module reference.

Send Email

The Send Email capability lets a Server Action compose and send an email using an email definition — a template with placeholders bound to input parameters. SMTP configuration is at the platform level in Service Center. Send Email is a server-side operation — Client Actions cannot send emails directly; they call a Server Action that performs the send.

OnBeforeRequest Callback

When consuming a REST API, the OnBeforeRequest callback lets you modify the outgoing HTTP request before it is sent. You add headers (e.g., Authorization: Bearer <token>), change the request body, or add query parameters. The callback is a Server Action that receives the Request structure and returns a modified version. This is the standard way to add authentication or custom headers to outbound REST calls.

Authentication and Users

The Users application is the end-user management console where administrators create user accounts, assign roles, and manage authentication. OutSystems supports multiple authentication methods per environment:

MethodConfigured In
OutSystems built-inDefault, no setup needed
Active DirectoryService Center, Security tab
SAML / SSOService Center, Security tab
External (custom)Via authentication plugin

Users are matched by username or email and assigned roles per application. When SSO is configured, role mapping can be automated based on directory groups.

Exam Traps

A common exam scenario: you change a Site Property default in Service Studio and republish — does that override the Service Center value? No. Service Center overrides take precedence; republishing does not reset them. Another trap involves deploying from Dev directly to Prod, skipping Test — LifeTime allows this but it bypasses QA validation and is considered bad practice. The recommended path is Dev to Test to Prod. Finally, remember that 1-Click Publish deploys only to the current environment; moving to other environments requires LifeTime or a deployment plan.

Test Your Knowledge

You change a Site Property's default value in Service Studio and republish the module. The same property was overridden in Service Center for Production. What value is used in Production after the republish?

A
B
C
D
Test Your Knowledge

When consuming a REST API in OutSystems, which callback lets you modify the outgoing HTTP request before it is sent?

A
B
C
D
Congratulations!

You've completed this section

Continue exploring other exams