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.
The empty text solution we added in #503868: No "empty text" Table Row For Empty Menus to the Menu item page should be treated as a pattern for all similar 'Empty text' situations. A patch will follow.
Comment | File | Size | Author |
---|---|---|---|
#8 | no_now.patch | 9.07 KB | keith.smith |
#4 | drupal_empty_text1.patch | 7.47 KB | Sutharsan |
#2 | no_bundles.png | 20.63 KB | kika |
#2 | feed_overview.png | 26.72 KB | kika |
#1 | drupal_empty_text.patch | 7.42 KB | Sutharsan |
Comments
Comment #1
Sutharsan CreditAttribution: Sutharsan commentedThe attached patch rolls out the pattern on vocabulary, taxonomy, contact category, content types, URL alias, forum, aggregator and triggers. Two screenshot attached for evaluation.
Comment #2
kika CreditAttribution: kika commented- in aggregator, one table field seems empty
- no fix for "no bundles available" when there is no content types
Comment #3
kika CreditAttribution: kika commentedForget bundles thing, it was my bad -- CCK UI installed, doh! I own a beer to Sutharsan.
Comment #4
Sutharsan CreditAttribution: Sutharsan commentedRevised patch fixes the feed page. The Content type page looks like this because you have installed CCK. This issue is for core only.
Comment #5
kika CreditAttribution: kika commentedWorks as advertised in all cases: taxo, path, content types, contact, forum, triggers, aggregator. Nice simple improvement.
Comment #6
webchickYay for consistency! Committed to HEAD.
We should document this in the module upgrade guide so that module developers will make this change and we can retain consistency. Marking needs work until this is done.
I'm curious, though; if the goal of UX is to remove
needlesswords, why the word "now" at the end of "Add X"? That seems superfluous to me.Comment #7
kika CreditAttribution: kika commented-1 on "now"
Comment #8
keith.smith CreditAttribution: keith.smith commentedAgreed. This is a really nice improvement, but here's a patch to drop the "now".
Comment #9
Bojhan CreditAttribution: Bojhan commented@webchick lol at the
needless.This is good.
Comment #10
webchickOk, committed "now" removal to HEAD. :) Steve Krug would be proud.
Back to "needs work" for documentation.
Comment #11
bergco CreditAttribution: bergco commentedI'll add the correct form to the screen text style guide. I uploaded the first version of the style guide to the documentation issue queue (http://drupal.org/node/504064), but I'll update it later this week and I'll put it in the handbook-section.
Comment #12
Gary Feldman CreditAttribution: Gary Feldman commentedThe word available has the wrong connotation for me. It suggests that items might have been available from some unnamed external source, but aren't. Particularly for something like forums, it suggests that they're there, but offline at the moment. The word I expect to see is defined, e.g. No terms defined.
But the "Omit unnecessary words" principle doesn't excuse bad grammar or incomplete sentences. A complete sentence would be There are no terms defined. This highlights that it's passive voice (or reflexive, for available, but that's a nit). More importantly, it's highly idiomatic. Even though it's simple, non-native speakers can still stumble over it.
So why not something that fixes all these problems: Get rid of the No whatever, and just say Add the first term (or first feed, first forum, etc.). By saying first, it's clear that the current count is zero. This eliminates an entire sentence, getting directly to the point of what to do next.
Comment #13
webchickGary, I didn't quite parse all of that (it's late here ;)). Could you do a "before" and "after" string so we can see your suggested improvements in context?
Comment #14
Gary Feldman CreditAttribution: Gary Feldman commentedCurrently there's one line that reads
My suggestion is that it just read
This way, it's one sentence instead of two, without sacrificing information. (Aside: The now feels right to me, but I can live without it.) If a screen shot would help, I'll try to get to it tomorrow.
Comment #15
Sutharsan CreditAttribution: Sutharsan commentedThe text 'Add category' was intentionally chosen to match the text of the tab. This give the user an indication that both links are pointing to the same place and perform the same action. I understand the problem of the word available but for the rest there is nothing incomplete or bad grammer with these sentences. And further having an explicit message 'No categories' is i.m.o. better than the implicit 'add first'.
Comment #16
Gary Feldman CreditAttribution: Gary Feldman commentedThat's a valid point about having the wording match the tab, though I'm not sure how important that is for a message that may only be seen once. However, it may also explain why the wording has fallen into the trap of computer short-speak. Fragments that are fine for tabs, menus, or even lists aren't appropriate for a prose context.
When I come across a fragment like No categories, with no context, I get stuck looking for the subject and verb. I can't tell whether it's a message meant for me as a user or an internal message, meant for a developer but leaking out to the user. I can't tell whether it's a normal situation or indicates an error somewhere, either in configuration or in something I did to get here. Does it mean no categories in the system, or no categories in my submission? It can get worse with other words. Suppose I write a module that manages networks or connections. If I see No connections, does that mean no connections defined in the database or that my router has gone bad?
For the sake of comparison, I looked at both the MySQL command line and phpMyAdmin, to see how they reported a query that has an empty result. At the command line, MySQL returns "Empty set". It's not great, but it's ok because command-line SQL is for developers, plus I know precisely what I did, and result sets are part of the jargon. On the other hand, phpMyAdmin says "MySQL returned an empty result set (i.e. zero rows)". It's a complete sentence (subject, verb, object), it makes it clear that the message pertains to MySQL and not anything that I did. (I can't emphasize this enough. New users blame themselves, and No is a blame word. Don't leave the cause of no up to the users' imaginations.)
I hate to carry on like this, but I fought this battle once, long before the web, when developers who learned by writing code on tiny machines for other technical people couldn't break those habits. There's a long history of computers issuing unreasonably terse messages, driven not by clarity but by the limits of 16K (yes, K) of main memory. Let's not repeat history.
(Aside: I just enabled forum on my testbed site, and it says "There are no existing containers or forums. Containers and forums may be added using the add container and add forum pages," which seems great to me. So now I'm confused as to the origin of the terse form.)
Comment #17
Bojhan CreditAttribution: Bojhan commentedSorry, but what are you suggesting?
Comment #18
bergco CreditAttribution: bergco commentedPattern added to Handbook, section User interface best practices http://drupal.org/node/501452.
Comment #19
jhodgdonwebchick in #6 marked this "needs documentation" and said it needed to be added to the module upgrade guide. However, looking at the patch in #4, I am not seeing any API change that needs to be reported to module maintainers... It sounds like more of a UI text standards change, asking developers, in the case that a table of content is empty (this is taken from #503868: No "empty text" Table Row For Empty Menus) to display:
- Empty text and 'call to action' link displayed in a table. The same kind of table used to display the content when available.
- No table headers
- Link consisting of the same text a used in the action tabs on the same page.
#18 above reported that this was added to the Handbook, but I' don't see it in User interface best practices http://drupal.org/node/501452
That seems like a good place to put this information. Any thoughts?
Comment #20
jhodgdonThe advice on what to do with empty tables has been added to the Tables section of http://drupal.org/node/501452
I don't think there is anything left to do on this issue.
Comment #22
kika CreditAttribution: kika commentedTime to resurface this old thread -- there are still some empty tables left what did not got proper empty text pattern treatment:
#1473198: Empty table pattern for "Edit [book's] order and titles" admin page
#1282156: Convert IP-blocking table to "Empty table pattern"
#1473214: Empty table pattern for "OpenID identities" user page
When those issues will be fixed this old fellow can rest again.
Comment #23
kika CreditAttribution: kika commentedReopeining as long as all empty tables are properly handled.
Comment #24
kika CreditAttribution: kika commentedThere is an ealier follow-up on #664394: Convert remaining tables to "Empty table pattern"
Comment #25
jhodgdonCan we consolidate on just one follow-up issue rather than two?
Comment #26
kika CreditAttribution: kika commentedMarked #664394: Convert remaining tables to "Empty table pattern" as dupe. This one contains more of the backstory (even somewhat open issues).
Comment #27
Devin Carlson CreditAttribution: Devin Carlson commentedAll remaining "empty text" issues have been committed to D8 and are also committed/RTBC for D7.