Hiding Site Content from Search Engines

Search is undoubtedly the heart of today’s World Wide Web. Everybody loves, or at least can’t live without, Google.

Still at times the need arises to hide parts of a web site from search engines. More often than not it is private content (customers’ account information, contact information for individuals, etc.) that the client does not want visible to the public. It could also be third-party information like ads. Yet another example is duplicated information across the website as it could negatively impact the page rankings in search engines.

In this article we will first go through the technique that allows us to exclude entire pages and directories from the search crawler. Then we will look into the trickier topic of hiding only part of the page content from the search engine spider.

Continue reading

Developing Windows Phone 8 Apps in a Virtual Machine

I have been doing all of my development activities in a virtualized environment for quite some time. Programming for Microsoft SharePoint Server almost certainly requires a virtual machine but I have come to know that using one is convenient regardless of the target platform. Virtualization makes it easier to do backups and to hand over my work to another developer if need be.

When I had to do a project targeting Windows Phone 8, I found out that the system requirements for building a developer environment requested a dedicated host machine in order to successfully run the Windows Phone 8 emulator which is a virtual machine on Hyper-V itself.

Unhappy as I was with this requirement, I searched for workarounds and I found here a complete dummy-level detailed article on how to build and configure a virtual machine for developing Windows Phone 8 apps. Almost all steps are quite trivial for someone dealing with virtualization on a daily basis so I will just summarize the main caveats.

Continue reading

Add New Parameters to Stored Procedure Used in Crystal Reports

There is no doubt that SAP Crystal Reports is a great tool for designing and developing reports that could cover almost all business needs. Unfortunately it also has some limitations that cause trouble to developers throughout the development process. In today’s post I explain one of these limitations that I recently encountered and how I managed to overcome it.

For one of our clients who leverages SAP Crystal Reports as a reporting engine, I was required to modify more than 20 existing reports by adding a new filter to reports and respectfully to the underlying stored procedures to reflect changed business needs. Initially the task seemed quite simple but it turned out that SAP Crystal Reports is very sensitive when it comes to changes in stored procedure parameters.

What I did was to alter one of the stored procedures by adding the required parameter. Then I refreshed the report in Visual Studio using the Verify Database command available from Crystal Reports->Database->Verify Database menu (also available from the Field Explorer panel). To my surprise, the result I got was the following error message:

Database Connector Error: ADO Error Code: 0x80040e10
Source: Microsoft SQL Server Native Client 10.0
Description: Procedure or function ‘Report_CollectionAnalysis’ expects parameter ‘@year’, which was not supplied.

ScreenHunter_02 Jan. 02 14.43

Continue reading

Hide Title Column in Custom SharePoint Lists

In one of my latest projects I was faced with the need to hide the OOTB Title column in a custom SharePoint list. Initially I thought this would be an easy job to be done within 2-3 minutes but it turned out I was wrong. I read several articles on the web, including a couple of discussions in MSDN forums dedicated to the exact same topic, but honestly none of the suggestions worked for me. Finally, I managed to find a working solution that I am glad to share with you, hoping it could be of help should you need to accomplish the same task.

The completed solution will provision a SharePoint list with a custom content type that has three fields and the Title column is hidden. For the sake of brevity I will highlight only the key artifacts comprising the sample, omitting details like the creation of custom fields and the deployment of a custom list with a feature.

Continue reading