Things we want out of Drupal 7

Events happening in the community are now at Drupal community events on www.drupal.org.
sheena_d's picture

Hi Everyone,
webchick was really awesome yesterday to come by and talk to us for so long and encourage us to make a very detailed and well thought out list of the things we would like to see from Drupal 7. I thought I would take the initiative to start a thread to discuss all the issues, and keep track of what everyone wants and what the general consensus is about the different issues, and once we reach some sort of agreement I will start entering things into the issue queue. I think it is very important that we discuss these issues as a group before anything gets entered into the issue queue.

I say that we utilize the subject field of our comments for this discussion, make the subject field state the issue you are discussing and try to keep each comment related to one general issue, that will make things easier to keep track of. If any discussions get very involved or heated, I may move them out to a separate thread.

If anyone has notes from yesterday, please post them!

Here is a list of what I remember the most:

  • Ability to define menus in .info file
  • Core outputs little or no markup or CSS (or vice versa, we had some disagreement)
  • Extend Coder module to check for CSS namespaces based on the Drupal Manual of Style that D4D will eventually create

hmm, yeah, I have a bad memory :-P You guys get to it! :)

Comments

Many points of entry for contribution

jrabeemer's picture

There are many points of entry for designers/themers/IA/front-end coder people to get involved in Drupal 7.

If you are a:

Themer/Front-end coder

  1. Help submit patches & close issues for CSS bugs in core. I find a lot of these just testing D7. A lot of new features are being built fast & furiously and bugs creep up easily.
  2. Help rip out Chameleon, Bluemarine and Marvin themes and move them to contrib themes. They are mostly table-based themes and look dated. They are not pretty, don't represent best practices and the design community can do much better.
  3. Help get a new default theme into Drupal 7. It needs to use validated CSS standards, table-less design and clean XHTML code.
  4. Help submit patches & close issues to contrib themes like Zen.
  5. Test patches for jQuery. A lot of dynamic DHTML/AJAX features are being added. A lot of testing has to be done for cross-browser compatibility. This is hard and requires attention to detail. Also, occasionally the jQuery library gets updated and requires testing to upgrade to the latest version.

Designer

  1. Design a new, sexy theme and get a themer to code it. Then get it into contrib themes for others to use. A place to start and get a feel of what's out there: http://drupal.org/node/196218
  2. It bears repeating again. Help get a new default theme into Drupal 7. Garland is getting old and there have been many proposals to get a new default theme. http://groups.drupal.org/node/16200

UX/Information Architects

  1. Usability is tough and there's a lot of debate as to how to rearrange Drupal's navigation and layout for the better. Coders aren't IAs and if you've ever questioned why something was placed in Drupal, now's your chance to card sort, user test, eye-track your way to better UI and architecture.
  2. Help Yoroy and others in the UX team design new core UI. A lot of new features are being designed and mocked up as we all saw during the usability session at DrupalCon.
  3. Be a part of the usability testing at http://www.drupalusability.org/ There's a lot of bugs filed that need serious thought and design. Usability is tough. Dries delayed the release of Drupal 7 because of the usability problems in core. Be a part of the discussion!

If you can write well or have the patience to answer questions:

  1. Contribute to the documentation handbook on drupal.org Addi has given access to post to any page in docs. If you feel like writing a how-to, FAQ or guide related to theming or design, feel free to post there.
mason@thecodingdesigner.com's picture

Let's keep that source code clean, folks!

Give the themer more control to add wrapper and nested tags, either in the admin ui or as preprocess functions. Or both! The point is that the front end people should have control over the final markup.

Which leads me to my next point...

--
d.o: canarymason
twitter @canarymason

--
d.o: canarymason
twitter @canarymason

Well, maybe *some* unnecessary nested divs

modulist's picture

They come in handy when you're tying to build a an inline table of floating elements. IE6 doesn't support display:inline table, and IE 7 doubles up margins and padding when using the float: attribute.

<sigh>

That's about the only time when the whole list-item > content > content-inner parade is useful.

@modulist

They are useful sometimes, but

mason@thecodingdesigner.com's picture

They are useful sometimes, but I'd prefer to add them as necessary via a preprocess function or tpl.php. So much cleaner than adding them "just in case"

--
d.o: canarymason
twitter @canarymason

