Tuesday
02Mar2010

SharePoint 2010 vs. 2007 comparison chart (ongoing effort)

 

This would be an on-going effort as I gather more details.  But at the moment I’m publishing what I have.

Different capabilities

 

2007
WSS3

2007
MOSS

2010
SP Foundation

2010
SP Standard

2010
SP Enterprise

Sites

         

Office Web Apps

     

X

X

User Experience

...

...

X
(ribbon)

X

X

Line of Business

 

X
(read-only)

X

X

X

Mobile Connectivity

...

...

X

(mobile dev enhancement)

X

X

Enterprise Management

...

...

(some reports)

X

(dev dashboards, monitors and self-checks)

X

(web analytics)

X

Tagging

   

X

X

X

Audience Targetting

 

...

X

X

X

           

Communities

         

Enterprise Social Network

 

...

 

X

X

Find People

 

...

...

X

X

My Site

 

...

 

X

X

Presence

 

X

...

X

X

Ask me...

     

X

X

Note board, recent activity

     

X

X

Enterprise Taxonomy

     

X

X

Community of interest / Tag Profile

     

X

X

Participation and Social feedback

     

X

X

Tag / Tag Cloud

     

X

X

Ratings

     

X

X

Navigation

     

X

X

Social Bookmarks

...
(add favourite)

...

...

X

X

           

Content

         

Compliance

     

X

X

Flexible Records Management

     

X

X

Shared Content Types

     

X

(enterprise content types)

X

Managed Metadata service

     

X

(indexed filtering)

X

Rich Media Content

     

X

X

Document Sets

     

X

X

Word Automation Service

     

X

X

Support for Accessibility Standards

     

X

X

Improved Alerts

 

...

X

X

X

Content Organizer

     

X

X

Document ID Service

     

X

X

Web Content improvements

   

X

X

X

           

Search

         

People Search

 

X

...

X

X

Windows Federated Search

   

X

X

X

Refinement

  (3rd party faceted-search)

X

X

X

Social behaviour improves relevance

     

X

X

Thumbnails, previews, and view in browser

     

X

X

Advanced content processing with strong linguistics

     

X

X

           

Insights

         

Business Connectivity Services

   

X

X

PerformancePoint Services

  X  

X

X

Excel Services

  X  

X

X

           
           
           
           

Composites

         

Client Object Model

   

X

X

X

List Improvements

   

X

X

X

Query Enhancements

   

X

X

X

Sandboxed Solutions

   

X

X

X

Silverlight Integration

   

X

X

X

Windows PowerShell

   

X

X

X

Workflow Improvements

...

...

X

X

X

InfoPath Form Services

  X  

X

X

Access Services

     

X

X

Site Templates

...

...

X

X

X

Synch Framework

   

X

X

X

 

Still to do:

1. add legend
2. add references / sources
3. link to specific details for some points
Let me know what you guys think:

Monday
22Feb2010

WindowsCE – deploying to the device

A very quick blog on some pointers when deploying your .NET Compact Framework application to a device.

Assuming that you’ve got your windows mobile application built.  And it runs in the virtual emulator shipped with VS.NET.  What’s next?

  1. Connect your device (PDA, hand-held, smart phone…)
  2. If you can not connect, you will need either Active Sync, or Windows Mobile Device center
    Grab it here: http://www.microsoft.com/downloads/details.aspx?FamilyId=4F68EB56-7825-43B2-AC89-2030ED98ED95&displaylang=en
  3. Once you can connect – check in VS.NET to see that VS.NET can connect to the device.  You may be prompted on the device about several installation and whether to trust a few files.
  4. Verify and accept them.  Then you should be able to deploy and debug the application on your WindowsCE

 

Next step – how do I add a short cut link to my application?

VS.NET will typically deploy the application to \Program Files\<Project Name>\<Assembly Executable Name>

You can change these settings in the application project properties.

