Advanced Portal Designer Documentation
Index

Security Profiles

Security Profiles are named groups that define access levels in APD. They control which actions, content, and data users can access.

What Are Security Profiles?

Security profiles are:

  • Named access levels (e.g., ADMIN, CUSTOMER)
  • Assigned to users
  • Referenced by actions and content
  • Used in template conditions

Creating Security Profiles

Accessing Security Profiles

  1. Open the Advanced Portal Designer menu page (search for it in Tell Me) and click Security Profiles
  2. View and manage profiles

Profile Properties

Field Description
Security Profile Unique code (e.g., ADMIN)
Description Friendly name

Creating a Profile

  1. Open Security Profiles
  2. Click New
  3. Enter a Security Profile code
  4. Add a Description
  5. Save

Example Profiles

Profile Description Purpose
ADMIN Administrator Full portal access
MANAGER Manager Reports and approvals
SALES Sales Team Customer and order access
CUSTOMER External Customer Self-service access
PREMIUM Premium Customer Extended features
READONLY Read Only View-only access

Assigning Profiles to Users

User Security Filters

Users have a "Security Filters" field that contains their assigned profiles:

CUSTOMER|PREMIUM
Multiple profiles are separated by ` `.

Assignment Steps

  1. Open APD Users
  2. Select a user
  3. In Security Filters field, enter profile(s)
  4. Save

Profile Inheritance

  • Users with multiple profiles have cumulative access
  • Access is granted if ANY assigned profile permits it
  • Blank profile means "all authenticated users"

Using Profiles in Actions

Action Security Profile

Each action can require a specific profile:

  1. Open the action
  2. Set Security Profile field
  3. Save

Behavior

  • Blank: All authenticated users can access
  • Specified: Only users with that profile can access
  • Non-matching users redirected to default action

Example

Action: ADMIN-PANEL
Security Profile: ADMIN
Require Authentication: Yes

Only users with ADMIN profile can access this action.

Using Profiles in Templates

profile Tag

Check if user has a profile:

<?profile(ADMIN)?>
    <a href="<?action(ADMIN)?>">Admin Panel</a>
<?endif?>

Profile with Else

<?profile(PREMIUM)?>
    <div class="premium-content">
        Premium features here
    </div>
<?else?>
    <div class="upgrade-prompt">
        <a href="<?action(UPGRADE)?>">Upgrade to Premium</a>
    </div>
<?endif?>

Multiple Profile Checks

<?profile(ADMIN)?>
    <span class="badge">Admin</span>
<?endif?>

<?profile(MANAGER)?>
    <span class="badge">Manager</span>
<?endif?>

<?profile(SALES)?>
    <span class="badge">Sales</span>
<?endif?>

Using Profiles in Content

Content Security Profile

Content items can have a security profile:

  1. Open Content List
  2. Select content item
  3. Set Security Profile field
  4. Save

Behavior

  • Blank: All authenticated users can view
  • Specified: Only users with that profile can view
  • Content is simply not displayed if no access

Using Profiles in Security Setup

Profile-Specific Filters

Security filters can be profile-specific:

Profile: CUSTOMER
Security Type: Security Filter
Table: Sales Header
Field: Sell-to Customer No.
Value: %4

This filter only applies to users with CUSTOMER profile.

Profile-Specific Permissions

Table permissions can be profile-specific:

Profile: SALES
Table: Customer
Allow Ajax Read: Yes
Allow Ajax Validate/Modify: Yes
Allow Ajax Insert: No

Profile Hierarchy Patterns

Role-Based Access

ADMIN
├── Full access to all actions
├── All security filters disabled
└── All AJAX operations allowed

MANAGER
├── Access to reports and approvals
├── Limited security filters
└── Read/modify allowed, limited insert

SALES
├── Access to customer and order actions
├── Security filters on company data
└── Standard CRUD on sales data

CUSTOMER
├── Access to self-service actions only
├── Strict security filters (own data only)
└── Limited AJAX (view, some updates)

Feature-Based Access

BASIC
└── Standard portal features

PREMIUM
└── Premium features (includes BASIC access)

ENTERPRISE
└── Enterprise features (includes PREMIUM access)

Profile Naming Conventions

Recommendations

  • Use UPPERCASE for profile codes
  • Keep codes short but meaningful
  • Be consistent across the portal

Examples

Code Description
ADM Administrator
MGR Manager
SLS Sales
CST Customer
VND Vendor
PRE Premium
ENT Enterprise

Common Patterns

Public + Authenticated

<!-- Available to everyone -->
<nav>
    <a href="<?action(HOME)?>">Home</a>
    <a href="<?action(PRODUCTS)?>">Products</a>
</nav>

<!-- Only for authenticated users -->
<?auth?>
    <nav class="user-nav">
        <a href="<?action(DASHBOARD)?>">Dashboard</a>

        <?profile(ADMIN)?>
        <a href="<?action(ADMIN)?>">Admin</a>
        <?endif?>
    </nav>
<?endif?>

Tiered Features

<div class="features">
    <!-- Basic features for all authenticated -->
    <div class="feature">Basic Feature</div>
    
    <?profile(PREMIUM)?>
    <div class="feature premium">Premium Feature</div>
    <?endif?>
    
    <?profile(ENTERPRISE)?>
    <div class="feature enterprise">Enterprise Feature</div>
    <?endif?>
</div>

Role-Specific Navigation

APD includes templates with the <?parse?> tag (there is no <?include?> tag):

<nav class="main-menu">
    <?profile(ADMIN)?>
        <?parse(nav-admin)?>
    <?endif?>

    <?profile(MANAGER)?>
        <?parse(nav-manager)?>
    <?endif?>

    <?profile(SALES)?>
        <?parse(nav-sales)?>
    <?endif?>

    <?profile(CUSTOMER)?>
        <?parse(nav-customer)?>
    <?endif?>
</nav>

Troubleshooting

User Can't Access Action

  1. Verify user is authenticated
  2. Check action's Security Profile setting
  3. Verify user's Security Filters includes the profile
  4. Check for typos in profile codes

Profile Not Working in Template

  1. Verify exact profile code match
  2. Check user assignment
  3. Test with simpler condition first

Too Much/Little Access

  1. Review all assigned profiles
  2. Check profile in Security Setup entries
  3. Review action security settings

Best Practices

Keep Profiles Simple

  • Don't create too many profiles
  • Group related access together
  • Avoid overlapping responsibilities

Document Profiles

Create a reference document:

Profile Access Users
ADMIN Full IT Staff
MANAGER Reports Department Heads
SALES Sales Data Sales Team
CUSTOMER Self-Service External Customers

Test Profile Access

  • Create test users for each profile
  • Verify access at all levels
  • Test profile combinations

Review Regularly

  • Audit profile assignments
  • Remove unused profiles
  • Update access as needs change