Can Drupal do this data-oriented application?

kgg - March 30, 2009 - 01:40

Hello,

I am looking to do a web site, but don't know if Drupal can do it... :-}

The task is to create a parents and friends contact list for a school. A user logging in would have family contact information (house address, phone as well as phone and email for up to 2 people, normally mother and father). They would then have zero or more pieces of child information (name, year, class, possibly more). From those two lists, I want to create class contact lists for the classes in the year(s) that the family has students in.

For example, say a user has a child in 4a: year 4, class a. On logging in, they should be able to bring up a list with one row for each child in 4a which contains the child's name plus their address plus their parent contact information. They should also be able to bring up contact lists for 4b and 4c, but not other years.

Obviously, this is simply a database join plus permissions. Trouble is, I have no idea how to do this in Drupal, nor any idea about where to start!

Could you give me any pointers, suggestions etc, or point me in the direction of modules that I would use to accomplish this?

Thank you very much in advance!!!

Karl

Can Drupal do this data-oriented application?

petersim - March 30, 2009 - 02:31

Drupal could probably do what you a considering, but it may not be a good idea.

The place to start would be with the user profiles module. Each parent would register as a user. You would add fields to the user profile for address, names and ages of children etc. Then you could use Views to pull up the required information from each profile. The problem is that Drupal is not designed for this type of application and you would likely end up with a very inefficient database and query structure. You would probably be better off creating your own database application or looking for a dedicated program that does what you want.

_

WorldFallz - March 30, 2009 - 11:22

I'm not a dba so I can't speak to the efficiency of drupal's db, but with companies like Sony using it for sites like myplay.com, I have to think it can't be that bad.

In any case, I would do this with drupal rather than code it manually no question. As the other poster said, start with profiles. However, you might want to look at the content_profile module rather than the core profile module (which opens up the full power of cck for your profiles). You can then investigate the location and possibly gmap modules for the location information.

There's a couple of ways I can think of to handle the parent-child connection. You could make a content type for "child" and use a nodereference field on the content_profile profile to connect parents to children. If children will also users, you could use the user_relationships module to make the connection. There's also several node relationship modules you may wish to look at (node2node, relativity, nodehierarchy, etc).

For permissioning, you'll probably want to look at the taxonony_access or tac_lite modules.

_
Don't be a Help Vampire - read and abide the forum guidelines.
If you find my assistance useful, please pay it forward to your fellow drupalers.

Thank you very much

kgg - March 31, 2009 - 03:01

Thank you very much guys!

Looks like I have some reading to do...

Regards,

Karl

 
 

Drupal is a registered trademark of Dries Buytaert.