To add a shortcut:

  1. You can’t create short cut within Windows CE. 
  2. Create a plain text file called <My App>.lnk
  3. Open the text file with notepad
  4. the format is <length>#<path to exe as well as arguments>
    e.g.
    28#”\Program Files\App\App.exe”
  5. 35#”\Program Files\App\App.exe” “mydb”
  6. save the text file to \Windows\Startup\Programs
Thursday
18Feb2010

Windows CE – building a transparent picturebox

Surprise!  PictureBox in Windows CE doesn’t support transparency.

Diving into yet another old forgotten corner of the .NET compact framework.

And just in case the mention of Compact Framework hasn’t scared you to death, today’s code will be in Visual Basic .NET

 

Imports System.Drawing.Imaging
Imports System.ComponentModel

Public Class TransparentPictureBox
    Inherits PictureBox

    Private _transparentColor As Color = Color.White
    Public Property TransparentColor() As Color
        Get
            Return _transparentColor
        End Get
        Set(ByVal value As Color)
            _transparentColor = value
        End Set
    End Property

    Protected Overloads Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)

        If Not Me.Image Is Nothing Then
            Dim pictureBounds As New Rectangle(0, 0, Me.Width, Me.Height)
            Dim imageBounds As New Rectangle(0, 0, Me.Image.Width, Me.Image.Height)
            Dim attributes As New ImageAttributes()
            ' set color to be set to transparent - if you don't paint the background below, then these pixels
            ' will appear black
            attributes.SetColorKey(Me.TransparentColor, Me.TransparentColor)
            e.Graphics.DrawImage(Me.Image, pictureBounds, imageBounds.X, imageBounds.Y, imageBounds.Width, imageBounds.Height, GraphicsUnit.Pixel, attributes)
        End If

    End Sub

    Protected Overloads Overrides Sub OnPaintBackground(ByVal e As System.Windows.Forms.PaintEventArgs)
        ' paint background color
        Dim brush As SolidBrush
        brush = New SolidBrush(Me.Parent.BackColor)
        e.Graphics.FillRectangle(brush, Me.ClientRectangle)
    End Sub

End Class
Thursday
18Feb2010

Buying games from PopCap – I am ‘required’ to tick newsletter

 

I’m quite used to tick agreeing to Terms and Conditions.  This PopCap checkbox has additional strings attached!

“You are required to receive the PopCap Newsletter and agree to the terms of service.”

Friday
12Feb2010

XP vs. Scrum

This question comes up a lot when people have heard both buzzwords and have trouble working out which one is better for them.

One good chart I found is this one:

http://jamesshore.com/Blog/Scrum-XP-Practices-Cross-Reference.html

My attempt to answer this question:

XP is

  • Agile methodology driven by developers
  • with many prescribed engineering practices

Scrum is

  • Agile methodology driven by management
  • Simpler framework where engineering isn’t prescribed
  • Trust team to do what they need to do
  • Can evolve overtime and take on many XP practices incrementally
Friday
12Feb2010

VirtualBox – actually quite nice

I actually learn of VirtualBox via Twitter.

That’s one of the things I realize from Twitter – people talk about things they like.  One person says it…  Then a couple of months later you hear another one that has something nice to say.  Then you hear from a third guy.

Word of Mouth advertising.  It works.

What is VirtualBox – why do I need this?

VirtualBox is Sun/Oracle’s virtualization host. 

  • It is free for personal use.
  • It can host x64 (better than Virtual PC)
  • It can understand both VMDK and VHD formats (beats Virtual PC or VMWare)
  • It is faster than Virtual PC
  • You can create new VM with VirtualBox (beats VMWare Player)

 

How does it compare with other offerings?

Here’s a totally unscientific chart based on my understanding:

  Free x64 client OS Create VM Virtual HD Neeed Speeed
Virtual PC Yes No Yes VHD Sluggish
Virtual Box Yes Yes Yes VHD
VMDK
No
VMWare Workstation No Yes Yes VMDK No
VMWare Player Yes Yes No VMDK No
Hyper-V No
(Win Server x64)
Yes Yes VHD No
Boot to VHD Yes (Win7) Yes No VHD Fastest

 

