System Configuration

Guide to System Settings

System Settings in OPS-COM provide administrators with comprehensive control over the core functionalities and behaviors of their application, primarily impacting the administrative side. This centralized configuration area allows for fine-tuning various components, from general system parameters and security protocols to specific module functionalities like parking, violations, and payments, ensuring the system operates according to organizational needs.

  1. Click System Configuration, then System Settings to access this area.  
  2. Explore the menus. Hovering over any menu item will explain with a tooltip what this setting controls.
  3. Settings in Blue are read-only to Admins. Only a Tomahawk User can enable/disable this. For help with this contact support@ops-com.com.

Only Users that have the permission to Manage System Configuration, will see the System Settings. If they have that permission, they can edit any system setting available. 


Best Practices & Considerations

Configuring SAML SSO with OPS-COM

What is Single Sign-On (SSO)

Single Sign-On (SSO) simplifies user access to OPS-COM by allowing them to authenticate using their existing, managed corporate accounts. This eliminates the need for separate OPS-COM usernames and passwords, enhancing convenience and security. This article details the setup and configuration of SAML-based SSO with OPS-COM, explaining the necessary fields, metadata exchange, and user synchronization.  For more general information about SSO and OPS-COM refer to this wiki article.

Prerequisites and Considerations

Implementing SSO with OPS-COM, specifically using SAML (Security Assertion Markup Language), requires coordination between your organization's Identity Provider (IdP) and OPS-COM as the Service Provider (SP).

  • Paid Feature: SSO is a paid feature. You must have the setup fee and recurring fees negotiated before proceeding. Contact your Sales Representative or email support@ops-com.com to initiate this.
  • Login Sources: You must first follow the instructions to set up Login Sources within OPS-COM, as SSO will be configured as a specific login source.

  • User Management Strategy: Consider the following:
    • Will you have different Login Sources (e.g., Students/Staff use SSO, but Public Users do not)?
    • Will login sources vary by user type?
    • How do you want to initially get your users into OPS-COM (e.g., pre-import vs. on-the-fly creation)?
    • Do you want users to be created automatically upon their first SSO login?
    • Do you want to keep user information synchronized with your Identity Provider regularly, or will it be a one-time import?
    • What user profile data/fields do you want synchronized between your SSO system and OPS-COM?
    • Can you take advantage of the UserPush APIs for proactive user synchronization?

Your OPS-COM Client Success team will be happy to discuss these options to ensure a smooth and successful setup.

Once the prerequisites are addressed, the SAML setup involves configuring fields for both OPS-COM (as the Service Provider) and your external SAML system (as the Identity Provider).


Configuring SAML Setup

  1. Hover over System Configuration, Users, and click Login Sources.
  2. Click the pencil icon to edit your login source you created already as mentioned above. You should already have configured the login source to the point of the Unique ID field.

The settings below must be filled out correctly and saved before you will see the Metadata tab to continue.

Service Provider Fields (Configured in OPS-COM)

These fields define how OPS-COM will interact with your Identity Provider.

  • Unique IDRequired - This is a crucial part of the XML communication between OPS-COM and your SAML system. It is supplied by your SAML system and is the value OPS-COM uses to match against its internal UniqueID field to identify a user.
  • Entity ID for Service ProviderRequired - This value defines the unique SAML integration path within the URL in the metadata. If your OPS-COM system has more than one SAML integration, each Entity ID needs to be unique. The value you supply will appear in the integration path like this: https://client.ops-com.com/auth/saml2/ENTITY_ID_FIELD/acsOnly add the ENTITY_ID_FIELD not the whole URL.  
  • x509 Certificate: (Optional) This certificate is provided by your Identity Provider (IdP) and can be generated and added to the Service Provider (OPS-COM) for secure communication.
  • Private Key: (Optional)  
Identity Provider Fields (Configured in OPS-COM, Values from Your SAML System):

These fields capture information from your external SAML system (Identity Provider). You will find these values within your SAML system's metadata (e.g., often displayed under Federation → Show Metadata on your SAML installation page).

  • You will input values such as the Identity Provider's Entity ID, Single Sign-On URL (SSO URL), and x509 Certificate (which is often different from the one provided for the Service Provider).

