Search This Blog

Monday, June 29, 2009

Windows 7 Hasta el Momento

Varios usuarios de PC han estado utilizando Windows 7 cómo su Sistema Operativo Principal; de hecho muchos han hecho el saldo de Windows Vista hacia Windows 7 Beta o RC. Esto dicho, pensé que listaría algunos problemas que encontré durante el upgrade a Windows 7:

32 Bit

64 Bit

La mayoría del software funcionó sin problema despues del upgrade, algunos fueron removidos porque era pre-requisito para el upgrade

Las licencias de software que fué comprado requirieron re-ingreso

Webcam fué reconocido y funciona perfectamente

Webcam no fué reconocido a pesar de que había sido instalada antes del upgrade

Webcam requirió instalación antes del upgrade


Upgrade sin dificultad de Windows 7 Beta a Windows RC

Aún no ha sido puesto a prueba


A pesar de Windows 7 estar aún en Beta y ahora en RC; casi listo para RTM. Estos problemas son relativamente mínimos comparados a previas versions de Windows.

Pensé que esta lista sería útil cómo referencia si están a punto de migrar a Windows 7.

Windows 7 So Far

Many PC users have been enjoying Windows 7 as their main Operating System; in fact most people have made the leap from Windows Vista into Windows 7 Beta or RC. That said, thought I would share a few hiccups that have encountered during the upgrade to Windows 7:

Windows 7 - 32 Bit

Windows 7 - 64 Bit

Most software has been upgraded without a problem, some were requested to be removed

The keys for Purchased software the keys had to re-entered

Webcam was recognized and fully functional

Webcam was not recognized even if installed prior to upgrade

Webcam had to be installed prior to upgrade


Seamless upgrade from Beta 7 to RC

Have not tested yet


Even though Windows 7 is still in Beta and now in RC; almost about for RTM release. These problems are relatively minimal compared to prior versions of Windows.

Thought this might come in handy for a reference if you are about to do the leap into Windows 7.

Monday, June 22, 2009

Windows 7 RTM en Julio 13 2009?

Como la mayoria de tecnologistas, he estado usando Windows 7 como mi sistema operativo principal. Si, si, esto es un gran riesgo. Pero honestamente, ha funcionado bastante bien hasta el momento.

Con esto dicho, este posting me llamo la atencion; si es cierto, es tiempo de empezar a alistarnos para el RTM en menos de un mes.

Definitivamente espero que esto sea el caso!

Windows 7 RTM by July 13 2009?

Like most technologists, have been enjoying using Windows 7 as my main operating system.
Yes, yes, it is a risk to have it as a main operating system. But honestly, it has worked very well so far.

That said, this posting caught my attention; if true, we can start getting ready for the RTM in less than a month away.

Will definitely be hoping that is the case!

Wednesday, June 17, 2009

Mobile Entree

If you have been developing with SharePoint, you have probably noticed that not much is mentioned when it comes to developing mobile applications. An interesting approach is now available by means of using a Framework for SharePoint and Mobile Applications. This new Framework is named: Mobile Entree.

It is a framework that looks very promising. While it is not a free, it does add simplify mobile development quite well. You do not have to take my word for it; in fact you should go ahead and take a look for yourself.

There is available a 3 part series tutorial at:

The tutorials cover:

  • Introduction to Mobile Entree's Potential
  • Introduction to Mobile Entree's Configuration and Management
  • Developing Mobile Applications with the Mobile Entrée Framework

Go ahead and take a look at it, it will be worth your time.

Sunday, June 14, 2009

Windows 7 RC Kit para Programadores

Para todos ustedes que han estado utilizando Windows 7, recientement el kit de entrenamiento para Windows 7 RC fue hecho disponible. El kit busca cómo audiencia todos aquellos que desean incorporar todas las características de Windows 7 en sus aplicaciones.

Antes de que lo instalen en sus máquinas, tengan en cuenta que necesitan cómo pre-requisito tener Visual Studio 2008 instalado.

El kit cubre los siguientes temas

  • Taskbar
  • Libraries
  • Multi Touch
  • Sensors and Location
  • Ribbon
  • Trigger Start Services
  • Instrumentation
  • Application Compatibility

Que esperan?

Procedan y descarguenlo en:

Windows 7 RC Training Kit for Developers

