Relationships & site structuring

Events happening in the community are now at Drupal community events on www.drupal.org.
This group should probably have more organizers. See documentation on this recommendation.

The focus of this group is very broad in one sense (relationships between nodes, and between other elements, in Drupal), and yet it is very specific in another sense (metadata, tagging, hierarchical structuring, etc). This group exists to discuss the future (and the current state) of these things in Drupal.

Arto's picture

Drupalcon Boston 2008 mashup demo

This is the 5-minute "video from the future" demo presented by Dries in his State of Drupal keynote presentation at Drupalcon Boston 2008. The video demonstrates some of the mashup capabilities of an RDF and SPARQL-enabled Drupal as envisioned by Dries for the upcoming Drupal 7.x release. The version of the demo below includes the original narration by Ben Lavender (the audio from Dries's actual presentation is also available - the RDF material starts after the 52m:30s marker).

Only local images are allowed.

Read more
scor's picture

Drupal RDF Schema proposal

I'd like to share some quick thoughts on how Drupal Data could be described in RDF. The attached schema represents the mappings between the current Drupal data structure and the proposed RDF Schema, reusing existing ontologies such as Dublin Core, FOAF, SIOC and SKOS.

The green circles represent the Drupal objects (node, revision, user, role, term), with their equivalent RDF class. The rectangles are the values used in Drupal. It's important to differentiate a class from its actual instances (resources) which are each defined by a unique URI, see the examples below. This schema is meant to be simple, incomplete, and to show the main core features.
Comment and Node are 2 different elements in Drupal, they can be combined in the same Class with the recursive property sioc:has_reply (Comment as Node). Node and Revision objects are separate here as they are in the Drupal Data structure, but they could fundamentally be merged as well.

I presented SIOC at DrupalCon Barcelona, and showed how it can be used to describe online communities. The SIOC sioc:Item class which I used here as equivalent of a Node is a broad Class with many sub-types: AddressBook, AnnotationSet, AudioChannel, BookmarkFolder, MailingList, MessageBoard, BlogPost, BoardPost, WikiArticle... See the SIOC Types Module for more details.

Read more

RDF data standardization for Drupal

A number of projects are now working with RDF and the Semantic web.

They may not all share the same RDF store, but for data interchange, they should all share the same RDF structure. RSS, ATOM and OPML are standards, but RDF can be rich.

Here's a quick outline to get this page going:

Question 1:
Should we be considering OWL?

Read more
mjolley's picture

Not new to Drupal, art, or music, just this group

Hi all,

I just wanted to introduce myself. I've been an amateur musician for about 20 years and a professional programmer for about 10. I've been using Drupal for a year or so and have built a bunch of sites with it.

Now I'm building a site for my new band (I haven't been in a band since high school), and I've decided to do it with Drupal's multisite feature under a fresh install of a fresh domain. I'll be starting with some (or all) of the suggestions from http://groups.drupal.org/node/5167 and I'll try to report my findings here.

Read more
the greenman's picture

Relationship and Social network session at Drupalcon

I would be very interested in a workshop session at DrupalCon on relationships. I think there are many people working in this area, and I would really like to know where we all are.

