I almost posted this in one of the support forums because the choice to use Drupal has already been made--by the customer. I've installed and even written a couple of minor modules, but have some questions as to whether or not I should continue down the road I've started. The reason I chose this forum was some of the other discussions already here seemed to cover the same type of question--should I use Drupal for this or that.
Well, the whole site in my case, is run by Drupal and the client wants to use Drupal's content management capabilities to import training courses. I was not consulted on this and in fact another programmer (who dropped out of the picture) got this jump-started nicely for me. But there's one section of the web site that is to be highly customized and it's UI is very clearly spelled out in a 33-page PDF. I've been looking at it and trying to learn the "Drupal" way of doing things underneath so I can use the APIs and keep it all generic, but I've started resorting to creating static pages and embedding my own PHP in order to get it to look and act like what has been requested.
For example, this site is to hold a list of trainers, volunteers, registered participants, and training courses. When a person signs up, they are supposed to specify (by marking a checkbox) if they are a trainer or volunteer. I've added a bunch of fields (including name, address, phone, etc) in the profile module, but they are on a separate tab as opposed to all fields (including username and password) being on the same page in a simple, concise format (labels on the left, fields on the right) that the eye can quickly scan down. Furthermore, when the user submits his/her information, I don't want that "trainer" or "volunteer" checkbox to show up on the profile edit screen--the user originally wanted a separate button to sign up for trainers and volunteers. They only need to specify it once, there's no need to ever change it, so I don't want the user to be able to change it. It's these type of things that a one-size-fits-all package just leaves the programmer frustrated and ready to pull his hair out!