I recently discovered that I’m actually a fireman.
It’s been a while now, that I’m busy putting out small SharePoint fires.
It so happened, that I’m spending the last couple of months helping client solving probems and errors in their SharePoint implementations.
One client didn’t have any permissions’ model. On one hand users reported they can’t access resources. In the other hand, information security personals complained that users have too many permissions. At the end of the day, the system din’t work as expected, and users weren’t serviced.
Another client had a huge database, with astronomical number of sites (and I mean thousands) all on the same content database.
No worries, you’re not alone. Most places I visit, has one or more “SharePoint illness”.
Why does it happen?
As a platform, SharePoint enable the user to do things, he wouldn’t be able to do in a “regular” site.
Starting with content creation and files’ uploads, going through page’s customizations and even sub-sites and folders’ creation.
Just like Uncle Ben said to Peter Parker (Spiderman): “With great power, comes great responsibility” (he’s actually quotes President Roosevelt).
This is where a small plan, called Governance Plan, come into place.
So, what Governance Plan is?
According to Wikipedia, the word Governance comes from an ancient Greek verb which means to steer (or to navigate).
Hence, Governance Plan, is a navigation plan, or navigation principals.
Principals to help us mange various items regarding our organization’s content or knowledge management system.
The most important part of such a plan, is having a vision. Or, knowing exactly where you want to go with your collaboration platform. You can do anything, at the end of the day - nothing is impossible, but the question is “Do we really need it all?”, “Maybe we should concentrate on the most important parts and expand it later?” (and the answer, of course, it “yes” to the second question).
It is important to note and remember, that it is most likely the one plan would not fit all the parts of your organization. It is OK that way. But in this case, the place is not a base for changes. You have to set a basic plan which will be a steady base to all other variation of the plan. Separate your solution into smaller parts (such as Site Collections) appling the specific variation to the specific part.
Take control into your own hands. Implementing Governance in SharePoint 2010
the ability to develop and to customize SharePoint, significantly boosted in 2010’s version of the product.
Starting from better content creation and management, going through the social abilities added to the product, and finishing with the ability to consume and alter data from legacy systems, from within SharePoint.
It appears as power, just got significantly boosted.
But parallel to that, the ability to control that power, increased significantly just as well, and governance options are far more advanced in SharePoint 2010.
As a starter, the granularity of decision is far smaller, and it is on the site’s level now. That means that you can define quotas to for one site, so it can contain huge media files, while the next site is a slim document only site.
SharePoint 2010 introduced the Health Analyzer, which present you detailed information about your farm’s health and status.
you can easily define who is allowed to install SharePoint. Furthermore, using Domain Services Markers, you can collect a list of installed farms, within your organization.
In the next few weeks I will write few posts discussing these options including some how-to guides.
Tech-Ed Israel 2010
I’m going to discuss these issues more thorough in Tech-Ed Eilat 2010, at the end of this month.
I’m going to give, with my friend and colleague Zviki Goldberg, we’re going to discuss test-cases we’ve came across on the field, in real implementations, which are in everyday life of different organizations. We’re going to describe how to avoid such issues, and how SharePoint 2010 helps you with those tasks.
We will also describe how you can, easily, take control back into your own hands.
The lecture aimed for everyone who uses and manages SharePoint in everyday life, but espcially for IT professionals who need tools and method to gain control over the organization’s SharePoint farm.
I’ll be very happy to see you there.
Hello readers, if there’re still some one who reads here :)
It’s been almost a year since the last time I’ve wrote anything. A very busy year, with many new things and many new adventures.
So where was I?
I had quite a big promotion at work. I got bigger responsibility and higher ranked job role. Which is nice, mainly because now I get to play with all the new things (someone said SharePoint 2010? Visual Studio 2010? :))
Besides that, I’ve spent some time (some great time!) at my sister’s in Australia. The little one grow so big during the past year (well, kids do tend to do so). Hopefully I will finish uploading the photos soon…
I have a lecture in the GoLive2010 event.
And I had some very nice projects I was working on.
Guess that’s all.
Well, I had a bit of writers’ block, which prevented me from posting (plus all the above..).
But hopefully it is over now. I do have quite some topics I want to write about, and I will in the next few weeks.
Hopefully I still have some readers :)
פוסט בעברית לשם שינוי.
במסגרת דיונים על תרגום עברי להנחיות הנגישות לאינטרנט אנחנו מחפשים תרגום למונח “User-Agent”.
כרגע הגענו לתרגום: “תוכנות הצגה”.
אשמח לשמוע את דעתכם בנושא, ו/או רעיונות חלופיים.
Every now and then, when I prepare my self to a lecture, or when I need to create a demo, I need to produce some “content” on my MOSS site.
Since it is quite a tedious task to produce 10-15 pages, I wrote a small code snippet that will do this task for me.
The basics – creating pages with code
Here is the basic C# code:
- using (SPSite site = new SPSite("http://joeysh-srv-pt:100"))
- using (SPWeb web = site.OpenWeb())
- //Get the publishing site, and publishing web
- PublishingWeb pubWeb = PublishingWeb.GetPublishingWeb(web);
- //Get the content type for the page
- SPContentTypeId ctID = new SPContentTypeId("0x010100C568DB52D9D0A14D9B2FDCC96666E9F2007948130EC3DB064584E219954237AF3900B1281BE7EC1A304F977F3595ED435565");
- //Now let's get the page layout for that content type
- //Note: assuming only one page layout for that CT
- PageLayout layout = pubWeb.GetAvailablePageLayouts(ctID);
- //Create the page
- //Note: assuming page doesn't exist yet
- PublishingPage newPage = pubWeb.GetPublishingPages().Add("newly_created_page.aspx", layout);
- //Add the title and description. Those are special fields which doesn't exists in the SPListItem for that page.
- newPage.Title = "Page created with code";
- newPage.Description = "This page was created solely with code";
- //Now set some fields' values
- newPage.ListItem["DetailedDescription"] = "This is a very good product description";
- newPage.ListItem["Price"] = "50.99";
- newPage.ListItem["IsOnSale"] = "Yes";
- //Update the item, check-in and publish
- newPage.ListItem.File.CheckIn("Created automatically");
- newPage.ListItem.File.Publish("Created automatically");
I think the code is really straight forward. After getting an instance of the desired site collection, I’m getting a publishing web object (line 6). This is done to get access to some of the publishing method, which the basic SPWeb doesn’t expose.
In line 20 – 31, I’m filling in some content in the page’s fields. Note that the “title” and “description” fields are getting different attention. The reason for that, is the they both comes from the base object, and not from the content type’s list item.
The last important part is to update the list item, and check in the new file. The update part is simple – a page is a list item, and hence it needs to be updated, just like any other list item.
The check-in and the publish, is unique to pages, and the reason for that is versioning. Unlike regular list items, pages can save versioning information, therefore you should check them out for editing and check them back in when you done. When you create a new page, it is automatically checked out on you.
I would suggest you leave the remark there, and/or add something more descriptive, just so you can recognize you pages later.
Creating multiply pages with code
This is actually a very small extension to the code above.
All I add is a function that will fetch some content from an Excel file, or XML or any other source, it might even be just another list inside your SharePoint. The point is that those data sources, are easier to edit and you can easily just drop as many rows as you like.
So, my code differs very little, first, I get a list of items from my data source:
- //Get some data from any data source
- //'SingleRow' is some data structure. It can be anything:
- //XML, DataRow, any class or object, etc.
- List<SingleRow> pagesToCreate = GetPagesContentFromSource();
And then I rap the page-creation-code in a loop, so it looks like that:
- //Now loop the data source, and create a page for each item
- foreach (SingleRow currentRow in pagesToCreate)
- //Create the page
- //Note: assuming page doesn't exist yet
- //The page name is creates using the data source's title
- PublishingPage newPage = pubWeb.GetPublishingPages().Add(currentRow.Title + ".aspx", layout);
- //Add the title and description. Those are special fields which doesn't exists in the SPListItem for that page.
- newPage.Title = currentRow.Title;
- newPage.Description = currentRow.Description;
- //Now set some fields' values
- newPage.ListItem["DetailedDescription"] = currentRow.DetailedDescription;
- newPage.ListItem["Price"] = currentRow.Price;
- newPage.ListItem["IsOnSale"] = currentRow.IsOnSale;
- //Update the item, check-in and publish
- newPage.ListItem.File.CheckIn("Created automatically, page title: " + currentRow.Title);
- newPage.ListItem.File.Publish("Created automatically, page title: " + currentRow.Title);
Note that I’m only wrapping the lines that do the actual creation. I don’t want to create instances of sites on each iteration, of course. Furthermore, since I’m creating pages of the same type, the Content Type and the Layout doesn’t change as well.
You can, of course, make the code even more sophisticate, and choose different pages’ layouts and different content types.
Last week, Matrix launched its own blogs’ site – blogiX.
I have a new blog there, about SharePoint, content management and so on.
The blog is in Hebrew, and I will post there some translated posts from this blog, and some originals.
New blog’s address: http://portals.blogix.co.il
This post was suppose to be part of the Validating WCAG 2.0 post. But due to the length of the combined post, I decided to split them.
SortSite by Electrum is a complete testing tool for web sites. It isn’t free, but it isn’t very expansive either - the standard version cost 149$ (complete price list).
It stands alone, and doesn’t require Internet access (there’re couple of information frames that pools data from the web site, besides those, everything will work).
The application checks many things:
- Browser Compatibility
- Broken Links and Errors
- Web Standards
- Search Optimization (Pro edition only)
- Legal Compliance (Pro edition only)
- User Experience (Pro edition only)
The interface is very simple, and it looks just like a browser. Just type in the address of the page you wish to check, and hit the “Check” button.
Each page in the application includes clear explanations of how to achieve the basic functionality of that page.
As an example, here is the “Rule Settings” page (click to enlarge):
In the “Choose Rules” dialog, you can select which rules and guidelines to check:
The accessibility section offers checks for WCAG 1, WCAG 2, and Section 508. You can select which level you wish to support, and check to that level.
You can assemble a list of check you wish to run and export it. Later on, you can import it back to run that set of tests again. This can be very useful, if you want different set of checks for different development phases. The import/export is done using the links on the bottom of the dialog.
The result page will show you a summary of all the checks conducted on the page.
Drilling down to the accessibility report, will show the accessibility check report.
On the top of the page there’s an accessibility status summary table, showing you how the site stands on each level and version checked.
Each error, offers a link to the guideline it self, from the WCAG guidelines pages. Clicking the link will open the page inside the application, which makes it easy to quickly check the description of that error.
Clicking the errors on the left, will show you the pages on which the error was found.
Each page has a separate report; clicking the link, will navigate to the single page’s report, showing the error it self, the line number on which the error exists, piece of the HTML code, and a fix suggestion.
Over all this is a very good tool for checking many aspects of your web site.
Although it isn’t free, I think it worth its price. You can use it for 30 days, using the trial version, before you decide.
But if you need to check many sites, conducting the same tests over and over, I think it will defiantly save you some time.
Earlier this week, I’ve published my post about Fujitsu Accessibility assistance. One of the problems with this tool is that it still checks only for WCAG 1.0.
In fact, most of the tools out there, are still aimed at WCAG 1.0.
Following the post, I was asked for a tool that will validate WCAG 2.0. Since I actually need it my self, I didn’t need much more to get on the search.
ATRC Web Accessibility Checker
The “ATRC Web Accessibility Checker” is an online validating tool from the “Adaptive Technology Resource Centre”.
It is completely free, but since it works only on-line, you should have Internet access. You can, as a workaround, save your rendered file to a static HTML file, and upload that file.
The interface is very simple:
Just type in the URL for the site you wish to check, select the options you want, and hit “Check It”.
After a while (it will take quite a few seconds) you will have a tabbed report on the bottom of that page, which looks like that:
Each error, is marked with the line number in the checked HTML. Note that if you are checking an Asp.Net page, the line number wouldn’t be same as your mark-up, but as your rendered HTML result.
The “Repair” section of each error, offers a method to repair that error.
Clicking the error’s title link, will open a popup window with a detailed explanation of the guide line and repair method.
If you need an offline tool, read about SortSite - web site testing tool
When you develop an accessible site, you would probably incorporate the accessibility test into your QA phase. This is a standard practice, and it is a good practice.
However, you might want to test your code yourself, while still in development. This is a good practice too. If you’re running unit tests on you C# code, why wouldn’t you do something similar for your HTML code?
If you are developing within Visual Studio, the IDE highlights some elements, and offer some tests for accessibility.
But if you don’t use Visual Studio (developing Java maybe?), you need some external tool.
There are many tools that can do automatic checks on your web page. Most of them aren’t for free, or if they are free, they are on-line (which might be a problem, if you are on a secured network).
I was working with a development project, and I need some tools, so they can check for accessibility themselves, before my final test.
After not much of searching, I found out the Fujitsu Accessibility Assistance toolset.
There are 3 tools on that set: Web Accessibility Inspector ColorSelector ColorDoctor
I’m going to focus only on the first and last, as ColorSelector is merely a color-picker and not really an accessibility tool per se.
Both tools are completely stand alone, and they don’t need no Internet access. Both are built with Java, and you will have to download Java runtime to get it to work.
Web Accessibility Inspector
This tool will perform an automated check for WCAG 1.0 (no WCAG 2.0 support yet). The interface is very simple as you can see below:
You can select to check a folder (where you HTML or ASPX files are located), including sub-folders, with the option to drill one layer, two layers or all layers. You can check the level of compliance you wish to check, or to customize the check list, to check only specific guide lines.
A word of caution: do not hit the “version…” button. Due to some bug, it hangs the application (at least it did on my machine).
If you hit the “Setup the environment…” button, you’ll get the following screen:
Here you can setup the browser to use for the check and when watching the result file, setup proxy (if you’re checking your site on-line), and so on.
One of the coolest thing in my opinion, is that the result are being presented as an HTML page, which you can save, print, or send by mail. I’m using it to produce a check list of errors to my team.
The result file shows a summary table, with internal links, to the problem found.
As you can see, the tool checks not only the main file, but also the supporting files (i.e. CSS files, and JaveScript).
Just below that table, you can get a quick view of how many errors you need to fix, to meet each compliance level.
Each error found, is being described in details, including the line number, the compliance level for which this guideline belongs, and a link to the guideline itself on the WCAG web page.
Now this tool, is a simulation tool, design to show you how your site will be seen in the eyes of a person, having types of color blindness deficiency.
As with the first tool, the interface is very simple:
Just type in the URL to your page (it can be local) and hit the “Go” button. Choose the type of deficiency you wish to check for, and hit the “Convert image”.
Note that only the left pane is scrollable. If you scrolled the left pane, you will have to click the “Convert image” once more. Marking the “Real-time conversion” will scroll and convert the right pane, while you’re scrolling the left pane. Note that the conversion process is heavy, and the scrolling wouldn’t be smooth.
You can use this tool to check images you’re about to use on your site. Just replace the URL with the full path to the image file (i.e. “C:\someFolder\somefile.jpg”) and everything else is just the same.
A friend asked me to find her an on-line map for the subway in several cities she is going to.
Naturally, I’ve Googled with “subway maps” and the second result was that: Subway Maps on amadeous.net.
I’ve browsed a bit to see if it has all the maps I need, and then, surprisingly, found “Haifa” in the list of cities who has a subway.
And there is a map as well(!)
I knew about the “Carmelit”, of course. I took some rides in it too. But it was very funny to see it besides subway’s maps from London or Tokyo…
Just take a look at the other maps and you’ll catch the funny part.
It’s a good site to have in your bookmarks, anyhow.
While I was researching for my post What's new in WCAG 2, a new podcast was published in a podcast show I like to watch: Boagworld.
It is very interesting, and I think people might find it interesting. The sound is not that great here (there’s a whole bunch of apologies for that on the podcast’s site itself ).
If you prefer to see the video on the original site, here’s the link: Video: Introduction to WCAG 2.
If you want to read the transcript of this presentation, it is available on the original page as well (below the video).
Introduction to WCAG 2.0. from Paul Boag on Vimeo.
Last December, at last, W3C published the final release of Web Content Accessibility Guidelines (WCAG) 2.0.
It took five years to create this new version, and now that it is out, there are many questions regarding this new version. I will try to cover the main issues and questions I’m getting from clients and colleagues, and I’ll be happy to add some more, if you have any (just, send me a line, or add it in the comments).
Why do we need the new version?
Well, that is the first question that usually rises. The answer for that is very simple – evolution. The first version WCAG was published on 1999. The web had gone a long way since those days. The technology changed. People had changed.
In 1999, the Internet was a network to exchange data, and to entertain yourself. Today, you can do almost anything over the Internet:buying groceries, paying you bills, rent a movie, and so on and so forth.
The Internet became a tool for people. It is even more effective for people with disabilities. Consider how difficult and even dangerous for a blind person to go to his bank, compared to the option of communicating with his bank entirely from his home and seat.
The technology today allows all that. Furthermore, web technology advanced so greatly, so some of the old guidelines just weren’t possible to implement.As an example, take guideline 6.3: “Ensure that pages are usable when scripts, applets, or other programmatic objects are turned off or not supported.”, how can you have a Dot.Net application with out scripts to do the post backs?!
The new structures
If you read WCAG 1.0, you probably remember the old structure: there where three levels of compliance, each with several guidelines, and you could filter the guidelines to see only the level you wanted.
The new structure is different. There are now 4 categories of compliance, and 12 guidelines (in all 4 categories all together) with 3 success criteria for each guideline.
The 4 different categories, are:
From the original document: “Information and user interface components must be presentable to users in ways they can perceive.”
Meaning that parts of your page should be viewable to people, no matter what user agent they are using, and no mater what sense are they using (i.e. using their ears, instead of their eyes, to “read” you page).
The success criteria you will find here are about text alternatives, about time limited media, captions, etc.
From the original document: “User interface components and navigation must be operable.”
This category is about how users will work with your site; how will they navigate, etc.
The meaning here is that users should be able to operate the site no matter what technology they are using.
In this category you will find guidelines and success criteria regarding keyboard operation and keyboard traps, time limited responses, etc.
From the original document: “Information and the operation of user interface must be understandable”
Meaning that user must understand what they read on your page, and must understand how to operate the site. As an example, if you’re using a special button to log-off, it must be designed so people understand that this is the log-off button.
You will find here criteria about the use of jargon (words or expressions used by a particular profession or group), about languages, and so on.
From the original document: “Content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive technologies”.
This part is something that was too vague in WCAG 1.0: the meaning here is that your site needs to remain accessible even if technology changes. I.e., if technology now offers AJAX, you should keep a version that doesn’t use AJAX, if your AJAX framework isn’t accessible.
There is only one guideline here, which basically says that you need to be as compatible with current user agents as possible. It also says that you need to be as compatible as possible with future user agents.Which basically means that you should know the future…
There are number of new guidelines in the new version. You can use Comparison of WCAG 1.0 checkpoints to WCAG 2.0 to check what’s new (it is in the end of the page).
Some of the new items added are (re-phrased):
- Validation errors should be text only or with text alternatives, not just sound or color.
- Text’s images, or any other representation of texts, should have a text only alternatives.
- Pages, frames, and so on, should have a title.
- Background noises can be turned off permanently.
Some guidelines were removed in the new versions. Some of those are important and it’s a shame that they were removed.
Some examples of what were removed:
- No need to create documents that validate to standards.
- Using tables for layouts is now allowed (note that it is “tables” and not “table”).
- You can use text images.
- No need to split large chunks of content into smaller units.
There are a few more, but I think those four are the most crucial (in my opinion).
Is it better?
I think this is the biggest question.
The answer is basically “yes and no”.
It really depends who you ask. Joe Clark wrote an article a couple of years ago - “To Hell with WCAG 2” - that really summarizes the bad things about WCAG 2.0. If you into accessibility, you should read it.
Another article “WCAG 2.0: The new W3C accessibility guidelines evaluated” (from WebCredible) discuss in more details what is new, what is good and what is bad in WCAG 2.0.
The main point with WCAG 2.0, is that it didn’t become any more easier to read it. The documents spread over 200 pages and more. It is really difficult for the average developer to find exactly what he needs to make his code accessible.
Furthermore, the test it self is really hard to understand, or even just to read, with all the links inside of it.
it is better, however, in the fact that some obsolete guidelines were removed, and some new ones added to reflect some of the new technology. It is also more technology-independent, so technologies which couldn’t be accessible before (such as Flash) are now accessible.
Are there still 3 levels of conformance?
Yes there are, but not in the same sense as it was before.
Actually this is one of the good parts in WCAG 2. In the old version, some guidelines where on level AA or AAA simply because they were a little bit to difficult to implement. The compliance level, made developers ignore them completely, leaving some crucial functionality not accessible (i.e. images’ contrast).
In the new version, the compliance level is more of “Accessible”, “More Accessible”, “Best Accessibility”.
This way, developers might just take a look to see what is required to be a little bit better, and might just implement it.
What version should I refer to?
Well, if you are just writing your site now, or just upgrading it now, refer to WCAG 2 solely. When your site will be checked, it will be checked using this version.
How ever, you should also be familier with the old version. Keep in mind that this version is still new, not many people knows it as well as the old one.
and basically speaking, it doesn’t really matter which version. After all accessibility is for the people and not just to fulfill a checklist.
Is my site still accessible?
Probably yes. If you wrote your site according to WCAG 1.0, it will be accessible according to WCAG 2.0.
You might need to re-check. And you will probably want to check if some things that you couldn’t do before, are now possible, with the new guidelines.
Read more about it
Couple of days ago, Israel had an election day.
Like most people here, I’ve spent the day-off doing all kinds of stuff I didn’t manage to do in the past few weeks. I’ve fixed some things at home, went shopping for some things and basically spent the time with my princess.
In the evening, we went to my sister’s place for the main event: Home made pizza (courtesy of my brother in law), home made (great) red wine (that too, is courtesy of my brother in law), and some quality time with my great little ninja niece – Mili (well, courtesy of her parents ).
My sister’s place has a great view to Azrieli Center. This year, one of the Israeli news channel posted the first results on the towers, using computerized controlled lights.
On top of that, the weather was stormy that night, with thunders and lightning. The only thing missing is some surprising (or better yet - shocking) results, to make the show perfect.
This is how it looked like (minus the lightning) – courtesy of my sister and her new camera.
My company Matrix is looking for a few good men :)
People with experience in MOSS 2007, SPS 2003, MCMS 2002 (any of those) and Dot.Net development for SharePoint are needed for central Israel, and for Jerusalem (Israel).
A huge advantage for people who knows MOSS 2007 and SPS 2003/MCMS 2002.
With 3 years of experience in Dot.Net development.
The job will include frontal training in courses and conventions, and consulting to the company’s clients.
This can be a partial or full time job.
If you are interested, or know someone who might be interested, please contact me using the contact form here, or directly to my mail.
A few days ago, I was asked to give my opinion regarding the accessibility level of a web site. The lead UI designer said something like “If I understand the guidelines correctly, there is no need to change the design, to comply with WCAG 2.0”.
This phrase got me thinking: the person who said it, is a person I appreciate a lot; but yet, something in this phrase didn’t sound right.
The point is, that the accessibility guidelines are meant to give the web-developer with some rules and explanations on how to make your code (and hence the resulting web page) more accessible.
The success criteria are sort of a QA check lists.
But the idea behind it is not just a badge. The idea is to allow as many people as possible, use your site, in the same manner, no matter what user-agent they are using.
The idea is people.
Some of the success criteria on level AA and AAA, are only there because they are a little bit more difficult to accomplish. Not because they are more important. Images’ contrast, as an example, is an AA criteria; but yet, many people will have difficulties reading gray text over black background.
So, next time you’re going to write an accessible page (or should I say, next time you write a page), keep in mind the people, your users, who should use this page. Make the page accessible to the highest possible level, not or the badge,but for the people.
Remember this: if a person can use your site (technically), he will! And he will come back. It’s a win-win situation, and how many of those do we have?
Last Wednesday, the SharePoint team announced the December Cumulative Updates for MOSS 2007 and WSS 3, on the team's blog.
There're a few key points about this cumulative update (quoted from the post):
- WSS continues to remain separate and is not included in the MOSS package
- All of the latest Global and Local patches for WSS are in the WSS package
- All of the latest Global and Local patches for MOSS (Excel Server, Document LifeCycle, etc are part of MOSS), InfoPath Forms Server, Project Server are in the Office Server package
- The list of what is in the package is an accumulation over time of what we have shipped since RTM
- The package includes the Infrastructure Update, there is no reason to install it separately.
For my on personal opinion, there are two great things in this update:
- The fact that it includes all the hot-fixes and updates up till now.
- The fact that it includes all the languages available.
I did many migrations' projects lately, and I have a couple of clients that just had a process of leveling and updating all of their environments. I can tell you for sure, that this update will defiantly save time.
To get more information on the updates, use the following links:
Description of the Windows SharePoint Services 3.0 cumulative update package: December 16, 2008
Description of the SharePoint Server 2007 cumulative update package: December 16, 2008
To request the updates, use the following links:
December Cumulative Update for Windows SharePoint Services 3.0
December Cumulative Update for Microsoft Office Servers
Announcing December Cumulative Update for Office SharePoint Server 2007 and Windows SharePoint Services 3.0 From Microsoft SharePoint Team Blog
More Posts Next page »