More help tweaks.

More help tweaks.

<% @title = "About" %>

Contact us

If your question isn't answered here, or you just wanted to let us know
something about the site, contact us.

Introduction to WhatDoTheyKnow

What is WhatDoTheyKnow for?

To help you find out inside information about what the UK government
is doing.

How does the site work?

You choose the public authority that you would like information from, then
write a brief note describing what you want to know. We then send your request
to the public authority. Any response they make is automatically published on the
website for you and anyone else to find and read.

Why would I bother to do this?

You pay taxes, and then government does things with the money. All sorts of
things that affect your life, from healthcare through to national defence. Some
it does badly, some it does well. The more we find out about how government
works, the better able we are to make suggestions to improve the things that
are done badly, and to celebrate the things that are done well.

Why would the public authority bother to reply?

Under Freedom of Information (FOI) law, they have to respond.

Who makes it?

WhatDoTheyKnow is created and run by mySociety,
and was initially funded by the JRSST Charitable Trust. mySociety is a project of the
registered charity UK Citizens Online Democracy.
If you like what we're doing, then you can
make a donation.

Making requests

You're missing the public authority that I want to request from!

Please contact us with the name of the public authority and,
if you can find it, their contact email address for Freedom of Information requests.
If you'd like to help add a whole category of public authority to the site, for example all
primary care trusts or all schools, then please
edit this shared spreadsheet (Google account required).

How quickly will I get a response?

By law public authorities must respond "promptly", and in any event not later
than 20 working days after receiving your request. The date of that hard limit
is shown on the page for your request. You will be emailed if this date goes by
without a response, so you can send the public authority another note to remind
them that they are breaking the law. Note: If you had to
clarify your request, the clock starts from that date, instead of the date they
received your initial request.

What if I'm not satisfied with the response?

If you didn't get the information you asked for, or you didn't get it in time,
then read our page 'Unhappy about the response you got?'.

Can you tell me more of the nitty gritty about the process of making requests?

Have a look at the
access to official information
pages on the Information Commisioner's website.

Can I request information about myself?

Not using this site. Requests made using WhatDoTheyKnow are public, made under the
Freedom of Information Act, and cannot help you find information about a
private individual. If you would like to know what information a public
authority holds about yourself, you should make a "Subject Access Request" in
private using Data Protection law.  The leaflet Subject
Access - A guide for data subjects (on the Information Commisioner's
website) explains how to do this.

I'd like to keep my request secret! (At least until I publish my story)

WhatDoTheyKnow is currently only designed for public requests. All
responses that we receive are automatically published on the website for anyone
to read.  You should contact the public authority directly if you would like to
make a request in private.  If you're interested in buying a system which helps
you manage FOI requests in secret, then contact us.

Why can I only request information about the environment from some authorities?

Some public authorities, such as South East Water,
don't come under the Freedom of Information Act, but do come under another law called
the Environmental Information Regulations (EIR). It's a very similar law, so you make a request
to them using WhatDoTheyKnow in just the same way as an FOI request. The only difference
is that on the page where you write you request, it reminds you that you can only
request "environmental information" and tells you what that means. It is quite broad.

So can I request information using EIR from other authorities?

Yes, just make a Freedom of Information (FOI) request as normal. The
authority has a duty to work out if the Environmental Information Regulations
(EIR) is the more appropriate legislation to reply under.

Privacy questions

Who gets to see my email address?

We will not disclose your email address to anyone, including the public
authority you are sending a request to, unless we are obliged to by law,
or you ask us to. If you send a message to another user on the site, then
it will reveal your email address to them. You will be told that this
is going to happen.

Will you send nasty, brutish spam to my email address?

Nope. After you sign up to WhatDoTheyKnow we will only send you emails
relating to a request you made, an email alert that you have signed up for,
or for other reasons that you specifically authorise. We will never give or
sell your email addresses to anyone else, unless we are obliged to by law, or
you ask us to.

Why will my name appear publically on the site?

It means that someone researching the same area can get in touch with you,
and maybe give you more information or ideas relating to your request.  Also,
we're going to publish the response with the name of the civil servant who
wrote it, so it seems only fair that your name should be public too!
Therefore, we encourage you to use your real name, but you may use a pseudonym
if you would like to be anonymous.

So I can make an FOI request using a pseudonym?

It is good practice for the public authority to reply to an anonymous request,
except in special circumstances such as if they suspect you of making vexatious
requests. See Freedom of Information Good Practice Guidance No 6
for details.  You should refer to this if a public authority attempts to refuse
a request because you used a pseudonym.

However, there are good reasons to use your real name: see the previous
question.  If nothing else, it avoids the risk of an authority being picky,
ignoring the guidance and refusing your request.

They've asked for my postal address!

If a public authority asks you for your full, physical address, reply to them saying
that section 8.1.b of the FOI Act asks for an "address for correspondence",
and that the email address you are using is sufficient.

The Ministry of Justice has guidance
on this –
"As well as hard copy written correspondence, requests that are
transmitted electronically (for example, in emails) are acceptable
... If a request is received by email and no postal address is given, the email
address should be treated as the return address."

As if that isn't enough, the Information Commissioner's
Hints for Practitioners say
"Any correspondence could include a request for information. If it is written (this includes e-mail), legible, gives the name of the applicant, an address for reply (which could be electronic), and includes a description of the information required, then it will fall within the scope of the legislation."

No no, they need a postal address to send a paper response!

If an authority only has a paper copy of the information that you want,
they may ask you for a postal address. To start with, try persuading them
to scan in the documents for you. You can even offer to gift them a scanner, which in that particular case
embarrassed the authority into finding one they had already.

If that doesn't work, and you want to provide your postal address privately
in order to receive the documents, then please contact
us.

How do you moderate request annotations?

Annotations on WhatDoTheyKnow are to help
people get the information they want, or to give them pointers to places they
can go to help them act on it. We reserve the right to remove anything else.

Endless, political discussions are not allowed.
Post a link to a suitable forum or campaign site elsewhere.

FOI officer questions

I just got here from bottom of an FOI request, what is going on?

WhatDoTheyKnow is a service run by a charity. It helps ordinary members
of the public make FOI requests, and easily track and share the responses.

The FOI request you received was made by someone using WhatDoTheyKnow. You can
simply reply to the request as you would any other request from an individual.
The only difference is that your response will be automatically published on
the Internet.

If you have privacy or other concerns, please read the answers below.
You might also like to read this page from the top to find out more about what
the site does from the point of view of a user. You can also search the
site to find the authority that you work for, and view the status of
any requests made using the site.

Finally, we welcome comments and
thoughts from FOI officers, please get in touch.

Why are you publishing responses to FOI requests?

We think there are lots of benefits. Most importantly it will encourage the
public to be more interested and involved in the work of government. We
also hope that it will reduce the number of duplicate requests on any
subject that a public body will receive. Given that Freedom of Information
responses contain public information, which anybody could easily request
again from the public authority, we think there should be no reason not to
publish it widely.

Are the people making requests real people?

Yes. For the purposes of keeping track of responses we use
computer-generated email addresses for each request. However, before
they can send a request, each user must register on the site with a
unique email address that we then verify. You can search this site and
find a page listing all requests that each person has made.

An email isn't a sufficient address for an FOI request!

Yes it is. This
letter from the ICO to Rother District Council gives guidance on the matter, specifically
in the context of requests made via WhatDoTheyKnow.

Aren't you making lots of vexatious requests?

WhatDoTheyKnow is not making any requests. We are sending requests on
behalf of our users, who are real people making the requests.

Look at it like this - if lots of different people made requests from
different Hotmail email addresses, then you would not think that Microsoft were
making vexatious requests. It is exactly the same if lots of requests are made
via WhatDoTheyKnow. Moreover, since all requests are public it is much easier
for you to see if one of our users is making vexatious requests, and for us to
block them when that happens.

If that isn't enough for you, the
letter from the ICO to Rother District Council gives some guidance on the matter.

Isn't it a problem that you publish the names of civil servants
and the text of emails?

Officers or servants responding to requests are doing so on behalf of the
public as part of their job, and we publish their response on that
basis. Usually the names and phone numbers of FOI officers are already
available on authority websites. We also encourage our users to give their real
name too, so it is fair both ways.

Do you publish email addresses or mobile phone numbers?

We automatically remove email addresses and labelled mobile phone numbers
that are in the email part of responses from public authorities. Please
contact us if we've missed one. We don't currently
remove these from attachments,
such as Word documents.

Can you take down private information about me?

If you see any information on the site which you'd like us to remove or
hide, then please let us know. We'll then
remove it, provided it is genuinely private information.

Credit where credit is due

Which people made WhatDoTheyKnow?