Anyway, VirtualBox and Boot to VHD are my two picks.

Friday
12Feb2010

Always blog it if you had to write anything down

Martin said something recently in an email that really echoed with what I think.

Always blog it if you had to do it… it serves as both a reminder to yourself and helps others..

It reminded me why I started ranting on a blog.  If anything, my own goals for starting a blog was never a noble crusade to help other people.  I did it primarily to help myself find something that I’ve found… and then add my own additional comments.  But hey – it’s public enough, and if it helps anybody out there that’s nice - I’m not complaining.

 

Thanks Martin, for the reminder to blog more.  There’s always words, always drafts sitting in my Windows Live Writer….  one day I’ll get through all this and hit the publish all button.

Thursday
28Jan2010

SharePoint 2010 – renaming features and web parts in VS.NET 2010 SharePoint Solutions

 

  1. In solution, select the Feature

    clip_image002

    Change the “Folder Name” property to new name. Press Enter – VS.NET will try to help you rename everything correctly.  The reason this field is called “Folder Name” is because SharePoint packaged solutions are deployed to the 14 HIVE, and are organized by folders there.
    Double click on the feature to bring up the Feature designer UI, you still need to change the Title and Description

    clip_image004
  2. To rename the web part

    clip_image006

    Change the Folder Name
    You still need to change the actual UserControl file name

    clip_image008

    As well as the user control filename, class name… standard .NET stuff.  Some tools such as VS.NET’s rename tool, or if you use Resharper, can help you with class renaming.
  3. WARNING: generally renaming packages is very bad after you have deployed to production. This should not be done lightly. 
Tuesday
12Jan2010

SharePoint 2010 and Silverlight

Was working on a presentation on SharePoint 2010 and Silverlight.

Finally, I get to marry my two favourite technologies in one awesome demo.

 

There’s not a lot of people blogging about this yet, but what we were digging up was very delightful.

In bullet point form – because this is a brain dump blog post, and if you want to know how everything ties together you’ll have to catch up to one of the user groups where I present this stuff (or Adam Cogan… he gets around a lot more than me):

Technologies that made it possible:

  • SharePoint web services
  • SharePoint REST / OData services NEW
    • This is actually great news for the AJAX / JavaScript crowd.  Technically, you can write JQuery solutions that will query SharePoint for you.
  • Microsoft.SharePoint.Client.dll(s), and the corresponding Microsoft.SharePoint.Client.Silverlight.dll(s) – which are awesome wrappers
  • CAML is nearly gone, but still lingers on for huge data processing.
  • LINQ to SharePoint is the new crafting knife
  • Silverlight XAP files can be uploaded anywhere
  • Silverlight web part can load XAP files and run them
    • So a user that can upload a short movie to SharePoint, then configure a Silverlight movie player to play that movie… already has the permissions required to run custom XAP applications.
  • Which, if you stop and think about it, is a “different” deployment model!
Thursday
24Dec2009

ASP.NET "5.7.1 Unable to relay for email" when SmtpClient.UseDefaultCredentials = true

 

Was looking at a problem with Andy regarding using SmtpClient.UserDefaultCredentials = true, and sending emails within an authenticated WCF service.

We can send emails within the domain without any issues, but when sending emails outside of the domain the mail server rejects us with the 5.7.1 Unable to relay for email@external.com

The easier fix would probably be to UseDefaultCredentials = false, and specify a NetworkCredential(username,password).  But we were stubborn and didn’t want to have to enter a email address somewhere in the web.config.

While investigating – we realized that if we specify the mail server by IP address instead of DNS name – then the email will be delivered.

 

Our suspicions are that the Exchange mail server has different rule sets to decide if it trusts the source to be somewhere local.  If the IP address specified is a local network IP – it seems to relax the relay rules somewhat.