I've had yet more discussions in the office about best practices, this time referring to deploying to the 12 Hive.
Here are some hard and fast rules.
- Don't modify out of the box (OOTB) files
- There's always a way around modifying OOTB files...even if it does mean selling a extra step to the Business Users. Just explain the risks of making them!
- You can extend with new files in the HIVE in some cases
- In other cases you can add extend the User Interface Menu Items to add a function to do something similar to the OOTB functionality but jumps to a customised application page etc.
- If you really have to here's
Microsoft take on it
- Create new files in sub folders of each out of box folder eg. IMAGES
- This will make it easier to identify customisations
- Deploy new files via Solutions not manually!
- That way in source control you store what you're adding to the HIVE
- Also means that the process of deployment is repeatable in other environments and also in a standardised way that all SharePoint Consultants will understand
- STSDev makes it simple once you've created your Visual Studio project, just create the folder structure and Build the Project and the wsp will deploy it to the HIVE
- Prevents issues with upgrades to OOTB files
- You can't simply run SP1 upgrade and then re-run your solution as your code is branched from RTM and SP1 may have additional stuff you need to merge back in.
NOTE: My drawings will get better as I get used to my new Tablet ;-)
Phil Wicklund also gives some more detailed guidance on this.