From http://drupalusability.org/node/55

"After a Drupal installation both anonymous AND logged in users see the welcome to Drupal screen. This is confusing."

Comments

wretched sinner - saved by grace’s picture

The question is what should be displayed in it's place? One question is how often in a 'real life' situation would this happen? Since the welcome page is only displayed when there is no content promoted to /node, it will disappear when content is posted.

sun’s picture

Status: Active » Closed (duplicate)
karschsp’s picture

Status: Closed (duplicate) » Active

sun, I don't see how this is a duplicate. I think this issue is strictly related to what anonymous users see when they go to /node and nothing's there. They shouldn't see the "Welcome to your new website" text (ala recovery.gov/?q=node ). Not sure exactly *what* they should see but they shouldn't see that.

If I'm not mistaken, #407022: Show help and configuration links when modules are enabled. looks more related to admin tasks and how they are presented to the site owner/builder/admin, right?

karschsp’s picture

Status: Active » Needs review
StatusFileSize
new5.25 KB

Here's a preliminary patch for this. Basically it just says to an anonymous user "No content is currently available." Suggestions welcome!

Bojhan’s picture

No review for ages, sadly - I dont see any UX arguments why this is bad.

cburschka’s picture

Status: Needs review » Needs work

Some minor problems:

1.)

-    );\n
+    );    \n

The patch adds trailing whitespace near the end of the chunk.

2.) Using pre-defined functions like user_is_anonymous() (instead of comparing the global directly) is self-documenting as well as robust for future changes.

3.) t('Welcome to ' . variable_get('site_name', ''). Don't try to localize a user-set string. You need placeholders - ie:

t('Welcome to @site!' , array('@site' => variable_get('site_name', '')))

By the way, are we sure this variable will be set at this point? Showing a guest a cryptic half-sentence of "Welcome to !" looks even dirtier than mistakenly calling it "your" website. If it might not be set, an alternative message ("Welcome to this Drupal website!") would be good - we can't use a default value without localizing sentence fragments, which should be avoided.

It works great otherwise! :)

Anonymous’s picture

IMO, the anonymous user should just get a 404 error and I think that the installation should set the site in maintenance mode after the creation of UID 1.

Bojhan’s picture

earnie: please don't kill kittens,

Arancaytar: Can you or karschsp provide a screenshot of the annonymous state.

greenskin’s picture

I agree with earnie, after installation the site should be set to maintenance mode or some variation thereof. After install a site has no content for users to see so if by chance a user finds their way to the site and are met with no content and no reason why, they probably won't be back. A simple splash screen like when in maintenance mode would suffice.

sun’s picture

And then? And then you set your site online and anonymous still see this welcome message.

Seriously, this issue tries to solve an problem, but not the cause. All we can get here is a half-baked solution that might work under very certain circumstances.

That's the reason why I marked it duplicate. It's a waste of time IMHO.

greenskin’s picture

When /node is loaded and user is anonymous and there is no published content then the page could return a maintenance mode-like screen, an 'under-construction' or 'come back soon' or something of the sorts.

cburschka’s picture

-1 for showing something vastly different (like an offline message) on the /node page when no content exists, than from what you would show on any other page such as /user/login when no content exists.

Drupal sites don't need content to be up and running (they don't even need nodes at all, if you are using it as a framework rather than a CMS), and we shouldn't make assumptions about it. All that this condition checks for is whether content exists - not whether a site is in maintenance mode or publically available.

Bojhan’s picture

Status: Needs work » Closed (won't fix)

I dont get all of this, why can't we just set it to - No content is currently available, for annonymous? When content is added, it will show up and this message will dissapear / stay on that one page no one looks.

I know its normal for usability issues, to get 200 x -1 in the beginning but in this case I don't see the larger issues.

Bojhan’s picture

Status: Closed (won't fix) » Needs work
Anonymous’s picture

When no content exists then it makes sense for a 404 Page not found error for an anonymous user if the site isn't in maintenance mode because there is no <front> page to display. Putting the site in maintenance mode after UID 1 is created is what is needed to give a "Under Construction" type of page. You can still use the Drupal framework if you're not using the CMS; these actions won't stop you. It is the CMS portiion that requires these changes and not using the CMS but using the Drupal framework is a bit rare. However, these changes would not affect the Drupal framework use because the admin can easily change the settings if they interfere.

I've been too anxious about a "Install Drupal Now" page shown to an anonymous user too many times to not be interested in seeing this fixed. It is a bit of a security issue as well, IMO, since the anonymous user is presented with options to perhaps create a database. I'm thinking that an install should be more manual than it is currently, i.e.: one should need to type install.php in the URL bar. If the DB isn't available we default to a maintenance mode page unless we're in the install.php. One of the first things I've begun to do after unpacking Drupal is moving install.php to a different name just because I don't want an anonymous user seeing the install page.

@sun: I do not see this issue as a duplicate of the one you quote. This issue is dealing only with the lack of data when index.php is executed. The other is dealing with tasks the administrator must do after the install and in particular enabling modules.

shawn dearmond’s picture

One problem with using a 404 page is that no blocks are shown on Drupal's 404. This means that the user login block won't appear on the home page by default. That's bad UX.

shawn dearmond’s picture

StatusFileSize
new2.43 KB

Well, here's a start...

I wrapped the default welcome message in a theme function so it can be easily changed by a theme. That doesn't necessarily solve our problem, though, since what we're really trying to do is provide useful information to someone who just installed Drupal for the first time. Likely, they would not yet have changed the theme.

However, this provides the possibility for the default theme to override the theme function, for use in install profiles, and whatnot.

The contents of the theme function is up for debate, but I made it so an $account object is passed to the theme function. This way, it can check for $account->uid == 0 and display different information.

shawn dearmond’s picture

Status: Needs work » Needs review

testbot?

(Just figured out that the testbot won't test unless the status is either "needs review" or "reviewed & tested by the community".)

shawn dearmond’s picture

StatusFileSize
new3.8 KB

I added a bit to the patch which I hope will demonstrate a little of what's possible with this theme function. Now, it checks to see which content types the user has access to create, and provides direct links to those node/add/$type forms.

This (partially) addresses @emmajane's recommendation that creating content should be the most important part of the message.
http://drupal.org/node/475596#comment-1639610

shawn dearmond’s picture

StatusFileSize
new7.73 KB

This patch came out of a nice conversation in #drupal tonight.

Scope:
a) The welcome message stays
b) It moves to /admin/welcome
c) There's a way to disable it
d) Install redirects there after the initial install
e) Change node_page_default() so that all it says is "No content posted yet" for anonymous users. For logged-in users, it links to node/add and admin/settings/site-information; hopefully providing a bit of guidance as to what they might want to do next.

Because it's now its own menu item, it can be changed with hook_menu_alter, or disabled completely using admin/build/menu. It can also be enabled, disabled, or moved by an install profile. I would imagine that the "minimal" install profile may want this disabled upon install.

The welcome page could still be a theme function or tpl.php file, but I didn't roll those options into this patch. It may be best to (eventually, maybe) move this to advanced help, or similar. Again, not within the scope of this issue, however.

webchick’s picture

Status: Needs review » Fixed

This got fixed as part of #475596: [meta-issue] Fix the unholy abomination that is the welcome screen.

Sorry, Shawn! I forgot you had started this over here. :(

shawn dearmond’s picture

No worries! I saw that emmajane had done a better job, so I stopped working on this one.

Status: Fixed » Closed (fixed)
Issue tags: -Usability, -UBUserTesting2009

Automatically closed -- issue fixed for 2 weeks with no activity.