February 2007 - Posts

This is a head-slapper that happened to someone on my team, the answer wasn't on-line so here it is...

Issue Description
After installing the bits, he runs Configuration enters credentials to connect to SQL and create the configuration database. Next fails with a message that the database server is non-existent or we don’t have the rights to connect to it.

SQL Server’s Event Log contains the following MSSQLSERVER entries:

“SSPI handshake failed.”
“Login failed for user ‘’. Reason: Not associated with a trusted SQL connection.”

To confirm, the username appeared blank. The service account is a domain account, the account has the correct rights in the database and can be used to login to Management Studio locally to create databases. DCA is enabled on the SharePoint machine. The SQL server allows Mixed authentication. On the SharePoint side we’ll set NTLM when we get that far.

Solution
You need to be logged in as a Domain Administrator, not just a local Administrator while running the SharePoint Configuration utility. [Sound effect: head slap!]

Why? You've entered your credentials into the form, doesn't the Configuration Utility use these to authenticate to SQL Server? It's not that simple. Your process first needs access to network resources to get a token to start the conversation with the SQL Server, after which it can submit the credentials you've entered. A local administrator doesn't have that right.

[Update 2008-12-05: Justin Devine posted a fantastic article to build on this posting that contains many screen shots, additional comments and a section on writing and debugging your first SharePoint program in your new environment. So give this a read-through, but as you walk the steps I recommend starting from Justin's posting where you'll also see the visual cues and where necessary, links back to here.]

There are two choices: You can build a SharePoint server that contains all your developer tools too. Or you can build your SharePoint server in a virtual machine (VM or VPC), and keep all your developer tools local. Then you can treat your virtual machine just like a physical server, and surf or demo it just as you would a production environment. This way you avoid all the inconsistencies that come with running browser session on locked-down web servers, don’t fill your server’s GAC with quite as much junk, and really get the client experience. You can use this post as a starting point to build either.

This post describes the tools you will use. There are always others, so go ahead and tell me about yours in the comments section. I’ve left off CSS and XML editors because frankly the best aren’t free. Even though a few items listed here are commercial products (e.g. Visual Studio), all have evaluation versions that last long enough for you to learn the ropes and prepare for that first big SharePoint interview.

Client Hardware

The biggest controllable factors on the speed of your SharePoint development environment are RAM and hard drive speed. If you do a lot of development, you will also want a lot of storage space to hold all those virtual machines.

The configuration described here is intended for a good laptop, which today is limited to 4Gb RAM. If you have 4Gb, give the virtual machine 2Gb. If you have 3Gb, give the virtual machine either 1.5Gb or 2Gb. If you have 2Gb or less, buy more RAM or host your virtual server elsewhere. Seriously.

If you need Exchange Server for any reason (1 to 2Gb recommended), you’ve grown out of laptop labs and should build this on a Virtual Server (or VMWare) host if you want some hair left over when you’re done. To build medium or large farms in a virtual environment, Virtual Server running on a 64-bit Windows 2003 Server R2 machine will remove your memory limitations. A 64-bit Vista machine provides the same expandability with Virtual PC or VMWare.

There are several factors to hard drive speed: keeping your VM on a different drive than your OS, drive transfer rates, and drive speed. Put another way: you want a big fast external drive. You can get a pretty big drive for around $200CAD now (I like my Seagate), and an enclosure with Firewire or eSATA (external SATA) is about $50CAD. If you don’t have Firewire or eSATA on your laptop you’ll need an adapter for that as well (also $50). Why not USB 2.0? Firewire is 33% to 70% faster than USB depending on the operation. eSATA is about five times faster than USB 2.0. While many enclosures also have a USB port, the difference is well worth it. PCMCIA (CardBus) runs at 132Mbytes per sec so an adapter for any of these will treat you fine. Note that newer laptops may have an ExpressCard slot instead of a PCMCIA slot.

Technology

Transfer Rate (Mbits per second)

USB 2.0

480

Firewire 800

786

eSATA

1500 to 2400

 