--
d.o: canarymason
twitter @canarymason

total control over class/ID names

mason@thecodingdesigner.com's picture

Let's bring all classnames into the theme layer. This will give those of us who know the context of each tag give it a semantic name that matches that context. Then we'll have cleaner html that is smaller and can be read by humans.

The existing class/idnames can still exist, but their implementation will be in the hands of the themer. Base themes for beginner/intermediate themers can use them by default, but advanced themers will have the power they need to make their markup kick ass.

--
d.o: canarymason
twitter @canarymason

--
d.o: canarymason
twitter @canarymason

mason@thecodingdesigner.com's picture

Ability to set classnames from the admin interface.
This could be a form element when creating a block, content type, node, menu, etc that let's users with the correct permissions override or add to the default classnames for the bit they're creating.

Better default classnames
I'd like to see a hyphenated version of the block, form, node, etc title be the first suggested classname. That could really help add some automatic semantic relevance to the classes, for the masses.
as as
Let's not overlook menu items! This would really help us target specific menu items in context. it would be sooo much better to target a menu item classed as "get-involved", instead of something like "

--
d.o: canarymason
twitter @canarymason

--
d.o: canarymason
twitter @canarymason

re: total control over class/ID names

sheena_d's picture

I think this is all good stuff!

I think the Better default classnames should definitely be influenced by the Manual of Style we eventually create; it will be a guide to developers when writing all markup for Core.

I think we should categorize the specific class names for menu items under changes to the Menu system output.

The semantic classnames are a good idea, but...

modulist's picture

would they egt in the way of portability? I fully agree that better default classnames are the way to go.

Perhaps they should be established by the CSS Style Committee that puts out the CSS Manual of Style ;-)

@modulist

@modulist

I don't want to remove the

mason@thecodingdesigner.com's picture

I don't want to remove the automatic classnames from the available set of classes, I'd like all automatic classes to become optional. If we have the ability to use a semantic auto-class, a freetext custom class, and a machine-generated autoclass in any combination there should be enough options for all of us. Your class attribute can be as long or short as you like.

--
d.o: canarymason
twitter @canarymason

--
d.o: canarymason
twitter @canarymason

We should start to give examples or prototype

wildfeed's picture

We could choose a theme and do a teardown to give an example of what our intent is.

By defining classes and id's and giving them semantic reference we can build the foundation for a simple base theme.

We must also consult developers familiar with SEO because crawlers use the markup styles to recognize titles.

Any suggestions on a theme to teardown?

Just a quick reminder...

webchick's picture

Once you folks have this list whittled down to some actionable items, you should:

a) Make issues for those in the "Drupal" issue queue at http://drupal.org/node/add/project-issue/drupal. Try to make the description nice and clear in terms of what you're trying to do, and make each issue as fine-grained as possible so it doesn't diverge into lots of discussion (for example, "Fix non-semantic class names in Drupal" (good!) vs. "Make CSS in Drupal suck less" (bad!)) Make sure to tag these issues with something consistent (I think in IRC "drupaldesign" was discussed, but feel free to make that whatever you'd like).

b) Edit http://drupal.org/node/394652 to add them (use the [#XXXX] syntax, like [#394652] to make a nice link with status colouring). This page then effectively acts as the design team's "action list" for Drupal 7 (and beyond) and makes a handy place to point people who weren't in the room the day we discussed all of this but still have a major desire to see the "designer experience" for Drupal 7 improved. Also link any tag(s) that you come up with to categorize your issues so that we can continue to use those even for more minor issues.

c) Review, review, review. While comments like "Looks good" and "+1" show that there is general consensus in a given idea, the way to get changes get into Drupal 7 is to illustrate that a patch has been closely inspected by at least 2-3 people. So give detailed reviews that explain what the problem was that existed before, why the code is better now than it was, what things you tried out to test that it's working as intended, and so on. There is some info (probably way too much :P) on reviewing patches at http://drupal.org/patch/review about this.

http://drupal.org/node/28245 gives a pretty decent overview of the process, and there are also some video resources under http://drupal.org/node/128758. As always, I'm around in #drupal basically all the time, and there are over 300 other people in there who can help you get set up with a development environment if you get stuck.

Design 4 Drupal

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week