Consider the following scenario: CRM is being used as an application development platform where in multiple applications (CRM solutions) are being built across many development ORGs and these solutions will be ultimately hosted under one organization in a PROD org. The dev environment looks as follows:
1) An unmnanaged "Common" solution containing common entities,roles and other artifacts in an org called COMMON
2) Team A working on unmanaged Solution 1 in ORG 1 in which COMMON has been imported as a managed solution
3) Team B working on unmanaged Solution 2 in ORG 2 in which COMMON has been imported as a managed
solution
4) Team C working on unmanaged Solution 3 in ORG 3 in which COMMON has been imported as a managed solution
There is another called INTEGRATION which is intended for all applications(Solutions) to come to together as managed solutions
Questions:
1) Is it a good idea to have multiple applications developed in parallel in the same development org? For example would it make sense to have Team A & Team B share Org 1 while they are doing development on Solutions A & Solutions B respectively?
2) If any of the applications above need site map customizations should these customizations be made and included in the respective managed solutions before they are imported into INTEGRATION or should all site map customizatons be made in INTEGRATION and these customization in turn be exported out as a managed solution(containing just the sitemap) for importing into the PRODUCTION org eventually.
3) Solutions 1-3 have custom entities in their respective orgs and need to add privileges to these
entities (Read, Write etc.) for a role say "Role X" that is coming from the managed common
solution that is installed in their respective orgs. Should privileges to roles on entities be
granted and included as part of the respective managed solutions or should this provisioning also
be done in the INTEGRATION org?
Any guidance would be much appreciated.