I have been building some "social mapping" sites over the last year, and have many lessons to share. (http://nm-x.com and http://www.l-atlas.net are some examples) I would also like to perhaps find a group to collaborate on actually building the relationship api we have been talking about for who knows how long.

I registered a drupalcon session. Maybe, we can get it scheduled and have a chat ?

Read more
julma's picture

Object composition

How do you deal with object composition within drupal ?

Do you use Taxonomy + Panel + View ?

Do you use node reference with CCK node ?

Other solutions ?

What are your ways to define a container of other objects ?

Which drupal modules are involved in "object composition" nowadays ?

Object composition is about building "large" objects from "smaller" ones.
Here is a definition of object composition on wikipedia : http://en.wikipedia.org/wiki/Record_(computer_science)

Read more
jlmeredith's picture

Helpful hint to access control module users

I am reporting some findings that I hope will help others who decide to try any access control module currently available to Drupal 5.1 or earlier.

Read more
mki's picture

Relationships-categorization system wanted features

"Relationship" I understood as relationships between fields (nodes are many relationships, which are subject of more advanced process).

Wanted features:

  1. Powerful and without limitation thanks to the most abstract (see: "everything is a field", compare this to: Global CCK fields, A controversial(?) point: store translations as nodes).
  2. Build-in categorization features.
  3. Build-in views features (listing fields, not necessary nodes).
  4. Build-in menu features.
  5. Support for Semantic Web/Microformats/similar.

Observations about current situation:

Read more
mki's picture

Everything is a field

The most abstract concept in my opinion: "everything is a field" (fully atomic value) instead of "everything is a node". CCK is ardent proof that this idea could work. If that's the case, we can share the same field (as regards value), node is just a set of fields tie together by new relationships system, whereas content type is a predefined set of relationships between fields.

Read more
mfredrickson's picture

Please review #103171

Hello views aficionados. If anyone has the time, could you review the module posted in

http://drupal.org/node/103171

It's a module (that I will recode as a patch to views itself, eventually) that provides views within forms. These views can be used to select nodes. It includes exposed filters and a pager, and it generally behaves exactly the same as any other view would.

The module even includes a test harness where you can click a few buttons and test the new form element with any view on your website.

This is not production code, but I wanted to alert people early. Please do review this module and let us know what you think. It's a lot of code, and may require some changes to the underlying views implementation, so the more people who try it, break it, and suggest changes the better. Also, you can use this to start testing with your own modules.

Read more
eaton's picture

Proposed relationship API with real live code

i've had this sitting around in my sandbox for a while, but with the 4.8/5.0 dev cycle, I was too busy to do much with it. it's a proposed relationship API for inclusion into drupal's core.

Schema-wise, it works like this:

required fields:
rid -- the relationship id. just an auto-id to give us something concrete to connect to. term_node lacks this, and it's a PAIN.
source_nid
target_nid -- the two nodes being connected to each other
relationship_type -- a simple descriptor like 'child' for a book page or 'comment' for a comment or 'describes' for a taxonomy-term-as-a-node.

optional fields:

Read more
Max Bell's picture

Vaporware documentation... Hubris, anyone?

[ Edit ]
To make a long story short, it turns out that robroy was already well ahead of me in figuring out why the old documentation wasn't helping people and will update the documentation next week. Serious props to his chops for the effort.

If you're interested in how this is shaping up, take a look here.

[ / :) ]

Read more
gábor hojtsy's picture

A controversial(?) point: store translations as nodes

A striking similarity of all examined content translation modules is that they store translated content as separate nodes. Some of the vocal members of the community expressed their concern about this solution, refering to 'content duplication' as a problem. I suggest that we should store translations as their own nodes, but it does not mean we would not be able to solve any of the problems raised. Let's see what are the disadvantages of storing translations as nodes, and what do we get as an advantage.

Read more
Anonymous's picture

Podcasting

So, I have been doing my monthly round up of really cool sites, and have been coming across a number of candidate Web sites using podcasting and / or multimedia solutions.

While I am not ready to tack any modules onto Drupal.org, I wanted to write about some low cost ways podcasting and multimedia can be added to a campaign budget. As I see it, the main benefit of adding audio and video in a campaign context is it is a direct appeal from a candidate to potential voters and donors and really gives people a chance to present themselves in the best light. Every campaign I know of has video of speeches and debates that probably should be shown in some context, and there are a number of really cheap ways to pull all this information into a site without a lot of effort.

Read more
fago's picture

nodeprofile progress & views fusion

I've got a views integration for my nodeprofile modules working. This also works for general nodes, not only for nodeprofiles.

By doing the nodefamily views integration I ended in writing the module views_fusion:

With this module its possible to build views which display information of several nodes in one view - useful for tabular views.

This is achieved by defining multiple views, one for each node. Then the views fusion module is used to melt these views to a big one which contains all the information.

More information on this module

This module works great together with the nodefamily module, so it's possible to use nodefamily relations for joining the views/nodes. However I've written the module in a general way so that it's possible for other node relation modules to use it the same way.

Of course testers and feedback are welcome.. :)

Read more
fago's picture

nodeprofile modules - first code available

As I've already posted, I'm working on nodeprofiles as summer of code project - project page. Now I've some first code you might be interested to test.

I'll try to give you a short overview of the modules I built:

usernode.module - Automatically creation of usernodes
nodefamily.module - Builds nodefamilies based on content types and author information
nodeprofile.module - Marks content types as profiles

check the readme or my site for more detailed information.

Read more
robertdouglass's picture

Reposts of Grugnog's proposals - Relationships API

  • Standard set of hooks to allow modules to express relationships and query them
  • Requirements (based on discussions at OSCMS Vancouver 2006):
    • Pluggable frontends (ways of entering and viewing relationships). Experience has shown that there are many different ways relationships can be created and presented to users. See the 'Relationship UI' child page for a simple frontend.
    • Pluggable backends (ways of storing/retrieving or deriving relationship data). Experience has shown that some modules will need direct control of the relationship storage space. See the 'Network Relationships', 'Hierachical Relationships' and 'CiviCRM Relationships' child pages for example backends.
    • Extensible
    • Works with both 1-1 and 1-many relationships
    • Object neutral - can relate nodes, users, comments, relationships, URIs
    • Can retrieve direct relationships (e.g. friend - L1) as well as as indirect relationships (e.g. friend-of-a-friend - L2, friend-of-a-friend-of-a-friend - L3 etc)
    • Can retrieve relationships taking into account direction (e.g. only parents or only children) or ignoring direction (e.g. relatives)

    Additional requirements for discussion:

    • Each relationship type can be a node - easily extensible with metadata explaining what this relationship 'means'. Additionally - or alternatively - we could allow a simple keyword to define the relationship type.
    • Split off the API from the 'standard' backends and frontend to make it easier to maintain and add to core.
    • Direct (L1) relationships could be cached with the node - we could even 'grow' the node relationship cache for higher level relationships as they are requested, possibly with certain limits.
    • Relationships can be directional or non-directional - we could track this with the relationship type (i.e. if the relationship type has an 'inverse' then it is directional).
  • Potential use cases for relationships in Drupal
    • Node authorship (multiple authors!)
    • Taxonomy (which is relating to a point in a taxonomy tree, which can also be created using relationships)
    • Media or other attachments to a node
    • Web Links (relating to an external URI) - these could optionally be picked up from the node body and/or tracked using weblinks.module
    • Event and volunteer signups
    • Comment threading
    • Metadata in general
    • Tracking users buddies
    • Tracking user content likes/dislikes
    • Adding AI-like capabilities 'If you liked this, you'll love...'
    • Lastly, but certainly not least - the semantic web (RDF, FOAF...) revolution!
  • Potential DEP Dependencies:
    • Users, comments, taxonomy terms and attachments become nodes. Without this DEP the RAPI would be significantly more complex, because of the need for either a table mapping 'object-ids' to node, comment and user ids, or tracking the tables in question directly with each relationship
Read more
robertdouglass's picture

Category module question for Jaza - search results

I've got nodes categorized under multiple categories. Lets say one of those nodes has the keyword "Huba" and is categorized under A, B and C. In the search results for Huba, I'm getting links to nodes A, B and C, as well as for the node containing Huba. This doesn't seem right to me. Please explain. My mistake? Bug? Feature?

Read more
Development Seed's picture

Multiple Locations for Content Nodes

Boris suggested I cross-post this here (originally posted http://drupal.org/node/69957)

We are building out functionality to allow multiple locations associated with a content node. The idea is to make location nodes, changing nothing to the location module, but making a new module which will facilitate in the creation of and association between location nodes to their content nodes.

Only local images are allowed.

Read more
robertdouglass's picture

Time to move away from timestamp?

In my opinion, the use of timestamps for the representation of dates in Drupal core is problematic. It is fine for recording all events that happen now, and it is even fine for recording historical events, as long as they happened 1970 or later. They are utterly useless if you want to make a geneology site.

More disturbingly, the event module also relies on timestamps for representation of events. As far as I can tell, this is a huge limitation. The CCK date field uses the ISO 8601 standard which saves times as as string: 20060610T20:47:48+01:00. While there are lots of arguments about how the data should be persisted in the database, to me, it is clear that the ISO 8601 string is ideal for representing the date in Drupal code (unless you're doing archeology, then I've got no idea what you do with BC dates).

Read more
Subscribe with RSS Syndicate content

Relationships & site structuring

Group organizers

Group notifications

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

Hot content this week