Once these settings have been completed and saved in OPS-COM, you will gain access to additional tabs: MetaData, Synchronization, and Translations.


Using this Feature

image.png
Metadata Tab

The Metadata tab in OPS-COM provides the XML code that you will need to provide to your Service Provider (OPS-COM, in the context of SAML communication from your IdP's perspective). This XML contains all the necessary information for your Identity Provider to communicate correctly with OPS-COM.

image.png

Sample XML File

Sample XML File Explanation: When your external system (e.g., a SimpleSAMLPhp service set up as the identity provider) sends a response back to OPS-COM, it includes an saml:AttributeStatement tag containing several attributes. These attributes are required for OPS-COM to match to a user within its system. The most important field in this attribute section is the value used as the permanently unique identifier for a user. For example, if the XML response shows [uid] => Array ( [0] => 6ddf4027-3397-4e45-8628-0189f60fe91e ), then uid should be entered as the Unique ID Field in your Identity Provider Fields configuration within OPS-COM. If the unique ID is something else, such as SAMaccountName, then that should be used instead.

... DEV-2K8 - DEBUG: Saml2 Incoming User Array ( [uid] => Array ( [0] => 6ddf4027-3397-4e45-8628-0189f60fe91e ) [full name] => Array ( [0] => Sarah Knowles ) [email] => Array ( [0] => sknowles@tomahawk.ca ) ) []

<?xml version="1.0"?>
        <samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="_aa1963115aa6490e728c7376f4c8849813bbb...">
          ...
          <saml:Assertion xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" ID="_9efd79bf6425983ee9176f3d33a99d1a9176180...">
            ...
            <saml:Subject>
              <saml:NameID SPNameQualifier="MinionOpsComStaff" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">_7a426e0be71f14c1f349db00d7d543b6f7dcb52baa</saml:NameID>
              <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
                <saml:SubjectConfirmationData NotOnOrAfter="2021-08-24T16:00:41Z" Recipient="https://minion-3.dev.parkadmin.com/auth/saml2/MinionOpsComStaff/acs" InResponseTo="ONELOGIN_bb8a09203c888cf59af4c621a71cfa8f7559c016"/>
              </saml:SubjectConfirmation>
            </saml:Subject>
            <saml:Conditions NotBefore="2021-08-24T15:55:11Z" NotOnOrAfter="2021-08-24T16:00:41Z">
              <saml:AudienceRestriction>
                <saml:Audience>MinionOpsComStaff</saml:Audience>
              </saml:AudienceRestriction>
            </saml:Conditions>
            <saml:AuthnStatement AuthnInstant="2021-08-24T15:34:46Z" SessionNotOnOrAfter="2021-08-24T23:34:46Z" SessionIndex="_a7a68666092117d24aab8adecf1b0830622855b85...">
              <saml:AuthnContext>
                <saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
              </saml:AuthnContext>
            </saml:AuthnStatement>
 
 
            <saml:AttributeStatement>
              <saml:Attribute Name="uid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
                <saml:AttributeValue xsi:type="xs:string">6ddf4027-3397-4e45-8628-0189f60fe91e</saml:AttributeValue>
              </saml:Attribute>
              <saml:Attribute Name="full name" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
                <saml:AttributeValue xsi:type="xs:string">Sarah Knowles</saml:AttributeValue>
              </saml:Attribute>
              <saml:Attribute Name="email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
                <saml:AttributeValue xsi:type="xs:string">sknowles@tomahawk.ca</saml:AttributeValue>
              </saml:Attribute>
            </saml:AttributeStatement>
 
 
          </saml:Assertion>
        </samlp:Response>
Synchronization Tab

The Synchronization tab allows you to configure how user information is managed between your SSO system and OPS-COM.

  • Auto Create/Update User: To begin, ensure you enable the Auto Create/Update User checkbox. This feature allows OPS-COM to automatically create new user profiles when they first log in via SAML, if they don't already exist in OPS-COM. It also enables the system to update existing user information.
  • User Attribute Mapping: On this tab, you will map the user attributes from your SSO system (your Identity Provider) to the corresponding fields in OPS-COM. For example, your SSO system might send "full name" and "email" attributes, which you would map to OPS-COM's firstName, lastName, and email fields.
  • Any field that is mapped and has a value from your SSO side should get updated to the value from SAML.

After you have provided the information in each field, click Save Changes.

Your users will then begin to be created or updated automatically upon their SSO login attempts. If any of the supplied fields are incorrect or don't match, the corresponding information will be blank in OPS-COM when the user logs in, or it will remain unchanged if the user already existed.

image.png

The exact sample values from our test system may differ from your actual SAML system attributes.

Translations Tab

The Translations tab allows you to customize the text displayed on your login button from the user side. You can create as many different translations as are available in your system (e.g., English and French). This ensures that the SSO login experience is localized for your users.

image.png


Best Practices & Considerations

  • Coordinate with IT/SAML Administrator: Successful SSO implementation requires close collaboration with your organization's IT department or the administrator of your SAML Identity Provider. They will provide the necessary metadata and attribute names.
  • Unique User Identifiers: Ensure the Unique Identifier chosen for matching users is truly unique and persistent within your SSO system. Incorrect or changing identifiers will lead to duplicate accounts or login failures.
  • Attribute Mapping Accuracy: Carefully map all desired user attributes from your Identity Provider to OPS-COM. Inaccurate mapping will result in missing or incorrect user data.
  • Test Thoroughly: After initial configuration, conduct thorough testing with various user types and scenarios to ensure seamless login, proper user creation/updates, and correct data synchronization.
  • User Experience: Clearly communicate the new SSO login process to your users. Provide instructions on how to access OPS-COM via SSO and address any potential questions.
  • Error Handling: Be prepared to troubleshoot potential issues. Common problems include incorrect Entity IDs, expired certificates, or mismatched attribute names. The SSO system logs can be invaluable for diagnosing such issues.

Troubleshooting - Email Server Communication Errors

Communication errors in OPS-COM, often manifested as "Communication Error" messages to users, typically occur when essential email "From" or "Reply-to" addresses are not correctly configured in the system settings. This article helps OPS-COM administrators identify and resolve such errors, ensuring that system-generated emails (like password reset confirmations) are sent successfully.

Identifying a Communication Error

Communication errors are usually a symptom of missing or incorrect email configurations within the system settings.

A common example of a communication error occurs when a user attempts to submit the Forgot Password form on the user-side login page. An error message similar to the following may be displayed:

image.png

This error indicates that the system is attempting to send an email but lacks a defined "From" or "Reply-to" address from which to send it.


Fixing Communication Errors

  1. Click System Configuration, then System Settings. 
  2. On the General System Settings tab, locate the Reply-to Admin Email Address field.
  3. Enter a valid and active email address into this field. This address will serve as the system's "From" address for various automated communications.
  4. Save your changes.

Once you have updated the email address, this communication issue should be resolved. You can test by re-attempting the action that previously triggered the error (e.g., submitting the Forgot Password form).


Best Practices & Considerations

Alarms System Settings

Setting up Alarms in OPS-COM

There are 3 different alarms you can setup in OPS-COM.

Defining User Profile Settings

User Profile Settings in OPS-COM enable administrators to customize the information collected from users on their profile forms. By controlling the visibility and requirement status of various fields, you can tailor the user experience to your organizational needs, ensure necessary data is captured, and streamline the registration process.

User profile item settings are configured within the System Settings area of OPS-COM.

  1. Click System Configuration, then System Settings.
  2. On the Manage System Settings screen, click User Profile.

Using this Feature

On the User Profile settings page, items in the list can be set to one of three states, controlling their appearance and requirement on the user-side profile form:

Note: The system will not allow the user to save their profile if any required information is missing.

The state selected for each field is highlighted in black, with a checkmark indicating the active selection.

2025-06-17_12-55-28.jpg

View the corresponding profile fields here.

Customizing Profile Sections
Considerations for Text2ParkMe Users

If your organization is using Text2ParkMe, a second tab will be available on this page. This tab allows you to configure additional details, including credit card information, that end-users can enter.

Important: If any credit card information is entered by the user, it automatically switches all other credit card information fields to "required" for that transaction.


Best Practices & Considerations

Account Creation Preferences

OPS-COM allows administrators to configure user account creation preferences, choosing between immediate auto-login or requiring email verification upon registration. Understanding and setting this preference is crucial for managing your user base effectively, balancing user convenience with security and data integrity needs.

Setup & Configuration

Account creation preferences are configured within the User Profile settings under System Settings.

  1. Hover over System Configuration, then System Settings, and click the User Profile tab.
  2. Toggle the Auto Login After Register setting, which controls the account creation flow.

Using this Feature

The Auto Login After Register setting has two states, each with distinct implications for user experience and system security:

Immediate Login (Auto Login After Register: ON)
Email Verification (Auto Login After Register: OFF)

Best Practices & Considerations

Configuring Multi-Factor Authentication on the User Portal

Multi-Factor Authentication (MFA) adds a crucial second layer of security to user accounts in OPS-COM, significantly enhancing protection against unauthorized access. Currently, the primary method implemented is the use of one-time passwords (OTPs) sent via email. This article outlines how administrators can configure MFA at the system level and how users interact with this enhanced security feature on their portal.

Setup & Configuration

Implementing MFA involves administrator-side configuration within System Settings and customizing the associated email template.

Admin Side Configuration

One-time passwords will not be available on the user portal until enabled within System Settings.

  1. Hover over System Configuration and click System Settings.
  2. On the User Profile tab, click Enable Multi-Factor Authentication.

If this setting is not available for you to change, please have your primary Admin contact support@ops-com.com to have it turned on.

This is a ternary setting, meaning it has three different states, allowing for flexible control over MFA implementation:

Email Template Configuration

The content of the one-time password email sent to users is defined within a dedicated email template.

  1. Hover over System Configuration, Content & Designs and click Email Templates.
  2. Locate and edit the One-Time Password Email Template.

Here, administrators can define the message and branding of the email. In addition to general user-specific shortcodes, this template includes specific shortcodes for OTP details:

One-time passwords always expire after 15 minutes. This cannot be changed.

jYLimage2.jpg


Using this Feature

User-Side MFA Management

Users can enable and manage their one-time password settings from their security page (formerly the passwords page). Refer to this wiki article to see the steps involved.

The state of the user's one-time password verification is stored in the local storage of their session data. If the local storage is cleared (e.g., clearing browser cache), they will have to enter another one-time password. The MFA verification does not persist across different web browsers or devices, meaning the user will have to enter a new one-time password if they try to log in using another browser or device.


Best Practices & Considerations

Password and Security Settings

The Security Settings in OPS-COM provide administrators with critical tools to enforce robust password policies and manage login security for all administrative accounts. Properly configuring these settings is essential for protecting sensitive system data, preventing unauthorized access, and complying with organizational security standards.

Security settings are managed within the System Settings area of OPS-COM.

  1. Hover over System Configuration, and click System Settings.
  2. Click Security. The Manage System Settings window will open, displaying all available security configurations.

Using this Feature

The Security component within System Settings allows administrators to configure various aspects of password management and account lockout policies.

Password Security Settings

Note: Once Hash and Salt is enabled, it should not be turned off.

Password Strength Requirements

These settings allow you to enforce complexity rules for administrator passwords.

Admin Account Lockout Settings

These settings provide an additional layer of security by locking an administrator out of their account after repeated incorrect password attempts.


Best Practices & Considerations

Uploading and Managing Files

The Manage Files section in your OPS-COM Admin site provides a centralized repository for all files used across your OPS-COM instance, primarily images for your user and admin dashboards. This feature allows administrators to easily upload, view, organize, and manipulate these files, ensuring consistent branding and visual content throughout your system.

Using this Feature

The Manage Files page offers different ways to view and interact with your uploaded files.

  1. To access this, click System Configuration, then Manage Files.
Viewing Files

Files can be viewed in two primary modes:

Managing Existing Files

By right-clicking on an image or file, a contextual menu will appear, giving you several options:

To crop an image (i.e., resize or adjust its visible dimensions to focus on a specific area), first View the image. Then, click the Cropping icon to begin selecting the desired area of the image.

Adding Files to the Repository

To add new files to this repository, click on the Upload tool. An Upload files interface will appear, prompting you to Select files, then Submit. The file will then be uploaded to your site's file storage.

Note: Once an image is uploaded, it cannot be moved to a different folder. To maintain proper organization, ensure that you upload the image directly into the intended destination folder.

Adding Images to a Page (Referencing Uploaded Files)

To display an image you've uploaded onto an OPS-COM page (e.g., a page header or a custom content area):

  1. Click Insert in the text editor toolbar.
  2. Select Image from the dropdown menu.
  3. In the Insert/edit image window, click the search folder icon next to the source field to open the Filemanager.
  4. In the Filemanager, locate and double-click the image you wish to insert.
  5. The image will be added to the page at the location of your cursor.

Best Practices & Considerations

Dashboard Layouts and Custom Items

OPS-COM's System Dashboard provides administrators with a customizable interface for quick access to key statistics and information through various widgets. This article focuses on how administrators can create and manage custom dashboard layouts, custom items, arrange widgets, and configure permissions to tailor the dashboard view for individual users or set system-wide defaults.

Setup & Configuration

Configuring dashboard layouts requires specific administrative permissions.

Assigning Dashboard Permissions
  1. Click System Configuration, then Admin Management, and click Manage Roles.
  2. On the Manage Administrator Roles screen, click the Permissions button next to the role you want to configure. The Editing Permissions screen will display.
  3. Click System Configuration.
  4. Ensure the following checkboxes are enabled:
    • Change Dashboards: Allows the administrator to view and select different active dashboard layouts.
    • Edit Dashboard Layouts: Allows the administrator to create, modify, and delete dashboard layouts.
    • Edit Dashboard Items: Allows the administrator to create and manage custom dashboard widgets (items).
  5. Click Save Permissions.

Using this Feature

The Dashboard provides a flexible interface for administrators to arrange widgets according to their needs. To learn more about using this feature, refer to this wiki page

Managing Layouts

Admins with the Edit Dashboard Layouts and Edit Dashboard Items permissions can manage layouts and widgets.

  1. Click System Configuration, then Dashboard, and click Dashboard Layouts.

Within Dashboard Layouts, you can perform the following actions:

Creating and Editing Dashboard Layouts
  1. Click New Layout (to start fresh) or Edit an existing layout (to modify it). This will open the layout editor interface.
  2. Drag and drop widgets from the Widget Storage sidebar onto the main dashboard area.
  3. Once on the dashboard, you can resize and arrange widgets as needed to create your desired layout.
  4. Widgets that are left in the Widget Storage sidebar will not appear on the dashboard. Any new widgets (whether system-created or custom-created) will initially appear in this Widget Storage sidebar, awaiting placement.
  5. Remember to Save your layout changes.
Creating Custom Dashboard Items (Widgets)

Custom dashboard items allow you to add unique content widgets to your dashboards.

  1. Click System Configuration, then Dashboard, and click Custom Dashboard Items.
  2. Click Create New (to create a new custom widget) or Edit (to modify an existing one). This will open the item editor.
  3. Fill in the following fields:
    • Title: This will be the header of your widget as it appears on the dashboard.
    • Identifier: A unique ID used for identifying the widget internally.
    • Language: Allows you to create different language versions of the widget content for multi-language sites.
    • Content: Add text, images, HTML, or other elements that will make up the body of your widget.
  4. Save Changes.
  5. Once saved, your custom widget will appear in the Widget Storage sidebar on the Dashboard Layouts page. You can then drag it onto a dashboard layout and save the layout.
Types of Widgets

The dashboard supports different types of widgets, identified by their color coding in the Widget Storage:


Best Practices & Considerations