Configuration

[TOC]

1. Overview of the Configuration Feature

The Configuration feature is the control center of the entire OS Property system. This is where administrators set up and control system behavior at the operational level — from business information, listing workflows, and payments, to display settings and third-party service integrations.

All changes are saved to the system and take effect immediately across the entire website, with no restart or additional technical intervention required.

Access: Log in to the administration panel → Go to Components → OS Property → Configuration

The Configuration screen is organized into multiple tabs, each managing a specific group of settings. Administrators can navigate between tabs, make changes, and click Save to apply them.


Role of Configuration in OS Property Operations

Purpose Description
Process control Defines how the system handles listings, account registration, and payments
Display management Controls what users see on the website interface
Integration configuration Connects to external services such as maps, payments, calendars, and memberships
Business rules setup Defines rules such as listing expiration, approval workflows, and listing fees
Brand management Displays business name, address, and email throughout the system

2. Configuration Groups

2.1 Business Information

Purpose: Store and display the business brand identity information throughout the system.

Configurable settings:

  • Business name
  • Address, phone number, and contact email
  • System notification email (for new listing notifications, new registrations, etc.)
  • Show or hide the copyright section in the page footer

Impact of changes: New information appears immediately on print pages, outgoing emails, and system headers.

Notes:

  • The business contact email used in property inquiry forms is different from the system notification email.
  • The notification email should be a mailbox that is actively monitored so that new requests are not missed.

2.2 Currency and Price Format

Purpose: Configure how the system displays property prices to users.

Configurable settings:

  • Default currency unit (e.g., USD, VND, EUR — selectable only from the list of enabled currencies)
  • Price display format (e.g., 1.000.000,00 or 1,000,000.00)
  • Currency symbol position (before or after the amount)
  • Enable/disable live currency conversion on the website
  • API key for the exchange rate conversion service (requires registration with an external service)

Impact of changes: Prices displayed across all property listings, detail pages, and notification emails will change accordingly.

Notes:

  • The currency conversion feature only works with a valid API key.
  • The list of currencies can be managed separately under Currencies (a dedicated tab in Configuration).

2.3 Interface and Page Display

Purpose: Control general display elements of the website such as date formats, country display, and UI libraries.

Configurable settings:

  • Date/time format displayed throughout the system
  • Default country list shown in search and listing forms
  • Enable/disable Bootstrap (version 4 or 5) and Chosen.js UI libraries
  • Enable/disable lazy loading of images to optimize performance
  • Top navigation menu: enable/disable individual items (new listing, search, categories, agents, featured listings, favorites)

Impact of changes: Affects the overall website interface and user experience.

Notes:

  • If the website's Joomla template already includes Bootstrap, it is recommended to disable Bootstrap loading from OS Property to avoid interface conflicts.
  • The order and presence of top menu items directly affects frontend user navigation.

2.4 Map

Purpose: Configure the map displayed on property detail pages and search pages.

Configurable settings:

  • Map provider selection: Google Maps or OpenStreetMap
  • Google Maps API key (required when using Google Maps)
  • Google map display type: Roadmap, Satellite, Hybrid
  • Enable/disable Street View (Google Maps only)
  • Default coordinates when initializing the map (latitude, longitude)
  • Default zoom level
  • Maximum zoom limit on the property detail page

Impact of changes: The map displayed throughout the website will change accordingly.

Operational notes:

  • When using Google Maps, a valid API key is required; without it, the map will not display.
  • The maximum zoom limit helps protect the privacy of the exact property address.
  • OpenStreetMap does not require an API key and is an alternative when a Google Cloud account is unavailable.

2.5 Property Management / Listings

Purpose: Control the listing submission workflow, required fields, and display features on property pages.

Configurable settings:

Listing Workflow

  • Auto-approve listings or require manual administrator approval
  • Default access level for listings submitted from the frontend
  • Maximum number of images that can be uploaded per property
  • Maximum number of attached PDF files
  • Reference code rules (manual entry or auto-generated with a custom prefix)
  • Redirect URL when a property is no longer available

