Sunday, July 31, 2005

Custom Lists Article

Here's a fantastic article from Heather on adding custom lists to a site definition.

Friday, July 29, 2005

Useful Shortcuts

I love it when I'm just wandering around and find something truly useful (OK, I wasn't wandering - I used SharePoint Blogsearch to find one thing and stumbled across another). Here's a post from Todd Bleeker regarding javascript links that toggle page modes in SPS and WSS. I already new about appending ?toolpaneview=2 to the URL but this is even easier - and he explains what all the options are. Very cool. I had no idea you could do this with IE favorites.

Also, here's a great post from Serge van den Oever on FrontPage and Data View Web Parts. Very thorough and a must read.

Thursday, July 28, 2005

Sharepoint Resource List

While responding to a post from Heather on the proper uses of FrontPage with SPS 2003, I discovered her list of SharePoint resources. Very handy. Thanks, Heather!

Monday, July 25, 2005

Thursday, July 21, 2005

SharePoint Blogsearch

While Feedster and Technorati do a fine job searching general blog content we SharePointers are a bit out in the cold when it comes to searching posts from our fellow bloggers - not all posts have the keyword "sharepoint" and there is no way to set up a group of blogs to search. What are we to do?

Well, thanks to the much-maligned-but-ever-so-useful SPS search, we have an answer. I've taken my blogroll and created content sources and a new search scope on my website. Just select the 'SharePoint Blogs' scope and go to it. Incremental updates run every 4 hours - I'll adjust it as necessary depending on search results and bandwidth consumption.

If you've got a blog you want added to the list, email me and I'll add it. Also, if you want to access the indexes (or any web services, for that matter) from your site and need a login account, just let me know.

Happy searching!

The SharePoint Vision

Heather kicked-off a mini-tsunami with her post on the SharePoint vision. Andrew then jumped in with a few more thoughts (here and here). Bil's got a few ideas in his response to Heather's article (see her original post).

This is a good discussion. Anytime we stop writing code and start talking about the user is a step in the right direction. Heather has some very good points but one in particular is striking enough for me to add my two cents (I think we're up to a buck by now with everyone's input - or about 50 pence for my friends across the pond). She wonders why there aren't more general use web parts available to the SharePoint community. It's a good question with some uncomfortable answers:

1) Skilled SharePoint developers are few and far between. Sure, there are lots of people who have worked with SharePoint in some capacity but very few who know what they are doing and are actually good at it. This is by far the most common complaint I hear from clients and one that causes me a great deal of grief when trying to find adequate resources for a project. We NEED more and better training. We NEED SharePoint certifications (Are you listening Microsoft? Four years on the market and no cert track? Are you kidding me?).

2) The object model is preposterous. Yes, I know SPS was cobbled together quickly to meet market demands and WSS is just not that mature (props to MS for delviering a good product under those conditions despite what Mike Drip may think); however, they've got to clean up the OM in the next release. I've seen firsthand how it frustrates many .NET programmers who could otherwise be writing good code instead of wrestling with SharePoint nuances. Simplify and productivity will improve.

3) Due to #1 and #2 commercial web parts are very expensive. Solve these issues and the number of web parts will increase dramatically with a corresponding drop in prices. Developers should always be encouraged to profit from their efforts, so let's not expend a bunch of energy arguing about open source, community, freeware and so on. The profit motive is the most effective, so let's continue to encourage commercial development and take advantage of basic supply and demand principles - the more providers the lower the price. In fact, I'd like to see MS encouraging the Micro-ISV concept with new partner programs and support.

4) No centralized web part repository. As Bil astutely points out, we have to scour the web to find web parts like we're caught in some gigantic SharePoint treasure hunt. We need a better way to organize, categorize, rank, and share feedback on every web part out there. MS has taken a good first step with the component directory but it's just cut-and-paste marketing speak - no objective reviews or comments. I'm all for Bil's SharePointForge idea.

5) Corporate intellectual property restrictions. Many organizations don't want the result of their employee's efforts released into the wild without compensation. I see this happen more often than you might think. Right or wrong, and it's often a mix of both, they worry that competitors will benefit from their investment or that employees will spend their time supporting people other than their own internal users. Not to mention the most significant concern of all - liability. All it takes is one lawsuit to stop the flow of good code altogether. This is mostly a corporate culture issue but could be solved in some instances by better communication with management and pre-authorization from legal and marketing.

Those are just a few of my thoughts. I encourage the community to keep this discussion fresh and in the fore.