For all of you that have been enjoying working with Windows 7, recently the Windows 7 RC Training Kit for Developers has been released. It is aimed for all those who wish to make their applications leverage the Windows 7 Operating System.

Before you go ahead and install it on your main current machine, keep in mind that one of the requirements is to have previously installed Visual Studio 2008.

The training kit delves into the following features

  • Taskbar
  • Libraries
  • Multi Touch
  • Sensors and Location
  • Ribbon
  • Trigger Start Services
  • Instrumentation
  • Application Compatibility

So what are you waiting for?

Go ahead and download it at:

Tuesday, June 2, 2009

Makeover for Groove

Interesting new developing for Groove, according to the Groove Team Blog groove is being renamed to SharePoint Workspace 2010.

Quite a few changes:

  • Name makeover
  • Facilitate easy access to SharePoint content
  • Changes in how the product is delivered – added to Microsoft Office Professional Plus 2010

For more details go to:

Monday, June 1, 2009

Preventing Item Deletions

I wanted to take a moment to thank all the readers which have contributed to this blog, their comments have been very useful. In fact, this posting is related to a particular situation that many SharePoint Administrators or Site Administrators might encounter when using SharePoint Lists or Document Libraries. The particular situation is when you are using a List or a Document Library to provide data to other depending Lists, Document Libraries, Content Types, etc. It even applies to Site Columns which are a useful way to provide data within your portal.

In order to prevent Items to be deleted from a List or a Document Library, a few things must happen first:

  • An assembly must have been installed to the Global Assembly Cache ( GAC )
  • An Event Receiver must be attached to the List or Document Library, in particular to the ItemAdding Event

All these technology terms sound overwhelming, so let's stop for a moment and explain briefly what we are talking about here. In Windows SharePoint Services 3.0 and MOSS 2007, Lists and Document Libraries have a variety of events that are fired when an Item is processed; to mention a few of the most important ones:

  • ItemAdding
  • ItemUpdating
  • ItemDeleting

For a complete list go to: MSDN - Event Fundamentals

Making it simple, we can specify code that will be processed when any of these events happen. This code to executed must be deployed to the GAC ( Global Assembly Cache ), once it is there the next step is to communicate to SharePoint by indicating the following:

  • ClassName, PublicKeyToken, Culture, Version and safety
  • Assembly and ClassName
  • Event to Attach to be attached to
  • Add this information to the SharePoint List or Document Library

To illustrate this process you will find the following two projects at :

  • Event Receiver Assembly
  • Event Receiver Manager

These must be downloaded and extracted. Complete the following steps prevent the deletion of items on a desired SharePoint List or Document Library:

  • Deploy assembly ( Demo.ProcessItemDeletion.dll ) contained in the Process Item Deletion project to the GAC
  • Locate the bin/debug folder
  • Open the Command Line

Ensure you have access to the Visual Studio SDK Tools

  • Install by using the GACUTIL –I –f Demo.ProcessItemDeletion.dll
  • Execute the Attach / Remove Event Receiver to List or Document Library Utility indicate the following parameters:
    • SharePoint Site URL
    • SharePoint List or Document Library Name
    • ClassName, PublicKeyToken, Culture, Version and safety
    • Assembly and ClassName
  • Click the Add Button

Once all these steps are completed successfully, any user who is not a Site Administrator will not be able to delete an Item.

Understanding the code

You are probably wondering what is really happening behind the scenes, and this is the explanation:

When you install the Demo.ProcessItemDeletion.dll Assembly:

public override void ItemDeleting(SPItemEventProperties properties)



if (!properties.OpenWeb().CurrentUser.IsSiteAdmin)


properties.Cancel = true;

properties.ErrorMessage = "Items cannot be deleted from this list.";




This code does the following:

  • Disables the code to execute recursively
  • Verifies if a Site Administrator is currently logged in
  • Cancels the deletion from happenning
  • Displays the folowing error message: "Items cannot be deleted form this list."

When you click the Add Button the following code is executed:

SPSite oSite = new SPSite(txtSite.Text.ToString());

SPList oList = oSite.OpenWeb().Lists[txtList.Text.ToString()];

oList.EventReceivers.Add(SPEventReceiverType.ItemDeleting, txtAssemblyName.Text.ToString(), txtClassName.Text.ToString());


