GithubHelp home page GithubHelp logo

mysociety / writetothem Goto Github PK

View Code? Open in Web Editor NEW
54.0 14.0 11.0 11.06 MB

Write to your MP, MEP, & other elected representatives.

Home Page: https://www.writetothem.com

License: Other

PHP 82.59% Perl 6.20% Shell 0.19% Python 0.02% PLpgSQL 0.16% Bluespec 1.22% HTML 7.13% CSS 0.17% Ruby 0.02% JavaScript 0.77% SCSS 1.51% Dockerfile 0.01%
mysociety civic-tech civictech communication php perl representatives

writetothem's Introduction

WriteToThem

WriteToThem lets you contact elected representatives in the United Kingdom.

If you want to build your own site for writing to people, we recommend you take a look at WriteIt instead. WriteToThem is a legacy project with many particular quirks, whereas WriteIt was built from the start to be more flexible and easier to use.

Developing WriteToThem

This repository contains a simple development environment based on Docker Compose.

Currently, this environment can be used for making changes to the front-end of the site - HTML, styles, etc. Additional integration for full back-end testing (such as representative lookup, etc) is not currently available.

Assuming you have Docker installed locally, you should be able to start the development environment by running:

docker-compose up

This will start two containers (one for the app and a Postgres database) in the foreground. You can stop the environment by pressing CTRL-C.

If you'd prefer them to run in the background, add the -d flag:

docker-compose up -d

To stop the environment in this case run:

docker-compose down

The first time you run the environment, a local image will be built for the app container and the database will have the schema loaded automatically.

Once the environment is running, it should be accessible at http://localhost:8085.

If you need to rebuild the app container, you can do so by running:

docker-compose build

Changes made to styles, etc, (as described in the next section) should be reflected when a page is reloaded as your local working copy is mapped to the document root of the app container.

Stylesheets

WriteToThem uses the Foundation framework, and styles are compiled using Compass.

Most people prefer to manage their Ruby Gems using Bundler. If you don’t already have it, you can install it like so:

gem install bundler

Then you can tell Bundler install the Gems for this project:

bundle install

And finally, change into the Sass directory, and compile the Sass into CSS:

cd web/static
bundle exec compass compile

If you are making frequent changes, you can tell Compass to watch the directory for updates, and recompile the CSS files as necessary:

cd web/static
bundle exec compass watch

If using the codespaces/devcontainer setup, the above will be setup on container creation, and script/watch will watch for changes.

Acknowledgements

Thanks to Browserstack who let us use their web-based cross-browser testing tools for this project.

writetothem's People

Contributors

ajparsons avatar alexjs avatar andylolz avatar crowbot avatar dracos avatar edent avatar edwardbetts avatar jacksonj04 avatar lucascumsille avatar mhl avatar myfanwynixon avatar robinhouston avatar sagepe avatar struan avatar wrightmartin avatar zarino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

writetothem's Issues

London E20 is no longer entirely fictional

It's not urgent, but a large number of apartments in what was the Olympic Village will be sold or let for residential use beginning, probably, very shortly after it's all over in September.

To the alarm of all right-thinking people the Royal Mail has hived this area off from E15 and created a new postcode district numbered not E19, but E20.

http://www.geoplan.com/newspress/may_2011/olympic_postcode

/index.php currently globs all of these postcodes as fictional. At least 14 residential codes in E20 1__ exist, however.

Add a 'satisfaction' question to the questionnaire (simply to prevent support mail)

Approx. 1-2 users/ week email to ask WTT to add some sort of 'were you happy with your reply' question to the questionnaire (which is currently 'did you get a reply?' Yes/No). There are a number of issues with implementing this, from trying to minimise confusion (some find the current questionnaire confusing) to avoiding abuse (especially, one would imagine, from those who receive a well-researched response which fundamentally disagrees with the original query, or those receiving stock replies). However, it should certainly be considered.

Add a save draft / auto save facility

If you refresh or click away from the message authoring page on WriteToThem your message will vanish. This happens to some people all the time, and is annoying. We could save their partially written messages until they definitely are ready to send them. No login or registration would be required.

Adverts for HFYMP can be confusing

Some users think that if they sign up they get a guaranteed email from their MP; others think it is the final question on the questionnaire - is there something we can do about the wording of the advert/s on the WTT site to make this clearer?

Improve help text on "Write Message" page

On the write page, build the help text into the page (hidden with JavaScript) rather than new windows. Tone down the warnings, reassure, and improve the description of levels of government (for councils).

If a Lord does not reply, list of suggestions is for MPs

Email from user:

I was asked to write to a Lord and did so, he did not
reply, but when I answered your enquiry e-mail "NO" I was
passed to a very long list of things to do if my MP did not
reply, not a Lord.

 Does not compute !

Add facility to split postcodes over two constituences

At the moment people whose postcodes straddle a boundary may well find themselves given the wrong representatives, and the only workaround is for them to use a nearby postcode in the correct ward which is not ideal.