Minimal Configurations

The assumption is that you know what you like, know what you want to do, and will download and install accordingly. That said, maybe you really do want to develop with Notepad so here goes.

On your development machine you need the .Net Framework version 3.0 and a development interface (IDE), whether it’s Visual Studio, SharePoint Designer, or a plaintext editor like Notepad. If you don’t have a physical server available, you will use either Virtual PC or VMWare to host SharePoint. Beyond these, everything is optional.

On your server, you need Windows Server, IIS, the .Net Framework version 3.0, and either WSS, MOSS Standard, or MOSS Enterprise.

Building the Client

.Net Framework 2.0. This is optional, but if you do any development beyond SharePoint you likely have clients on v2.0.

.Net Framework 3.5
WPF, WCF, and essential to SharePoint: Workflow. Note that MOSS 2007 works great with .NET 3.5, is supported by Microsoft, and there is no reason not to deploy it for all your servers.

[Update 2008-11-04] Do not install .NET 3.5 SP1 if you require Records Center, and until the cause is identified there is a risk that other features are also affected. .NET 3.5 itself remains okay, this issue is only reported with SP1.

Microsoft Office SharePoint Server 2007 SDK [Read it online]
The MOSS SDK includes the Enterprise Content Management (ECM) Starter Kit, a BDC definition editor, an Excel UDF sample, great workflow samples, and lots more.

Windows SharePoint Services (WSS) 3.0 Software Development Kit (SDK) [Read it online]
The MOSS SDK contains this so you don't need both. If you only do WSS development, then you only need the WSS SDK.

Red Gate .NET Reflector (was Lutz Roeder's Reflector)

One of the best .NET tools ever, and the way you'll browse object models and cut the class-assembly strings you'll need to paste into your manifests and web.config. “Reflector is a class browser, explorer, analyzer and documentation viewer for .NET. Reflector allows you to view, navigate, search, decompile and analyze .NET assemblies in C#, Visual Basic and IL.”

SharePoint Manager 2007
The best SharePoint management tool there is. Browse the complete object model, deactivate features, and even update object properties. You do need to be careful with this one, but wow it's powerful.

Office System Professional Plus Edition
Grab your disc,
MSDN, or get the evaluation version. The Professional Plus edition includes Word, Excel, Outlook and PowerPoint plus: Access, Publisher and InfoPath. There is also an Enterprise edition which also includes OneNote and Groove.

SharePoint Designer (SPD)
Grab your disc,
MSDN, or get the evaluation version.

Visual Studio 2005 or 2008
Grab your disc,
MSDN, or get the evaluation version. I prefer either VS Professional or VSTS Developer Edition.

Visual Studio 2005 Extensions for .NET Framework 3.0 (Workflow Foundation)

Not required with VS 2008 where these features are baked-in. Design Windows Workflow Foundation solutions for SharePoint and other .NET applications.

Visual Studio 2005 Tools for the 2007 Microsoft Office System (VSTO)
VSTO is used to build: Office System (Word, Excel, etc.) Add-ins and Ribbon elements, Outlook forms, and InfoPath templates.

Other Visual Studio Extensions. Optional extensions are available unrelated to SharePoint, though you should know they exist if you do other .NET development.

Virtual PC 2007

This is where you will build all those beautiful webs! VMWare is a popular alternative.

SQL Server Express Edition
You may want SQL Express if you develop more than SharePoint and need a local data store. If not, it is built into the SharePoint standalone install so you do not need to download or install it locally.

 

Optional

Fiddler HTTP Debugger
Optional and strongly recommended. Inspect and manipulate HTTP traffic between your browser and the server, great for debugging forms and web services, determining whether Kerberos tokens are being generated, and more.

Internet Explorer Developer Toolbar
The IE Developer Toolbar is optional, but recommended. Inspect HTML source, style usage, IFRAME content, image locations, and more.

PowerShell (formerly Monad). [SharePoint Provider] [Script Repository]
PowerShell is optional, but recommended. Write scripts to automate administration and configuration tasks. Colin Byrne has posts to get you started:
PowerShell and SharePoint, Build Me A Portal, and Upload a Directory in 4 Lines.

BDC Metadata Manager 
Generate BDC XML from SQL data sources. The commercial version also builds definitions for web services. An alternative is baked into the MOSS SDK, but BDC Metaman will continue to be the gold standard.

Visual Studio 2005 Extensions for Windows SharePoint Services 3.0 (VSeWSS)
Not recommended. VSeWSS contains nothing to help you deploy features on anything but the machine running VS, does not support x64, and is required to open projects that it creates. So if you create a project today on a 32-bit machine, you will be unable to open it in a year when you're building on 64-bit. This is bad. The one good feature included is the SharePoint Solution Generator (SPSolGen) which converts lists and sites “Saved as Template” into list and site definitions. [
Learn more here] [Registry hack to install VSeWSS to a machine that is not the server]

 

 Required to create a private LAN between the client and server

 