This code does the following:

Opens the URL specified in the TextBox

Opens the List or Document Library specified in the TextBox

Communicates to SharePoint and tells it to execute the code in the previously installed assembly when the ItemDeleting Event is fired

Where to go from here?

That really depends on you, mostly because you can expand this code and make it more functional. For instance, you could provide a more detailed explanation of why the user could not delete the item. Or maybe you want to apply the same idea to updating items as well ( which would require the development of code in the Demo.ProcessItemDeletion project for the ItemUpdating Event ).

The whole purpose of this posting is to ignite ideas that will help you customize your portal to better fit your needs.

Displaying and Filtering Lists in another SharePoint Site with SharePoint Designer 2007

By popular demand, I am dedicating this posting to the avid readers of the blog.

As mentioned in the title, we will be addressing how to display and filter ListItems contained in another SharePoint Site by using SharePoint Designer 2007.

This is a very easy way to maximize the use of a powerful tool such as SharePoint Designer 2007 is for SharePoint Technologies. Now, let's start customizing:

Connecting to another library

  • Open SharePoint Designer 2007
  • Click File -> Open Site
  • Enter the URL of the SharePoint Site that we will customize
  • Click the default.aspx Page
  • Scroll down to the bottom of the TreeView
  • Click the Connect to another library Link
  • Click the Add Button
  • Enter the Display Name for the Site
  • Enter the URL of the SharePoint Site
  • Click OK Button
  • Click OK Button

Adding and Displaying the SharePoint List with the Data View Web Part

  • Position the cursor where we desire the Data View Web Part to be displayed
  • Click Insert -> SharePoint Controls –> Data View on the SharePoint Designer Top Menu
  • Click the Data Source Library Tab located at the right corner of SharePoint Designer Toolbox
  • Expand the Node corresponding to the recently created connection to another SharePoint Site
  • Expand the Node named SharePoint Lists
  • Hover over the desired SharePoint List to display
  • Click the Show Data Link
  • Select the SharePoint List Columns to display
  • Drag and Drop them onto the Data View Web Part
  • Click the Save Button on the SharePoint Designer 2007 Top Menu Toolbar
  • A Message Box indicating that the current SharePoint Site will be customized is displayed
  • Accept and Continue
  • Refresh the Browser
  • The SharePoint List is now displayed

Filtering the SharePoint List with the Data View Web Part

  • Click the Data View Web Part
  • Click the > Button
  • Click the Filter Link
  • A Filter Criteria Box is displayed
  • Click the Click here to add a new clause Link
  • Select from the Dropdown the Field Name to be used for filtering
  • Select the desired value in the Comparison Dropdown
  • Select the filtering value in the Value Dropdown
  • Click OK Button

While this approach easily accomplishes the tasks of displaying and filtering a SharePoint List from another SharePoint Site, it can become an inconvenience for a SharePoint Administrator in a scenario in which multiple sites will require a specific filter for the SharePoint List.


WSPBuilder Extensions v 1.01 Released

Tom Clarkson uploaded on March 11, 2008 a new release of WSPBuilder.

In a previous blog posting we quickly glanced at WSPBuilder, with this new Release 1.01 there are a few niceties added:

  • WSPBuilder Template Project
  • Creating and Naming the WSP solution file based on the manifest.xml file created by the tool itself. The naming is based on the name of the folder in which the project resides
  • Two new useful Tasks when right clicking the Project:
    • Create Deployment Folder
    • Attach to IIS Worker Processes

Besides the WSPBuilder Project and WSPBUilder Project with Workflow Templates available for Visual C#, a new one has been added:

From Doug Ortiz's Blog

When Right-Clicking the project two new additional task items are available:

From Doug Ortiz's Blog

I encourage you to download and review the features of WSPBuilder.

WSPBuilder Extensions 1.01 is available for download at:

There are more details regarding the new additions by click on the Releases Tab on codeplex.

Displaying Concatenated Columns in a Calendar View

Displaying Concatenated Columns in a Calendar View

Sometimes, the need to display columns that contain values from other

existing columns in a SharePoint List arises. For those times, a quick and easy

solution is to create a calculated column that will contain the columns we desire

to display.

A real world example for using a Calculated Column that comes to mind is in a

