…basically, the concept of customized vs. un-customized [object within SharePoint] isn’t 100% clear. When it comes to chrome/layout/CSS type files, it’s best to keep [things] un-customized for various reasons which I’ve read a ton of times, but I am wondering, when creating custom columns, custom web parts etc, are those “customized” in the same sense? Is it best to create custom columns and such on development then move them to production via feature rather than create them on the production separately? Or does it not make a difference.
My gut tells me it doesn’t make a difference, but I haven’t read anything that says so or understood the logic enough to make a strong conclusion.
and my answers:
Sort of. Most of the old concern about customizing pages away from the Site Collection came from the unghosting behavior of SharePoint 2003. IN SOME CASES, this *could* cause *some* performance issues. (Note how I am being forceful about this.) I think it became a sort of “urban myth”, as I’ve heard everyone talking about it for so long with no specific evidence. In SharePoint 2007, this isn’t really a concern. All pages live in the DB anyway, and I’ve never seen anyone demonstrate that there are any issues with customization.
What you shouldn’t do is change the “out of the box” files without knowing what you are doing. For instance, editing files in _layouts is usually unsafe, as a hotfix might clobber your changes. (My partner Pete Sterpe just published a blog post about one way to manage this, if you need to do it.) Generally speaking, anything in the file system should stay sacrosanct unless you understand the implications.
As for using features vs. the UI to add custom lists, etc., it’s mainly an issue of deployment. You want to use features if:
- You have written managed code which you want to be able to version, etc.
- You have a rigorous deployment process you must adhere to
- You want to deploy to many places, which would make doing it manually unsafe or tedious
What do you think? Am I missing the boat on any of this?