Duplicate message prevention can be annoying

From 2007

A few items of feedback recently - someone has written a message and sent it from the website, but then wanted to change email address (realised they can't access it to click Confirm link, e.g.), tweak a word or two, or whatever. So they click Back, change the details and try, only to be told they can't send the message more than once. I understand why we do that and I know we have the Re-edit button, but it's rather annoying in this sort of scenario. Can't we check if the message details are the same and create a new message if they've changed?

Posterous style emailing

Create a new address, say [email protected]

Users then email that address with their postcode in the subjectline, and the mail goes straight to the MP.

Spam problems horrible, of course.

Typo - 'Acsembly'

Email from user:

"Under the second paragraph 'Your London Assembly Members', which is struck through, it will read "Your Greenwich and Lewisham London Ascembly Member represents you on the London Assembly"."

Add a 'no reply needed' option to questionnaire

We send a questionnaire to all WriteToThem users, to see if they got a reply.

Despite the questionnaire saying that if neither option is appropriate then to disregard it, some users complain that neither option is appropriate as they did not need a reply. Potentially add a 'no reply was required' option (whilst preventing the questionnaire from becoming overly long/confusing).

Queue and handlemail should handle representatives who have autoresponders

Quite a bit of the queue management admin task is saying that unclassifiable bounces caused by autoresponders are not delivery failures. It would be good if we could specify some autoresponse text for a representative and if the putative bounce matched that it would be automatically treated as non bounce.

'I'd like a reply by email' tickbox

Approx. 1-2 users per week email to say that they are disappointed that their MP replied with a letter rather than email (this has increased substantially since the expenses malarkey, & is seen as a waste of money & resources). All we can do is write back & tell them to ask to be sent email in future. One constituent suggested we could add a tickbox which adds something to the message to the MP about preferring correspondence via email.

Add facility to choose Lord by name

At the moment you can only select a specific Lord if you happen to know their birthday, or if the place search works properly (which sometimes it doesn't #17).

If you are in the know then you can select a specific Lord by finding them in TWFY and following the WTT link, but it would be much clearer if there were simply a list in WTT.

Is there a reason why there is still no list?

Remove 'small' from descriptions of cllr allowance

Email from user:
"I take exception to the word SMALL basic allowance. The figures for my local Borough have just been published and at least half are getting over £18,000!! Much more than most Pensioners are expected to live on!! Couldn't you remove this SMALL word??"

Remove the phone number from the help page

It's meant to be there for MPs to ring up about contact details / abusive messages. This almost never happens. Instead, an average of 1-2 confused constituents per week telephone to book an appointment with their MP and have to be directed to Parliament's website or wherever.

http://www.writetothem.com/about-contact, delete "If you do not have access to email..." and rest of paragraph.

Add attachments

Given we send some messages by fax, this is tricky. And do we want it?

Add Parish Councils to WriteToThem

We now have boundaries of parish councils in mapit. We don't have any contact information.

It would be good for WriteToThem to at least show parish councils (they can vary in importance, but e.g. Salisbury City Council covers the entire city - replacing the district council from pre April 2009 - and many parishes are responsible for local issues around), and ask people to find contact details if we don't have them. I don't imagine we'll be able to do individual parish councillors, but the secretary/contact for the council might well do.

Some links: http://www.nalc.gov.uk/
http://www2.tagish.co.uk/tagish/localgov/Town.htm
http://www.warwickshire.gov.uk/corporate/parishtown.nsf/All+contacts?openview&collapseview
http://www.leicestershireparishcouncils.org/
http://www.gloucestershire.gov.uk/index.cfm?articleid=14651
http://www.cambridgeshire.gov.uk/council/government/parish.htm
http://www.derbyshire.gov.uk/council/council_works/other_councils/town_and_parish_councils/
http://www.nottinghamshire.gov.uk/home/youandyourcommunity/communitylocalcontacts/home/youandyourcommunity/communitylocalcontacts/parishes/parisheslist.htm
http://www.northyorks.gov.uk/index.aspx?articleid=5890
http://www.oxfordshire.gov.uk/wps/portal/publicsite/doitonline/finditonline/councillorscommittees?page=aboutyourcouncil.parish
http://www.hertsdirect.org/yrccouncil/localgovorg/townparish/
http://www.buckscc.gov.uk/moderngov/mgParishCouncilDetails.asp?bcr=1
http://democracy.bedfordshire.gov.uk/mgParishCouncilDetails.asp?bcr=1&ls=15&sls=1&zTS=C
http://www2.northumberland.gov.uk/PSCM/PSCMList_parish.asp
http://www.wokingham.gov.uk/council-meetings-democracy/parish-town-councils/town-parish-council-contacts
http://www.ncaptc.gov.uk/default.asp?page=parish-councils.htm
http://www3.hants.gov.uk/localgov/parish.htm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.