Calendar View ListItem: Merging the Title Column with the Date and Time of the ListItem.

This can easily be accomplished by creating a calculated column that concatenates the

values in those columns.

For this example, we will assume you already created a standard Calendar List. Under the

Calendar List Settings of your List:

  • Click Create column
  • Set the Column name: to: TitleAndDate
  • Select the Calculated (calculated based on other columns) Radio Button
  • In the Formula: Text Box type:

=Title & " " & TEXT([Start Time],"mmm-dd-yyyy")

  • Select the Single line of text Radio Button for The data type to be returned from this formula is:
  • Click OK Button

In order to displaying the newly created TitleAndDate Column in the Calendar View, we

must modify the Calendar Columns View and set:

  • Month View Title
  • Week View Title
  • Day View Title

DropDowns to: TitleAndDate

  • Click OK Button

The end result will display the Title and the Start Date separated by a space.

Reviewing the Formula

The magic occurs in the TEXT function that converts the Start Time Column into text,

followed by the text being formatted into "mmm-dd-yyyy".

In case you need to add the time, just replace "mmm-dd-yyyy" with "mmm-dd-yyyy HH:MM:SS".

Leveraging the use of Site Columns – Part II

In the previous blog posting we explored how to use Site Columns to propagate data throughout a Site Collection. Now it is time to take it a step further, this time instead of saving the data within the Site Column we will reference the data stored in a SharePoint List named Company Departments. We will quickly create the SharePoint List, populate it and create the Site Column referencing the SharePoint List.


  • Let's create the SharePoint List:
    • Click on the List Links on the left hand Navigation Bar
    • Click the Create Link on the Menu Bar
    • Click the Custom List from the Custom Lists Group
    • Set the Name to Company Departments
    • Select the Yes Radio Button choice from the Display this list on the Quick Launch?
    • Click the Create Button
  • Populate the Company Departments SharePoint List:
    • Click the New Link on the Menu Bar
    • Set the Title Textbox to: Finances
    • Click OK Button
    • Click the New Link on the Menu Bar
    • Set the Title Textbox to: Human Resources
    • Click OK Button
  • With our SharePoint List created we must create a Site Column that references the newly created Company Departments SharePoint List
    • Click on the Site Actions link on your site
    • Click on the Site Settings option
    • Click the Site columns link in the Galleries Group
    • Click the Create Link
    • Set the Column name to List Based Company Departments
    • Set the Type to Lookup (information already on this site)
    • Either choose Custom Columns from the Existing Group Drop Down or set the name for the New group, for this example we will use the Company Wide group name
    • Decide if it is Required that this column contains information, it is recommended to set it to Yes

    • Select from the Get information from: DropDown the Company Departments SharePoint List
    • Select the Title (linked to item) choice from the In this column: DropDown
    • Click OK Button

We are ready to put the List Based Company Departments Site Column in action! To use the newly created Site Column we will create a SharePoint List named Employees and a required Column named Company Departments that will use the Site Column by clicking on the Add from existing site columns link as shown below:

From Doug Ortiz's Blog

The next screen will be the following:

From Doug Ortiz's Blog

  • Select the Company Wide group or the name you assigned to the Site Column from the Select site columns from: Drop Down
  • The List Based Company Departments Site Column will be display in the Available site columns ListBox
  • Click the Add Button
  • Click OK Button

You are right ahead of me, our next steps involve testing that our Site Column works properly. For this purpose we will attempt to create a new Employee:

From Doug Ortiz's Blog

As expected, the Finances and Human Resources Departments are listed in the DropDown. Go ahead and add the Information Technology Department to the Company Departments SharePoint List created previously and proceed to create a new Employee again. As you can see below, the newly item is displayed in the DropDown.

From Doug Ortiz's Blog

Comparing both methods of Site Columns Creation

While both methods accomplishes the same, there is a major difference between them:

The previous method requires either a SharePoint Administrator(s) or a User(s) with enough permissions to update the Site Column every time that an update is required.

The current method enables the SharePoint Administrator(s) to assign permissions to User(s) that can maintain those SharePoint List(s).

Depending on the amount of updates that are required, the first method could become problematic in environments in which a single person is the SharePoint Administrator along with other responsibilities that have been assigned to that position.

WSPBuilder Extensions v 1.0.0 Release Candidate Released