Information Fields

  • Whether address entry is required
  • Whether short description entry is required
  • Enable/disable field groups: Bedrooms, Bathrooms, Rooms, Floors, Parking, Area, Basement, Business Information, Agricultural Information, Property History, Open House Event

Detail Page Display

  • Enable/disable: Energy/CO₂ rating images, Walk Score, PDF export, social media sharing, print page, save to favorites, property comparison, directions, request for more information
  • Enable/disable amenities group, features, and neighborhood information
  • Enable/disable related properties (same city, same type, same category)

Ratings and Comments System

  • Enable/disable the ratings and comments feature
  • Restrict comments to logged-in users only, or allow guests
  • Auto-approve comments or require manual moderation

Sold/Rented Status

  • Enable/disable the workflow for marking properties as sold or rented
  • Restrict which property types can use this status

SEF (Search Engine Friendly) URL Format

  • Three URL format options: alias only, reference code + alias, or reference code + alias + ID

Impact of changes: Directly affects the user listing submission process, the detail page layout, and the ability to interact with properties.

Notes:

  • When auto-approval is enabled, listings submitted from the frontend appear immediately without review.
  • Changing the URL format after the website is already live may affect SEO and previously saved links.

2.6 Energy and CO₂ Ratings

Purpose: Display energy performance and CO₂ emission information for properties according to a rating scale (A through G).

Configurable settings:

  • Enable/disable the energy and CO₂ chart on property pages
  • Energy rating labels (e.g., A, B, C, D, E, F, G)
  • Value thresholds for each energy rating
  • Similar CO₂ rating labels and thresholds

Impact of changes: The energy/CO₂ chart on property detail pages will reflect the new ratings.

Notes:

  • The number of rating labels must be exactly one more than the number of thresholds (e.g., 7 labels A–G require 6 thresholds). If incorrect, the system may display the chart incorrectly or not at all.
  • Thresholds must be arranged in ascending order.

2.7 Payment and Listing Expiration

Purpose: Control the listing fee collection process and automatically manage the listing lifecycle.

Payment

Configurable settings:

  • Enable/disable the listing fee feature
  • Fee for standard listings
  • Fee to upgrade to a featured listing

Impact of changes: When payment is enabled, users are directed to a payment process before the listing is published. When disabled, all listings are free.

Listing Expiration

Configurable settings:

  • Enable/disable automatic listing expiration
  • Lifetime of standard listings (in days)
  • Lifetime of featured listings (in days)
  • Grace period after expiration before the system automatically deletes the listing (in days)

Expiration Notifications

Configurable settings:

  • Enable/disable sending email notifications before a listing expires
  • Number of days before expiration to send the notification
  • Maximum number of emails sent per hour (to avoid server overload)

Impact of changes: Listing owners will receive reminder emails according to the configuration. After the grace period ends, listings will be deleted from the system.

Important notes:

  • When enabling expiration on a system that already has existing listings, the countdown timer will also be applied to those older listings. Carefully consider this before enabling the feature on a live system.
  • The expiration notification system requires a cron job configured on the server to run automatically on a schedule.

2.8 Agents and User Types

Purpose: Control the agent account registration process, permitted user types, and the display of agent information on the website.

Configurable settings:

User Types

  • Select the user types permitted for registration: Agent, Homeowner, Broker, Investor, Contractor, Lessor, Seller
  • Default user type pre-selected when accessing the registration form

Agent Registration Workflow

  • Enable/disable open agent account self-registration
  • Auto-approve or require manual approval
  • Joomla user group that agents will be assigned to upon registration
  • Show login form on the registration page
  • Require CAPTCHA during registration
  • Require reading and agreeing to the Terms of Use (can link to a specific Joomla article)
  • Redirect page after successful registration

Agent Profile Display

Enable/disable displaying each information field on the agent profile page:

  • Profile photo, address, email, phone, mobile, fax
  • Skype, LinkedIn, Facebook, Twitter
  • Professional license number
  • Agent contact form
  • Agent's property listings

Agent Listing Display

  • Enable/disable the search bar on the agent listing page
  • Show only agents with active listings
  • Show A-Z filter
  • Show highest-rated / most-viewed agents

Impact of changes:

  • Changing the Joomla group for agents will simultaneously move all existing agents to the new group — this is a wide-impact operation.
  • Disabling open registration will prevent users from creating new agent accounts from the frontend.

2.9 Real Estate Companies

Purpose: Control the registration and management of real estate company accounts on the system.

Configurable settings:

  • Enable/disable company account registration
  • Auto-approve or require manual approval
  • Require CAPTCHA during registration
  • Require agreement to Terms of Use
  • Show login form on the company registration page
  • Joomla user group that companies will be assigned to
  • Whether companies can add/manage their own agents
  • Whether companies can change the featured listing status
  • Whether companies can add/edit properties for their agents
  • Redirect page after successful company registration

Impact of changes:

  • Changing the Joomla group for companies will also move all existing companies to the new group.
  • Company permission settings directly affect the operational capabilities of companies currently active on the system.

2.10 Images and Watermarks

Purpose: Control how images are processed upon upload and protect the brand through watermarks.

Configurable settings:

Image Sizes

  • Thumbnail image size (small image in listing views)
  • Medium image size (displayed on the detail page)
  • Maximum size of the original image upon upload
  • Thumbnail processing mode: crop to exact dimensions, resize while maintaining aspect ratio, or no resize
  • JPEG image compression quality (0–100%)
  • Background fill color when an image requires padding (hex color code)

Watermark

  • Enable/disable the watermark feature
  • Watermark type: text or image
  • Watermark position on the image (9 positions: left/center/right, top/middle/bottom)
  • Text watermark content (business name, website URL, or custom text)
  • Font and font size (for thumbnail, medium, and original images)
  • Text watermark color
  • Custom watermark image (when using the image type)

Impact of changes:

⚠️ Important note: Watermarks are applied at the time of image upload and are not applied retroactively. Images uploaded before the watermark configuration was changed will not be affected. Only images uploaded after the new configuration is saved will carry the new watermark settings.


2.11 Search and Filters

Purpose: Control the search form and filters displayed to users on the frontend.

Configurable settings:

General Search Settings

  • Show only locations with active listings (filter out empty options)
  • Enable/disable the "My Location" button (uses device GPS)
  • Select property types to appear in the search form
  • Default sort order for search results

Price Filter

  • Price filter type: dropdown for price range selection, or slider
  • Minimum, maximum, and step values for the price slider
  • Configure separate price ranges for each property type

Radius Search (Locator)

  • Default location and default search radius
  • Distance unit: kilometers or miles
  • Maximum number of results to display
  • Enable/disable property type and category filters in the locator
  • Show address in locator results

Filter Fields in the Advanced Search Form

Enable/disable individual filter fields: Keyword, Category, Transaction Type, Country, City, District, Region, State/Province, Minimum Bedrooms, Minimum Bathrooms, Price Range, Agent

Impact of changes: Directly affects the search interface and users' ability to filter results.

Note: Hiding many filter fields may simplify the interface but also reduces users' ability to perform precise searches.


2.12 Alert Email and Cron Configuration

Purpose: Adjust the frequency and processing volume of the automated alert email system (e.g., emails notifying users of new properties matching their saved searches).

Configurable settings:

  • Enable/disable the new property alert email feature
  • Maximum number of properties to process per cron run
  • Maximum number of watchlists to process per cron run
  • Maximum number of emails to send per cron run

Operational note: This feature must be combined with a cron job configured on the server to run automatically on a scheduled basis. The cron job must be configured separately by the system administrator.


2.13 Privacy (GDPR)

Purpose: Ensure compliance with personal data protection regulations when collecting user information.

Configurable settings:

  • Enable/disable the privacy policy consent requirement during registration/listing submission
  • Link to the article containing the privacy policy
  • Enable/disable an opt-in option allowing users to manage their own personal data

Impact of changes: When enabled, all registration and listing forms will display an additional privacy policy consent requirement.


2.14 Inappropriate Content Reporting

Purpose: Allow users to report listings, agents, or companies with violating content.

Configurable settings:

  • Enable/disable the report content button on property pages, agent pages, and company pages

Impact of changes: When enabled, a "Report" button appears and users can submit content review requests to administrators.


2.15 Third-Party Service Integrations

Purpose: Connect OS Property with external systems to extend functionality.

OS Membership Integration

  • Enable/disable the connection to the OSMembership membership management system
  • Configure the redirect page for users without an active subscription

Impact: When enabled, users must have a valid membership plan to submit listings or access certain features.

OS Calendar Integration

  • Enable/disable the connection to the OSCalendar calendar system
  • Select property types that support date-range search

Impact: When enabled, users can filter properties by available/booked dates (useful for short-term rental properties).

Walk Score

  • Enable/disable the walkability rating widget for the property area
  • Configure the Walk Score API key and widget dimensions

2.16 Default Sort Order and Pagination

Purpose: Set the default ordering when users view property, agent, and category listings.

Configurable settings:

  • Default sort criteria and direction for: agent listing, category listing, property listing
  • Number of items displayed per page
  • Use OS Property pagination or Joomla's default pagination

2.17 Custom CSS

Purpose: Allow frontend interface customization without directly editing template files.

Configurable settings:

  • Enter custom CSS code to apply to the entire OS Property interface

Impact of changes: Custom CSS is saved and applied immediately to the website interface.

Note: This feature is only visible when a code editor (CodeMirror) or the no-editor mode is selected in settings.


3. Configuration Management Workflow

3.1 Viewing and Reviewing Current Configuration

  1. Log in to the Joomla administration panel.
  2. Go to Components → OS Property → Configuration.
  3. Navigate through each tab to review the currently applied settings.
  4. No action is needed if only reviewing — the configuration will not change unless Save is clicked.

3.2 Updating Configuration

  1. Access the Configuration screen as described above.
  2. Select the tab containing the configuration group to be changed.
  3. Make the desired value changes.
  4. Click Save (or Save & Close) to save all changes.
  5. The system applies changes immediately — no cache clearing or restart is required.

Note: The Save action applies all tabs, not just the currently viewed tab. If a colleague is changing the configuration at the same time, two consecutive saves may overwrite each other.


3.3 Post-Change Verification

After saving, it is recommended to verify:

Changed Configuration Group What to Check
Business information Print page, outgoing emails, page footer
Currency Prices displayed in listings and detail pages
Map Map on the property detail page
Search Search form and search results
Agents/Companies Registration form, agent listing page
Images/Watermark Upload a new image and check the applied watermark
Payment Listing submission process with payment step
Expiration Listing status of a test account

3.4 Managing Sensitive Configuration Changes

Some configurations have wide-reaching effects and must be handled carefully:

Sensitive Configuration Recommended Action Before Changing
Joomla group for agents/companies Notify the operations team in advance; all existing users will be moved
Enable listing expiration system Confirm how many existing listings will be affected
Auto-approve listings Ensure an alternative content control process is in place
Enable/disable payment feature Verify the current payment process is working
Change SEF URL format Check existing links before and after the change

4. Business Rules and Operational Notes

4.1 General Principles

  • All changes take effect immediately after saving, regardless of cache or system settings.
  • There is no undo feature — to restore previous settings, the old values must be re-entered manually.
  • Only users with OS Property component management permissions are allowed to access and change the configuration.

4.2 Dependencies Between Configurations