Microsoft Loopback Adapter

a.       Click Start, Control Panel, and open the Add Hardware wizard.

b.      Click Next. Wait a moment while the wizard scans for hardware.

c.       Select: Yes, I have already connected the hardware, click Next.

d.      Scroll to the bottom of the list and select Add a new hardware device. Click Next.

e.      Select: Install the hardware that I manually select from a list (Advanced). Click Next.

f.        Select: Network adapters. Select: Microsoft. Select: Microsoft Loopback Adapter.

g.       Click Next. Click Next again. Wait a moment. Click Finish.

Configure the Loopback Adapter

h.      Click Start, Control Panel, and open the Network Connections utility.

i.         Right-click the Microsoft Loopback Adapter connection and select Properties.

j.        Double-click Internet Protocol (TCP/IP).

k.       Now configure an address for this adapter.
Select: Use the following address
IP Address: 10.50.50.1
Subnet mask: 255.255.255.0
Default gateway:
You can ignore DNS. Click OK. Click OK again.

 

Building the Server: Articles

Bob Fox explains step-by-step how to install Windows 2003 to Virtual PC and VMWare (up to the point where you install the OS).

Bob Fox explains good habits on re-using your base image for several implementations, and why you might need to add servers to the farm (e.g. for Exchange).

How to Create a MOSS 2007 VPC Image. This step-by-step series with screenshots by Tony Zink is as complete as complete can be and starts with configuration of IIS. Note that he puts SPD and Office on the server, while the goal of this post is to keep your server clean of client apps.

Microsoft Guidance on Standalone and Farm configurations.

Kevin Hoffman explains how to build a Standalone SharePoint server. He installs Visual Studio to the server, you can skip that step and run it locally on your development machine.

Jonathan Bradshaw explains how to build a Small Farm configuration with SQL and AD on a separate machine. His “OfficeDev” machine looks the most like our local development machine. One day someone will write an article with configuration steps, until then this is a good start.

Building the Server: Step-by-Step

Step 1: Install the Operating System

Windows 2003 Server R2. Grab your disc, MSDN, or get the evaluation version. Bring the machine up-to-date with Windows Update. Note that  this process can last several hours.

 

Step 2: Configure Networking

R. Aaron Zupancic describes how to configure an IP address and host file entry so you can surf your virtual SharePoint sites from your development machine.

Simon Guest describes how to get all the machines in a virtual farm to talk to each other. In this configuration, while your virtual machines will see each other, your local machine will not be able to surf or debug the virtual machines.

Note that if you can join your virtual machine to your company’s domain and create domain accounts there (but different accounts than you will use for testing or production), it will simplify configuration and debugging, and you won’t need to make this or any machine in your development farm an Active Directory domain controller (DC). The drawback is that you need to be connected to the domain to get any work done.

 

Step 3: Install the .NET Framework

.Net Framework 3.0
WPF, WCF, and essential to SharePoint: Workflow.

Once activated and configured, Shut Down and back up your base server image. In the next steps you’ll prepare this machine for a specific purpose.

 

Step 4: Install Active Directory and DNS.

