I'm currently implementing a system where one can add certain entities to a repository with the added feature that at creation time of that asset, all other related assets have to be created too.
Eg: Add a Computer, and at the same time add it's components (CPU, Disk, Memory, ...).
Problem is the system is so flexible one could potentially end up adding a lot of entities at once. Say for example we add a Server. Suddenly we don't need to add 1 CPU but 4 and 8 modules of Memory, 4 harddisks, etc ... On top of that the harddisks also have different properties (2 SSD's and 2 7200rpm's). To make it even harder there is a possibility a "child entity" also has children (eg: a raid controller with harddisks attached to it)
From a data-entry point of view, how can I present this to the user in an understandable and easy to use way without building either a wizard with X steps where it's easy to get lost or build a form that scrolls down the page for 4 screens? Are there any proven methods for this problem interface wise?