aboutsummaryrefslogtreecommitdiffstats
path: root/docs/getting_started.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/getting_started.md')
-rw-r--r--docs/getting_started.md380
1 files changed, 380 insertions, 0 deletions
diff --git a/docs/getting_started.md b/docs/getting_started.md
new file mode 100644
index 000000000..4bfd9eb24
--- /dev/null
+++ b/docs/getting_started.md
@@ -0,0 +1,380 @@
+---
+layout: page
+title: Getting started
+---
+
+# Getting started with Alaveteli
+
+<p class="lead">
+ This guide is aimed at people who are thinking about setting up their own
+ Alaveteli website in a new jurisdiction.
+</p>
+
+For inspiration, take a look at some of the existing Alaveteli websites, like
+[tuderechoasaber.es](http://tuderechoasaber.es) (Spain),
+[AskTheEU](http://asktheeu.org) (EU), or
+[WhatDoTheyKnow](http://www.whatdotheyknow.com) (UK). These sites all use the
+Alaveteli software, plus their own custom themes installed on top to make them
+look different.
+
+You don't even need to make a custom theme to get started. You can have a
+website that looks like [the demo website](http://demo.alaveteli.org) and
+simply drop in your own logo.
+
+The process of getting your own Alaveteli website up and running could take
+anywhere from one day to three months, depending on the scale of your ambition
+for customising the software, your access to technical skills, and your
+available time.
+
+You can get a feeling for how things might turn out by reading [how an
+Alaveteli was set up in
+Spain](http://www.alaveteli.org/2012/04/a-right-to-know-site-for-spain/)
+(remember that this was with an experienced developer in charge). You will also
+need to think about how you will run the website; a successful Alaveteli
+requires lots of ongoing effort to moderate and publicise (see Step 6 and Step
+7, below).
+
+Here are the steps we suggest you follow in order to get started.
+
+* [Step zero: assemble your initial team](#step-0)
+* [Step one: get a working, uncustomised version running](#step-1)
+* [Step two: start to gather data about public authorities](#step-2)
+* [Step three: customise the site](#step-3)
+* [Step four: translate everything](#step-4)
+* [Step five: Test drive the site](#step-5)
+* [Step six: Market the website](#step-6)
+* [Step seven: Maintain the website](#step-7)
+
+
+<a name="step-0"> </a>
+
+## Step zero: assemble your initial team
+
+You're unlikely to be able to get much done on your own. You will need
+translators, people to hunt down email addresses of authorities, possibly a
+designer, and preferably a technical expert to help with customisations. Read
+through this guide first, and think about the skills you will need to
+successfully launch and maintain the website.
+
+It took about [ten people (including translators) working for three
+days](http://groups.google.com/group/alaveteli-dev/msg/1bd4afd3091f8b4f) to
+launch [Queremos Saber](http://queremossaber.org.br/), a Brazilian version of
+Alaveteli.
+
+> It was really cool setting the site up. And even with some minor
+> difficulties (most related to the fact that we had no one really experienced
+> with both Ruby on Rails and Postfix) it was pretty quick and in less than a
+> week we had a fully featured website!
+>
+> -- _Pedro Markun, Queremos Saber_
+
+[AskTheEU](http://asktheeu.org), a much more complete and polished version with
+a custom theme and several other customisations, took a team of 2 or 3 people
+about 3 months (part time) to complete.
+
+Ask members of your team to consider joining one of the mailing lists. If you
+have any questions, these are the first places to ask.
+[alaveteli-users](http://groups.google.com/group/alaveteli-users) is a mailing
+list for non-technical users of the software. Post messages there to ask for
+advice about getting your project started, questions about how people use the
+software, and so on.
+[alaveteli-dev](http://groups.google.com/group/alaveteli-dev) is the place to
+ask questions of a technical nature, such as problems installing Alaveteli.
+
+<a name="step-1"> </a>
+
+## Step one: get a working, uncustomised version running
+
+You have two options here: install your own copy, or ask the Alaveteli team to
+provide a hosted version.
+
+If you install your own copy, you have complete control over the website, its
+performance, how often it is upgraded, and so on. We recommend this as the best
+approach. However, you will need some resources to do this.
+
+Alternatively, we have very limited capacity to run a handful of Alaveteli
+sites for willing volunteers. We want to learn more about how we can support
+third parties, and to do so we're happy to help host low-volume sites for two
+or three partners. However, you will have no service level agreement, no
+warranties, and no guarantee on our time: if the website goes down when we're
+on holiday, you'll have to wait until we're back! If you want to try this
+route, please [get in touch](http://alaveteli.org/contact-us) to find out if
+we have capacity.
+
+### Install your own copy
+
+You'll need to find a tech person who knows about hosting websites using Apache
+and Linux. They don't need to know Ruby on Rails, but it would be a huge
+advantage if they do.
+
+You'll also need to source a server. You should ask your tech person to help
+with this. The minimum spec for running a low traffic website is 512MB RAM and
+a 20GB disk. 2GB RAM would be ideal. We recommend Debian Squeeze as the
+operating system, though any sort of Linux should do. Rackspace offer suitable
+cloud servers, which start out at around $25 / month. Then your tech person
+should follow the [installation documentation]({{ site.baseurl }}docs/installing).
+
+Alternatively, you could use Amazon Web Services. This has the
+added advantage that you can use our preconfigured [Alaveteli EC2
+AMI]({{ site.baseurl }}docs/installing/ami) to get you
+started almost instantly. However, it's more expensive than Rackspace,
+especially if you want more RAM.
+
+### Play around with it
+
+You'll need to understand how the website works. Until your own copy is
+available, you can try the copy running on the [demo
+server](http://demo.alaveteli.org) (though note this isn't guaranteed to be
+available or working).
+
+Right now we don't have a guide book, so you'll just have to explore on your
+own.
+
+When you have your own version running, try logging into the admin interface by
+adding `/admin` onto the end of your domain name. This will take you to the
+administrative interface. It's plain and simple, but functional. For example,
+try adding new authorities there, perhaps with your own email address, so you
+can see what requests look like to them.
+
+When trying things out, you need to wear several hats -- as a site
+administrator, an ordinary site user, and as a public authority. This can get
+confusing with several email addresses, so one quick and easy way to manage
+this is to use a throwaway email service like http://mailinator.com.
+
+<a name="step-2"> </a>
+
+## Step two: start to gather data about public authorities
+
+One of the most important things you need to do before launching is to gather
+together a list of all the bodies to whom you want to address FOI requests.
+
+It's a good idea to make a shared speadsheet that you can ask your supporters
+to help fill out. A template like [this Google
+spreadsheet](https://docs.google.com/spreadsheet/ccc?key=0AgIAm6PdQexvdDJKdzlNdXEtdjBETi1SLVhoUy1QM3c&hl=en_US) is ideal.
+
+If you email possible supporters asking for help, in addition to helping make
+your job easier, it will also help you identify eager people who might be
+interested in helping you maintain and run the website. We have written [a
+blog post about
+this](http://www.alaveteli.org/2011/07/you-need-volunteers-to-make-your-website-work/).
+
+The admin interface includes a page where you can upload a CSV file (that's a
+file containing comma-separated values) to create or edit authorities. CSV is a
+convenient format -- for example, it's easy to save data from a spreadsheet as
+a CSV file.
+
+<a name="step-3"> </a>
+
+## Step three: customise the site
+
+### Name and social media
+
+Obviously, you'll want to put your own visual stamp on the site. Once you have
+a name for your project (e.g., WhatDoTheyKnow in the UK, AskTheEU in the EU,
+InformateZyrtare in Kosovo), register a twitter username, and a domain name.
+Alaveteli relies on you keeping a blog for its "News" section, so you might
+want to consider setting up a free blog at http://wordpress.com or
+http://blogger.com and announce your project with a new blog post.
+
+### Branding and theming
+
+Next, think about the visual identity. At a minimum, you should probably
+replace the default Alaveteli logo that you can see at the top left of
+<http://demo.alaveteli.org>. It's also easy to change the colour scheme.
+
+If you have a bit more budget and time, you can rework the design more, with a
+custom homepage, different fonts, etc; however, the more you customise the
+site, the harder it is to upgrade in the future; and you'll need a developer
+and/or designer to help do these customisations. We call the custom set of
+colours, fonts, logos etc a "theme"; there are some notes for developers about
+[writing a theme]({{ site.baseurl }}docs/customising/themes/). You
+might spend anywhere between 1 and 15 days on this.
+
+### Legislative differences
+
+We rely on users to help categorise their own requests (e.g., as "successful",
+or "refused"). We call these categories "states". Most FOI laws around the
+world are sufficiently similar that you can probably use Alaveteli's states
+exactly as they come out of the box.
+
+In addition, we have found that it's generally a bad idea to try to implement
+laws exactly in the user interface. They are often complicated, and confusing
+for users. Since the concept of Alaveteli is to make it easy to exercise the
+right to know, we take the view that it's best to implement how a FOI process
+*should* be, rather than how it *actually is right now*.
+
+However, if you really feel you need to alter the states that a request can go
+through, it is possible to do this to some degree within your theme. Have a
+think about what is required, and then send a message to the Alaveteli mailing
+list for feedback and discussion. Then you'll need to ask your developer to
+implement the new states. It's usually no more than a couple of days' work,
+often less. But complicated workflows might take a bit longer.
+
+### Write the help pages
+
+The default help pages in Alaveteli are taken from WhatDoTheyKnow, and are
+therefore relevant only to the UK. You should take these pages as inspiration,
+but review their content with a view to your jurisdiction. The important pages
+to translate are:
+
+* [About](https://github.com/mysociety/alaveteli/blob/master/app/views/help/about.rhtml): why the website exists, why it works, etc
+* [contact](https://github.com/mysociety/alaveteli/blob/master/app/views/help/contact.rhtml): how to get in touch
+* [credits](https://github.com/mysociety/alaveteli/blob/master/app/views/help/credits.rhtml): who is involved in the site. Importantly, includes a section on how users can help the project.
+* [officers](https://github.com/mysociety/alaveteli/blob/master/app/views/help/officers.rhtml): information for the officers who deal with FOI at authorities. They get a link to this page in emails that the site sends them.
+* [privacy](https://github.com/mysociety/alaveteli/blob/master/app/views/help/privacy.rhtml): privacy policy, plus information making it clear that requests are going to appear on the internet. Let users know if they are allowed to use pseudonyms in your jurisdiction.
+* [requesting](https://github.com/mysociety/alaveteli/blob/master/app/views/help/requesting.rhtml): the main help page about making requests. How it works, how to decide who to write to, what they can expect in terms of responses, how to make appeals, etc.
+* [unhappy](https://github.com/mysociety/alaveteli/blob/master/app/views/help/unhappy.rhtml): users are taken to this page after a request that has been somehow unsuccessful (e.g. the request has been refused, or the authority is insisting on a postal request). The page should encourage them to keep going, e.g. by starting a new request or addressing it to a different body.
+* [why email](https://github.com/mysociety/alaveteli/blob/master/app/views/help/_why_they_should_reply_by_email.rhtml): a snippet of information that explains why users should insist on replies by email. This is displayed next to requests that have "gone postal".
+
+The help pages contain some HTML. Your tech person should be able to advise on
+this.
+
+Once the pages are written, ask your tech person to add them to your theme.
+
+Now is also a good time to start thinking about some of your standard emails
+that you'll be sending out in response to common user queries and
+administrative tasks -- for example, an email that you send to IT departments
+asking them to whitelist emails from your Alaveteli website (if your emails are
+being marked as spam). See the
+[Administrator's Manual]({{ site.baseurl }}docs/running/admin_manual/) for details
+on some of the common administrative tasks. There is a list of the
+standard emails used by WhatDoTheyKnow on the
+[FOI Wiki](http://foiwiki.com/foiwiki/index.php/Common_WhatDoTheyKnow_support_responses).
+
+### Other software customisations
+
+Perhaps you would like a new usability-related feature not in Alaveteli
+already, like the automated language detection for multi-language websites; or
+Facebook integration; or an iPhone app.
+
+Perhaps you've found an area relating to translations that Alaveteli doesn't
+yet support fully (for example, we've not yet needed to implement a site with a
+language written right-to-left).
+
+Perhaps your jurisdiction *requires* a new feature not in Alaveteli -- for
+example, users may need to send extra information with their requests.
+
+In these cases, you will need to get your tech person (or some other software
+developer) to make these changes for you. This can be time consuming; new
+software development, testing, and deployment is often complex. You should get
+expert advice on the amount of extra time this will require. Typically, changes
+like these could add between one and three months onto the project schedule.
+
+<a name="step-4"> </a>
+
+## Step four: translate everything
+
+This is potentially a big job!
+
+If you need to support multiple languages in your jurisdiction, you will need
+to translate:
+
+* public authority names, notes, etc
+* public authority bodies
+* help pages
+* all of the web interface instructions in the software
+
+It's a bit easier if you only need to support one language in your
+jurisdiction: because you'll already have written the help and public authority
+information, you'll only need to translate the web interface.
+
+Public authority names can be edited via the admin interface, or by uploading a
+spreadsheet. The help pages need to have one copy saved for each language; your
+tech person will put them in the right place.
+
+The web interface translations are managed and collaborated via a website
+called Transifex. This website allows teams of translators to collaborate in
+one place, using a fairly easy interface.
+
+The Alaveteli page on Transifex is at
+<https://www.transifex.com/projects/p/alaveteli/>; the translations all live in a
+single translation file called
+[`app.pot`](https://www.transifex.com/projects/p/alaveteli/resource/apppot/).
+
+You can set up your language and provide translations there; you can also use
+specialise software on your own computer (see the help pages on Transifex)
+
+There are (at the time of writing) around 1000 different sentences or fragments
+of sentences (collectively known as "strings") to be translated. The meaning of
+many strings should be fairly obvious, but others less so. Until we write a
+guide for translators, the best route to take is translate everything you can,
+and then ask your tech person or the project mailing list for advice on
+anything you're unsure about.
+
+Over time, as bugs are fixed and new features are added, new strings are added
+to the file. Therefore, you need to keep an eye on `app.pot` and periodically
+review the untranslated strings.
+
+<a name="step-5"> </a>
+
+## Step five: Test drive the site
+
+For launch, the tech person should review the [Production Server Best
+Practices]({{ site.baseurl }}docs/running/server).
+
+A low-key launch, where you tell just a few trusted people about the site, is a
+very good idea. You can then track how things work, and gauge the responses of
+authorities. Responses are likely to vary widely between and within
+jurisdictions, and the right way of making your website a success will vary
+with these responses.
+
+<a name="step-6"> </a>
+
+## Step six: Market the website
+
+In general, the best way to engage authorities is with a mixture of
+encouragement and exposure. In private, you can explain that in addition to
+helping them meet their legal requirements and civic obligations, you may be
+reducing their workload by preventing repeat requests. In public, you can work
+with journalists to praise authorities that are doing a good job, and highlight
+ones that refuse to take part. It is, therefore, very important to make links
+with journalists with an interest in freedom of information.
+
+The other important marketing tool is [Google
+Grants](http://www.google.com/grants/), a scheme run by Google that gives free
+AdWords to charities in lots of countries around the world. You'll find these
+an incredibly useful resource for driving traffic to your site. It's well worth
+setting yourself up as a charity if only to take advantage of this programme.
+
+<a name="step-7"> </a>
+
+## Step seven: Maintain the website
+
+Running a successful Alaveteli website requires some regular, ongoing input.
+This will be easier to do with a small team of people sharing jobs. Hopefully
+you have been lucky enough to get funding to pay people to do these tasks.
+However, you are also likely to have to rely on volunteers. We've written [a
+blog post about the importance of
+volunteers](http://www.alaveteli.org/2011/07/you-need-volunteers-to-make-your-we
+bsite-work/), which you should read.
+
+You'll need to set up a group email address for all the people who will manage
+the website. All site user queries will go here, as will automatic
+notifications from Alaveteli. A group address is really useful for helping
+coordinate responses, discuss policy, etc.
+
+You could get by with just one or two hours per week. This means keeping an eye
+on the "holding pen" of the website, where incoming messages that the site
+doesn't know how to handle are stored (things like spam, misaddressed messages,
+etc). However, the more effort you put into this, the more successful your
+website is. To ensure its success, you should be doing things like:
+
+* Responding to user help enquiries by email
+* Monitoring new requests, looking for people who might need help, posting
+ encouraging comments on their requests
+* Monitoring responses from authorities, looking for ones who are trying to
+ refuse to answer, offering advice to the person who made the request, possibly coming up with publicity to "shame" the authority into answering
+* Tweeting about interesting requests and responses
+* Writing blog posts about the progress of the project
+* Communicating with journalists about potentially interesting stories
+* Recruiting volunteers to help with the site
+* Categorising uncategorised requests
+
+See also the [Administrator's Manual](/docs/running/admin_manual), which describes
+some of the typical tasks you'll need to perform when your site is up and
+running.
+
+### What else?
+
+If there's anything you think would be really useful to have in this getting
+started guide which is currently missing, let us know so we can add it.