If you were like me and were unable to get down to Orlando for the recent Dev Connections conference, you are not completely left out. People are starting to put together their demo's and slide-decks for us to go through. It's not quite as good as seeing it in person but it's a great consolation prize.
Patrick Tisseghem posts his InfoPath + SharePoint Demos and Slide Decks
Mauro Cardarelli has also posted his Disaster Recovery best practices presentation.
Amanda Murphy has officially consolidated and launched her "The Beauty of Office + SharePoint 2007" series. This will be an ever-evolving 1 pager which consolidates her tips, tricks, screenshots and blog posts on Office 2007 with special focus on SharePoint 2007.
It's already been updated with a several posts + screenshots:
Check out "The Beauty of Office + SharePoint 2007"
Have an idea for her series? Drop her a line by clicking the email icon you will notice on the right of her page.
As mentioned before I really feel that "photo blogging" offers a tonne to the readers experience, especially when you are describing things like being on the road for presentations.
A couple of weeks back we were on the road with Microsoft delivering EPM + SharePoint Deep Dives during an Information Worker Tour. It was a lot of fun and I snapped a bunch of photos at the events as well as around town which I will post a few of now.
The tour spread across 4 days, 2 in Halifax and 2 in Ottawa. Being from NL we unfortunately used to "very" early morning flights. We woke up at 4:30am to prepare and get to the airport so forgive me for not having the pre-boarding photos for this one.
We started to gather and prepare mateirals for our presentation a couple of weeks before the tour. As the date approached there was a lot of tweaking presentations, removing un-wanted slides and excess content and of course rehearsing the presentations as a team and locked away along with our note sheets.

Once we landed in Halifax we were whisked off to the Westin Hotel where we were presenting (and staying). There was a double booked conference the same day so we had some extra time to prepare. Here you can see Lloyd, a coleague preparing.

Not to be outdone, Steve digs in and begins preparing as well. On the table you will see a true Canadian tradition, Tim Hortons coffee. There is a funny story behind this actual coffee. I woke up at 5am and rather than wake anyone decided to stroll around downtown in search of coffee. Fast forward 1/2 an hour I am on my way back to the hotel with now cold coffee for everyone. By the time I got back I realised it was still only 6am and people were probably not yet awake. Fast forward another 2+ hours it's 8:30am and we are in the hotel lobby - I pass Steve this now 'very old' coffee which he happily drinks. What a trooper.

Hmm, and you thought Amanda Murphy was so professional? Little did you know she hides behind the curtains prior to her presentations.

Amanda and Lloyd going over some last minute details. Sorry for the dark photo.

Steve is ready to roll but I think Lloyd is trying to smuggle snacks under the table! Ok he was really hiding some of our luggage away.

The presentations in Halifax were a lot of fun we met some great new people but just a few short hours later we were in the sky again on-route to Ottawa.
We landed in Ottawa and were greeted by our sales guy Victor who took us on a quick tour of the city at night which was great. A few short hours later and we were again in the Westin Hotel, this time in downtown Ottawa.

This photo is very fitting, it's the only one I took during the Ottawa presentations and sums it up perfectly in a "blur". This is actually Amanda making her way to her EPM presentation which was a huge hit.

Day 1 in Ottawa was great - after our presentations we went to supper at the Baton Rouge restaraunt. What a great place - I highly recommend it - AWESOME service.
Day 2 in Ottawa was also a lot of fun - after our presentations we had a major BBQ (it was 15 celcius in Ottawa). It was great but we were all pretty beat and went to sleep early.
Steve and Lloyd returned to St. John's the next day but it was Friday and Amanda and I decided to stay for the weekend and take in the city for a few days.
So off we went to discover Canada's Capital. First up was the Museum of Civilization where we seen lots of cool things like:
Canadians and their crazy politicians eh?


A view of Parliment Hill from a window in the Museum of Civilization

Then we were off to 24 Sussex to say hello to the Prime Minister (Steven Harper)

Turns out though he wasn't home - Funny story: During this same time Amandas little brother Aaron was due to return home from military training in Virginia but his flight was changed because Steven Harper needed his plane. No wonder the guards wouldn't let us in to complain!

Another view of the Parliment Building as we drove by

They were filming some movie downtown when we walked by, hey do we get "extras" pay?

Then the strangest thing I seen in Ottawa. You thought what we do to seals is bad? (ok bad joke)

While roaming around downtown by the "Market" we found this great old church "The Notre Dame Basilica" - we decided to go inside to take a look and all I can say is WOW. I have never seen so much attention to detail in anything, ever.

No really, WOW

Ok so I had to save this one for last. This story "actually is funny". For those that have been to Ottawa you are probably aware of the massive bilingual (French+English) population. That's because it's bordering Quebec - not to mention a couple of hours outside Montreal.
The funny thing is you can be in Ottawa one minute and basically without knowing in Quebec the next.
As we were driving down the road Amanda asked "Why are the signs here in French "First"?. I laughed and of course sarcastically said, "Probably because we're in Quebec?.
We drove by this big sign a few seconds later and I had to take a snap to remind her.

I found this tool via Luis
Overview:
KWizCom , Knowledge Worker Components, has released a great tool for convert Microsoft Collaboration Tool Site or Site Templates to other Languages (LCID).
You can download the tool (STP Language Convertor) from the Kwiz Website.
Steve just dropped the SharePoint 2003 Advanced Concepts - Site Definitions, Custom Templates and Global Customizations book by Jason Nadrowski and Stacy Draper on my desk. I will read it in the coming days and post a review for those waiting to purchase it.
A few months ago while creating the Free Theme Pack I made numerous posts on theme and css customization which spawned several other discussions and comments. One noteable was how to add your company logo to the page using CSS, quite a few of us tried different things and in the end we were left with manipulating .ms-banner and .ms-bannerframe in order to get the job done.
Today while working on a new project I found myself again implementing the company logo with the theme, however this time I needed more. I needed the menu bar separate.
With the current version there is no way to separate the "logo background from the top navigation background"

However with a little thought and some slightly more advanced CSS I was able to accomplish exactly what I needed. The screenshot below shows the separation between the logo and nav bar."

