Best Bets and an unhelpful error

I don’t like to do exactly the same blog entry that someone else did, but the other blog entry was from 2007 and I just encountered the problem myself. Thank g-d for Google.

Anyhow, if you have a web application with no site at the root managed path, adding a best bet to a site collection on some other managed path will pop up a window that says,

Error

The search service is currently offline. Visit the Services on Server page in SharePoint Central Administration to verify whether the service is enabled. This might also be because an indexer move is in progress.

The way to fix it is to create a site collection at the root managed path. Or probably upgrade to SP1.

Yes, I know the error is completely unhelpful. I found it so as well.

Oversetting Upload Size Limits in Windows SharePoint Services 2003 – BAD

We set our upload size limit to 40,000 megabytes on our Virtual Server settings.

You access this setting in Windows SharePoint Services Central Administration -> Configure Virtual Server Settings -> [Select Virtual Server] -> Virtual server general settings -> the setting is in Maximum Upload Size. (default is 50 megabytes)

This was very bad. Apparently if the setting is set too high, it’s essentially interpreted to be zero by the application.

Once this happened, not only did we get the upload size error, “The form submission could not be processed because it exceeded the maximum length allowed by the Web administrator.” for any size file, but also, we got the Explorer View error, “Explorer View requires Internet Explorer 5.0 or greater and Web Folders.”

A better really huge setting that ended up working for us was 10,000 megabytes.

SharePoint 2003 Reader Permissions include… Export to Spreadsheet!

I had to find this out for a customer this morning.

It’s true: Being able to read something means they’re okay with exporting to a spreadsheet. We may need to “Lock this down” but all I can think of is to use javascript to hide the control, which is not really locked down per se.

Various

NOTE: Apparently I wrote this around early-August, but never posted it, so I posted it today after finding the draft in my WordPress.

– Updated to WordPress 2.3.1. Apparently some security fixes as well as normal feature updates. Requires a DB upgrade, so be sure to hit that admin link to do the DB upgrade.
– Have been tinkering with using GMail IMAP as a spamfilter and integrating with Thunderbird 2.0+. Using forwarding from old POP3 accounts, I now have a couple extra GMail accounts (for keeping some IDs separate), managed to delete about 7 Thunderbird account profiles and now have GMail spam filter working in conjunction with Thunderbird Junk Mail filtering. I wrote it up (roughly) here: http://health.malcolmgin.com/Using_GMail_to_Filter_Spam
– Mostly doing SharePoint 2003 maintenance at work while we also prepare for SharePoint 2007 (finally – my last job started with 2007 in November of 2006). I’m also doing various other system engineer stuff like working with maintenance, licensing, support, etc. for some other interrelated products my team supports. Still learning, though, so I’m OK on the happiness & fulfillment side, and my commute totals about 3 hours less per day, I mostly get every other Friday off, and I have time and a partner with which to hit the gym 3-4 days a week, work permitting.

Alternate Access Mapping 2007 Research Links

We must migrated from 2003 to 2007 this past weekend (Friday, actually), and now the mapping is causing problems for our MAC users, who can’t use UNC hostnames, but have to use full hostnames.

So I’m doing some background research on the issue.

Links:
– http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=521109&SiteID=17
– http://technet2.microsoft.com/Office/en-us/library/be9d31d2-b9cb-4442-bfc6-2adcdbff8fae1033.mspx
– http://blogs.officezealot.com/mauro/archive/2007/03/02/20178.aspx
– http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/MS-SharePoint/Q_22117646.html
– http://msdn2.microsoft.com/en-us/library/ms771995.aspx
– http://groups.google.com/group/microsoft.public.sharepoint.windowsservices/browse_thread/thread/580e9a2b981c0319/acdd966b3ce3ada8?lnk=raot
– http://blogs.msdn.com/sharepoint/archive/2007/03/06/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-1.aspx
– http://blogs.msdn.com/sharepoint/archive/2007/03/19/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-2-of-3.aspx
– http://blogs.msdn.com/sharepoint/archive/2007/04/18/what-every-sharepoint-administrator-needs-to-know-about-alternate-access-mappings-part-3-of-3.aspx
– http://support.microsoft.com/kb/913113
– http://mindsharpblogs.com/Driskell/archive/2007/05/15/1769.aspx
– http://www.codeplex.com/SLK/Thread/View.aspx?ThreadId=9590
– http://blog.henryong.com/2007/01/17/alternate-access-mapping-in-sharepoint/
– http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=18
– http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=39
– http://www.jjfblog.com/2006/12/how-to-change-server-name-post.html
– http://msmvps.com/blogs/obts/archive/2007/03/27/717296.aspx

For 2003:
– http://office.microsoft.com/en-us/sharepointportaladmin/HA011603021033.aspx

SharePoint Developer Environments (Esp. 2007)

