Hi

I'm creating a site with multiple projects and all information is public access.
I was thinking about OG, but then it went too complicated, with too much things to remove, disable.
Structure:

Project1
|
|--Project 1 info
|--what the tasks
|--lorem ipsum

So what I need; Parent node with approx. 5 child nodes with clean urls(project1/info).

How is easiest or simplest or smartest way to do this?

Every project need own moderator who can edit project information. But I want to clearly say I don't want to use OG.

Comments

Sagar Ramgade’s picture

Hi,

You can try Refrences module (http://drupal.org/project/references), where parent node references child nodes. That's the ideal way to achieve this.

Regards
Sagar

Acquia certified Developer, Back end and Front specialist
Need help? Please use my contact form

zilla’s picture

wow, i'm doing something exactly like this right now in d7 (along with other features and content types) - here's a summary of what i did to make it ALL easy to maintain and manage over time. (btw, "clean URL" is a setting in admin)

first: i am using "entity api" and "entity references (includes a "field") - why? it's the future of node relationships on drupal. "node references" is being deprecated, the "relations" module is still too young to bet big on for a production site, and "entity api" is wildly flexible

step 1) created a content type called "project" and added assorted fields and details.

step 2) enable those "entity API' and "entity reference field" modules

now there's a fork in the road, you can choose this first route (involves ENTITY API) _or_ you could use another option that i'll get into below for "tasks"

step 3) (what i'm doing) create another content type like "project responses/reports/etc" (give it some name, in my case it's "project reports and updates"

step 4) when creating that "project update" content type, add a field for "entity reference" and select "autocomplete" as the widget type (in 'manage fields'), and be sure when the walk through screen pops up, you select the option to choose from "bundles" of type "project"

step 5) enable the default "view" for "back links" that you'll now see when you go into Views (btw, this also assumes you are using "Views Module"

step 6) in that back links view, set the "contextual filters" to look for "entity relations" (if you're unsure, because you'll see a few, select them all to begin with and then disable as you go along to fine tune) - also set to show as "menu tab" and on the path, it's the node/%/ (that 'percentage sign' is the argument that will pull the contextual filter and show the "back links" to the individual node (in this case, the "project") as a "tab" when viewing a project

IF all has gone well (because that step above is critical and i unfortunately did a crappy job explaining it), you will now be able to:
- create a project, fill out fields (e.g. "who is responsible for this project" etc)
- create a project update, and when filling that out user will see "relates to project:" and will start typing in name of a project, and selects project name, saves update
- now when viewing project, you will see a tab up top that says "relations" (or whatever you chose to call that tab) and when you click it, you'll see a list of the updates and links to them (and you can customize what displays on that page, and allow for filtering, or allow even more content types to "relate" to projects, including "users and user profiles"
- also, when viewing an "update" on a project, you'll see a link from that update TO the project right on the node itself (via that 'entity reference field"

...back to that fork in the road. if what i've describe above sounds like a nightmare, because it assumes knowledge of entity relationships and contextual filters, here's a more simple "views only" approach that i'm also using for just "tasks"

1) grab and enable the "flags" module (and make sure you have views enabled too
2) create a flag for *comments* (not nodes) called "project task" and in the additional text, pick your own display text (what the user actually sees when they click the flag, like "mark this as a task to be completed" and unflagging is "this task is complete"
3) go to views and create a 'page' and in the filters, select "content type: project, flags (has a flag - then pick that 'flag' called 'project task' - optionally add and configure the fields that will be shown (like 'summary of text, author, link to comment etc), give the page a name/path like "/tasks" and save the view

now, go to any project, and down in the comments field, add a comment that is a task (like "do this thing") and save it and you should see (after saving) a little flag that you can click to mark the comment as "mark this as a task to be completed"

now, you can add a link to that page you created in views (/tasks) and when you click it, you should be able to get to a quick list of all project tasks across all projects on the site, though you can expose a filter if you'd like to tie in quick sort capability

hmm, reading this over again and it's a bit confusing - assumes some real comprehension of views, flags, entities, etc - but in my own case, i needed robust project relationships across multiple content types, project reports and updates, as well as independent discussion around projects including task creation and follow up actions. i spent many weeks exploring ways to do this and wound up with a very robust version of what i've described above.

simnav’s picture

Can you please tell me the about step 5 where enable the default "view" for "back links" that you'll now see when you go into Views (btw, this also assumes you are using "Views Module". Actually i am new to drupal 7