To accomplish this I used the same method of manipulating the .ms-banner and .ms-bannerframe but with a few extras.
This time I added a border to .ms-banner which would ultimately act as the navigation bar. Then I added position:relative to the .ms-banner a:link states so that I could then move them down onto the border using the "top" property.
This lets me have a background color for the menu (technically it's the border) and still keep a clear separation of the background behind the logo which is actually .ms-bannerframe.
Download the company logo via themes walkthrough in PDF
Hope it helps - happy customizing!
I usually have the best of intentions when it comes to blogging while on the road but unfortunately it usually seems to take the back seat.
When I attended TechED last year in Orlando I wanted to post the day-by-day events complete with photos but I just didn't get around to it. The same can be said for our recent Information Worker Deep Dive tour in Halifax and Ottawa. I did however take a lot of photos, I'm a photo-junkie!
While reading my dailys lately I noticed Bil Simser has been posting some photos from sunny Orlando and Dev Connections.
I really think that these little 'photo experiences' people offer add a lot to a blog. I know I personally love taking a look through a few photos that people snap while travelling the world to deliver or take in presentations so I have decided better late then never.
I am going to follow this up with a quick summary of events complete with photos of both the TechED Orlando event last year as well as the Deep Dive tour.
Hopefully future events will be posted a little faster but in the meantime I am dedicated to making sure I share the experience with as many as possible, even if it is only through a few emails, blog posts and photos.
With the hundreds of classes used in SharePoint Portal Server and Windows SharePoint Services, there is no wonder there are some oddities when customizing.
One such glitch you may have run into when customizing the style-sheet is the side navigation bar links, more specifically the fact that they don't always change even though you modified the link states for .ms-navheader.
The reason this is an issue is because the side navigation is contained within another wrapper which has the class .ms-nav applied to it (.ms-nav I believe is used for the links created when you create lists, libraries etc and they show up in the side nav). This .ms-nav class also happens to come "after" .ms-navheader in the style-sheet which means it over-rides it and is applied last. As you may have guessed the .ms-nav class also happens to have link states applied to it.
Luckily it really isn't hard to fix, it's a simple matter of moving the .ms-nav class "above" the .ms-navheader class in your style-sheet.
A more visual representation of the problem and how you can fix it.http://www.graphicalwonder.com/themeproblem.gif
Another to add to your blogroll.
I just noticed this SharePoint tips and tricks blog, always room for more tips and tricks!
Most of us by now are aware of the basics of Ghosting and Site Definitions
The reality is that many of us have unghosted pages now and unfortunately not everyone will be able to have SharePoint 2007 right away. In the absence of that there are some really great solutions out there which deal with unghosted pages.
I made a post a couple of months back about the new version of reGhost.NET by Matthew Cosier
I finally had a chance today to install and try out the latest reGhost.NET application. I have to say from a user-experience perspective I was very happy with everything from start to finish.
The application is just as fast an easy to install as it is to use. On top of that (to the best of my limited testing/knowledge) it really seems to work. If you have not yet had the pleasure of trying this application I would highly recommend it.
In just a couple of minutes and 3 or 4 steps you are on your way to re-ghosting those unghosted pages!
Screenshot 1
Screenshot 2
Screenshot 3
Overview from the got dot net workspace:
This has been tested with WSS SP2 + SPS SP2, please let me know if you have any other problems using other configurations.
This version will also tell you exactly which site the particular page came from before reghosting it, making a great choice for those large commercial sharepoint databases with hundreds, thousands, millions of ghosted pages (we hope not that many).
Download the instructions and reGhost.NETapplication
It should come as no suprise to anyone that I was never against using FrontPage 2003 as long as it was used properly, for example - data views were/are one of the best custmoization options available for content.
The problem with FrontPage was it had been misused alot and it really made itself a nasty little reputation, a reputation so bad that Microsoft decided to rework the application and then rebrand it to breathe new life into it.
The result is "SharePoint Designer 2007". Mike Fitz said awhile back "It's time to show some FrontPage love" and now I know why, they have really put a lot of great effort into this application to make it a viable SharePoint customization tool.
Now that it seems people are allowed to post screenshots I wanted to post a few screenshots of the great new features that I think the designer types will really love. To view the screenshot just click a link below. Big thanks to Amanda for helping me get these screenshots together!
(X)HTML and CSS Color Coding & Intellisense - The code is now much easier to look at.
The Common Tasks Menu - Now when you add a data-view web part for example you have an untuative and useful common tasks panel presented to you. The same as in Visual Studio 2005
A great new Toolbox filled with things like ASP.NET controls
Much nicer CSS control and editing. It is a lot of the dreamweaver way of dealing with CSS.
The slow movement toward a mindset for more semantic markup and CSS versus tables for layout is becoming evident with the inclusion of CSS Layout Templates.
For those that followed my site template tutorials or those that have done much importing of FWP files there are now more features in the Import Menu.
To elaborate a little more on how much better they've made this tool for CSS customization, this new "Jump to Code" feature is great. Select a class name and go straight to the page and part of the code for editing.
Of course what would a "new wave" editor be without Master Pages support.
New - "New" Menu where you can now select to create SharePoint Content
In case my other examples didn't convince you, check out this super cool and useful CSS editing feature which allows you to display only styles used in the current page.
http://www.graphicalwonder.com/images/stylemanagement.jpg
Thanks to Jan Tielens for pointing me to this:
This screenshot was grabbed from Scoble's screen and smuggled out to us last night. It's worth a look to see the kinds of metrics that he is tracking. Lots of gauges, scales, graphs and such. Perhaps too much? It also seems like he can use the dashboard to actually post to his blog and then monitor the buzz it creates. I'm told by a dashboard coding expert that the technology behind this enterprise dashboard is Microsoft Sharepoint Portal. There is heavy customization of the webparts. As you know, there has been some controversy about Robert Scoble and his posts lately. I think that he's done some great work and wish him the best.
I have no idea if this is real - looks neat :)
The project I am currently working on has tossed me into the deep-end of Visual Studio 2005 and Master Pages.
Part of this journey is comprehending the "Theme" approach to CSS in the App_Themes Directory versus my much accustomed to way of embedding my stylesheets.
For example when I want to include a print stylesheet I normall embed this in the page:
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
While creating my print stylesheet I realised there is no way for me to add the media=print to the web.config theme reference which looks like this:
<pages styleSheetTheme="Default" />
After a little quick digging with a team-member we quickly discovered (new to both of us) a standard for print which we had no idea existed. The ability to embed your print stylesheet at the END of your main stylesheet using @ media print { }
So bascially you simply copy/paste everything from your print CSS file and place it at the end of your main CSS file inside of:
@ media print { /* Insert your print stylsheet here */ }
It's true what they say, you learn something new every day. This seemed worth sharing as I had no idea you could do it until now and I consider myself fairly well versed when it comes to CSS.
Thanks to Scott Hanselman for pointing to this beauty:
Go directly to the download website and get the XHTML validator module for ASP.NET 2.0
Overview:
Josh Twist over at JoyOfCode has a "Validator Module" that sits at the very end of the HttpRequest and validates the page you just rendered as XHTML or not, then displays the detailed results. If you've ever found it a hassle to run XHTML validation on your site at runtime you should take a look at this clever idea. With tools like this ValidatorModule plus validation within Visual Studio.NET always improving as well as tools inside of FireFox to validate, there's fewer and fewer excuses to not render XHTML.
Try the asp.net2.0 XHTML validator out on Josh's site, pound on his demo, and leave him some feedback. You can add it to your .NET 2.0 applications without recompiling. He's also expressed that he could backport it to .NET 1.1 if there's demand.
Every day now there are great new scripts popping up that really really add to the visual presentation of websites. keep in mind a lot of these scripts can be used in SharePoint just as easily in many ways such as the Content Editor Web Part, Site Definitions as well as Page Templates.
One such script I stumbled across today is just too good not to share! Lightbox JS
Lightbox JS is a simple, unobtrusive script used to overlay images on the current page. It's a snap to setup and works on all modern browsers.
How to Use:
Part 1 - Setup
1. Lightbox v2.0 uses the Prototype Framework and Scriptaculous Effects Library. You will need to include these three Javascript files in your header.
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
2. Include the Lightbox CSS file (or append your active stylesheet with the Lightbox styles).
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
3. Check the CSS and make sure the referenced prev.gif and next.gif files are in the right location. Also, make sure the loading.gif and close.gif files as referenced near the top of the lightbox.js file are in the right location.
Part 2 - Activate
1. Add a rel="lightbox" attribute to any link tag to activate the lightbox. For example:
<a href="images/image-1.jpg" rel="lightbox" title="my caption">image #1</a>
Optional: Use the title attribute if you want to show a caption.
2. If you have a set of related images that you would like to group, follow step one but additionally include a group name between square brackets in the rel attribute. For example:
<a href="images/image-1.jpg" rel="lightbox[roadtrip]">image #1</a>
<a href="images/image-2.jpg" rel="lightbox[roadtrip]">image #2</a>
<a href="images/image-3.jpg" rel="lightbox[roadtrip]">image #3</a>
Visit the Lightbox JS site to download
Joris has posted an enourmous list of SharePoint Tools, Get yourself over to the JOPX blog and take a look. I skimmed it quickly and did not see our Team Tools products.
Great job on the list!
CSS Tweak - Keep that CSS file size down:
Try CSS Tweak to keep your stylesheets lean and mean!
A simple test on SharePoint stylesheets:
A Theme (theme.css)
Before: 53k
After 28k
The WSS Default (ows.css)
Before 39k
After 24k
The SPS Default (sps.css)
Before 26k
After 18k
Obviously anticipating the PNG Alpha Transparency support in Internet Explorer 7 it seems the SharePoint team has already been busy implementing some PNG's.
A sign of good things to come!
With Internet Explorer 7 now "Rendering Behaviour" complete the information is coming in fast and furious. Eric Meyer has a great IE7 post with his thoughts.
The IE Blog of course has plenty of information as well as a CSS Zen Garden inspired layout showing off things like fixed positioning, PNG Alpha Channels and Arbitrary Element:hover as well as others. See more about Internet Explorer and it's CSS rendering on the IE Blog.
Dave Shea over at Mezzoblue has some details about IE 7 as well.
A couple of great quotes from the posts that should bring a smile to your face:
In the Explorer Exposed section on Position is Everything, there’s a big list of bugs exclusive to IE running down the left hand side of the page. With one exception, consider that entire list fixed. The exception is the escaping floats bug, which apparently will take a major code re-architecturing that they simply couldn’t do in IE7; it’ll come in a later release. - Dave Shea
No, I don’t think IE will wipe everyone else off the map, but I do think the browser space is getting a lot more interesting. What makes it particularly interesting is that the competition is not going to be over who can add the coolest non-standard geegaws, but who can deliver the best product based on the same standards as everyone else. - Eric Meyer
Talking at Microsoft’s current Mix 06 conference conversation Bill Gates mentioned that IE could see a refresh every 9 to 12 months. Don't forget that the reason MSN Messenger is so widely adopted is due to the update-attention it gets every few months. This is great news!
I'm looking forward to hearing comments from people like Jeffrey Zeldman, Molly Holzshlag and Jakob Nielson.
It seems the last day or two have been huge for SharePoint Customization;
Things I noticed today:
I noticed that Patrick Tisseghem has a site definitions article released on MSDN - good job Patrick.
There is also a new book covering site definitions and other template and customization topics.
Internet Explorer 7 (Beta 2 Preview) has been released and is now "render behaviour" complete. The IE Team has even announced the Internet Explorer Developer Toolbar has a refresh to fix some issues with IE 7.
On top of all this the Office 2007 NDA has been lifted and we can now talk about SharePoint Designer 2007 a little more.
Most of us by now realize that the FrontPage reputation was quite tarnished. Sometimes for good reason while others it was just a "follow suit" type situation.
FrontPage 2003 allowed you to do some fantastic things with SharePoint. I guess that's part of the reason that Microsoft went as far as to completely rebrand it to the now "SharePoint Designer 2007". Expression will pick up the slack for (X)HTML/CSS design. In my opinion this move is simply brilliant.
On that note: Goodbye FrontPage, Hello SharePoint Designer 2007
I have been using SharePoint Designer 2007 for a few months now and I have noticed some really great improvements for SharePoint design/development.
I am not certain on what I am allowed to post screenshot wise so I will refrain until I am certain that I am allowed to post screens of the UI and instead touch on a couple of great improvements I have noticed:
1) My personal favorites from the CSS department: Much better CSS management. Better CSS Editing. CSS Templates available from the "new" menu. Much nicer CSS management, classes are exposed in a list - you can break apart (grouped) selectors, jump-to the stylesheet and line to edit the code by right clicking on a selector as well as many other great additions.
2) Color Coding, Intellisense and Margin Managment!
3) Great ASP.NET Controls built in for menus, web parts etc.
4) Common Tasks - If you add a data-view for example you are presented with a panel of common tasks which are likely to be used, great addition.
There are a tonne of great new featuers these are just a few. I have screenshots of about 10 great things I have uncovered but unless I hear that I can definately post UI shots I will hold off for now.
The OpenXmlDeveloper.org web site was announced this morning by Bill Gates during his keynote presentation at the Microsoft Office Developer's Conference. The site is the home for a new community, the Open XML Developer Group. This group is dedicated to helping its members developer software that supports the Open XML Formats on a wide variety of platforms.
Thanks to Mark Harrison for pointing me to this
At MIX 06 the IE Team mentioned there is now available for download a preview of Beta 2. This version of IE7 is "Rendering Behaviour" complete. This basically means that the additions will be more on fixes/security but in regard to how your pages will render in Internet Explorer 7 you are now free to test your CSS sites and find out. Eric Meyer had some words on IE 7 and Expression on his website.
Get Internet Explorer 7 (Beta 2 Preview)
For those of you that like to catch up on events in bulk be sure to check out the current and upcoming webcasts from Microsoft executives.
http://www.microsoft.com/events/executives/webcasts.mspx
The title of this blog post was actually a title I seen from Microsoft about SharePoint about 2 years ago.
During our Deep Dives last week I noticed how much the 'entire community' can be leveraged. Every single one of us made references to blogs and encouraged people to take advantage of the thriving community available to them.
During the Administration and Disaster Recovery portion I noticed that Steve had referenced a blog post from Mindsharp, a post that Penny Coventry made on "How to find out what level of SharePoint you are using".
That's when I realised just how accepted and thriving the community really is and how much better it works together rather than constantly competing against one another.
If you look at what was actually taking place - There we were on the road to promote "Our (Infotech Canada's) Products/Services". Microsoft was there with us supporting our company, their partner. We were in turn introducing people to other great companies such as Mindsharp. Three companies in the same space promoting one another.
What would have seemed like corporate suicide in years gone past is now openly accepted and encouraged. It's another sign of the ever changing industry we are a part of. A change for the better in my opinion.
I wouldn't have guessed the Halifax Airport would be a highlight of the trip but as it turns out I got to meet and say hello to JD Fortune. For those that followed Rock Star INXS you know he is the new lead singer from INXS, he is also an Atlantic Canadian so that was great. I was a huge fan of JD the whole way through the show so it was neat to get to say hello.
We arrived home last night around 9:35pm. Now it's back to the grind, more on the presentations later.
Amanda and I just landed in Halifax, we have a few hour layover here before catching our flight home so I figured I'd write a quick post.
With the IW Tour over we had a chance yesterday to take in some of the great sights. Just across the bridge from Ottawa is HULL Quebec so that was our first stop. We visited the National Museum of Civilization which happens to have Gretzkys first pair of skates and the puck that went to the moon!
After taking in the museum it was off to the "Market" - anyone that has spent any time in Ottawa knows that this is the "place to be" in downtown ottawa. Tonnes of stores and places to eat - lots of fun. We took in a great Scottish Pub where I had a Tartan special (some thick Scottish beer) before heading over for a famous "Beaver Tail". (A Fried Maple/Chocolate Pastry).
It was a beautiful sunny day in Ottawa so we roamed around downtown for awhile and found this great old church - VERY ellaborate, quite a sight, the Notre Dame I think it was called (quite likely the site of Trudeaus funeral).
After finishing up our walk we stopped by Steven Harpers (The Canadian Prime Minister) house (24 Sussex Drive) just to take a look and then headed home to wrap up with a great BBQ, mmm steak!
We had a very busy and hectic but a very fun week.
More on the Deep Dives when I get back home in a few hours.
We finished up our SharePoint and EPM Deep Dives today in Ottawa. It's been a lot of fun and a great learning experience.
Big thanks to Glen Murray and Gilles Garceau from Microsoft Canada for coming out to kick off the events, lend support and speak to some of the people in attendance. Thanks also to Starshot Promotions for helping organize the event. Last but not least thanks to everyone that came out to the events in both Halifax and Ottawa, and to the Westin Hotel for the great service.
Amanda and I are staying in Ottawa to take in the city for a few more days and flying back home on Sunday, I will have a few photos to share of the event and trip when I return home.
As mentioned we plan to video/web cast the event as well so keep a watch out for that.
Halifax was a lot of fun, there was some great interaction with the people that attended the event. I have a whole new appreciation for people that travel and present a lot now.
We landed in Ottawa last night, we were given the quick tour of the Rideau Canal and Parliment Buildings which are quite a spectacle at night.
We are set to kick off the second event at around 10am at the Westin Hotel in downtown Ottawa. I bought a new 7.2 megapixel sony digital camera before I left so I've been taking a few snaps which I'll share when I get a chance.
I just landed in Halifax ...
I am currently on tour with our IW team to deliver a few days of technical deep dives for SharePoint and Project Server. So far it's ramping up to be a lot of fun.
Microsoft is kicking off the events which span across 4 days, 2 days in Halifax and 2 days in Ottawa. The events are being held at the Westin Hotel in both Halifax and Ottawa so if you or someone from your organization is in the area don't be afraid to drop me a line.
The members of our IW team delivering technical presentations are:
Amanda Murphy - Delivering both SharePoint and Project Server Presentations.
Lloyd Cotton - Delivering an in-depth look customizing data and web part development.
Steve Clarke - Delivering a technical best practices presentation on SharePoint Administration and Disaster Recovery
Oh yeah, and me - My presentation is dubbed "Creating a better SharePoint user-experience via UI customization". I will be touching on the different forms of customization and what you can accomplish with them but mostly on how you can really use them to enhance the overall user-experience and drive user-adoption.
We fly out to Ottawa again tommorow evening. If you want more information on the event please see the Infotech Canada Website - It's in the news section.
For those that cannot make it I am pushing to release the presentations as some type of (screen/pod) cast. Maybe I will speak with Gene over at the SharePoint Show. I will be making the slide-decks available as well so noone should be left out.
So, I have not been ignoring the blog, I've just been busy preparing.
Big thanks to Scott Guthrie for pointing to this videos.
Included in the ASP.NET 2.0 Tutorial Videos is a session on Master Pages.
This goes great with with another set of tutorials on ASP.NET 2.0 and AD Roles/Groups
as well as the MSDN ASP.NET 2.0 how to articles
Great tip from Mauro Cardarelli on showing document icons in a data-view. I use data-views a lot as well and can definately say they are one of the number one reasons *NOT* to be afraid of FrontPage.
I'm a big fan of the Data View web part. I like how I can create one document library then generates “dynamic” pages based on document attriubutes. I do this using the Data View web part (per page) and Filter conditions. It's very easy to create simple HTML tables with document information and the great thing is they require no mantenance. When a document is added to the repository that matches the filter conditions, it automatically shows up on the right page.
One of the challenges with using the Data View web part with documents is the quirkiness of some of the display options. I wanted to show the document icon (pdf, doc, etc.) next to the document title and have it associated with a hyperlink to the actual content. Unfortunately, while the Data View web part has a property called 'File Type', it is text only. So, you are left with a text-based value for the file type and a separate field for the actual document link. Well, I got the functionality I wanted with a little XSL manipulation! Details are below...
Note, the Data View web part requires FrontPage 2003 usage. There has been a lot of talk about FP2003 and unghosting. It is possible to follow the steps below then export and publish the customized web part (through a temporary page) so it can be used on standard pages.
1. Collect your document icons. I created an image library with pdf, doc, xls and ppt icons. You could refer to the actual images on the file system but I wanted a little more control over what I am showing.
2. Drop a Data View web part on a page and connect it to a SharePoint document library
3. Select the DVWP and choose 'Data View properties...' from the right-click menu
4. Drag 'File Type' and other attributes you wish to show onto the table
5. Select the 'File Type' attribute in the table and click 'Create' - 'Apply Formatting...' on the right task pane
6. Create some conditional formatting rules like 'File Type equals doc' then select Format and choose Font; make it red
7. Go to the Code tab and look for your conditional code. It should look like this (minus the comments indicator)...
<!-- <xsl:if xmlns:xsl="http://www.w3.org/1999/XSL/Transform" test="normalize-space(@File_x0020_Type) = 'doc'">color: #FF0000;</xsl:if> -->
8. Replace it with this (minus the comments indicator)...
<!-- <xsl:if xmlns:xsl="http://www.w3.org/1999/XSL/Transform" test="normalize-space(@File_x0020_Type) = 'pdf'"><a target="_blank"><xsl:attribute name="href"><xsl:value-of xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select="@FileRef"/></xsl:attribute><img border="0" src="/Repository/My Images/icon_pdf.gif" width="16" height="16"/></a></xsl:if>
<xsl:if xmlns:xsl="http://www.w3.org/1999/XSL/Transform" test="normalize-space(@File_x0020_Type) = 'doc'"><a target="_blank"><xsl:attribute name="href"><xsl:value-of xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select="@FileRef"/></xsl:attribute><img border="0" src="/Repository/My Images/icon_word.gif" width="16" height="16"/></a></xsl:if>
<xsl:if xmlns:xsl="http://www.w3.org/1999/XSL/Transform" test="normalize-space(@File_x0020_Type) = 'xls'"><a target="_blank"><xsl:attribute name="href"><xsl:value-of xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select="@FileRef"/></xsl:attribute><img border="0" src="/Repository/My Images/icon_excel.gif" width="16" height="16"/></a></xsl:if>
<xsl:if xmlns:xsl="http://www.w3.org/1999/XSL/Transform" test="normalize-space(@File_x0020_Type) = 'ppt'"><a target="_blank"><xsl:attribute name="href"><xsl:value-of xmlns:xsl="http://www.w3.org/1999/XSL/Transform" select="@FileRef"/></xsl:attribute><img border="0" src="/Repository/My Images/icon_ppt.gif" width="16" height="16"/></a></xsl:if> -->
9. That's it! The icon should now shows up in your table and should open a new browser session to your document.
The topic says it all. I have decided that I am going to create any worthy tips, tricks and tutorials on SharePoint customization in portable format (PDF).
This way if you have to be offline, or if you are in a rush and just want to download/print the tips and tricks it's easy.
You will notice a downloads link in the menu. The downloads page will store any portable versions of the tutorials that I write in a single as intuative as possible list. I just added the first one - a super simple guide to using the Internet Explorer Dev Toolbar to find what CSS class is applied to what element on a SharePoint site.
I get this question at least a couple of times a week via email. "How do I figure out what classes are applied to what elements in SharePoint"? The answer? ...
Internet Explorer Dev Toolbar.
The Internet Explorer Dev Toolbar integrates with the Document Object Model (DOM) allowing you to phsyically select (by simply clicking on) any element on the page and have a list of attributes (including CSS classes/ID's) displayed.
Download the Internet Explorer Dev Toolbar
I can't wait - take me to the SharePoint Podcast
Overview
The show takes you on a 30-minute audio tour of more than 100 features in the new version of SharePoint, along with indepth perspectives on this topic by SharePoint MVP Dustin Miller of SharePoint Experts and SharePoint University. You won't find this much detail about SharePoint 2007 anywhere else! Don't miss it! You'll find The SharePoint Show in iTunes or by visiting the website http://www.sharepointshow.com.
Don't miss out on this podcast, Dustin is a fountain of useful information. I am very impressed with the SharePoint Show so far!
Good job guys
This article is courtesy of the SharePoint Team
We'll cover the integrated framework we are using in the next release of SPS + CMS (breaking news - now officially Office SharePoint Server 2007 - I will cover that in a second post later today) to enable people to create, manage and publish the spectrum of very simple to very sophisticated internet sites. We've learned a lot from a variety of customer feedback on ASP.NET, WSS, SPS, CMS, FrontPage and more and hopefully brought this all together in a powerful way. Let's go through them piece by piece.
1) Master Page
Master Pages are an ASP.NET 2.0 feature that lets child pages inherit and re-use a common design. This only makes development and maintenance of the site much easier. New pages don't have to re-do the work of the master. When you want to apply a new design, just change the master. Typically they will contain the branding, navigation, header and footer for the site. We used this to implement the overall "visual blueprint" of SharePoint including access to the end user features. In a more static internet site, little of this will be exposed which is why we'll provide different example master pages to support different scenarios. At rendering time, the page brings in the code from the master so it is always up to date. Master Pages have first class support in the next release of Windows SharePoint Services and Office SharePoint Designer 2007 (also new - wait until next post). In the picture above, the branding section and navigation are part of the master page. I should note that we'll have a lot richer navigation options out-of-box than SPS 2003 or CMS 2002 and if you don't like ours you can buy or build a 3rd-party controls written to the new ASP.NET 2.0 navigation provider interface and still use all our underlying site management capabilities.
2) Page Layouts
Page Layouts are a feature we evolved from CMS 2002 into the new integrated SPS \ CMS (oops Office SharePoint Server - still getting used to that) building on the Master Page support in the next release of WSS. In a large site, there a number of different page types (e.g. Product Description, Press Release, Executive Biography) that should have a standard look and feel. Web site owners not only want to save the work of redoing these, they also want to enforce consistency in the site across the authors and have the flexibility to change them later. The layout is separate from the underlying content in the site. The "page layout" is an ASP.NET page with special "field controls" (aka placeholders in CMS 2002) that know how to bind to WSS data. These layouts may or may not also have web part zones which tells the framework if users can add parts in the browser. More on this below. In the example above, we have a standard Adventure Works "News" Page Template with the authoring console visibile (it isn't by default and people who don't have the rights to see this won't). The stuff on the left is based on field controls and the stuff on the right is in a web part zone we have allowed the page editors to customize.
3) Page
Just like CMS 2002, we use the powerful concept of separating presentation from data in web publishing. In the Office SharePoint Server, the actual "page" is a item a WSS list and the framework knows how to assemble these. This list has columns that are bound to three field controls (title, picture, article). Re-using SharePoint lists for data storage lets us build on existing and new WSS list features like content types, check-in/out, versioning, per item security, workflow and more more. In edit mode, the field controls place constraints on the author for what content they can put in the "page".The screenshot above shows the page with the console visible where authors, approvers, etc. have the appropriate actions based on their role.
4) Web Parts Zones
One of the trickiest aspects of the design was getting the relationship between field controls and web parts right. Field controls are bound to a WSS item so workflow, etc. just works. By design, Web Parts are less tightly coupled. In fact one of their advantage is just using the browser, users can add them to the page. As with WSS and SPS V2, there's a lot of flexibility in this model for customization, personalization and targeting that site owners can choose to use.
a) Customization allows parts to be added for all users - we see a lot of site owners restricting it to a few people for more productive site design in just the browser. It will be fun to see what stuff people do upfront using Page Layouts vs. just-in-time via Web Parts. Feel free to choose any point on the spectrum on using field controls exclusively to using web parts or a combination.
b) Personalization allows each user to set their own parts in the zone - ASP.NET and WSS do the bookkeeping in SQL tables for this. There's a lot of pages where enabling personalization makes sense but many where it does not and you can turn it off.
c) Targeting is an SPS V2 feature (one many CMS 2002 customers asked for as well - it comes return in the trade for page layouts) that lets publishers show different content to developers vs. marketing based on their "audience". In the example above, the top right web part could be targeted just to sales people but everyone else accessing the page wouldn't see the part. We have made targeting even easier in the next release by letting you directly target to an existing group vs. requiring the work (and the privleges) to set up an audience that maps to the group.
5) General Purpose Web Parts
Almost home! One thing we noticed across CMS and SharePoint was many people were writing the same code over and over for many pages and sites particularly for summary "landing pages" and views on business data. While I love our flexibility with ASP.NET, I really want to reduce the code required to build and maintain cool sites. We have also learned the robustness of the ASP.NET and WSS security model can be a double-edged sword. To install a new web part in SharePoint, you need pretty advanced priveleges which many IT admins have restricted in consolidated intranet SharePoint farms and internet prescences for obvious reasons. Often they don't have the time or resources to test new potential web parts. So what we've tried to do is create some extremely flexible, data-driven parts that empower the site publishers.
a) Summary Links and Content-By-Query - These parts address the incredibly common practice of tweaking HTML tables with a list of links and formatting of associated pictures and text. We will be provided a lot of different styles out of the box and support adding your own CSSs. The middle web part in the right column is an example of this. We'll have two versions - one that does versioning and workflow of the links as part of the page and a second (Content-By-Query) that lets you query content elsewhere in the site. We'll probably tweak these names before we ship. But hopefully, a lot less table tweaking to build cooler lists of links, images and people.
b) Business Data Web Parts - We are greatly enhancing the WYSWIG XSLT web part that came with V2 called Data View and let you do rich formatting of remote XML or database calls. You can use this directly against your remote source but it will also be the rendering foundaiton for re-usable business data conncetions we are calling the Business Data Catalog. You can use the BDC to register entities and actions from remote LOB systems like SAP, Siebel and Dynamics as well as databases vs. hard coding them into every web part. Just like with content - we are trying to provide separation of presentation from data and easier re-use and customization. In addition to the BDC parts, we'll have parts designed for simple business intelligence scenarios. In the example above, I've shown a KPI (Key Performance Indicator) Web Part that can bring in data from SQL Analysis Services, Excel Services, SharePoint lists or even just static data.
We're eager to see all the cool intranet, extranet and internet presences you build with the next release!
-- Jeff
Information on Office 2007 (formerly known as Office 12) is quickly spreading and people are thirsty for more.
Paul Thurrott set up an Office 2007 FAQ on the wnSupersite.
Great post from Daniel M'Cpherson:
Unwanted Authentication Prompts
I’m often bumping into customers who complain they are getting “Too many authentication prompts” when using SharePoint. So, I thought it would be useful to throw together a quick post outlining some of the common causes I have found, along with an explanation and possible solutions:
Read the entire article on SharePoint Authentication Prompts over on Point2Share
Congrats to Amanda
I have known about this for quite awhile but was unsure on if I was allowed to post it yet but obviously I can now.
Amanda Murphy was appointed Vice President of INETA Community Activities. Amanda puts an enourmous effort into the community and user-groups, alot of which is behind the scenes and you do not even see right away.
Press release below:
INETA Announces New Board Members
INETA ANNOUNCES APPOINTMENT OF AMANDA MURPHY AS VICE PRESIDENT OF COMMUNITY ACTIVITIES AND SCOTT SPRADLIN AS VICE PRESIDENT OF MARKETING
Redmond, WA – February 1, 2006 – INETA, an organization that provides resources, services, and support for .NET user groups around the globe, today announced the appointment of Amanda Murphy as Vice President of Commuinity Activities and Scott Spradlin as Vice Presidnet of Marketing for INETA North America. “Amanda has been a valuable member of our Community Activities team and is well positioned to lead the team. Scott has been a member of the Marketing team and we are pleased to have him in a leadership role.” says Chris Pels, President of the North American Board of Directors.” Both individuals will be leading several new community efforts with their teams.
About INETA
INETA's mission is to provide the developer user group community with information, resources, and services to facilitate the growth and development of user groups and their membership. Supported by Microsoft Corporation and other sponsors, INETA is an independent volunteer organization run by user group leaders and developers. Currently, INETA supports 773 user groups that represent more than 365,000 developers worldwide. http://www.ineta.org.
Read this article on INETA: Amanda appointed VP of Community Activities at INETA
Thanks to Jan for pointing me to this:
REDMOND, Wash., Feb. 15, 2006 – As the Internet becomes an increasingly valuable environment for individuals and organizations to share information, collaborate and carry out tasks, the people tasked with building Web sites to support these activities need increasingly powerful and versatile tools to accomplish their goals.
Having adopted technologies such as Microsoft Windows SharePoint Services and Microsoft Office SharePoint Portal Server 2003 to help create, manage and build collaborative Web sites, many organizations are discovering that their current Web-authoring tools lack support for the latest standards and capabilities that SharePoint products and technologies makes possible – such as ready access to data coming from multiple outside sources and the capacity to build no-code, powerful applications and automated workflows. Professional Web site designers also are feeling the pressure to deliver more dynamic and interactive user experiences, and to create sites more rapidly and cost-efficiently.
In response to these diverse demands, Microsoft is introducing a new tool, Microsoft Office SharePoint Designer 2007, for building SharePoint applications and designing SharePoint sites. This new product – part of the full 2007 Microsoft Office lineup announced today – will join Microsoft Expression Web Designer, the next-generation tool for designing dynamic, standard-based Web sites, to deliver a complete set of tools for Web design and development. Both products are currently in initial beta testing. Microsoft Office SharePoint Designer is scheduled for release in the second half of this year at a suggested retail price of US$299 through retail and Microsoft Volume Licensing channels. Pricing and availability details for Microsoft Expression Web Designer will be announced in the near future.
PressPass recently asked John Richards, director of Windows SharePoint Services at Microsoft, to describe how these new products fit into the company’s overall approach to Web authoring technologies.
So what is happening with FrontPage?? ... Here's the answer:
PressPass: What is happening to the current FrontPage product, and how is Microsoft communicating with FrontPage users to alleviate concerns about migration, ongoing technical support and the like?
Richards: After we fully release SharePoint Designer 2007 and Expression Web Designer, FrontPage will be discontinued gradually. This process will bring our customers and partners a broader choice of tools that go far beyond the capabilities within the current FrontPage product to meet the needs of today’s and tomorrow’s Web authors, designers and developers.
In the meantime, Microsoft will continue to provide current FrontPage customers with full product support through June 2008, as well as clear guidance on how they can smoothly migrate to SharePoint Designer 2007 or Expression Web Designer, depending on their roles and needs. In the near future, all registered Microsoft Office FrontPage customers will receive e-mail from Microsoft outlining our overall strategy and roadmap for these next-generation Web authoring tools. We also will provide continual updates on the Microsoft Office product Web site. In addition, current FrontPage customers in both the retail and enterprise channels will be able to take advantage of special upgrade offers starting in the second half of 2006.
Read the whole Microsoft Press Release on SharePoint Designer 2007
I just watched the new Bill Gates video on Channel 9 and one quote about SharePoint stood out:
Bill Gate: "SharePoint will become on the Server what Office has become on the Client". That is promising news in my opinion.
Watch the video:
Bill Gates talks about Office 2007, SharePoint and his Internet habits
Big thanks to JOPX for pointing me to this:
The Office team is expected to unveil on Thursday branding around Office 12, according to sources. NeoWin.Net reported on Monday that Microsoft is planning to unveil Office details, including product names, licensing information and some "directional pricing information" around its next-gen Office suite. We're hearing the same. We're betting Office 2007 will be Office 12's official name. And we hear SharePoint Portal Server simultaneously is being rechristened "Office Server."
Read the Office 12 Branding and Pricing article
A lot of people have heard about the benefits of using CSS, they have heard lots about separating presentation from markup/content but they have never really had the basics of CSS based design laid out for them.
Many people have never really tried out pure CSS designs because they are intimidated by not knowing, or because it's time consuming to learn and execute. This article is a great starting point for those that just want to understand how CSS works.
The following chapters cover all the basics of CSS design.
Read The Basics of CSS Design
I just noticed this neat little tip over on MSD2D.
By Default all text boxes have fixed width of 386px. It's common to wish to change this and here is how you can do it simply using CSS.
Note: This message is not part of the MSD2D article but ... Remember editing "Default" files is never a good idea. This situation is slightly different as it is a lightweight edit but make sure you comment very well anything you change. This is better done via a theme.css in my personal opinion but that wouldn't make it global.
Open OWS.CSS. It is located under C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\LAYOUTS\1033\STYLES. (for non-english WSS and non-english site definitions, too, you should find and open corresponding OWS.CSS files).
Change width in ms-long class from 386px to 100%.
This class is used by ListFormWebPart for text fields (like Title) and multiline text fields (like Comment).
Add width: 100% to ms-formbody class.
This class is used by ListFormWebPart for
Code Sample
.ms-long {
font-size: 8pt;
font-family: Verdana, sans-serif;
width: 100%;
}
.ms-formbody {
font-family: verdana;
font-size: .7em;
vertical-align: top;
width: 100%;
}
Eric Shupps (The Sharing Point) has an interesting approach to creating dynamic stylesheets.
I have created site definitions using the same styleswitcher that this site uses (when you change the navigation from left/right) but never this method. It's an interesting read.
Head on over to Eric's blog and read Dynamic Style Sheets.
Free Web Part from SharePoint Solutions called Events for You
Overview:
The Events for You Web Part functions in a manner very similar to the Links for You Web Part that can be found on the Home Page and Personal MySite page of SharePoint Portal Server. With this free Web Part, Event Items from the Events List located in the portal’s root web are presented to portal users based on their Audience membership. The Events for You Web Part can also be configured to override a user’s Audience membership, targeting Events to a definable set of one or more Audiences. In order to function properly, the Events for You Web Part requires that the Events List located in the portal’s root web be customized with the addition of an “Single line of text” type column named Audience. The Audience column can contain a semicolon delimitted list of Audiences for targeting that particular Event Item. The Events for You Web Part also requires that the Events List has the “Current Events” view.
Head on over to the SharePoint Solutions Blog and Grab a Copy of Events for You
By now everyone has heard the term "Web 2.0". The term was brilliant from a business perspective but somewhat annoying from a technical one.
First we have to figure out what it (Web 2.0) actually means based on dozens of different opinions and then make our own idea from it.
To me web 2.0 means the web is evolving - It's a marketing/hype term being used to breathe new life into a stagnant internet. In short it's simply a buzz-word but it does have merit.
Does Web 2.0 really exist? I guess it depends on your idea of what web 2.0 really is but yes there is something to it when the big players like Microsoft (www.live.com) decide they're going to make an investment. Google is also rumored to have some 2.0'ish experinments in the works. (Ajax Web Editor)
My idea of what web 2.0 is simple, It's a more portable, usable, content-centric and just plain enjoyable online user experience made possible by the numbeous new technologies such as AJAX, Ruby on Rails, .NET 2.0, CSS 3 etc.
This leads me to my main fears for Web 2.0:
Don't take this the wrong way. If the SharePoint Technologies team was to adopt the web 2.0 thinking for the platform I would do the happy dance, twice.
What does this have to do with SharePoint?:
To me SharePoint is a perfect example of web 2.0 (idea wise) but not architecture wise. If however the team was struck by lightning and had an decided to simplify the UI, rethink the markup model of bloated tables and implement instead CSS based layout well then you would have a platform that people would "want" to extend to the extranet.
The idea of making it so easy to create lists which allow users to capture and store dynamic data was brilliant. The idea of re-usable drag and drop components (web parts) was brilliant. When I look at www.live.com or www.netvibes.com etc I just can't help put think of what SharePoint could be as an external platform.
For awhile we (The SharePoint Technologies Bunch) were having semi-frequent chats via MSN Messenger. It seems we have become burdened with other responsibilities as we've not had one in quite awhile. I would like to change that in the not-so-distant future and begin having our conversations again - they were fun and its a great way to show off your new and cool projects/ideas.
80% of the questions I get now-a-days come through email but if you have a cool idea, a problem or just want to say hello you can conact me via:
MSN Messenger:
shane@infotechcanada.com
Google Talks:
shane.perran@gmail.com
My email of course shane -at- graphicalwonder.com will still work just fine.
I have had many emails over the last while about the SharePoint Site Template Tutorials. I figured I would give everyone an update here.
If you don't don't care and just want to download the SharePoint Site Template Tutorial Files
Note: I had to "salvage" what is left so there may be gaps.
If you are curious as to the delay, there was good and bad news about the tutorials:
The bad news -
The good news:
In hopes of getting feedback from the SharePoint community on our commercial SharePoint products, I have decided to start a community beta program.
This allows me to release alpha and beta evaluation copies of our commercial web parts into the community long before they’re ready for public consumption or even evaluation. (Keep in mind this also means you must install them in a virtual environment or at the very least on a testing server.
We are now ready to accept members of the SharePoint community that are interested in testing our commercial web parts so if you are interested please contact either: Amanda Murphy or me Shane Perran
One such web part that I am very excited to introduce to the community is called EasyForms.
What is Team Tools – EasyForms?
SharePoint lists are a great place for creating quick and easy to use data stores for information. They are easy to create and can store a variety of types of information such as tasks, issues, requests, ideas, contacts etc... Creating lists is easy and a huge part of how SharePoint is used.
In many organizations, lists are created throughout portal areas, site collections and workspaces for teams to collect information and collaborate with each other.
EasyForms is a web part for SharePoint that allows you to connect customizable forms to SharePoint lists and then place those forms on any page. This means we can have a single list hosted on a SharePoint site but it can be fed from a variety of locations through EasyForms.
Example #1: The IS team in your organization collect service requests from all departments in the organization so they have a list on SharePoint for tracking these requests. Rather than having users log into the IS team’s SharePoint site to post issues, you can instead drop an EasyForms web part on each divisional site and connect it to the IS team site. Users can post directly to a single centralized list without leaving their own site.
Example #2: The HR Division has created a feedback list for all employees to fill out whenever they want to voice their opinion on topics. The posted information is considered to be highly confidential and should only be viewed by a select group of users. To accomplish this, they create a list on their private team site and place an EasyForms web part on an area of their portal that is visited by all users. The form submits the information directly to the SharePoint site using impersonation.
Example #3: You want to have a single calendar on your portal that displays every member of your company that is out of the office on a given day. Not every user will feel like navigating to this list every time they need to book time off. Instead they would prefer to submit the information from their MySite since that is the site that is set to be their home page. To facilitate this, you create a custom list with a variety of custom views. You then drop an EasyForms web part on the shared view of each user's My Site to make it easy for all users to post to a central list without having to visit the area of the portal that the list is hosted on.
In short, the number of ways this web part can be used is unending. We have been using a previous version of this web part in our company for the last 3 years. We are excited to finally have the opportunity to share it with the rest of you.
Key Features:
Tool Pane Form Management featuring:
Screenshots:
The Form Manager (Web Part Properties/Tool-Pane)

The Stylesheet Editor

The Form/Web Part as it looks customized

Contact me if you are interested in previewing our commercial web parts in the community beta.
I don't think I ever remember to add a link to this awesome resource listing even though I have used it 100 times. Amanda sparked my memory by noting the updated SharePoint Search resources.
Visit Eli's SharePoint Resource Listing.
A very handy tip from JOPX
Change the fields in the current view of a listviewwebpart
The AllUserswebpart section in ONET.XML defines which webparts are added to a site at site creation. For every list that is created on a site, you can easily add a listviewwebpart by adding
The value for the List property references the ListTemplate element in the ListTemplates section - 104 is the ID for the Announcements list. The webpart on default.aspx uses the current view as defined in SCHEMA.XML with BaseViewID=0. If you want to change which fields are displayed in this view, you need to alter the ViewFields section in SCHEMA.XML.
Each year certain posts from the previous stand out, this is one of those type posts.
Bil Simser has a fantastic post on creating a virtual development environment for SharePoint.
Great article on how far Portals have come and where they are going. The article touches on ease of use, personalization and content management.
One very notable quote on SharePoint Portal Server
Microsoft is investing big money (hundreds of millions of dollars) into evolving its Sharepoint portal product and merging MS Content Management Server (CMS) and Sharepoint into a single group
Read the article: The future of Portals
For those of you that deal with user-experience in your day to day you have no doubt heard of Jenny Lam.
Jenny is "the" user-experience person at Microsoft and has been doing an awesome job overseeing the creating direction of many things not the least of which was the PDC materials. My only question is how do we get Jenny in the SharePoint war-room? :)
Robert Scoble has an intereview with her on Channel 9.
Watch the Jenny Lam - Designing Experiences at Microsoft video.
I just noticed this on Patrick Tisseghem's blog,
Pedro from Cavedigital shows up how to implement Pandora into SharePoint - A little CEWP love..
For those wondering what Pandora is:
http://pandora.com/
Fitz has an interesting post on Web Services for Remote Portlets
What Is WSRP?
The abbreviation stands for Web Services for Remote Portlets. There are plenty of details, but in essence, WSRP defines how to use SOAP to request and receive blocks of HTML (as opposed to making a method request and getting back XML data, which is what we usually request/receive using SOAP).
One thing is for certain with SharePoint customization. People can never get enough information on site definitions. Bob Fox has written an article on Ghosted -vrs- Unghosted.
I have not had a chance to read the full thing yet but so far it looks good. Head on over to Bob Fox's blog and take a look at this and many other great articles he has written.
Get yourselves on over to the Bob Fox Blog!
Ghosted versus Unghosted (pages) in SharePoint
This is a very old piece of information but I still get this question semi-frequently via email so I figured I'd pop it on the blog as well.
Disable FrontPage Authoring in SharePoint
On the server that is running Windows SharePoint Services, locate the site template that you want to modify. Site templates are located in the following folders on the server, where Drive is the drive that Windows is installed on, and where LangID is the language version of Windows SharePoint Services that is installed on the server.
• SharePoint Team Sites: Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extentsions\60\Template\LangID\STS\XML
• Meeting Workspaces: Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extentsions\60\Template\LangID\MWS\XML
For example, if the English (United States) language version of Windows SharePoint Services is installed on the server, the SharePoint Team Site site template is located in the following folder: • Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extentsions\60\Template\1033\STS\XML
2. Open the Onet.xml file that is in the XML folder associated with that site template.
3. Locate the Project Title tag, and then add the DisableWebDesignFeatures attribute.
The following is an example of the Project Title tag with the added attribute:
4. Restart Microsoft Internet Information Services (IIS).
Read it on MSDN.
Disabling FrontPage Authoring in SharePoint
While Windows SharePoint Services 2.0 comes standard with Small Business Server and Windows Server 2003, what do you do if you don't have these? or SharePoint Portal Server?
You can still take advantage or just get to know SharePoint by choosing a SharePoint Hosting provider. One such provider is FrontPages Webhosting Network.
Visit FrontPages Webhosting Network to learn more about hosted SharePoint Solutions and how you can take advantage of the SharePoint platform even without having your own server.
http://www.frontpages-web-hosting.net/
I was wondering how long before SharePoint podcasts started to pop up. While some of the technical podcasts touch on SharePoint this is one completely dedicated to the technology.
The SharePoint Show is an independent podcast and is not affiliated with, nor has it been authorized, sponsored, or approved by Microsoft Corp., by the producer's daytime employer, or by any other company.
Visit the SharePoint podcast site - The SharePoint Show
As per usual great work and contributions by Jan Tielens,
Thanks to Jan Tielens for taking the time to put together some SharePoint code-snippets for Visual Studio 2005.
One CSS fix the Internet Explorer 7 Team promised with the new version was the ability to add pseudo classes to arbitrary elements. They made good on that promise.
For example: adding :hover to a li
If you look at the significance of this you would have to think back to the days of the incredibly bloated javascript/dhtml drop down menus.
Gone are those days! Now we can make super-lean menu systems all with proper markup. Minus the (pretty) factor we can now make a drop down menu using a simple unorderd list and 2 simple CSS rules.
CSS
li ul {display:none;}
li:hover ul {display:block}
HTML
<ul>
<li><a href="#">About</a>
<ul>
<li><a href="#">History</a></li>
</ul>
</li>
</ul>
Renaud's blog has always been one of my favorites. He posts some great stuff. Here is another example:
Read the entire article on:
Configuring Office for specific SharePoint needs
A must read for all Web/SharePoint developers.
Overview:
Internet Explorer 7 contains a number of improvements to cascading style sheet (CSS) parsing and rendering over IE6. These improvements are aimed at improving the consistency of how Internet Explorer interprets cascading style sheets as recommended by the W3C in order that developers have a reliable set of functionality on which to rely.
In some cases a few of these changes may have the effect of making existing content render in ways that are not compatible with IE6. This is often seen with elements moving to a different area of the page or overlapping content when viewed in IE7. These issues are most common on content that is using particular CSS constructs (often know as "hacks" or filters) to work around bugs that existed under the strict mode in IE6. In this article we'll discuss why pages might be broken due to updated CSS support and the best ways to address the issues that result from it.
Read the entire Internet Explorer 7 Cascading Stylesheet Compatibility article
Great post from Eric Legault on SharePoint alerts without Exchange running. Good ole SMTP.
I'm so used to working with SharePoint in a network which has Exchange running that I’ve never really thought about working with Alerts without Exchange. I recently set up WSS on my home domain, and although I have Exchange on a Virtual PC it is never running 24/7.
Then I got to thinking: what if I pointed SMTP on the WSS box to the same address that I use for my e-mail accounts with my broadband ISP? Sure enough, it works!
For those of you not familiar with configuring SMTP, go into IIS and expand the Default SMTP Virtual Server. In the properties dialog, click the Advanced button on the Delivery tab and set the Smart Host to the SMTP address for your ISP, and add YOURSERVERNAME.YOURDOMAIN.COM in the Fully-qualified domain name box. You should also go to the Central Administration page and the “Security Configuration” -> “Configure default e-mail server settings” link. Set the Outbound SMTP Server value to the same thing, and have replies go to an Internet e-mail address as well (this is where bounces will be sent).
Having working alerts is pretty handy too for home WSS adoption; everyone has a family WSS site by now, right?
Read the entire SharePoint User Alerts without Exchange article over at Eric's
Great tip Eric!
Common Question:
Is it possible to search our intranet (SPS) using MSN Desktop Search?
Answer:
This tidbit from Mark Harrison:
Ive just come across a Registry hack to add a button to the UI (need to logoff/on).
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\DesktopSearch]
"PrimaryIntranetSearchScopeUrl"="Intranet,http://msweb/search.aspx?k=$w"
Save the text in a file with a .REG suffix and then invoke it. Note replace the name in green with your SharePoint machine name.
See also:
Searching SPS using MSN Desktop Search by Mark Bower
MSN Desktop Search supports some basic extensibility using an aliasing syntax to create web shortcuts. You can use these shortcuts to enable you to search your intranet from the MSN DeskBand.
Let's say your SPS site exists at http://my-portal/. SharePoint Portal Server allows you to initiate a search via an HTTP GET request. The syntax for this is defined in the SharePoint Products and Technologies SDK. If I wanted to search for the term Office on the portal the search URL would be: http://my-portal/search.aspx?k=Office. To perform this search from the DeskBand you need to create a shortcut to the portal search. Type the following command into the deskband and press Enter:
@sps,http://my-portal/search.aspx?k=$w
Hey Presto, you have some basic integration with SharePoint search! Now you can just type:
sps Office in the Deskbar to kick off SPS search for the word Office.
The SPS search syntax also enables you to further narrow down the search scope, specifying just people, just documents etc., so you could create other more specialist shortcuts. For instance for a people search you can use this shortcut:
@person,http://my-portal/search.aspx?k=$w&w="DAV:contentclass"='urn:content-class:SPSPeople'
And do a search from the DeskBand like this:
person Mark Bower
The full SPS HTTP-GET syntax is defined here: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/SearchGET.asp
Great tip from Dustin Miller
I mention in just about every Bootcamp that the biggest problem with calculated fields is that you can't use them in lookups. Well, the solution, as I mention in class, is to perform your calculations on the client-side. What I don't mention in class (it's a “SuperGeek Moment”, so it's meant to get the gears turning) is the actual code. Thus I have decided that I'm going to try and write a weekly “SuperGeek Tip”. This week's tip: Calculating “Full Name” using client-side script, so SharePoint is blissfully unaware that Full Name is anything but a plain text field.
At the bottom of the NewForm.aspx and EditForm.aspx for any default Contacts list, just above the closing
element, add this code (inside a script block of course)
var lastName = document.getElementById("urn:schemas-microsoft-com:office:office#Title")
var firstName = document.getElementById("urn:schemas-microsoft-com:office:office#FirstName");
var fullName = document.getElementById("urn:schemas-microsoft-com:office:office#FullName");
lastName.onchange = fixFullName;
firstName.onchange = fixFullName;
function fixFullName() {
fullName.value = firstName.value + " " + lastName.value;
}
You can do this in FrontPage 2003, or you could modify the list definition files yourself (the so-called “Ghosted” template -- be aware, Microsoft doesn't support you touching those files if you've already deployed sites based on that site definition).
Once you've done this, adding contacts / editing contacts will both cause Full Name to calculate whenever the values of First Name or Last Name change.
-- Nice Tip Dustin!
Amanda just emailed me this article on the 10 best intranets of 2006
Ten Best Intranets of 2006 (by Jakob Nielsen)
Summary:
This year, we saw increased use of multimedia, e-learning, internal blogs, and mobile access. Winning companies also encouraged consistent design by emphasizing training for content contributors.
The ten best-designed intranets for 2006 are:
Allianz Australia Insurance, Australia
ALTANA Pharma AG, Germany
Bank of Ireland Group, Ireland
Capital One, USA
IBM, USA
Merrill Lynch, USA
METRO Group, Germany
O2, UK
Staples, USA
Vodafone, UK
Read the entire 10 Best Intranets of 2006 article.
Eric Shupps has a nifty post on customizing the admin pages. While I have not yet had a chance to go through the whole thing I am a big fan of Erics in depth posting style so I'm certain it's worth a read!
I cannot tell you how many times I have been asked by clients - "So how do you customize the admin pages"?
Read more about Customizing SharePoint Admin Pages here.
Nice post Eric.
If you have not already seen/used Bob Mixons Quick Launch Web Part then you don't know what you are missing. I am posting on this again because I need the link stored away in my blog. I have been using my search an aweful lot lately, especially while on the road.
Great Job Bob!
These are hands down my favorite type of posts. The "best" of type where someone has been putting together all the nifty things they found in the year previous.
JOPX has a great little post on some of the things he's found interesting about SharePoint since October 2005.
Head on over to JOPX's blog to read the SharePoint 2005 Highlights
Jesse Liberty recently published a nice tutorial on building dynamic portal-like UI with drag/drop end-user customization using the new ASP.NET 2.0 Web Parts functionality.
What are you waiting for? Go read the Web Parts in ASP.NET 2.0 article!
Thanks to Scott Guthrie for linking to this!
Mark Harrison gives some insight on the new buzzwords to remember when thining of MCMS. Given it's recent addition to the o12 family they wanted to get more in line with SharePoint terminology.
Check Mark Harrison's blog for the new MCMS terminology
While the Content Editor Web Part is anything but ideal for actual "content editing" it does serve as a great tool for adding snippets of javascript to a page to manipulate the DOM or add a client side mini-application. I am a big fan of using the CEWP for these types of jobs.
One of the key things you can do in SharePoint using the content editor web part is manipulate the DOM using getElementByID.
Learn more about using getElementById:
http://www.getelementbyid.com/scripts/index.aspx?CodeID=27
Todd Bleeker has bunch of great CEWP things in the works
http://mindsharpblogs.com/todd/articles/793.aspx
2005 was a big year for Microsoft Windows SharePoint Services as a platform for business solutions – and 2006 looks even brighter.
REDMOND, Wash., Jan. 20, 2006 — Heading into a new year, it’s always good for companies to reflect on what worked well in the past year, so they can build on that success. For Microsoft in 2005, one of the biggest winners was SharePoint Products & Technologies.
Today more than 600 systems integrators (SIs) and independent software vendors (ISVs) are building portal and collaboration solutions which utilize Microsoft SharePoint Products and Technologies, and more than 350 partners are extending the functionality of Windows SharePoint Services specifically for their solutions. Popular solutions include collaborative applications to help automate business processes, business intelligence and performance management solutions, search and workflow software, and vertical or industry specific solutions. The solutions demonstrate Microsoft’s commitment to meeting customer and market needs for more interoperable software that benefits customers and the IT ecosystem.
According to Kurt DelBene, corporate vice president of the Office Server Group at Microsoft, the extensibility of Windows SharePoint Services is a conscious design choice to create a product that takes advantage of the industry’s rich ecosystem of solution providers and highly specialized software developers.
“We have designed Windows SharePoint Services with the foundational components that enable customers and partners to develop solutions for collaboration, content management and portals,” DelBene says. “The capabilities we have designed and implemented as part of WSS provide that foundation for third parties, ISVs, customers and systems integrators to develop robust business solutions on top of it.”
Read the entire SharePoint in 2006 article
I just noticed this on Mark Krugers Blog.
Tracking in Windows SharePoint Services
A very common use of Windows SharePoint Services lists is to track important information. Lists are really useful as a tracking tool; they can easily be sorted, filtered, grouped. They can be easily edited and the Datasheet control can be used for bulk list operations. By subscribing to a list for alerts, individuals can easily identify when important changes happen to the list items they care about.
In Windows SharePoint Services V3, we have added some additional features to our list infrastructure that are both useful in their own right, and also make it easier to build more sophisticated tracking applications.
Read the entire "Tracking in the next version of Windows SharePoint Services" article
Seems there is a bug with the layout for the AREA Content Web Part in SharePoint Portal Server. If you turn on the borders the right border doesn't display.
I just fuddled with it for a few minutes and came up w/ this quick fix. This was easy to fix thanks to the Internet Explorer Dev Toolbar a tool I must say absolutely goes hand in hand w/ SharePoint Customization now.
Add this to your custom stylesheet for SharePoint Portal Server. (I say custom because I know you are linking to your own and not editing SPS.css right?).
/* Fix for the AREA CONTENTS border */'
td.ms-WPborder div { width:99%; }
As you can see after looking at the DOM I noticed a TD then a DIV so I tried reducing the divs with just a tad to see if it would display the border. Sure enough it works.
I am adding this here for the general public and myself. I have accessed my blog about 50 times while on the road searching for quick fixes.
Happy Customizing
Seems there is a bug with the layout for the AREA Content Web Part in SharePoint Portal Server. If you turn on the borders the right border doesn't display.
I just fuddled with it for a few minutes and came up w/ this quick fix. This was easy to fix thanks to the Internet Explorer Dev Toolbar a tool I must say absolutely goes hand in hand w/ SharePoint Customization now.
Add this to your custom stylesheet for SharePoint Portal Server. (I say custom because I know you are linking to your own and not editing SPS.css right?).
/* Fix for the AREA CONTENTS border */'
td.ms-WPborder div { width:99%; }
As you can see after looking at the DOM I noticed a TD then a DIV so I tried reducing the divs with just a tad to see if it would display the border. Sure enough it works.
I am adding this here for the general public and myself. I have accessed my blog about 50 times while on the road searching for quick fixes.
Happy Customizing
Who cares, Bil Simser is busy creating an awesome looking implementation of what we would assume discussion forums SHOULD look like, and how they SHOULD work.
Nice work Bil! - Go check Bils site now to learn more about the New SharePoint Discussion Forums
Sigfrieds Weber's URL has changed slightly, you can now find him at:
http://www.asaris.de/sites/playground/default.aspx
Sigfried Weber's new RSS feed is at:
http://www.asaris.de/sites/playground/rss/index.xml
Wow it seems like everyone at their wheaties this morning. Either that or people learned a lot last year and are ready to start letting people know this year.
Dustin has a great post on Document library taxonomy best practices
I just noticed a post on Erics site on customizing/modifying user-created web part pages, it's worth a read for sure.
Overview:
User-defined web part pages allow web designers and portal members to create isolated pages with the same basic functionality as a standard area or site page. Because they are stored in document libraries instead of the area or site collection hierarchy, they can be created, deleted, and modified without affecting portal navigation, taxonomy or search results. They serve as an effective, low-impact method for enabling user creativity.
Customizing user-defined web part pages is not quite as tricky as overhauling a complete site definition but they do present the designer with a few unique challenges.
Read the full article on modifying user-defined web part pages on Erics site.
Bil Simser has a good post on getting started with VS2005 and SharePoint.
Teaser:
With the release of VS2005 and the recent service packs for SharePoint there is still lots of confusion over building applications and web parts with VS2005 and what works and what doesn't. As there is confusion, it must mean the information out there isn't clear enough for people to understand. In my infinite wisdom I figure why not add another log on the fire so hopefully this post will either make things as clear as mud, or really leave you scratching your head.
Read Bil Simsers article on Using VS2005 with SharePoint
Amanda has a neat post on
Sometimes depending on your requirements, you need to create site collections with specific urls beyond the typical http://server/sites/sitename.
Maybe you want to create a url such as http://server/projects/sitename or http://server/teams/sitename.
To do this, you need to go and read the link below :)
How to Create Alternate Site Collection Paths or Urls for Sites Directory in SharePoint
On selected portal areas and teamsite pages in Sharepoint you'll get that link "Add to My Links". This link will append an entry of the current url to your MySite "My Links" list. However this feature is not availible on logical locations like the WSS Team Site default.aspx.
This is easy to work around. The script you need to call is PortalPinToMyPage in the ows.js script
View the script and learn more on adding links to the mylinks list from anywhere
Great tip!
Wow, just noticed this come through my inbox. It's been mentioned a few times in the past but there is a pretty PDF outlining the sessions now. There is an awesome line-up of speakers, several of whom I've not yet had to chance to see/meet.
SharePoint Conference: SharePoint Connections
With appearances, presentations and speaking engagements from the following:
Bil Simser
Patrick Tisseghem
Bob Mixon
Scott Guthrie
Daniel Larson
Dino Espisito
and many many more!
Read the PDF about SharePoint Connections Below:
http://microsoftd2d.com/122705/SP06_SharePoint_brochure.pdf
Now go sign-up and get a free night at the Hyatt (based on a 3 nite stay).
I just noticed Jan pointing to a great little tip for adding DLLs to the GAC
Add following text to a .reg file, double click it, voila: you can add assemblies to the GAC with only two mouse clicks! BizTalk and SharePoint developers will love it. Check out the BIA blog post to download the .reg file in a zip.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\dllfile\shell\gacutil\command]
@="c:\\windows\\Microsoft.NET\\Framework\\v1.1.4322\\gacutil.exe /i \"%1\""
Note: This still doesn't mean the web parts "should" be installed to the GAC :)
Todd Bleeker has a great write up on a common question anyone working with SharePoint gets. What's the difference between an SPS/WSS site.
Teaser from Todds blog:
How is a "portal site" different from a "WSS site" different from a "site" in a SharePoint portal different from a Web different from a Subweb different from an Area? And by the way, what's a Topic?
Definately a recommended read especially for anyone a little confused on the differences so off you go!
Read Todd Bleekers article on SPS/WSS, Sites, Areas, Webs and Subwebs
Thanks to Bil Simser for pointing to this gem.
Bob Mixon has apparently been busy doing much more than just risks lists based on the issues list. He found the time to introduce this bad boy:
This Web Part can be used to replace the hard coded HTML in a Windows SharePoint Services (WSS) Site. The first advantage to this Web Part is simply being aware of the current users security permissions. Meaning, if a user does not have the permissions to view the items in a document library or list, even if it is marked to be displayed on the Quick Launch bar, it will not be displayed.
There are many more features currently present in this Web Part, which include:
The ability to turn any set of lists on or off. So if you chose to not display Surveys, simply turn it off.
The ability to display separation lines below the grouping headers.
The ability to display an Actions section with access to manage site settings, users, content, and alerts.
And, the best of all features, the ability to dynamically add any items to the quick launch bar through a standard SharePoint list.
Take a look at the quick launch replacement web part here
Todd Bleeker has been getting us in the Christmas mood with his CEWP/javascript that generates snowflakes. I figured I would add a little something as well so I created a christmas theme to add to your theme pack. I managed to work in Bil Simser's recent banner ^over^ menu method as well.
You can download the christmas theme here (instructions included in zip) ... or
Christmas Spirit Recipe:
1 Part Todd Bleeker's snowflake CEWP
1 Part Christmas Theme with a dash of Bil Simser's banner ^over^ menu magic.
Install and enjoy, Merry Christmas :)
PS: See it in all it's glory in this screenshot
I have read many posts over the months about the good, bad and ugly of SharePoint. One recent noteable being Bil Simsers post on keeping your head while others are losing theirs.
It got me to thinking about the new or even intermediate users. More specifically, who is feeding them information?
When I look around I see countless great blogs on customization, web part development and other complex development issues but I also notice a huge lack of "user-level" material.
If someone has just learned they are going to need to use SharePoint they're probably going to really dig to find good information on general usage. Searching SharePoint would either scare them to death reading posts on data-view connections and managed code while their 'word of mouth' knowledge is likely limited to "SharePoint is for collaboration, or SharePoint does document management".
In order to drive user adoption we need to make people understand just how valuable SharePoint can be to an organization and there is almost no better way of making SharePoint shine than showing just how much an "average" user can do with very limited technical knowledge.
I see a huge need for entry-level materials on list creation, how columns work, creating sites, workspaces, document libraries etc.
I can't help but wonder if we are so absorbed in our creations that we're forgetting that it's not just "developers" that need to use this stuff, are we developing only for developers?
Sure there are newsgroups where people can ask a question but I could certainly see the value in blogging this material as well.
I just noticed Bil posted up a couple of neat little tricks that he uses to get around the Theme Customization+Caching pains.
IE: Making changes to a theme, then unloading/reloading the theme in order to see those changes take place.
You gotta love Bils humor: "Applying themes to WSS sites is sometimes like giving birth to a duck-billed platypus on a snowy day in the middle of springtime ... "
Unfortunately he does have a very valid point there is definately nothing overly "easy, or fun" about SharePoint customization, it's been a long hard road - but it's also been a challenge and that's part of what keeps us going.
Take a look at Bil Simsers blog for a couple of neat tips on easing the Theme customization pains
I just noticed this while browsing around and figured I'd pass it on. There have been several posts on (CSS) tabbed navigation menus using the "Sliding Doors" technique originally showcased on Zeldman.com.
Here are 11 free ones you can use - just pop them into a content editor web part and you are all set.
View examples of the CSS menus
Thanks to Andrew Connell for pointing to these new (post sp2) hotfixes for both WSS and SPS.
The SharePoint Portal Server (post sp2) Hotfix Package
The Windows SharePoint Services (post sp2) Hotfix Package
It seems there are unlimited questions surrounding ghosted -vrs- unghosted pages in SharePoint.
Just to name a few ...
What is it exactly?
What causes it?
What doesn't cuase it?
Does a site or page get unghosted?
Can you reghost a page once it's unghosted?
Luckily for us there are lots of great answers out there. I figured with so many discussions on this topic lately I'd try to bring a bunch of them together for my own use as well as anyone that ever searches this site for ghosting issues.
What is Ghosting?
Maurice on Ghosted and Unghosted (1 of 2)
Maurice on Ghosted and Unghosted (2 of 2)
Maurice on Meta-data and Unghosting
UNtruths about ghosting/unghosting
Don't Kill the Messenger
Andrew Connell and knowing whats under the covers
Maurice on ghosted sites or pages?
SharePoint Document Libraries and Property Promotion
Daniel Mcpherson on property promotion
Programs that can reghost, unghosted sites: (note I have not yet tested reGhost.NET.)
reGhost.NET
Ghost Hunter (from the Web Part Tool Kit)
Overview:
Now you can easily reghost those unwanted pages that are being served from the database without needing to access the SharePoint databases directly with Enterprise Manager, or installing any web parts.
This simple desktop application can run locally on the front-end web server, or any other location that has appropriate access to the SharePoint databases. The tool will present a list of unghosted pages, and allow you to safely reghost them with ease.
While I have not yet had a chance to take a look at this product it looks promising. Item level permissions in Document Libraries and Custom lists.
Features:
Power up your content and document management feature with spstools
Extend the base features of SharePoint.
Allows users to securely share items for Document Library and Custom List .
Item level security for both Windows SharePoint Services and SharePoint Portal 2003.
Integrated with SharePoint look-n-feel.
Easy Administration anywhere in the SharePoint
The tool is from www.spstools.net, if you want to take a look they have a live demo over on their site.
Visit SPStools.net
http://www.spstools.net/products.asp
Doing my morning blog-rounds I noticed a great tip from Bil Simser on renaming a web part page, without unghosting it.
Overview:
Don't you just hate it when you create a document library to hold a bunch of custom web part pages, but then they all show "Web Part Page" in the browser title? I was messing around with lookups (to create a web part page menu system) and noticed that the only lookup field that was available was a field called "Title". Hmm, this wasn't the filename and wasn't in any view that I saw or property when you edit the page.
Sure enough, there's a column in a document library called "Title" and when you base the template for the library on Web Part Pages, the default when creating new documents is, you guessed it, "Web Part Page".
Patrick blogged awhile ago about changing the title here but there was always a belief that you had to edit a WPP in FrontPage (thus unghosting it) to change the real title (and thus the browser window title).
Read the full article on Renaming a Web Part Page on Bil's Blog
I was just roaming through blogs and noticed JOPX has updated his listing of SharePoint tools recently. Quite a nice list going on.
Take a look at JOPX's list of SharePoint tools here:
I have revamped the Theme Pack to remove the background images/padding from the date picker. If you wish to keep your background images you can read the previous post to learn more, or you can simply download the new themepack, and copy the theme folders over to your servers.
Download the update free theme pack here.
Nothing else has changed so unless you renamed them there are no edits needed to the XML, simply copy all theme folders over, overwriting the existing themes.
Note: You will have to re-apply the themes for the changes to take affect.
For anyone that has downloaded the free theme pack from our Team Tools website:
http://www.infotechcanada.com/teamtools (free theme link on the left)
Some of the themes are changing the BODY properties of the document by applying background-image and padding to the BODY in the theme. This is unfortunately being carried over in the date-picker due to it using the iframe.htm file and inhertiing the body properties of the theme.
In a perfect world there would have been a class applied to the body in the iFrame so that we could manipulate it properly (take notes MS!) - but unfortunately there isn't.
I will be repackaging the themes and removing all background images/padding. You will be able to re-download them from the same place a little later.
For those that are brave there is a way around it but it is NOT recommended because it requires a small edit to a default file. It's a small edit and will work but again it's NOT recommended.
Create this class in your theme:
/* This could go in the theme */
BODY.datepicker-fix {
padding:0;
margin:0;
background:none;
}
Add the class to the BODY of your iframe.htm file: ie: BODY CLASS="DATEPICKER-FIX"
Iframe.htm is here:
_layouts/1033/iframe.htm
There was a 1 pixel border in a couple of the themes in the theme pack which has been removed. The 1 pixel border was on the search form. There was also an update to the textarea in the simplicity theme.
You can downloaded the updated theme pack here:
Download the Theme Pack Update
Once you unzip the files you can just copy the theme folders over and overwrite your existing ones.
Thanks to everyone that has downloaded the Theme Pack and otherwise emailed me, blogged or left comments. I hope you enjoy them. For the record we hit 1000 downloads of the theme pack today.
I just noticed this on Nigels Blog
Overview:
I was recently asked how to change the search results for SharePoint Portal Server 2003 so that when a user selected a document from the search results, instead of actually opening the document which is the current default behaviour of SPS, that the user should be directed to the documents' details page within the relevant WSS site. This is because typically some users actually want to view the documents details before deciding to open it. This also gives the user the ability to check out the document before opening it, etc.
See the screenshots, and get the web part on Nigels site
Bob Mixon has an interesting post on people installing to the GAC because it's the "easy way out". Definately worth reading:
Head on over to Bob Mixons blog and grab a little GAC information today!
*** Update: I have just tested this script out a little on a heavily customized SharePoint site and I am getting an absolutely unusable amount of lag *** - Use at your own risk - please report if you have the same problem, or not.
I just noticed yet another variation of the javascript which can be used to find the styles used in SharePoint (or any site for that matter). This one written by Sam Pike.
This one ads a little tidbit that I have asked for, for awhile - it displays the stylesheet the class/id is located in.
Download the javascript source for finding SharePoint Styles
If anyone has ever experienced this I'd love to hear from you, the problem occured after a system restore.
Unable to create sub-webs (using the team site template).
When picking a template to apply to the site you get: SQL Server might not be started.
It's possible to create subwebs through STSADM, but then if you try to delete from the GUI, you get “Cannot Remove Folder “sitename””. This also can be removed from the site with STSADM.
I think it's actually the "team site" site template because that's creating lists/libraries, it seems to work fine if you select the blank site.
If you have ever had this and figured a way around it feel free to drop me an email or leave a comment.
Overview
I am going to discuss some of the ways in which Excel Services integrates into the upcoming release of the SharePoint products and technologies platform to allow all sorts of users to build web solutions that contain live, interactive, and actionable data simply and without code. Specifically, I will provide an example of how data in Excel spreadsheets can be integrated into portals or dashboards built using SharePoint, and talk a bit about how a user would go about doing this.
An interesting article on Excel Server and SharePoint.
4 Conferences for the Price of 1!
I just noticed this 2006 event on Bil Simser's Blog. If the next version public beta is out by then there is a good chance you'll get to take in some great vNext demo's!
SharePoint Connections, Visual Studio Connections, SQL Server Magazine Connections, and Microsoft® ASP.NET Connections.
Register for SharePoint Connections and attend sessions at any of the concurrent events for FREE!
Overview:
The purpose of the SharePoint Utility Suite is to provide a packaged collection of Tools and Utilities showcasing the rich Object Model that is delivered with the SharePoint Product and Technologies SDK (which includes Windows SharePoint Services 2.0 and SharePoint Portal Server 2003). This package includes code and tool examples that SharePoint Developers and SharePoint Administrators might find useful.
Get the SharePoint Utility Suite v2
CSS Improvements
Some areas of CSS2 are still begging for full support in today's browsers. Firefox 1.5 is another step forward in supporting these obscure-but-useful features:
Nested quotes
If you put quotes within quotes (e.g. I said, The guy told me it was
), Firefox 1.5 will now intelligently use "double quotes" for the outer quote and 'single quotes' for the inner one. If you'd like to change this behaviour, you can set the CSS quotes property accordingly. A-OK!
Custom cursors
Of course you can use the CSS cursor property to change the appearance of the mouse pointer when hovering over a given element. But Firefox 1.5 is the first release where you can specify the URL to an image file that will be used for the pointer.
Outlines
Outlines are good for highlighting elements without modifying the layout of the page. Unlike CSS borders, outlines don't take up space, and may be non-rectangular. Other than that, the CSS outline properties work very much like the border properties.
Counters
CSS counters let you generate numbers much like those generated for an ordered list except that you can use CSS to place these counters wherever you like. Elements need not be a part of the one list to share a counter, and you can nest multiple counters to number things like sections and sub-sections (e.g. Section 1.2.3.).
Straight from the goldfish bowl.
Windows Folder Web Part
Overview:
The Windows Folder web part allows users to store files within a standard Windows (NTFS) folder in a shared network location and display a list of those files in a SharePoint page via a consistent ‘document library’-style interface.
Thanks again to everyone that has emailed, MSN'n or otherwised linked to or downloaded the SharePoint Theme Pack.
In 48 hours there have been over 1200 visitors to the document library specifically and over 350 downloads.
For those that have not already downloaded them, you can grab them from the Team Tools section of our website @ http://www.infotechcanada.com/teamtools (choose the Free Theme Pack link on the left)
Courtesy of the W3C:
The links in the Quick Tips below mostly go to the techniques documents that provide implementation guidance - including explanations, strategies, and detailed markup examples.
1. Images & animations: Use the alt attribute to describe the function of each visual.
2. Image maps. Use the client-side map and text for hotspots.
3. Multimedia. Provide captioning and transcripts of audio, and descriptions of video.
4. Hypertext links. Use text that makes sense when read out of context. For example, avoid "click here."
5. Page organization. Use headings, lists, and consistent structure. Use CSS for layout and style where possible.
6. Graphs & charts. Summarize or use the longdesc attribute.
7. Scripts, applets, & plug-ins. Provide alternative content in case active features are inaccessible or unsupported.
8. Frames. Use the noframes element and meaningful titles.
9. Tables. Make line-by-line reading sensible. Summarize.
10. Check your work. Validate. Use tools, checklist, and guidelines at http://www.w3.org/TR/WCAG
As mentioned before the reason I have been blogging so much about theme customization is due to the fact that I have been creating them, a lot of them. In fact here are 10 you can use to spice up your own SharePoint sites. You can use them as often as you like, share them with your friends/co-workers. Not for re-sale.
Note: Setup instructions (as well as the necessary XML) is provided in the readme.txt file inside the themepack.zip.
The Theme Pack is courtesy of Infotech Canada's Team Tools.
Preview and Download The Team Tools Theme Pack

