Thursday, June 4, 2009

Server Fault: StackOverflow for Servers Issues

Jeff Atwood and Joel Spolsky have released the public beta of Server Fault. Based on their StackOverflow platform, it contains all existing features that made you love (or hate) StackOverflow.

While StackOverflow is oriented toward programmers, Server Fault aims to bring solutions to System, servers, and network administrators. Let's hope it will work as well. I cannot wait to see my first question answered.

Thursday, April 30, 2009

Office 2007 Service Pack 2

After yesterday successful installation of the Windows SharePoint Services 3.0 Service Pack 2 I decided today to install the Office 2007 Service Pack 2 (SP2). Note that I have a fully patched Office 2007 in my computer with almost all Office applications, including Visio and SharePoint Designer.

I downloaded that small service pack of 290MB and immediately started the installation. It was again quite straightforward with only a click to accept the Microsoft conditions. My principal occupation during the installation was to wait for over 20 minutes for the patch to install and then accept for my computer to reboot. Everything worked exactly as foreseen.

One of the best improvements of Office 2007 SP2 is probably the support for PDF (probably the most universal file format) and ODF (the openOffice suite file format). These two file formats are now directly integrated into the Office 2007 suite. As I wanted to test this new functionality, I opened a 4.3MB-large complex Word document full of pictures, diagrams, styles, and internal links and saved it as PDF from Word. The result was a 5MB-large very nice PDF document where all links were working. The pictures quality remained high. I then tested my old PDF converter method which is PDF995. It took much longer to convert the 150+ pages, did not contain links, and ended up with a file size of 9MB. A colleague of mine tested the same conversion using PDFCreator But after 25 minutes of wait, he finally killed the process. The Microsoft solution is therefore not too bad in this case.

Wednesday, April 29, 2009

Windows SharePoint Services 3.0 Service Pack 2

Today I installed the Windows SharePoint Services 3.0 Service Pack 2 (SP2) on my department Intranet prototype. It is configured as a Farm with a SQL 2005 database but everything is hosted on the same virtual Windows 2003 R2 server. Installation instructions for this WSS 3.0 Service Pack 2 (SP2)and documentation are quite smooth and clear.

In short, it all comes to downloading the file, then double-clicking on the exe to run it and then the usual Start, "click", Accept, "click", Next, "click", Next ... wait (Upgrading SharePoint Products and technologies through the Configuration Wizard) ..., Finish, "click", then open your Intranet, wait again, and see the result.

It worked. Simple and efficient.

Friday, March 27, 2009

Exporting Files from SharePoint Content Database

Murphy's Law can apply anywhere anytime and my recent re-installation of SharePoint is certainly no exception to the rules.

Soon after I finished recreating our SharePoint intranet, I stared sharing it with my immediate colleagues. While I was not really expecting some "Oh!" and "Aaah!" cheerful comments, I was still hoping for some kind of "Cool, it's back, thanks for the tool.".

But no, even that was expecting too much. The very first comment I received was an assassin comment like: "And I suppose you managed to retrieve all files stored in the previous SharePoint database ?". That comment triggered a machine-gun like stare from me to my colleague. No, I did not manage so far to retrieve these files and yes I had tried already. SQL Management Studio did not really help me by the way.

I had been cornered and really had to find a solution this time. So I returned to the web, googling frantically, trying various unsuccessful solutions until finally my patience and stubbornness got rewarded. I found found a great article from Keith Richie describing how to export the site content from a SharePoint Database for recovery purpose.

His article include a small source code and instruction to compile and run the program. It worked almost like a charm from the first run. Yet, as some of the recovered files were quite large, I had to boost the buffer size (as I worked locally this was not a problem) and even tweak the SQL query to work on a per directory basis to limit the execution run time. Happily this time SQL Server Management Studio was of great help to test and fine-tune the queries. Within 30 minutes from the moment I read Keith's post I had recovered all files I needed.

Today all files are imported in the new SharePoint and I preciously kept the program source and instruction ... just in case one day I need to recover files from another SharePoint database.

Wednesday, March 25, 2009

The Revenge of SharePoint

Remember my SharePoint article from 2 months ago ? Well, believe it or not, but I have crashed my SharePoint site beyond my repair skills capabilities. It happened after a domain migration and was due to some dark account permission problem on the SQL 2005 database.

After having wasted a few hours on the problem, I decided to re-install it from scratch on a new and better set up virtual machine. After all, it was only a prototype without too much production data in it.

