This year SharePoint conference will have a lot of SharePoint 2010 sessions, here is a sneak peek list
SharePoint 2010 Overview and What's New
Upgrading to SharePoint 2010
SharePoint 2010 Capacity and Performance Planning
SharePoint 2010 Security and Identity Management: What's New
Visual Studio 2010 Tools for Office Development
SharePoint 2010 Ribbon, ECMAScript and Dialog Framework Development
Developing with REST and LINQ in SharePoint 2010
Upgrading SharePoint Server 2007 Code to SharePoint 2010
Building Composite Applications with the Microsoft Application Platform
What's New in Business Connectivity Services (The Business Data Catalog Evolves!)
FAST Search for SharePoint – Capabilities Deep Dive
Advanced Dashboard Creation with Performance Point Services for SharePoint 2010
Overview of Visio and Visio Services for SharePoint 2010
SharePoint 2010 Web Content Management Deep-Dive
If You Build It, They Will Come – Driving End User Adoption
I recently installed the CTP of SharePoint Workspace 2010. All was fine until I came across something I hadn't seen before. When ever I would go to a SharePoint site and try to Upload Multiple Files, I would be presented with a "Drag Files Here" window. So being curious, I tried dragging and dropping a file here. When I click OK, it would try to upload the file to my document library, but would fail.
After doing some research (there were no results for "Drag Files Here" and "SharePoint" at both Bing and Google), I decided that it must be due to SharePoint Workspace 2010 being installed. I removed that and rebooted. Upon reboot, the screen below still came up, but instead of the ActiveX box to drop the files into, I just had a Red X, as in it was unable to load that element of the page.
To fix this and return to the default Windows explorer-esque 'Upload Multiple Documents' file tree, I had to run a repair on Office 2007.
I am guinea-pigging with Windows 7, upgrading from Vista. I took notes to share with you all, so that you might get some insight into how long it can take and what to expect.
The verdict is that, at least for me, upgrading from Vista to Windows 7 can be a very painless experience and everything is now running smoothly. I had read that the Vista to W7 upgrade path was pretty easy, so I wanted to try it. I had also read that Windows 7 actually performs better on the same hardware as Vista, and I can report that things seem to be smoother (for example, in slideshows the alpha fade used to be choppy, but now it's very smooth). It's a slightly different experience but if you are familiar with Vista, it is not too difficult to find things. In fact, I think it is much better organized. I have not seen anything yet that I didn't like.
Based on my experience, I think upgrading from Vista to W7 is viable, but you should plan for 4 to 8 hours. The setup wizard alone took almost 4 hours on my machine (and it's no slouch). Factoring in the download of the media and a backup of user data, it took me a full day.
So here are my notes from last night and this morning.
My laptop is an HP Pavillion dv6700 running Windows Vista Ultimate x64 + SP2. It has 4GB of RAM and runs Vista Ultimate / Aero with no difficulty. I admit there have been a few issues as of late, such as the unexplainable loss of free disk space (although I think I have solved it by uninstalling the Acronis Backup software, which always seems to be running). Also, after a ScanDisk, where it found some broken chains, some of my software started behaving strangely. I am hoping these problems may be resolved (or at least, not amplified) by upgrading to Windows 7.
So, why an upgrade instead of a clean install? Isn't a clean install always better? Well, sure it is. But I spent quite a while getting this laptop configured the way I like it, and I felt that if it was at all possible, I would try to keep it the way I like it. This isn't the first time I've done an upgrade. For the most part, upgrades have worked for me, but I've had more than one that died stillborn, like the one where I upgraded Windows 2000 Pro to XP, resulting in a bluescreen and no way to roll it back. So I am proceeding with all caution and a good backup.
I've done the prescan using the Windows 7 Upgrade Advisor (beta) and it found a number of potential issues that should be resolved before I attempt the in-place upgrade. [Note: the Upgrade Advisor is still in Beta, and it produced a different list than the actual Windows 7 (RTM) "Compatibility Check" setup step. You should probably run them both to do a real audit of incompatibilities; you can always cancel out of the W7 Setup after seeing the results. I am sure that this Upgrade Advisor will be updated sometime between now and October, when W7 goes Gold.]
So far I have done the following:
- Freed up disk space (my hard drive was nearly full, but Windows installer needs 16GB)
- Done a "Complete PC Backup" so I can restore Windows if things go south
- SQL 2008
- Visual studio 2008
- iTunes (and de-authorized the computer)
- Google Toolbar
- HP buttons
- Virtual PC
- I am also warned about a Ricoh Memory Card Slot driver, but the link to download an updated driver is broken. This isn't an upgrade blocker so I will deal with it after the upgrade is completed.
I have disabled all my antivirus on-access protection services.
- Running setup. Selected:
- Go Online to get the latest updates.
- Provide feedback on this setup experience.
- Accepted EULA.
- Selected "Upgrade". Setup automatically launched Compatibility Check and produced a report.
- Windows Vista Ultimate Extras have been discontinued, and will not be migrated to W7. In other words, I am losing Windows Dreamscene and Texas Hold'em. No great loss.
- Setup thinks that Google Toolbar is installed (it isn't) and that it may not work after upgrade.
- Clicked Next.
- Automated actions:
- 8:48: Copying files
- Here is one pleasant difference: the dialog gives a brief status as to what it is doing. The message shows the progress of copying 2728 MB of files to the hard drive.
- 8:55: Gathering files, settings, and programs.
- The dialog shows the progress of the number of items audited. The original estimate was 150,143, then it was revised to 1,080,581 items.
- Seemed to pause for a long time at certain points.
- 9:39: Expanding Windows files (2888 MB)
- 9:44: rebooted at the 18% mark, into the "preinstallation environment".
- 10:28: Installing features and updates
- 10:29: Transferring files and settings
- 10:34: Rebooted. The new Windows 7 splash screen looks. nice. I also noted that the briefly displayed boot menu shows the option for "Windows Setup Rollback", which is comforting.
- 10:36: Updating Registry settings.
- Starting Services
- Returns to the setup progress dialog.
- Transferring files / settings, and also appears to be installing drivers.
- 10:38: Video driver / screen resize
- 10:38: Sound driver / speaker pop
- Took a long, long, long time.
- 12:00: Removing temp files. Reboot.
- 12:02: Booting into Windows 7
- Preparing for first use.
- Checking performance
- Prompted to enter CD Key.
- Prompted to specify preferences for Windows Updates.
- Prompted for Time Zone.
- Login screen.
- I was immediately informed that there are 9 updates available for Windows (2 Important, 7 Optional). All of these turned out to be updated drivers for Windows 7 (including the Ricoh memory card slot). I installed them and rebooted.
- There are now no device warnings in the Device Manager.
- I also noticed that the installation freed up approximately 80GB on my hard drive, probably due to a purge of System Restore points and volume shadow copies.
At this point, setup was completed and everything seemed to be working exceptionally well. I stayed up late, experimenting with the new "theme" features, testing to see if my programs and games worked, etc. Some things have to be reinstalled (e.g. I just finished reinstalling iTunes, which seems to work just fine on Windows 7). I must say I was pleasantly surprised at how smoothly everything went. In my opinion, there is no reason to stick with Vista if you have the opportunity to upgrade. Just be sure you back everything up!
It is an exciting news that Sysinternal has released the trouble shooting utilities. This suite contains following:
As you can see I'm still working on sites, lists and views and I ran into another challenge.
It started out very basic. I wanted to create a discussion forum list on a site.
// Create new list
listGuid = newWeb.Lists.Add("Forum", "ForumDescription", "Forum", "00BFEA71-6A49-43FA-B535-D15C05500108", 108, "", SPListTemplate.QuickLaunchOptions.Off);
SPList forumList = newWeb.Lists[listGuid];
After succesfully creating the forum list I wanted to add a custom view to the list. That seemed to be easy enough as well.
// Add an extra view to the list
viewFields = new StringCollection();
newView = forumList.Views.Add("Portal View", viewFields, "", 100, true, false);
Unfortunately creating a view using the code above causes the link on the title takes you to the forum list, instead of taking to the item for which you clicked the title. After doing some investigating via the user interface I found out that the subtle difference can be found in the View settings, under Folders. This setting is specific for the discussion forum. By default the choices "Show items inside folders" and "In all folders" is selected. When you change the second setting (Show this view:) to "In the top-level folder" the link on the title item behaves the way you expect and want it to behave.
Now the next challenge was to find out how to change the Folders settings using the object model. There is no property on the SPList or SPView object to change these settings, but after comparing the xml exports of the list with both settings I found out that there is a ContentTypeId property on the SPView object and that this was the only thing that changed between the two exports.
The way to set the "Show this view" setting to "In the top-level folder" is by using this code. Notice the second to last line, that's the line that I added to achieve this.
// Add an extra view to the list
viewFields = new StringCollection();
newView = forumList.Views.Add("Portal View", viewFields, "", 100, true, false);
newView.ContentTypeId = new SPContentTypeId("0x012001");
So in the end the code you need to get the right settings for you discussion forum view is not difficult at all, the difficult part was finding out what code to use.
If you want to enable anonymous access for SharePoint site published through ISA server with external URL different from the internal URL, you must enable it using the site internal URL otherwise the anonymous access option will not appear.
How to enable Anonymous access:
To configure anonymous access one of the steps is to enable anonymous access from advanced permissions on the top level site Site Settings (check screen shot below)
This link will not appear unless you access the site with the internal URL, here in our example is http://anony:444
When we initially launched one of our publishing page layouts, we had a Page Layout that contained a third party web part. After launch, we realized that this web part either needed to be updated or ripped out, so for the time being, we ripped out the web part (uninstall, the whole nine yards). However, we still needed to use the Page Layout, just without the web parts pre-defaulted on the page. Low and behold, the first time we try to create the Page Layout, we get the "No parameterless constructor defined for this object".
It appears that a few people have been having this issue and some people were saying that they could resolve the issue by deleting the Page Layout from the Master Page library but this wouldn't work for me because I still had some pages that inherited from the layout. After some additional research, I discovered that you can go into Web Part Maintenance mode on a Page Layout by typing in the following URL.
http://<server>/_catalogs/masterpage/<page layout name>.aspx?contents=1
Once on this page, I was able to successfully remove the ErrorWebPart from the template/page layout and could create new Pages from my Page Layout.
Nothing too exciting but thought it was worth noting.
Full stack trace:
No parameterless constructor defined for this object. at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at Microsoft.SharePoint.WebPartPages.BinaryWebPartSerializer.Serialize(PersonalizationScope scope)
at Microsoft.SharePoint.WebPartPages.SPWebPartManager.AddWebPartToStore(WebPart webPart, Int32 viewId, String viewGuid)
at Microsoft.SharePoint.WebPartPages.SPWebPartManager.AddWebPartInternal(SPSupersetWebPart superset, Boolean throwIfLocked)
at Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager.AddWebPartInternal(WebPart webPart, String zoneId, Int32 zoneIndex, Boolean throwIfLocked)
at Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager.AddWebPart(WebPart webPart, String zoneId, Int32 zoneIndex)
at Microsoft.SharePoint.Publishing.PublishingPage.CopyAllWebParts(String destinationPageUrlServerRelative, SPWeb destinationPageWeb, String sourcePageUrlServerRelative, SPWeb sourcePageWeb, Boolean shouldOverwriteDestinationWebParts)
at Microsoft.Office.Server.Diagnostics.FirstChanceHandler.ExceptionFilter(Boolean fRethrowException, TryBlock tryBlock, FilterBlock filter, CatchBlock catchBlock, FinallyBlock finallyBlock)
at Microsoft.Office.Server.Diagnostics.ULS.SendWatsonOnExceptionTag(ULSTagID tagID, ULSCat categoryID, String output, Boolean fRethrowException, TryBlock tryBlock, CatchBlock catchBlock, FinallyBlock finallyBlock)
at Microsoft.SharePoint.Publishing.PublishingPageCollection.Add(String name, PageLayout layout)
at Microsoft.SharePoint.Publishing.Internal.CodeBehind.CreatePagePage.NewPageItemSave(String pageName, PageLayout pageLayout)
at Microsoft.SharePoint.Publishing.Internal.CodeBehind.CreatePagePage.CreateStandardPage(String pageName)
at Microsoft.SharePoint.Publishing.Internal.CodeBehind.CreatePagePage.ButtonCreatePage_Click(Object sender, EventArgs e)
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
It all started when I received my new laptop Dell E5500 last week with on operating system installed.
I decided to install Windows server 2008 x64 to be able to run my development virtual machines on Hyper-V, after successful windows installation; I could not find hardware drivers for the display adapter and the wireless network :(, I tried all the drivers I found over the internet but the display adapter didn’t work and the wireless kept on throwing hardware failure errors.
On 6th August Windows 7 was available for download from MSDN, i decided to install x64 Ultimate edition on the laptop and check if I will still have the network drivers issue.
Within less than 15 minutes from starting the installation I had Windows 7 up and running and amazingly Windows 7 identified all the hardware automatically and everything is working and I am enjoying blogging from Windows 7 using Windows live writer.
I liked very much Windows 7 performance, neat, clear user experience, its new task bar.
I am trying now to play with Sun virtual box over Windows 7, I will blog about this experience on later post
I am waiting for Windows server 2008 R2 to be available on MSDN to install and enjoy the Hyper-V.
If you want to automatically redirect from HTTP to HTTPS on a SharePoint site, there is an easy way to do it using Alternate Access Mappings. I have seen suggestions involving IIS redirects which is something that I have done in the past but there is actually no need to do this.
First you must configure your site to use HTTPS so that the public name is the HTTPS name (creating or extending a Web Application using HTTPS). Next, define an Internal Name in AAM using the HTTP protocol, selecting the same zone as the HTTPS URL’s zone. By doing this, when the user requests HTTP SharePoint will resolve the name to the correct site but will redirect you to the public name which will be HTTPS.
Any comments / suggestions will be appreciated.
SharePoint announced earlier an issue in SharePoint Server service pack 2 that affect the server expiration date and change it to trail 180 days.
Microsoft released later on a fix for this issue to be applied after or before installing Service pack 2
Now Office server service pack 2 download has been updated to include the fix directly, so if you have not downloaded service pack 2 yet downloaded the updated and everything will work fine
After a number of events in USA, SharePoint Saturday (free community driven event) is flying across oceans (both Atlantic and Pacific). In August it will debut in Europe: Copenhagen, Denmark.
I am happy to announce that I will be speaking at SharePoint Saturday, Copenhagen, organized by Isaac Stith (@MrIsaac) and Jens Nørgaard (@SharePointDK). If you are reading this blog and plan to visit the event I would be happy to see you there.
Your organization has deployed SharePoint as the ultimate collaboration platform that will solve all your problems in a blink of an eye. However you, as the content owner, are still struggling with end users and all the SharePoint features. In this session we are going to discuss tools you have at hand and simple and effective scenarios you can implement on your portal. These will help end-users to perform day-to-day operations with ease and to boost the overall SharePoint adoption.
Session Level: Intermediate
Target audience: (Power) End User
- SharePoint Saturday Copenhagen
- SharePoint Saturday Copenhagen on Twitter
- SharePoint Saturday Copenhagen Twitter Channel
- SharePoint Saturday
A few weeks ago Chris posted the following problem on Stump the panel:
We want to display KPI indicators with each item (green if we met the target, yellow almost, red not even close). I’ve been using Visual Indicators for the Masses: KPIs in WSS. So I setup different lists for each one, So in financial the target/actual is set to currency. In customer loyalty it’s a number etc. This was working fine until today, when I got to see more of the real data. I learned under financial that the target/actual could be sometimes a $ amount, or it could be a count, or a percentage!!!
Well, this is a common situation in the IT field, requirements change as we go :). The problem seemed interesting and Chris and I worked together to solve it. The final solution looks like this:
This is a simple solution. It does not require code deployment and it works on WSS. You only need some time and patience to build everything.
First, I want to apologize to anyone who follows me on Twitter if they received any inappropriate messages from my account.
This message is cross-posted in its entirety from my new primary blog site, just to make sure everyone potentially impacted gets the message.
My Twitter Account is Currently Suspended
I got home from a road-trip yesterday, and found that my Twitter account had been suspended "for suspicious activity". While I have opened a support call with Twitter, I still do not know exactly what kind of activity triggered the suspension. I can only assume that my account was somehow hacked, and was sending inappropriate messages.
If you were the recipient of such a message, again I want to extend a heartfelt apology. Please understand that there are certain things I would never, ever do, and I am horrified to think that someone else may have been doing them under my name.
A Teachable Moment - Life Goes On
I've been in this industry for years, and I know all about the things that can lead to accounts being hacked. I take a wide array of precautions, from firewalls, to antivirus and antispyware software, to complex passwords, to not opening unsolicited email attachments. I keep my patches up to date. I don't run "unknown" applications, and I don't do torrents or other methods of illegally sharing files.
Yet I'm also aware that even with the best practices, the only sure way of avoiding problems is to never create an online account, or even turn your machine on at all. Since that is not an option, we must all accept the fact that there will always be some risk.
Now you know as much about the situation as I do. I'll keep you up to date on what I find out. If there were any other steps I could have taken to prevent it, I'll be sure to share those, too, so you can avoid the same problem.
Thank you for your understanding, and I hope to be back on Twitter soon
Sharepoint VNext 2010 is coming up so I have to make sure that CompleteSharepoint.NET - the content management system built on top of WSS 3.0 (http://www.completesharepoint.net) - is compatible.
So I run stsadm -o preupgradecheck and below is the results:
Luckily CS.NET is vNext 2010 compatible! WOOHOO! Please note though that I ran this on a Windows Server 2008 x64 bit environment. Sharepoint vNext 2010 only works on a x64 bit environment and to be precise, it can only run on IIS version 7 onwards. Windows Server 2003 will not be supported.
Your SQL Server has to be x64 bit as well. It has to be SQL 2005 onwards.
Below is the results from the HTML report:
|Information Only : Supported upgrade types|
|The current farm supports the following upgrade types:
There are other text in the report which I haven't included in this article but the main thing is, I didn't get any error message in the report. Some of the elements (such as custom field types) won't be upgraded automatically (ie. need to be upgraded manually).
Therefore, if you have used CompleteSharepoint.NET for your client website you'll be able to upgrade to the next version of Sharepoint when it arrives.
I'll keep you posted about the upgrade process.
Cheers and please stay tuned,