Once Report It has been installed the following elements should also be set up, or may need to be modified.
Confirmation and Disclaimer Text
Each report you set up lets you add custom text for various disclaimers, instructions and warnings. The main Report It configuration End Point,
"text": {
The text appears in the following places:
"mapInstructions": "Please select the location of the #NAME# on the map below. You can drag the pin to the location required or you can use the search box to find a specific area.",
"existingReportIntro": "We've already had some reports of #NAME# in this area. Is what you are reporting one of these?",
"subTypeIntro": "Please provide us with some more details about the #NAME#",
"disclaimerText": "Goss does not guarantee the material, accuracy, or use of any materials reported on this page. Goss also disclaims all liability for claims or damages whatever nature and extent that may result directly or indirectly from any material being displayed.",
"uploadDisclaimerText": "Goss disclaims all liability for claims or damages of whatever nature and extent that may result directly or indirectly from any material uploaded on this page. By uploading the material you grant Goss the irrevocable right to use the uploaded material for purposes. Goss reserves the right to revise, review and/or remove any material submitted without prior notice.",
}
- mapInstructions - Appears above the map on page one of the report form
- existingReportIntro - Appears above the map showing existing reports
- disclaimerText - Appears above the map showing existing reports
- subTypeIntro - Appears on the "sub type" page if users are able to refine the type of thing being reported (eg an abandoned vehicle report could let a user pick the type of vehicle)
- uploadDisclaimerText - Appears above the image upload button
All text areas support the
Reminder Emails
The uploaded image approval process sends out reminder emails to appropriate staff members about images that are awaiting approval. These reminders are handled by an iCM mailing rule and scheduled End Point.
To disable reminders, don't schedule the End Point.
Mailing Rule
Create an iCM Mailing Rules for the users who should handle image approvals. You can create multiple rules if you have different teams who handle different types of report. The mailing rule IDs and types of report they approve are added to the configuration End Point (below). You should always create a default rule.
The simplest type of rule to set up is a group rule. Remember that mailing rules apply to site users, not iCM users.
Configuration
The main Report It configuration End Point,
"approvalReminders": [{
"name": "_default", // All non-configured types use the _default ruleset
"days": 3,
"bulkMailRuleID": 8485
},{
"name": "Graffiti and vandalism approvers", // A friendly name used for logging etc
"days": 3, // How old submissions must be before a reminder is sent
"bulkMailRuleID": 8486, // Bulk mail rule ID to determine who is contacted
"types": ["graffiti", "vandalism"] // An array of config IDs that this rule will apply to
}]
You can set up multiple reminder rules by creating additional objects in the array and setting the
Scheduled End Point
Schedule the
Map Providers
Supported Coordinate Systems
Map providers are set up as products in the Configuration Manager. They have the following settings.
Setting | Description |
---|---|
Provider Name | A meaningful name for this provider, visible when picking map providers when configuring other products |
Provider ID | Generated automatically and used internally |
Provider | Either Google or OSM. If you select Google you will need to enter a Google Maps API key |
Map View | If you pick Google you can choose between hybrid, road, satellite and terrain |
Base Map | If you pick OSM, and have multiple base maps set up, pick the one you'd like to use. "Default" is the standard OSM base map. Other base maps need to be set up by a developer |
Map Zoom | The default zoom level when the map first loads. Google's zoom levels range from 1 (whole world) to 20 (building). OSM uses a similar scale, ranging from 0 (whole world) to 19 (street crossing) |
Map Centre | A comma separated lat/long to centre the map when it loads |
Map Boundary | The ID of a media item containing a GeoJSON object. The GeoJSON defines a boundary in which valid points can be reported. If no boundary is set the provider will fall back to the default. Boundaries need to be set up by a developer before they appear as a config option |
Google Maps API
If you are using Google Maps as your Map Provider then you'll need to enable the following APIs. They should be set up to use https://
- Maps JavaScript API - The core API powering the Map Provider
- Geocoding API - The lookup functionality powering the search and approve address text
- Maps Static API - The lower cost "Check your answers" page image
- Places API - The API powering the place names written to the map
Map Boundaries
Map boundaries (ie the area within which something can be reported) are defined by GeoJSON. You can set a default boundary that will be used across all maps, and pick a boundary to use per map provider. Your GeoJSON boundary should be held in the iCM media library as a
Your JavaScript media that define boundaries should have the following format:
getMapBoundary = function() {
return {
"features": [{
"geometry": {
"coordinates": [
[
[
-1.579692024999929,
54.965447425000036
],
[
-1.5799934849999318,
54.96559945400003
],
[
-1.5803243069999553,
54.965782140000044
],
]
],
"type": "Polygon"
},
"id": 1,
"type": "Feature",
"properties": {
"OBJECTID": 1,
"SHAPE.STLength()": 1.0211274500546963,
"SHAPE.STArea()": 0.020211834531210116
}
}],
"crs": {
"type": "name",
"properties": {
"name": "EPSG:4326"
}
},
"type": "FeatureCollection"
};
}
You can then add the media ID when you configure a map provider:
Or set a default in the main Report It configuration End Point for your environment:
mapBoundaryOverrideID: 123
Base Maps
The OSM provider can use custom base layers. Base layers are defined in the
function(params, credentials) {
let config = {
tileLayers: {
source: "config", //Valid options are "config" or "arcgisworker"
layers: [{
name: "terrain",
displayName: "ARC GIS Terrain",
url: "https://server.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer/tile/",
type: "arcgis"
} ,
{
name: "astcolour",
displayName: "Astun Colour",
url: "https://t0.ads.astuntechnology.com/ospremium/tiles/ospremiumwebmerc_EPSG3857/",
type: "astun"
}
]
}
};
return config;
}
Property | Description |
---|---|
source | One of: "config" - the array of objects defined in this configuration End Point "arcgisworker" - if you have the ArcGIS worker, map layers will be taken from there |
name | A unique name for the layer |
displayName | The name that will appear in the configuration manager drop-down |
url | The URL of the layer |
type | Either "arcgis" or "astun" |