First pass at using Config Files - Interface Text

- Create config file to specify parameters like City Name, Initial Map Position etc.
- Replace all reference on welcome and privacy page with the name of the city
- Changed some hard-coded references to "Colouring London" to generic "Colouring Cities"
- Also corrected out of date URLS
This commit is contained in:
Mike Simpson 2022-11-16 16:15:32 +00:00
parent d5c9fbea47
commit ba513d7935
6 changed files with 52 additions and 27 deletions

7
app/src/cc-config.json Normal file
View File

@ -0,0 +1,7 @@
{
"cityName": "London",
"projectBlurb": "Colouring London is also the prototype for the Colouring Cities Research Programme (CCRP)",
"initialMapPosition": [ 51.5245255, -0.1338422 ],
"initialZoomLevel": 16
}

8
app/src/cc-config.ts Normal file
View File

@ -0,0 +1,8 @@
export interface CCConfig
{
cityName: string;
projectBlurb: string;
initialMapPosition: [number, number];
initialZoomLevel: number;
}

View File

@ -1,7 +1,9 @@
import React from 'react';
import './logo.css';
import { CCConfig } from '../../cc-config';
let config: CCConfig = require('../../cc-config.json')
interface LogoProps {
variant: 'default' | 'animated' | 'gray';
}
@ -18,7 +20,7 @@ const Logo: React.FunctionComponent<LogoProps> = (props) => {
<LogoGrid />
<h1 className="logotype">
<span>Colouring</span>
<span>London</span>
<span>{config.cityName}</span>
</h1>
</div>
);

View File

@ -1,11 +1,14 @@
import { CCConfig } from '../../cc-config';
let config: CCConfig = require('../../cc-config.json')
interface MapViewport {
position: [number, number];
zoom: number;
}
export const initialMapViewport: MapViewport = {
position: [51.5245255, -0.1338422], // lat,lng
zoom: 16,
position: [config.initialMapPosition[0], config.initialMapPosition[1]], // lat,lng
zoom: config.initialZoomLevel,
};
export type MapTheme = 'light' | 'night';

View File

