I just realised today that our intranet (WSS 3.0 on a virtual server, used by approx 700 employees) is up and running without any problems since January 2010! I’ll be looking for some wood to touch now 😉
It’s been a while since I posted about the evolution of the corporate intranet I am working on for the last 2 years. Because these posts cover only a few things that happened over time and are spread across these 2 years, I’ll try re-cap the most important steps of the evolution here:
We started building our first Sharepoint services server 2 years ago. We are an office that is part of a major IT Services Company and the Global Intranet did not serve it’s purpose in many way’s:
With the above points as the main ones, we took the decision we needed an intranet tool to manage our information. Since the company decided around that time to stop using Lotus Notes and Domino servers for our Email and switch to exchange, we had the opportunity to have a look at Microsoft’s options.(The original Idea was to build the intranet on a Lotus Domino 7 server).
A very convenient side-effect was, that while I was working as a technical Lead and was not really line-managed by anyone, after 2 weeks in this situation, I started looking into this out of boredom. This to my managers’ credit
Since this was not something coming from the main organisation, there was a very limited budget available. After investigation of the different flavours we could go for, we found that we could get most of the required functionality or value for money from the Microsoft Windows Sharepoint Services, that is included for free with a Windows Server licence.
1 – First Intranet server launched
Shortly after making the decision, we drafted a layout, checked in with the different teams and departments for their requirements and started building.
We had a virtual Windows 2003 server set-up, completely standard. Then we ran the manage this server wizard and turned it in to a Application server running Windows Services. Bang!, we had an Intranet.
The site grew very fast. Mainly (I Like to believe) due to the empowerment we implemented on site-ownership and the lack of a communication platform for the last years.
2 – First Crash
And Bang! 2 months after we lost the intranet. Our Networking team pushed a set of updates causing the server to reboot. This happened right in the middle of a backup I scheduled.
Result: Server Unreachable, Backup Corrupted. “Of course, resilience!” There was a lot to learn and improve here.
3 – Second Server
From the previous lesson, we’ve learnt a lot:
These are the core lessons we learned from this exercise. When we started re-building we actually had no map or plan whatsoever. This made this lesson even more valuable.
It took me about a month to have the site rebuilt. More or less as it was before. We ordered a second server to work as a failover and made sure our backups are copied to a remote location.
4 – Site will go Global
We are now almost 2 years away from all the previous. In the meantime we did quite some spectacular things with our Intranet. Especially if you take in account that we did not have anything in place before.
Most of these things are things that help us as employees on a daily basis or workflows that automate manual tasks for us. We started looking into the processes and managed to make most of them quite a bit. Because we used WSS out of the box on a small VM Server, we decided that document storage should not be used yet. Basically because of lacking processes and policies and the 4GB size limitations on the SQL express database.
As a result from this, more and more people from other parts of the company started to take interest in our site. Communication, Cooperation , Automation where things that was quite new to them.
I was approached by different business units from within the company to set-up similar sites to ours for their teams and eventually link them through in a main portal sites.
In the meantime, somewhere else in the company a new intranet environment was being developed….
A short one this time. It seems though that a lot of people using SharePoint Services are not aware of this though and it is actually quite easy.
Even though it is not an option in any of the forms, you can have links from the quick-launch or from the Links list and Web-Part open in a new browser window or Tab.
In SharePoint you cannot use the start date column in a calendar to filter entries. This is quite annoying, because a lot of times, you’d like to show entries between two dates.
There is a little work-around that you can use to enable this functionality:
Open your Calendar list settings
Add new column, and call it StartFilter (for example)
Select ”Calculated” as a the type of new column
In the Formula field insert:
Select Date and Time as data type of new column
Make sure “Add to default view” checkbox is un-ticked
Save the new column
You should now be able to use the StartFilter column to filter your calendar list.
Many times I find myself struggling with date time values in SQL. I should know this by hart now, but… I don’t.
Mostly my problems lie in the fact that an SQL database stores a DateTime value, which I often need. However, most of the times I need to present that value as either just a date, or just a time value (reports, dashboards, etc)
Today from our local SQL Wiz, I got a mail with all the important SQL Date-Time conversions. I guess he got tired of me asking. Thanks Chris!
There are loads of options, and you could use convert or cast, depending on your requirements. For me most of the time, convert does the job.
Syntax for CONVERT: CONVERT (data_type [ (length ) ] ,expression [ ,style ] )
Convert to Date:
SELECT CONVERT(char, GETDATE(), 101)
SELECT CONVERT(char, GETDATE(), 102)
SELECT CONVERT(char, GETDATE(), 103)
SELECT CONVERT(char, GETDATE(), 104)
SELECT CONVERT(char, GETDATE(), 105)
–DD MON YYYY
SELECT CONVERT(char, GETDATE(), 106)
— MON DD, YYYY
SELECT CONVERT(char, GETDATE(), 107)
SELECT CONVERT(char, GETDATE(), 110)
SELECT CONVERT(char, GETDATE(), 111)
SELECT CONVERT(char, GETDATE(), 112)
SELECT CONVERT(varchar(10), GETDATE(), 120)
Convert to Time:
CONVERT(VARCHAR(8) , GETDATE() , 108) AS HourMinute,
CONVERT(VARCHAR(5) , GETDATE() , 108) AS HourMinuteSecond
To give an example of how a query would look:
SELECT convert(varchar, SUM(entryDuration2)/ 60) + ‘:’ + right(convert(char(3), 100 + SUM(entryDuration2)% 60), 2) AS Expr1 FROM TTentries WHERE (entryEndTime IS NOT NULL) AND (UserName = @UserName) AND (entryStartDate = CONVERT (VARCHAR(10), GETDATE(), 111))
The STSADM command is a very important one for anyone managing a SharePoint 2007 / WSS 3.0 server.
The command must be run as an administrator on the server and is (usually) located here : %CommonProgramFiles%\microsoft shared\web server extensions\12\bin or commonly called “the 12 hive”.
With this command you can almost completely manage your server, and perform actions or tasks that you are not able to do through the Central Administration site. Examples are: Import /export sites,
Tip! You can add this folder to your servers’ environment variables. This way, the command can be run from anywhere on the server.
Here are some commands that come in handy:
stsadm.exe –o backup –url SITEURL –filename BACKUPFILENAME –overwrite -backupmethod <full or differential>
(where –overwrite and –backupmethod are optional parameters)
When the url parameter is used, a backup of the site collection is created. However when the backupmethod parameter is used, a backup of an individual database, Web application, or the entire farm can be created. If you want to overwrite an existing backup file for a site collection only, use the overwriteparameter.
* Preferably, only do this when your site is not used. Usage can/could lead to corruption of your database backup.
There are a couple of limitations to this command:
I do suggest that you use SQL Management studio (Express) to backup your content database.
stsadm.exe –o restore –url SITEURL –filename BACKUPFILENAME –overwrite –restoremethod <overwrite or new>
When the url parameter is used, a restoration of the site collection is performed. However, when the restoremethod parameter is used, a restoration of an individual database, Web application, or the entire farm can be performed. If you want to overwrite an existing site collection, use the overwrite parameter.
* Preferably, only do this when your site is not used. Usage can/could lead to corruption of your database backup.
* I do suggest that you use SQL Management studio (Express) to backup your content database.
stsadm.exe –o export –url SITEURL –filename FILENAME –overwrite -includeusersecurity
(where –overwrite and –includeusersecurity are optional)
With this command you exports site and sub site data from your site collection.
stsadm.exe –o import –url SITEURL –filename FILENAME -includeusersecurity
(where –includeusersecurity is optional)
Imports site and subsite data into your site collection.
It is recommended to use import/export and backup/restore in he folowing ways:
Import/export: Backups of portions of a site
Backup/restore: Full site collection Backups
stsadm.exe –o renameweb –url SITEURL –newname NEWSITENAME
Careful, this just changes the URL of a subsite
stsadm.exe –o renamesite –oldurl OLDSITEURL –newurl NEWSITEURL
This command changes the URL of a host-named site collection to a new URL.
stsadm.exe –o databaserepair –url SITEURL –databasename DATBASENAME –deletecorruption
(where –deletecorruption is optional. you should run the command first without, to see if any repairs can be made)
This command detects and removes orphaned items from content databases in Windows SharePoint Services. In some situations, a content database that is used by Windows SharePoint Services may become corrupted. The corrupted database may contain orphaned items.
The databaserepair operation can detect and repair database corruption for only the following types of orphaned items in a content database:
A Windows SharePoint Services Web site that does not have a parent Windows SharePoint Services Web site
A subweb that does not have a parent Windows SharePoint Services Web site
A list that does not have a parent Windows SharePoint Services Web site
A document that does not have a parent document library
A list item that does not have a parent list
A Web page that does not have a parent Windows SharePoint Services Web site
Other types of corruption will not be repaired.
stsadm.ex -o addsolution –filename
This command is used to import a WSP solution package. Most of the time these are webparts that you can get from 3rd parties. An example is the RSS ticker web-part from Amrein Engineering.
For a few reasons you will need to be able to connect to your SharePoint content database. You cannot do this in a proper way using the tools you get standard with the WSS server.
The best (or most logical) way of doing this is using Microsoft’s SQL Management Studio, but you can also use the free Express version.
Most people that run a single WSS server do this because of budget limitations and can therefore not afford the licensing cost of a fill SQL server licence. The Express version is free and allows you to do most of the maintenance on your database.
There are, however, a couple of problems, or things to know before you can use SQL Management Studio Express SQL MSE on your WSS content database.
First, you need to install SQL MSE on the server itself. It does not allow you to connect to the database on your server remotely.
Second, once installed, you cannot connect to localhost. This will give you below error:
You will have to use the following connection string:
This will directly open up your local databases.
I am working with SharePoint Service 3.0 for some time now.
It all started two years ago, when out of a mix of bad management and lack of communication in the office I work, I requested a virtual WSS Server to “play” with.
This has grown out to a business critical 400 user intranet site with about 180 sub-sites. Now I am planning a global roll-out, to at least 4 more offices and an overall portal site.
I guess they liked it.
The company I work for made the move from a Lotus Notes/Domino environment to a whole new Microsoft exchange one. The migration went pretty smooth, but some things where not accounted for.
One very important misstep was the amount of legacy applications, still critical to the business that remained on the domino server all over the place. There was definitively a need for a platform.
Since most of the people working on Domino either changed sides and got trained in the Microsoft way of life and others just left, there was nobody who could fill this gap, until I (stupid) showed the small site I had built on the SharePoint server.
On this page, I will list the articles I write about my SharePoint experiences. These include some How-To Documents, explanation about some strategical decisions and how we are planning the future.
Sharepoint Services, WSS, Workflows, Forms, Views and all that!