UPDATE I: While I'm on this soapbox, allow me to put in a plea to the developer community for standardization in product packaging. It's not that hard to compile a CAB file - don't make users jump through hoops to implement your code. Perhaps this should be a requirement in whatever centralized directory scheme is (hopefully) implemented - poor packaging equals poor ranking and fewer downloads. Some sort of incentive system for highets rankings and most downloads would be great as well.

UPDATE II: For anyone that is interested I would be willing to host the directory on my SharePoint server (c'mon, it has to be in SharePoint, doesn't it?). I don't think I can handle the storage and bandwidth for all the downloads but I would be more than happy to host and maintain the code. Any takers?

Site Navigator v2.0 Beta

Advis has just released a beta version of Site Navigator v2.0. This is by far my favorite site navigation web part. Download the free beta release now (registration required) and post some feedback to the Advis team - they're a crack bunch who really want to hear about any product issues and/or feature requests.

Wednesday, July 20, 2005

Sharepoint and CMS Update

Not to inflate my own stock but I've been predicting this for months. Look for future announcements regarding Microsoft's positioning of SharePoint as the recommended back-end storage system for Office, an "Office Server" package of some sort, and transparent integration between Visual Studio Team System and SharePoint (including a port of SourceSafe to SharePoint).

Hey, they're just predictions, but I've been on the mark so far. Keep an eye out and let me know where I've gone wrong (or right).

Thursday, July 14, 2005

Fun with SQL

Now here's something truly useful - from Nick, a SQL query to get all documents in the DB. I can't tell you how many times I've needed this!

SELECT UserData.nvarchar7 AS Title, DirName AS Directory, LeafName AS DocName, Docs.Size AS Size
FROM Docs, UserData
WHERE (DoclibRowId > 0) AND Docs.ListID = UserData.tp_ListID AND Docs.DoclibRowId = UserData.tp_IDORDER BY Directory

Sharepoint Performance Enhancements

Here's a tip on improving performance in Sharepoint. I haven't tried it yet so I would caution you to be sure that reducing Kernel virtual memory to 1GB won't negatively affect any critical system operations before you implement it. You might also want to check out Nick's post on HTTP compression.

Tuesday, July 12, 2005

Ghosting and Data View Web Parts

While Data View Web Parts may be the coolest thing since...well, Sharepoint...the only way to implement them non-programmatically is with Frontpage. Despite how you may feel about the tool itself, using it to edit pages has the major drawback of sending one immediately into Ghosting hell. The more you edit the worse it gets. What to do?

Fortunately, the answer is simple. When deploying DVWP's, set up a test area or site that is removed from portal navigation (you can always delete it later). Once you've created your web parts page/area/site with Frontpage, you can simply export them to disk, then import them into the correct page. This prevents ghosted pages from running amok in SPS/WSS while still allowing the use of those wonderful DVWP's.

Saturday, July 09, 2005

Some Constructive Criticism

It seems that Mike Drip's article is stirring up all kinds of controversy. I dare say he's not much liked by the SharePoint community at this point. On the upside, it has brought out a few constructive criticisms that are worth mentioning. Two good responses are from Andrew Connell and Paul Schaeflein. And if you don't mind a bit of shameless self-promotion, check out my posts from June 13th (June archive here) and July 8th.

Update: Here's an excellent post from Steven Collier on this topic.

Friday, July 08, 2005

A Different View on Document Libraries

The doc library permissions issue is being discussed again in the Sharepoint blogosphere (here and here, with an older post here). Although I generally agree with my fellow Sharepointers, I have to step out and call "Bull!" on this issue. Every "solution" which provides an alternative to item-level permissions in Sharepoint is simply a workaround for a severe deficiency in the application. Microsoft SHOULD have included this functionality in the original release and we all know it - can we please stop dancing around the issue and demand the MS fix it in (or, even better, an upcoming service pack)?

Only if their customers make enough noise will MS relent and solve this problem which affects EVERY SHAREPOINT IMPLEMENTATION. Stop listening to experts who act like they are imparting some mystical wisdom with talk of "metadata" and "views" and "subareas" and demand the following:

1. Item-level permissions for all list types
2. Folder-level permissions (or, as an alternative, nested document libraries)
3. The ability to move docs from library to library AND retain the metadata
4. A Windows Explorer style view for all libraries (that means a complete folder hierarchy not just a single-level view)

Only if you - the customer - make this an important issue will it get resolved. 'nuff said.