Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Problem/Motivation
The user saw a page shown on the front page, and got alarmed thinking it was accidentally created as the site's homepage.
The reason of why this is happening is due that they are not many differences between front page and nodes pages.
As you can see in the image above there are only two difference:
- The menu color are different. In the node page is blue and in the front page is gray.
- Buttons from the views, "Read more about Article 1" "Add new comment"
There is already a project that is trying to solve the same issue Empty Front Page
Proposed resolution
- Remove the view Frontpage (Content) from the front page and add a block that said welcome and some information about Drupal.
- Another possible solution would be to style the view so the user can tell the different between a front page or nodes pages.
Remaining tasks
- Discuss any other potential solutions
- Patch
User interface changes
?
API changes
?
Data model changes
?
Comment | File | Size | Author |
---|---|---|---|
#52 | front-page-help-text.png | 131.58 KB | owenpm3 |
#28 | bartik-homepage-styling.png | 112.17 KB | yoroy |
Front-page-problem.png | 112.14 KB | darol100 |
Comments
Comment #1
darol100 CreditAttribution: darol100 as a volunteer and commentedComment #2
dawehnerI'm not entirely sure why this should be critical. This problem exists in Drupal since always, so its not really a regression to whatever existed before.
In case you install from scratch, you though see this dedicated block telling you a welcome message,
so maybe the user testing started with an already filled up drupal?
Comment #3
darol100 CreditAttribution: darol100 as a volunteer and commented@dawehner, I think you are right. Changing to Major.
Comment #4
davidhernandezThe UX priority sheet has this marked as critical so I assume webchick declared it so?
Comment #5
dawehnerI mean sorry, but major doesn't mean that you aren't allowed to work on it.
We worked hard to make the behaviour as similar to D7 as possible and afaik D7 shipped as well.
Comment #6
lunk rat CreditAttribution: lunk rat commented@dawehner the usability study started with an empty, default D8 standard install.
The problem appeared when a user created their first piece of content, which was automatically promoted to front page. From here many problems occurred:
I would suggest completely ditching the entire concept of the default front page "listing" as well as the "Promoted to front page" flag.
Instead, just show a block/tour that explains how to set a node or view as the front page.
Comment #7
darol100 CreditAttribution: darol100 as a volunteer and commented1+ for comment #6.
Comment #8
LewisNymanThe UX priorities don't completely match up with Drupal core's priorities. That's why it's a critical in the spreadsheet but not here.
Comment #9
darol100 CreditAttribution: darol100 as a volunteer and commentedAdding tags...
Comment #10
davidhernandez#8 well, that's confusing.
Comment #11
Bojhan CreditAttribution: Bojhan as a volunteer commented@davidhernandez Ah, that's because we are veeeeerey strict with usability criticals. Even though from a UX perspective it can be critical in terms of the experience, we cannot solve it within a reasonable period and/or is a largely preexisting issue.
Comment #12
tkoleary CreditAttribution: tkoleary at Acquia commented+1 to that
I have always considered default promotion to the front page as an odd Drupalism. I think it is a throwback to when we were primarily using Drupal for Blogs.
Comment #13
darol100 CreditAttribution: darol100 as a volunteer and commentedBTW
1+
I agree with comment #12. This is just very odd. However, I think we should have something in the front page like a welcome page.
I think we should will look into what others cms, and frameworks are doing for their front page after the installation process.
Comment #14
philsward CreditAttribution: philsward commentedMy only question is: "what makes the most sense when translated into other languages?"
In other words, if one makes more sense in most languages, it should be used. If they both have a similar meaning, then it's a toss up.
Personally, I'm not a fan of "welcome" but that's just me. A person could have a home page that is their front page, but also a separate welcome page that is not the home page. I'm over thinking it, but that's my $0.02
If you're looking at a manuscript, book, magazine, brochure or anything paper copy, what would you call it? Welcome doesn't come to mind but neither does home...
Comment #15
philsward CreditAttribution: philsward commentedIn other news, I received a text just today from a customer that knows absolutely nothing about websites except that I built them one...
Here's an excerpt from the text:
I thought it was rather fitting to share this considering my client referred to the front page as... "Front Page". They don't edit the content on the site and I've never given them a login to the site for them to even know a single thing about Drupal verbiage.
Comment #16
dawehnerCan we please keep that, otherwise site out there will break. I think this is not acceptable.
Comment #17
philsward CreditAttribution: philsward commentedThinking about the issue a bit, I think we need to take a step back and determine first, what the front page is and what it used to be.
I can't speak for Drupal 8 because I haven't played with it much yet, but in the past, the "front" page was a generic location for a list of nodes to show up. Drupal was originally designed as a blogging platform. With blogs, you usually have a list of the articles.
Fast forward to today and the front page can contain a plethora of information that include nodes, blocks, custom entities, images etc. I'm thinking that yes, this does need some attention as to how to handle the front page, but less emphasis on what to call it.
In a perfect world, Drupal would have a layout manager to handle the layout of the home page as well as every combination and variation of pages for every single viewport being served. However, that is not the case. So, we're left with a home page with no clear direction as to what it "should" be, only a sense of direction of what it "could" be.
I'm all in favor of axing the whole 'promote to front page' blog style that has been the core of Drupal since the beginning, in favor of a more generic display that can be tailored to the sites needs. The first thing to go for me, is Drupals core home page. I don't think I've ever setup a website where I've used that layout and called it good...
It's confusing how some in the community don't want Drupal to handle layout at a macro level, (envision panels + layout as part of core, something the masses can use) but they don't say a word about how Drupal forces layout at the micro level (forcing the home page to be setup like a blog for example, something only a handful of sites will leverage) C'est la vie
Comment #18
davidhernandezIf the node view is no longer used for the front page we need something to replace it. There needs to be a way for people to get some kind of content to the front. Having nothing set in the "Default front page" setting results in people being redirected to /user, which could be a bigger UX problem.
The second proposed solution seems like the easiest fix. Make the front page more visually distinguishable from other content. That wouldn't require reinventing things this late.
Comment #19
philsward CreditAttribution: philsward commentedYeah, I agree @davidhernandez that removing it will cause a bigger UX issue...
Maybe a Drupal specific welcome page that explains how to replace the front page with user content? A few option such as:
The idea is to have a very brief but big Drupal welcome with a few options for enabling various views or what-not and setting it as the default front page display. Essentially a few out-of-the-box display options for the new folks. This can always be changed by the seasoned folks.
Also on the page could be a few tips or links to some common places where folks might go first to begin setting up the site. Might be more work than what can be handled at this point though. Just throwing out some ideas.
Comment #20
David_Rothstein CreditAttribution: David_Rothstein as a volunteer commentedThat is interesting, but for the purpose of this issue wouldn't it just defer the problem until after they clicked the "recommended link"?
Re ditching the whole concept of "promoted to front page", that seems pretty drastic as a solution to this issue :) (And also, don't most other content management systems have a similar concept for their default front page as Drupal does?)... I think there's another issue about the promoted flag somewhere, but I agree with @davidhernandez that for this issue just changing something about the default front page to make it visually distinguishable is the way to go.
I am also retitling this - I assume the problem goes away once there is more than one node promoted (or do we not know that)?
Comment #21
David_Rothstein CreditAttribution: David_Rothstein as a volunteer commentedUm, copy-paste gone very very wrong...
Comment #22
jrbrown CreditAttribution: jrbrown commentedWordPress starts off with a dummy post and page and comment. The default homeview shows posts.
On the dashboard it shows a welcome block on things you can do to get started.
View
Comment #23
tkoleary CreditAttribution: tkoleary at Acquia commentedI was not suggesting ditching the concept of promotion to the front page entirely, just not having nodes default to promoted. That would leave the front page empty until someone makes a conscious decision to promote a node or a node type.
Of course the empty state begs for some content and I like some of the ideas above about what that content might be, but I would suggest making the content a Default basic custom block called "Site welcome block" or something similar. This would serve the dual purpose of filling the empty state with something that can easily be changed by the user and providing the user with an immediate introduction into the concept of custom blocks as the way to create one-off pieces of content that don't really fit into a content type.
The other advantage of a custom block is that it could be weighted to the top, above main content, which would remove the potential problem of default front page content being pushed down the page by other content created or made sticky at a later point.
Note:
Is a no-go. It would be better to throw a new user into a den of hungy wolves than to send them to the views UI.
Comment #24
BiigNiick CreditAttribution: BiigNiick as a volunteer commented#22 i think a default behavior for a default article and a default page being created isn't such a bad idea. the default install creates those content types and assumes they are what you will need, so why not create node/1 and node/2 as a basic page and article with instructional content on them. the page could have directions on how to make that page the home page and more about setting that up. the article could have info on the promoted to front page behavior in drupal and how the default front page is created. it could have enough content on it to make a large visual difference between the article page and front page.
there would also be another tab for the default basic page at the top and would intuitively show the structure and differences in how the content are used.
more advanced users can choose not to install the default profile and do the minimal and only install modules they are going to use.
my $0.02
- nick
Comment #25
cilefen CreditAttribution: cilefen commentedRegarding #24, there is this open issue #2527954: Add a 'Standard + demo content' profile.
Comment #26
BiigNiick CreditAttribution: BiigNiick as a volunteer commentedThanks #25 :)
- nick
Comment #27
mErilainen CreditAttribution: mErilainen at Wunder commentedFor me the best solution would be to not promote content to the front page as default. Even seasoned Drupal developers forget to uncheck that value for new content types, and even though we don't usually use it, the default value makes the whole thing useless (imagine a situation where you would actually want to use that flag for something simple in custom view for example, but you really can't because there is already 1000+ nodes with the default value).
I'm not sure how good the help is in D8 at the moment, but the default empty front page text would be a great place to teach all newcomers just the very basics of Drupal: what does it mean to "promote content to front page" and what is "sticky" actually. Then they would test those checkboxes on purpose, et voila! They have learned something new. Instead of wondering why is my first "Awesome Test Page" suddenly the front page of the whole site, without doing practically anything.
Comment #28
yoroy CreditAttribution: yoroy at Wunder commentedWhat about a bit of typical homepage styling to make the homepage more homepagey :-)
Comment #29
darol100 CreditAttribution: darol100 as a volunteer and commented@yoroy,
Good initiative, but I do not think this will not fix the current issue. What I was thinking was investigate how other CMS and frameworks handles their front page and try to came out with a reasonable solution. I have been busy working on other contrib work so I have not investigate that. I will add this issue to my todo list to investigate difference cms and provide a solution for this issue.
Comment #30
Anonymous (not verified) CreditAttribution: Anonymous commentedI am proposing to remove the "Main page content" block and the "Default front page" option from "Configuration" -> "Site information". "Main page content" should be removed since the old, Drupal 7, behavior isn't actual for Drupal 8. "Default front page" is used to set a custom page as the front page but since index page is highly customizable anyway we shouldn't rely on "Default front page". It simply doesn't make sense. At least to me.
For those who think that we should make Drupal 8 behave as close as possible to Drupal 7, yes we should. But there are moments when it is not possible to maintain old behavior and we shouldn't add a feature just for the sake of adding it. "Frontpage" view can be made to behave as the old "Main page content".
Let's not forget, innovations bring changes. Web developers are always changing default behavior. Developers are smart people. Developers can and should adapt.
Comment #31
Anonymous (not verified) CreditAttribution: Anonymous commentedThe issue regarding the "Promote to front page" is also discussed here: https://www.drupal.org/node/987242
And I also think that it should be removed. It can now be used as an optional, boolean field on any content.
Comment #32
David_Rothstein CreditAttribution: David_Rothstein as a volunteer commentedNot sure what you mean (or especially, how removing that would actually help with this issue)?
I think the primary use case for that setting is people who don't want a content listing as their site's front page at all, but rather something else entirely (e.g. a single node, some kind of panelized layout, etc). Being able to modify the front page view doesn't help much with that.
Comment #33
yoroy CreditAttribution: yoroy commentedSmall title tweak to make it clear that the default "river of news" format for the front page gets confusing with only one item in it.
Comment #34
Anonymous (not verified) CreditAttribution: Anonymous commentedYou can create a single node representation in a view. But most often I saw no webpages with a single node on the first page. Regarding panels, why would someone need panels when you have blocks? You can define new blocks. You can style them. Also, since panels is the only thing which would need the "Default front page" option maybe it should define it in its own settings?
Comment #35
David_Rothstein CreditAttribution: David_Rothstein as a volunteer commentedThe reason for using something like Panels would be to have a different layout on the front page than other pages of the site. And while it's possible to use Views to create a single-node view, that's not very intuitive for the site administrator (compared to just setting the front page directly).
In any case, hopefully this issue's new title makes clear why that discussion isn't related to this issue? I think you should create a new issue if you want to propose removing the ability to switch out the default front page...
Comment #36
Anonymous (not verified) CreditAttribution: Anonymous commentedI did open a new ticket and it was marked as a duplicate to this one.
Regarding the issue exposed in this ticket (I read the issue again) it is up to the theme creator to style the template properly. If there is only one article published and it is promoted to the first page the confusion can happen on any CMS. In Wordpress for example, the default theme outputs published articles on the first page. If you have only one article it can be easily confused with the page of the article. So, this is up to the theme developer.
The approach in removing the Frontpage view can be good but then once again, we will have to remove the default front page option from the config since it will confuse the user and the installation tutorial should be modified to reflect the new approach.
For example:
1. Install Drupal (copy files, create database, run the install script);
2. Create some content;
3. Create a view (block) which will expose some teasers or content;
4. Add the block to the desired section of the page (options like restricting the block to only some content types or path or should be explained).
Since there is no step telling that you have to modify the "Default front page" option there is a smaller risk of making a mistake. It's simple, create a view block, post it and limit it to whatever you want.
Comment #37
jonathanshawSuggestion (following the line of @yoroy's #28):
Create a new block called "Welcome message"
Give it content "Welcome to $sitename. If you create content and check 'Show on frontpage' then it appears here."
Place block at top of frontpage
Advantages:
1) Solves the reported issue very strongly by making it very clear that this is the frontpage
2) Demonstrates the block system nicely
3) Could even be considered a feature for an unambitious site builder.
4) minimal change from current practice, achievable for 8.1
Comment #38
tkoleary CreditAttribution: tkoleary at Acquia commented+1 to that
Comment #39
yoroy CreditAttribution: yoroy commentedVery nice @jonathanjfshaw, seems like a good & lightweight solution indeed.
This could replace the "No front page content has been created yet." text that shows on clean installs now.
Comment #40
Sutharsan CreditAttribution: Sutharsan commentedNew idea: A region above the content region that holds two blocks side by side of 1. Welcome text; 2. Informational links to help, add content, etc. It provides information and visually distinguishes the front page.
+1 A simple block of welcome text. The block must be removed manually. It can solve the initial recognition of the front page, but once removed it brings back the initial problem.
+1 To combine the above it with a different front page design.
+1 Adding introductory content in a node. (Man, we discussed this at DrupalCon Szeged in 2008) It has the advantage that the first time user does not have to be exposed to the block system in an early stage (to remove the Welcome block). But it will probably take another 8 years to decide on the content :(
+1 ditching river of news and promoted to front page. It is old fashioned, and hardly any one uses the 'Promoted to front page' checkbox. If required, it can be re-created using a checkbox field. But this can be done in a follow-up issue too.
Comment #41
davidhernandezNot sure I agree with that. I use it all the time, especially with Views. But I do agree with getting rid of the homepage teaser list. We need a better way for people to create a custom homepage, which is what they usually want.
Comment #42
Anonymous (not verified) CreditAttribution: Anonymous commenteddavidhernandez The idea is that since the views module became part of core there is no need in having an extra field. The same behavior can be recreated. Since the views module is very powerful we should adapt to it. We shouldn't keep old features just for the sake of keeping them (it adds bloat).
It is possible to add a boolean field to any content and customize the text to anything you want. With the default "Promoted to front page" message isn't customizable out of box any way.
Comment #43
davidhernandezIt has nothing to do with Views. It is default construct of nodes. The homepage list just uses. Whether or not it should be a default is different discussion, but removing it would eliminate a user's ability to differentiate promoted content out of the box. It would be a tough sell to tell new users the first thing they need to learn is how to add fields to content types, and filters to Views, so they can control visibility.
Comment #44
tkoleary CreditAttribution: tkoleary at Acquia commented@Sutharsan
+1. The more example content the better.
Also let's table the idea of removing the front page content view or move to a new issue, I'm starting to think it's not really a solution to this stated problem.
Comment #45
jonathanshaw@tkoleary +1.
Let's define this issue as being about finding a small solution to the small confusion described in the IS. Let's say that bigger plans to re-envision the frontpage should be a separate issue.
We have 3 recently proposed solutions. We need to decide between. They both use demo content/configuration as the solution. They are:
- #28 style the frontpage differently
- #37 a welcome block placed at top of front page
- #40 a welcome page/article already promoted to the front page.
We can of course opt choose more than one of these.
#37 & #40 stop working once the sitebuilder removes them. That's a limitation of any demo content/config approach.
But they are very clear and strong solutions to the IS problem, whereas #28 styling would be subtler.
#37 has the advantage of demonstrating the block system, and possibly being a feature for some sitebuilders. It's disadvantage is the mirror - it creates more for other sitebuilders to undo.
Comment #46
Sutharsan CreditAttribution: Sutharsan commentedI agree to leave the bigger plans for a different issue.
I can't emphasize to keep the audience in mind we are making this change for. In my view, first time users probably in their first 4 hours, max 1st day, of using Drupal. And the original problem description:
The solution can also be rephrased as "Make a content page look different from the site's home page.". I'm no proposing a new solution direction here. Only want to focus on the cause: the user's confusion.
For this reason I argue for #28 (styling) and #40 (promoted sticky content). A recognizable difference between the front and content pages with minimal effort to remove the additional content. From my experience in teaching first time Drupal users, the block system is a significant hurdle, and for that reason I'd like to avoid it in the first hours of Drupal experience.
Comment #47
jonathanshaw@Sutharsan +1
I like your thinking.
I'm a little worried that #28 styling changes might be difficult to agree on, are relatively difficult to override, and therefore have quite a big impact outside of people affected by this issue. It all depends on what styling change we're talking about. Not much has been said about @yoroy's exact style proposal in #28.
For #40, let's start thinking about what we should say on the front page. Here's something to kick off discussion:
Content type: Basic page
Title: "Welcome to your Drupal site"
Body: "This is an example of a basic page. If you are on the frontpage of your site, you will see this page because has the option "Promote to front page" checked.
You can delete this page and create new content with "Promote to front page" checked, in which case you'll see your new content on the front page instead of this."
Comment #49
yoroy CreditAttribution: yoroy commentedComment #51
tkoleary CreditAttribution: tkoleary at Acquia commentedComment #52
owenpm3 CreditAttribution: owenpm3 at University of Colorado Boulder commentedWhat if we just explained to the user what Drupal is doing with their homepage? Replace "No front page content has been created yet" with something that quickly walks them through their homepage.
"This is your front page. It has been setup to publish articles that are "promoted to front page"--kind of like a stream of blog posts, or news items.
"If you'd like to change this to be a specific page--one that you have built--simply go to Basic Site Settings and change the path in "Front Page" to something other than /node. For example, if I built a page that had the path of /drupal-8, I would replace '/node' with '/drupal-8' and hit save configuration.
"If you need help on setting up your front page--go check out the Drupal User Guide: Designating a Front Page for your site."
It might also be good to add a page to the User Guide about the whole "promote to front page" process. Right now I can only find (so correct me if I'm wrong) third-party, non-drupal.org help with promoting an item to the front page.
Comment #55
ressa CreditAttribution: ressa at Ardea commentedGreat suggestions here for improving the experience for first time users! On a related note, I often find myself wanting to disable the Default front page, so I created this issue: #2910487: Add option Disable default front page. I think the people active here might have an opinion about that issue as well.