WSPBuilder Extensions is an add-in that works with Visual Studio 2005 and Visual Studio 2008, developed by Carsten Keutmann with help from Tom Clarkson who developed the Visual Studio Templates. Thanks to them, SharePoint Development will not have to be as time consuming or cumbersome as it used to be. Now we have yet another reason to feel more comfortable and at ease inside Visual Studio 2008.

WSPBuilder Extensions is a welcome competitor to the Windows SharePoint Services 3.0 Tools: Visual Studio Extensions which has not been updated since the release of Visual Studio 2008. Using the WSPBuilder for development simplifies coding by:

  • Eliminating the need to create a manifest.xml file, it does automatically for you!
  • Creating and Naming the WSP solution file based on the manifest.xml file created by the tool itself. The naming is based on the name of the folder in which the project resides
  • Providing the following useful Tasks:
    • Build WSP
    • Deploy
    • Upgrade
    • Uninstall
  • Copy a file to the 12 hive
  • Recycling the AppPools from the Visual Studio interface!


WSPBuilder Extensions installs two Visual Studio templates that are available only for Visual C#:

From Doug Ortiz's Blog

When Right-Clicking the project an additional item is added with the following tasks:

From Doug Ortiz's Blog


While it does not do everything for you ( no tool does! ), it certainly is re-defining and setting the standards higher. Hopefully, this posting will spark SharePoint Developers interest to take a look WSPBuilder Extensions. A big plus is that it's free!

WSPBuilder Extensions is available for download at:

Leveraging the use of Site Columns – Part I

Site Columns is a topic that is not discussed nor mentioned very much, in my opinion it should be discussed more often because by leveraging Site Columns throughout a Site or Sites; you can standardize, create, maintain and share the data in those List Columns easily. This is a two part series posting, make sure you check later for the second part.

Most of the time, when the design and creation of SharePoint Lists occurs some columns are needed to be of the Type: Choice. This is a very nice way of limiting the user input, while allowing the designer to determine the display choices ( Drop-Down Menu, Radio Buttons or Checkboxes ). SharePoint Sites are created and most of the time the Columns in the Lists of that Site can or will be created from scratch on another SharePoint Site. This process repeats itself many times through the portal; it happens frequently between Site Administrators due to the lack of communication or simply because it is not known that there is the possibility of using central repository of Columns that can be shared across sites.

This is where using Site Columns becomes a Site Administrator's best friend, for example most companies will at some point in time have a SharePoint List Column that contains all the departments. The most common approach is to just create the SharePoint List with a Column of the Choice Type and add those values manually. This is a valid approach, but can you imagine how much easier it would be if you simply chose a pre-existing Column that contains those values already? Take it a step further and for a moment imagine how many times this type of Column might be duplicated with a Site or throughout the SharePoint Portal itself. Makes you wonder, does it not?

Before creating a Site Column it is important to determine which Sites it will be shared with. If you would like it to all the sites under a Top-Level site or just within a specific Site. After that has been determined we can move on and start creating a Site Column.

Creating a Site Column is accomplished with the following steps:

  • Click on the Site Actions link on your site

  • Click on the Site Settings option

  • Click the Site columns link in the Galleries Group

  • Click the Create Link

  • Set the Column name to Company Departments

  • Set the Type to Choice

  • Either choose Custom Columns from the Existing Group Drop Down or set the name for the New group, for this example we will use the Company Wide group name

  • Decide if it is Required to contain information

  • Enter your Companies Departments, in this case:

    • Finances

    • Human Resources

  • Choose the Display choices

  • Click OK Button

Your Site Column is ready to be placed in action!

To use a Site Column on any SharePoint List you create, it must be added by clicking on Add from existing site columns link as shown below:

From Doug Ortiz's Blog

Once clicked, you will see the following screen:

From Doug Ortiz's Blog

  • Select the Custom Columns group or the name you assigned to it from the Drop Down

  • The Company Departments Site Column will be display in the Available site columns ListBox

  • Click the Add Button

  • Click OK Button

After you have created your Employee List that references the Company Departments Site Column it will be displayed as a DropDown, as shown below:

From Doug Ortiz's Blog

