Initial Configuration
After installing Advanced Portal Designer, you need to configure several settings before creating your first portal. This guide walks you through the initial setup process.
Accessing APD Setup
- In Business Central, search Tell Me for "Advanced Portal Designer" (this is the only APD page registered for search — every other APD page is reached from here)
- From the menu page, click Setup to open the Advanced Portal Designer Setup page
- This is your central configuration hub for APD
Server Settings
Server DNS Name
Configure the public DNS name for your portal:
- Enter your Azure WebApp domain (e.g.,
myportal.azurewebsites.net) - This is used when generating absolute URLs
- Include the domain only, not the protocol
Server Path
Configure the web service path:
| Setting | Default | Description |
|---|---|---|
| Serverpath | /wsfn/ | The base path for APD requests |
This path is used in:
- Action URLs
- AJAX requests
- Internal links
Web Service Time Offset
If your server is in a different timezone:
- Set the offset in hours
- Positive for ahead of UTC
- Negative for behind UTC
Language Settings
Languages Supported (Filter)
Configure which languages your portal supports:
- Enter a filter expression for language IDs
| 2. Example: `1033 | 1031 | 1036` for English, German, and French |
|---|
- Use Windows Language ID values
Default Language
Set the fallback language:
- Choose the default language from the supported languages
- This is used when user preference isn't available
- Templates in this language serve as fallback
Finding Language IDs
Common Windows Language IDs:
| Language | ID |
|---|---|
| English (US) | 1033 |
| English (UK) | 2057 |
| German | 1031 |
| French | 1036 |
| Spanish | 1034 |
| Danish | 1030 |
| Dutch | 1043 |
Password Settings
Configure password policies for portal users:
Maximum Password Attempts
| Setting | Description |
|---|---|
| Maximum password attempts | Number of failed logins before blocking |
| Recommended | 3-5 attempts |
Password Expiration
| Setting | Description |
|---|---|
| Password Expiration (days) | Days until password must be changed |
| Set to 0 | Passwords never expire |
Minimum Password Length
| Setting | Description |
|---|---|
| Minimum password length | Minimum characters required |
| Recommended | 8+ characters |
Compilation Settings
Auto Compile
Enable automatic compilation after template edits:
| Setting | Effect |
|---|---|
| Enabled | Templates compile automatically after saving |
| Disabled | You must manually compile templates |
Recommendation: Enable during development, consider disabling in production.
Expand Error Information
For debugging:
| Setting | Effect |
|---|---|
| Enabled | Detailed error messages in portal |
| Disabled | Generic error messages |
Warning: Disable in production to avoid exposing sensitive information.
Agent Settings (Optional)
If using the AI coding agent:
Use Coding Agent
Enable the AI assistant feature for template development.
Agent AI Provider
Configure your AI provider:
- Provider selection
- Endpoint URL
- API Key
- Model name
GitHub Integration (Optional)
Configure GitHub synchronization for templates:
GitHub Settings
| Setting | Description |
|---|---|
| Personal Token | GitHub personal access token |
| Account Name | Your GitHub username or organization |
| Repository | Repository name for templates |
| Branch | Branch to sync with (e.g., main) |
Creating a Personal Access Token
- Go to GitHub Settings → Developer Settings → Personal Access Tokens
- Create a new token with "repo" scope
- Copy and paste into APD setup
Stripe Integration (Optional)
If accepting payments:
Stripe Settings
| Setting | Description |
|---|---|
| Stripe Secret Key | Your Stripe API secret key |
| Stripe Bank Account No. | BC bank account for Stripe funds |
Creating Your First Action
After setup, create a default action:
Step-by-Step
- From the Advanced Portal Designer menu page, click Actions to open the Actions list
- Click New to create an action
- Enter a code (e.g., "HOME")
- Enter a description (e.g., "Home Page")
- Set Type to "File"
- Mark as Default (this will be the landing page)
Create a Simple Template
- In the action card, find "HTML/XML Template File"
- Enter a name (e.g., "home.html")
- Click the field to create the template
- Enter simple HTML:
<!DOCTYPE html>
<html>
<head>
<title>My Portal</title>
</head>
<body>
<h1>Welcome to My Portal</h1>
<p>Current date: <?today()?></p>
</body>
</html>
- Save and compile the template
Setting Up Your First User
Create a portal user to test:
Create Portal User
- From the Advanced Portal Designer menu page, click Users
- Click New
- Enter:
- User ID (e.g., "testuser")
- Password
- Link to a BC entity (optional for testing)
Test the Login
- Access your portal URL
- Create a login action if needed
- Test with your new user credentials
Recommended First Steps
1. Verify Installation
- APD Setup page opens without errors
- Can create actions
- Can create templates
2. Configure Basics
- Server DNS Name set
- Server Path configured
- Languages configured
- Default language set
3. Set Security Defaults
- Password policy configured
- Consider initial security profiles
4. Create Test Content
- Create a default action
- Create a simple template
- Verify template compiles
- Create a test user
5. Test Connectivity
- Access portal via Azure WebApp
- Verify data flows from BC
- Test login functionality
Next Steps
After initial configuration: