What is ACL and how does IProperty use it?

ACL Overview

Figure A: IProperty Access Control
Figure A: IProperty Access Control

The Joomla ACL system can be thought of as being divided into two completely separate systems. One system controls what things on the site users can view. The other controls what things users can do (what actions a user can take). The ACL for each is set up differently. To learn more, please see the Joomla ACL docs.

IProperty ACL

To use the administrative ACL, first choose either “Company” or “Agent” from the Admin ACL toggle in the IProperty General Settings (Figure B).

Figure B: IProperty Access Control Level
Figure B: IProperty Access Control Level

IProperty ACL Levels

  • Disabled: Admin ACL will not be used – front-end editing will be disabled, and no restrictions on number of listings or access will be used
  • Company: Agents will be able to edit any listings and agents owned by their company regardless of listing agent
  • Agent: Agents will only be allowed to edit listings owned by their own profile (eg. that they are the “listing agent” for) and their own agent profile
  • None: No restrictions on who can access what. Any agent can edit any property, front end or back end, and all property, company and agent objects are accessible to anyone with access to the IProperty system

Once the Admin ACL setting is enabled, you’ll notice several additional options in certain dialogues. These options will not appear if the Admin ACL is disabled.

Super Agents

In the Agents view, you’ll see that there’s a new status button for “Super” (Figure C). 

Figure C: IProperty Super Agent
Figure C: IProperty Super Agent

The “Super” column is used to designate “Super agents”, or agent admins. By setting an agent to a “super agent”, you allow that agent to edit all listings for his/her company, as well as editing the company’s definition in the “Company” view. Non- super agents will not be allowed to edit the company definition, and if the Admin ACL is set to “Agent” they will not be able to edit listings owned by other agents in their company.

It is recommended that you make at least one agent in each company a “Super” agent, in order to allow them to take over routine IP admin tasks from the site administrator.

Maximum Restrictions

Another feature of the Admin ACL is that the administrator can set maximum limits for the number of properties an agent can add to the system, the maximum number of listings for an entire company, the maximum number of agents per company and the maximum images per property for each company.

When the Admin ACL is active, you will notice agent and company parameter values in the Agent and Company view (Figure D & E)

Figure D: IProperty Agent Params
Figure D: IProperty Agent Params
Figure E: IProperty Company Params
Figure E: IProperty Company Params

To use the agent and company parameters, simply add an integer value for the max listings and/or max agents input.

The result of this is that as as Site Admin, you can set Company A to a maximum of 20 listings – the Super Agent can then determine that each of his Agents can have 5 listings each, or he can leave the maximums unset, meaning any agent can use as many listings as he can until the Company maximum limit is reached.

Figure F: IProperty Agent Linked User
Figure F: IProperty Agent Linked User

Third Party ACL Tools

At this time Advanced Expiration Control (AEC) and Akeeba Subscriptions have developed plugins to integrate their subscription management tools with IProperty. Using these tools you can allow users to purchase subscriptions with variable rates, terms, and ACL parameters.

Listings, agents and companies will automatically be unpublished and disabled at the expiration of the subscription term. In this way you can monetize your IProperty website by allowing users to post their own listings once they’ve purchased a subscription.