For our final CS project, we have been tasked with building a project management system for a large corporation (which the company wants us to use Drupal). So far we have a few entities created (project, request, and task). A project can have many tasks, and a project can only have one request attached (the request is created first, once approved, a project is created).
Since Drupal is really more of a content (blogs/comments/articles/pages) management system, it is difficult to create dynamic forms that allow showing tasks attached to a project with the ability to add tasks directly within the project "form". I guess this would kind of be a master/detail view.
How can I go about building these types of add/edit/details "forms"? My first two ideas are:
- Build custom add/edit/delete forms for each entity type
- Build a node-add-project.tpl.php, node-edit-project.tpl.php, etc... for each complex view required
The downside to this is that my fields in my forms are now hard-coded. One requirement is that this system must be dynamic so the end-user can add a field if they need to.
How can I go about this? Templates? Custom Forms?
By the way I have googled, and googled, and googled (probably 5-8 hours) of different things (master details, complex forms, complex entity relationship forms) to no avail.
I am aware of the nodereference and entity reference (and all other reference) types. But these only allow you to use a dropdown list, or a select list, etc...
EDIT:
It is looking like building the database with the Schema API, and utilizing the Form, Theme, and security APIs are going to be our best bet.
Here is a good read.