aboutsummaryrefslogtreecommitdiffstats
path: root/docs/training
diff options
context:
space:
mode:
Diffstat (limited to 'docs/training')
-rw-r--r--docs/training/admins.md512
-rw-r--r--docs/training/citizens.md297
-rw-r--r--docs/training/index.md33
-rw-r--r--docs/training/staff.md241
4 files changed, 1083 insertions, 0 deletions
diff --git a/docs/training/admins.md b/docs/training/admins.md
new file mode 100644
index 000000000..640cab9c7
--- /dev/null
+++ b/docs/training/admins.md
@@ -0,0 +1,512 @@
+---
+layout: page
+title: FixMyStreet training - administrators
+author: dave
+---
+
+
+Training notes for new administrators
+=============================
+
+<p class="lead">
+ These notes may serve as a basis for training people new to the FixMyStreet
+ platform. They might be helpful if you&rsquo;re setting up a new site or team.
+</p>
+<div class="attention-box helpful-hint">
+ <p>
+ Basic training notes like these are available for
+ <br>
+ <a href="{{ "/training/citizens" | relative_url }}">citizens</a>,
+ <a href="{{ "/training/staff" | relative_url }}">staff</a>, and
+ <a href="{{ "/training/admins" | relative_url }}">administrators</a>.
+ </p>
+ <p>
+ Refer to the <a href="{{ "/overview" | relative_url }}">full documentation</a>
+ for more detailed information!
+ </p>
+</div>
+
+Remember that every FixMyStreet installation is different, and can both
+look and behave differently, depending on how it has been
+[customised]({{ "/customising/" | relative_url }}).
+
+<!-- magically present as slideshow, slides split on h2 or h3 -->
+<a name class="play-as-slideshow"></a>
+
+---
+
+## Admin accounts
+
+* **admin accounts are usually _completely separate_ from staff accounts**
+
+* a _staff user_ logs into the front-end web site
+
+* an _administrator_ normally logs into the back-end
+
+We encourage you to run the admin over an encrypted connection (that is,
+over `https`).
+
+
+## How to log in
+
+You can log into the FixMyStreet admin using the username and password provided.
+
+### Using HTAuth
+
+If your browser asks you to enter your username and password in a browser
+dialogue box (that is, it's not part of the website), you're using HTAuth.
+
+With HTAuth, how you logout will depend on your browser. Some browsers
+automatically log you out when you quit the browser.
+
+Don't access the admin on a public machine using this mechanism unless you
+know how to log out.
+
+## Understanding how the site works
+
+A key thing is that citizen users do not need to know _who_ to send their
+report to.
+
+FixMyStreet works this out by using:
+
+* **the precise _location_** (pin on the map) ...combined with...
+
+* **the _category_ of the problem**
+
+These two things determine:
+
+* **which _body_ is responsible, and hence which _contact_ to send the**
+ **report to**
+
+
+## Or to look at it the other way round
+
+When a user clicks on the map to report a problem...
+
+* the drop-down menu of _categories_ that the user sees
+ only contains categories with contacts belonging to bodies
+ operating in that area
+
+<div class="attention-box info">
+ <p>
+ So users cannot send problem reports to a body...
+ </p>
+ <ul>
+ <li>
+ for a problem that's not within that body's admin boundary
+ </li>
+ <li>
+ with a category of problem that the body isn't responsbile for
+ </li>
+ </ul>
+</div>
+
+## There might be lots of categories!
+
+![example showing many categories]({{ "/assets/img/training/fms-many-categories.png" | relative_url }})
+
+## Getting help in the admin
+
+* there are lots of hints in the admin
+
+* click on <span class="admin-help">**?**</span> orange question marks to
+ see them
+
+## Working with bodies
+
+Click on **Bodies** in the admin (at the top of the admin section)
+to list all the bodies in your system.
+
+* **click on each body's name to see and edit the details**
+
+![example showing many categories]({{ "/assets/img/training/admin-bodies.png" | relative_url }})
+
+
+## Configuring bodies and contacts
+
+You can add new bodies in the admin. Click on **Bodies** -- the form for
+adding a new body is underneath the list of existing bodies.
+The key things you need to provide:
+
+* **the name of the body**
+ <br>
+ as it will appear to the public
+
+* **the administrative boundary**
+ <br>
+ that this body covers (usually just one, but sometimes many, for example, islands)
+
+* **contact addresses** (usually emails)
+ <br>
+ for specific **categories** of problem
+
+## Add a body
+
+![example showing many categories]({{ "/assets/img/training/admin-add-a-body.png" | relative_url }})
+
+
+### You must specify an area
+
+You must indicate the body's admin boundary because if a problem is
+not within the body's area, it won't be reported to it.
+
+<div class="attention-box warning">
+ <strong>a body with no area will not receive any problem reports</strong>
+ <br>
+ this is why you must specify an area
+</div>
+
+We can help with admin boundary data, or providing alternatives
+(such as a the special area "everywhere").
+
+### Where do "areas" come from?
+
+FixMyStreet uses a separate service called MapIt to serve area data.
+
+This is described in detail in the documentation, and must be configured when
+your FixMyStreet site is first set up.
+
+The actual geometric data (polygons describing the boundary of each area) may
+come from the OpenStreetMap project, from your own government's official data,
+or be custom. Ask us if you need help.
+
+## Adding contacts and categories
+
+You need to add contacts to each body.
+
+<div class="attention-box warning">
+ <strong>a body with no contacts will not receive any problem reports</strong>
+ <br>
+ this is why you must add at least one contact
+</div>
+
+* usually contacts are email addresses
+
+* each contact is for a _category_ of problem
+
+* you can have lots of categories even if some or all use the _same_ email address
+
+### Adding a contact
+
+![add a contact/category]({{ "/assets/img/training/admin-add-contact.png" | relative_url }})
+
+
+### Confirm your contacts!
+
+When you enter a contact, if you can confirm it's valid, tick the __Confirmed__
+checkbox:
+
+* reports are only sent to confirmed contacts
+
+<div class="attention-box warning">
+ <strong>a body with no confirmed contacts will not receive any problem reports</strong>
+ <br>
+ this is why you must confirm the contacts if you know they are correct
+</div>
+
+
+We used this mechanism when we started FixMyStreet in the UK -- we crowdsourced
+the contacts from the public, so an admin needed to confirm they were valid
+before we could use them.
+
+### Simple example of a body and its area and contacts
+
+If there's a single authority responsible for burst water
+pipes and public standpipes in the whole country, and it has one email
+address:
+
+* _body:_ National Water Company
+* _area:_ the country's border
+* _categories & contacts_:
+ <br>burst water pipe &rarr; help@examplewater.com
+ <br>blocked standpipe &rarr; help@examplewater.com
+
+## Alternatives to email
+
+If the body has a back-end system that supports it, FixMyStreet _can_
+deliver problem reports directly.
+
+* Open311 -- an open standard for this kind of submission
+
+* admin already supports Open311
+
+* a single body can support more than one kind of "send method" -- some
+ categories using email addresses, and others direct submission
+
+See the full documentation for details about "back-end integration".
+
+## Deleting a body or a contact
+
+Normally you don't need to do this often.
+
+* to delete a body, edit it and tick the checkbox **Flag as deleted**
+
+* to delete a contact (or category), edit it and tick the checkbox **Deleted**
+
+In both cases, this treats it as deleted, but does not remove it from the database.
+
+This is mainly because existing reports may well depend on the (old)
+body or the (old) category.
+
+## Deleting records from the database
+
+* **you cannot delete bodies or categories from the database**
+
+* you can mark them as _deleted_, which behaves in a similar way
+
+If you really need to delete something (a training example body), you
+can't do it through the admin. If you're not sure, or you don't have
+access to your site's database, ask us for help!
+
+## Administering reports
+
+You can access all the report data from the admin.
+For example, as an administrator, you can:
+
+* search for reports on keyword or id
+* find all reports submitted by a particular user
+* change the report wording as displayed on the site
+* see the history of a report
+* hide reports
+
+## Finding a report
+
+Click on **Reports** -- there's a search box at the top.
+
+* if you know the report's number (id), search for `id:1234`
+ <br>
+ a report's id is shown as the number in its URL:
+ <br>
+ `fixmystreet.com/report/1234`
+
+* search by keyword
+
+* find user or body, and scroll
+
+### Searching reports
+
+![search reports]({{ "/assets/img/training/admin-search-reports.png" | relative_url }})
+
+## What the different timestamps mean
+
+There are four date stamps listed when you edit a report.
+You can't change them because they are recorded by the system
+but it can be helpful to understand them.
+
+* **Created** -- when the problem report was entered on the website
+
+* **Confirmed** -- when the creator clicked the email confirmation link
+ <br>
+ If a report was very late in being sent, check this timestamp: remember that
+ a report is _never sent until it has been confirmed_
+ <br>
+ Also, if a user is logged in when they create a report, it's automatically
+ confirmed
+
+* **Sent** -- when the report was sent to the body
+ <br>
+ normally this is up to 5 minutes after the report was confirmed
+
+* **Last update** -- when the record was last changed in the admin
+
+
+## Editing reports
+
+Remember, to edit a report, normally you click on **Reports** and then
+find the report you want by searching, and then clicking on **Edit**
+in list of results.
+
+These are the things you can do when you edit a report:
+
+* change the report's wording
+* change the report's state
+* hide the whole report
+* hide the name of the person who submitted it
+
+Remember to click the **Submit changes** button when you have finished
+editing a report.
+
+## Editing the wording of a report
+
+* **edit the report**
+
+* **text is free to edit in a text area**
+
+* we recommend you **always mark text you've changed**
+
+For example, if you remove someone's telephone number, replace it with
+
+`[telephone number redacted]`
+
+...or something similar. It's good to make it clear that:
+
+1. something was removed
+2. why you removed it
+
+## Changing a report's state
+
+* **edit the report**
+
+* **select the new state from the drop-down list**
+
+If you want to confirm a report (for example, a user has told you they deleted
+their confirmation email before clicking on the link), you can mark an
+_unconfirmed_ report as _open_. This simulates them clicking on the
+confirmation link themselves.
+
+## Hiding a report
+
+<div class="attention-box info">
+ Note that staff users can hide reports belonging to the body they represent,
+ so typically you don't need to do this as an administrator.
+</div>
+
+* **edit the report**
+
+* **change the state to _Hidden: hidden_**
+
+(There are other kinds of _Hidden_ state, but you don't normally need them.)
+
+Remember, hiding a report does not prevent it being sent. It just prevents
+it being displayed on the website.
+
+## Hiding the name of the report's creator
+
+* **edit the report**
+
+* **tick the checkbox labelled _Anonymous_**
+
+## You can edit updates too
+
+When you edit a report, any updates on that report are listed at the bottom
+of the page. You can click **Edit** next to any of those to edit them.
+
+* **you can change similar things in updates as you can reports:**
+
+* change the wording in the update
+* change the state the update sets the report to
+* hide the name of the person who submitted the update
+
+## When did a report get sent?
+
+You can see this on the public site:
+
+![sent yet?]({{ "/assets/img/training/mmi-18-show-when-sent.png" | relative_url }})
+
+..but it's also shown as the "Sent" field if you look at the report in the admin.
+
+* **the report has not been sent yet** if there's no "Sent to..." sentence
+
+* **the "send reports" job normally runs every 5 minutes**
+ <br>
+ so it's normal for a report to not go immediately when it is submitted
+
+## Resending a report
+
+If a report fails to get delivered, you can schedule it to be sent again.
+
+* **to resend a report, edit it and click _Resend report_**
+ <br>
+ again, this can take up to five minutes before it's handled
+
+## Managing users
+
+To access the users in the admin, click **Users**. The page only
+list _staff users_ by default. To see other users, use the search box
+to search across email or name.
+
+![show user]({{ "/assets/img/training/admin-users.png" | relative_url }})
+
+## Editing a user
+
+![edit user]({{ "/assets/img/training/admin-edit-user.png" | relative_url }})
+
+### Change a user's name or email address
+
+* **edit a user by finding them in the list of users and clicking _Edit_**
+
+* (if you click on their email address in the list of search results, you
+ get a list of all the reports and updates they've made)
+
+* note that changing the user's name here doesn't change the name that
+ was recorded with each report that they made before
+
+## Creating a new user
+
+The **Add user** form is underneath the search box and the list of staff users
+when you click **Users**.
+
+<div class="attention-box info">
+ Note that it's unusual to make a normal user this way because, if they need
+ to, any user can make their own account by signing in on the website.
+</div>
+
+* make sure the user has access to the email address you enter
+ <br>
+ check that you've spelled the email address exactly!
+
+* creating a new user in this way means they will _not_ be emailed
+ a notification email
+
+* a normal (not staff) user has _"No body"_ as their body
+
+## Make a staff user
+
+* a staff user is simply a user account that's linked to a body
+
+* they have some special powers over problem reports that were
+ submitted to the body they are linked to
+
+* **edit (or create) the user and choose the right body**
+
+* normal (not staff) users have _"No body"_ as their body
+
+## Flagging reports or users
+
+* **flagging just marks the user or the report for attention**
+ <br>
+ so other administrators know to keep an eye on their activity
+
+* it has no other effect
+
+* if you want to ban a user, add them to the abuse list
+
+### Flagged reports and users
+
+![flagged things]({{ "/assets/img/training/admin-flagged-reports-users.png" | relative_url }})
+
+## Banning a user: the abuse list
+
+In addition to flagging a user, you can also add them to the
+"abuse list" (that's a list of users who have abused their right
+to have access to your site).
+
+* **a user who's on the "abuse list" cannot use the site**
+
+* **ban a user by clicking on "BAN EMAIL ADDRESS"**
+ <br>
+ when you are **editing a _report_ or _update_** they submitted
+
+![ban a user]({{ "/assets/img/training/admin-ban-a-user.png" | relative_url }})
+
+## Getting statistics
+
+![getting stats]({{ "/assets/img/training/admin-stats-enter-dates.png" | relative_url }})
+
+## Example of statistics
+
+![output stats]({{ "/assets/img/training/admin-stats.png" | relative_url }})
+
+## Other administration tasks
+
+Remember to check the full documentation on
+[fixmystreet.org](https://fixmystreet.org).
+
+If you need help, email us or ask for advice on the (public) FixMyStreet
+mailing list.
+
+
+
+
+
+
diff --git a/docs/training/citizens.md b/docs/training/citizens.md
new file mode 100644
index 000000000..fb19a266f
--- /dev/null
+++ b/docs/training/citizens.md
@@ -0,0 +1,297 @@
+---
+layout: page
+title: FixMyStreet training - citizens
+author: dave
+---
+
+Training notes for citizens
+=============================
+
+<p class="lead">
+ These notes may serve as a basis for training people new to the FixMyStreet
+ platform. They might be helpful if you&rsquo;re setting up a new site or team.
+</p>
+<div class="attention-box helpful-hint">
+ <p>
+ Basic training notes like these are available for
+ <br>
+ <a href="{{ "/training/citizens" | relative_url }}">citizens</a>,
+ <a href="{{ "/training/staff" | relative_url }}">staff users</a>, and
+ <a href="{{ "/training/admins" | relative_url }}">administrators</a>.
+ </p>
+ <p>
+ Refer to the <a href="{{ "/overview" | relative_url }}">full documentation</a>
+ for more detailed information!
+ </p>
+</div>
+
+Remember that every FixMyStreet installation is different, and can both
+look and behave differently, depending on how it has been
+[customised]({{ "/customising/" | relative_url }}).
+
+<!-- magically present as slideshow, slides split on h2 or h3 -->
+<a name class="play-as-slideshow"></a>
+
+---
+
+## Why use MakeMyIsland?
+
+You have a problem in the street (for example, a streetlight is broken).
+Here's why you should report it on MakeMyIsland.
+
+* **it's helpful**
+ <br>
+ problems can't be fixed until someone knows about them!
+* **even if you don't know who to tell**
+ <br>
+ because MakeMyIsland will pass it on to the right people
+* **it's quick**
+ <br>
+ click on the map, describe the problem, send it
+* **avoids duplicates**
+ <br>
+ if there's already a pin on the map, you know it's already been reported
+* **everyone knows when it's fixed**
+ <br>
+ when it's marked as _fixed_ you receive an email letting you know
+
+Over time, the community gets a public record of where the problems
+were, and how busy everyone has been fixing them.
+
+## How to report a problem
+
+This example starts at the home page, that is, the front of the site. You can
+click on "Report a problem" anywhere on the site to get started.
+
+## Enter location...
+
+![front page]({{ "/assets/img/training/mmi-01-front-page.png" | relative_url }})
+
+
+## Start with a general location
+
+* **enter a nearby street name or area**
+ <br>
+ If MakeMyIsland isn't sure where you meant, it will offer choices
+
+* or **use your current location**
+ <br>
+ if your device supports that
+
+## Click on the map...
+
+![click on map]({{ "/assets/img/training/mmi-02-click-on-map.png" | relative_url }})
+
+## Click the map (a pin appears!)
+
+* **click on the map exactly where the problem is**
+ <br>
+ You can zoom the map. After you've clicked on the map, if the
+ pin isn't in the right place, you can drag it to reposition it...
+ or just click again.
+
+
+## Enter details...
+
+![enter details]({{ "/assets/img/training/mmi-03-enter-details.png" | relative_url }})
+
+## Enter details
+
+* **enter a one-line summary of the problem**
+ <br>
+ this is used as the summary when the problem is shown in lists
+
+* **type in a description of the problem**
+ <br>
+ What's wrong? Has it been like it long?
+
+* **choose a category**
+ <br>
+ the site uses the precise location and the category to decide
+ to whom your report will be sent
+
+* **attach a photo if you want**
+
+## Enter your _own_ details
+
+![enter user details]({{ "/assets/img/training/mmi-04-user-details.png" | relative_url }})
+
+## Provide your email address
+
+* **enter your email address**
+ <br>
+ Because that's what MakeMyIsland uses to identify you
+
+Some versions of FixMyStreet use other ways to identify you too,
+so you might be able to login with Facebook, for example.
+
+## Got a password?
+
+If you've signed into MakeMyIsland before, and you've got a
+password:
+
+* **enter your password**
+
+* **click _Submit_**
+
+## No password? Click in email link
+
+If you haven't signed in before and set a password;
+
+* **enter your name**
+
+* **check or uncheck "show my name publicly"**
+ <br>
+ You name is sent, with your message, to the body along
+ with your report, but it won't be shown on the report's
+ web page unless you want it to be
+
+* **click _Submit_**
+
+* **look in your email inbox**
+ <br>
+ MakeMyIsland has sent you an email: click on the "confirmation
+ link" in it, so MakeMyIsland knows you really are the
+ person who uses that email address
+
+
+## The report has been submitted
+
+* **you can see it on the website**
+ <br>
+ it has a simple URL that won't change, so you can
+ use it to share your report
+
+* **it gets sent to the right authority**
+ <br>
+ the report will be emailed to the public body responsible for fixing
+ it in a few moments
+
+In fact, reports are rounded up and sent every five minutes. And in
+some implementations of FixMyStreet, the problems are put directly into
+the authorities' "problem database" instead of emailing... but it works
+the same for you, either way.
+
+## When did a report get sent?
+
+You can see this on the public site:
+
+![sent yet?]({{ "/assets/img/training/mmi-18-show-when-sent.png" | relative_url }})
+
+* **the report has not been sent yet** if there's no "Sent to..." sentence
+
+* **it's normal for a report to not go immediately when it is submitted**
+ <br>
+ usually, all reports are rounded up and sent every 5 minutes
+
+## Add an update...
+
+![add an update]({{ "/assets/img/training/mmi-05-update.png" | relative_url }})
+
+
+## Add an update to a report
+
+Later, you can add an update to a report:
+
+* **any report (not just yours!)**
+ <br>
+ To get to a report, click on the pin and **Details**,
+ or (if it's in a list) click on its name
+
+* **you can mark the problem as _Fixed_**
+ <br>
+ or mark it as "not fixed" if it's wrongly already marked as "fixed"
+
+## Report an offensive report
+
+If you find a report that you think should not be displayed (for example,
+it contains offensive language or an inappropriate photograph):
+
+* **click on _Report abuse_ on the report**
+
+The administrators will be alerted and can hide the report.
+
+## The "report abuse" link
+
+![report abuse]({{ "/assets/img/training/mmi-06-report-abuse.png" | relative_url }})
+
+
+## Find problems nearby
+
+If you're looking at a problem report...
+
+* **click on _Problems nearby_**
+ <br>
+ to see all pins stuck in the map where other problems
+ have been reported near this one
+
+## Ask to be notified...
+
+![the get-updates link]({{ "/assets/img/training/mmi-07-get-updates-link.png" | relative_url }})
+
+## Get email updates
+
+You can ask MakeMyIsland to email you whenever:
+
+* **problem reports are submitted near a place you're interested in**
+
+* **a particular problem gets an update**
+ <br>
+ any problem report _you_ create is automatically one of these
+
+Click on **Get updates** or **Local alerts** to set this up.
+
+MakeMyIsland also makes alerts available with RSS, which is useful
+for programmers/other apps.
+
+## Getting updates...
+
+![get updates]({{ "/assets/img/training/mmi-08-get-updates.png" | relative_url }})
+
+
+## Use your account
+
+If you set a password, you can login when you use MakeMyIsland.
+When you are logged in:
+
+* **you don't keep getting confirmation email links**
+ <br>
+ because the site already knows who you are
+
+* **you can see all your reports on one page**
+ <br>
+ Click on **Your reports**
+
+* **sign out any time by clicking on... _Sign out_**
+
+## Signing in...
+
+![sign in screen]({{ "/assets/img/training/mmi-09-login.png" | relative_url }})
+
+## Your reports
+
+![your reports]({{ "/assets/img/training/mmi-12-your-reports.png" | relative_url }})
+
+## Share what you've done!
+
+* **every report has a simple URL that never changes**
+ <br>
+ for example `www.fixmystreet.com/report/12345`
+
+* **you can share that link!**
+ <br>
+ when a problem gets fixed, let your friends know: you got something fixed!
+
+
+## Sign out if anyone else might use the same device
+
+* **click on _Sign out_**
+ <br>
+ it always appears somewhere near the top of the screen when you're logged in
+
+![sign out]({{ "/assets/img/training/mmi-17-logout.png" | relative_url }})
+
+
+
+
+
diff --git a/docs/training/index.md b/docs/training/index.md
new file mode 100644
index 000000000..9fcaee9df
--- /dev/null
+++ b/docs/training/index.md
@@ -0,0 +1,33 @@
+---
+layout: page
+title: FixMyStreet training guides
+author: dave
+---
+
+FixMyStreet training notes
+===========================
+
+<p class="lead">
+ These notes may serve as a basis for training people new to the FixMyStreet
+ platform. They might be helpful if you're setting up a new site or team.
+</p>
+<div class="attention-box helpful-hint">
+ <p>
+ Basic training notes like these are available for
+ </p>
+ <ul>
+ <li><a href="{{ "/training/citizens" | relative_url }}">citizens</a></li>
+ <li><a href="{{ "/training/staff" | relative_url }}">staff</a></li>
+ <li><a href="{{ "/training/admins" | relative_url }}">administrators</a></li>
+ </ul>
+ <p>
+ Refer to the <a href="{{ "/overview" | relative_url }}">full documentation</a>
+ for more detailed information!
+ </p>
+</div>
+
+Remember that every FixMyStreet installation is different, and can both
+look and behave differently, depending on how it has been
+[customised]({{ "/customising/" | relative_url }}).
+
+
diff --git a/docs/training/staff.md b/docs/training/staff.md
new file mode 100644
index 000000000..0216bd62f
--- /dev/null
+++ b/docs/training/staff.md
@@ -0,0 +1,241 @@
+---
+layout: page
+title: FixMyStreet training - staff users
+author: dave
+---
+
+
+Training notes for new staff users
+=============================
+
+<p class="lead">
+ These notes may serve as a basis for training people new to the FixMyStreet
+ platform. They might be helpful if you&rsquo;re setting up a new site or team.
+</p>
+<div class="attention-box helpful-hint">
+ <p>
+ Basic training notes like these are available for
+ <br>
+ <a href="{{ "/training/citizens" | relative_url }}">citizens</a>,
+ <a href="{{ "/training/staff" | relative_url }}">staff</a>, and
+ <a href="{{ "/training/admins" | relative_url }}">administrators</a>.
+ </p>
+ <p>
+ Refer to the <a href="{{ "/overview" | relative_url }}">full documentation</a>
+ for more detailed information!
+ </p>
+</div>
+
+Remember that every FixMyStreet installation is different, and can both
+look and behave differently, depending on how it has been
+[customised]({{ "/customising/" | relative_url }}).
+
+
+<!-- magically present as slideshow, slides split on h2 or h3 -->
+<a name class="play-as-slideshow"></a>
+
+---
+
+## If you're a staff user... you work for a "body"
+
+That means MakeMyIsland is sending problem reports to you (or
+the body you represent).
+Normally this means by email.
+
+* **citizens interact with the MakeMyIsland website**
+ <br>
+ (because it's easy)
+
+* **MakeMyIsland sends emails to the body you represent**
+ <br>
+ with the details of the problem from them
+
+* **the emails come in with `Reply-To` set to the _citizen's_ email address**
+ <br>
+ so if you **reply**, your email goes to the citizen
+
+* **you can _sign in_ to the MakeMyIsland website to mark problems as _fixed_**
+ <br>
+ ...or add updates, or set them to states other than _fixed_
+
+## Problems reported _on behalf_ of someone else
+
+Be careful: in some places, citizens send their problems to the
+MakeMyIsland staff (for example, by SMS) who submit the problem
+on their behalf.
+
+<div class="attention-box warning">
+ In this case, replying to the email will go to the staff.
+ <br>
+ It will <strong>not</strong> automatically go to the original reporter.
+</div>
+
+OK... so it's not a big problem, but bear it in mind if you think your replies
+keep going to the same person.
+
+## What is a staff user?
+
+A staff user is the same as a normal MakeMyIsland user except
+
+* **your account is linked with a _body_**
+ <br>
+ for example, you work for a council or city department
+
+<div class="attention-box helpful-hint">
+ so everything you can do as a normal user, you can do as
+ a staff user... with a few extra powers!
+</div>
+
+* **your extra powers only apply to problem reports submitted**
+ **to the body you're linked to**
+
+## How to create an account
+
+You can sign up to MakeMyIsland just using your email, but you'll
+need an administrator to convert your account to a *staff account*.
+
+* **create an account the usual way**
+ <br>
+ use your email and add a password
+
+* **you can do this without submitting a problem report**
+ <br>
+ just click on **Your reports**
+
+* **then ask an administrator to link your email address with the body**
+ <br>
+ be sure to tell them _which_ body
+
+## Signing up
+
+![sign in screen]({{ "/assets/img/training/mmi-09-login.png" | relative_url }})
+
+## How to log in
+
+* **click on _Your reports_ to get a login form**
+ <br>
+ unless you're already logged in, of course!
+
+* **you'll need your _email address_ and your _password_**
+
+Because your email address (and hence your account) is linked with
+the body you represent, MakeMyIsland knows you're a staff user.
+
+## Basic problem report process
+
+Here's a reminder of the normal lifecycle of a problem report:
+
+1. citizen submits problem
+2. ...and then confirms it
+3. MakeMyIsland sends problem to body
+4. people update the report
+5. the body responsible (**you?**) marks it as fixed
+
+
+## Update a report
+
+Anyone can update a report. But it's especially helpful if
+the body responsible for it does this. That's where you come
+in!
+
+* **update the report by leaving a comment in the normal way**
+ <br>
+ you can add a photo too
+
+* **make sure you've set the account name correctly**
+ <br>
+ for example, use "John Example of the City Council" if
+ that's who you work for, or even "City Council" if you
+ share the login with your colleagues
+
+### Add an update...
+
+![add an update]({{ "/assets/img/training/mmi-05-update.png" | relative_url }})
+
+## Change a report's state
+
+When you're logged in with a staff account, you can
+
+* **change the state of a problem report**
+ <br>
+ normal users can only choose between two states:
+ <br>
+ _fixed_ or _not&nbsp;fixed_...
+ <br>
+ that is, they just get a checkbox
+
+* **you can choose from more detailed states!**
+ <br>
+ you get a drop-down menu:
+ <br>
+ _Investigating_, _Action scheduled_, _Unable to fix_
+ and so on
+
+### More states available to a staff user
+
+![staff states]({{ "/assets/img/training/mmi-15-staff-states.png" | relative_url }})
+
+## This is what a fixed problem looks like
+
+The problem report has a green tag marked "fixed"!
+
+![it is fixed]({{ "/assets/img/training/mmi-16-woo-it-is-fixed.png" | relative_url }})
+
+## Hiding reports
+
+Normal users see a _Report abuse_ link at the bottom of every report, so they
+can report a problem report if it contains offensive or inappropriate material.
+
+* _If you're logged in with a staff account_, that link automatically
+ becomes a **Remove from site** link.
+
+* **click _Remove from site_ to take it off the site**
+ <br>
+ this doesn't prevent the report from being sent, so everything still works
+
+## The "remove from site" link
+
+![remove from site]({{ "/assets/img/training/mmi-13-staff-remove-from-site.png" | relative_url }})
+
+## View all reports for your body
+
+Any users can do this, but it's especially useful for you if you want to
+see all the reports on a map.
+
+* **click on _All reports_ in the menu bar**
+
+## View the dashboard
+
+* **there's a dashboard showing a summary of report statistics for your body**
+ <br>
+ see `/dashboard`
+
+This only displays something if you are logged in with a staff account.
+
+
+## Submit new problem reports as staff user?
+
+* can you **submit new problem reports while logged in with your staff account?**
+
+* **sure!**
+
+You can create a personal account too if you want, but there's no reason
+why you can't report problems for your own staff to fix.
+
+People are happy to know you're reporting problems when you find them.
+
+### Sign out if anyone else might use the same device
+
+* **click on _Sign out_**
+ <br>
+ it always appears somewhere near the top of the screen when you're signed in
+
+* be extra careful: **do not to leave a staff account logged in!**
+
+![sign out]({{ "/assets/img/training/mmi-17-logout.png" | relative_url }})
+
+
+<!--
+## Moderating reports
+-->
+