I apologise if this is already a feature but I can't find it anywhere by searching for 'associate nodes' and other such search terms on this site.

I've recently developed from scratch the CMS for:
http://www.globalpublicmedia.com/

I'm considering ditching my proprietory CMS and using Drupal instead. But from my testing, there's one key feature it doesn't seem able to do: associating nodes/stories with each other.

Go to page:
http://www.globalpublicmedia.com/people/colin_campbell

In *my CMS*, the site is setup with 'sections' such as 'people' and 'segments' such as 'colin_campbell' which is the page we're on. Individual 'topics' are simply a special kind of 'segment' which belong to the section 'Topics'. In this example, 'colin_campbell' belongs to the 'people' section.

In my taxonomy, each segment belongs to a section. But most importantly, each segment can also have n number of parents and n number of children. These parents and children are other *segments*.

e.g. on the page linked to above, it says 'This page is part of - Topics: natural gas; Topics: oil'. In this case, The segment 'colin_campbell' is part of the 'people' section (which are dealt with in a special way on the 'people' page) but also a child to two other segments: oil and natural gas.

You'll see there are also six children for 'colin_campbell'. Again, these are simply segments.

So... is there any way to currently set this up in Drupal, or will I have to develop a module myself? If so, can anyone give me any pointers/email me their IM screenname or email address so I can have them to hand in case I run into difficulties?

Basically what I need is to setup n chlidren nodes and n parent nodes for each node, and be able to have those listed on that nodes page as 'this page belongs to' and 'content related to [this node]'

Or should I just stick to continuing the development my own proprietory system?

Contact me at http://www.jakeg.co.uk/contact

Regards,

Jake Gordon

Comments

jakeg’s picture

I'm taking the liberty of bumping this topic back up because its so important to me. Before I have some direction with this my work with drupal is stalled.

Jake.

Jaza’s picture

As I understand it, you want any page on your site to be able to have both parent(s) and child(ren) pages. Unfortunately, although Drupal handles parents very well, it doesn't do such a good job with children: using just the base (4.5.x) install, it is possible to make a node the child of one or more taxonomy terms, but not to make one node the children of other nodes. This is a shortcoming of Drupal, and one that has caused me much frustration in my current development of a new Drupal site.

Your easiest solution would be to enable book.module (of which that page is an example), and to make all your pages part of a massive book hierarchy. Every node that you add to a book becomes a 'page' of the book, and can have one parent page and many children pages. However, book pages cannot have multiple parent pages, and the really bad thing about them is that you cannot classify them under any taxonomy! (As far as I know, anyway... I have avoided book.module for this reason, so I have no experience with it... also, I believe that you could use taxonomy on book pages in previous versions, but you can't anymore).

The way I get around it, is to use taxonomy_context.module to let me give each term a long description, and also to generate proper hierarchical breadcrumbs. That lets me have nodes with multiple parents, and also lets me give the parents page-or-more long descriptions, making them virtually 'nodes' as well (except you can't comment on them, because they're not really nodes, they're terms).

I haven't bothered working out how to make one node the parent of others (apart from by using book.module). However, I have heard that there is a series.module which lets you group several nodes into a 'series' (designed for articles that span several nodes, e.g. parts 1-4 of an online tutorial). Series.module will - for each node in the series - put links to every other node in the same series at the bottom of the page. That should take care of your 'content related to [this node]' requirement. It turns the nodes into siblings - rather than parents - of each other - but from the examples you've given, you don't need any more than that.

Jeremy Epstein
www.greenash.net.au (currently being drupalised: nearly done)

Jeremy Epstein - GreenAsh

jakeg’s picture

Thanks Jeremy. From what you say, it doesn't sound like the ideal functionality I'm after is really ready yet. I'll try the ideas you suggest, and if they don't work then when I get a chance I'll look at the underlying code and see what I can do. I'm sure I can just add it as an add-on module (one which adds a new db table, mind - with parent_node and child_node columns), and if I do I'll obviously feed it back into the community.

If I do do this, has anyone else already started such a module or want to work/help out with it?

Jake
http://www.jakeg.co.uk/contact

moshe weitzman’s picture

Your requirement isn't especially well suited to current Drupal. You have a couple options:

1. Expand the book.module so that a given node can appear in multiple places at the same time. That gives you multiple children and multiple parents. See http://drupal.org/node/5901

2. Ditch nodes and noly use taxonomy terms for your content. This is pretty radical, but if you are the sole author it might work. Taxonomy terms can have multiple parents and multiple children. You will probably have to write a module to display the info as you wish but there are lots of taxonomy browsing modules to copy from. I've never tried a site like this, but it seems plausible.

nedjo’s picture

... on node relationships, see http://drupal.org/node/13625.