Thanks to those that have been downloading the themes, emailing and MSN'ing me. For those of you that are interested in learning a little more on theme customization, or those that wish to tweak the ones I created there are suprises in the theme.css files (source) for you. Fairly detailed comments to help you on your way.
If you have not already downloaded the 10 free themes feel free to grab them from the Team Tools site.
Happy customizing!
Jame Milne, author of the ever popular SPskin utility has created another nifty little part for us! SharePoint Status report.
Overview:
The SharePoint Status Report extracts hyperlinks directly from the SharePoint system and then checks the status of each hyperlink. The hyperlinks are extracted from all Portal Areas, Links Lists and Content Editor Web Parts, located in the Portal and Team Sites. The link status is then displayed in a detailed report that allows you to resolve and manage any issues that have been detected.
Read more and download the SharePoint Status Report Beta Here!
I have had quite a few emails asking why I have been dealing so little with SharePoint Portal Server 2003 customization and focusing a lot on Themes and WSS.
It really comes down to what I am doing at the time and lately I have been doing a lot of WSS customization especially using themes. In fact the reason I have been adding so many theme posts will become quite obvious in the next few days (probably Monday).
For those that have been asking for SharePoint Portal Server 2003 customization the good news is it looks like I am about to jump into an SPS project real soon and subsequently my posts will reflect that so stay tuned.
For those that have asked me how to do it via email/msn and to those that have been following the post on "SharePoint Gotchas" dealing with styling the Rich Text Editor, you will be pleased to know there is a solution, and a very easy one.
I first had this question via email and it later turned into several MSN conversations, none of which resulted in an answer, it was driving me crazy so I had to investigate it thoroughly. Huge thanks to my co-worker Lloyd Cotton for sitting down with me today to finally get to the bottom of this.
As with most things it turned out to be quite easy, but I'm not going to make it that easy on you! I had to suffer now it's your turn! hehe - unless you want to skip to the end of course.
This post will guide you through the steps I went through to figure this out. While it's not a very exciting read it can give you an idea of how to think from time to time when you are "really" stuck on how to customize something.
We know it's getting classes from the theme, but it's a pop-up window / control so getting to the source wasn't so easy, there is no easy way to tell what class is being applied because there is no 'easy' way to see whats being rendered out. The only thing I knew from the beginning that for some reason it was inheriting the "BODY" properties.
After looking through the source that "opens" the Rich Text Editor however we find variables that we were able to track down (by skimming through all the .JS files) to CTP.JS which actually injects the theme into the Rich Text Editor window.
For anyone that has done any serious investigation of this customization you may realise that the functionality for the Rich Text Editor comes from the file HTMLEDIT.aspx. This is where the answer lies. Inside this file you can find exactly what class it's using.
The DIV which surrounds the body where you type (in the rich text editor) has the class .ms-WPbody . Yes that is the answer to any RTE woes.
You can add things like background-color/image text-align:left etc etc to this class to affect the body of the document. There are a couple of other things that you need to take into account as well to properly customize the rich text editor.
.msWPbody p - This is a very important class which is applied each time you hit the enter key inside the RTE. You will want to make sure this has a "background-image/colour" that is the same as .ms-WPbody (unless you want to specify otherwise).
There is also .ms-WPbody H1, link etc etc.
So there you have it, the answer we've all been waiting for. (Or at least those that have been emailing me/leaving comments on this issue.)
If you use themes to customize your SharePoint sites you have no doubt customized the .ms-searchform and .ms-searchcorner classes to change the background of your search form. These style the "WSS Search" box.
If you want to add a little extra flare to the search you can also style the input field by adding the following class to your theme.
/* Added Input Field Stlye (for search form) - Shane */
.ms-searchform input {
border:1px solid #000;
background-color:#FFF;
Simple but effective. Now if we just had a 'working' WSS search! :)
For those of you that have heard of HTTP compression but never really used it a whole lot there is a post about it over at bluedog, there is also a followup benchmark post.
Read the SharePoint HTTP Compression article here
There is a great article on Microsoft Technet about SharePoint HTTP compression which is worth a read as well.
I have posted several workaround/tips on adding a company logo to the page without having to unghost your site, or create a site definition. This is another way you can do it using the theme. This isn't exactly an optimal way of doing things but it is fast and effective.
Using CSS we can manipulate the page and add your company logo like so:
First Add some padding to top of your page by adding padding-top to the BODY in your theme:
body {
padding-top: 40px;
}
This will push everything down 40 pixels (you can decide on a number) and leave you with some space at the top to work with.
Next you can create a logo and add it as a background also to the BODY in your theme:
body {
padding-top: 40px;
background-image:URL(yourlogo.gif);
background-repeat:no-repeat; /* You don't want it to tile! */
background-position:top left;
}
I used this example in a theme I created recently:

That's it, simple but effective. You can position it however you like the main thing is to make sure you add no-repeat because you really don't want it to tile.
Happy Customizing!
I just posted on this but this is an easy way to document it for those that have trouble with changing the background colour on the source editor in SharePoint, especially those that are editing the OWS.CSS file to make global changes. OWS.CSS doesn't have TEXTAREA {} by default so you will need to add it.
NOTE: Changing this changes the background of all textareas in your forms.
For example: If you were editing your OWS.CSS file to make the body take on a centered property you would notice that the text popped into the source editor is also centered, not very desireable. If you add the TEXTAREA to your css file you can simply put text-align:left background-color: etc.
This tidbit has been brought to you by the letter S.
Anyone that deals with much SharePoint customization also deals with the pains that come along with a LOT of CSS. I am certainly no exception to this rule.
If anyone would like to school me on a couple of particular classes - I'd be eternally grateful.
1) The Rich Text Editor (Background that you TYPE in) - It uses the BODY's background - anyone have a way to get around this? - updated - no longer an issue. .ms-WPbody .ms-WPbody p will let you style this element. See the full post on customizing the rich text editor for more.
2) The SOURCE EDITOR (Background that you TYPE in) - I have not researched this one much yet I just noticed it's black on a theme I was doing - It may be linked to the top bar but I have no idea why.
#2 - I researched it quickly and it just uses the TEXTAREA. I just needed to look :)
3) The multi-upload for document libraries. - I think I have this one narrowed down to using the ms-navframe (The Inside of the side navigation which is broken into 2 classes. The outerbox (Ms-Nav) and Inner (Ms-Navframe).
#3- After more testing I think the multi-upload is narrowed down to this:
The left side (the nav tree) uses ms-navframe and the Right side (the documents) uses the BODY background. Oddly though it doesn't inherit a background image, or the padding etc yet if I change the background colour it takes it.
Anyone care to take a crack at these? - feel free to comment here or email me shane@funknstyle.com
Have you ever done much with Date's in SharePoint? - How about date validation? In the unlikely event that you ever find yourself banging your head on the desk because of it, it seems SharePoint supports only the following date (year) range.
1900 - 8999
Why? I have no idea. Will this be of any use to you? Probably not but now you know.
As I've mentioned before there are several items you can modify or hide just by using CSS and themes in SharePoint. This is another example of that.
Most of you have at one point or another wanted to either change or remove certain bullets from SharePoint. One way I have seen people mention they got around this was by adding a "Blank.gif" file to overwrite the existing bullet.
I guess that is one way you could do it but it's not really something I would recommend. The better solution is usually to pay attention to the document structure and use CSS to simply hide the bullet via the theme.
Advantages of doing it this way
1) It's site (well at least THEME) specific - you don't have to hide it for "all sites" - just do it in the theme you use.
2) You don't need to modify your site in FrontPage and unghost it.
3) You don't have the hassle of creating/editing site definitions.
The main thing I recommend for anyone involved with SharePoint customization is to create a dummy site which you don't mind unghosting so that you can take a look at the document structure, and learn how to manipulate the page with CSS be simply following the DOM. This is one such example:
Hide the bullets on the "Site Settings Page" using only the theme:
If you look at the document structure (View Source) of the sitesettings.aspx page you will notice the "Rect.Gif" image which is the bullet being used.
You will also notice it's inside a table cell with the ms-descriptiontext class applied to it.
based on this we can add the following class to our stylesheet to hide the image:
/* Added this class to hide the bullets on the site settings page - Shane */
.ms-descriptiontext img {
display:none;
}
Another simple but effective tip :)
After working with the IE Dev Toolbar quite intensively over the last few weeks I have a request that I think most would agree would greatly enhance this already great powertoy, especially for SharePoint customization.
The request I have deals with the View Menu:
Right now you can select View -> Class and ID Information (see diagram below).