Primary Configuration Dependent Configuration Notes
Enable watermark Watermark type, position, content Watermark options are only visible when watermarks are enabled
Enable payment Standard listing fee, featured listing fee Payment plugin must also be configured
Enable listing expiration Lifetime, grace period, notifications Requires a cron job for automatic processing
Enable expiration notifications Days before expiration, email/hour limit Requires a working cron job
Enable Walk Score Walk Score API key Will not display without a valid API key
Enable Google Maps Google Maps API key Map will not load without a valid or unexpired API key
Enable Membership integration Redirect URL for users without a subscription OSMembership must be installed first
Enable Calendar integration Property types supporting date-range search OSCalendar must be installed first
Enable Terms of Use (agents/companies) Terms article ID The article must exist in Joomla
Enable privacy policy Privacy policy article ID The article must exist in Joomla
Enable currency conversion Exchange rate API key Will not work without a valid API key

4.3 Configuration Constraints

  • The default user type must be included in the list of enabled user types.
  • Energy/CO₂ rating labels must be exactly one more in count than the number of thresholds.
  • Energy/CO₂ thresholds must be arranged in ascending order.
  • Price slider range — the minimum price must be less than the maximum price; the step value must be a positive number.
  • The maximum number of images per property is limited by the server's PHP configuration.

4.4 Invalid Changes or Cases Requiring Attention

  • When disabling the comments system, the system automatically resets all comment-related settings to the disabled state.
  • Watermarks are not applied retroactively — changing watermark settings does not affect images uploaded previously.
  • Changing the Joomla group for agents or companies will move all existing users from the old group to the new group — this is a wide-impact operation that cannot be easily undone.
  • Enabling listing expiration on a live system will start the countdown timer for existing listings — users should be notified in advance.
  • Changing the SEF URL format after the website is live may cause 404 errors for old URLs that have been indexed by search engines.

4.5 Access and Permissions

  • Only users with OS Property component management permissions (typically Super Administrators or Administrators with specifically granted rights) can view and change the configuration.
  • These permissions are managed through Joomla's standard ACL system, under Options → Permissions for the component.

5. Common Scenarios

Scenario 1: Reviewing Configuration Before Going Live

Context: A newly installed system or after a version upgrade, a full configuration review is needed before opening to users.

Steps:

  1. Go to Configuration and open each tab in turn.
  2. Check business information (name, email, phone).
  3. Confirm that the default currency and price format are appropriate for the market.
  4. Verify the Google Maps API key is still valid.
  5. Confirm the listing approval process (auto or manual).
  6. Check whether required integrations (Membership, Calendar) have been enabled.

Scenario 2: Enabling the Listing Fee Feature

Context: Deciding to switch from a free model to a paid model.

Steps:

  1. Go to the Payment & Expiration tab.
  2. Enable the "Activate payment" option.
  3. Enter the fee for standard listings and featured listings.
  4. Ensure at least one Payment Plugin (PayPal, Stripe, etc.) has been installed and configured in the plugin management area.
  5. Test the listing submission process from a test account.

Note: If no Payment Plugin is configured, enabling payment may prevent users from completing the listing submission process.


Scenario 3: Changing the Map Provider

Context: Switching from Google Maps to OpenStreetMap (or vice versa) due to a change in API cost policies.

Steps:

  1. Go to the General tab → Map Settings section.
  2. Change the map provider option.
  3. If switching to Google Maps: enter a valid Google Maps API key.
  4. If switching to OpenStreetMap: no API key is required.
  5. Save the configuration and check the map on a property page.

Scenario 4: Configuring Brand Watermarks

Context: Wanting to add a logo or brand name to all property images.

Steps:

  1. Go to the Images tab.
  2. Enable the watermark option.
  3. Select the watermark type (text or logo image).
  4. Configure the position, font, and color (for text watermarks) or upload a logo image file (for image watermarks).
  5. Save the configuration.
  6. Upload a new property image to verify the result.

Note: Previously uploaded images are not affected. To apply the watermark to old images, those images must be re-uploaded.