@ -1,49 +1,52 @@
import React from 'react';
import { Link } from 'react-router-dom';
import { CCConfig } from '../../cc-config';
let config: CCConfig = require('../../cc-config.json')
const PrivacyPolicyPage: React.SFC<any> = () => (
<article>
<section className='main-col'>
<h1 className='h1'>Privacy Policy & Platform Security</ h1>
<h2 className='h2'>Colouring London Privacy Policy with respect to personal data</h2>
<h2 className='h2'>Colouring {config.cityName} Privacy Policy with respect to personal data</h2>
<p>
This privacy policy explains how Colouring London uses the personal data we collect from you when you use our website. Colouring London is a research project initially developed by the Bartlett Centre for Advanced Spatial Analysis (CASA) at UCL, and now run at The Alan Turing Institute. Colouring London is registered for data protection purposes with The Alan Turing Institute data protection office.
This privacy policy explains how Colouring {config.cityName} uses the personal data we collect from you when you use our website. Colouring {config.cityName} is a research project initially developed by the Bartlett Centre for Advanced Spatial Analysis (CASA) at UCL, and now run at The Alan Turing Institute. Colouring {config.cityName} is registered for data protection purposes with The Alan Turing Institute data protection office.
</p>
<h2 className='h2'>What data do we collect?</h2>
<p>
Colouring London collects the following personal data:
Colouring {config.cityName} collects the following personal data:
</p>
<p>
A username and email address. We recommend you do not use your actual name for your username. We also collect your password, which is stored as a cryptographic hash unique to Colouring London.
A username and email address. We recommend you do not use your actual name for your username. We also collect your password, which is stored as a cryptographic hash unique to Colouring {config.cityName}.
</p>
<h2 className='h2'>How do we collect your data?</h2>
<p>
You provide Colouring London with a minimal amount of personal data when you register with the website and accepts the terms and conditions including this privacy policy.
You provide Colouring {config.cityName} with a minimal amount of personal data when you register with the website and accepts the terms and conditions including this privacy policy.
</p>
<h2 className='h2'>What purposes do we use your data?</h2>
<p>
Colouring London uses your personal data to enable you to login to access and contribute to the Colouring London project and to provide a personalised user experience when you are logged in. We will not share your personal data (such as your email address) with any other parties or use your personal data for any purposes other than the Colouring London project.
Colouring {config.cityName} uses your personal data to enable you to login to access and contribute to the Colouring {config.cityName} project and to provide a personalised user experience when you are logged in. We will not share your personal data (such as your email address) with any other parties or use your personal data for any purposes other than the Colouring {config.cityName} project.
</p>
<p>
If you request a password reset, an automated email will be sent using <a href="https://www.mailgun.com/">Mailgun</a>, who process the email in order to deliver it to your email address. Mailgun retain personal data they process on behalf of Colouring London for as long as is needed to provide email services. Mailgun will retain the personal information as necessary to comply with their legal obligations, resolve disputes, and enforce their agreements.
If you request a password reset, an automated email will be sent using <a href="https://www.mailgun.com/">Mailgun</a>, who process the email in order to deliver it to your email address. Mailgun retain personal data they process on behalf of Colouring {config.cityName} for as long as is needed to provide email services. Mailgun will retain the personal information as necessary to comply with their legal obligations, resolve disputes, and enforce their agreements.
</p>
<h2 className='h2'>What is the legal basis for processing your data?</h2>
<p>
Data protection laws require us to meet certain conditions before we are allowed to use your data in the manner described in this notice, including having a legal basis for the processing. Colouring London, as a research project, is processing your personal data in pursuance of its legitimate interests.
Data protection laws require us to meet certain conditions before we are allowed to use your data in the manner described in this notice, including having a legal basis for the processing. Colouring {config.cityName}, as a research project, is processing your personal data in pursuance of its legitimate interests.
</p>
<h2 className='h2'>How do we store your data?</h2>
<p>
Colouring London stores your data at The Alan Turing Institute in London behind the organisations firewall in a secure database using industry standard practices.
Colouring {config.cityName} stores your data at The Alan Turing Institute in London behind the organisations firewall in a secure database using industry standard practices.
</p>
<h2 className='h2'>How do we use cookies?</h2>
<p>
Colouring London only uses cookies to improve the user experience of users of the website, for example we use cookies to keep you signed in. We do not use cookies for marketing or advertising purposes.
Colouring {config.cityName} only uses cookies to improve the user experience of users of the website, for example we use cookies to keep you signed in. We do not use cookies for marketing or advertising purposes.
</p>
<h2 className='h2'>What are your data protection rights?</h2>
@ -96,7 +99,7 @@ const PrivacyPolicyPage: React.SFC<any> = () => (
<h2 className='h2'>Changes to this privacy policy</h2>
<p>
Changes to this privacy policy will be notified via the Colouring London website. This privacy policy was last updated on 4th November 2021. Previous update 2nd October 2019 following change ownership from UCL to The Alan Turing Institute.
Changes to this privacy policy will be notified via the Colouring {config.cityName} website. This privacy policy was last updated on 4th November 2021. Previous update 2nd October 2019 following change ownership from UCL to The Alan Turing Institute.
</p>
<h2 className='h2'>Who do I contact with questions?</h2>
@ -110,15 +113,15 @@ const PrivacyPolicyPage: React.SFC<any> = () => (
<h2 className='h2'>Further information on privacy and security</h2>
<p>
Please note when you make a contribution to Colouring London, you are creating a permanent, public record of all data added, removed, or changed by you. The database records the username and ID of the user making the edit, along with the time and date of the change. All of this information is also made publicly available through the website and through bulk downloads of the edit history. User names of contributors providing the highest number of edits are also included in our Leaderboards.
Please note when you make a contribution to Colouring {config.cityName}, you are creating a permanent, public record of all data added, removed, or changed by you. The database records the username and ID of the user making the edit, along with the time and date of the change. All of this information is also made publicly available through the website and through bulk downloads of the edit history. User names of contributors providing the highest number of edits are also included in our Leaderboards.
</p>
<p>
Please also note that when you contribute to Colouring London, you make your contributions available as open data for anyone to copy, distribute, transmit and adapt in line with the licence, and to use as they see fit. Though we rigorously assess each data type, to help protect building occupiers' privacy and security we welcome any ideas for improvements.
Please also note that when you contribute to Colouring {config.cityName}, you make your contributions available as open data for anyone to copy, distribute, transmit and adapt in line with the licence, and to use as they see fit. Though we rigorously assess each data type, to help protect building occupiers' privacy and security we welcome any ideas for improvements.
</p>
<p>
Progress on Colouring London features specifically designed to address ethical issues, including these relating to security and privacy, can be tracked and commented on using our GitHub site, at <a href="https://github.com/colouring-london/colouring-london/issues/687">#687</a>. If you have any immediate concerns regarding security or privacy please contact Turing's data protection team at <a href="dataprotection@turing.ac.uk">dataprotection@turing.ac.uk</a>.
Progress on Colouring {config.cityName} features specifically designed to address ethical issues, including these relating to security and privacy, can be tracked and commented on using our GitHub site, at <a href="https://github.com/colouring-cities/colouring-london/issues/687">#687</a>. If you have any immediate concerns regarding security or privacy please contact Turing's data protection team at <a href="dataprotection@turing.ac.uk">dataprotection@turing.ac.uk</a>.
</p>
<div className="buttons-container">

View File

@ -1,20 +1,22 @@
import React from 'react';
import { Link } from 'react-router-dom';
import { CCConfig } from '../../cc-config';
let config: CCConfig = require('../../cc-config.json')
import './welcome.css';
const Welcome = () => (
<div className="section-body welcome">
<h1 className="h2">Welcome to Colouring London!</h1>
<h1 className="h2">Welcome to Colouring {config.cityName}!</h1>
<p>
Colouring London is a free knowledge exchange platform designed to provide over fifty types
of open data on London buildings, to help make the city more sustainable.
Colouring {config.cityName} is a free knowledge exchange platform designed to provide over fifty types
of open data on buildings in the city, to help make the city more sustainable.
</p>
<p>
Colouring London is also the prototype for the Colouring Cities Research Programme (CCRP)
{config.projectBlurb}&nbsp;
based at the Alan Turing Institute (the UK's national Institute for data science and artificial intelligence).
The programme works with local, regional, national and international partners to develop
open platform code also of relevance to other cities.
@ -24,7 +26,7 @@ const Welcome = () => (
and enriching and verifying our open datasets is very much appreciated.
</p>
<p>
All our <Link to="/data-extracts.html">data</Link> and <a href="https://github.com/colouring-london/colouring-london">code</a> are
All our <Link to="/data-extracts.html">data</Link> and <a href="https://github.com/colouring-cities/colouring-core">code</a> are
free to download, use and share under our open licence terms.
Our <a href="https://github.com/colouring-cities/manual/wiki">open manual</a> provides detailed
non-technical information on the CCRP, and our international collaborators,
@ -39,11 +41,11 @@ const Welcome = () => (
<img className="turing-logo" src="images/logo-turing.jpg" alt="Alan Turing Institute"></img>
</div>
<div className="image-row">
<img src="images/supporter-logos.png" alt="Colouring London collaborating organisations: The Bartlett UCL, Ordnance Survey, Historic England, Greater London Authority" />
<img src="images/supporter-logos.png" alt="Colouring Cities collaborating organisations: The Bartlett UCL, Ordnance Survey, Historic England, Greater London Authority" />
</div>
<div className="image-row">
<img src="images/logo-loughborough.png" alt="Colouring London collaborating organisations: Loughborough University" />
<img src="images/logo-newcastle.png" alt="Colouring London collaborating organisations: Newcastle University" />
<img src="images/logo-loughborough.png" alt="Colouring Cities collaborating organisations: Loughborough University" />
<img src="images/logo-newcastle.png" alt="Colouring Cities collaborating organisations: Newcastle University" />
</div>
</div>
);