Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

Table of Contents

Step 1 - Customise Download Script

...

  • Edit the url and proxy details and Save you changes.

Step 2 - Create Task to Fetch CMIS Councillors

In Step 1 we customised the script to download the CMIS data and now we need to create the Task to call this script.

  • In the tree, right click on the Build Councillors (CMIS) Job you have just created and select New Task.
  • Select the Program type and click OK.

Image Added

Task Details

Enter the following:

Name

Enter a Name for the task e.g. Fetch CMIS Councillors.

Program

Browse to the python executable e.g. c:\python27\python.exe

Additional Parameters

Here you need to enter the link to the python script to download the CMIS data e.g.

...

The Python script creates a CSV file Councillors.csv in the ...Studio\config folder, this can then be imported into the Data Share database via a Spatial Data Transformation Workflow Task.

  • Right click on the Build Councillors (CMIS) Job you have just created and select New Task.
  • Select the Spatial Data Transformation type and click OK.

Image Added

Task Details

Enter the following:

Name

Enter a Name for the task e.g. CMIS Import councillors.csv

Source Data

Select Comma-Delimited Text File

Filename

Enter the path to the generated councillors.csv  file e.g. D:\Astun\iShareGIS\5.4\Studio\config\councillors.csv

Output

Select your Data Share database from the list e.g. iShareData

Table

Enter the name of the table that you wish to be created in the Data Share database e.g. councillors

Force Geometry

Tick the Force Geometry box and select NONE from the list.

Show expert mode

Tick the Show expert mode and then enter the following in the Additional Parameters.

Code Block
--config PG_LIST_ALL_TABLES YES

...

  • Right click on the Build Councillors (CMIS) Job you have just created and select New Task.
  • Select the Stored Procedure type and click OK.

Image Added

Task Details

Enter the following:

Name

Enter a Name for the task e.g. CMIS - Create councillor_wardhtml

Connection details

Select the Data Share database from the list.

Function

Select at_sys_create_table entry from the list.

Parameters

The at_sys_create_table function requires two parameters. First select the parameter from the list and then you will be able to enter the value in the Edit parameter area.

tablename

Code Block
councillors_html

selectstatement

Code Block
WITH members AS (
    SELECT *, 'https://cmis.mycouncil.gov.uk/cmis/Councillors/tabid/63/ctl/ViewCMIS_Person/mid/383/id/' || id || '/ScreenMode/Ward/Default.aspx' as url
    FROM "councillors")
    SELECT *,
    replace('<div class="cmis-councillor">'
    || '<h5 class="name"><a href="' || url || '" alt="' || forename1 || ' ' || surname || '">' || 'Cllr ' || forename1 || ' ' || surname || '</a></h5>'
    || '<ul>'
    || '<li>' || partyname || '</li>'
    || '<li class="cmis-councillor-portrait">'
    || '  <a href="' || url || '" alt="View Councillor ' || forename1 || ' ' || surname || ' web page"><img src="data:image/png;base64,' || image || '"/></a>'
    || '</li>'
    || '<li>' || basiclandandpropertyunit || '</li>'
    || '<li>' || uniquepropertyreferencenumber || '</li>'
    || '<li>' || uniquestreetreferencenumber || '</li>'
    || '<li>' || primaryaddressableobjectname || '</li>'
    || '<li>' || postcode || '</li>'
    || CASE WHEN telephonenumber = '' THEN '' ELSE '<li> Tel: ' || telephonenumber || '</li>' END
    || '<li class="cmis-councillor-email"><a href="mailto:' || email || '" alt="Send Councillor ' || forename1 || ' ' || surname || ' an email">' || email || '</a></li>'
    || '</ul>'
    || '</div>', '<li></li>', '')
    AS html
    FROM members


Note

You will need to change the "https://cmis.mycouncil.gov.uk..." at the beginning of the selectstatement to to suit your CMIS environment.


Step 5 - Create councillor_ward lookup

In order to determine which councillors to display for a given property in My House a table must be created with a row per councillor with their corrisponding html content for display and the geometry for the appropriate ward from a wards table.

  • Right click on the Build Councillors (CMIS) Job you have just created and select New Task.
  • Select the Stored Procedure type and click OK.

Image Added

Task Details

Enter the following:

Name

Enter a Name for the task e.g. CMIS - Create councillor_ward

Connection details

Select the Data Share database from the list.

Function

Select at_sys_create_table entry from the list.

Parameters

The at_sys_create_table function requires two parameters. First select the parameter from the list and then you will be able to enter the value in the Edit parameter area.

tablename

Code Block
councillors_ward

selectstatement

Code Block
select c.ogc_fid, w.wkb_geometry, c.forename1, c.surname, c.wardname, c.html from wards w left join councillors_html c on (lower(trim(w.ward_name)) = lower(trim(c.wardname)))

...