Oh, nearly everyone (and maybe you too)!

    Heather Brooke
    (vampy!) has
    been pushing the idea of a UK FOI archive for years now.

    Both Phil Rodgers and Francis Irving
    entered it in a mySociety competition for ideas for public interest websites to build.

    It won,
    and then Chris Lightfoot (RIP :()
    thought up the wheeze of intercepting email responses to requests and
    automatically publishing them.

    Tom Steinberg got the cash to pay for the site from
    a dead chocolate mogul (thank you!) ...

    ... so that Francis Irving, Angie Ahl, Tommy Martin, Louise Crow, Matthew Somerville
    and Tom Steinberg could do the complex mixture of design and coding to build
    what you see today.

    Thanks particularly to Julian Todd (great blog!),
    Francis Davey, and Etienne Pollard for using the site early on and giving
    feedback (and/or legal advice!), and also to all our other users and
    testers.

    Lots of people have been looking up FOI email addresses, and a few
    volunteering to run the site - most especially Adam McGreggor, Alex
    Skene, John Cross and Tony Bowden.

Finally we couldn't do any of this without those
crazy people who volunteer,
amongst many other things, to do the accounts and fill in our VAT return.

You're all stars.

<% @title = "About" %>

Contact us

If your question isn't answered here, or you just wanted to let us know
something about the site, contact us.

Introduction to WhatDoTheyKnow

What is WhatDoTheyKnow for?

To help you find out inside information about what the UK government
is doing.

How does the site work?

You choose the public authority that you would like information from, then
write a brief note describing what you want to know. We then send your request
to the public authority. Any response they make is automatically published on the
website for you and anyone else to find and read.

Why would I bother to do this?

You pay taxes, and then government does things with the money. All sorts of
things that affect your life, from healthcare through to national defence. Some
it does badly, some it does well. The more we find out about how government
works, the better able we are to make suggestions to improve the things that
are done badly, and to celebrate the things that are done well.

Why would the public authority bother to reply?

Under Freedom of Information (FOI) law, they have to respond.

Who makes it?

WhatDoTheyKnow is created and run by mySociety,
and was initially funded by the JRSST Charitable Trust. mySociety is a project of the
registered charity UK Citizens Online Democracy.
If you like what we're doing, then you can
make a donation.

Making requests

You're missing the public authority that I want to request from!

Please contact us with the name of the public authority and,
if you can find it, their contact email address for Freedom of Information requests.
If you'd like to help add a whole category of public authority to the site, for example all
primary care trusts or all schools, then please
edit this shared spreadsheet (Google account required).

How quickly will I get a response?

By law public authorities must respond "promptly", and in any event not later
than 20 working days after receiving your request. The date of that hard limit
is shown on the page for your request. You will be emailed if this date goes by
without a response, so you can send the public authority another note to remind
them that they are breaking the law. Note: If you had to
clarify your request, the clock starts from that date, instead of the date they
received your initial request.

What if I'm not satisfied with the response?

If you didn't get the information you asked for, or you didn't get it in time,
then read our page 'Unhappy about the response you got?'.

Can you tell me more of the nitty gritty about the process of making requests?

Have a look at the
access to official information
pages on the Information Commisioner's website.

Can I request information about myself?

Not using this site. Requests made using WhatDoTheyKnow are public, made under the
Freedom of Information Act, and cannot help you find information about a
private individual. If you would like to know what information a public
authority holds about yourself, you should make a "Subject Access Request" in
private using Data Protection law.  The leaflet Subject
Access - A guide for data subjects (on the Information Commisioner's
website) explains how to do this.

I'd like to keep my request secret! (At least until I publish my story)

WhatDoTheyKnow is currently only designed for public requests. All
responses that we receive are automatically published on the website for anyone
to read.  You should contact the public authority directly if you would like to
make a request in private.  If you're interested in buying a system which helps
you manage FOI requests in secret, then contact us.

Why can I only request information about the environment from some authorities?

Some public authorities, such as South East Water,
don't come under the Freedom of Information Act, but do come under another law called
the Environmental Information Regulations (EIR). It's a very similar law, so you make a request
to them using WhatDoTheyKnow in just the same way as an FOI request. The only difference
is that on the page where you write you request, it reminds you that you can only
request "environmental information" and tells you what that means. It is quite broad.

So can I request information using EIR from other authorities?

Yes, just make a Freedom of Information (FOI) request as normal. The
authority has a duty to work out if the Environmental Information Regulations
(EIR) is the more appropriate legislation to reply under.

Privacy questions

Who gets to see my email address?

We will not disclose your email address to anyone, including the public
authority you are sending a request to, unless we are obliged to by law,
or you ask us to. If you send a message to another user on the site, then
it will reveal your email address to them. You will be told that this
is going to happen.

Will you send nasty, brutish spam to my email address?

Nope. After you sign up to WhatDoTheyKnow we will only send you emails
relating to a request you made, an email alert that you have signed up for,
or for other reasons that you specifically authorise. We will never give or
sell your email addresses to anyone else, unless we are obliged to by law, or
you ask us to.

Why will my name appear publically on the site?

It means that someone researching the same area can get in touch with you,
and maybe give you more information or ideas relating to your request.  Also,
we're going to publish the response with the name of the civil servant who
wrote it, so it seems only fair that your name should be public too!
Therefore, we encourage you to use your real name, but you may use a pseudonym
if you would like to be anonymous.

So I can make an FOI request using a pseudonym?

It is good practice for the public authority to reply to an anonymous request,
except in special circumstances such as if they suspect you of making vexatious
requests. See Freedom of Information Good Practice Guidance No 6
for details.  You should refer to this if a public authority attempts to refuse
a request because you used a pseudonym.

However, there are good reasons to use your real name: see the question
above.  If nothing else, it avoids the risk of an authority being picky,
ignoring the guidance and refusing your request.

They've asked for my postal address!

If a public authority asks you for your full, physical address, reply to them saying
that section 8.1.b of the FOI Act asks for an "address for correspondence",
and that the email address you are using is sufficient.

The Ministry of Justice has guidance
on this –
"As well as hard copy written correspondence, requests that are
transmitted electronically (for example, in emails) are acceptable
... If a request is received by email and no postal address is given, the email
address should be treated as the return address."

As if that isn't enough, the Information Commissioner's
Hints for Practitioners say
"Any correspondence could include a request for information. If it is written (this includes e-mail), legible, gives the name of the applicant, an address for reply (which could be electronic), and includes a description of the information required, then it will fall within the scope of the legislation."

No no, they need a postal address to send a paper response!

If an authority only has a paper copy of the information that you want,
they may ask you for a postal address. To start with, try persuading them
to scan in the documents for you. You can even offer to gift them a scanner, which in that particular case
embarrassed the authority into finding one they had already.

If that doesn't work, and you want to provide your postal address privately
in order to receive the documents, then please contact
us.

How do you moderate request annotations?

Annotations on WhatDoTheyKnow are to help
people get the information they want, or to give them pointers to places they
can go to help them act on it. We reserve the right to remove anything else.

Endless, political discussions are not allowed.
Post a link to a suitable forum or campaign site elsewhere.

FOI officer questions

I just got here from bottom of an FOI request, what is going on?

WhatDoTheyKnow is a service run by a charity. It helps ordinary members
of the public make FOI requests, and easily track and share the responses.

The FOI request you received was made by someone using WhatDoTheyKnow. You can
simply reply to the request as you would any other request from an individual.
The only difference is that your response will be automatically published on
the Internet.

If you have privacy or other concerns, please read the answers below.
You might also like to read this page from the top to find out more about what
the site does from the point of view of a user. You can also search the
site to find the authority that you work for, and view the status of
any requests made using the site.

Finally, we welcome comments and
thoughts from FOI officers, please get in touch.

Why are you publishing responses to FOI requests?

We think there are lots of benefits. Most importantly it will encourage the
public to be more interested and involved in the work of government. We
also hope that it will reduce the number of duplicate requests on any
subject that a public body will receive. Given that Freedom of Information
responses contain public information, which anybody could easily request
again from the public authority, we think there should be no reason not to
publish it widely.

Are the people making requests real people?

Yes. For the purposes of keeping track of responses we use
computer-generated email addresses for each request. However, before
they can send a request, each user must register on the site with a
unique email address that we then verify. You can search this site and
find a page listing all requests that each person has made.

An email isn't a sufficient address for an FOI request!

Yes it is. This
letter from the ICO to Rother District Council gives guidance on the matter, specifically
in the context of requests made via WhatDoTheyKnow.

Aren't you making lots of vexatious requests?

WhatDoTheyKnow is not making any requests. We are sending requests on
behalf of our users, who are real people making the requests.

Look at it like this - if lots of different people made requests from
different Hotmail email addresses, then you would not think that Microsoft were
making vexatious requests. It is exactly the same if lots of requests are made
via WhatDoTheyKnow. Moreover, since all requests are public it is much easier
for you to see if one of our users is making vexatious requests, and for us to
block them when that happens.

If that isn't enough for you, the
letter from the ICO to Rother District Council gives some guidance on the matter.

Isn't it a problem that you publish the names of civil servants
and the text of emails?

Officers or servants responding to requests are doing so on behalf of the
public as part of their job, and we publish their response on that
basis. Usually the names and phone numbers of FOI officers are already
available on authority websites. We also encourage our users to give their real
name too, so it is fair both ways.

Do you publish email addresses or mobile phone numbers?

We automatically remove email addresses and labelled mobile phone numbers
that are in the email part of responses from public authorities. Please
contact us if we've missed one. We don't currently
remove these from attachments,
such as Word documents.

Can you take down private information about me?

If you see any information on the site which you'd like us to remove or
hide, then please let us know. We'll then
remove it, provided it is genuinely private information.

Credit where credit is due

Which people made WhatDoTheyKnow?

Oh, nearly everyone (and maybe you too)!

    Heather Brooke
    (vampy!) has
    been pushing the idea of a UK FOI archive for years now.

    Both Phil Rodgers and Francis Irving
    entered it in a mySociety competition for ideas for public interest websites to build.

    It won,
    and then Chris Lightfoot (RIP :()
    thought up the wheeze of intercepting email responses to requests and
    automatically publishing them.

    Tom Steinberg got the cash to pay for the site from
    a dead chocolate mogul (thank you!) ...

    ... so that Francis Irving, Angie Ahl, Tommy Martin, Louise Crow, Matthew Somerville
    and Tom Steinberg could do the complex mixture of design and coding to build
    what you see today.

    Thanks particularly to Julian Todd (great blog!),
    Francis Davey, and Etienne Pollard for using the site early on and giving
    feedback (and/or legal advice!), and also to all our other users and
    testers.

    Lots of people have been looking up FOI email addresses, and a few
    volunteering to run the site - most especially Adam McGreggor, Alex
    Skene, John Cross and Tony Bowden.

Finally we couldn't do any of this without those
crazy people who volunteer,
amongst many other things, to do the accounts and fill in our VAT return.

You're all stars.


EULA should not have conditional equal

EULA should not have conditional equal

git-svn-id: f67d969b640da65cb7bc1d229e09fd6d2db44ae1@551 392d7b7b-3f31-0410-9dc3-c95a9635ea79

<% if @user.is_new_user %>
    <%= render :partial => 'eula' %>
<% else %>

Assignments

To begin, click on an assignment from the list above or <%= link_to 'click here', :action => 'view_publishing' %> to set publishing rights for your work.

	    Assignment
	    Course
		Topic
		Current Stage
		Stage Deadline
		Publishing Rights

<% for participant in @participants %>
  <% begin
       assignment = Assignment.find(participant.parent_id)
     rescue
       assignment = nil
     end %>
  <% if assignment %>

		<%= link_to assignment.name, :action => 'view_actions', :id => participant %>
	    <%= participant.get_course_string %>
		<%= participant.get_topic_string %>
		<%= assignment.get_current_stage() %>
		<%= assignment.get_stage_deadline() %>

	  	<%if participant.permission_granted %>granted
			<% else %>denied
			<% end %>

	<% end %>
<% end %>

<% end %>

<% if @user.is_new_user == 1 %>
    <%= render :partial => 'eula' %>
<% else %>

Assignments

To begin, click on an assignment from the list above or <%= link_to 'click here', :action => 'view_publishing' %> to set publishing rights for your work.

	    Assignment
	    Course
		Topic
		Current Stage
		Stage Deadline
		Publishing Rights

<% for participant in @participants %>
  <% begin
       assignment = Assignment.find(participant.parent_id)
     rescue
       assignment = nil
     end %>
  <% if assignment %>

		<%= link_to assignment.name, :action => 'view_actions', :id => participant %>
	    <%= participant.get_course_string %>
		<%= participant.get_topic_string %>
		<%= assignment.get_current_stage() %>
		<%= assignment.get_stage_deadline() %>

	  	<%if participant.permission_granted %>granted
			<% else %>denied
			<% end %>

	<% end %>
<% end %>

<% end %>


respect config param for how often to poll for bg service updates

<%
#   Include this partial to put the background updater device on your page.
#
#   Started out using periodically_call_remote here, but we need to capture
#   the Prototype PeriodicalExecter function in a js veriable, which
#   the  built in generator won't do. So we're doing it by hand
#   based on the output of periodically_call_remote. It's not that
#   complicated or anything.
%>

<% # only include if we have any background services. We could check to make
   # sure we only have background services we care about, but it's more work--
   # the updater will only run ONCE at most wrongly, then the
   # background_update action will stop it.
   if ( any_services_in_progress? )
%>
<script type="text/javascript">
//<![CDATA[
  umlaut_background_executer =  new PeriodicalExecuter(function() { new Ajax.Request("<%= url_for({:controller => 'resolve', :action=> 'background_update', :'umlaut.request_id' => @user_request.id}) %>", {asynchronous:true, evalScripts:true});  }, <%= AppConfig.param("poll_wait_seconds", 4) %>
//]]>
</script>
<%
# The above was based on source from this call:
#periodically_call_remote :url => {:action => "background_update", :"umlaut.request_id" => @user_request.id },
#    :condition => 'background_update_check',
#    :frequency => 4
%>
<% end %>

<%
#   Include this partial to put the background updater device on your page.
#
#   Started out using periodically_call_remote here, but we need to capture
#   the Prototype PeriodicalExecter function in a js veriable, which
#   the  built in generator won't do. So we're doing it by hand
#   based on the output of periodically_call_remote. It's not that
#   complicated or anything.
%>

<% # only include if we have any background services. We could check to make
   # sure we only have background services we care about, but it's more work--
   # the updater will only run ONCE at most wrongly, then the
   # background_update action will stop it.
   if ( any_services_in_progress? )
%>
<script type="text/javascript">
//<![CDATA[
  umlaut_background_executer =  new PeriodicalExecuter(function() { new Ajax.Request("<%= url_for({:controller => 'resolve', :action=> 'background_update', :'umlaut.request_id' => @user_request.id}) %>", {asynchronous:true, evalScripts:true});  }, 4)
//]]>
</script>
<%
# The above was based on source from this call:
#periodically_call_remote :url => {:action => "background_update", :"umlaut.request_id" => @user_request.id },
#    :condition => 'background_update_check',
#    :frequency => 4
%>
<% end %>


removed index.rhtml, because somehow it got stuck as a binary file

Welcome to Crabgrass

Crabgrass is open source social software designed for group and network organizing, and tailored to the needs of the global justice movement. The long term goal is to provide the technical tools to facilitate active, confederal, and directly democratic social change networks. more

3 Steps to Get Started

	1. <%= link_to 'sign up here', :controller => 'account', :action => 'signup'
	%> if you're a new user.

	2. login to crabgrass

	3. join or create a group.

<%= render 'account/login' %>


Updated news

Updated news

<% @title = 'News' %>

<%= @title %>

This page lists the latest changes to and news about the Mushroom Observer website.

Saturday August 9, 2008

Fixed bug in species list checklists. (Jason Hollinger)

Friday August 8, 2008

Implemented email tracking for species.  See the
    <%= link_to(:app_how_to_use.l, :controller => 'observer', :action => 'how_to_use', :anchor => 'tracking')%>
    page for details. (Nathan Wilson)

Saturday July 23, 2008

User profile page with image, location and notes. (Jason Hollinger)

Fixes to user preferences page. (Jason Hollinger)

Saturday July 19, 2008

Added email queue for managing comment and feature email. (Nathan Wilson)

Wednesday July 2, 2008

Fixed more prev/next bugs. (Nathan Wilson)

Thursday June 19, 2008

Fixed ordering issue with following a list of images for an explicit observation. (Nathan Wilson)

Fixed bug with the same image getting used more than once for a particular observation. (Nathan Wilson)

Monday June 16, 2008

Major revamp of handling for prev/next links. (Nathan Wilson)

Performance improvements for show_observation and for session handling. (Nathan Wilson)

Sunday April 27, 2008

Namings and votes included in contribution. (Jason Holllinger)

Votes weighted by contribution (logarithm). (Jason Hollinger)

Observer's vote weighted higher. (Jason Hollinger)

Added the <%= link_to(:app_how_to_help.l, :controller => 'observer', :action => 'how_to_help')%> page and updated <%= link_to(:app_how_to_use.l, :controller => 'observer', :action => 'how_to_use')%>. (Nathan Wilson)

Bug fix in displaying observer's opinion. (Jason Hollinger)

Saturday April 4, 2008

If you put just a number in the 'Find' box it will first try to find the corresponding object by id number.  If there isn't one, then it does the regular search. (Nathan Wilson)

More tweaks to handling of newlines. (Jason Hollinger and Nathan Wilson)

Added <%= link_to('Textile Sandbox Page', :controller => 'observer', :action => 'textile_sandbox') %> for more interactively creating your markup. (Jason Hollinger)

More fixes to vote caching. (Jason Hollinger)

Wednesday April 2, 2008

Fixed problem in comments and such where newlines required a <br/> to display correctly.  Blank lines now appear as blank lines. (Jason Hollinger)

Added <%= link_to('Textile Sandbox Page', :controller => 'observer', :action => 'textile_sandbox') %> for more interactively creating your markup. (Jason Hollinger)

More fixes to vote caching. (Jason Hollinger)

Thursday March 27, 2008

Added page for manually creating a <%= link_to('single name', :controller => 'name', :action => 'create_name') %>.  Available from the <%= link_to('Observation Index', :controller => 'name', :action => 'observation_index') %> or any Name Page. (Nathan Wilson)

Fixes to vote caching. (Jason Hollinger)

Tuesday March 25, 2008

Tweaks to the Name page so that more observations get shown. (Jason Hollinger)

Saturday March 22, 2008

Modified how votes get counted.  The value is calculated as sum(votes)/(number of votes + 1).
        Range is normalized to +/-100%. (Jason Hollinger and Nathan Wilson)

Reorganized Name page to rank by consensus vote. (Jason Hollinger)

Added section to Name page for observations that have had the given name applied to them. (Jason Hollinger)

Observations with a score less that 0 are not shown in the Observations or Synonyms sections. (Jason Hollinger)

There are some known issues with the way that observations you have voted "I'd Call It That" appear on Name pages.

Friday March 14, 2008

Alphabet added to top of Name Index page. (Jason Hollinger)

Fixed bugs in handling notes when names get merged. (Nathan Wilson)

Modified how votes get counted. (Jason Hollinger and Nathan Wilson)

Wednesday March 19, 2008

Various bug fixes.

Friday March 14, 2008

Alphabet added to top of Name Index page. (Jason Hollinger)

Fixed bugs in handling notes when names get merged. (Nathan Wilson)

Modified how votes get counted. (Jason Hollinger and Nathan Wilson)

Tuesday March 4, 2008

Fixes to voting algorithm.

Saturday March 1, 2008

Added icons for observer's choice and the current consensus.

Fix bug in adding authors to existing names.

Loosened rules for deleting a naming.  In particular you can now remove a naming
        you created as long as no one else has chosen that as their strongest positive vote.

Fixed where the site sends you after you send a user email.

Saturday February 9, 2008

Released support for formally proposing names for anyone's observation as well as voting on proposed names.
        See the <%= link_to(:app_how_to_use.l, :controller => 'observer', :action => 'how_to_use')%> page for
        details. (Jason Hollinger)

Many other small changes went in as part of the proposed naming/voting work. (Jason Hollinger & Nathan Wilson)

Sunday January 6, 2008

Location search button now returns a list of locations rather than observations. (Nathan Wilson)

Added a link/page to map the locations returned by a search. (Nathan Wilson)

Saturday January 5, 2008

Added location search button. (Nathan Wilson)

Added link to all locations on the location search result page. (Nathan Wilson)

Added direct email link to show user page. (Nathan Wilson)

Added more links to the show user pages throughout. (Nathan Wilson)

Thursday January 3, 2008

At long last, I am very excited to announce a major new feature for the Mushroom Observer website - Google Maps!  The most interesting maps currently supported are Distribution Maps.  Here's an example for
<%= link_to("Craterellus cornucopioides", :controller => 'name', :action => 'map', :id => 284) %>.  To get a map for a particular name, you go to the page for a name either from the
<%= link_to(:app_index_a_z.l, :controller => 'name', :action => 'observation_index') %> link on the left side of any window or by clicking an 'About ...' link at the top of an observation page.  Once you're on the page for a name, there is a new link near the top called 'Distribution Map' which takes you to the map for that name.

So like pretty much everything on Mushroom Observer, users can add to the Distribution Map for a name.  The easiest way is when you create a new observation, use an already defined location.  The auto-completion for the Where field will list all locations that are currently being used whether they are defined or not.  Right now there are only a few values that are defined, but I'm hoping that will change quickly as users define more locations (see below).  When creating or editing an observation, there is a checkbox labeled 'Is Collection Location'.  By default it is checked.  If you uncheck, then that observation will not get put on the distribution map.  This allows you to record observations of mushrooms in places like mushroom fairs, grocery stores or other places where you may not know where the mushroom was actually collected.

After you enter a new observation, you can check to see if that location is defined by clicking on the location link on the resulting observation page.  If it is defined, then it will take you a location page that shows you a map of just that location.  Otherwise it will do a search for observations that have that value in the where field.  The search page will include links at the top to 'Define This Location' or 'Merge With A Defined Location'.

Clicking a 'Define This Location' link will take you to a location creation page.  The first thing to review is the name of the location.  You are strongly encouraged to end each location with country.  In the USA you are also encouraged to include the full state name along with the county.  Abbreviations are discouraged with the exception of 'Co.' for County.  Thus a good name is:

Salt Point State Park, Sonoma Co., California, USA

a bad name is

Salt Point, CA

For other countries, I don't know enough to propose a concrete proposal, so I expect conventions will evolve over time.

Locations are currently defined as a box that completely encloses the named location.  Part of intention with making the locations an area rather than a single GPS reading is to not force people to reveal their 'spots', while still getting something that is at least accurate to the county.  To define a location you enter the extreme north and south latitudes as well as the extreme east and west longitudes for that location.  To find the latitudes and longitudes, there are links to a couple of convenient location finder pages on the location creation/editing pages.  These will open in a separate window or tab.  You can then navigate to the location on the map and read off the position.  I am hoping to integrate this functionality into Mushroom Observer, but I wanted to get this first version out to get some feedback before diving into that problem.

In addition to the position of the location, you can also provide a maximum and minimum altitude along with some notes.  Note that the altitudes should be in meters not feet.  Once you have filled out the form, click 'Create' to define the location.  It does a bit of sanity checking to make sure that the values are reasonable and that the name of the location is unique.  An existing location can be edited by going to the page for that location and clicking 'Edit'.  Anyone can change the information for a location, but the previous version of the information is kept as a reference to allow easy recovery if someone puts in the wrong information.

A <%= link_to('list of all locations', :controller => 'location', :action => 'list_place_names') %> in the system is available.  You can reach it by clicking the 'All Locations' link from any of the location related pages.  This page lists both the defined locations (on the left, sorted alphabetically) and the undefined locations (on the right, sorted by the number of observations associated with that location).  My hope is that people will start clicking on the undefined locations and defining them starting with the ones that are in the most widespread use.

Next to each undefined location is a 'Merge' link as well.  This allows you to handle the case where the same location has been given but in different forms (e.g., 'Point Reyes National Seashore' and 'Pt Reyes Park').  When you click a 'Merge' link it will do a quick search for any likely candidates and present those in one list and all the remaining locations in another in case it guessed wrong.  Clicking on any of those location links will perform the merge.

In theory it would be possible for the same location to be defined more than once (presumably by different people).  If this happens, you can propose a merge by editing one of the locations and change the Where field to the value of the other location.  This will not have any immediate effect, but a warning will be given and an email will be sent to me with the details.  I've restricted the ability to merge defined locations since that could cause significant data loss.

Please send me your <%= link_to('feedback', :controller => 'observer', :action => 'ask_webmaster_question') %> on this feature.  I have many ideas about how map use could be expanded in the future, but as always your feedback and requests will drive the order in which I do things.

Hope you enjoy this new functionality!

Monday December 31, 2007

Emergency bug fix related to spontaneous logouts.  Logouts still happening, but users should not be losing data
        any more. (Nathan Wilson)

Saturday December 15, 2007

More layout tweaks. (Nathan Wilson)

Automatically removes extra spaces when lists are given. (Nathan Wilson)

Modified date now gets set for observations created through a species list. (Nathan Wilson)

Change 'Who' link to go to contribution summary. (Nathan Wilson)

Saturday November 17, 2007

Adjusted layout to better use the space on the page. (Nathan Wilson)

Adjusted link order based on usage patterns. (Nathan Wilson)

Fixed problem in RSS feed. (Nathan Wilson)

Fixed bug in display images with multiple names. (Nathan Wilson)

Improved spam filtering. (Nathan Wilson)

More internationalization. (Nathan Wilson)

Fixed spammer generated errors with the welcome page and prev/next links. (Nathan Wilson)

Monday November 5, 2007

Patched bug with internationalization that was causing the string __localization_missing__ to appear unexpectedly.  I don't fully understand why it does this, but I've addressed the symptom. (Nathan Wilson)

More improvements to auto-completion. (Jason Hollinger)

Friday October 19, 2007

Improvements to auto-completion.  Contributed by Jason Hollinger.

Fixed a couple of minor bugs that users stumbled on.

Sunday October 14, 2007

Comments now visible directly on the Show Observation page.  In addition the Add Comment and Edit
        Comment pages now list all the information for the observation to make it easier to cut and
        paste while working on a comment.  Contributed by Jason Hollinger.

Deprecating or approving a name now asks for a comment.  Contributed by Jason Hollinger.

Better auto-completion enabled for Create Observation and Edit Observation.  Contributed by Jason Hollinger.

Saturday October 13, 2007

Added internationalization support including some translations into pt-BR (Brazilian Portuguese).

Tuesday October 9, 2007

An email is now automatically sent to the owner of the observation anytime a comment is made.  This feature can be turned off on your preferences page. Contributed by Jason Hollinger.

The email messages are now optionally HTMLized.  Contributed by Jason Hollinger.

Friday October 5, 2007

Fixed a bug where genera were mistakenly getting deprecated when species they contain were deprecated.

Monday September 17, 2007

Did a whole bunch of cleanup using the W3C validator to ensure that
        as much of the site as possible is valid XHTML 1.0.  In the process found many little formatting problems.  In
        general the layout should be unchanged.  However, with browsers other than Firefox there may be significant
        changes, but those should be more consistent with the layout in Firefox.  Please let me know if you see any
        significant layout problems.

For anyone who cares, the Show Image and Show Original pages are not completely valid due to the use of the
        proposed RDFa standard used to describe the Creative Commons licensing terms.  This standard is expected to be
        ratified in the near future.

Sunday September 2, 2007

Contributors now have options for the license they contribute their images under.  The license that has
        been used so far (Creative Commons Attribution,
        Non-Commercial, Share Alike License v2.5, or by-nc-sa v2.5 for short) only permits non-commercial
        uses.  This license is not enough to allow their use on Wikipedia
        which requires the option for all contributed material
        to be used commercially.  Support has been added for a license Wikipedia does accept,
        the Creative Commons Attribution, Share Alike
        License v3.0 license (by-sa v3.0).  While I was working on this problem I also deprecated the use of
        by-nc-sa v2.5 in favor of the 3.0 version.

This means when you add a new image you can choose between the Wikipedia compatible license and the
        non-commercial 3.0 license.  The initial default for all users when adding new images is the Wikipedia
        compatible, by-sa v3.0 license.  You can change this default on your <%= link_to('Preferences',
        :controller => 'account', :action => 'prefs') %> page.

You can change the license for any existing image by going to that
        image and selecting 'Edit Image'.  You will see a new drop down menu listing the license options.
        If the image is currently under the by-nc-sa v2.5, then that option will still be in the list and will
        be the default.  Finally for power users, there is a new page available off the Preferences page, the
        <%= link_to('Bulk License Updater', :action => 'license_updater') %>, which groups your images based
        on license and copyright holder and allows you to update each group in one go.

Image search now includes the copyright holder field in the search.

Updated the <%= link_to('Introduction', :controller => 'observer', :action => 'intro') %> and
    <%= link_to('How to Use', :controller => 'observer', :action => 'how_to_use') %> pages to reflect many
    of the recent changes.

Saturday September 1, 2007

Fixed bugs in handling version numbers and user assignment for some name changing functions.

Monday August 20, 2007

Fixed bugs in adding author and creating new species indirectly by creating or editing observations.

Sunday August 12, 2007

Re-enabled Bulk Name Edit after substantially revising past name generation and compensating for lost history.

Friday August 3, 2007

Added citations to Names.

Search improvements:

        Box is larger.

        Search value stays in all cases.

        Switched from just matching the beginning of the name string (unless there's a %), to searching anywhere in multple fields.

        Removed Location search since that's included in the Observation search now.

Updated the past name page to explicitly show previous statuses and citations.

Thursday August 2, 2007

Added Approve or Deprecate links to Show Name pages based on whether the name is deprecated or not.

Removed 'Deprecated' checkbox from the Edit Name page.

Fixed a bug in Edit Observation where providing a totally new name lost any other changes or edits made on the page.

Fixed some of the handling of 'Unknown'.

Fixed a bug in recording if a Name used to be deprecated.

Friday July 20, 2007

Allowed system to assume that a non-deprecated name is preferred over a deprecated name if there is ambiguity.

Fixed bug in saving author changes when the name can't be changed that was introduced in the July 6 update.

Friday July 6, 2007

Reorganized the links on the observation, image and name pages to hopefully be more intuitive.

Limited the ability to change the name and author of name to avoid changes to other people's observations without
        their approval.

Fixed a few minor bugs.

Sunday July 1, 2007

Updated the checklist code to give long lists after a visit to either the Observation Index or Name Index pages.

Cleaned up the naming of Observation Index and Name Index.  All Names is still maintained, but is now the same as the Name Index.

Saturday June 30, 2007

Valid names are now in bold.  Deprecated names are not.

Thursday June 28, 2007

Moved to new hosting service.

Sunday June 24, 2007

If there are two names that have exactly the same name and author and at least one of them has no notes, then they will get automatically merged if one of them is edited.

Added a facility for testing the performance of image uploading.

Fixed an omission in the error reporting code that caused alert emails to not get sent.

Monday June 18, 2007

Names can now be marked as deprecated.  The setting can be changed using the Edit Name page.

Synonyms support added.  Synonyms are used to verify names of observations and in species lists.

Synonyms can be changed for one name by selecting 'Change Synonyms' from any Show Name page.

Larger sets of names and synonyms can be added from the Bulk Name Edit page available from any Show
        Name page, the Name Index page or the All Names page.

The Name Index page only lists names that have observations.

The All Names page lists all names in the database and can be accessed from the Name Index page.

Fixed bug with Creating Observations immediately after creating a new account.

Monday May 21, 2007

One year anniversary!

Added Site Stats, Contributors, Show User, User Observations and Comments for User pages.

Sunday May 13, 2007

Fixed a variety of minor issues.

Added 'sanitize' calls to avoid cross-site scripting vulnerabilities.

Thursday May 10, 2007

Fixed bug in creating new names when creating a species list.

Sunday April 29, 2007

Substantially improved error handling.

Fixed problem with Google Web Accelerator.

Sunday April 22, 2007

Reorganized and simplified observation editing and creation.

Completed unit testing for existing pages.

Friday February 23, 2007

Adjusted the size of some of the notes widgets to fill more of the screen.

Monday February 19, 2007

Added note snippet and comment count to Show Image page for easier review.

Adjusted options available for the number of rows in list displays.

Fixed database migration scripts.

Internal data simplification (removed observations.what field).

Tuesday February 13, 2007

Added multiple upload option for Add Images.

Changed some of the links in the left hand panel based on user feedback.

Saturday February 10, 2007

Added image and location search within the site.

Thursday February 8, 2007

Added Google image search links to Observation and Name pages.

Wednesday February 7, 2007

Added checklists.  Items in the checklist are the results of the
            latest search or viewed species list.  Viewing large lists like
            'Latest Changes' or 'Name Index' will reset the checklist to all
            names.

Moved loading species lists from files to a separate page off of
            Edit Species List to avoid an interaction between the checklist
            and file loading.

Saturday January 27, 2007

Name edits now appear in the RSS feed.

Sunday January 21, 2007

Added How To Use page.

Changed 'New' links to 'Create'.

Fixed a bug with the search box.

Fixed a couple of bugs with the next/prev links.

Thursday January 11, 2007

Fixed a bug with creating new species.

Fixed many bugs with page titles, some of which were preventing pages from loading.

Tuesday January 9, 2007

Names are now database objects rather than just strings.  They have a
    rank, a text name an author and notes.

A show_name page shows this information as well as a list of all
    observations that use that Name.  The show_pages can be accessed from
    each show_observation page as well as the name_index page that is
    available in the left-side panel.

Names can be edited on the edit_name pages that are accessible from
    the show_name pages.  Anyone is allowed to edit any name, but
    following the Wikipedia model,
    a record is kept of every version.  The previous versions are stored as
    'past names'.  A show_past_name page shows the name information for a
    previous version of a name and is accessible from each show_name page.

Names are associated with observations through the 'what' field of the
    observation.  When the 'what' field is changed, the names are searched
    for a match.  The 'what' field can either be the text_name or the
    text_name and the author for a name.  No match is found for a 'what'
    value, then the user is given the option to create the new name.  If a
    'what' value matches more than one name (due to different authors
    publishing the same name), then the user is given a choice between the
    options.  The options list how many observations use each version of
    the name.  If you add an author to a 'what' field for a name that does
    not have an author already, it will ask you if you want to create the
    new name, but it will actually update the existing name.

Names given in species lists are treated in the exact same manner,
    except that all the new names and all of the multiple matches are
    dealt with on the same page.  There is also an option on the
    new_species_list and edit_species_list pages to 'Just Create New
    Names'.  This adds the names without updating the species list or
    creating the corresponding observations.

The search box is now available on every page.

Removed the Observation Index in favor of the Name Index.

Fixed some of the list ordering to make it more intuitive.

A filter was added to the account creation process that should reduce the
    number of bot created users.

Fixed a bug with bouncing between observations and images and using the
    next/prev links.

Monday December 18, 2006

Added prev/next links that follow the RSS feed.

Improved prev/next functionality throughout the site.

RSS feed descriptions now have appropriate line breaks.

Monday December 4, 2006

Species lists can now be uploaded from files.

Separated note for species list from note that applies to member observations.

Fixed use of multiple tabs by switching from session data to hidden fields.

mushroomobserver.org/# == mushroomobserver.org/observer/show_observation/#

Monday October 26, 2006

Switched Observations->By Name to include thumbnails and follow layout.

Maintained old By Name behavior as Observations->Index.

Added simple search box to Activity Log (Latest Changes) and Observation list pages.

Monday October 23, 2006

Changed default page to the RSS feed.

Changed page layout for observation and image list pages.

Added layout controls to user preferences.  Set to 10 rows x 1 column
		and turn off 'Put text below images' to get old layout.

Changed thumbnail image size from 100px to 160px with lower quality (jpeg 50 vs. 75).

Provided Prev/Next buttons for images.

Added link to ask the webmaster a question about the site.

Split up 'Manage Images' into 'Add Image', 'Reuse Image' and 'Remove Images' and made
		them more visible.

'Reuse Image' allows you to look at the images.

Added links for viewing the log for observations and species lists.

Made database lookup for all observations much more efficient.

Rearranged left-hand panel.

Images no longer have titles.  They are derived from the observation(s) they are
		connected to.

Removed Edit and Destroy links from view pages.

Add mini-icon for webpages.

Sunday September 9, 2006

Links to email the creator of observations or images with questions or commerical inquiries.  The creator receives an email with the address of the user who wants to contact them.  It is up to the creator whether they want to respond.

User preferences added to disable the above email feature and to stop receiving emails like this letting you know about new features.

RSS feed has been overhauled to reduce the number of entries and make them more relevant.

Copyright holder now has an option to be something other than a registered user.  The user who uploads the image is the default, but it can now be changed on a per image basis.

Monday August 21, 2006

Added RSS feed for all interesting events that happen on the site.

Added 'Create Account' link on login page to make it more obvious.

Tweaked page titles to make the site easier to index.

Sunday August 13, 2006

Added this news page.

List pages now have a better interface for paging than just next/previous,
and its at the top and bottom of each page.

Saturday August 12, 2006

Added email verification system to user signup.

<% @title = 'News' %>

<%= @title %>

This page lists the latest changes to and news about the Mushroom Observer website.

Friday August 8, 2008

Implemented email tracking for species.  See the
    <%= link_to(:app_how_to_use.l, :controller => 'observer', :action => 'how_to_use', :anchor => 'tracking')%>
    page for details. (Nathan Wilson)

Saturday July 23, 2008

User profile page with image, location and notes. (Jason Hollinger)

Fixes to user preferences page. (Jason Hollinger)

Saturday July 19, 2008

Added email queue for managing comment and feature email. (Nathan Wilson)

Wednesday July 2, 2008

Fixed more prev/next bugs. (Nathan Wilson)

Thursday June 19, 2008

Fixed ordering issue with following a list of images for an explicit observation. (Nathan Wilson)

Fixed bug with the same image getting used more than once for a particular observation. (Nathan Wilson)

Monday June 16, 2008

Major revamp of handling for prev/next links. (Nathan Wilson)

Performance improvements for show_observation and for session handling. (Nathan Wilson)

Sunday April 27, 2008

Namings and votes included in contribution. (Jason Holllinger)

Votes weighted by contribution (logarithm). (Jason Hollinger)

Observer's vote weighted higher. (Jason Hollinger)

Added the <%= link_to(:app_how_to_help.l, :controller => 'observer', :action => 'how_to_help')%> page and updated <%= link_to(:app_how_to_use.l, :controller => 'observer', :action => 'how_to_use')%>. (Nathan Wilson)

Bug fix in displaying observer's opinion. (Jason Hollinger)

Saturday April 4, 2008

If you put just a number in the 'Find' box it will first try to find the corresponding object by id number.  If there isn't one, then it does the regular search. (Nathan Wilson)

More tweaks to handling of newlines. (Jason Hollinger and Nathan Wilson)

Added <%= link_to('Textile Sandbox Page', :controller => 'observer', :action => 'textile_sandbox') %> for more interactively creating your markup. (Jason Hollinger)

More fixes to vote caching. (Jason Hollinger)

Wednesday April 2, 2008

Fixed problem in comments and such where newlines required a <br/> to display correctly.  Blank lines now appear as blank lines. (Jason Hollinger)

Added <%= link_to('Textile Sandbox Page', :controller => 'observer', :action => 'textile_sandbox') %> for more interactively creating your markup. (Jason Hollinger)

More fixes to vote caching. (Jason Hollinger)

Thursday March 27, 2008

Added page for manually creating a <%= link_to('single name', :controller => 'name', :action => 'create_name') %>.  Available from the <%= link_to('Observation Index', :controller => 'name', :action => 'observation_index') %> or any Name Page. (Nathan Wilson)

Fixes to vote caching. (Jason Hollinger)

Tuesday March 25, 2008

Tweaks to the Name page so that more observations get shown. (Jason Hollinger)

Saturday March 22, 2008

Modified how votes get counted.  The value is calculated as sum(votes)/(number of votes + 1).
        Range is normalized to +/-100%. (Jason Hollinger and Nathan Wilson)

Reorganized Name page to rank by consensus vote. (Jason Hollinger)

Added section to Name page for observations that have had the given name applied to them. (Jason Hollinger)

Observations with a score less that 0 are not shown in the Observations or Synonyms sections. (Jason Hollinger)

There are some known issues with the way that observations you have voted "I'd Call It That" appear on Name pages.

Friday March 14, 2008

Alphabet added to top of Name Index page. (Jason Hollinger)

Fixed bugs in handling notes when names get merged. (Nathan Wilson)

Modified how votes get counted. (Jason Hollinger and Nathan Wilson)

Wednesday March 19, 2008

Various bug fixes.

Friday March 14, 2008

Alphabet added to top of Name Index page. (Jason Hollinger)

Fixed bugs in handling notes when names get merged. (Nathan Wilson)

Modified how votes get counted. (Jason Hollinger and Nathan Wilson)

Tuesday March 4, 2008

Fixes to voting algorithm.

Saturday March 1, 2008

Added icons for observer's choice and the current consensus.

Fix bug in adding authors to existing names.

Loosened rules for deleting a naming.  In particular you can now remove a naming
        you created as long as no one else has chosen that as their strongest positive vote.

Fixed where the site sends you after you send a user email.

Saturday February 9, 2008

Released support for formally proposing names for anyone's observation as well as voting on proposed names.
        See the <%= link_to(:app_how_to_use.l, :controller => 'observer', :action => 'how_to_use')%> page for
        details. (Jason Hollinger)

Many other small changes went in as part of the proposed naming/voting work. (Jason Hollinger & Nathan Wilson)

Sunday January 6, 2008

Location search button now returns a list of locations rather than observations. (Nathan Wilson)

Added a link/page to map the locations returned by a search. (Nathan Wilson)

Saturday January 5, 2008

Added location search button. (Nathan Wilson)

Added link to all locations on the location search result page. (Nathan Wilson)

Added direct email link to show user page. (Nathan Wilson)

Added more links to the show user pages throughout. (Nathan Wilson)

Thursday January 3, 2008

At long last, I am very excited to announce a major new feature for the Mushroom Observer website - Google Maps!  The most interesting maps currently supported are Distribution Maps.  Here's an example for
<%= link_to("Craterellus cornucopioides", :controller => 'name', :action => 'map', :id => 284) %>.  To get a map for a particular name, you go to the page for a name either from the
<%= link_to(:app_index_a_z.l, :controller => 'name', :action => 'observation_index') %> link on the left side of any window or by clicking an 'About ...' link at the top of an observation page.  Once you're on the page for a name, there is a new link near the top called 'Distribution Map' which takes you to the map for that name.

So like pretty much everything on Mushroom Observer, users can add to the Distribution Map for a name.  The easiest way is when you create a new observation, use an already defined location.  The auto-completion for the Where field will list all locations that are currently being used whether they are defined or not.  Right now there are only a few values that are defined, but I'm hoping that will change quickly as users define more locations (see below).  When creating or editing an observation, there is a checkbox labeled 'Is Collection Location'.  By default it is checked.  If you uncheck, then that observation will not get put on the distribution map.  This allows you to record observations of mushrooms in places like mushroom fairs, grocery stores or other places where you may not know where the mushroom was actually collected.

After you enter a new observation, you can check to see if that location is defined by clicking on the location link on the resulting observation page.  If it is defined, then it will take you a location page that shows you a map of just that location.  Otherwise it will do a search for observations that have that value in the where field.  The search page will include links at the top to 'Define This Location' or 'Merge With A Defined Location'.

Clicking a 'Define This Location' link will take you to a location creation page.  The first thing to review is the name of the location.  You are strongly encouraged to end each location with country.  In the USA you are also encouraged to include the full state name along with the county.  Abbreviations are discouraged with the exception of 'Co.' for County.  Thus a good name is:

Salt Point State Park, Sonoma Co., California, USA

a bad name is

Salt Point, CA

For other countries, I don't know enough to propose a concrete proposal, so I expect conventions will evolve over time.

Locations are currently defined as a box that completely encloses the named location.  Part of intention with making the locations an area rather than a single GPS reading is to not force people to reveal their 'spots', while still getting something that is at least accurate to the county.  To define a location you enter the extreme north and south latitudes as well as the extreme east and west longitudes for that location.  To find the latitudes and longitudes, there are links to a couple of convenient location finder pages on the location creation/editing pages.  These will open in a separate window or tab.  You can then navigate to the location on the map and read off the position.  I am hoping to integrate this functionality into Mushroom Observer, but I wanted to get this first version out to get some feedback before diving into that problem.

In addition to the position of the location, you can also provide a maximum and minimum altitude along with some notes.  Note that the altitudes should be in meters not feet.  Once you have filled out the form, click 'Create' to define the location.  It does a bit of sanity checking to make sure that the values are reasonable and that the name of the location is unique.  An existing location can be edited by going to the page for that location and clicking 'Edit'.  Anyone can change the information for a location, but the previous version of the information is kept as a reference to allow easy recovery if someone puts in the wrong information.

A <%= link_to('list of all locations', :controller => 'location', :action => 'list_place_names') %> in the system is available.  You can reach it by clicking the 'All Locations' link from any of the location related pages.  This page lists both the defined locations (on the left, sorted alphabetically) and the undefined locations (on the right, sorted by the number of observations associated with that location).  My hope is that people will start clicking on the undefined locations and defining them starting with the ones that are in the most widespread use.

Next to each undefined location is a 'Merge' link as well.  This allows you to handle the case where the same location has been given but in different forms (e.g., 'Point Reyes National Seashore' and 'Pt Reyes Park').  When you click a 'Merge' link it will do a quick search for any likely candidates and present those in one list and all the remaining locations in another in case it guessed wrong.  Clicking on any of those location links will perform the merge.

In theory it would be possible for the same location to be defined more than once (presumably by different people).  If this happens, you can propose a merge by editing one of the locations and change the Where field to the value of the other location.  This will not have any immediate effect, but a warning will be given and an email will be sent to me with the details.  I've restricted the ability to merge defined locations since that could cause significant data loss.

Please send me your <%= link_to('feedback', :controller => 'observer', :action => 'ask_webmaster_question') %> on this feature.  I have many ideas about how map use could be expanded in the future, but as always your feedback and requests will drive the order in which I do things.

Hope you enjoy this new functionality!

Monday December 31, 2007

Emergency bug fix related to spontaneous logouts.  Logouts still happening, but users should not be losing data
        any more. (Nathan Wilson)

Saturday December 15, 2007

More layout tweaks. (Nathan Wilson)

Automatically removes extra spaces when lists are given. (Nathan Wilson)

Modified date now gets set for observations created through a species list. (Nathan Wilson)

Change 'Who' link to go to contribution summary. (Nathan Wilson)

Saturday November 17, 2007

Adjusted layout to better use the space on the page. (Nathan Wilson)

Adjusted link order based on usage patterns. (Nathan Wilson)

Fixed problem in RSS feed. (Nathan Wilson)

Fixed bug in display images with multiple names. (Nathan Wilson)

Improved spam filtering. (Nathan Wilson)

More internationalization. (Nathan Wilson)

Fixed spammer generated errors with the welcome page and prev/next links. (Nathan Wilson)

Monday November 5, 2007

Patched bug with internationalization that was causing the string __localization_missing__ to appear unexpectedly.  I don't fully understand why it does this, but I've addressed the symptom. (Nathan Wilson)

More improvements to auto-completion. (Jason Hollinger)

Friday October 19, 2007

Improvements to auto-completion.  Contributed by Jason Hollinger.

Fixed a couple of minor bugs that users stumbled on.

Sunday October 14, 2007

Comments now visible directly on the Show Observation page.  In addition the Add Comment and Edit
        Comment pages now list all the information for the observation to make it easier to cut and
        paste while working on a comment.  Contributed by Jason Hollinger.

Deprecating or approving a name now asks for a comment.  Contributed by Jason Hollinger.

Better auto-completion enabled for Create Observation and Edit Observation.  Contributed by Jason Hollinger.

Saturday October 13, 2007

Added internationalization support including some translations into pt-BR (Brazilian Portuguese).

Tuesday October 9, 2007

An email is now automatically sent to the owner of the observation anytime a comment is made.  This feature can be turned off on your preferences page. Contributed by Jason Hollinger.

The email messages are now optionally HTMLized.  Contributed by Jason Hollinger.

Friday October 5, 2007

Fixed a bug where genera were mistakenly getting deprecated when species they contain were deprecated.

Monday September 17, 2007

Did a whole bunch of cleanup using the W3C validator to ensure that
        as much of the site as possible is valid XHTML 1.0.  In the process found many little formatting problems.  In
        general the layout should be unchanged.  However, with browsers other than Firefox there may be significant
        changes, but those should be more consistent with the layout in Firefox.  Please let me know if you see any
        significant layout problems.

For anyone who cares, the Show Image and Show Original pages are not completely valid due to the use of the
        proposed RDFa standard used to describe the Creative Commons licensing terms.  This standard is expected to be
        ratified in the near future.

Sunday September 2, 2007

Contributors now have options for the license they contribute their images under.  The license that has
        been used so far (Creative Commons Attribution,
        Non-Commercial, Share Alike License v2.5, or by-nc-sa v2.5 for short) only permits non-commercial
        uses.  This license is not enough to allow their use on Wikipedia
        which requires the option for all contributed material
        to be used commercially.  Support has been added for a license Wikipedia does accept,
        the Creative Commons Attribution, Share Alike
        License v3.0 license (by-sa v3.0).  While I was working on this problem I also deprecated the use of
        by-nc-sa v2.5 in favor of the 3.0 version.

This means when you add a new image you can choose between the Wikipedia compatible license and the
        non-commercial 3.0 license.  The initial default for all users when adding new images is the Wikipedia
        compatible, by-sa v3.0 license.  You can change this default on your <%= link_to('Preferences',
        :controller => 'account', :action => 'prefs') %> page.

You can change the license for any existing image by going to that
        image and selecting 'Edit Image'.  You will see a new drop down menu listing the license options.
        If the image is currently under the by-nc-sa v2.5, then that option will still be in the list and will
        be the default.  Finally for power users, there is a new page available off the Preferences page, the
        <%= link_to('Bulk License Updater', :action => 'license_updater') %>, which groups your images based
        on license and copyright holder and allows you to update each group in one go.

Image search now includes the copyright holder field in the search.

Updated the <%= link_to('Introduction', :controller => 'observer', :action => 'intro') %> and
    <%= link_to('How to Use', :controller => 'observer', :action => 'how_to_use') %> pages to reflect many
    of the recent changes.

Saturday September 1, 2007

Fixed bugs in handling version numbers and user assignment for some name changing functions.

Monday August 20, 2007

Fixed bugs in adding author and creating new species indirectly by creating or editing observations.

Sunday August 12, 2007

Re-enabled Bulk Name Edit after substantially revising past name generation and compensating for lost history.

Friday August 3, 2007

Added citations to Names.

Search improvements:

        Box is larger.

        Search value stays in all cases.

        Switched from just matching the beginning of the name string (unless there's a %), to searching anywhere in multple fields.

        Removed Location search since that's included in the Observation search now.

Updated the past name page to explicitly show previous statuses and citations.

Thursday August 2, 2007

Added Approve or Deprecate links to Show Name pages based on whether the name is deprecated or not.

Removed 'Deprecated' checkbox from the Edit Name page.

Fixed a bug in Edit Observation where providing a totally new name lost any other changes or edits made on the page.

Fixed some of the handling of 'Unknown'.

Fixed a bug in recording if a Name used to be deprecated.

Friday July 20, 2007

Allowed system to assume that a non-deprecated name is preferred over a deprecated name if there is ambiguity.

Fixed bug in saving author changes when the name can't be changed that was introduced in the July 6 update.

Friday July 6, 2007

Reorganized the links on the observation, image and name pages to hopefully be more intuitive.

Limited the ability to change the name and author of name to avoid changes to other people's observations without
        their approval.

Fixed a few minor bugs.

Sunday July 1, 2007

Updated the checklist code to give long lists after a visit to either the Observation Index or Name Index pages.

Cleaned up the naming of Observation Index and Name Index.  All Names is still maintained, but is now the same as the Name Index.

Saturday June 30, 2007

Valid names are now in bold.  Deprecated names are not.

Thursday June 28, 2007

Moved to new hosting service.

Sunday June 24, 2007

If there are two names that have exactly the same name and author and at least one of them has no notes, then they will get automatically merged if one of them is edited.

Added a facility for testing the performance of image uploading.

Fixed an omission in the error reporting code that caused alert emails to not get sent.

Monday June 18, 2007

Names can now be marked as deprecated.  The setting can be changed using the Edit Name page.

Synonyms support added.  Synonyms are used to verify names of observations and in species lists.

Synonyms can be changed for one name by selecting 'Change Synonyms' from any Show Name page.

Larger sets of names and synonyms can be added from the Bulk Name Edit page available from any Show
        Name page, the Name Index page or the All Names page.

The Name Index page only lists names that have observations.

The All Names page lists all names in the database and can be accessed from the Name Index page.

Fixed bug with Creating Observations immediately after creating a new account.

Monday May 21, 2007

One year anniversary!

Added Site Stats, Contributors, Show User, User Observations and Comments for User pages.

Sunday May 13, 2007

Fixed a variety of minor issues.

Added 'sanitize' calls to avoid cross-site scripting vulnerabilities.

Thursday May 10, 2007

Fixed bug in creating new names when creating a species list.

Sunday April 29, 2007

Substantially improved error handling.

Fixed problem with Google Web Accelerator.

Sunday April 22, 2007

Reorganized and simplified observation editing and creation.

Completed unit testing for existing pages.

Friday February 23, 2007

Adjusted the size of some of the notes widgets to fill more of the screen.

Monday February 19, 2007

Added note snippet and comment count to Show Image page for easier review.

Adjusted options available for the number of rows in list displays.

Fixed database migration scripts.

Internal data simplification (removed observations.what field).

Tuesday February 13, 2007

Added multiple upload option for Add Images.

Changed some of the links in the left hand panel based on user feedback.

Saturday February 10, 2007

Added image and location search within the site.

Thursday February 8, 2007

Added Google image search links to Observation and Name pages.

Wednesday February 7, 2007

Added checklists.  Items in the checklist are the results of the
            latest search or viewed species list.  Viewing large lists like
            'Latest Changes' or 'Name Index' will reset the checklist to all
            names.

Moved loading species lists from files to a separate page off of
            Edit Species List to avoid an interaction between the checklist
            and file loading.

Saturday January 27, 2007

Name edits now appear in the RSS feed.

Sunday January 21, 2007

Added How To Use page.

Changed 'New' links to 'Create'.

Fixed a bug with the search box.

Fixed a couple of bugs with the next/prev links.

Thursday January 11, 2007

Fixed a bug with creating new species.

Fixed many bugs with page titles, some of which were preventing pages from loading.

Tuesday January 9, 2007

Names are now database objects rather than just strings.  They have a
    rank, a text name an author and notes.

A show_name page shows this information as well as a list of all
    observations that use that Name.  The show_pages can be accessed from
    each show_observation page as well as the name_index page that is
    available in the left-side panel.

Names can be edited on the edit_name pages that are accessible from
    the show_name pages.  Anyone is allowed to edit any name, but
    following the Wikipedia model,
    a record is kept of every version.  The previous versions are stored as
    'past names'.  A show_past_name page shows the name information for a
    previous version of a name and is accessible from each show_name page.

Names are associated with observations through the 'what' field of the
    observation.  When the 'what' field is changed, the names are searched
    for a match.  The 'what' field can either be the text_name or the
    text_name and the author for a name.  No match is found for a 'what'
    value, then the user is given the option to create the new name.  If a
    'what' value matches more than one name (due to different authors
    publishing the same name), then the user is given a choice between the
    options.  The options list how many observations use each version of
    the name.  If you add an author to a 'what' field for a name that does
    not have an author already, it will ask you if you want to create the
    new name, but it will actually update the existing name.

Names given in species lists are treated in the exact same manner,
    except that all the new names and all of the multiple matches are
    dealt with on the same page.  There is also an option on the
    new_species_list and edit_species_list pages to 'Just Create New
    Names'.  This adds the names without updating the species list or
    creating the corresponding observations.

The search box is now available on every page.

Removed the Observation Index in favor of the Name Index.

Fixed some of the list ordering to make it more intuitive.

A filter was added to the account creation process that should reduce the
    number of bot created users.

Fixed a bug with bouncing between observations and images and using the
    next/prev links.

Monday December 18, 2006

Added prev/next links that follow the RSS feed.

Improved prev/next functionality throughout the site.

RSS feed descriptions now have appropriate line breaks.

Monday December 4, 2006

Species lists can now be uploaded from files.

Separated note for species list from note that applies to member observations.

Fixed use of multiple tabs by switching from session data to hidden fields.

mushroomobserver.org/# == mushroomobserver.org/observer/show_observation/#

Monday October 26, 2006

Switched Observations->By Name to include thumbnails and follow layout.

Maintained old By Name behavior as Observations->Index.

Added simple search box to Activity Log (Latest Changes) and Observation list pages.

Monday October 23, 2006

Changed default page to the RSS feed.

Changed page layout for observation and image list pages.

Added layout controls to user preferences.  Set to 10 rows x 1 column
		and turn off 'Put text below images' to get old layout.

Changed thumbnail image size from 100px to 160px with lower quality (jpeg 50 vs. 75).

Provided Prev/Next buttons for images.

Added link to ask the webmaster a question about the site.

Split up 'Manage Images' into 'Add Image', 'Reuse Image' and 'Remove Images' and made
		them more visible.

'Reuse Image' allows you to look at the images.

Added links for viewing the log for observations and species lists.

Made database lookup for all observations much more efficient.

Rearranged left-hand panel.

Images no longer have titles.  They are derived from the observation(s) they are
		connected to.

Removed Edit and Destroy links from view pages.

Add mini-icon for webpages.

Sunday September 9, 2006

Links to email the creator of observations or images with questions or commerical inquiries.  The creator receives an email with the address of the user who wants to contact them.  It is up to the creator whether they want to respond.

User preferences added to disable the above email feature and to stop receiving emails like this letting you know about new features.

RSS feed has been overhauled to reduce the number of entries and make them more relevant.

Copyright holder now has an option to be something other than a registered user.  The user who uploads the image is the default, but it can now be changed on a per image basis.

Monday August 21, 2006

Added RSS feed for all interesting events that happen on the site.

Added 'Create Account' link on login page to make it more obvious.

Tweaked page titles to make the site easier to index.

Sunday August 13, 2006

Added this news page.

List pages now have a better interface for paging than just next/previous,
and its at the top and bottom of each page.

Saturday August 12, 2006

Added email verification system to user signup.


Link to different Charity Commission page that will (hopefully) work even for Charities who have not yet filed their first return (e.g. London Transport Museum)

<% @title = "Information freed from '" + h(@public_body.name) + "'" %>

Track this authority

    <%= render :partial => 'track/tracking_links', :locals => { :track_thing => @track_thing, :own_request => false, :location => 'sidebar' } %>

More about this authority

    <% if !@public_body.calculated_home_page.nil? %>
        <%= link_to "Home page", @public_body.calculated_home_page %>

    <% end %>
    <% if !@public_body.publication_scheme.empty? %>
        <%= link_to "Publication scheme", @public_body.publication_scheme %>

    <% end %>
    <% if !@public_body.charity_number.empty? %>
        <%= link_to "Charity overview", 'http://www.charity-commission.gov.uk/SHOWCHARITY/RegisterOfCharities/CharityFramework.aspx?RegisteredCharityNumber=' + @public_body.charity_number %>

    <% end %>
    <%= link_to "View FOI email address", view_public_body_email_url(@public_body.url_name) %>

<%=h(@public_body.name)%>

<%=@public_body.type_of_authority(true)%> in the UK<% if not @public_body.short_name.empty? %>, also called <%= h(@public_body.short_name) %><% end %>
<% if !@user.nil? && @user.admin_page_links? %>
(<%= link_to "admin", public_body_admin_url(@public_body) %>)
<% end %>

<% if @public_body.notes != "" %>

<%=MySociety::Format.make_clickable(@public_body.notes) %>

<% end %>

<% if @public_body.eir_only? %>

You can only request information about the environment from this authority.

<% end %>

    Next,
        <% if @public_body.eir_only? %>
        <%= link_to "make a new EIR request", new_request_to_body_url(:public_body_id => @public_body.id.to_s)%>
        <% else %>
        <%= link_to "make a new FOI request", new_request_to_body_url(:public_body_id => @public_body.id.to_s)%>
        <% end %>
        to <%= h(@public_body.name) %>

<% if !@xapian_requests.nil? %>
    <% if @xapian_requests.results.empty? %>
        <% if @public_body.eir_only? %>

Environmental Information Regulations requests made

Nobody has made any Environmental Information Regulations requests to <%=h(@public_body.name)%> using this site yet.

        <% else %>

Freedom of Information requests made

Nobody has made any Freedom of Information requests to <%=h(@public_body.name)%> using this site yet.

        <% end %>
    <% else %>

        <% if @public_body.eir_only? %>
            <%=pluralize(@public_body.info_requests.size, "Environmental Information Regulations request") %> made
        <% else %>
            <%=pluralize(@public_body.info_requests.size, "Freedom of Information request") %> made
        <% end %>
        <%= @page_desc %>

        <% for result in @xapian_requests.results %>
            <%= render :partial => 'request/request_listing_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request } %>
        <% end %>

        <%= will_paginate WillPaginate::Collection.new(@page, @per_page, @public_body.info_requests.size) %>

Only requests made using WhatDoTheyKnow.com are shown.

    <% end %>
<% else %>
    <% if @public_body.eir_only? %>

Environmental Information Regulations requests made

    <% else %>

Freedom of Information requests made

    <% end %>

The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority.

<% end %>

<% @title = "Information freed from '" + h(@public_body.name) + "'" %>

Track this authority

    <%= render :partial => 'track/tracking_links', :locals => { :track_thing => @track_thing, :own_request => false, :location => 'sidebar' } %>

More about this authority

    <% if !@public_body.calculated_home_page.nil? %>
        <%= link_to "Home page", @public_body.calculated_home_page %>

    <% end %>
    <% if !@public_body.publication_scheme.empty? %>
        <%= link_to "Publication scheme", @public_body.publication_scheme %>

    <% end %>
    <% if !@public_body.charity_number.empty? %>
        <%= link_to "Charity overview", 'http://www.charity-commission.gov.uk/SHOWCHARITY/RegisterOfCharities/CharityWithPartB.aspx?RegisteredCharityNumber=' + @public_body.charity_number %>

    <% end %>
    <%= link_to "View FOI email address", view_public_body_email_url(@public_body.url_name) %>

<%=h(@public_body.name)%>

<%=@public_body.type_of_authority(true)%> in the UK<% if not @public_body.short_name.empty? %>, also called <%= h(@public_body.short_name) %><% end %>
<% if !@user.nil? && @user.admin_page_links? %>
(<%= link_to "admin", public_body_admin_url(@public_body) %>)
<% end %>

<% if @public_body.notes != "" %>

<%=MySociety::Format.make_clickable(@public_body.notes) %>

<% end %>

<% if @public_body.eir_only? %>

You can only request information about the environment from this authority.

<% end %>

    Next,
        <% if @public_body.eir_only? %>
        <%= link_to "make a new EIR request", new_request_to_body_url(:public_body_id => @public_body.id.to_s)%>
        <% else %>
        <%= link_to "make a new FOI request", new_request_to_body_url(:public_body_id => @public_body.id.to_s)%>
        <% end %>
        to <%= h(@public_body.name) %>

<% if !@xapian_requests.nil? %>
    <% if @xapian_requests.results.empty? %>
        <% if @public_body.eir_only? %>

Environmental Information Regulations requests made

Nobody has made any Environmental Information Regulations requests to <%=h(@public_body.name)%> using this site yet.

        <% else %>

Freedom of Information requests made

Nobody has made any Freedom of Information requests to <%=h(@public_body.name)%> using this site yet.

        <% end %>
    <% else %>

        <% if @public_body.eir_only? %>
            <%=pluralize(@public_body.info_requests.size, "Environmental Information Regulations request") %> made
        <% else %>
            <%=pluralize(@public_body.info_requests.size, "Freedom of Information request") %> made
        <% end %>
        <%= @page_desc %>

        <% for result in @xapian_requests.results %>
            <%= render :partial => 'request/request_listing_via_event', :locals => { :event => result[:model], :info_request => result[:model].info_request } %>
        <% end %>

        <%= will_paginate WillPaginate::Collection.new(@page, @per_page, @public_body.info_requests.size) %>

Only requests made using WhatDoTheyKnow.com are shown.

    <% end %>
<% else %>
    <% if @public_body.eir_only? %>

Environmental Information Regulations requests made

    <% else %>

Freedom of Information requests made

    <% end %>

The search index is currently offline, so we can't show the Freedom of Information requests that have been made to this authority.

<% end %>


artifact_path => path

artifact_path => path

git-svn-id: 50a8ad97cae5d6ab203d2d535a9b32cd3858a8ac@228 c04ce798-636b-4ca8-9149-0f9336831111

  Build history
  <% @project.builds.reverse.each do |build| %>
    <div class="build-link<%= ' selected' if @build.label == build.label %>">
      <%= hyperlink_to_build(@project, build) %>

  <% end %>

  <%= h @project.name %> build <%= h @build.label %>
  <% if @build.failed? %>FAILED<% end %>

  finished at <%= format_time @build.time, :verbose %>. Total <%= @build.elapsed_time%> seconds.

<% if !@build.additional_artifacts.empty? %>

  <% @build.additional_artifacts.each do |artifact| %>

      <%= link_to artifact, :action => 'artifact', :project => @project.name, :build => @build.label, :path => artifact %>

  <% end %>

<% end %>

Build Changeset

    <%= format_changeset_log(@build.changeset) %>

<% test_failures = get_test_failures_and_errors_if_any(@build.output) %>
<% if test_failures %>

Test Failures and Errors

    <%= test_failures %>

<% end %>

Build Log

      <%= format_build_log(@build.output) %>

  Build history
  <% @project.builds.reverse.each do |build| %>
    <div class="build-link<%= ' selected' if @build.label == build.label %>">
      <%= hyperlink_to_build(@project, build) %>

  <% end %>

  <%= h @project.name %> build <%= h @build.label %>
  <% if @build.failed? %>FAILED<% end %>

  finished at <%= format_time @build.time, :verbose %>. Total <%= @build.elapsed_time%> seconds.

<% if !@build.additional_artifacts.empty? %>

  <% @build.additional_artifacts.each do |artifact| %>

      <%= link_to artifact, :action => 'artifact', :project => @project.name, :build => @build.label, :artifact_path => artifact %>

  <% end %>

<% end %>

Build Changeset

    <%= format_changeset_log(@build.changeset) %>

<% test_failures = get_test_failures_and_errors_if_any(@build.output) %>
<% if test_failures %>

Test Failures and Errors

    <%= test_failures %>

<% end %>

Build Log

      <%= format_build_log(@build.output) %>


added new page link

added new page link

Sorry, page <%params[:page_name]%> does not exist.

  <% if @group and @user and @user.member_of?(@group) %>

<%= link_to "create #{params[:page_name]}", {:controller => 'pages', :action => :create_wiki, :name => params[:page_name], :group => @group.name }, :method=>:post %>

  <% end %>

search for similar pages

  <% if request.env["HTTP_REFERER"] %>

<%= "return to previous page" % request.env["HTTP_REFERER"] %>

  <% end %>

sorry, that page does not exist.

search for similar pages

  <% if request.env["HTTP_REFERER"] %>

<%= "return to previous page" % request.env["HTTP_REFERER"] %>

  <% end %>


Fix the DD's class in pending-fixed examples

<dd class="spec <%= status %>">
	<%= h(example.description) %>
  <div class="failure" id="failure-<%= counter %>">

Expected pending
        <%= h(example.metadata[:execution_result][:pending_message]) %>
        to fail. No Error was raised.

%     format_backtrace(exception.backtrace, example).each do |backtrace_info|
	        <%= backtrace_info %>

%     end

    <%= extra %>

% unless log_messages.nil? || log_messages.empty?

<%= log_messages.join("\n") %>

% end


radiant 0.9 js compat (uses lowpro)

radiant 0.9 js compat (uses lowpro)

<% content_for :page_scripts do -%>
  document.observe('dom:loaded', function(){
    Event.addBehavior({
      'tr.comment td': function(event){
        $(this).observe('click', function(event){
          if($(this).down('blockquote.expanded')){
            $(this).down('blockquote.expanded').toggle();
            $(this).down('blockquote.short').toggle();
          }
          event.stop();
        });
      }
    });
  });
<% end %>
<%- include_stylesheet 'admin/comments' %>

  <% if @page -%>
    <%= @page.comments.count %> <%= "#{params[:status].titleize} " if params[:status] %><%= pluralize(@page.comments.count, 'Comment') %> on <%= link_to @page.title, edit_admin_page_path(@page) %>
  <% else -%>
    <%= params[:status].titleize if params[:status] %> Comments
  <% end -%>

<%= link_or_span_unless_current("All", :status => 'all', :page_id => params[:page_id]) %>

<%= link_or_span_unless_current("Approved", :status => "approved", :page_id => params[:page_id]) %>

<%= link_or_span_unless_current("Unapproved", :status => "unapproved", :page_id => params[:page_id]) %>

<%= link_to "Download CSV", :format => :csv %>

<%= will_paginate @comments %>

      Content
      Date
      Author
      <% unless @page %>Page	<% end %>
      Actions

    <%= render(:partial => "comment", :collection => @comments) || %Q[
No comments
] %>

<%= will_paginate @comments %>

<% form_tag destroy_unapproved_admin_comments_url, :method => :delete do %>

<button type="submit" class="delete-unapproved"><%= image_tag("admin/comments_delete.png") %> Delete All Unapproved</button>

<% end %>

<%= Comment.spam_filter.message %>

<% content_for :page_scripts do -%>
  document.observe('dom:loaded', function(){
    when($$('tr.comment blockquote.expanded'), function(bqs){
      bqs.each(function(bq){
        var td = bq.up();
        td.observe('click', function(e){
          e.stop();
          td.select('blockquote').invoke('toggle');
        });
      });
    });
  });
<% end %>
<% include_stylesheet 'admin/comments' %>

  <% if @page -%>
    <%= @page.comments.count %> <%= "#{params[:status].titleize} " if params[:status] %><%= pluralize(@page.comments.count, 'Comment') %> on <%= link_to @page.title, edit_admin_page_path(@page) %>
  <% else -%>
    <%= params[:status].titleize if params[:status] %> Comments
  <% end -%>

<%= link_or_span_unless_current("All", :status => 'all', :page_id => params[:page_id]) %>

<%= link_or_span_unless_current("Approved", :status => "approved", :page_id => params[:page_id]) %>

<%= link_or_span_unless_current("Unapproved", :status => "unapproved", :page_id => params[:page_id]) %>

<%= link_to "Download CSV", :format => :csv %>

<%= will_paginate @comments %>

      Content
      Date
      Author
      <% unless @page %>Page	<% end %>
      Actions

    <%= render(:partial => "comment", :collection => @comments) || %Q[
No comments
] %>

<%= will_paginate @comments %>

<% form_tag destroy_unapproved_admin_comments_url, :method => :delete do %>

<button type="submit" class="delete-unapproved"><%= image_tag("admin/comments_delete.png") %> Delete All Unapproved</button>

<% end %>

<%= Comment.spam_filter.message %>