If this is going to be a Standalone configuration, you need a domain controller (DC). The Configure Your Server Wizard (Start, Administrative Tools) is a great way to assign roles to a server. Start with Domain Controller (Active Directory) and DNS.

If this is going to be a Small Farm, copy your base server image from the last step, and start building a second machine to host Active Directory and SQL Server. Note that after you install SharePoint you will not be able to make the machine a domain controller (unless you’re prepared for a world of hurt).

 

Step 5: Install Internet Information Server (IIS)

Once again, the Configure Your Server Wizard (Start, Administrative Tools) is an easy way to add the Application Server role to your VM.

Once IIS is installed, you will need to Allow ASP.NET 2.0.* in the Web Server Extensions section of the IIS Manager. If this option is not available, you may need to run the ASP.NET 2.0 setup and Repair your installation, which also sets the Allow flag.

 

Step 6: Install SQL Server

SQL Server Developer Edition [Google]
This is optional. If you don’t install it, Express Edition will be installed when you install SharePoint. However, Developer Edition includes the excellent SQL Server Management Studio, so if you have MSDN you may prefer it. For a production environment you will need to license SQL Server Standard or Enterprise Edition.

 

Step 7: Install SharePoint (WSS or MOSS)

Windows SharePoint Services (WSS) 3.0
WSS is a free extension to Windows Server. If your installation didn’t include WSS as an option, you can download now. If installing MOSS, then you do not need to separately install WSS. Also remember that you can upgrade a server, but you cannot downgrade from MOSS back to WSS. If you’re evaluating SharePoint you may want to start with WSS.

If you installed SQL Server Developer Edition, choose Advanced Installation to select your database.

Install the WSS Service Pack.  

Microsoft Office SharePoint Server (MOSS) 2007
Grab your disc or
MSDN, or get the evaluation version. Standard and Enterprise editions exist, so again keep in mind that you can upgrade but not downgrade. Enterprise includes Forms Server and the BDC. 

Install the Office SharePoint Server Service Pack. [SP1]

Shut down and back up your virtual machine image(s). 

Step 8: Configure SharePoint

Create a domain group for SharePoint Administrators, assign rights to it rather than any single account. The exception will be configuring SQL Server, where rights buried inside groups aren't always resolved and you need to assign permissions per-account.  