About a year and a half ago, our petition at my current work site to create/use developer environments for SharePoint (then 2003) was punted, mostly because the requirements for dev environments are almost completely diametrically opposed to the various security and systems policies at this site. The detente when finally reached was that we could run entirely self-contained VPCs but only if they ran on our (my consulting company’s) hardware and were composed of developer licensed software licensed to my company.

Anyhow, now that 2007’s out, deployed at my current work site, and people are taking seriously the task of converting from MS CMS 2002 to MS SharePoint 2007, among other things, the need for developer environments cannot be denied, and the VPCs my company is creating for such an environment are too resource-intensive to run on our old laptops, so something’s got to give.

As such, I’m doing a lot of research about it to justify/position the arguments for such environments. In general I will have at least skimmed these links, but may not have read them thoroughly. These link dump posts are really something I do to keep track of my current research and provide pointers to those who might need them.

Basic assumptions:

  • You want one server context (IIS/SharePoint) per developer for the initial code-writing steps
    This is for non-shared resources, like web parts, maybe features, etc. Something that a single developer could conceivably do in a short chunk of time in the project.
    The reason is primarily that when you attach VS 2005 to a dll/process during interactive debugging, the step-through operations lock up that application pool for anyone else sharing the same execution context.
  • Your basic virtual machine for this kind of dev work is going to be running Windows Server 2003, Windows SharePoint Services 3.0 and Visual Studio 2005, at minimum.
    In our situation we’ll probably need the whole shooting match, because unapproved SQL servers are not allowed on the open net, and they’re unapproved if they’re not solely administrated by our DBA group. Similar injunctions apply to domain controllers and unapproved DC/AD activity, as well as simply running Windows Server 2003 on a non-server box.
  • If you are allowed to run the server type applications on the VPC and then use your host operating system (i.e. the Windows XP or whatever you’re running VPC in) to run the client developer tools against the services on the VPC, the actual recommendation is to do that instead
    So you’d have a standard VPC image that has Server 2003, SQL Server (unless you’re sharing that as a network resource hosted somewhere else – but be sure you have the permissions you need to noodle around in it if it is a shared resource), AD (same cautions apply to this as SQL Server), and WSS3.0/MOSS 2007. You’d run this in a host operating system where you’d run all your client development tools. You’d still have one execution environment per developer, but the performance might be a little better.

Anyhow, here’s a list of relevant blog entries/MSDN/Technet articles:

Some links also for software architecture/development approaches:

And some links to relevant tools:

I’ll add more links as I ID them.

Links

I’m doing research today to answer multiple questions.

Questions:

  1. I recreated my MOSS 2007 SSP a while back and now MySite creations aren’t working for anyone. It’s not working exactly like the discussion at Technet Forums. Still researching this one.
  2. On a related note, I need to nail down exactly how to create personalized MySite services scoped to a particular web application on the MOSS 2007 farm. No articles yet.
  3. How do we federate/rollup content (if possible, what’s best practice?) from multiple sites? Client has security policies that require internet/extranet servers/farms be separate from intranet servers/farms, but they also have a requirement (it’s thankfully more of a “nice to have”, since even they are not sure it’s possible) to make it so that a single user doesn’t have to go to multiple sites to see all of their content, especially their personalized content. I’m aware that this is possible in many ways in SharePoint, but not sure if any implementation is ideal. The first really helpful link I’ve found along these lines of thinking is Joel Oleson’s blog entry about managing Global and Multifarm deployments. Another good one from Mr. Oleson. I’m reading it right now.
  4. I have to do some research on the best ways to integrate outside LDAP, AD and custom-schema organizational directories for user information into MOSS 2007. No links there yet.
  5. I need to get on the stick and do Workflows in VS 2005 against WSS 3.0/MOSS 2007. I did try SharePoint Designer for my needs and while it does address most of them, one thing I couldn’t figure out how to do was to make a workflow that publishes documents across sites (up, down, sideways, between sites, subsites and unrelated sites). All I could figure out how to do was publish from one document library to another in the same site. There are other options:
    1. Major/Minor versions in Document Libraries: Probably the most elegant of the solutions, since it’s already built-in to SharePoint 2007, the major down-side is that this may be too complicated a new feature for users to learn given that check in/check out is already foreign to them (unless they’re developers). I know the pat answer is learn, but honestly that doesn’t cut any ice with client-focused business analysts. They have a point. The “learn” answer just offloads the effort on another group: either training or support. Not everyone is as technically focused as implementors are. Not everyone wants to learn a new feature every version upgrade just to do their jobs right.
    2. The Send-To->Other Location option on document libraries’ documents works just fine with Firefox 2.0 but barfs completely with IE7. See my discussion of it on the Microsoft Newsgroups (I think you’ll need a passport identity – alternate link via Google Groups) for more information. It’s possible I’ll call MS support about this, but only if the client says it’s critical path and means it. It’s too risky to burn a support call on a bug. I wish MS really provided other meaningful ways of reporting bugs.
  6. I also need to find out whether the helpful Weather and other free, useful, fuzzy good feelings web parts exist any more, like they do in SPS 2003. Weather’s a big request these days. If they’re a download/install I need to do that. No research here yet either.
  7. Finally, I asserted to a friend/co-worker a few days ago that from a programmer’s perspective, I can’t see why Perfmon would, as his manager asserted, bring a server to its knees. Given that in the programming I’ve done that does create Perfmon counter objects, I never check to see if any monitors are running, I just throw the stats over the wall for the OS to do with it as it will. The guy’s job would be made so much simpler if his manager relaxed about this, and I simply don’t have the resources myself to do the exhaustive system profiling and performance monitoring this might take to convince anyone. So maybe someone else has. No research here yet.