I have wished many times that I could display only ID or CLASS information and not both. In the case of SharePoint ID's are rarely (if at all) used for "CSS styling" they use 99.9% classes so having the ID's in there is really just making more of a mess than you would like.
While there are definately times you would like to see both I think it is safe to say that you would want the ability to see either seperately as well.
So Show ID's, Show Classes and Show ID's and Classes would be a great improvement to the VIEW Menu.
I wonder what it will take to get the developers attention on something like this. If anyone else thinks it's something that should be added feel free to spread the word - I'm sure if they see it, it will be implemented in a future build.
I stumbled across Bob Fox's blog via email - another SharePointer to add to the list. Bob is focused developing and implementing better ways for teams to communicate, collaborate and succeed
You can view Bob Fox's blog here.
Macaw was kind enough to donate his TraceInfo Web Part complete with source code.
Introducing the Macaw TraceInfo WebPart
What a pain it is to see your WebPart fail on a SharePoint production server where you cannot simply start Visual Studio and debug the failing code... In many cases, you don't even have (physical) access to the server. If you used Trace statements in your WebPart, then you can configure trace listeners in SharePoint's web.config and have the Trace output sent to the event log or file.
But life can be simpler than that: I am presenting a FREE SharePoint WebPart with full source code here that shows all the Tracing output in code that is executed during the Page Request without any configuration. It's a great way to view tracing output at will without even having production server access to event log or log files... Just drag the Macaw TraceInfo WebPart onto the page and your Tracing output will show up! Well, ok, if you used Trace.Write() or Trace.WriteLine() statements in your code... This code can be even business logic code; as long it contains Trace statements, its output can be viewed by the TraceInfo WebPart.
Feature Summary
Automagically collects Trace output without web.config editing, just drag the WebPart on a page and it shows the Trace information.
Shows all Trace output from all code that runs during the request of the page.
Filtering Trace output by Trace Category name by entering a filter value on the TraceInfo toolpart.
WebPart is hidden from non-administrative users by default, but can be made visible to any user by de-selecting a checkbox on the TraceInfo toolpart.
You can download the Macaw TraceInfo Web Part here
In the last tip I quickly showed you how to use a theme to remove the logo.gif logo that shows up in the top left of all SharePoint sites by default.
The tip was based on adding the following class to your theme.css file:
.ms-bannerframe td img {
display:none;
}
Let's take this one more step:
One of the most commonly asked for customizations I get and I would guess most people get is "Can I add my company logo to the page".
The answer is most definately yes. In the past this has generally been done using a custom site definition or by editing the page in FrontPage 2003 which unghosts the site. There is another alternative that I have never seen mentioned, adding it via the theme and it's actually quite easy.
Now that we have removed the logo.gif from the page using the method above, we have a blank top bar to work with. We also know that ms-bannerframe is applied to a table which extends across the entire top of the screen.
Based on this we can create a background-image that will a) extend across the entire screen and b) hold the company logo.
Quick steps to accomplish this:
Add the class above to your stylesheet to remove the logo.gif.
Create a background image with your company logo placed to the far left. You don't want your image to tile so you need to make it nice and wide 1600pixels recommended.
Edit the ms-bannerframe class to display your background image.
Specify the height in ms-bannerframe. It should be the same height as your background image.
It should read
(pixels are relevent only to YOUR design obviously).
.ms-bannerframe {
background-image:url (yourimage.gif);
repeat:no-repeat;
height:50px;
}
One small glitch! - The navigation is going to overlap your company logo because we hid the original logo.gif that was there.
That's easy to work around. We also know the .ms-banner class is applied to the top navigation which is overlapping the logo. Just add a little left padding to push that over.
To add left padding add this to your ms-banner class:
/* The padding should be about the same width of your company logo */
.ms-banner: {
padding-left: 50px;
}
That should do it. Simple but effective way of adding your own custom company logo to a SharePoint site without site definitions or unghosting.
Before

After

With a little thought you can accomplish a lot through your theme.css.
Have you ever wanted to remove the logo in the top left of the screen on your sharepoint site? This is somewhat problematic becauase a) It's just an image (it should have been a background-image) and b) if you remove it via frontpage 2003 you unghost your site.
Now you probably wouldn't want to create a site definition for every site you want to do this on so I'll show you a neat little trick to do it using the theme.
This tip relies on the structure of the document. In the overriding left overs post we looked at the way the top bar is actually broken down using two classes, ms-bannerframe and ms-banner.
If you look closely at the structure of the document you will notice that the logo.gif image sits in a TD of the top table, the one with ms-bannerframe applied to it.
If you look at it logically you have table (with ms-bannerframe applied) then a TD (with the img) in there. Lucky for us it's the only element in the top bar that has an image inside. Based on that you want to create a class that will only apply to that particular area of the table, the TD with the image.
You can create this class to remove the image:
.ms-bannerframe td img {
display:none;
}
Simple but effective.
While customizing SharePoint themes you will most likely run into problems if you remove backgrounds, borders from the theme.css. The problem being that they still they display after you removed them!
Your site is reading from multiple stylesheets namely OWS.CSS (Also SPS.CSS in Portals case) and Theme.CSS.
These stylesheets often have the same classnames but with different properties so what happens is it finds the property in one but not the other and applies it.
This means you must overwrite the property in the Theme (or the last stylesheet) being read by the browser.
The following example is the same for many elements you might want to customize in a SharePoint theme.
An example of this would be:
Have you ever tried customizing a SharePoint theme to edit the top of your site? The bar that has the logo and links across the top, documents and lists, create etc?
There are actually two separate classes which are applied to the elements in the top bar. The whole table up there has ms-bannerframe applied to it. Realistically the only area ms-bannerframe will noticeably affect is the area behind the logo in the top left.
The link bar and ‘up to’ has ms-banner applied.
If you were to apply an image or colour to ms-banner and not ms-bannerframe you would end up with two separate background images across the top.
If you were to remove the background-image from ms-bannerframe it will end up finding one in OWS in the long run.
If you are using a background image you need to apply it to both these classes. If you want to use a straight colour then you will want to put background-image:none; in your ms-bannerframe class (in the theme.css).
Another example would be ms-selectednav and ms-unselectednav. This is the class applied to the items you pick in the quick launch bar. These have a border/background colour in OWS.css so if you remove them from your theme.css they will still show up. Instead of removing things try using background-image:none; or border:none; in your theme.
A very simple but effective tip.
When I take a look around I notice one very common factor amongst blogs, regurgitated information. The same thing posted over and over on 20 different sites. This must be addictive because most of us are guilty of doing it, myself very much included.
There are definately things that should be linked to and talked about on a lot of sites but those are the real important ones, like a great new product or service or the latest and greatest on vNext for SharePoint (products and technologies).
For the most part however a weBlog with less but great and unique content is definately better than one that is chaulk full of reposted information.
On that note I am going to try eating my own dogfood and post as much unique content as possible.
This doesn't mean I am not still reading your Blogs it just means I don't want my site to become another blog that just reposts information, I do have quite a few unique posts but I am making a conscious decision to create better, more unique content. There will still be some reposting, just hopefully a little less.
On a final note I would like to thank three people that really stand out in my mind for already following this rule as much as possible. Possible the same reason these are three of my most commonly visited/read Blogs.
Patrick Tisseghem's Blog [MVP SharePoint]
Bil Simser's Fear and Loathing
Todd Bleeker's 60 Hive
This isn't meant to downplay anyones blog it's merely something to think about. If anything it's based on my own personal posting habits and ways to improve them.
An example of what I mean when I say good content versus bulk:
SharePoint Site Definitions:
How many identical posts are there on site definitions that tell you how to copy an existing definition add a webtemp file and then leave it at that? Quite a few. I won't point to any in particular again I'm not creating this post for that reason.
An example of using good content would be Heather Solomon's post outlining what each definition is, where it resides and what it controls.
I just noticed a the JPEG iFilter that Renaud has pointed us too. Looks interesting, you can try it free for 30 days.
The Overview:
JPEG IFilter is the only tool that allows to index EXIF properties of the JPEG (JFIF) files in Windows 2000. However the indexing services can extract EXIF properties under Windows XP via IPropertyStorage using built-in Null Filter.
JPEG IFilter offers many advantages in comparison with Null Filter. With JPEG IFilter the indexing services do not enumerate the OLE properties of JPEG files so the indexing performance is increased. JPEG Filter extracts only properties that are important for content search. This feature decreases the index database size and increase the search performance and accuracy. It provides the property mapping optimized for Windows Desktop Search. It presents the property set as text contents that is useful for the file preview functionality.
Visit the JPEG iFilter site and download a copy today!
A nice follow-up post to the changing document library templates post by Kit Kai.
The follow-up delves into creating an elegant solution for creating centrally managed templates for document libraries.
The overview:
To effectively manage templates, it is recommended to use dedicated document libraries to store all the templates. Of course, the number of document library used depends on how complex your organisation is. So we will try to extend the document library properties to store the Url of the template, and override some client-side function to enable the use of those centrally managed templates.
Read Part 1 of centrally managed templates.
One nice feature FrontPage 2003 has is it's ability to create a backup of your entire site including all customizations and content into a single file.
This is great for backing up your work and making your template portable. FrontPage 2003 also has a restore utility that will allow you to apply your template to an empty site.
Go to File, Open site and type in the URL of the site you wish to back-up.

Go to Tools, Server, Backup Web Site

If you wish to include and sub sites within your web site check the box

Create an appropriate name for your site and then select a location to download it to.

If your backup was successful you will get a message telling you so.

That's about it for using FrontPage 2003 to backup your web site, if you look back up to the backup screenshot you will notice the restore option. If you want to apply your tempalte to an empty site you use this command. Just connect to the site the same way you did above, select the restore option under Tools, Server, Restore Web Site and then select the template you created
They can be a maximum of 10 MB
You can only apply this template to an EMPTY site without a template applied. This includes BLANK templates. If you want to apply one of these templates to a site you can create your site normally but when you get to the apply template page STOP, then connect to the site via frontpage and apply your template.
They have a .FWP extension but in reality they're really only CAB files. If you rename your FWP to a CAB you can open it to view the contents. The manifest.xml file inside controls your sites configuration. If you ever need to search and replace hardcode URLS/Paths this is a quick way to do it. You will need CABARC which you can get from the Microsoft site to repackage the file.
Finally we have gone through everything I wanted to cover in this site tempalte tutorial. As promised I will get everything together and let you download it all as a single zip file which you can do as you please with.
The zip will include all HTML, CSS, Images, Lists, Content, PSD's, Fonts and of course the site template and theme.
I will also be recreating the entire tutorial in a much more readable manner. It will be available as a PDF download.
Happy Customizing!
The best way to create a new theme is by duplicating and renaming an existing one. Themes are located on the server in the following location: c:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\THEMES
To begin, visit the location above on your server.
First
Duplicate an existing theme by Copy and pasting one of the folders to the same location.
Second:
Rename the folder you just duplicated to whatever you wish to name your theme. (Tip: Keep it simple no strange characters and no spaces)
Third:
Next go into the folder and rename the .INF to the same name you just called your theme.
Fourth:
Then open the .INF file and change the line title=whateverthemeyoucopied to read title=whateveryoucalledyourtheme

You need to edit the SPTHEMES.XML file in order to make your theme applicable via the browser.
First:
Open (EDIT) the SPTHEMES.XML file located here:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\TEMPLATE\LAYOUTS\1033
You’ll notice each theme is broken down into template blocks of code:
<Templates>
<TemplateID>mytheme</TemplateID>
<DisplayName>My Theme</DisplayName>
<Description>Description</Description>
<Thumbnail>../images/myThumbnail.png</Thumbnail>
<Preview>../images/myPreview.gif</Preview>
</Templates>
Duplicate an entry like the one above and edit it to reflect the name of your theme. Give it a relevant description and display name.
The thumbnail and preview images can be left as they are but if you cannot control yourself you can find them here:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\IMAGES

That was easy, now you just need to apply the theme to a site so that you can make the modifications you want. Assuming you created a dummy site in WSS, go to http://yoursite and click on Site Settings up top. Then find and click “Apply a Theme to Site”. Locate the theme you just created and apply it.
One way to edit your theme is via FrontPage. Don’t worry about unghosting your site, this is a dummy site created solely to edit your theme. Once we are done the theme will reside on the server and be able to be applied to any sites you create without any issues w/ unghosting.
Open FrontPage 2003 and select file, then open site and type in the URL to your SharePoint site.

In your folder list, locate the _THEMES folder inside you will find your newly created theme. If your folder list is not turned on the screenshot below will help you turn on the folder pane.

