Hello, Here ia a question that may not have only one correct answer, but I hope you will try to give me your answer still.
How to organize your software in proper version control structure? Background: - We are a small company <20 employees to whom this concerns, so expenses are a concern. - We do straight sales, not OEM sales. So our products are often more of product frameworks. There is customization always to each customer. - Our solutions are more of GUI solutions not server solutions. - You can assume that we use Struts, maybe with tiling or XML. - For now we are using MS Visual SourceSafe and JSP without EJB. Component based model seems more attractive due to modular design, but we have hard time to find solutions to problems that arise when components go to the GUI layer also. We would need several Web Archive (WAR) structures, one for each GUI component. But using several WAR's might cause problems with application servers (shared session etc) and would cause problems with GUI tailoring: same GUI lookout for all components. With simple model we could organize projects, products and common library so that GUI customization would be more advanced, thanks to tiling. But then by default it would be easier to copy all standard library functionality to all products & projects so there would be unused code. Here are two alternatives what we thought of: Common to both solutions ------------------------ (root)/ products/ product1/ <web-application-project> product2/ <web-application-project> ... projects/ customer1/ project A/ <web-application-project> ... DoneSolutions/ (testing & demo applications) demo A/ <web-application-project> treetest <web-application-project> ... Component based model --------------------- (root)/ components/ tree/ tree component <jar-project> doc/ tree documentation cache/ cache component <jar-project> doc/ tree documentation ... templates/ empty-webapp/ <template directory structure for web applications> empty-jarcomponent/ <template directory structure for jar components> ... No Web archive in the standard library. Simple model --------------------- (root)/ stdlib/ <web-application-project> common to all standard library features install/ SQL scripts, server.xml additions src/ com.done.tree tree component com.done.cache cache component doc/ common to all standard library features No individual components or only very few components with the structure above. Thank you in advance for any comments or votes. -- Timo Riikonen [EMAIL PROTECTED] -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>