The first thing I did was using my previous SharePoint installation article as guideline and i will say it was definitively worth writing it and I got my payback for it. While I was at it, I also wanted to bring in a couple of improvement to my initial setup.

As SQL Server 2005 was installed on the C:\ drive, I needed to move the SharePoint databases to the D:\ drive which was designed to contain the data. I proceeded as follow after having installed Sharepoint Services:

In order to move a Microsoft SQL Server 2005 SharePoint database, I needed to:
- Stop the IIS SharePoint site.
- Stop all Windows SharePoint Services: Administration, Timer & Tracing.
- Backup the SharePoint content and configuration database.
- Detach these databases using SQL Server Management Studio.
- Move the database files (.ldf & .mdf) to the new location.
- Attach these files back to SQL Server 2005 still using the SQL Server Management Studio.
- Restart the SQL server.
- Restart all SharePoint services.
- Restart the iis SharePoint site.
And it worked like a charm.

I decided to add some better web parts to the portal and as such downloaded and installed What's New, Chart, AutoComplete, and Copy Paste web parts from the SmartTools suite on CodePlex. The What's New web part is probably the best of them. All these parts are ridiculously easy to install and deploy.

I also wanted to change my security strategy and to really use two Web Applications: one for the Central Administration on some exotoc port and the SharePoint content sites on port 80. As I had already recreated my content sites under the Central Administration, I needed to move them all to a different application in order to better manage their security. Therefore I had to first move the Central Administration from port 80 to another port (see my article for instructions), then create a new web application on port 80, export all created sites and re-import them into the newly created Web Application on port 80. The export/import operation was made simple thanks to the stsadm command line tool. Afterwards I simply had to uninstall and re-install the CodePlex SmartTools to have them active under the new Web Application.

And that's it, my SharePoint site is now back and ready to be used.

Friday, March 13, 2009

Twenty years of World Wild Web

Happy birthday, Tim. ;)

The Web is indeed wide today ... but no less wild.

Friday, February 13, 2009

Sync Story

Since over a decade I have been using Microsoft Outlook. I started with Outlook Express then used Outlook 2000, XP, 2003, and currently 2007. With time, I have learned to master the product and to truly enjoy it. As a result, I used it for both professional and private emails, contacts, and calendar. A few years ago, I even started synchronizing my contacts and calendar events with my previous Nokia mobile phone. I liked very much having a calendar with me without having to carry a paper version on top of all accessories that a modern man must carry: wallet, keys (home and car), mobile, sun glasses, pens ... this without even talking about the laptop. But what I appreciated the most was being notified by my mobile about my appointments. Even when away from my computer, I was sure not to forget anything (as long as I had encoded it).

Then I changed of job and got a new laptop with that so wonderful application named Lotus Notes along with a BlackBerry already synchronized with it. My opinion about Lotus did not change since last year. I still do not like it and rarely miss an opinion to criticize it for many good (and bad let's remain honest) reasons: not user-friendly, slow to answer, not compatible with most Web2.0 portals like Facebook, LinkedIn or Naymz and I could continue my list of rants. In parallel of using Notes for business mails, contacts, and calendar, I kept using my Outlook for personal emails, contacts, and events. However, while the separation of mails is good for productivity reasons, and while I could take care of contacts by synchronizing my BlackBerry with my Outlook using the BlackBerry Desktop Manager application. Since years, I am indeed using a contact sub-folder of Outlook to organize and backup my mobile contacts.

So there I was, sitting between two seats for the calendar part and not really happy about it. Then one day I woke up deciding to fix the inconvenience of having private events in Outlook and business events in Lotus and on my Blackberry. I was looking for a simple and free solution but obviously the words simple and Lotus do not exist in the same sentence, and it gets worse when talking about software. Useless to say that I could never manage to connect directly my Outlook to the Domino server and always ended with some error message.

Ultimately I found out that Google Calendar proposes a tool to synchronize your Outlook Calendar with your Google Calendar. Google also proposes another tool to synchronize your BlackBerry calendar with your Google Calendar.

By transitivity and because 1+1=2, I have my solution: my outlook is synchronized with Google, which synchronizes with my BlackBerry, which in turn synchronizes with Lotus. Yes, it works. Yes, it is easy to install and no, there is nothing complex to configure. I'm happy as I have all my events on my BlackBerry and in Outlook and I still do not plan to use the Google Calendar interface itself.

So what's next ?
I seriously consider definitively dropping Lotus now as I can download emails from the Domino server using POP.