+ Removed the "post content" permission and replaced it by more fine-grained permissions such as "maintain static pages", "maintain personal blog", "maintain stories", etc.
o Usability improvements to teasers:
+ Teaser forms are no more. Teasers are extracted automatically but can also be instructed using a delimiter "---". Furthermore, when a post it too short for a teaser, the user won't be bother with teaser stuff anymore.
+ Added an option to set the teaser length, or to disable teasers all together.
+ When previewing a post, both the short (if any) and the full version of a post are shown. This addresses a common complaint; for example, when writing a book page there was no way you could preview the short version of your post.
+ Forum posts can be teasered now. This is particularly helpful in the context of drupal.org where we promote forum topics.
o Bugfix: replaced all PHP short tags (<?) with long tags (<?php).
o Bugfix: removed hard-coded dependence on comment module.
o Bugfix: when the queue module was disabled, it was not possible to approve updated book pages.
o Bugfix: applied modified version of Marco's node_teaser() fix.
- Changed cache API.
- Fixed caching bug in comment.module. Odd this hasn't been reported yet.
- Fixed caching bug in forum.module.
- Fixed caching bug in system.module.
- Fixed caching bug in block.module.
- Simplified caching support in forum.module thanks to improved cache API.
- Adds more title info to each line in the block: now showing author and number of comments in a unified way accross all modules.
- Added pager support to blog module.
- Blog module now uses standard node view, not its own hack which is more theme friendly (http://www.drupal.org/node.php?id=133).
- Blog module now uses node_feed() function for making RSS feeds. since all feeds are now consolidated, a couple tweaks to node_feed() and format_rss_* would lead us to support new RSS formats easily.
- Fixed bugs where unpublished entries were displayed.
"This is a simple, generic pager for Drupal-CVS. It is designed to be
easily themeable and expandable. The code is highly-commented to
enhance readability."
"Pagers are constructed by combining the provided pieces (all of which
can be easily modified to display the text or image you prefer) into
your custom pager."
* Statistics module fixes by Jeremy:
- removed superfluous check for existence of watchdog()
- saving changes in admin page displays status and returns same page
- no longer return 1971/01/01 in "view statistics" table
- switched from "!=" to "<>" in SQL queries for ANSI-SQL compliance
- switched from "MAX(timestamp) as timestamp" to "MAX(timestamp) as
max_timestamp" moving towards ANSI-SQL compliance.
* Added a "theme_item_list" function to format itemized lists. Also
changed a couple of modules to take advantage of it. Makes for a
more consistent UI.
correctly. Patch by Stefan.
- Added missing t() functions and improved the %x directives for
better readability and to ease the process of translating your
site. Patches by Stefan.
- Made two small additions to the 'code-clean.sh' script; it will
now remove patch related junk.
NOTES:
- I removed the · related bits. Let's tackle these later on
in a separate patch after we got some sort of consensus.
- I removed the 'module_exist("drupal")' check in the user module;
I *think* it is incomplete and therefore incorrect.
- Stefan, try using quotes in your translations and check whether
everything still works. Example: translate the "Create account"
button to "Create \"haha\" account \'hihi\'" and see if you can
still create new accounts. Maybe automate this using a quick
hack in the locale module ...
+ Blocks are not longer called if not rendered: major performance
improvement.
+ Fixed some bugs (preview option was broken, path option was broken).
+ Removed "ascii"-type blocks.
+ Added permission to for "PHP blocks"
+ ...
NOTES:
+ You'll want to run "update.php":
ALTER TABLE blocks DROP remove;
ALTER TABLE blocks DROP name;
+ You'll want to update your custom modules as well as the modules in
the contrib repository. Block function should now read:
function *_block($op = "list", $delta = 0) {
if ($op == "list") {
return array of block infos
}
else {
return subject and content of $delta block
}
}
- removed admin options for queue and comment module if the modules are not
loaded.
- nodes are now auto promoted when queue module isn't enabled.
- moderation result block is now visible by the node author.
- fixed comment flat list view missing 1 comment.
- changed update.php around a bit.
* security check isn't in effect if the db hasn't been updated.
* instructions re-organized.
* fixed some minor updates.
- updated database.mysql done by UnConeD.
- changelog update.
that node to something that would not have passed the preview pages.
Patch by Revar:
"If you uploaded a valid file, and filled out the form right, you will
get a Submit button. The problem comes in when you choose a different
file to upload, and then click Submit. The filestore_save() function
cannot do proper validation and handling of the form data, as it only
returns a list of what node fields to save. On error, a node entry is
still created, but with only the nid field set. The user can't be
forced to fix their bad entry."
"Add a _form_validate() node hook to process and validate any form
results. That way even on Submit, the node code would check the
validity of the data, and if bad, it could drop you back to the preview
screen with the current bad data warnings. Have it return an array of
errors that can be passed in as $error to the _form() hook. If it
returns a null array, then there's no errors, and the submit can go
through."
- fixed access checks on the register form, do this before you enter the
_save function. If registrations are disabled the register link will
no longer show (again).
- changed » to », using the names of entities are better than
the numbers.
- fixed user information being set when account is registered (properly this
time, really!)
- reversed the if(!...) commit.
- node_add specifies more defaults.
- added link to blog entries from user page.
* fixed mails not being parsed properly.
* tracker now shows user name when you view your own recent
comments.
* link to submission queue now points to the right place.
* fixed jabber module.
* theme is now activated when changed.
- applied Gerhards coding style patch.
+ Changed the db_query() API.
+ Wrapped all links in l(), lm(), la(), ..., drupal_url() functions.
+ XHTML-ified some HTML.
+ Wrapped a lot of text in the administrative pages in a t()
function.
+ Replaced all $REQUEST_URI/$PATH_INFOs by request_uri().
+ Small bugfixes (eg. bug in book_export_html() and clean-ups (eg.
RSS code).
+ Fixed some bugs in the taxonomy module (eg. tree making bug), added
new functionality (eg. new APIs for use by other modules), included
Moshe's taxonomy extensions, and some documentation udpates.
+ ...
for the meta system. The patches add some extra functionality to the
comment system (for example, comments can be set read-only) and fix a
couple of small problems.
+ I integrated the required SQL updates from the varius *.mysql files
into the "update.php" script. Upgrading should be easy ...
+ I did not apply/commit the "user.diff" as requested by Marco ...
+ I didn't know what to do with "forum.module" and "forum2.module":
what do you want me to do with it Marco? Which one should go in?
+ Can we remove "node_index()" now; both from "node.module" and the
themes?
+ Thanks Marco!
Committing Changes by Moshe Weitzman:
- admin_user_account(), user_edit(), and user_view() no longer have any
hard code for authentication modules. instead authentication modules
implement the _user hook.
- fixed a couple 'help' typos.
- linked the 'REGISTER' text in the login block to the register page.
this page now advertises DA better if site employs DA.
- admins may now edit everything about a user account (was a feature
request).
- user #1 may now login immediately, in addition to receiving his
password via email.
Other changes:
- modules and themes are now enabled/disabled in the administrative /
settings / modules | themes pages. Requires SQL update and things must
be enabled before your site returns to normal. TODO: enable all
functionality. (For now just do UPDATE system SET status = 1;)
- removed $themes from conf.php.
- added a $theme->system() function where theme can specify settings.
All themes in the Drupal CVS have been updated to use this.
- added _system hook to modules. TODO: update modules to use this.
- changed strange use of sprintf to the usual strtr. The disadvantage of
sprintf is that it requires translations to keep the string order,
which may not be possible in all languages.
- an invalid/nonexisting theme in a user profile will now fallback to the
BaseTheme instead of crashing.
- added who is online block.
- made weblog module more configurable.
- users may now delete their own accounts (Feature #8)
- users may now request a password using email address *or* username.
formerly required both items to match an account which was onerous.
- the link to request a new password is now presented whenever a user
fails login.
- there is now a confirmation message after submitting edits to your
user information.
- error messages in user.module may now be stylized by themes.
- <hook>_form has a $param setting you can fill with form parameters.
- improved wording for a few config settings.
- fixed various non-coding standard things.
can jump directly to a certain date in the archives. Also made
the calendar link to itself such that it is self-contained.
- Code beautifications: quoted a lot of arrays, removed dead code
and simplified a few things.
- Replaced the Calendar class by one function "calendar_display":
using a class (or class instance, or object) doesn't make sense
in the archives' case.
- Renamed "calendar.module" to "archive.module".
- Fixed a /problem/ with node settings not always being saved like
expected.
- Reorganized the user menu: renamed a couple of links for clarity
and structure.
- Fixed a few typos.
+ Improved input filtering; this should make the news items look
more consistent in terms of mark-up.
+ Quoted all array indices: converted all instances of $foo[bar]
to $foo["bar"]. Made various other changes to make the import
module compliant with the coding style.
- theme.inc:
+ Fixed small XHTML glitch
- comment system:
+ Made it possible for users to edit their comments (when certain
criteria are matched).
+ Renamed the SQL table field "lid" to "nid" and updated the code
to reflect this change: this is a rather /annoying/ change that
has been asked for a few times. It will impact the contributed
BBS/forum modules and requires a tiny SQL update:
sql> ALTER TABLE comments CHANGE lid nid int(10) NOT NULL;
+ Moved most (all?) of the comment related logic from node.php to
comment.module where it belongs. This also marks a first step
towards removing/reducing "node.php".
+ Added a delete button to the comment admin form and made it so
that Drupal prompts for confirmation prior to deleting a comment
from the database. This behavior is similar to that of deleting
nodes.
+ Disabled comment moderation for now.
+ Some of the above changes will make it easier to integrate the
upcomcing mail-to-web and web-to-mail gateways. They are part
of a bigger plan. ;)
- node system:
+ Made it so that updating nodes (like for instance updating blog
entries) won't trigger the submission rate throttle.
+ Fixed a small glitch where a node's title wasn't always passed
to the $theme->header() function.
+ Made "node_array()" and "node_object()" more generic and named
them "object2array()" and "array2object()".
+ Moved most (all?) of the comment related logic from node.php to
comment.module where it belongs. This also marks a first step
towards removing/reducing "node.php".
- misc:
+ Applied three patches by Foxen. One to improve performance of
the book module, and two other patches to fix small glitches in
common.inc. Thanks Foxen!
+ made a small change in the node overview page in the admin section
such that it lists both new and updated pages by default.
+ reworked the filter-mechanism: it is not 100% finished yet but it
sure is taking shape.
+ Added (1) support for "PHP pages" (dynamic pages), and (2) made
it possible to link other node types into the book's tree/outline.
It works just fine, yet the only (obvious) downside of (2) is
that the navigation tree/links gets "interrupted" when you view
non-book pages in the book.
[SQL update required, see update.php]
+ Tidied up the book table.
[SQL update required, see update.php]
- various updates:
+ Fine-tuned the new node system.
+ Updated the inline/code documentation.
+ Improved teaser handling of all node types.
+ Made several small usability improvements to the node admin
pages.
- Fixed a glitch in the book overview in the admin section.
- When updating a book page through the admin section, no new revision
is created unless explictely specified.
- Improved the usability of the node and book pages a little.
- Bugfix: the "Edit comments" part of the node administration pages did not
display the correct comments.
- Bugfix: somethimes, update in a book page would mess up the book.
- Improvement: when "node administrators" update a book page through the
"update this book page"-link (like regular users do), their update will
be subject to moderation.
- Improvement: made some intermediate changes to the filter mechanism. Needs
more work.
- Made the /comment links/ jump to the comments instead of to the top
of the page.
- Replaced the "Add comment"-button by a "add new comment"-link.
(This should make UnConeD jump up and down of wild excitement.)
- Moved all comment related logic from theme.inc and node.module to
comment.inc and comment.module (where they belong).
- Added some links to ease the site's usability/navigation.
as this breaks revisions.
- modified link_node() to take a third parameter $main, which will be passed on
to _link hooks. This lets modules decide which links a node will get when
shown on the main page, or when not.
- updated themes to use the new syntax.
+ Made the filters work again!
+ There is one strange thing that I can't track down though: for some
reason, "^M" characters (?) are padded after newline ("\n" and / or
"\r") characters.
+ Added the "delete node"-link: apparently it got lost during the last
commit. Odd.
+ Changed "Edit node" to "Edit <node_name>" on the 'edit node'-page of
the admin section. (There a 4 "Node"s that still need to be removed
though.)
+ Updated the initial submission page (the old submit.php) to include
some descriptions.
+ Changed node_form() to use good ol' tables instead of div/CSS-tags.
+ Revised the "revision API": I think we have both an easy and powerful
API now that should make everyone happy.
+ Improved the usability of the rollback functionality a bit.
+ Removed the "view node" link from the "node overview" page in the
admin section and added a "delete node" link instead.
+ Added a few missing translations; there might be missing more
translations though.
- book.module:
+ Made the book module use the "revision API" instead of having it poke
and use the innards and underlying details of the revision system.
- queue.module:
+ Made the queue module use the improved revision number.
- module.inc:
+ Applied Moshe's patch: added more arguments to module_invoke()
- mail-to-sql.pl:
+ Added support for more header fields and for folded fields
Notes:
- no database updates required
+ fixed a typo in node_load(): it should be faster now
- book module:
+ removed the functions book_parent() and book_parent_query() as
they were no longer needed. Gerhard & co: this should fix the
occasional SQL errors you get, and should improve performance.
+ made the "next", "previous" and "up" links work correctly ...
+ XHTML-ified the code
+ added some missing translations
I'm working on the book module now to make it possible to update book
pages.
Drupal to display submission guidelines, or any other kind of explanation
such as "NO TEST POSTS", for example.
- Added node versioning: it is possible to create revisions, to view old
revisions and to roll-back to older revisions. You'll need to apply a
SQL update.
I'm going to work on the book module now, so I might be changing a few
things to enable collaborative, moderated revisions - but feel free to
send some first feedback, if you like.
- Added some configuration options which can be used to set the minimum
number of words a blog/story should consist of. Hopefully this will
be usefull to stop the (almost empty) test blogs.
- Various improvements:
+ Fine-tuned new node permission system.
+ Fine-tuned the functions in node.inc.
+ Fine-tuned some forms.
+ XHTML-ified some code.
+ introduced basic node permissions ("create", "delete", "update" and
"view") at the node level: it's up to the "<$node->type>_module" to
hide gory details (if any).
+ made the "blog it"-feature in the blog and import module work with
the new node system, in specific with the new centralized forms.
+ made it possible to update blogs.
+ made the page module work with the new node system.
+ various smaller improvements.
'updates/3.00-to.x.xx.mysql' for the required MySQL updates.
- Renamed some "author" fields to "uid" fields for sake of consistency.
- Fixed the coding style of some PHP files.
- Fixed the moderation queue (fairly untested though).
- Re-introduced the temporary SQL table in _node_get().
- Added a missing 'auto_increment' to 'updates/3.00-to-x.xx.mysql'.
range of databases including MySQL, PostgreSQL, MSSQL, and others.
For additional information and an 'how to upgrade', check the mails
sent to the mailing list.
- fixed small glitch in comment_del()
- changed the API of the form() function. The first parameter, the
"action"-attribute in the <form>-tag has been made optional. By
default, it will be set to "$REQUEST_URI".
Why? Because in 98% of the cases we would do:
global $REQUEST_URI;
$form = form($REQUEST_URI, $form_content);
while we can do:
$form = form($form_content);
now.
Update your modules (and sorry for the inconvenience)!
- fixed book.module not generating next/prev links properly
- re-added default node options to the admin page
- fixed a potential bug in node.php. Nodes with same titles were confusing it
at times, should fix the bug reported by Gerhard Killesreiter.
applying a patch. Mea culpa.
(reported by Axel)
- bugfix #2: incorrect deactivation of the delete link in node_links().
(patch by Axel)
- improvement: added confirmation page upon deletion of a node ("Do you
really want to delete this node?"), and removed the old and confusing
"node has to be blocked first".
(patch by Axel)
- added a links option so pages can be displayed on the links of the site in an
easy way. (Requires an SQL update.)
- made HTML and text type pages be $theme->box()ed again.
- made the page body hidden in a comment during editing, in case things
crash you should still be able to retrieve your code. Will keep working on a
better solution.
node.module
- made all node types be listed in the node listings.
+ added $theme->images()
- blog.module:
+ improved user-friendliness and rewrote most of the output routines
+ made quoted text /italic/ by default
+ integrated discussion system like it should
+ ...
- marvin.theme:
+ small visual improvements
+ Made '$na' translatable on popular demand.
- node.module:
+ replaced a confusing configuration description, as suggested by
Remco.
- statistics.module:
+ Added a 'most recent referers'-table sorted by timestamp.
- drupal.module:
+ Small update of the links.
- Fixed tiny quote problem in account.php.
- Fixed tiny bug in comment.inc.
- Fixed tiny bug in comment.module.
- Fixed tiny bug in meta.module.
- Simplified user_access() API.
- Rewrote link system: still needs fine-tuning and testing so don't
upgrade if you are running a production site. ;)
Updated all modules and themes to reflect this change. All other
themes and modules need updating too!
+ the node scheduler did not un-schedule a node!
- Fixed comment bugs (as a result of the formification):
+ no signatures where being attached to the comments.
+ check_input was used where is should have been check_output,
with broken filters as the immediate result.
(groups) and 'permissions' ... (inspired by Zope's system).
+ Once installed, click the help-link for more information.
+ See updates/2.00-to-x.xx.sql for the SQL updates.
- Modified loads of code to use our new access.module. The system
still has to mature though: new permissions have to be added and
existing permissions need stream-lining. Awaiting suggestions.
- As a direct result of the new access system, I had to rewrite the
way the top-level links in admin.php are rendered and displayed,
and xhtml-ified admin.php while I was at it.
TODO
- Home-brewed modules need updating, home-brewed themes not.
(Examples: file.module, trip_link.module)
- As soon we *finished* the refactoring of the user system (KJ has
been working on this refactoring already) we should consider to
embed this role and permission code into account.module ...
+ renamed 'overview' to 'preview' as suggested by Kristjan.
- meta.module:
+ renamed 'verify' to 'preview' to make it consistent with
block.module.
+ fixed comma-bug with attribute list reported by Kristjan.
- node.module:
+ fixed typo: "id$nid" should have been "id=$nid"
it wasn't a good idea to split them up in first place, and it turned
out to be quite hard to decide where to put some variables.
Also moved some variables around and even renamed a few variables
while doing so.
- Added a page_header() and page_footer() to all top-level .php pages.
- Changed meta.module, node.module and index.php to use comma-seperated
lists of attributes rather then "foo=a,bar=b" lists. This makes it a
a lot easier to use both modules. In addition, error handling can be
discarded as it can't be made any simpler, really ...
It fits rather nicely in Drupal's design so I'm getting more and more
happy with this meta.module (but we are not 100% there yet).
- node.module, node.inc:
+ Improved the node-related admin interface so that navigating back
and forth the administrative menus is made both easier and faster.
+ Removed some redundant database fields from the node table. See
2.00-to-x.xx.sql!
+ Added 2 news hooks called "node_insert" and "node_update". Just
like this is the case with the existing hook "node_delete" these
new hooks will automatically get called when a node has been
inserted or udpated. Note that this is an optional call-back that
only needs to be implemented when required. With the addition of
these two hooks, the node mechanism (version 1) is pretty well
completed.
- watchdog.module:
+ Fixed bug whit the 'regular messages' query in the watchdog.module.
- book.module:
+ Fixed bug in book.module: the 'parent' was not set properly when
updating a book page.
+ Made it so that older versions of a book page are automatically
reactived upon deletion of the most recent version, i.e. when
doing a version roll-back.
- comment.inc:
+ Undid Remco's patch to comment.inc; it does not work in some cases.
- conf.module:
+ Fine-tuned some of the options in conf.module a bit.
- marvin.theme:
+ Visual changes to make it look better on Windows browsers. Mind
to give some feedback on this?
+ Fixed 3 HTML typos/bugs.
+ XHTML-ified the theme at a best effort basis; I didn't carry the
XHTML specification with me.
+ Made use of the theme_slogan variable to display the site's slogan.
+ As soon we have at least one valid XHTML theme we can wonder on how
to integrate other XML namespaces (cfr. MathML story at drop.org).
- database.mysql:
+ Updated database.mysql so that it contains all the latest "database
patches".
'=' instead of ';' and ':'. It is considered to be more readable.
--> A _first_ step towards and improved index.module. Stay tuned
for more.
+ Important:
If you update from CVS - apply the queries in 2.00-to-x.xx.sql!
- Changed all 'attribute' to 'attributes'.
+ Important:
If you update from CVS - apply the queries in 2.00-to-x.xx.sql!
+ Important:
This might require to ieni-wieni small update to your custom
themes and/or node-related modules:
- themes: node_index($node->attribute) -> node_index($node)
- node modules: attribute -> attributes
update, you'll break your site as you need switching from structure
to index.module: so this can be considered an intermediate commit.
If you upgrade, and you are welcome to, just create a collection
called "section" (for now) and assign your nodes some attributes
in the described format.
Feedback and bugreports are welcomed. Questions will be answered.
CHANGES:
- comment system:
+ when replying to a node (rather then to a comment), that
node is displayed above the reply form.
+ when replying to a comment (rather then to a node), that
comment is displayd above the reply form.
- removed structure.inc, removed structure.module.
- node.inc:
+ added 2 new node functions called 'node_attribute_edit()' and
'node_attribute_save()' used to 'hook in' any indexing system
including your home-brewed stuff if you'd want to. Currently,
index.module is the facto default index system.
See story.module for usage.
- book.module, story.module, poll.module, page.module, forum.module:
+ added preview functionality to administration section (via node
module).
+ removed all references to structure.inc (category, topic).
- moderate.module:
+ removed all references to structure.inc (category, topic).
- book.module, story.module, page.module, forum.module:
+ increased the sizes of some textareas.
- submit.php:
+ removed all references to structure.inc (category, topic).
- marvin.theme:
+ removed dead code: function story() was depricated.
- unconed.theme:
+ removed hardcoded references to drop.org.
- marvin.theme, unconed.theme, jeroen.theme, yaroon.theme, example.theme:
+ removed all references to structure.inc (category, topic).
TODO:
- file.module, trip_link.module:
+ update preview functionality:
see story.module for example.
+ remove references to 'cid' and 'tid', use 'attribute' instead:
see story.module for example.
- extend and build upon index.module as well as making it configurable
- Improvement to node listings.
- Patched story.module to work with new node.module!
NOTE:
- UnConeD: poll.module needs updating. Let me know if you want me to do
it as I assume you will update it unless otherwise mentioned.
- Added improved node scheduler:
+ Automatically post node at date 'xx/xx/xx, xx:xx'.
+ Automatically queue node at date 'xx/xx/xx, xx:xx'.
+ Automatically dump node at date 'xx/xx/xx, xx:xx'.
Requires a database update, see ./updates/2.00-to-x.xx.sql!
- Refactored the admin interface of node.module. It is only a start
but it should show the direction we are going.
+ The new interface is easier to extend with new functionality
and operations. New "edit xxx" links can easily be added on
our way.
+ The new interface tries to cover all content- or node-related
functions. Thus making a special admin interface for each new
node type redundant. To demonstrate this, I removed the admin
hook from page.module and forum.module. This removes quite a
bit of logic from the invidual modules which is a good sign if
you ask me.
A centralized GUI or interface covering all node-related
administration should make Drupal easier to administer.
TODO:
- All node-related nodes need updating. This should be trivial and
I'll hapilly tackle this later tonight.
- There will be bugs, and I'm still working on this but I would like
to get some feedback (from Natrak et all) on both user-friendliness
and usability of this new interface. I'm still working on it as we
speak ...
structure.module either needs work, or replacement by index.module:
see "admin > node > node settings".
It will do for now and it can always made better when we can think
of a better solution; it is the best I could think of. Now what?
index.module or structure.module? I'm currently pro index.module.
- Drastically simplified "variable.inc".
- Removed most dependecies on structure.module from all content related
modules. Thus making our modules more modular. ;)
- Fixed calculation glitch in queue.module.
- Fixed potential function name clash/conflict in rating.module, and
simplified some code on my way.
- Started removing all global variables $status and $rstatus. Global
variables are "yucky" so in near future, we will replace all global
$status variables by a call to node_status(). Originally, $status
was only introduced as a temporary hack and nothing is as permanent
as a temporary hack so I took it out when still possible.
- Changed the watchdog messages a bit.
- Redid settings.module and even renamed it to conf.module.
* Settings are now grouped in basic categories like "system
settings", "module settings" and "filters".
* Added new settings to make Drupal easier to configure and
to make some aspects like the watchdog scale better.
- Renamed includes/settings.php to includes/conf.php.
- Added filter support to conf.module and introduced filter hooks so
modules can implement and export new filters. Example filters are
an HTML filter (implemented), a profanity filter, an url converter,
ASCII smileys to images filter and so on ...
- Reworked the check_* functions: user contributed content/input is
only verified and filtered once in its lifespan.
NOTES
- Altough this is a large commit, no database changes are required.
node-forms more secure. Updated "node.module" and "queue.module"
to work with the new API.
The upgrade script, 2.00-to-x.xx.php, is still broken and needs
fixing.
overhead, and a lot better (simpler) module API. I had to edit a
LOT of files to get this refactored but I'm sure it was worth the
effort.
For module writers / maintainers:
None of the hooks changed, so 95% of the old modules should still
work. You can remove some code instead as "$module = array(...)"
just became obsolete. Also - and let's thank God for this - the
global variable "$repository" has been eliminated to avoid modules
relying on, and poking in drupal's internal data structures. Take
a look at include/module.inc to investigate the details/changes.
- Improved design of the content modules "story", "book" and "node"
(to aid smooth integration of permisions + moderate.module). I'm
still working on the permissions but I got side tracked for which
I "Oops!".
- Added moderator permissions to nodes.
- Added moderator support to structure.module.
- Added new moderate.module.
- Renamed moderation.module to queue.module to avoid confusing.
Updated theme yaroon as it seems to have a hard-coded reference
to moderation.module.
- Polished on:
+ account.module: improved access list
+ fixed HTML typo in node.module
ACTIONS:
- Jeroen: can jeroen2.theme be removed from ./themes/yaroon?
CHANGES:
- Added "read" and "write" permissions into drupal but removed
it again because - when finished after 3 hours of work - it
was considered nothing but added complexity that didn't buy
us anything. :I
(I'll explain this in detail on the mailing list, I guess.)
- Added a very simple help.module to group all available
documentation on a single page.
- Fixed bug in node_control(), book.module: UnConeD forgot to
global $user when updating the combobox code.
- Removed static wishlist.module: in future, the wishlist can
be maintained as a page in our collaborative book.
- Revised most of settings.module: tidied up the code and the
descriptions to accompany the settings and introduced a new
"default maximum number of nodes to display on the main page"
variable.
- Revised most of comment.module: the administration interface
looks better now, integrated node permissions, and -finally-
made it possible to delete comments.
- Polished on:
+ account.module
+ structure.module
+ locale.module
+ module.module
+ forum.module
- Form-ified:
+ account.php
+ account.module
+ setting.module
+ cvs.module
+ submit.php
+ comment.module
+ forum.module
+ book.module
+ page.module
+ locale.module
- Updated CHANGELOG
INFO:
- Designed a "generic tracker system with optional backends"
on paper. The idea is to allow registered users to hot-list
certain topics, individual nodes or threads (comments) and
to "plug-in" output backends like - for instance - an e-mail
digest. The design requires "intelligent blocks" though.
TODO:
- I want to tidy up the headline.module and backend.class as
well as merge in headlineRSS10.module. Julian spent quite
some time working on headline.module but I'm not sure what
he changed and whether he'd contribute it back?
- Added new form_* functions to common.inc, used for building
forms: it should improve 'stability' (no form typos, every-
thing properly escaped/unescaped) and should help providing
a very consistent user interface (wrt forms).
- Adjusted node.module to use the new form functions.
(Can be used as an example.)
- Adjusted book.module to use the new form functions.
(Can be used as an example.)
- Merged function.inc into common.inc!
- Slowly removing all global $status and $rstatus variables:
use node_status() instead.
TODO:
- Apart from implementing the permission system, I'll spend
some time updating most modules today and tomorrow to use
the new form functions.
makes "promoting nodes" to the main page possible. Stories
and reviews could be promoted by default, but - on accasion
a good book entry could be manually promoted too. Thus all
existing content types can be shown on the main page, not
just stories.
Requires a SQL update, see 2.00-to-x.xx.sql!
- Addition: implemented "auto-post new submissions" feature
to disable or by-pass the moderation queue in addition to
"moderate new submissions".
TODO: admin moderation versus registered user moderation.
- Addition: added category and topic support to page.module.
a node per node basis, rather then on a category per category
basis. The default settings for each individual category can
be changed though.
Example: it can be setup so that - by default - all stories
posted to the category "article" will have comments enabled
but stories submitted to "announcement" not.
Different configuration schemes can easily be added later.
Requires a SQL update, see 2.00-to-x.xx.sql/database.mysql.
- Addition: made submit.php only use categories that users can
actually submit new content to.
Made it so that we can disable/enable comments on a category by category basis. In order to accomplish this I had to make a few (*temporary*) changes.
I moved all comment code from the "module level" (eg. story.module) to the "node level". It was nothing but the logical next step in nodifying drupal. This enables us to add comments to all existing content types including book entries. But also for book entries, this to can be toggled on and off. :-)
Moreover module writers don't have to worry about the complex comment logic: it is "abstracted" away. This implies that story.module got smaller, faster and easier to comprehend. :-)
In order to accomplish this, I had to update ALL THEMES, which I did - and on my way I updated Goofy, Oranzh and UnConeD - with the previous changes. All themes are up-to-date now! I also had to remove the [ reply to this story ] links, and temporally re-introcuded the "Add comment" button in the "Comment control". Tempora lly that is, UnConeD. ;)
I plan to upgrade drop.org either tommorow or wednesday so test away if you have some time to kill. ;)
Oh, I also fixed a few bugs and made various small improvements.
- slightly improved story.module, node.module and book.module
- made the "default theme" a setting from the setting page
- polished a bit on the export function: we can now export the
book or parts thereof through the following url:
1. http://drop.org/export/book/
(full book)
2. http://drop.org/export/book/nid
(where nid is the node id to start with)
The export routine demonstrates how it can be done yet the
output is too basic and can only improve over time.
- streamlined method invocation in node.inc
- added node_status() function to modules
- added NEW (mostly static) page module
- added NEW settings module
- removed ban.inc and ban.module and integrated it in account.module
under the name "access control" --> the ban code was not really up
to standard so this has now been dealt with. This refactoring and
reintegration cuts down the code size with 100 lines too. :-)
(The ban.module code was really old and it showed.)
- added node.module and made the other modules reuse some of this
code --> cut down the code size of modules by at least 100 lines
and adds stability.
- added a status() function to admin.php to display a conform status
message where appropriate. See admin.php for usage.
- removed $theme->control() and made comments.inc handle this itself
wrapped in a $theme->box(). No need to clutter the themes with
such complexity --> updated all themes already. :-)
- some small visual changes to some administration pages to be more
consistent across different modules.