[drupal-devel] [feature] Add path user/{uid}/content to get a listing of one user's nodes

Dries drupal-devel at drupal.org
Fri May 6 18:10:15 UTC 2005

Issue status update for http://drupal.org/node/22183

 Project:      Drupal
 Version:      cvs
 Component:    base system
 Category:     feature requests
 Priority:     normal
 Assigned to:  robertDouglass
 Reported by:  robertDouglass
 Updated by:   Dries
 Status:       patch

There are at least /4 formats/:

The teaser format (titles + author + teasers)
The tracker format (titles + author)
The block format (titles only)
The RSS format

There are at least /3 filter mechanisms/:

Filter by node type
Filter by category
Filter by user

So how about this format:



teaser -- shows all posts in teaser-format
teaser/type/blog -- shows all blogs in teaser-format
teaser/user/ -- shows all posts from user 
teaser/category/ -- show all posts in category  in teaser-format
track -- show all posts in tracker-format
track/type/blog -- show all blogs in tracker-format
track/category/ -- show all posts in category  in tracker-format
rss/category/ -- show all posts in category  in rss format
or even


What we need:

A function that takes a /filter URI/ as input, and that returns a valid
SQL query
A function that takes a /valid SQL query/ and a /format/ as input, and
that returns a chunk of HTML

Example usage:


  Want to create a block with a user's last forum topics?  Create a PHP
block with the following snippet:
  print format_nodes(query_nodes('type/forum/user/$user->uid'),

NOTE: we might have to refine the URL schema and the API but this would
come a long way.


Previous comments:

May 6, 2005 - 17:23 : robertDouglass

Attachment: http://drupal.org/files/issues/usernodes.patch.txt (2.27 KB)

This creates a new path user/{uid}/content which functions just like
node, except it returns only one user's nodes. Minimally intrusive.
Hopefully useful. Open to alternate suggestions on the path (should it
be a path in the node module?) and the page title (currently "user


May 6, 2005 - 17:34 : robertDouglass

Hmmm - not good. If the user doesn't have any nodes the default text for
a new site ("Welcome to your new Drupal-powered website. This message
...") pops up.

Setting to won't fix until I come up with a better solution.


May 6, 2005 - 17:35 : Dries

Where is it linked from?  How does it look like?  How does this interact
with the tracker?

Seen this: http://flickr.com/photos/factoryjoe/12517114/?


May 6, 2005 - 18:14 : robertDouglass

Attachment: http://drupal.org/files/issues/usernodes.patch2.txt (2.26 KB)

Ok, this is better. This adds a new function, user_nodes, and two new
1) user/{uid}/content
2) user/{uid}/content/feed

The first works and looks just like the current q=node path, the second
just like node/feed, both only showing the published content of the user


May 6, 2005 - 18:15 : robertDouglass

Dries, the tracker module shows a tabular view of basically the same
content. That's useful for tracking, but not for having a "front page"
view of one user's content. Tracker also doesn't offer a user feed,


May 6, 2005 - 18:31 : adrian

How does this differ from blog ?

In that any type of content is shown?  Isn't the idea to turn blog into
an extension of any node (kind of like the new events) ?


May 6, 2005 - 18:37 : robertDouglass

Yes, you're right, in which case it would make more sense to have this
method in user than rely on blog/{uid}. The blog=anynode solution makes
this functionality dependent on the blog module -my suggestion isn't
dependent on any other module. It lists all of a user's content. Seems
like the right place for a method like this is in the user.module, not
the blog module.

More information about the drupal-devel mailing list