Locations

Part of the IP4CMS portal. ← All module guides

What it's for β€” Locations is the geographic backbone of the whole system: the register of every place your organisation works with β€” regions, districts, branches, congregations, sites, units β€” arranged as a parent/child hierarchy. Each location has a type (which governs who can manage it and whether it can be used as a property), can be filed into a group, and can carry a map point or drawn shape (point, polygon, route, or circle). Because almost everything else β€” members, properties, facilities, mapping, devices, reporting β€” hangs off a location, the structure you build here is foundational and used across the portal.

Where to find it β€” In the main menu, open Locations. The landing screen lists every location at route /app/locations/list. The supporting catalogues β€” Location types, Location groups, and Location group types β€” live both under the Locations menu (/app/locations/types, /app/locations/location-groups, /app/locations/location-group-types) and under Settings (/app/settings/location-types, /app/settings/location-groups, /app/settings/location-group-types). Both routes open the same screens.

Before you start

Key tasks

Build the location hierarchy (parent/child)

The hierarchy is what makes locations powerful: a manager or a member attached to a parent location automatically reaches everything beneath it.

  1. Go to Locations (/app/locations/list).
  2. Click Add Location (only shown with locations:create:all).
  3. Fill in the form:
  1. Save. New locations are created without managers; you assign managers by editing the location afterwards (see Assign managers).

To inspect the tree, open any location's detail page β€” it shows the parent it sits under. Roots are locations with no parent.

Place a location on the map / draw a geofence

On the location form there is an interactive map (it opens centred on a default point and zoom).

  1. Use the drawing tools on the map to add geometry:
  1. The Coordinates and Shape type fields below the map update to reflect what you drew (they are read-only displays).
  2. Use Clear Shape to remove the drawn geometry and start again.

The shape type is stored as polygon, circle, or route. This geometry is what the Mapping module and any spatial features render.

Manage location types

Location types categorise locations and control two important behaviours: which member ranks may manage them, and whether they can act as properties.

  1. Go to Location types (/app/locations/types or Settings β†’ Location types).
  2. Click to add a type (or open one to edit). The list shows Name, whether it is the Base type, and the ID, with View / Edit / Delete actions and a search box.
  3. Fill in the form:

Manage location groups and group types

Groups are a second, looser way to organise locations (for example "Western Region", "City Centre"), independent of the parent/child tree. Each group has a group type.

Define a group type first (/app/locations/location-group-types or Settings β†’ Location group types):

Then create a group (/app/locations/location-groups or Settings β†’ Location groups). The list shows Name, Type, Description, and Created, with a search box and a filter by group type:

A location is filed into a group via the Location Group field on the location form.

Assign members to locations

Attaching a member to a location is what gives that member their place in the hierarchy (their "home" / primary location) and what the visibility rules are built on.

Assign managers to a location

  1. Open a location and click Edit Location (the manager section only appears in edit mode, and only when the members:ranks and locations:managers capabilities are present).
  2. The Location Managers section lists every eligible member β€” filtered to the manager ranks defined on the location's type β€” showing name, rank, and email.
  3. Tick the members who should manage this location. The selected count is shown. Save.

A location manager can manage that location and everything below it in the hierarchy. Managers can also be assigned at the location-type and location-group level (a type manager manages all locations of that type; a group manager manages all locations in that group and its child groups).

Bulk-load locations (GeoJSON / CSV import)

For large datasets you don't have to create locations one at a time.

GeoJSON import (button: Import GeoJSON, requires locations:create:all):

  1. From the locations list, open the GeoJSON import dialog.
  2. Choose a source: upload a file (.geojson / .json) or import from a URL (must be https://).
  3. Set the import options:
  1. Run the import. Each feature's name/NAME becomes the location name and its address/ADDRESS the address; geometry is converted automatically β€” a Point becomes a small circle, a Polygon/MultiPolygon becomes a polygon, a LineString/MultiLineString becomes a route.
  2. When it finishes you'll see a summary: created, skipped (duplicates), and any errors (each tagged with the feature index that failed).

CSV bulk upload (button: Bulk Upload, requires locations:create:all) opens the standard bulk-upload dialog for locations and reports how many rows are being processed.

Find, filter, and open a location

  1. On the locations list, use the search box (searches by name β€” press Enter to apply) and the toolbar filters: Type and Status. Build filter pills via Add filter and remove them individually.
  2. The grid shows Name, Code, Type, Status, Location Group, Address, and Created.
  3. Use View to open the detail page, Edit (needs locations:update:all) to change it, or Delete (needs locations:delete:all).

Review the location detail tabs

The detail page opens on Overview (name, code, type, status, group, supplier, parent, address, tags, and technical IDs). Additional tabs appear depending on which modules your licence enables:

If the certificates module is enabled, the Overview also offers a certificate template picker and a Generate and download action.

How the data connects

What you enter here is stored as four linked record types β€” location types, locations, location groups (under location group types), and the member ↔ location assignments β€” and it feeds much of the rest of the portal:

In short: locations are the spine. Get the types, groups, and parent/child structure right early, because changing it later ripples through everything attached.

Permissions & access

Tips & gotchas