Create an account to use as your SharePoint Service account (e.g. SPService). Configure this to be your Application Pool identity (you'll need to search what rights are required until I complete this section).

Create a content crawler account (you'll need to search what rights are required until I complete this section).

Create a developer account with the same name as the account you use on your development machine (and it better not be Administrator). Add your developer account to the Administrators group (Global Administrators if this is a DC, local Administrators if not) and Debugger Users group.

Create a typical end-user account for testing. Make it a member of Domain Users.

 

Step 9: Configure the server for Development

If you must develop on the server, install Visual Studio now. On one side, developing locally is simpler than developing remotely. On the other side, it’s so handy to keep all your code in one place and you won’t ever wonder where the most recent version of x is residing. If you really can’t get the hang of remote debugging, you can always install VS later.

Open up File Explorer on the server and Add to Favorites your frequently-used paths including the 12 hive and the default web root.
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\
C:\inetpub\wwwroot\

Backup the 12 hive into a zip file marked as read-only, and named “[Drive]:\Backups\12Hive-Out-of-Box-DoNotUpdate.zip”. You get the idea. When you accidentally edit a default ONET.XML file with WordPad and kill your site you will be glad you did.

And finally, make a text file on your desktop with Joubin’s SharePoint paths.

 

Step 10: Configure remote debugging.

Once SharePoint is installed, share the folder with SharePoint’s assemblies (*.DLL). You may also want to copy the assemblies to your development machine:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI

Share the server’s web root and enable Read/Write.
C:\inetpub\wwwroot\

Install the Visual Studio 2005 Debugging Components to the server. You want Full Remote Debugging, not Native Remote Debugging.

Follow Ross Dargan’s instructions on configuring remote debugging. You’ve just completed his step 1 and if you created your developer account as specified then you’ve also done 2 and 3.

Take a look at Andrew Noon’s document on Remote Debugging SharePoint Web Parts. He has additional steps for enabling error messages in web.config and screen shots that show what debugging looks like in action.

Read: Setup Remote Debugging

Read: Debugging SharePoint Web Parts

 

Acknowledgements

Thanks to the MOSS MVPs for suggesting ways to improve this post.

Thomas Lloyd was one of the first people to build minimal servers, and he’s always got great new gadgets like eSATA drives.

 

Updates

2007-03-02 Rearranged and added sections in a major overhaul of this post.

2008-02-27 Added a section for optional utilities, added references to VS 2008 and the service packs, added SharePoint manager 2007, rewrote parts of the introduction.

 2008-11-04 Updated links to Reflector and others, added caveat for .NET 3.5 SP1, and minor text corrections.

Internet Explorer is dying on me at the worst times. No "Send an error report to Microsoft," no nothing. Just dead and gone, back to the ether. It happened to me an hour ago on my old laptop in the middle of a blog post. It happened again five minutes ago on my shiny new laptop while trying to recreate the same blog post. This time I did a "Save, but don't Publish" about a half hour ago, but I've now lost about an hour today, and that's the most uncool thing any software's done to me in a long time. Take back every new feature, take back the crappy RSS implementation, just give me a browser that doesn't disappear every fiftieth time I paste text. Now to go write that post again. It's a gooder, I promise.

 

Posted by erobillard | with no comments
Filed under:

The Business Data Catalog (BDC) is one of the best features of MOSS 2007 (no, it's not in WSS 3.0). What excites me is the prospect of not only reading from, but writing back to data sources defined in the BDC. It's recently come up a few times and I've found that many people believe that updating source data is simply not possible, so I second-guessed myself and went back for a closer look to clarify the reality.

The goal is to create, update, and delete data in addition to retrieving collections, single items and enumerators. There are two ways to do it, and both aren’t quite ends in themselves though only a little extra work is required for deletes.

The first method is to treat the BDC source simply as a data reader, and to build your create/update/delete logic in an assembly. The BDC object model provides the means to retrieve collections, list items and enumerators, and you do the rest. You get the Web Parts to display data, but you still need to roll your own forms inside web parts to create and update.

The other way is with Actions. Think of an action as simply a Link which appears beside each BDC item. In constructing the link, you can inject parameters from the selected BDC row. So the easiest here is Delete, though even that requires building a page that invokes the Delete method and then redirects back to the calling page (assuming the reload will show the revised list). Create and Update still require a form to edit content, and you could launch such a form from an Action. Again the BDC isn’t the end in itself. Additional benefit is that Actions are displayed in BDC Web Parts. They’re great for things like +1, -1, Map this location, Go buy this book, or Go see this product’s web page.

A third way that I don't consider "SharePoint" though it is "Office" is to create an Action which opens an InfoPath form to edit a BDC object. It’s the recommended solution. It requires InfoPath. It does work. Coming from a web background, I want SharePoint to be my web platform so requiring any application besides a browser seems klunky to me.

Before today, I thought there way another way but it turns out it doesn’t have all the pieces to work. You specify a data source's methods in the BDC’s configuration. The standard types are Finder, SpecificFinder, and IDEnumerator, and additional methods can be defined with the GenericInvoker type. I thought you could plug parameters into a GenericInvoker to run ops on a specific item, but its parameters aren't row-specific. So, it’s fine for invoking simple methods on the source, launching processes, and perhaps to lookup lists of available choices for a particular field, but doesn’t mean much for creating or updating new records.

So yes, you can specify methods that update a data source from a BDC configuration file, but they don’t automatically give you consistent ways for a user to create or update records. The easiest way to make forms to update items in BDC data sources is with InfoPath. Back to the Studio.

And then there's LOBi, for "Line-of-business Integration." This is the successor to the Information Bridge Framework (IBF). My understanding was that LOBi builds on the BDC, and then a product like Duet builds on LOBi for a specific data source. In Duet's case that source is SAP. The LOBi document linked above seems to dispute this and positions LOBi as a read-write alternative to the BDC. So maybe it was originally explained to me by someone in sales or marketing, for whom "builds on" means "it costs more and does more" rather than "y uses x as its underlying technology." Either way, LOBi would seem to solve the issue, if only there were a download, documentation, sample code, and a web part or two to refer to. Alas, back to custom code or InfoPath. And Studio.

Until next time,
Eli.

Once again the timeless developer question: what's your methodology? The question came up tonight, here's my current answer:

The shortest path between the current situation and the goal. And SharePoint projects are completely different from software development projects, except for the software development parts.

What I do is a mix of: 

  • Motion - always study the existing situation and plan the solution in terms of capabilities, not features. If you follow this route, avoid Motion "Lite".
  • What Jim McCarthy describes in Software For Your Head. This book explains how to get teams working with total clarity in the same direction. 
  • Personae and Scenarios. Again back to the capabilities. These are described in MSF4 but really it goes back to Inmates Are Running the Asylum
  • Visio diagrams in any form that can be followed by an average person coming in cold. If people don't get it, draw it another way and provide that too. UML is consistent but as it turns out projects aren't. What I mean is that it's a great visual language in the same way that C# is a great development language. If you invest the time in speaking it, it's a great way to explain things to others who speak it. Unfortunately they don't teach it in business or arts courses so it tends to be wasted on decision makers. Edward Tufte has some great books and webs on presenting visuals, unfortunately there's no "how to," it's again  "practice until you're good."

People whose skills I admire got that way the same way they do in any field: read and try a whole lot, internalize the methods, and then forget the methods and simply express. The best style is to have no style. Once you have enough information there are no choices, only what is to be done. It worked for the greatest distiller of philosophy to live in the 20th century, it can work for you.

Or roughly, with portals and collabortive sites it's X-ish methods minus the crap about the little cards and 10-minute stand-up meetings. Walk away for a week and they'll stop happening, and that smell bad enough to think twice. The rest - tracer bullets, many iterative milestones, the build is the demo, continuous engagement, heck, I guess I'm really talking about Code Complete. Get it, it's a gooder.

This month Bill Brockbank is our guest speaker at the Toronto SharePoint User Group (TSPUG) meeting on Wednesday, February 21 at  6:00pm. Meetings are held on the third Wednesday of each month at Nexient Learning, 2 Bloor West, 8th Floor.

For meeting details and to RSVP please visit our website at http://www.tspug.com/.

Featured Speaker: Bill Brockbank, SharePoint Specialist, Navantis
Topic: Introduction to Windows Workflow in Windows SharePoint

  • Overview of Workflows in SharePoint
  • Workflows activated in SharePoint
  • How to create a Workflow with SharePoint Designer (Demo)
  • Overview of the sample Workflow in the Windows SharePoint Services SDK
  • Walk through of the requirement for developing a SharePoint Workflow in Visual Studio (Demo)

Bill is a wealth of knowledge, this should be a great night. Membership and attendance are free as always, but please RSVP through the TSPUG site at http://www.tspug.com/.

Thanks again to EINexient and Microsoft for their continued support.

[Update] I tried the "UME to 3.5mm" connector for Motorola Mp3 phones, and it does not work with HTC devices!

[Update 2] HTC Europe is taking pre-orders on an adapter (the snappily-named "HTC P4350 Y Cable - 11pin to 5pin +3.5mm", though I prefer "Item 145068") out of the UK for £10, or about $25CAD. Plus £23 to ship to Canada! Foiled. There's also a pretty cool (wired) remote control that has the headphone jack plus a lot more, it starts at £25 plus the £23 shipping for a not-worth-it grand total of about $75 CAD. Foiled again.

[Update 3] The web browser was submitting French as my preferred language, even after updating Regional Settings to en-US. That gets annoying on sites developed by people who know what they're doing. The IE Mobile Team helpfully let me know the real place to make the change is the registry: Look up HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International and see if there is a value called “AcceptLanguage”.  You can either update that value or delete it and it should default to en-US and fix the issue. Thanks! I use the excellent Total Commander for WM5 to edit the registry. 

[Update 4] Um, AcceptLanguage already doesn't exist on this device. As it turns out, the sites I visited in Paris must have set my language by incoming IP address, as I can't reproduce it now that I'm back on Canadian soil. No brain, no headache!

Posted by erobillard | with no comments

In blog tag you get tagged, you write five little-known things about yourself. As in... Wally, Bil, and Plip.

Kate and Liam tagged me long ago. This week I have something to say so here goes...

1. I listen to and play a lot of music. Some people know that. Fewer know that I have a MySpace Site for it.

2. Whenever I can, which isn't nearly as often as I'd like, I fly fish.

3. I hate TV, except for Stewart/Colbert, South Park and Trailer Park Boys. But I don't know when any of these are on so I don't watch much of anything. This is way better than having a PVR. I knew Bubbles before he was Bubbles. in the 90's Mike played guitar for a pretty good band that was a lot of fun to hang with (Scott, Jason, Troy and Paul, speak up if you're out there). I once gave Mike a fake fireplace that he put in front of his amp for the rest of the tour. It looked pretty cool. Then we stole Pluto's beer (forgot them? here's an excerpt from Paste Me) and drank our weight. I feel like I make reference to this way too much, so this is the last you'll hear about it from me for a while.

4. I'm experimenting with the architecture and refactoring of large server farms and networks in Lego. The jury is still out on whether this will stick in the long run but the theory goes that Lego is better than Visio because you can see everything at once. Unless you have a plotter, in which case the Lego is just more fun.

5. Monday is officially my last day with Eidenai Innovations. It's been great!

Who's next to be tagged? That would be Lawrence Liu, Todd Baginski, Korby Parnell, Jean-Luc David, and geez everyone's done this already. So it's my turn to pull a Time Magazine and just say You! Get crackin', *** tag, everyone's it.

Half of the "Fab 40" have arrived! After clicking through, on the left-hand navigation you will find links to demo sites for each of the templates.

Now Available

Board of Directors

Business Performance Reporting

Case Management for Government Agencies

Classroom Management

Clinical Trial Initiation and Management

Competitive Analysis Site

Discussion Database

Disputed Invoice Management

Employee Activities Site

Employee Self-Service Benefits

Employee Training Scheduling and Materials

Equity Research

Integrated Marketing Campaign Tracking

Manufacturing Process Management

New Store Opening

Product and Marketing Requirements Planning

Request for Proposal

Sports League

Team Work Site

Timecard Management

Read more about the Application Template project here, and learn more about the 20 still to come.

A document containing screenshots is attached to this post.

This week I ordered Todd Bleeker's new SharePoint book: Developer's Guide to the Windows SharePoint Services v3 Platform. Feedback for it is so far great, and I can't wait to give it a read. Todd receives an Attaboy for being the first to get a SharePoint dev book on the shelves, just 22 days after MOSS 2007 went RTM. Scot Hillier won that one for 2003 by publishing about a year and a half after RTM. Let's just say that life is sublime for developers in 2007.

Book Cover

And I'm working on one too with a great team including John Holliday, John Alexander, Jeff Julian, and Tom Rizzo. it's called Professional SharePoint 2007 Development and is scheduled for a June 2007 release.

Book Cover

What else is in the pipeline? Mike Walsh is compiling a list of all the SharePoint 2007 books both in the wild and on the way. Browsing through it, I see one more that deserves mention, and that would be Bill English's Office SharePoint Server 2007 Andministrator's Companion. Bill edited the only book an administrator needed for 2003, and I expect he's topped himself with this one.

Book Cover

In writing this I found something cool that Amazon does: Search results include results from inside the books. Of course they don't have it for every book, but they do have full text for a couple where I've been mentioned, and that was a big surprise.

Posted by erobillard | with no comments
More Posts