The customization from here on is completely CSS based.
Let's take a look at some of the most common selectors you will have to edit and some tips on making theme customization easy. This is based on a WSS Site.
When you apply your theme to a site and then begin editing it by connecting to that site you are NOT editing the master theme. You are editing a copy of that theme. DO NOT re-apply your theme via the browser during editing. When you are finished what you will have to do is save the theme.css file out to your desktop and then copy it over the theme directory on the server overwriting the master theme. Then and only then will your theme be complete and applicable to all sites from there on out.
Take baby steps when customizing themes. You don't want to edit 10 classes and then go back to see what changed. If you change something check right away.
Add a CSS comment in your stylesheet next to everything you've changed. Add a small description of what it changes and to really streamline for the future add your first name so that a) everyone knows who changed it and b) you can search the stylesheet in the future for your name and quickly skim through the classes you know have to change. A CSS comment looks like this: /* comment */
Note: To stop you from having to scroll for 2 days I have removed the properties appleid in the classes and left only the classnames which you would want to customize using your own creative ideas.
The Top Banner (Bar)
/*
Background color of the TOP NAV BAR - Shane
*/
.ms-bannerframe, .ms-GRHeaderBackground, .ms-storMeFree{
}
/*
Text Color in the TOP NAV BAR (the order fixed to LVHA - Shane
*/
.ms-banner{
}
/*
Linked Text Color in the TOP NAV BAR (the order fixed to LVHA - Shane
*/
.ms-banner a:link{
}
/*
Linked Text Color in the TOP NAV BAR (the order fixed to LVHA - Shane
*/
.ms-banner a:visited {
}
/*
Linked Text Color in the TOP NAV BAR (the order fixed to LVHA - Shane
*/
.ms-banner a:hover{
}
/*
Linked Text Color in the TOP NAV BAR (the order fixed to LVHA - Shane
*/
.ms-banner a:active {
}
/*
Border under the Top Bar (banner) - Shane
*/
Div.ms-titleareaframe{
}
/*
Search Box - Shane
*/
.ms-searchform{
}
/*
Search Box Corner - Shane
*/
.ms-searchcorner{
}
/*
Divider line across top of the page under the title/page area - Shane
*/
.ms-titlearealine{
}
/*
The Watermark on the SIDE NAVIGATION (You "should" techincally use display:none; but that will leave you with space. It's your choice . - Shane
*/
.ms-navwatermark{
visibility:hidden;
}
/*
Linked Header text in the Side Nav. You may find ms-input here grouped with these classes. If you do and you make this text WHITE, ms-input needs to be broken into it's own class because it controls the text that is inputted into forms and if it's white - well you wont see it :)- Shane
*/
.ms-navheader a:link, .ms-navheader a:visited, .ms-navheader a:hover, .ms-navheader a:active{
font-weight:bold;
}
/*
Regular links in the side nav on mainpage - Shane
*/
.ms-nav a:link{
}
/*
Regular links in the side nav on mainpage - Shane
*/
.ms-nav a:visited{
}
/*
Regular links in the side nav on mainpage - Shane
*/
.ms-nav a:hover{
}
/*
Regular links in the side nav on mainpage - Shane
*/
.ms-nav a:active{
}
/*
Background color of items selected in the SIDE NAV - Shane
*/
.ms-selectednav{
}
/*
Background color of items UN-selected in the SIDE NAV - Shane
*/
.ms-unselectednav{
}
*/
The right border on the left nav bar (quick launch bar) - Shane
*/
.ms-navframe{
border-color:#F2F2E2;
}
/*
Background of the TOOLBAR (ie: Create Bar for Documents and Lists) Wasn't complete, moved all attributes from OWS over here.- Shane
*/
table.ms-toolbar{
}
Background Toolbar - Shane
/*
.UserToolbar{
}
/*
Text on the TOOLBAR (ie: Create Bar for Documents and Lists) - Shane
*/
.ms-toolbar {
}
/*
Linked Text on the TOOLBAR (ie: Create Bar for Documents and Lists) - Shane
*/
.ms-toolbar a:link {
}
/*
Linked Text on the TOOLBAR (ie: Create Bar for Documents and Lists) - Shane
*/
.ms-toolbar a:visited{
}
/*
Linked Text on the TOOLBAR (ie: Create Bar for Documents and Lists) - Shane
*/
.ms-toolbar a:hover {
}
/*
Linked Text on the TOOLBAR (ie: Create Bar for Documents and Lists) - Shane
*/
.ms-toolbar a:active {
}
/*
Background Color, and Text Color on the Web Part ToolBar - Shane
*/
.ms-WPTitle{
}
/*
Linked Text Color on the Web Part ToolBar - Shane
*/
.ms-WPTitle a:link, .ms-WPTitle a:visited{
}
/*
Linked Text Color on the Web Part ToolBar - Shane
*/
.ms-WPTitle A:hover{
}
/*
Dashed Border when a webpart is selected/being modified - Shane
*/
.ms-WPSelected{
}
/*
Text in the body of a web part - Shane
*/
.ms-WPBody{
}
.ms-WPBody table, .ms-TPBody table{
}
/*
The border around a Web Part (When turned on) - Shane
*/
.ms-WPBorder{
}
/*
The Background Color (behind the arrow) when modifying a webpart on mouseOver - Shane
*/
.ms-HoverCellInActive {
}
/*
The Background Color (behind the arrow) when modifying a webpart on mouseOver - Shane
*/
.ms-HoverCellActive {
}
/*
The Background Color (behind the arrow) when modifying a webpart on mouseOver - Shane
*/
.ms-HoverCellActiveDark{
}
/*
A lot of links/text are controlled with ms-VB and VB2 - Shane
*/
.ms-vb a:link, .ms-vb2 a:link, .ms-GRFont a:link, .ms-vb-user a:link{
}
The styles listed above area almost always customized when creating themes. There are lots more and this is not to be taken as gospel but it should definately get you on your way.
Remember once you have edited all your styles and you have something that you feel looks good you have to export (File, Save as) your stylesheet to your desktop and then copy it over to the theme folder you created.
You have to do this in order to apply the theme to other sites. The one you have been working on is only a copy of that theme, it's the way personalization was dealt with.
There really is a lot you can do with "just themes" so get creative and see what you can come up with! This post is part of the WSS Site Template Creation tutorial so I will go ahead and create a theme for our site using the methods outlined here. The theme will be available for download shortly.
Only one part left in the WSS Site Template Creation tutorial - Backing up your work using the FrontPage 2003 backup utility. It's an easy one.
Happy Customizing
I have no idea if this is the same release from 2004 or not, I have never seen it before so I have no idea of it's usefullness.
First Rain has this to say:
Web Part Composer Dramatically Speeds Development of Solutions Using Microsoft SharePoint Products and Technologies
You can take a look at Web Part Composer here if you haven't already.
Renaud has an interesting post on how he used the Internet Explorer Dev Toolbar to find a way to implement OWA into SPS or WSS.
See how Renaud used the IEDev Toolbar to implement OWA into SPS or WSS.
Together with Dan Sellers, John Bristowe, and James Kovacs, Bil Simser has a new podcast on .NET
While you wait for it to become available on the MSDN audio site you can tune in from Bil Simser's site.
I just noticed this over on Mark's site.
Windows SharePoint Services: IntelliSense XML File
Overview
This download includes an update of the Microsoft.SharePoint.xml file used to produce IntelliSense information about the Windows SharePoint Services managed object model within the context of the Visual Studio .NET integrated development environment.
Note By default, this file is installed to the following path: C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\ISAPI. This installation overwrites the placeholder file originally installed with the product. You must put this XML file in the same directory as Microsoft.SharePoint.dll for IntelliSense to function. If you have installed Windows SharePoint Services to a different drive, specify the path to that drive for the installation.
SharePoint Portal Server 2003: IntelliSense XML Files
Overview
This download includes updates for the following XML files used to produce IntelliSense information about the SharePoint Portal Server 2003 and Windows SharePoint Services managed object models within the context of the Visual Studio .NET integrated development environment (IDE)
Releasing a service pack is never easy. You want to fix as much as you can: crash reports uploaded to Microsoft, bugs that customers report to Microsoft's Product Support Services, etc. At the same time, it's important to minimize the number of bug fixes we make since each one has the potential for introducing new bugs. It's a balancing act, and Windows SharePoint Services Service Pack 2 is no exception.
You may have noticed that our service packs to date have been more than just bug fixes. Starting with large file support in Service Pack 1, we've added a number of features to WSS based on customer feedback. One of the biggest requests we've received from customers is the ability to host SharePoint sites over the internet so that employees and partners can collaborate without needing access to the company's internal network. While this has always been possible, the design of SharePoint only supported very specific extranet and reverse proxy scenarios. Service Pack 2 expands that support to a much wider range of scenarios.
Sounds great, so why did it take so long for me to say that? :-) Well, even when we add new features via service packs, we still have to be very careful and keep them as minimal as possible to reduce the risk of introducing new bugs. For example, a more far reaching implementation of this feature would have removed absolute URLs from our pages and replaced them with relative URLs. We didn't go that route because doing so would have been riskier to our code than just replacing one absolute URL with a different absolute URL. For that same reason, we only included a command line interface for administering this feature rather than also building a new administration UI for it.
Testing this feature meant testing the new managed APIs it exposed. And the more I was using this feature, the more I wished I had some UI rather than having to always go through the command line. So, I thought why not address both needs at the same time and write a little GUI utility that could administer this feature.
Now that Service Pack 2 has been released, I thought others might find the utility helpful as well. So, Maurice was nice enough to host it for me on his site. You can find it in the Downloads section of the site. It's called WSSUrlZoneAdmin.zip and is in the Misc category. Here's the direct link:
Download the WSS URL Zone Administration Utility Here
The WSS URL Zone Administration Utility allows you to configure extranet and reverse proxy support in Windows SharePoint Services Service Pack 2 via a graphical user interface (GUI). It provides the same functionality as the following stsadm.exe operations:
Windows SharePoint Services supports advanced extranet scenarios via URL zones. URL zones map one or more incoming URLs to a single outgoing URL. The incoming URL represents the URL of the web request as it is received by the SharePoint server. The outgoing URL represents the URL that the end user typed in to access the SharePoint server. The SharePoint administrator must configure the incoming and outgoing URLs in SharePoint to match his or her network environment. For more information about URL zones, consult the Windows SharePoint Services Administrator's Guide.
This utility does not require installation. Simply copy it onto a server running Windows SharePoint Services 2.0 Service Pack 2 or later.
If the URL you entered into step 1 maps to an outgoing URL, the outgoing URL will be displayed in the Result text box. For example:
https://www.example.com/sites/adatum/default.aspx
Otherwise, the same URL you entered in step 1 will be displayed in the Result text box.
All incoming and outgoing URLs associated with that virtual server will be displayed in the Result text box. For example:
Virtual Server URL: http://wss-fe-01/
Default Zone: https://www.example.com
Incoming URL: http://sharepoint.internal.example.com
Intranet Zone:
Internet Zone:
Custom Zone:
Extranet Zone:
This is required for your servers to recognize any URL zone additions or deletions.

