Developer productivity tips and tools
From WSSWiki
This page is designed to provide resources so that developers working with WSS or MOSS 2007 can work more efficiently. Its target audience is anyone interested in becoming more productive in how they interact with SharePoint, although some emphasis is put on developers who are new to the system.
Contents |
[edit] Productivity stumbling blocks
- Error messages can be cryptic.
- Code interaction methods (features, etc) require an adjustment in thinking.
- There are many tools and methods to accomplish goals.
- Some tools do not solve all problems (Ex: Issues with SmartPart and caching).
- It's easy to lose perspective without understanding the high-level architecture.
- Some terms are used inconsistently (Ex: Site versus Site Collection).
- Some terms require definitions (Ex: Site versus Web).
- Set up and maintenance is a server admin-centric task, but a developer needs to know about it.
- Deployment can be difficult.
- There is too much community information to keep on top of it all.
[edit] Tips & tricks
- "12 Hive" refers to the root directory in which the SharePoint web application resides. It is typically located on C:\Program Files\Common Files\Microsoft Shared\web server extensions\12.
- Create a link to the "12 hive" where SharePoint files reside and save it to your quick launch bar or somewhere else readily accessible.
- An "out of memory" exception is likely an issue caused by failure to dispose of objects such as SPSite and SPWeb properly (use "using" statements in C# and VB.NET)[1].
- Some SharePoint components are XML-based or information can be gleaned about objects using Reflector[2] on the SharePoint DLL's.
- Developers should consider SharePoint Designer as an enhanced version of FrontPage. It is an end user customization tool.
- It is possible to disable SharePoint designer so end users can't cause pages to break.
- When pages are modified with SharePoint designer, subsequent calls to the page come from the database rather than the file system (which has major performance implications).
- Larger implementations require a concerted effort around governance (deciding who updates and changes the sites).
- It is very likely that end users will be able to completely break implementations if they are allowed to use SharePoint designer.
- Use asynchronous calls when possible to avoid locking.
- When changing style elements ("branding"), keep in mind that there are multiple levels of style. Main pages and administrative pages, for example, are affected by different CSS styles, and might handle the same style change differently.
- Treat the core.css and other style sheets like the Windows registry. Make a backup copy before every change and test small numbers of changes at a time. Errors in this file and others can render a site unreadable.
- Cryptic error messages can have additional feedback data stored within the LOGS directory of the "12 hive".
- If you use the commandline tool stsadm.exe, it helps to add a reference in your system environment variables. On Windows 2003, select Start->Control Panel->System, choose the Advanted tab and click Environment variables. In the System variables section scroll down to PATH and click Edit. Scroll the end and ensure there is a semicolon after the last entry, and add "c:\program files\Common Files\microsoft shared\web server extensions\60\bin\". Now close any command prompt windows and reopen. You should now be able to access stsadm.exe from anywhere.
[edit] Applications and Tools
A SharePoint developer will probably want to use a few third-party tools to more efficiently deal with the SharePoint development environment. Links are available on del.icio.us, marked with the tag "sharepoint-dev-productivity". [1]
- A utility to "warm up" your web server so that the pages serve up quickly the first time you visit them.
- Tools for creating projects such as Visual Studio Extensions for SharePoint, or Ted Pattison's excellent tool for this purpose, STSDEV [2].
- A log viewer such as SPLogViewer.
- An IIS and application manipulation utility.
[edit] Resources
There are several links on the social bookmarking site del.icio.us related to SharePoint developer productivity. They use the tag "sharepoint-dev-productivity" [3]. In order to not have to keep links up-to-date in multiple places, that link site is the one of record.
A few links, however, prove to be indispensable, such as these:
Additionally some Microsoft resources can be valuable to getting started working with SharePoint:
- https://www.microsoft.com/click/SharePointDeveloper/default.aspx
- Version feature comparison [6]
And some books can provide great insight into the architecture of SharePoint:
- Professional SharePoint 2007 Development [7]
[edit] About this page
This page was initially created on June 11th, 2008 through a collaborative effort of the Washington, DC area SharePoint SIG of the Capital Area .NET Users' Group [8], as an effort to give back to the SharePoint community.
