Merge lp:~jcsackett/launchpad/404s-confuzzle-me into lp:launchpad

Proposed by j.c.sackett
Status: Merged
Approved by: Curtis Hovey
Approved revision: no longer in the source branch.
Merged at revision: 13927
Proposed branch: lp:~jcsackett/launchpad/404s-confuzzle-me
Merge into: lp:launchpad
Diff against target: 53 lines (+13/-4)
2 files modified
lib/lp/app/templates/launchpad-forbidden-macros.pt (+3/-1)
lib/lp/app/templates/launchpad-notfound.pt (+10/-3)
To merge this branch: bzr merge lp:~jcsackett/launchpad/404s-confuzzle-me
Reviewer Review Type Date Requested Status
Jeroen T. Vermeulen (community) Approve
Review via email: mp+73434@code.launchpad.net

Commit message

[r=jtv][bug=777797] Update 404 message to explain why it might be caused.

Description of the change

Summary
=======
Pages that 404 due to privacy concerns confuse our users. While it is our policy to not show private objects or even admit their existence to people without permission, we can add some text to make it clearer that a user might try another login if they expect to see something.

Preimp
=====
None. There are pretty detailed instructions on the bug page.

Implementation
==============
Some text was added to the forbidden and notfound pages, indicating that a user might have the wrong login.

QA
==
Confirm the correct text shows up.

To post a comment you must log in.
Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

Hi Jon,

I applaud the sentiment, but with my fresh pair of eyes I don't see this resolving the confusion. Yes, you tell the user to try a different login, which may help, but you also just flatly denied that the object they're looking for exists. How is logging in differently going to fix that? Seeing that message instead of the page I expected, I might wonder if it were meant for some other scenario.

To put the "try a different login" advice into context, you'll need to water down the "this object does not exist" message. It will have to say that the object does not exist _or the user's account may not be privileged to view it_.

review: Needs Fixing
Revision history for this message
Martin Pool (mbp) wrote :

On 31 August 2011 16:21, Jeroen T. Vermeulen <email address hidden> wrote:
> Review: Needs Fixing
> Hi Jon,
>
> I applaud the sentiment, but with my fresh pair of eyes I don't see this resolving the confusion.  Yes, you tell the user to try a different login, which may help, but you also just flatly denied that the object they're looking for exists.  How is logging in differently going to fix that?  Seeing that message instead of the page I expected, I might wonder if it were meant for some other scenario.
>
> To put the "try a different login" advice into context, you'll need to water down the "this object does not exist" message.  It will have to say that the object does not exist _or the user's account may not be privileged to view it_.

+1, that is a better description of the facts rather than guessing at
solutions. Something like "this object doesn't exist, or has been
renamed, or you don't have access to it."

Also, surely one common case of something being 404 is that you're not
logged in _at all_ and this only changes the authenticated side of
things.

I am not so sure about saying "log in as someone else". Do many users
have multiple personas and log in with them interactively? Wouldn't
those users mostly be pretty well aware of which one they're using at
any moment?

Martin

Revision history for this message
j.c.sackett (jcsackett) wrote :

 > To put the "try a different login" advice into context, you'll need to water
> down the "this object does not exist" message. It will have to say that the
> object does not exist _or the user's account may not be privileged to view
> it_.

That's a good point; I'll make that change.

Revision history for this message
j.c.sackett (jcsackett) wrote :

> Also, surely one common case of something being 404 is that you're not
> logged in _at all_ and this only changes the authenticated side of
> things.

It doesn't show in the diff, but the the unauthenticated bit is handled differently. It already points out that you're not logged in and that not being logged in may be the problem.

>
> I am not so sure about saying "log in as someone else". Do many users
> have multiple personas and log in with them interactively? Wouldn't
> those users mostly be pretty well aware of which one they're using at
> any moment?

This was specifically brought up as a point in the conversation around what to do; my understanding was it's not the most common case, but it's not precisely uncommon either. Still, I think switching the message to something like "your account may not have privileges to see this" will address the situation better than "try logging in as someone else".

Revision history for this message
j.c.sackett (jcsackett) wrote :

Jeroen--

I have pushed up some modification, with the "not found or you don't have permission" additions.

Revision history for this message
Jeroen T. Vermeulen (jtv) wrote :

Much better, thanks!

Two very nitpicky notes still:

1. "it is possible it has been removed" seems a bit roundabout and uses two "it"s. How about "it may have been removed"?

2. We normally indent the content of a tag, but not the tag itself:

<p>
  content
</p>

Jeroen

review: Approve
Revision history for this message
Martin Pool (mbp) wrote :

I'd say 'removed or renamed' since that's another common reason for them to break.

Revision history for this message
j.c.sackett (jcsackett) wrote :

Thanks, I'll address those points before sending it out to land.

Revision history for this message
Martin Pool (mbp) wrote :

i just noticed you didn't actually address the points from jtv and myself, though you said you would. not the end of the world.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/lp/app/templates/launchpad-forbidden-macros.pt'
2--- lib/lp/app/templates/launchpad-forbidden-macros.pt 2011-05-27 20:26:32 +0000
3+++ lib/lp/app/templates/launchpad-forbidden-macros.pt 2011-09-12 13:37:16 +0000
4@@ -6,9 +6,11 @@
5 <p>
6 Sorry, you don't have permission to access this page.
7 </p>
8- <p tal:condition="request/lp:person">
9+ <div tal:condition="request/lp:person">
10+ <p>
11 You are logged in as <span tal:content="request/lp:person/title" />.
12 </p>
13+ </div>
14 <p tal:condition="not: request/lp:person">
15 You are not logged in.
16 </p>
17
18=== modified file 'lib/lp/app/templates/launchpad-notfound.pt'
19--- lib/lp/app/templates/launchpad-notfound.pt 2011-05-27 20:26:32 +0000
20+++ lib/lp/app/templates/launchpad-notfound.pt 2011-09-12 13:37:16 +0000
21@@ -9,14 +9,20 @@
22 <body>
23 <div class="top-portlet" metal:fill-slot="main">
24 <h1>Lost something?</h1>
25- <p>There&#8217;s no page with this address in Launchpad.</p>
26+ <p>
27+ This page does not exist, or you may not have permission to see it.
28+ </p>
29+
30+ <p>
31+ If you have been to this page before, it is possible it has been removed.
32+ </p>
33 <tal:referred condition="view/referrer">
34 <p>
35 If you got here from a link elsewhere on Launchpad,
36 sorry about that.
37 We&#8217;ve recorded the problem,
38 and we&#8217;ll fix it as soon as we can.
39- </p>
40+ </p>
41 <p>
42 Otherwise, complain to the maintainers of the page that linked here.
43 </p>
44@@ -32,7 +38,8 @@
45 </p>
46 </tal:referred>
47 <p tal:condition="not:view/referrer">
48- Check that you entered the address correctly, or search for it:
49+ Check that you are logged in with the correct acount, or that you
50+ entered the address correctly, or search for it:
51 </p>
52 <form
53 tal:attributes="action string:${rooturl}+search"