I just found a new way to use the Internet Explorer Dev Toolbar thanks to Renaud (aka Stramit). Oddly I had never seen the "select by click" option.
For those of you using the IE Dev Toolbar to figure out what classes/id's are applied to elements in SharePoint you'll by happy to know it's much faster when you select the "Select element by click" option.
When this option is selected you can simply click on any element on the page and it's properties will display. No need to drill down through a massive table structure.
This option is found under the "Find" menu of the Dev Toolbar. Thanks Renaud!
You can download the Internet Explorer Toolbar (beta) here.
SharePoint uses site definitions, site templates and themes for customization. While there are similarities in each, they are all very different and very powerful in their own right. Understanding each of these is key to customizing SharePoint.
SharePoint Themes
Difficult Level: Easy/Moderate
SharePoint themes are a collection of stylesheets and images which basically skin a site. While they do not control the layout they can be edited to customize the look and feel of a sites fonts, background colours, borders, links etc.
For example: If you wanted to change the border around a web part, or the title bar of a web part you would customize it via the theme.
By default there are several global stylesheets applied to all sites. This is true for both SharePoint Portal Server 2003 and Windows SharePoint Services. (Example: OWS.CSS, MENU.CSS and in Portal Server's case SPS.CSS).
The global stylesheets are stored on the server in the following location
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\LAYOUTS\1033\STYLES
The rule of thumb is stay away from these files because if you change them every site created from there on out will have that customization.
Best practices would suggest that If you want to skin your site you should create your own theme which can then modify and apply.
Themes are stored on the server in the following location:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\THEMES
The master list of all themes available (SPTHEMES.XML) is located on the server in the following location:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\LAYOUTS\1033
The readers digest version of Theme creation and setup;
1) Duplicate an existing theme,
2) Add the theme to the SPTHEMES.XML file
3) Customize the classes in your new theme as desired
4) Apply the theme (via site settings - http://YOUR-SERVER/_layouts/1033/themeweb.aspx)
When customizing themes it is not always easy to know what class/id is applied to what element. Fortunately there are several javascripts available to help you; Todd Bleeker has a nice one freely available, you can download Todd Bleekers Style Finder here.
SharePoint Site Templates
Difficulty Level: Moderate
Site templates are an easy way to archive your entire site into a single file. This includes all pages, lists, libraries and contents.
A site template can have one of two possible extensions depending on how you created it, these two types are also very unique.
If you created your template from the browser it will have an STP extension and if you created it via FrontPage 2003's backup it will have a .FWP extension.
Site templates created via the browser (.STP) are useful for users that make modifications to a site by creating custom content elements (doc libs and lists) and want to use that as a benchmark for all future sites. When used this way they are not unghosted.
Site template created via FrontPage 2003 (.FWP) however are extreme customizations and are meant to be unique and independent of the portal. FrontPage 2003 site templates are not controlled by a master definition which is the default for all SharePoint sites. If you create this type site template, the site is from there on out on it's own.
This is commonly referred to as "unghosted". This has been a major issue for people wishing to customize their SharePoint sites via FrontPage 2003. This issue is being addressed in the next version of SharePoint.
A site template by default is not available globally on the server the way a site definition is so if you have a template you do not want applied by anyone else this may be a good alternative. You can however make it available globally by placing it in the site template gallery.
Once you have created a SharePoint site you can wrap it up into a site template which is still ghosted from your browser by visiting:
http://YOUR-SERVER/_layouts/1033/webadmin.aspx
Alternatively you can do extreme customizations via FrontPage 2003 and then create an unghosted site template by using the Tools -> Server -> Backup WebSite
If you are intereseted in learning more about creating SharePoint sites with extreme customizations and wrapping them into site templates you can view my on-going WSS site creation tutorial.
Another great reference to help you better understand these is the MSDN article, an Introduction to Site Templates and definitions.
SharePoint Site Definitions
Difficulty Level: Advanced
Site Definitions are the master templates behind SharePoint sites. Site definitions are used to optimize performance within SharePoint. The way it optimizes performance is it uses a single set of files to create every site based on that definition. This minimizes the need to duplicate files and is commonly referred to as "Ghosted".
By default when you create a site you are asked to pick a template, this template is actually the site definition for that type of site. There are several types of definitions (Blank Site, Team Site, Meeting Workspace etc).
Site definitions are a very powerful way of creating a fully customized (site definition) which can be applied to any new sites from there on out. While it is a template, it is not an unghosted template.
For Example:If you created 1000 sites based on a single customized site definition and the logo you added changes, you just update a single .aspx file with the new logo and all sites will reflect the changes. The opposite would be said for site templates. If you have 1000 site templates, they would all have to be updated individually.
The beauty of this method is that the site definition controls "all" sites using it. Think of it the way CSS works only at a larger scale. You can control 1000 sites all from a single set of files.
Site definitions are created much the same way themes are, you duplicate an existing one, add a reference to a master list and then modify it accordinly. Site definitions require an IIS reset to show up in your list.
Site Definitions are stored on the server in the following location:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1033
The master list of site definitions is called the WEBTEMP.XML file. Unlike theme setup however you do not edit this master reference file, instead you make a copy of it, it later gets appended to the main WEBTEMP file.
For example: If you duplicated a site definition and renamed it to TEST, you would also duplicate the WEBTEMP.XML file and call it WEBTEMPTEST.XML
Inside the WEBTEMP file you would modify the settings you want to reflect the name of your site definition. You can also remove any extra references that are un-needed.
The WEBTEMP file is located on the server in the following location:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1033\XML
Each site definition contains an XML directory. Inside this directory there is an ONET.XML file. This file is of extreme importance as it controls the configuration of your definition. The ONET tells the definition what lists should be available, what columns/fields should be in the list, and things of that nature. You should be very careful when editing this file.
There are several great tutorials online for creating site definitions. I would recommend the following:
Heather Solomon's Site Definition Primer
Heather Solomons Site Definition Reference
Supported and Unsupported Scenarios
Site Definitions - What they are, and why you need them (on DEV X)
Site Definitions - Google Search
I have been in email conversation today with someone on SharePoint Portal Server 2003 customization. The conversation quickly turned to the limitations of SharePoint's architecture in regards to a more friendly CSS based layout.
I decided rather than limiting the conversation to a single email I would create a blog post on it and share it with everyone.
In this example I will show you how you can modify the table based layout which is outputted for the Quick Launch Navigation (Side Bar) and replace it with a more friendly and easy to style HTML list. This is a complete overhaul of how the quick launch is rendered out.
If you duplicate a site definition like STS and take a look the default code that is used to render this navigation you will find a category title for the link, a server control that renders out all the new elements created that match that category.
This is what actually renders that navigation menu
Note: In an effort to save you from going boogy eyed I am including only one of the headings which is included. Each heading in the site definition has the same thing with a different base type specified.
<TABLE CELLPADDING=1 cellspacing=0 BORDER=0 width=126px style="margin-right: 3px">
<TR><TD class="ms-navheader"><A HREF="_layouts/<%=System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%>/
viewlsts.aspx?BaseType=1">Documents</A></TD></TR>
<TR><TD style="height: 6px"><!--webbot bot="Navigation" S-Btn-Nobr="FALSE" S-Type="sequence" S-Rendering="html" S-Orientation="Vertical" B-Include-Home="FALSE" B-Include-Up="FALSE" U-Page="sid:1004" S-Bar-Pfx="<table border=0 cellpadding=4 cellspacing=0>" S-Bar-Sfx="</table>" S-Btn-Nml="<tr><td><table border=0 cellpadding=0 cellspacing=0><tr><td><img src='_layouts/images/blank.gif' ID='100' alt='Icon' border=0>&nbsp;</td><td valign=top><a ID=onetleftnavbar#LABEL_ID# href='#URL#'>#LABEL#</td></tr></table></td></tr>" S-Target TAG="BODY" startspan --><SharePoint:Navigation LinkBarId="1004" runat="server"/><!--webbot bot="Navigation" endspan --></TD></TR>
Ok so lets tear it up
It can be broken down fairly easily. There are basically two rows. Row 1 has the title and Row 2 renders the links which go under that title.
The above example is the Documents heading. When this renders out on the page it shows Documents, and then renders all the document libraries you create in a table under it.
If you look closely you can see all the things we talked about above like the server control, web bot etc. but what is really important in here is the title, and the links.
Great now we know whats behind it, let's replace it with something more fun.
One of the better things you can use for navigation is an HTML list. Doesn't sound very fun I know but once you have this base you can style it to your hearts content and it's much easier to look at, manage and deal with.
A basic html list looks like this:
<ul>
<li></li>
</ul>
What we're going to do here is remove the entire Web Bot Table rendering and leave us only the meat of what we are after.
The very basicsof what is rendered out into tables can be stripped down to this:
<A HREF="_layouts/<%=System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%>/
viewlsts.aspx?BaseType=1">Documents</A>
<SharePoint:Navigation LinkBarId="1004" runat="server"/>
That leaves you with your title (Documents in this case) and the server control that will render out a link for each document library that is created. You will need to do the same for each of the titles (Picture Libraries, Lists etc).
From there you can pop these items into a simple HTML list which can then be styled to your liking.
This has been one example of how you can make the base code easier to manage by stripping out the tables that are rendered out and replacing them with more sensible markup.
This is a snippet of code from a site definition I created which replaces the entire quick launch navigation structure:
<!-- Render the side navigation/quick launch into a div -->
<div class="sidebar">
<!-- List based quick launch -->
<ul class="quicklaunch">
<li class="ms-navheader"><A HREF="_layouts/<%=System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%>
/viewlsts.aspx?BaseType=1">Documents</A></li>
<li><SharePoint:Navigation LinkBarId="1004" runat="server"/></li><li class="ms-navheader"><A HREF="_layouts/<%=System.Threading.Thread.CurrentThread.CurrentUICulture
.LCID%>/viewlsts.aspx?BaseType=1&ListTemplate=109">Pictures</A></li>
<li><SharePoint:Navigation LinkBarId="1005" runat="server"/></li><li class="ms-navheader"><A HREF="_layouts/<%=System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%>/
viewlsts.aspx?BaseType=0">Lists</A></li>
<li><SharePoint:Navigation LinkBarId="1003" runat="server"/></li><li class="ms-navheader"><A HREF="_layouts/<%=System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%>/
viewlsts.aspx?BaseType=3">Discussions</A></li>
<li><SharePoint:Navigation LinkBarId="1006" runat="server"/></li><li class="ms-navheader"><A HREF="_layouts/<%=System.Threading.Thread.CurrentThread.CurrentUICulture.LCID%>/
viewlsts.aspx?BaseType=4">Surveys</A></li>
<li><SharePoint:Navigation LinkBarId="1007" runat="server"/></li>
</ul>
<!-- End List based quick launch -->
</div>
<!-- End Render the side navigation into a div -->
A couple of quick tips:
Try to keep your class/id names consistent with what Microsoft has named them. This will come in particularly handy if a theme is applied, for example: the "Titles have the class ms-navheader".
The form runat=server which is on the page must come 'after' the quick launch menu, otherwise it will toss you a code block error.
To avoid headaches, create a class and apply it to the list. In the class make sure you remove padding, margins and list-style.
Example:
.quicklaunch {
padding:0;
margin:0;
list-style:none;
}
That about wraps it up. Happy customizing :)
I recieve a fair number of emails asking about SharePoint Portal Server 2003 customization. Here is the readers digest version on one possible way to go about things.
SharePoint Portal Server 2003 uses OWS.CSS MENU.CSS and SPS.CSS by default. If you are looking to do 'global customization' within SharePoint Portal Server you are definately encouraged to leave the SPS.CSS alone.
What you should do is duplicate and rename it. Once you have made a copy of your SPS.CSS file you can then customize the style-sheet to your liking, when happy with it you can simply point to this Custom CSS file.
To point SPS 2003 to a custom CSS file point your browser too:
http://your- site/_layouts/1033/PortalProperties.aspx
Rather than regurgitating all this information I will do what I normally do when asked "How can I get a quick jumpstart on customizing Portal Server?"
I will point them to Bil Simsers great post on SPS Customization
I guess it's warrented to get a little more in-depth with the SPS Customization posts real soon.
If you didn't make it to PDC don't worry you can check out the videos online.
A little more on SharePoint Styles and the way CSS works.
I have tried several variations of style finders for SharePoint in the past. Most recently Todd Bleekers. These are great little tools that can tell you what class/id is being used.
Before you begin customizing however you should be aware of the basic cascading rule of style-sheets and the style-sheets which SharePoint (SPS and WSS) reference.
SharePoint references several style-sheets at any given time by default.
Windows SharePoint Services for example references the OWS.CSS style-sheet by default. If you apply a theme to your WSS site it then also makes a reference to the theme.css file. The theme.css file also appends several color.css files to it (To create that theme1011-109.css file in case anyone ever wondered what the heck it was). Not to mention your menu.css file which controls the drop-down menu styles like the modify shared page.
SharePoint Portal Server has the SPS.CS equivalent by default but you can create WSS sites under SPS so you also have an OWS.CSS. Then you have all the extras in there as well.
By now this should be putting things into perspective. At any time you can have several style-sheets referenced and this is where problems can arise:
These style-sheets contain several of the "same" selectors, ie: The class ms-yourclass could be in 2 or 3 different stylesheets, all of which may be referenced.
It is also possible that the same selectors may be duplicated within the 'same style-sheet'.
The final thing to point out is that there are several selectors combined in the style-sheets if you change the properties for one you change them for them all.
Ok so why am I saying all this?
The reason I say this is it's quite possible you will use this utlitly to locate and change a style only to find out it didn't change and then (virtually) scream at Todd. Before you start screaming however you need to understand why it didn't change.
This is where the basic cascading rules come into play.
Stylesheets are referenced and read in order. This means if you reference 2 style-sheets in your document the second one will take precedence over the first and over-ride any styles which were the same.
It also means if you have 2 of the same classes in this file the second one will over-ride the first. Then there are inline styles (styles put directly into the mark-up). Those take precedence over all others.
The biggest one is that you may have two of the same classes in two different style-sheets BUT there may be an extra property or two in one that's not in the other.
There are other little things such as telling a property to be !important or using which can force precedence but that is not usually an issue within SharePoint styles.
So all that being said, if you change something and it doesn't take maybe it's referenced in another style-sheet.
These are a few things to take note of when using style-finders. Perhaps a future enhancement would be to display the stylesheets which the documents reference and in order as well.
Food for thought.
If you done much SharePoint customization you will have quickly realised there are a lot of classes and id's which you can manipulate in order to change the look of your site.
Apart from that there are several stylesheets which SharePoint can use at any time. While the color.css files are appended to the theme.css in Windows SharePoint Services, there is also the OWS.CSS and in SharePoint Portal Server 2003 there is the SPS.CSS. Throw in a little inline-styling, double-referencing and combined selectors and you have your customization work really cut out for you.
Todd Bleeker has used the DOM to his benefit and conjured up some nifty Javascript that you can pop in a Content Editor Web Part. Once you have this one your page you can hover over elements on the page to see what classes, ID's etc. are applied to them.
You can view Todd Bleekers Style Under Cursor Content Editor Web Part here.
Todd Bleeker has a good summary on exporting a web part as a .DWP. This is the way I exported the "WSS Manager/Drop Down Menu" I posted last week.
I like Todd's blog because it's generally very focused and easy to follow.
View Exporting a Web Part as a DWP by Todd Bleeker
I first noticed this on Patricks site. This is a definate starting point for anyone delving into Windows SharePoint Services and customization.
Overview:
This document provides answers to some of the most frequently asked questions (FAQs) that IT professionals have about Windows SharePoint Services. The questions and answers will be of specific interest to system architects, implementers and operations staff who have deployed, are deploying or are evaluating the deployment of Windows SharePoint Services in a medium or large size organization.
Built on the Windows Server 2003 platform, Microsoft Windows SharePoint Services makes it easy for IT professionals to implement a dependable, scaleable infrastructure that enables teams to create Web sites for information sharing and document collaboration, using straightforward administrative tools and services. In addition to providing Information Workers more effective information sharing, collaboration and discoverability capabilities, Windows SharePoint Services, when deployed within business units and across organizations, benefits IT departments and administrators in the following ways:
• Reliable and scalable platform. Whether deployed on a single server supporting a small organization or in a large enterprise with tens of thousands of sites and thousands of users, Windows SharePoint Services provides a cost-effective, scaleable collaboration and information sharing solution, without compromising system reliability, security, or performance.
• Powerful administrative control and security. Windows SharePoint Services enables IT Professionals to establish a foundation that can help to reduce administration effort and total cost of ownership while providing exceptional support for present and future team and project collaboration needs.
• Better management and consolidation of corporate file shares. Storing files in Windows SharePoint Services document libraries provides many advantages over storing documents in network file servers. Windows SharePoint Services supplies Web sites with document storage and retrieval with check-in and check-out functionality, version history, custom metadata, and flexible, customizable views. Users can find and share data, with the added assurance that data will not be lost. Overall administration and associated operating costs are lowered.
• Easy to Extend and Integrate. Windows SharePoint Services provides IT professionals with a collaboration environment that is easy to extend and that can connect disparate applications, solutions, and systems into an integrated platform with less administrative time and effort.
• Rich Partner Ecosystem. Broad adoption of Windows SharePoint Services and the resulting demand for related applications and services has lead to the development of an active and growing SharePoint partner ecosystem including ISVs, system integrators, educators and publications.
• Rapid user adoption. Rich out-of-the-box functionality combined with Windows SharePoint Services integration with everyday tools such as web browsers, Microsoft Office applications, e-mail and instant messaging, enable users to quickly and easily begin using Windows SharePoint Services – reducing training needs, as well as helpdesk and IT support requests.
Get the best practices for deployment and customization of Windows SharePoint Services paper here.
Most of my posts are about SharePoint customization so I wanted to switch it up a little and write something slightly different but not too far off the beaten path.
I have read several posts/debates about the negative aspects of SharePoint Products and Technologies most of which dwell on things it was never expected to do.
The common theme that I have found in the negative critique has been an overwhelming lack of education or perhaps a misinterpretation of the product.
I have been heavily and exclusively involved with SharePoint Products and Technologies both Windows SharePoint Services 2.0 and SharePoint Portal Server 2003 for the past two years and want to share my own experiences with the product, positive ones.
The truth about SharePoint Products and Technologies
While it was meant to be utilized as a document management and collaboration platform it goes way above and beyond that.
In my opinion the single most important yet commonly overlooked strength of SharePoint is it's diversity and flexibility as a building platform.
What I mean by that is it SharePoint offers a very extensible foundation from which to build solutions that will adapt to and grow with virtually any business process.
What it really boils down to is empowering the workers to manage (and create) dynamic websites, teams, projects and documents all from a single access point.
This sets off a chain reaction where fewer resources are required to perform tasks which once required a technical professional, and those extra resources can spend their time more efficently working on more complex tasks.
Ultimately this leads to the obvious goal of any organization, to reduce costs and resources by creating a more streamlined and productive environment. In other words - Do more with less.
The above only scratches the surface on some of the benefits of using SharePoint Products and Technologies. I didnt even touch on the re-usability of Web Parts, The Easy Website Creation/Maintenance or the ability to be customizaed to suit your corporate brand.
If I could try to sum it up into one tagline I think it would be "Making Technology Simple". I think SharePoint has done a fantastic job of that.
Create Scrolling Content Using the Content Editor
If you have a lot of content you want to display but really only have a small area on the site to display it you could make use of this useless trick.
Let's assume we have a 200x200 pixel area on our screen but we have a page of text that has to fit in there.
Drag the content editor web part into the zone in the area you wish to display it.
Edit the web part properties and set the height of the web part to 200 pixels.
By default the web parts will scroll any additional content which flows outside of the calculated area (overflow) of the web part giving you scrollable content.
Don't you just feel enlightened? :)
Some good links to KB articles over on Andrew Connells site.
How many of you have at one time or other been annoyed by typing (and mis-typing) _layouts/1033/blah blah? Yeah me too, it used to drive me crazy. That's why I created this.
I found myself doing it so often that I packaged up a .DWP to do it for me, pretty basic concept but it can save you a couple of grey hairs.
What is is?
It's content editor web part (not a real web part) with some custom code to create a css drop-down menu that holds the common links like; creating lists, libraries, managing users etc.
Being that it's completely CSS driven menu it's easy to customize. There is a tidbid of getElementbyID Javascript that IE needs in order to put a pseudo class :hover on a list item.
The menu/javascript are based on the suckerfish dropdown
How do I use it
I created an HTML page with everything needed to run the menu ( the CSS, Javascript and the HTML) so that you can see how it works.
1) You can download and install the .DWP file just as you do with most web parts.
If you do this please download the menu page, upload it to your own server, then point to the file in the web part by modifying it's properties and changing the "Content Link".
2) You can copy/paste the code required into your own content editor web part. Read below if you do this
Important:
The content editor web part applies the .ms-WPBody class to a div which holds everyting in the web part body so depending on how you want to use it you may need to modify your theme, and or the css included (example: div.ms-WPBody .yourclass).
3) You can pick it apart and do what you like with it. You may want to use bits and pieces, create a better web part and give only those w/ permissions to perform the functions access to it.
You may want to implement the CSS into a theme, and add the JS to a javscript, use alternate CSS/JS, or any other number of things that might best suit you. Whatever it is you decide it's ok with me.
Download the HTML File | Download the DWP
Mark Kruger has a great listing of SharePoint resources.
I didn't realise the link originally up there was a repost of Marks so he definately gets the credit for this. The post as been edited to reflect that :)
So - Good Job Mark! hehe
I just noticed this on JOPX's blog ..
Citrix Presentation Server™ Web Interface for Microsoft® SharePoint™ provides SharePoint users a single, consistent user interface for access to all content, applications and business information in a single, familiar environment. The Web Interface instantly allows users access to any application —from legacy to Web applications— from Microsoft Windows SharePoint Services and Microsoft SharePoint Portal Server 2003.
Alex has been experimenting with area breadcrumbs in SharePoint Portal Server 2003. He managed to dig up this little gem along the way.
Open any of the default.aspx pages for an area template in your favourite editor. For example, the SPSTOPIC\default.aspx page.
Locate the following code that renders the page title:
<tr> <td ID="onetidPageTitle" class="ms-pagetitle"> <SPSWC:CategoryProperty runat="server" Property="Name" /> </td> </tr>
Comment this entry
Replace the code with the following:
<tr><td><spswc:breadcrumbtrail id="BreadCrumbTrail2" runat="server" titlelocid="MultiPage_BreadcrumbWebPartTitle" verticalmode="false" frametype="None"></td></tr>
Note that you will need to give the control a unique ID ("BreadCrumbTrail2") ast here is another control already on the page.
Save the Page and take a look… You should see something like this in place of the Page Title.
Back to: Home > Topics > Applications\
Changing the appearances can be done changing the following styles:
.bc-cell
.bc-htable
.bc-trail
.bc-leadin
.ms-vb bc-cell
Up to now I have gone into even the simplest of detail to ensure no level of user was left out, I wanted to ensure that this was available to anyone and at any level. Now that we are past that we can finally bring it all together.
In an effort to speed up the process I will try to keep things on topic, and I will also do only one example of bringing in a list and converting it to a data-view. If you do one you can do 100.
Basically what we have right now is a bare-bones page (default.aspx). On this page we have a table that represents the structure/layout we have chosen. (As seen in the file we created previously).
We have left all cells empty, so there are no graphics, or content yet. The reason for this is we are going to utilize SharePoint technologies like the lists we created in our previous tutorial to generate the content for our site. Doing it this way ensures the content is dynamic, and data-based.
Web Parts, and Web Zones
SharePoint revolves around web parts. Even the lists we created in the previous tutorial are considered web parts which we can simply drag-and-drop on to the page to display their contents.
While web parts are actually applications, think of them as the ultimate in re-usable modules. These modules can be written to do just about anything.
Web Parts are stored on the server in a web part library. You can then access them from the browser via a link on your SharePoint page (Modify Shared Page).To use one you drag-and-drop it into a ‘web part zone’ on your page.
You can do this over and over on any SharePoint site on the server (provided you have access) – hence the re-usable part.
We are going to deal with several web parts during this section, but one in particular is the “data-view web part”.
The data-view web part lets you convert your list data into a more customizable format called XSLT. Long story short you can make ugly data look pretty.
As mentioned in order to use web parts properly they must sit in what’s called a web zone. (View Explanation)
Creating Web Zones
So we are done with explanations, on with the goodies. To add a web zone in FrontPage 2003 you will want to first bring up your web parts pane. You can do this by hitting CTRL+F1 and then selecting Web Parts. (See it here).
As you can see, you now have all the nifty web part tools (See it here) available to you.
If you look to the bottom you will see the “New Web Part Zone” button that we will use to create new web zones which web parts can be placed in.
To create a web zone simply click in an empty cell, and then click the “new web part zone” button. You will notice it inserts a web part zone into the empty cell.
If you double click on the web part zone you will notice you get a web part zone properties dialog. There are several things you can do with this like changing the zone name, putting a frame or title bar on it etc. (See the result here)
A couple of tips on this:
1) Do it from design mode, it seems to be a little buggy while in code-view.
2) When you insert a new web zone for some unknown reason FrontPage 2003 decides to put a paragraph tag UNDER it so you will want to remove that.
3) Always name your web zones, it makes it much easier to deal with.
That’s it for adding a web zone, pretty easy huh? We can now skip ahead and add them to all the empty cells we currently have waiting for dynamic data. (Looks like this in the end). Looks pretty bare right now I know but that’s the foundation, now we can drag-and-drop our web parts in.
Adding Web Parts to the Zones
We just set up the page to allow web parts to be added, the only thing left to do now is add them.
Let’s start with an easy one. For our header image we will use the built in “Image Web Part”. While this isn’t overly flexible it will get the job done.
To add it, select the web zone where you want your header, and then drag the Image Web Part from the list on the right into that zone. Alternatively you can click the “insert web part” button.
That’s it you have just added a web part, pretty easy huh? As you can see we are not quite done. It’s not actually displaying anything yet.
If you double click on the web part within the zone it will pop up a window for web part properties. You can use this to customize the part a little more, and more importantly in this case actually specify what image should display in the image web part. (See it here).
I went ahead and added the right path for our header image, turned off any borders, and gave it a title all from the properties window.
That’s about it for adding web parts. You add them all the same way. Let’s move on to something a little more advanced.
Next we will add one of the lists we created earlier, the “ Recent Work” list. This is a simple links list that we will use to display our recent work links.
Let’s go ahead and add this list to the appropriate web part zone the same way we did the last one.
Ok it worked, but it looks terrible (See it here).
Converting a list view to an XSLT data-view
This is where XSLT comes in. In order to convert our ugly list view to a pretty customized display we have to covert it to an XSLT data-view. Doing so is easy, just right click on the list view and choose “Convert to XSLT Data View”. (See it here)
That’s a little better, still not quite there, but at least its broken apart now and we can select and modify the containing table. (See it here)
If you really feel adventurous you can click the data-view then take a look at it in code-view to see the structure behind XSLT. It is broken down into template form.
The code for XSLT can be a little intimidating at first so we’ll stick with a design-view customization.
In design-mode you can select cells by clicking in the data-view then merge, delete, add styles and lots of other cool stuff just as if you were working with any regular table or css based structure/layout.
For this example we want the view to look as it did in our comp so I’ll go ahead and remove all the extras leaving us with just cell with the link so we can style it.
So, I have removed all these extra cells and created the styles below which will make our view look like it did in the comp.
.menuitem {
border-bottom: 1px dashed #EEE;
width:113px;
padding:10px;
padding-left:15px;
background-image:url(images/icon_bullet.jpg);
background-repeat:no-repeat;
background-position:left center;
}
.menuitem a:link{
color:#e300a7;
text-decoration:none;
}
.menuitem a:visited{
color:#e300a7;
text-decoration:none;
}
.menuitem a:hover{
color:#000;
text-decoration:none;
}
All that’s left to do is apply our menuitem class to the cell that holds the links (you only have to do one as it is dynamic).
You can do that be right clicking in the cell, choosing cell properties and then clicking on style. You will see your selectors in the drop-down list, or you can just type it in. (see it here).
That’s about it, that’s the basics of styling a data-view using FrontPage 2003 in design mode, Easy huh?
Our ugly list view now looks just as it did in the comp, and it’s dynamically generated based on our list yet still there hasn’t been a single line of code (.NET) needed.
If you go to your list and add an item now it will display in the data-view just like it is here. (see it here).
We are going to use the same method for the “quick tools, and the customer testimonials” so I’ll go ahead and create those in the background, no need to cover it again.
Using the content editor web part.
The final thing I want to go over is creating the content areas using the “content editor web part” but before I do I just want to say a couple of quick words about this web part.
First off SharePoint was never meant to be a “content management system” if it was they wouldn’t need (MS CMS) so at best you are only mimicking some semblance of content management using this web part.
In all honestly I am really not that big a fan of the content editor web part, while it is easy to use it’s not very reliable in regards to maintaining content and here is why:
1) The content editor is not “databased” the way a list is, there is just a reference to it temporarily placed there. What that means is if someone were to come in and delete your web part from the page well that content is gone, it’s not like a list where it’s still there in the background and not displaying, it’s actually gone.
2) If used improperly you can actually create more mess than good, you can end up with a lot of extra mark-up that really isn’t needed and that could have been done much better using a list.
On that note there are times when the content editor can be useful. For example if you wanted to pop a javascript menu on a page, or some other simple functions you could get away with using the content editor web part.
In reality using it for managing your content is definitely not preferred. You should always consider using a custom list which is much safer, more flexible in regards to filtering and just plain better in my opinion.
That being said this is a fairly basic site we are creating with no real value, it’s just a primer to get your feet wet using the different technologies like web parts so for the tutorial we will go ahead and use it.
The content editor web part is super easy to use, you just drag it into a zone on your page and you are done.
Basically it creates an area where you can add rich text and then modify it from the browser. That’s where the “mock content management” comes in, and again I use that term very loosely.
In our comp we have a couple of areas on the main page for text so I’ll go ahead and drag the content editor web part into the appropriate zone. (See it here).
That was pretty easy huh? You will want to turn off the borders/frames etc. for this web part as we only want the text to display. You can do that by double clicking in the web part and choosing the appearance option.
That’s about it for adding a content editor web part. From here we can edit the text you want to display in there through FrontPage 2003, or from the browser by editing the web part properties.
If you do this through the browser you will notice the rich text editor option. This is where it can get messy. If you use this option you will end up with a lot of inline mark-up for elements like “font face=” and so on.
If you want it to be as clean as possible you would probably want to stay away from this option unless you or the users of the site have absolutely no experience editing very basic HTML in those situations it will get the job done but be forewarned you could end up with a lot of very inconsistent text throughout the site.
Note: It is possible to hide some of the options from the toolbar via the javascript that controls it.
The better option is the second one available from the browser when you edit the web part properties; “Source Editor”. (See them here).
What I prefer to do is wrap a DIV tag around the text. You can then create a CSS Class to style the text as you want to see it and apply it to the div. (See it here).
That would give you a much more consistent look with a lot less mess. Once that is done it is still possible for people to edit the text via the rich text editor so you may still want to hide certain ‘styling’ options from the rich text editor so that it cannot be altered. Otherwise just using the P tag within the source editor is about as much as you should ever have to do.
I’ve created this class for our text.
.ce_webpart {
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:11px;
color:#000;
}
Fairly simple, just a plain font styling but at least now if we wrap a div around any text in the content editor web part and apply this class to it we know it will remain consistent.
I’ve gone ahead and added content editor web parts to the zones for the 2 columns in the middle of our comp as well as the two images that go above them so now it looks like this. (See it here).
Things are starting to take shape now, if you want to edit the text that goes within you can select the web part via modify shared page. You will notice the two options I talked about earlier, the source and rich text editor.
I’ll go ahead and add a little text inside a div with the class I created so we get the final feel.
Important Tip: If you add any text via the browser and then return to FrontPage 2003 make sure you click the refresh button on the toolbar. Otherwise if you save the page from FrontPage 2003 without refreshing it you will lose the data you entered.
That about does it for this section, I will go ahead and add the rest of the elements in the background, that should have gotten you up to speed on how you can implement dynamic elements such as Lists into your SharePoint site.
Nifty Document Library Navigation, or Dynamic Link-Bar Navigation?
Considering I have already explained how to create the document library style navigation and the fact that our site really doesn’t have any need for this navigation or even have a sub-menu for that matter I decided rather than go through inserting that into the site which most of you could figure out based on the “Nifty Document Library Navigation Tutorial”, I would instead cover another simple way to create a navigation through FrontPage 2003, the dynamic link bar feature.
This feature is quite useful and can be used in a variety of ways. The link bar normally at the top of SharePoint pages (the one with documents and lists, site settings etc) uses this for the navigation by default.
One nifty little trick that you can do with this navigation is modify/change the link using FrontPage 2003 without actually un-ghosting your page. I am fairly certain Bil Simser is the one that brought this to my attention in post he made several months ago.
You can do this by choosing to edit your page in FrontPage 2003, double clicking on the bar. That will bring up a dialog box where you can add or change the links. (See it here).
The trick here is that you can just close this when you are done, you don’t “save the page”.
Saving it would un-ghost the page, but if you just close it the navigation changes will take affect without un-ghosting the page.
In this tutorial obviously this isn’t important as we are working with a Site Template which is un-ghosted to begin with.
Adding a dynamic link bar using FrontPage 2003.
Adding a link bar to a site easy. In FrontPage 2003 select the cell/area that you want to display your navigation (It doesn’t have to be in a Web Zone) and go to the Insert Menu in FrontPage 2003.
Select web components (or Navigation) (see it here). Then select link bar from the list.
If you click the drop down on the top you can select “SharePoint Top Navigation Bar”, or you can click create new to make your own.
The rest is fairly self explanatory, you either edit existing links or add new ones so I won’t go too much into that. Instead I will add the navigation to our site now in the background. I will then duplicate the same navigation for the footer.
So far things are really taking shape, the site now looks like a real website there are just a few more small things to do. (Take a look at what we've created so far).
In the next installment I will guide you through setting up and customizing a theme to style your admin pages, and then finally on to backing up our work using FrontPage 2003 and taking a look at the final result.
I hope you are gaining some knowledge of how site templates work within WIndows SharePoint Services and how you can customize them using FrontPage 2003.
Thanks to Patrick for pointing us to this one.
Interesting article in the next TechNet Magazine on the new reporting tools for SPS:
If you have Microsoft Office SharePoint Portal Server (SPS) 2003 deployed in your organization, you need some way to know how your SharePoint sites are being used and whether they are configured for efficient operation. In this article, I will introduce you to the new Microsoft® SQL Server™ Report Pack for SPS 2003. (That’s quite a long name, so from here on I’ll just call it the Report Pack.)
Bil Simser has some very clear words on a recent article from Ferris Research on SharePoint as a Content Managment Tool.
From Bil:
Much like the ballyhoo that started when Mr. Drips posted the 5 things wrong with SharePoint, a company called Ferris Research isn't quite doing their research. They've released a post called SharePoint is not good for enteprise content management and since I'm in a mood tonight and it's my blog I'll get up on my soapbox and rant if I want to.
As per usual I have to agree with Bil
During the day I work for the Information Worker Solutions division of Infotech Canada. Our main focus is on SharePoint Products and Technologies (Both SPS and WSS). One of the main intitiatives has been our product line Team Tools. Team Tools is a group of commercial web parts and components that enhance both SharePoint Portal Server 2003 and Windows SharePoint Services 2.0.
Recently I was able to do a couple of demo's of our web parts for the corporate site so I figured I'd share a couple of them with you here and see what you think. In the very near future we are going to be looking for individuals interested in evaluating some of the products (we will supply a 30 day evaluation) and giving some feedback on them so if you are interested feel free to drop me a line and I'll get back to you as soon as the initial field testing which is currently on-going is complete and we are reading for a second batch of testers.
Below is brief overview of some of the tools and links to demo's so that you can see them in action.
Team Tools - Trace:
This is a SharePoint component that enhances the document library feature. It adds cut, copy and paste options and also retains document version history and meta-data.
You can transfer files across libraries even on different sub-sites with this component.
One of the other major features is the conflict resolution; If you have two libraries with different columns it recognizes this and offers you several ways to deal with it, the more notable one being it allows you to map the columns to what you think works best. The final big one is the document workspace feature. Trace will retain the version history and meta-data of the file even during create document workspace, and publish back to source.
I have posted several demo's of Trace here.
Team Tools - My Private Documents
This is a web part for SharePoint Portal Server 2003 that enhances the Private Documents feature. Normally to access the files in your Private Documents library you have to visit MySite, click the Private Documents link only to be redirected to your personal site where the library is. My Private Documents lets you access your private documents from wherever you place the web part. You can put it directly on MySite, or a Subsite. Fairly logical thing someone might want to be able to do.
My Private Documents demo available here.
There are several other web parts available on the Team Tools section but those two have demo's right now so I figured maybe someone would want to take a look.
For those that have been following web services for remote portlets It seems Microsoft internally decided that they will make WSRP consumer support available for the next version of SharePoint.
Patrick has a post on it here.
This seems to be buzzing this morning. I noticed it on several blogs during my morning reading ritual.
Let me start by apologizing for the delays, as promised however they are still coming, and I will summize the works in a single, downloadable PDF in the end.
This section was not really intended for the tutorial but I decided to include it anyways as its a great little trick for creating a dynamic navigation using a document library and a little well planned sorting/filtering.
Amanda showed me this trick more than two years ago now and we have used it several of our SharePoint projects. I think another person posted on it as well quite awhile ago. In any event its a great tip, one well worth reading.
Now, on to the Nifty Document Library Navigation, What is it?
Quite simply its a way of using SharePoints powerful document library features such as choice columns and views to create a dynamic navigation system.
Basically you create a document library to hold your main pages (like contact.aspx).
Then you create columns within the library for things like section, and name which will be used to filter the views you will create later.
The views will be built for each of our main sections so that only the properly filtered columns should display on the page you place the web part.
Great, now how do I use it?
Document libraries are a central part of SharePoint that most of us are already familiar with. They are a great place for storage of files and documents that we wish to share with others. However what people dont always realize is that they are the optimal place for storing custom web part pages that are part of a dynamic content managed website.
In this section, we will cover how we can use a document library to store all sub pages in a website and then use a custom data view of this document library to control the primary and secondary navigation for a website.
Coincidentally this type navigation will be used in the on-going template tutorial.
Great now lets get started
First we start by creating a document library on our site called pages. For this document library we want to select web part pages as the template.
Setting Up the Columns
We then need to start adding metadata to the document library because we will need this later to help with the dynamic building of our navigation system. Create the following columns:
Page Type
We will want to categorize each of the pages stored in the library based on their role.
While not all these are needed they can all be helpful and I have chosen the following:
Primary Nav (Each page that will be part of the primary navigation menu of the website)
Secondary Nav (Each page that will belong to a specific section and make up the secondary navigation menu of the website) – obviously you can skip this if you have only one menu.
Template - Because we want to make this site extensible for future developments, we will create some template pages so that new content pages can be added to the site in the future easily.
Admin - Some of the pages in the site will not be part of the navigation system but will be useful for administrative purposes. (more on that later)
Section- We will use this column to determine where in the site, each page will appear. For the site we are working on in the tutorial we have the following sections:
Home
Expertise
Work Samples
The Team
Contact
Page Order
Sometimes we have a specific order that we would like to see links displayed on a site, we will use this column to do just that. This column will be a basic choice field featuring a selection of numbers from 1-5. Depending on your situation, you may opt to use fewer or more choices.
Creating the Views
Next we create a series of basic document library views that will serve our basic needs.
The views will be further customized for visual display in the next section. For each view, the only columns we display will be the one called Name (for use in forms).
For this example, we will create the following views to ensure that pages appear in the appropriate sections of the site:
First we will create the Main Navigation Menu View. …
Primary Nav
Filter - Where page type is equal to primary nav
Sort - By Page Order in ascending order.
Style - Newsletter (no lines)
Display items without folders
Next we will create the Sub Navigation Menu Views For Each Section. …
Expertise
Filter - Where page type is equal to secondary nav and where Section is equal to Expertise
Sort - By Page Order in ascending order
Style - Newsletter (no lines)
Display items without folders
The Team
Filter - Where page type is equal to secondary nav and where Section is equal to The Team
Sort - By Page Order in ascending order
Style - Newsletter (no lines)
Display items without folders
Work Samples
Filter - Where page type is equal to secondary nav and where Section is equal to Work Samples
Sort - By Page Order in ascending order
Style - Newsletter (no lines)
Display items without folders
We now have the foundation for the navigational system of our website.
I will cover this in a little more detail in the next section when I create the web-zones and finally bring in our content to complete the site.
If you cant wait here is the readers digest version…
Converting the Document Library Views to Data Views
Place the pages web part on the page in the web part zone you have specified for the top nav.
Then change to the view you created called Primary Nav and apply changes. Be sure to turn off all toolbars, and hide any frames – you want only the navigation.
In FrontPage, right click on the view and select Convert to Data View. Use FrontPage and css styles to customize the layout of this view to your liking.
Then copy and paste the view to each page of your site in a web part zone that you have specified for the top nav.
Repeat the above process for each sub nav area by adding the appropriate sub nav view to each section. For example add the expertise view to the pages in the Expertise section of the site.
Voila, you have a nifty (and dynamic) document library based navigation system thats easy to update.
This post is slightly more advanced so if you have any questions on this feel free to drop me a line and Ill do my best to sum it up for you in email, or on messenger.
Bil Simser points us to an updated WSS Admin Guide
The WSS Administrators guide has been updated for SP2 and includes the following new topics:
What's New in Windows SharePoint Services Service Pack 2
Allowing Web Applications to Coexist with Windows SharePoint Services
Preparing Front-End Web Servers for Windows SharePoint Services
Some updated topics include:
Backing Up and Restoring Web Sites
Changing the Application Pool Identity for a Virtual Server
Configuring Two Virtual Servers to Host the Same Content
Extending Virtual Servers
Hardware and Software Requirements
Migrating from WMSDE to SQL Server
Remote SQL Server Deployment
Security Considerations for Server and Site Configurations
Separate Active Directory Directory Service Organization Unit Deployment
Windows SharePoint Services Security Model
I have had several people ask about the site template tutorials - they're still coming I promise. I have also had several people asking about how much you can strip down a site template (in regards to the HTML) before it's no longer a SharePoint site.
If you want to strip it down to it's absolute barebones, you will end up with something like this:
<%@ Page Language="C#" Debug="true"%>
<%@ Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<HTML>
<HEAD>
<meta name="WebPartPageExpansion" content="full">
<Title ID=onetidTitle>Home</Title>
<script src="_layouts/1033/owsbrows.js"></script>
<script src="_layouts/1033/ows.js"></script>
<SharePoint:CssLink DefaultUrl="/_layouts/1033/styles/ows.css" runat="server" ID="Csslink1"/>
</HEAD>
<BODY marginwidth="0" marginheight="0">
Bare Bones .aspx (SharePoint) page.
</BODY>
</HTML>
Note - the modify shared page control isn't in this you can copy/paste that from any page, or just copy/paste this in:
<WebPartPages:SettingsLink runat="server"/>
Also if you have your WSS site linked to a top-level Portal site you would want this in there:
<SharePoint:PortalConnection runat="server"/>
I just noticed this one Patricks Blog
Seth Bates and Tony Smith have written a long awaited book for end-users working in SharePoint called "SharePoint 2003 User's Guide". I am pretty convinced that there is a lot of demand for the topics covered in the book.
Server Side.NET have some sample chapters available before purchasing the book.
I've been blogging for about a year now and I have learned many things, mostly through trial-and-error, but I'll chaulk it up as experience and start fresh.
Things I've learned;
Don't make over-zealous, premature posts before you can back up the results.
Try to keep things short and sweet and most importantly on topic.
One thing at a time, especially when it comes to large projects (Like a 15 part tutorial)
As you may have noticed the first step in my leaf turning is a fresh new look for the blog. I talk a lot of design, usability, CSS and customization so it was time to start practicing what I preach.
Moving Forward:
I will do my best to keep things on topic, and easy to follow. I will also have my homework done before I jump into any in-depth posts (ie: the work will be done in the background before I post).
I'm going to continue blogging, just in a more organized fashion. The focus of the blog will remain on SharePoint Customization.
I hope you like the new look,
Shane
Not really sure why I have not seen this popping up but Bil Simser has a couple of pet projects which he's hoping to complete, one in particular that caught my attention was this one.
An editor for XML files like the ONET.XML that we all love manually editing so much for site definitions.
Some great features:
Client based editing so you can work offline
Publish to server and reset from inside the tool to see results immediately
Graphical editing of all nodes in ONET and SCHEMA
Validation of nodes so your output isn't screwed up
Context Menus so you can just add stuff without having to know all the Xml behind it
Ability to read in ONET and SCHEMA files from existing SharePoint sites for editing
Visible output of Xml as you build it
Ready for V3 as it understands both 2003 and v3 versions
Great Taste! Less Filling!
Looking forward to seeing this one develop!
I realised recently that I have not linked to any of the actual SharePoint sites that I have been customizing that are external so I figured I'd drop a couple of links in.
These sites were created as "Templates" - Yes there is a time and place for templates just as there is site-definitions. They show just how much you can customize a site and still have the core functionality running from the SharePoint (WSS in this case) platform.
The reason for using SharePoint for these sites is simple;
My Team is the Information Worker team, we deal exclusively with Microsoft solutions built on ASP.NET, SharePoint Portal Server 2003 and Windows SharePoint Services 2.0, Project Server, InfoPath and of course our very own product line Team Tools which is focused 100% around SharePoint.
Simply put I believe in practicing what you preach. I don't use SharePoint because I think it's a great new fad, I use it because I think it offers something extra and has the potential to completely change the way websites are designed. With ASP.NET 2.0 Web Parts just around the corner I think that will start to become even more evident.
Enough of that, below are various Windows SharePoint Services (WSS) sites that I have customized over the last little while:
SharePoint Nation - This site isn't live yet, but I figured I'd drop in a screenshot of one of many revs this site has gone through. note - The site will likely not look like this as I wasn't happy with it.
Infotech Canada - Getting back to the practicing what you preach, we believe enough in the product to base our corporate site on it.
Infotech Systems - This is a site I created just last week for our hardware/software partner. It's quite small still but it's a prime example of how a "designer" with no real programming knowledge can create a dynamic and content-managed site. The contact form uses our Easy Forms web part.
We Develop .NET - Website for our St. John's .NET usergroup. It was built on SharePoint to allow the content to be based on lists as well as have a members-area portal.
Strategic Growth - Another very small and basic site that was created for a friend, it was built to allow easy-updating by someone with limited "technical" experience and zero knowledge of website updating, HTML etc.
Another interesting topic I found on finding out what version of WSS you are running Patricks Blog.
May seem like a fairly simple question, until someone asks it. "What version of WSS do you run?".
Here are the respective version numbers (specified in the Site Settings page) to help you with this:
- 6.0.2.5530 - WSS
- 6.0.2.6361 - WSS + SP1
- 6.0.2.6411 - WSS+SP1+Security Fix (KB887981 / 8thFeb 2005)
- 6.0.2.6568 - WSS + SP2
(- 6.0.2.6551 - R2 WSS (SP2 equivalent) [still in Beta])
Penny Coventry had a blog-post on the subject, and Mike Walsh also has a great summary online.
Many of you have been wondering what's been going on with SharePoint Nation.
Amanda and I are currently working on getting a v1 release very soon..
I have edited this entry to help people better understand just what SharePoint Nation is. There has been some concern over it perhaps competing with SharePoint resource sites currently feeding the community.
SharePoint Nation should definately not be seen as a "resource site" or competition. SharePoint Nation can be considered an organization that will compliment the existing SharePoint Resources.
SharePoint Nation as mentioned can be considered an organization of SharePoint professionals which in most cases are individuals from the community. These people will be there to maintain sections specific to their expertise and also offer help when possible in the form of online chats etc.
SharePoint Nation is not being set up to re-write existing information, instead it will help lead people to this information in a very targetted fashion.
The goal and sole purpose of SharePoint Nation is to act as a "Virtual User Group". Not an online resource site.
There are a lot of features we have planned most of which will evolve over time. We will be scouting for contributors to the site possibly as early as next week. We are hoping to put some solid time into getting an initial release ready this weekend.
At the very least I should be able to tell you this weekend what features will be included in release 1 which will be on-line *very* soon.
We will be looking for 'very well versed' individuals to help out with certain sections of the site and maintaining its content. If you have an interest in a particular area feel free to drop me a line, or leave a comment here.
We will be breaking things down as much as possible to really filter the proper information into the appropriate channels.
We really want to cover the main areas such as consulting, development, customization, administration etc.
How is your spanish? :)
I just noticed this on Stramits blog ...
You can take a look at a few larger version (than the chan9) screens here.
The much awaited release of WSS SP2 has arrived.
Skip everything and go directly to the WSS SP2 Download Page.
Bil Simser as always has some great information up on his site about it, details below or you can visit his site directly. If you are not already subscribed to his blog it's a definate on any SharePointers list.
Some juicy details from Bil Simsers site:
The WSS SP 2 release has substantial supportability improvements including:
Support for running on 64-bit machines in 32-bit emulation mode
Support for Reverse Proxy and Alternate URL support
Support for IP Bound virtual servers
Support for off-box SSL termination
Support for SQL Server 2005
Support for ASP.NET 2.0
Everyong running WSS and SPS are encouraged to update to WSS SP 2. However, although SPS SP1/RTM will be able to run on top of WSS SP2, Microsoft is restricting support for the "shared" functionality that is added in SP2 for SPS and WSS until SPS SP2 ships. The shared functionality is the support improvements above.
In other words, even though you'll be able to install WSS SP2 on SPS SP1/RTM installs, you still need to wait for SPS SP2 before utilizing any of the newly-supported functionality above.
Of course if you have not already taken the walkthrough you can do that here.
A little late linking to this, I've been busy ..
Fitz has added some insight on the ghosting horrors of Frontpage and more importantly how they have been addressed.
From Mikes Blog
This is one item I’ve been holding back for a while. FrontPage “12” will be a great SharePoint site designer on many, many fronts. Like the current version, using it to edit a page in a SharePoint site will cause the page to become unghosted. Unlike the current version, ghosting will cease to be much of a problem. Here’s why…
There are two reasons why we don’t like unghosting: (1) it makes caching a lot harder and increases the number of database fetches, having a negative impact on perfrmance, sometimes by as much as 20%, and (2) it makes managing those unghosted pages very, very difficult. Enforcing an update to a template just isn’t something that’s workable.
Good news: (1) a combination of caching improvements done by the ASP.NET team and the WSS team will result in unghosting having little if any performance impact, and (2) thanks to WSS’ ability to use ASP.NET 2.0 master pages and given that FrontPage “12” supports their design and use as well, you can use master pages to keep your unghosted pages organized.
Want to know who’s responsible for this feature? Maurice Prather. Want to bet he’ll expand on this over at his blog sometime soon?
So, after the second quarter of next year, those of you who’ve been afraid of FrontPage needn’t be. FrontPage loves you — get ready to reciprocate.
* Update*
I have decided to wait a few days before actually letting this list stay live, I want to give everyone an opportunity to have their names removed should they not want them in the public listing. I have had some that prefer to remain off the list due to their corporate emails being used.
If you would rather not be included in the public listing please let me know. Until I am certain everyone is ok with it I will keep the listing offline for now.
** end update **
Many of you over the last few months have been involved with the messenger conversations we've been having on a semi-regular basis.
My MSN Messenger SharePoint Group has grown significantly over the last while so I decided it was time to keep track of them in a more organized fashion.
For those that have never really taken a look at what messenger exports as a contact list it is XML based so I have edited the list to only contain SharePoint contacts.
There are 30 or so names in the list now, I will continue to add to this list as new contacts come in. If for any reason you would rather not be in the public list please let me know..
To Export your list:
Go to Contacts, Save Contact List
To edit your list
Open the list in a text editor such as notepad and simply add the entries
To Import a list
Go to Contacts, Import Contacts from a File
If you would like to be added to the list feel free to email me Please notify me on if you would like to be part of the "PUBLIC" listing.
Thanks,
Blog #100400506 to post this im sure but take a look at some of the great new features coming down the pipe!
My Boss sent this to me via email yesterday, I am only now getting a chance to post it. Great litle post on the SmartPart from Patrick.
Jan has been working on a new version of the SmartPart, also referred to as ‘the son of the SmartPart’ by Mike Fitzmaurice. We have been working closely with the Microsoft SharePoint team to provide you with a brand new version of the SmartPart (version 2.0) that we and Microsoft understand will be enormously useful if you move your SharePoint sites onto the ASP.NET 2.0 framework by installing the forthcoming SP2 of WSS.
Fitz also has a great post on it over here.
The SmartPart workspace is located here.
New in SharePoint
Neat Recycle Bin
Slide library - New sharepoint library, lets you create and add slides to libraries, great for people that use powerpoint alot. Easy to keep the most recent slides up-to-date.
RSS Support
Nice integration with Outlook. Sync of Document Libraries to Outlook!
Outlook:
Outlook - To-do bar (Tasks, Caldendar etc). This neat built in feature of Office 12 (Outlook) looks promising. Oh yah, it also itegrates into tasks for Project Server, One-Note etc.
Filter engine in outlook will also let you view things right in the browser rather than having to open it (JPG's, PPT's etc).
RSS Browsing right into outlook! complete with Sync!
I posted recently about my "boss" starting blogging again. He's just released on his blog the SPS Backup Script he wrote awhile ago and recently polished to add more complete error trapping and email notification.
Steve Clarke is blogging again it seems (at least sometimes). Steve is the CTO and works directly with our team (Information Worker Team) at Infotech. He also just happens to be my Boss.
Steve is the creator of SharePoint Fav the windows application that lets you right click and add links from your browser directly to a SharePoint links list.
We all have fairly hectic schedules and it's often hard to get the time to say a lot of what you want. While you may not see daily updates there is a very good chance when he does make a post it will be worthwhile reading, definaetly another SharePoint blogger to add to your list.
Visit his site | Download SharePoint Fav
Amanda just send me this link via email. It's a great breakdown of performance monitoring on SharePoint Portal Server 2003.
Performance monitoring helps organizations identify performance bottlenecks of the current environment and identify the right time to scale out the SharePoint server farm. I will be looking at what are the critical performance counters in a SharePoint Portal environment and how to monitor them. This article includes information regarding analyze logs information to determine the best scale out options for SharePoint server farm. Organizations can use the Microsoft Windows Server 2003 System Monitor, Performance Logs and Alerts to monitor the counters described in this article.
Monitoring performance regularly, organizations can recognize trends as they develop and prevent performance problems. This will also help to decide when to upgrade the hardware and whether upgrades are improving the server's performance.