You are probably wondering: How does the Site Column really help? It helps by simplifying the process of maintaining the choices that exist in the Site Column that was created. For some reason, you forgot to add the IT Department as a choice in your Site Column. So you go back and add it:

  • Navigate to the Site where the Site Column was created in

  • Click on the Site Actions link on the site where the Site Column was created

  • Click on the Site Settings option

  • Click the Site columns link in the Galleries Group

  • Scroll down and Locate the Company Wide Group

  • Click on the Company Departments Site Column Link

  • Scroll down to the Additional Column Settings section

  • Add the Information Technology as another Choice

  • Click OK Button

Go to the Employees List and Add a New Employee, the newly added Information Technology choice is included.

From Doug Ortiz's Blog

Summing it all up

Briefly, Site Columns will propagate automatically without the need of updating each and every list that references the Site Column(s) in use. That is where the usefulness of Site Columns comes in handy; it will make life easier for a SharePoint Administrator.

Stay tuned for Part II, we will take the Site Column we just created a step further!

Possible glitch with SharePoint Designer Service Pack 1

By now, almost everyone has heard about the release of Service Pack 1 for the following Office Products:

Before opening a SharePoint Site did notice that the "HTML Editor" option in Internet Explorer was set to "Microsoft Office Word". Fixed this problem with the following steps:

  • Click inside Internet Explorer the Tools Toolbar dropdown
  • Internet Options
  • Programs Tab
  • Set the HTML editor dropdown to: Microsoft Office SharePoint Designer
  • Click OK

So far everything has worked without a problem after the installation of Service Pack 1, with an unexpected faster response from SharePoint Designer.

Developing a Custom Web Part with Microsoft Visual Studio 2008

With the release of Microsoft Visual Studio 2008 many SharePoint Developers will be interested in creating custom Web Parts for SharePoint. This is entirely achievable and not very different from how it is done within Visual Studio 2005.

While the avenues to accomplishing this are similar with Microsoft Visual Studio 2005, there are a few items to consider:

  • Visual Studio 2005 Extensions for Windows SharePoint Services is not available or compatible with Microsoft Visual Studio 2008
  • As a good practice, it is recommended to backup your project before converting it into Visual Studio 2008

Creating the Web Part Project can be done in two of ways:

  • Convert an existing template project from Microsoft Visual Studio 2005
  • Create the project from scratch
    • Add the following references to the project:



    • Add the following code to the top of the project

      using System.Web;

      using System.Web.UI;

      using Microsoft.SharePoint.WebPartPages;

    • Assign the class to inherit from the WebPart

    MyCustomWebPart: WebPart

    • Add the RenderWebPart code:

    void RenderWebPart(HtmlTextWriter output)



    • Add desired code inside the "RenderWebPart"
    • Determine deployment type: bin or Global Assembly Cache
    • By default the Target Framework is 3.5
    • Deploy the Custom Web Part

Should I Use Visual Studio 2008 as my only development environment for SharePoint?

Visual Studio 2008 was Released To Manufacturing this past November 19, 2007, by now a multitude of SharePoint enthusiasts have most likely downloaded or installed it on their development environments.

They probably are wondering whether to keep the current install of Visual Studio 2005 or not; this is the purpose of this posting to help you assess whether or not you should un-install Visual Studio 2005 and use solely Visual Studio 2008 for your development environment.

These are the issues to consider:

  • Visual Studio 2005 Extensions for Windows SharePoint Services 3.0 does not work in conjunction with Visual Studio 2008.

    The node for SharePoint does not exist when creating a new project, even if you un-install and re-install the Visual Studio 2005 Extensions for Windows SharePoint Services 3.0.

  • Visual Studio does include under the Office 2007 Node the following workflows:
    • SharePoint 2007 Sequential Workflow
    • SharePoint 2007 State Machine Workflow

  • Visual Studio 2008 allows you to choose your target Framework
    • This is accomplished by going to the Project properties in the Application Tab, a dropdown named TargetFramework is now available


While the development of Custom Web Parts, Site and List Definitions for SharePoint does not exclusively depend on Visual Studio 2005 Extensions for Windows SharePoint Services 3.0, it is not readily available in Visual Studio 2008.

Therefore, if you do not use the VSE for WSS you can go ahead and un-install it. Otherwise, you might have a use for it if using Visual Studio 2005 Extensions for WSS once in a while.