So what do you think? Do I have enough to do?

Oy! – Inaccuracy in order of steps in a MS support document screws up the process

This almost sucked. Hard.

The Microsoft Technet article I linked to previously about moving the WSS Content Database in WSS 2003 is pretty good! Except for the last section, under Moving the Datases, subsection “Set the content database in Windows SharePoint Services”.

Unfortunately, the article says you should, for each Virtual Server, remove/disconnect each content database, THEN add the new content database. This is ass-backwards, and SharePoint (SP2, at least) won’t let you do it. It will only work if you add the new content database first and THEN remove the old database.

I thought my goose was cooked until we tried that, then we were okay.

In my dream world, Microsoft and all other vendors will actually QA their documentation as thoroughly as they say the QA their code.

Miscellaneous research points from this morning

Simple read-write connection of a database table (non-SharePoint) to a DataView Web Part in MOSS 2007

Test this out/play with it in a test area. Don’t do this in production. Duh.

Required:

  • SQL Server 2005
  • SharePoint v3 (I don’t honestly know, but I think just WSS 3.0 w/o MOSS 2007)
  • SharePoint Designer 2007
  • A SQL account with db_datareader and db_datawriter permissions on the database in question, and the account’s password
  • A table in the database with a primary key
  • Sufficient SharePoint rights to use SharePoint Designer to create DataViews on Web Part Pages somewhere

Procedure:
(Italics are steps added after MS Support helped me out with this.)

  1. Make sure you have the SQL account name and password at the ready (for this example, account is sqlmossupdatetest)
  2. Make sure you know the SQL Server name/instance name (if any – for this example, the server name is DEV1 and the instance name is MOSS)
  3. Make sure that the table in the database has an autoincrementing primary key (Column settings for this are related to Identity properties w/in SQL Management Studio).
  4. Create a new Web Part Page in one of your document libraries. Exit Edit Mode.
  5. Open the site where your Web Part Page resides in SharePoint Designer 2007.
  6. Next, open up the Web Part Page you just created by browsing to it and double-clicking it in SharePoint Designer.
  7. In SharePoint Designer’s default upper right toolbox pane, choose the Data Source Library tab.
  8. Under the Database Connections group, click the link for Connect to a database…
  9. Click the Configure Database Connection… button.
  10. In the server name textbox, type the server name, or server name\instance name if you’ve got an instance name (i.e. in my case, it was DEV1\MOSS).
  11. Keep Microsoft .NET Framework Data Provider for SQL Server for the Provder Name.
  12. For Authentication choose (not very secure) the first radio button, Save this username and password in the data connection, and enter the username and password you have in the Database.
  13. Click Next. If you get an alert about how other authors can see the user/password information, click OK.
  14. Choose the proper Database and Table for your Data View.
  15. Click Finish. Then click OK.
  16. Click and drag the new Database Connection to a Web Part Zone in your Web Part Page.
  17. Use the right menu-arrow on the Data View Web Part to bring up the menu items for the web part and choose Edit Columns… .
  18. Remove the Identity/PK column from the Display section. Click OK. 
  19. Use the right menu-arrow on the Data View Web Part to bring up the various menu items for the web part and choose Data View Properties… .
  20. Choose the Editing tab and enable the checkboxes for Show edit item links, Show delete item links & Show insert item links.
  21. Save the page in SharePoint Designer and click Yes if prompted about changing the site definition.
  22. Close SharePoint Designer and refresh the Web Part Page in IE. Be sure to populate your ID field with a unique value. Obviously this cries out for more work to actually dynamically create a unique key, etc.

Update: Oddly enough, while T-SQL INSERTs & DELETEs seem to work, UPDATEs don’t, so I’m now digging further and seeing whether I can write custom SQL in the connection definition to do the UPDATE properly.

Update 2: A support ticket (via my employer, a Microsoft Gold Manged Regional Partner) has been opened about the UPDATEs issue. I’ll report back when we have a fix.

Update 3: The support issue is closed. The issue with updates was caused by trying to edit the PK value. To keep the web part from trying to edit/update the PK value, you remove it from sight and then it doesn’t bother with trying to change it on update, so the update is successful. I added a couple of steps to the procedure to do that. Also, I forgot to say that I brought up the question of documentation for custom SQL and apparently there is no such documentation currently at MS for the Parameters features.