Scenario 5: Enabling the Listing Expiration System

Context: Wanting to automatically manage the listing lifecycle to prevent old listings from persisting indefinitely.

Steps:

  1. Notify existing users in advance about the new expiration policy.
  2. Go to the Payment & Expiration tab.
  3. Enable the expiration management option.
  4. Set an appropriate lifetime (e.g., 30 days for standard listings, 15 days for featured listings).
  5. Set a grace period (e.g., 15 days) so users can renew before the listing is deleted.
  6. Enable email notifications and set the advance notice period (e.g., 4 days).
  7. Ensure a cron job has been configured on the server.
  8. Save the configuration and monitor the system for the first few days.

Scenario 6: Users Report Missing Search Filters

Context: Users report that they cannot see the "State/Province" or "Bedrooms" filter in the search form.

Steps:

  1. Go to the Search tab.
  2. Check the filter display options in the advanced search form.
  3. Re-enable the disabled filters.
  4. Save the configuration and verify the search interface.

Scenario 7: Map Not Displaying on the Website

Context: Users report that the map displays an error or fails to load.

Steps:

  1. Go to the General tab → Map Settings section.
  2. Check the Google Maps API key currently configured.
  3. Confirm the API key is still valid and has not exceeded its usage quota (check on Google Cloud Console).
  4. If the API key cannot be renewed, consider temporarily switching to OpenStreetMap.
  5. Save the configuration and reload the property page to verify.

Scenario 8: Restricting Allowed Registration User Types

Context: Only wanting to allow "Agent" and "Homeowner" account types to register, and no others.

Steps:

  1. Go to the Agents tab.
  2. Under User Types, deselect the user types that should not be activated.
  3. Ensure the default user type is still included in the selected list.
  4. Save the configuration.
  5. Check the registration form on the frontend to confirm only the selected types are available.

6. Summary for Backend Administrators

What Configuration Currently Supports

Feature Group Level of Control
Business brand information Full
Currency and price format Full
Map (Google Maps / OpenStreetMap) Full
Listing submission and approval workflow Full
Fee collection and listing expiration management Full
Agent management and user types Full
Real estate company management Full
Image processing and watermarks Full
Search and filters Full
Menu interface and navigation Full
Social features (sharing, favorites, comparison) Full
GDPR / Privacy Basic
OS Membership integration Basic (requires additional installation)
OS Calendar integration Basic (requires additional installation)
Walk Score Basic (requires API key)
Custom interface CSS Yes

Key Points to Remember

  1. Changes take effect immediately — there is no staging or preview; all changes are applied directly to the live website.
  2. No undo — record old values before making changes if restoration may be needed.
  3. Watermarks are not retroactive — only applied to images uploaded after the new configuration is saved.
  4. Changing the Joomla group for agents/companies affects all existing users.
  5. Some features require additional infrastructure: cron jobs (listing expiration, alert emails), API keys (maps, exchange rates, Walk Score), payment plugins.

Configurations Requiring Strict Control

Configuration Reason for Strict Control
Joomla group for agents/companies Wide impact on all existing users
Enable listing expiration system Affects all existing listings
Enable/disable auto-approve listings Affects content control
Enable/disable payment Affects revenue and listing submission workflow
Change SEF URL format May cause broken links after the change
Watermark configuration Cannot be retroactively applied to old images

Ongoing Operational Monitoring Points

  • API keys: Google Maps, currency exchange rates, Walk Score — usage quotas and renewals should be monitored periodically.
  • Cron jobs: Automated features (listing expiration, alert emails) depend entirely on cron jobs running on the server — these should be checked periodically.
  • Payment plugins: Payment gateway configuration (PayPal, Stripe, etc.) is managed separately under Payment Plugins, not within this Configuration screen.
  • Currencies: The list and status of each currency is managed under the dedicated Currencies tab in Configuration.
  • Advanced per-property-type configurations (separate price ranges, rental calendars) should be verified separately for each property type configured in the system.