+ Changed menu.inc to generate two separate lists instead of nested lists:
that seems to be the only alternative to get rid of absolute positioning.
+ Changed the tabs code to be more sexy and put the code in misc/drupal.css
so all themes are automagically updated.
CHANGES
-------
+ Introduced tabs. First, we extended the menu system to support tabs. Next, a tab was added for every link that was (1) an administrative action other than the implicit 'view' (2) relevant to that particular page only. This is illustrated by the fact that all tabs are verbs and that clicking a page's tab leads you to a subpage of that page.
+ Flattened the administration menu. The tabs helped simplify the navigation menu as I could separate 'actions' from 'navigation'. In addition, I removed the 'administer > configuration'-menu, renamed 'blocks' to 'sidebars' which I hope is a bit more descriptive, and made a couple more changes. Earlier, we already renamed 'taxonomy' to 'categorization' and we move 'statistics' under 'logs'.
+ Grouped settings. All settings have been grouped under 'administer > settings'.
TODO
----
+ Update core themes: only Xtemplate default supports tabs and even those look ugly. Need help.
+ Update contributed modules. The menu() hook changed drastically. Updating your code adhere the new menu() function should be 90% of the work. Moreover, ensure that your modue's admin links are still valid and that URLs to node get updated to the new scheme ('node/view/x' -> 'node/x').
+ Introduced two new functions:
1. form_set_error($name, $message): files an error against the form
element with the specified $name.
2. form_has_errors(): returns true if errors has been filed against
form elements.
+ Updated the form handling:
1. The form_ functions will add 'class="error"' when a form field
has been found to be erroneous.
2. The error message is passed to theme_form_element() when the
particular form field has been found to be erroneous.
+ I updated the user and profile module to take advantage of these new
functions.
+ IMPORTANT: the _user() hook changed. The 'validate' case should no
longer retun an error message when something goes wrong but should
set it with form_set_error().
configurable! Menu items can be disabled, repositioned, added and
so on.
Upgrading to requires you to run update.php.
This functionality depricates some of the 'navigation modules' in the
contributions repository. Furthermore, modules can now 'suggest'
menu items and site adminstrators can choose to enable them. Modules
in the contributions repository should try to take advantage of this.
+ Added a 'created' field to the users table and renamed the 'timestamp'
fied to 'changed' (cfr. node table). Update.php will try to determine
a 'created' timestamp for existing users.
+ The profile module no longer uses serialized data but has its own set
of tables. Known existing profile data is migrated by these new tables.
TODO: migrate the birthday field.
+ The profile fields can be grouped, and within each group, profile fields
can be sorted using weights.
+ The profile pages can be themed.
+ The profiles can be browsed based on certain properties/settings.
+ Change the _user hook: (i) 'private_view' and 'public_view' are merged
into 'view' as there are no private fields and (ii) 'edit_form' has
been renamed to 'edit'.
+ Avatar handling has been refactored and is now part of the user module.
The users table has a dedicted 'picture' field.
+ Simplified the way themes should use display/visualize pictures or
avatars.
+ Made it possible for administrators to replace or delete avatars.
+ ...
I hope this make for a good base to build on collectively.
* Code cleaning: simpler structures, removed some old leftovers, ...
* Clean URLs everywhere (the old mechanism was broken anyway). Had to get rid of 'inline voting' (i.e. voting with the sideblock and ending up on the same page), but that was a bit confusing anyway.
* Simplified submission form with form_group and streamlined choice mechanism.
* Improved bar rendering in pollresults for themes with avatars, like xtemplate.
- Added support for new tags:
+ Optinal feed image: <image> tag.
+ Dublin core dates: <dc:date> <dcterms:created>, <dcterms:issued>,
<dcterms:modified>.
- Usability improvements:
+ On the administration page, made the feed/bundle titles link
to the feeds/bundles' pages. On the feed/bundle's page, made
the 'Last updated' field link to the administration page.
+ Moved the 'syndication' menu one level down.
- Updated some content sensitive help.
- Further improved themeability.
- Fixed some invalid HTML.
+ Added some a new theme fucntions to the aggregator to make it possible to
theme the aggregator page.
+ Removed the <table> and much hardcoded CSS as well as theme("box")-es.
+ Added the aggregator's theme functions to Doxygen's themeable group.
+ Added breadcrumb trails to the aggregator pages.
+ Updated the core themes to take advantages of the improved themeability.
Screenshot:
http://buytaert.net/temporary/aggregator-makeover.jpg
Contributed themes and modules need to be updated:
- modules: status() is no more; use drupal_set_message() instead.
- themes: use drupal_get_message() to check for status messages and
visualize them.
- Usability improvements to the user module: removed some redundant menu
items by taking advantage of the column sorting, added status messages
and so on. Patch by Moshe plus some fixes.
- Made the profile module use the table() function. Patch by Moshe.
- Fixed breadcrumb spacing. Patch by Moshe.
- Fixed colspan problem with node overview table. Patch by Stefan.
- Fixed inconsistency with table sorting. Patch 0122 by Al.
+ Fixed CSS to use the same format as the rest of drupal.css.
+ Added fallback routine for menu icons.
+ Fixed anonymous users not seeing the menu.
+ Added proper access checks for admin and help menu items.
- Made sure the 'Topic' title is only shown above the topics, not the icons.
- Automatically shorten the username when it is too long. I implemented this
as part of format_name() and could therefore nuke some code in the
statistics module. This is change is somewhat experimental and I'm willing
to revert or change this if a number of people aren't too happy with this
behavior.
- Left align the dates and authors: makes it easier/faster to scan.
- Made the little tablesort arrows clickable.
PostgreSQL and MSSQL database scheme as well.
- Made sure the update script updates the correct tables when database
prefixing is enabled. Patch by Bart Jansens.
- Improved the breadcrumb navigation of the book and the forum module as per
Keith Instone's suggestions.
- Updated page titles (or block titles) and links to match. Suggested by
Keith Instone.
- Added missing 'thread' field to the comment table of the MySQL database scheme.
Fixes bug #2590.
Wittens.
- Renamed some column titles in the forum module as per Moshe's suggestion.
- Introduced a 'more-link' class to position the 'more' links. Removed
hard-coded markup from the modules.
- Fixed bug in import module: the theme functions called a non-existing
function.
2) Beautified the forum module views; rewritten to use the table() rendering functions, X HTML-ified the emitted code, added additional CSS tags, and removed hard-coded markup. This improves themeabality; it should be able to mimic the view and color scheme of, say, http://www.phpbb.com/.
3) Reorganized forms and links (interactive elements) to improve usability. Also ensured that the link names and page titles match.
4) Temporary removed container functionality: this simplified the work and eliminated some usability issues.
- Improvement: some small changes to the user module to ease translation and to make things slightly more consistent. This should be a better alternative for patch #54.
- Improvement: increase the maxlength of the node title. This should fix bug #2018 and #2176.