Merge pull request #1079 from colouring-cities/colouring-core
New Colouring Core Preparations
This commit is contained in:
commit
1382b61762
1
.gitignore
vendored
1
.gitignore
vendored
@ -10,6 +10,7 @@ html/norton*.html
|
||||
.vscode
|
||||
|
||||
# Data
|
||||
etl/
|
||||
etl/cache/*
|
||||
etl/images/*
|
||||
etl/*.geojson
|
||||
|
@ -8,6 +8,9 @@ import { validatePassword } from '../validation';
|
||||
import { transporter } from './email';
|
||||
import * as userService from './user';
|
||||
|
||||
import { CCConfig } from '../../cc-config';
|
||||
let config: CCConfig = require('../../cc-config.json')
|
||||
|
||||
|
||||
/**
|
||||
* Generate a password reset token for the specified account and send the password reset link by email
|
||||
@ -52,7 +55,7 @@ function getPasswordResetEmail(email: string, token: string, siteOrigin: string)
|
||||
|
||||
const messageBody = `Hi there,
|
||||
|
||||
Someone has requested a password reset for the Colouring London account associated with this email address.
|
||||
Someone has requested a password reset for the Colouring ${config.cityName} account associated with this email address.
|
||||
Click on the following link within the next 24 hours to reset your password:
|
||||
|
||||
${linkString}
|
||||
@ -60,7 +63,7 @@ function getPasswordResetEmail(email: string, token: string, siteOrigin: string)
|
||||
|
||||
return {
|
||||
text: messageBody,
|
||||
subject: 'Reset your Colouring London password',
|
||||
subject: `Reset your Colouring ${config.cityName} password`,
|
||||
to: email,
|
||||
from: 'no-reply@colouring.london'
|
||||
};
|
||||
|
9
app/src/cc-config.json
Normal file
9
app/src/cc-config.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"cityName": "Cities",
|
||||
"projectBlurb": "Colouring Cities is also the prototype for the Colouring Cities Research Programme (CCRP)",
|
||||
"githubURL": "https://github.com/colouring-cities/colouring-london",
|
||||
"privacyStatement": "Colouring Cities stores your data... [PRIVACY DATA GOES HERE].",
|
||||
|
||||
"initialMapPosition": [ 51.5245255, -0.1338422 ],
|
||||
"initialZoomLevel": 16
|
||||
}
|
11
app/src/cc-config.ts
Normal file
11
app/src/cc-config.ts
Normal file
@ -0,0 +1,11 @@
|
||||
export interface CCConfig
|
||||
{
|
||||
cityName: string;
|
||||
projectBlurb: string;
|
||||
githubURL: string;
|
||||
privacyStatement: string;
|
||||
|
||||
initialMapPosition: [number, number];
|
||||
initialZoomLevel: number;
|
||||
}
|
||||
|
@ -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>
|
||||
);
|
||||
|
@ -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' | 'night_outlines' | 'boroughs';
|
||||
|
@ -7,6 +7,8 @@ import { Logo } from './components/logo';
|
||||
import { WithSeparator } from './components/with-separator';
|
||||
import { useAuth } from './auth-context';
|
||||
|
||||
import { CCConfig } from '../cc-config';
|
||||
let config: CCConfig = require('../cc-config.json')
|
||||
|
||||
interface MenuLink {
|
||||
to: string;
|
||||
@ -59,7 +61,7 @@ function getCurrentMenuLinks(username: string): MenuLink[][] {
|
||||
external: true
|
||||
},
|
||||
{
|
||||
to: "https://github.com/colouring-london/colouring-london",
|
||||
to: config.githubURL,
|
||||
text: "Open code",
|
||||
external: true
|
||||
},
|
||||
|
@ -24,7 +24,7 @@ export function CityBaseMapLayer({ theme }: { theme: MapTheme }) {
|
||||
const theme_class = theme === 'light' ? "light-theme" : "night-theme";
|
||||
|
||||
const baseUrl = `https://api.os.uk/maps/raster/v1/zxy/${layer}/{z}/{x}/{y}.png?key=${apiKey}`;
|
||||
const attribution = 'Building attribute data is © Colouring London contributors. Maps contain OS data © Crown copyright: OS Maps baselayers and building outlines. <a href=/ordnance-survey-licence.html>OS licence</a>';
|
||||
const attribution = `Building attribute data is © Colouring Cities contributors. Maps contain OS data © Crown copyright: OS Maps baselayers and building outlines. <a href=/ordnance-survey-licence.html>OS licence</a>`;
|
||||
|
||||
return <TileLayer
|
||||
url={baseUrl}
|
||||
|
@ -5,15 +5,18 @@ import './about.css';
|
||||
import Categories from '../building/categories';
|
||||
import SupporterLogos from '../components/supporter-logos';
|
||||
|
||||
import { CCConfig } from '../../cc-config';
|
||||
let config: CCConfig = require('../../cc-config.json')
|
||||
|
||||
const AboutPage = () => (
|
||||
<article>
|
||||
<section className="main-col">
|
||||
<h1 className="h2">
|
||||
Can you help us capture information on every building in London?
|
||||
Can you help us capture information on every building in the city?
|
||||
</h1>
|
||||
<p>
|
||||
|
||||
How many buildings are there in London? What are their characteristics? Where
|
||||
How many buildings are there? What are their characteristics? Where
|
||||
are they located and how do they contribute to the city? How adaptable are
|
||||
they? How long will they last, and what are the environmental and
|
||||
socio-economic implications of demolition?
|
||||
@ -21,7 +24,7 @@ const AboutPage = () => (
|
||||
</p>
|
||||
<p>
|
||||
|
||||
Colouring London is being designed to address these questions by crowdsourcing
|
||||
Colouring {config.cityName} is being designed to address these questions by crowdsourcing
|
||||
and visualising information on London’s buildings. We’re releasing the
|
||||
prototype for testing in the late summer. See the slideshow below for what it
|
||||
will look like.
|
||||
@ -53,7 +56,7 @@ const AboutPage = () => (
|
||||
<section className="main-col">
|
||||
<p>
|
||||
|
||||
Colouring London is being designed and built by the Centre for Advanced Spatial
|
||||
Colouring Cities is being designed and built by the Centre for Advanced Spatial
|
||||
Analysis (CASA), University College London and funded by Historic England.
|
||||
Ordnance Survey is providing building footprints required to collect the data,
|
||||
facilitated by the GLA, and giving access to its API and technical support. It
|
||||
@ -126,7 +129,7 @@ const AboutPage = () => (
|
||||
|
||||
Access bulk downloads of data created through the project to use and reuse
|
||||
under a liberal open data license. Let us know and we’ll feature showcase
|
||||
projects on the Colouring London site.
|
||||
projects on the Colouring Cities site.
|
||||
|
||||
</p>
|
||||
<img className="border-image" src="images/slide-5-download.png"
|
||||
|
@ -1,5 +1,8 @@
|
||||
import { config } from 'pg-format';
|
||||
import React from 'react';
|
||||
|
||||
import { CCConfig } from '../../cc-config';
|
||||
let ccconfig: CCConfig = require('../../cc-config.json')
|
||||
|
||||
const ContactPage = () => (
|
||||
<article>
|
||||
@ -7,24 +10,24 @@ const ContactPage = () => (
|
||||
<h1 className="h2">
|
||||
Contact
|
||||
</h1>
|
||||
<p> Colouring London has been designed as a sustainable, low-cost model for knowledge exchange/open data platforms able to be reproduced by other towns and cities using our open platform code.</p>
|
||||
<p> Colouring Cities has been designed as a sustainable, low-cost model for knowledge exchange/open data platforms able to be reproduced by other towns and cities using our open platform code.</p>
|
||||
|
||||
<p> It is being developed by a small, dedicated team at The Alan Turing Institute. We are unable to answer individual queries but welcome constructive comments on how to improve the site, and on other types of data and new features you might like to see.</p>
|
||||
|
||||
<p> You can send us comments or ask questions on our discussion threads at <a href="https://discuss.colouring.london/">https://discuss.colouring.london/</a>.</p>
|
||||
|
||||
<p> To view our technical site and platform code please visit Github at: <a href="https://github.com/colouring-london/colouring-london">https://github.com/colouring-london/colouring-london</a>.</p>
|
||||
<p> To view our technical site and platform code please visit Github at: <a href={ccconfig.githubURL}>https://github.com/colouring-london/colouring-london</a>.</p>
|
||||
|
||||
<p>For press enquiries please contact <a href="https://www.turing.ac.uk/contact-us/press-office">The Alan Turing Institute press office</a></p>
|
||||
|
||||
<p>
|
||||
If you capture images from the maps on Colouring London, please credit our
|
||||
If you capture images from the maps on Colouring Cities, please credit our
|
||||
contributors (who collected the data) and Ordnance Survey
|
||||
(who provided the basemaps and building geometries) as follows:
|
||||
</p>
|
||||
<p>
|
||||
<pre><code>
|
||||
Colouring London https://colouring.london Building attribute data is © Colouring London contributors. Maps contain OS data © Crown copyright: OS Maps baselayers and building outlines.
|
||||
Colouring Cities https://colouring.london Building attribute data is © Colouring Cities contributors. Maps contain OS data © Crown copyright: OS Maps baselayers and building outlines.
|
||||
</code></pre>
|
||||
</p>
|
||||
<hr />
|
||||
|
@ -1,6 +1,9 @@
|
||||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
import { CCConfig } from '../../cc-config';
|
||||
let config: CCConfig = require('../../cc-config.json')
|
||||
|
||||
const ContributorAgreementPage : React.SFC<any> = () => (
|
||||
<article>
|
||||
<section className='main-col'>
|
||||
@ -34,7 +37,7 @@ const ContributorAgreementPage : React.SFC<any> = () => (
|
||||
provide us with as little personal data as possible
|
||||
</li>
|
||||
<li>
|
||||
take full responsibility for assessing the reliability of Colouring London data and its suitability for any intended use (see also our 'Data Accuracy Agreement')
|
||||
take full responsibility for assessing the reliability of Colouring {config.cityName} data and its suitability for any intended use (see also our 'Data Accuracy Agreement')
|
||||
</li>
|
||||
<li>
|
||||
provide feedback on actual or potential privacy and security concerns
|
||||
@ -45,13 +48,13 @@ const ContributorAgreementPage : React.SFC<any> = () => (
|
||||
|
||||
<h3 className='h3'>Open data</h3>
|
||||
<p>
|
||||
Colouring London is an open data project. Open data are licensed under the Open Data Commons Open Database License (<a href="https://opendatacommons.org/licenses/odbl/">https://opendatacommons.org/licenses/odbl/</a>) by Colouring London contributors. Under this licence you are free to copy, distribute, transmit and adapt our data, as long as you credit Colouring London and our contributors. If you alter or build upon our data, you may distribute the result only under the same licence. Our open platform code are available under a GNU, General Public Licence (<a href="https://www.gnu.org/licenses/gpl-3.0.en.html">https://www.gnu.org/licenses/gpl-3.0.en.html</a>).
|
||||
Colouring {config.cityName} is an open data project. Open data are licensed under the Open Data Commons Open Database License (<a href="https://opendatacommons.org/licenses/odbl/">https://opendatacommons.org/licenses/odbl/</a>) by Colouring {config.cityName} contributors. Under this licence you are free to copy, distribute, transmit and adapt our data, as long as you credit Colouring {config.cityName} and our contributors. If you alter or build upon our data, you may distribute the result only under the same licence. Our open platform code are available under a GNU, General Public Licence (<a href="https://www.gnu.org/licenses/gpl-3.0.en.html">https://www.gnu.org/licenses/gpl-3.0.en.html</a>).
|
||||
</p>
|
||||
|
||||
<h3 className='h3'>What you are contributing to</h3>
|
||||
|
||||
<p>
|
||||
Colouring London is a free knowledge exchange platform and open database designed for public use. It has been set up to support a whole-of-society approach to improving the sustainability, resilience and inclusivity of cities. Colouring London is also the prototype platform for the international Colouring Cities Research Programme (CCRP) run at the Alan Turing Institute. Its design is guided by principles set out in the United Nations New Urban Agenda, the Open Data Charter, the General Data Protection Regulation (GDPR), The Gemini Principles, the Open Data Institute's recommendations on personal data and data infrastructure, and specific Articles within the Declaration of Human rights. These are discussed on our <a href="https://github.com/colouring-london/colouring-london/issues/687">'Data ethics'</a> page, where we also use the Open Data Institute's data ethics canvas to answer questions on how we use and manage our data. We capture spatial statistics and do not collect text or images, though images may be integrated in the future. The type of spatial data we collect can be viewed by clicking on each data category, on 'Info' buttons and on the 'Building data categories' page. We are also planning a 'Showcase section' to enable platform users to share, and view, ways in which Colouring London data are used.
|
||||
Colouring {config.cityName} is a free knowledge exchange platform and open database designed for public use. It has been set up to support a whole-of-society approach to improving the sustainability, resilience and inclusivity of cities. Colouring {config.cityName} is also part of the international Colouring Cities Research Programme (CCRP) run at the Alan Turing Institute. Its design is guided by principles set out in the United Nations New Urban Agenda, the Open Data Charter, the General Data Protection Regulation (GDPR), The Gemini Principles, the Open Data Institute's recommendations on personal data and data infrastructure, and specific Articles within the Declaration of Human rights. These are discussed on our <a href="https://github.com/colouring-london/colouring-london/issues/687">'Data ethics'</a> page, where we also use the Open Data Institute's data ethics canvas to answer questions on how we use and manage our data. We capture spatial statistics and do not collect text or images, though images may be integrated in the future. The type of spatial data we collect can be viewed by clicking on each data category, on 'Info' buttons and on the 'Building data categories' page. We are also planning a 'Showcase section' to enable platform users to share, and view, ways in which Colouring {config.cityName} data are used.
|
||||
</p>
|
||||
|
||||
<h3 className='h3'>Diversity and inclusivity</h3>
|
||||
|
@ -1,14 +1,17 @@
|
||||
import React from 'react';
|
||||
|
||||
import { CCConfig } from '../../cc-config';
|
||||
let config: CCConfig = require('../../cc-config.json')
|
||||
|
||||
const DataAccuracyPage = () => (
|
||||
<article>
|
||||
<section className="main-col">
|
||||
<h1 className="h2">Data Accuracy Agreement</h1>
|
||||
<p>
|
||||
Colouring London data are provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, accuracy, fitness for a particular purpose and non-infringement. In no event shall the Alan Turing Institute be liable for any reliance that you place on or how you use the data nor any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the data or the use or other dealings in the data.
|
||||
Colouring {config.cityName} data are provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, accuracy, fitness for a particular purpose and non-infringement. In no event shall the Alan Turing Institute be liable for any reliance that you place on or how you use the data nor any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the data or the use or other dealings in the data.
|
||||
</p>
|
||||
<p>
|
||||
Colouring London data are crowdsourced from multiple sources and may contain errors. Though we cannot comment on data accuracy, we try to include as many features as possible to help users assess their reliability and suitability for specific types of use (be this a school project or scientific paper). As information on sources is very important, contributors are asked to add these, and to verify data, wherever possible.
|
||||
Colouring {config.cityName} data are crowdsourced from multiple sources and may contain errors. Though we cannot comment on data accuracy, we try to include as many features as possible to help users assess their reliability and suitability for specific types of use (be this a school project or scientific paper). As information on sources is very important, contributors are asked to add these, and to verify data, wherever possible.
|
||||
</p>
|
||||
</section>
|
||||
</article>
|
||||
|
@ -42,16 +42,16 @@ export default class DataExtracts extends React.Component<{}, DataExtractsState>
|
||||
<section className="main-col">
|
||||
<h1 className="h2">Open data extracts</h1>
|
||||
<p>
|
||||
Choose one of the links below to download an archive containing the open data collected on the Colouring London platform
|
||||
Choose one of the links below to download an archive containing the open data collected on the Colouring Cities platform
|
||||
</p>
|
||||
<p>
|
||||
Colouring London contributions are open data, licensed under the <a href="http://opendatacommons.org/licenses/odbl/">Open Data Commons Open Database License</a> (ODbL) by Colouring London contributors.
|
||||
Colouring Cities contributions are open data, licensed under the <a href="http://opendatacommons.org/licenses/odbl/">Open Data Commons Open Database License</a> (ODbL) by Colouring Cities contributors.
|
||||
</p>
|
||||
<p>
|
||||
You are free to copy, distribute, transmit and adapt our data, as long as you credit Colouring London and our contributors. If you alter or build upon our data, you may distribute the result only under the same licence.
|
||||
You are free to copy, distribute, transmit and adapt our data, as long as you credit Colouring Cities and our contributors. If you alter or build upon our data, you may distribute the result only under the same licence.
|
||||
</p>
|
||||
<p>
|
||||
Choose one of the links below to download an archive containing the open data collected on the Colouring London platform.
|
||||
Choose one of the links below to download an archive containing the open data collected on the Colouring Cities platform.
|
||||
</p>
|
||||
<p>
|
||||
By downloading data extracts from this site, you agree to the <Link to="/data-accuracy.html">data accuracy agreement</Link> and the <Link to="/ordnance-survey-uprn.html">Ordnance Survey terms of UPRN usage</Link>.
|
||||
|
@ -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 organisation’s firewall in a secure database using industry standard practices.
|
||||
{config.privacyStatement}
|
||||
</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">
|
||||
|
@ -1,18 +1,24 @@
|
||||
import React from 'react';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
import { CCConfig } from '../../cc-config';
|
||||
let config: CCConfig = require('../../cc-config.json')
|
||||
|
||||
import Categories from '../building/categories';
|
||||
import './welcome.css';
|
||||
|
||||
const Welcome = () => (
|
||||
<div className="section-body welcome">
|
||||
<Categories mode="view"/>
|
||||
<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}
|
||||
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.
|
||||
@ -22,7 +28,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,
|
||||
@ -37,11 +43,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>
|
||||
);
|
||||
|
@ -3,6 +3,9 @@ import React, { ChangeEvent, FormEvent } from 'react';
|
||||
import ErrorBox from '../components/error-box';
|
||||
import InfoBox from '../components/info-box';
|
||||
|
||||
import { CCConfig } from '../../cc-config';
|
||||
let config: CCConfig = require('../../cc-config.json')
|
||||
|
||||
interface ForgottenPasswordState {
|
||||
success: boolean;
|
||||
error: string;
|
||||
@ -62,7 +65,7 @@ export default class ForgottenPassword extends React.Component<{}, ForgottenPass
|
||||
<ErrorBox msg={this.state.error} />
|
||||
<InfoBox msg="">
|
||||
{this.state.success ?
|
||||
`If the email address is registered on Colouring London, a password reset link will be sent to ${this.state.emailUsed}. Please check your inbox.` :
|
||||
`If the email address is registered on Colouring ${config.cityName}, a password reset link will be sent to ${this.state.emailUsed}. Please check your inbox.` :
|
||||
null
|
||||
}
|
||||
</InfoBox>
|
||||
|
@ -7,6 +7,9 @@ import { SpinnerIcon } from '../components/icons';
|
||||
import InfoBox from '../components/info-box';
|
||||
import SupporterLogos from '../components/supporter-logos';
|
||||
|
||||
import { CCConfig } from '../../cc-config';
|
||||
let config: CCConfig = require('../../cc-config.json')
|
||||
|
||||
export const Login: React.FC = () => {
|
||||
const {isLoading, login } = useAuth();
|
||||
|
||||
@ -23,11 +26,13 @@ export const Login: React.FC = () => {
|
||||
login({ username, password }, setError);
|
||||
}, [username, password]);
|
||||
|
||||
const msgText = `Welcome to Colouring ${config.cityName}. You're one of the first people to use the site!`;
|
||||
|
||||
return (
|
||||
<article>
|
||||
<section className="main-col">
|
||||
<h1 className="h2">Log in</h1>
|
||||
<InfoBox msg="Welcome to Colouring London. You're one of the first people to use the site! ">
|
||||
<InfoBox msg={msgText}>
|
||||
<br/>Please <a href="https://discuss.colouring.london/">discuss
|
||||
suggestions for improvements</a> and <a
|
||||
href="https://github.com/colouring-london/colouring-london/issues">
|
||||
|
@ -6,6 +6,9 @@ import ConfirmationModal from '../components/confirmation-modal';
|
||||
import ErrorBox from '../components/error-box';
|
||||
import { SpinnerIcon } from '../components/icons';
|
||||
|
||||
import { CCConfig } from '../../cc-config';
|
||||
let config: CCConfig = require('../../cc-config.json')
|
||||
|
||||
export const MyAccountPage: React.FC = () => {
|
||||
const { isLoading, user, userError, logout, generateApiKey, deleteAccount } = useAuth();
|
||||
|
||||
@ -39,6 +42,8 @@ export const MyAccountPage: React.FC = () => {
|
||||
);
|
||||
}
|
||||
|
||||
const issuesURL = config.githubURL + "/issues"
|
||||
|
||||
return (
|
||||
<article>
|
||||
<section className="main-col">
|
||||
@ -46,9 +51,9 @@ export const MyAccountPage: React.FC = () => {
|
||||
{!userError && (<>
|
||||
<h1 className="h1">Welcome, {user.username}!</h1>
|
||||
<p>
|
||||
Colouring London is under active development. Please{' '}
|
||||
Colouring {config.cityName} is under active development. Please{' '}
|
||||
<a href="https://discuss.colouring.london/">discuss suggestions for improvements</a> and{' '}
|
||||
<a href="https://github.com/colouring-london/colouring-london/issues"> report issues or problems</a>.
|
||||
<a href={issuesURL}> report issues or problems</a>.
|
||||
</p>
|
||||
<p>
|
||||
For reference, here are the{' '}
|
||||
@ -84,7 +89,7 @@ export const MyAccountPage: React.FC = () => {
|
||||
</form>
|
||||
|
||||
<h3 className="h3">Open Source Code</h3>
|
||||
Colouring London site code is developed at <a href="http://github.com/colouring-london/colouring-london/">colouring-london</a> on Github
|
||||
Colouring {config.cityName} site code is developed at <a href={config.githubURL}>colouring-cities</a> on Github
|
||||
|
||||
<hr />
|
||||
|
||||
|
@ -7,6 +7,9 @@ import { SpinnerIcon } from '../components/icons';
|
||||
import InfoBox from '../components/info-box';
|
||||
import SupporterLogos from '../components/supporter-logos';
|
||||
|
||||
import { CCConfig } from '../../cc-config';
|
||||
let config: CCConfig = require('../../cc-config.json')
|
||||
|
||||
export const SignUp: React.FC = () => {
|
||||
const { isLoading, signup } = useAuth();
|
||||
const [error, setError] = useState(undefined);
|
||||
@ -26,11 +29,13 @@ export const SignUp: React.FC = () => {
|
||||
[username, email, confirmEmail, password, confirmConditions, signup]
|
||||
);
|
||||
|
||||
const msgName = `Welcome to Colouring ${config.cityName}. You're one of the first people to sign up!`
|
||||
|
||||
return (
|
||||
<article>
|
||||
<section className="main-col">
|
||||
<h1 className="h2">Sign up</h1>
|
||||
<InfoBox msg="Welcome to Colouring London. You're one of the first people to sign up! ">
|
||||
<InfoBox msg={msgName}>
|
||||
<br/>Please <a href="https://discuss.colouring.london/">discuss
|
||||
suggestions for improvements</a> and <a
|
||||
href="https://github.com/colouring-london/colouring-london/issues">
|
||||
|
@ -16,6 +16,9 @@ import { App } from './frontend/app';
|
||||
import { parseBuildingURL } from './parse';
|
||||
import asyncController from './api/routes/asyncController';
|
||||
|
||||
import { CCConfig } from './cc-config';
|
||||
let config: CCConfig = require('./cc-config.json')
|
||||
|
||||
|
||||
// reference packed assets
|
||||
const assets = require(process.env.RAZZLE_ASSETS_MANIFEST);
|
||||
@ -98,8 +101,8 @@ function renderHTML(context, data, req, res) {
|
||||
|
||||
<meta property="og:url" content="https://colouring.london" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="Colouring London" />
|
||||
<meta property="og:description" content="Colouring London is a knowledge exchange platform collecting information on every building in London, to help make the city more sustainable. We’re building it at The Bartlett Centre for Advanced Spatial Analysis, University College London." />
|
||||
<meta property="og:title" content="Colouring ${config.cityName}" />
|
||||
<meta property="og:description" content="Colouring ${config.cityName} is a knowledge exchange platform collecting information on every building in London, to help make the city more sustainable. We’re building it at The Bartlett Centre for Advanced Spatial Analysis, University College London." />
|
||||
<meta property="og:locale" content="en_GB" />
|
||||
<meta property="og:image" content="https://colouring.london/images/logo-cl-square.png" />
|
||||
|
||||
@ -107,13 +110,13 @@ function renderHTML(context, data, req, res) {
|
||||
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black">
|
||||
<meta name="apple-mobile-web-app-title" content="Colouring London">
|
||||
<meta name="apple-mobile-web-app-title" content="Colouring ${config.cityName}">
|
||||
<link rel="apple-touch-icon" href="icon-192x192.png">
|
||||
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<link rel="icon" sizes="192x192" href="icon-192x192.png">
|
||||
|
||||
<title>Colouring London</title>
|
||||
<title>Colouring ${config.cityName}</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<style>
|
||||
@font-face {
|
||||
|
Loading…
Reference in New Issue
Block a user