Blocking Anonymous Users from SharePoint List Pages

All public facing Sharepoint sites and Sharepoint intranet in some instance are configured to allow anonymous access.  If anonymous users have read/write access to lists they will be able to see the Sharepoint list pages such as AllItems.aspx, Dispform.aspx, Editform.aspx, and Newform.aspx by using a URL like . Since this is not a desirable situation, anonymous users should be blocked from seeing the list pages. This can be achieved by changing the ASP.Net configuration settings for the Sharepoint site.   Following lines have to be added to the web.config file of the Sharepoint site

<location path=”lists”>
       <deny users=”?” />

This will prevent the anonymous users from accessing any pages under Lists. If they try to navigate to a list page such as http://server/lists/listname/allitems.aspx they will be prompted for username and password.

Grouping a SharePoint List by Month Name & Year

Sharepoint custom list data can be easily grouped on any column of our choice. We had a requirement to group a custom list based on Month Name and year from a date column for which we had to create a calculated column and tweak it. This blog explains how this was achieved

1. Create a new calculated column in the Sharepoint list.
2. In the formula for the calculated column use the TEXT function to extract the month name from the date column. The syntax for TEXT function is
          For extracting the full month name use “MMMM” or use “MMM” for 3 letter month names. For example
          Text(StartDate, “MMMM”) will return January whereas Text(StartDate, “MMM”) will return Jan3.

3. Use the YEAR function to extract the year from the date column.
4. The complete formula for the calculated column will be as shown below
5. The calculated (Events) column will now show month name and year as seen in the image below,


6. Now when we create a view and group it by the calculated column(Events) the view will display data as shown below


Embedding Popfly Block within Sharepoint Page

Popfly is a free online game & mashup creator from Microsoft. Popfly enables users to create and share web pages, mashups, and applications in a trouble-free way.  This blog explains the steps involved in embedding a Silverlight based Popfly mashup within a Sharepoint page.

You can embed in Popfly mashup within a Sharepoint page in two ways, using content editor web part or page viewer web part. Before embedding the Popfly mashup make sure that it is publicly shared.

If you want to use Sharepoint Content Editor web part follow the below steps

1. Login to your popfly account and navigate to the mashup page.
2. From the share, panel click on embed link.


3. Copy the HTML IFrame script to a clipboard.
4. In your Sharepoint site navigate to the page where you want to embed the Popfly mashup.
5. Add a content editor web part to the page.
6. Edit the newly added web part and click Source Editor.
7. In the source editor window paste the script from the clipboard and click SAVE.

The Popfly mashup will now be displayed on the Sharepoint page as shown in the screenshot below,


If you want to use Sharepoint Page Viewer web part follow the below steps

1. In your Sharepoint site navigate to the page where you want to embed the Popfly mashup.
2. Add a page viewer web part to the page.
3. Edit the newly added web part.
4. For the link property give the URL of your Popfly mashup appended with “.small”. For example, if the URL of your Popfly mashup is then the URL for page viewer web part will be

Printer Friendly Page SharePoint Web Part

Sharepoint pages not only contain contents but also additional sections such as top navigation, quick launch etc. Printing these pages using the browser Print option will result in the navigation and other sections also getting printed. To avoid this annoyance we at IOTAP have a created a Printer Friendly Page web part for Sharepoint which when added to a Sharepoint page will display a print button. Clicking this icon will open a printer friendly version of the Sharepoint page with the print dialog.

We have updated this webpart to use JQuery for simplification. You can download this web part and setup instructions from IOTAP webparts

SharePoint Social Bookmarking Web Part


Social bookmarks allow users to tag any URL or web content and automatically save it to a community. We at IOTAP have a created a Social bookmarks web part for Sharepoint which when added to a page will display links for 29 popular social sites. You can download this web part from here

SharePoint Copy WebService – Part 1

I got a work on moving a file from a document library using Web Service. I already work on this, but I did that with SharePoint Object model. Now I have to search for this about web service, oh… I had forgotten the Copy web service; it’s just announced in WSS3.0. This Web service plays the role of copying and moving documents with the field information. There are three classes to play this role,

Copy  Provides methods for copying files between SharePoint sites or within a SharePoint site.

CopyResult Represents the result of a copy operation.

FiledInformation Provides properties that define a field associated with a document copied by using a Copy web service operation. 

The three methods within Copy class do the job for us to move the files in Sharepoint libraries,

GetItem Generates a Byte array representation of a document that can be passed to the CopyIntoItems method to copy the document to a different server.

CopyIntoItems Copies a document represented by a Byte array to one or more locations on a server.

CopyIntoItemLocal Copies a document from one location on a server running Windows SharePoint Services to another location on the same server.

By using this method we can upload, download from different servers, local machines. In my coming posts, I’ll explain each method in deep.

SPitter – A Twitter for SharePoint

For those of you who have not heard of Twitter (I doubt if there is anyone), Twitter is a free online service for friends and family to communicate and stay connected through the exchange of quick, frequent answers to one simple question: What are you doing?

Though Twitter is a simple tool for public microblogging, it doesn’t fit well into the context of work-related collaboration. The corporate version of microblogging will have to be a tool that is integrated into an application that the corporate uses for collaboration. In IOTAP we extensively use our Sharepoint intranet for collaboration, so we have built a Twitter for Sharepoint solution. We named it SPitter to indicate that it is based on Sharepoint.

When our employees want to share their status, a message or a link to others within our organization they just post it to the SPitter area and the message gets added to the updates section.


SPitter Display

After setting up SPitter we are able to collaborate with our colleagues in an effective way as we now have the up to the minute status of what each one of them is working on.

To download SPitter solution contact us

To know more about other Sharepoint Tools IOTAP has developed, click here



Missing “Edit in DataSheet” option in SharePoint Lists

I was just looking into a SharePoint website, which uses Forms Based Authentication scheme. I noticed that the SharePoint lists ware not having options such as Edit in Datasheet, Export to Spreadsheet, and Open with Access under Actions Menu. I realized that these are client-based applications, so I thought there is an option on Sharepoint central administration to enable these options.

So I moved to below locations

Central Administration ->
Application Management ->
Authentication Providers (Under Application and Security)

In Authentication Provider’s, make sure you are in particular web application and then Select the Membership Provider’s Zone, and check that you have enabled the Enable Client Integration Option.

Once the Enable Client Integration option is enabled you will see those options for integrating with client application options on Sharepoint lists.

Shantha Kumar T ( MCTS )
[email protected]

MYOB CRM Integration

One-Way Integration between MSCRM 4.0 & MYOB Premier 11.0
There are products available such as ‘AccountLink’, which provides integration with these 2 applications.
However, these applications provide integration only between a pre-defined set of entities.
Eg: Quote in MSCRM goes to Quote in MYOB.
and although it was possible to customize the integration to a certain extent, it was not possible to change the predefined set of entities.
i.e: The application would not support integration from the ‘Quote’ Entity in CRM to ‘Orders’ in MYOB or ‘Service Activities’ in CRM to ‘Orders’ in MYOB.
Recently one of our clients had a requirement wherein they needed the Service Activities created in CRM to be generated as Orders in MYOB.
The existing products did not support this kind of integration and hence we created a custom integration engine which would fulfill the above requirement.
Another major advantage being, the windows application built does not use any 3rd party components/applications to carry out the integration, thereby providing more value for money.
Since MYOB does not provide an SDK to interact with, the first step was to identify the tables affected when an Order was created in MYOB.
Since MYOB has a flat file structure, one can use the “Link Table” option provided in Microsoft Access to view the Table structure in MYOB DB.
The most table’s in MYOB has an associated table prefixed with “Import” which can be used to import data into MYOB through an external application.
Eg :
The Order details in MYOB is stored in the table  called ‘Sales Service’
So we could use the ‘Import Sales Service’ table to push data into the ‘Sales Service’ table.
Once the required table is identified in MYOB, data can be moved into MYOB using normal SQL queries with the ODBC drivers provided by MYOB.

Since our requirement was a one-time activity every day, a windows service was written which would fetch data from MSCRM using MSCRM Web Services and create the appropriate SQL queries to push data into the MYOB tables.


Denny Aloor

CRM Technical Consultant, IOTAP


Why does Scrum Work?

1. The basic premise is that if you are committed to the team and the project, and if your boss really trusts you, then you can spend time being productive instead of justifying your work.
2. This reduces the need for meetings, reporting, and authorization.
3. There is control, but it is subtle and mostly indirect.
4. It is exercised by selecting the right people, creating an open work environment, encouraging feedback, establishing an evaluation and reward program based on group performance, managing the tendency to go off in different directions early on, and tolerating mistakes.
5. Every person on the team starts with an understanding of the problem, associates it with a range of solutions experienced and studied, then using skill, intelligence, and experience will narrow the range to one or a few options.
6. Keep in mind that it can be difficult to give up the control that it takes to support the Scrum methodology.
7. The approach is risky, there is no guarantee that the team will not run up against real limits, which could kill the project.
8. The disappointment of the failure could adversely affect the team members because of the high levels of personal commitment involved.
9. Each person on the team is required to understand all of the problem and all of the steps in developing a system to solve it, this may limit the size of the system developed using the methodology.

How does Scrum work?

•  The first thing that happens is the initial leader will become primarily a reporter.
•  The leadership role will bounce around within the team based on the task at hand.
•  Soon QA developers will be learning how requirements are done and will be actively contributing, and requirements people will be seeing things from a QA point of view.
•  As work is done in each of the phases, all the team learns and contributes, no work is done alone, the team is behind everything.
•  From the initial meeting, the finished product is being developed.
•  Someone can be writing code, working on functional specifications, and designing during the same day, i.e. “all-at-once”.
•  Don’t be surprised if the team cleans the slate numerous times, many new ways will be picked up and many old ways discarded.
•  The team will become autonomous, and will tend to transcend the initial goals, striving for excellence.
•  The people on the team will become committed to accomplish the goal and some members may experience emotional pain when the project is completed.


•  Scrum is an agile process to manage and control development work.
•  Scrum is a wrapper for existing engineering practices.
•  A scrum is a team-based approach to iteratively, incrementally develop systems and products when requirements are rapidly changing
•  Scrum is a process that controls the chaos of conflicting interests and needs.
•  Scrum is a way to improve communications and maximize co-operation.
•  Scrum is a way to detect and cause the removal of anything that gets in the way of developing and delivering products.
•  Scrum is a way to maximize productivity.
•  Scrum is scalable from single projects to entire organizations. Scrum has controlled and organized development and implementation for multiple interrelated products and projects with over a thousand developers and implementers.
•  Scrum is a way for everyone to feel good about their job, their contributions, and that they have done the very best they possibly could.


Scrum naturally focuses an entire organization on building successful products. Without major changes -often within thirty days – teams are building useful, demonstrable product functionality. Scrum can be implemented at the beginning of a project or in the middle of a project or product development effort that is in trouble.

Scrum is a set of interrelated practices and rules that optimize the development environment, reduce organizational overhead, and closely synchronize market requirements with iterative prototypes. Based on modern process control theory, Scrum causes the best possible software to be constructed given the available resources, acceptable quality and required release dates. Useful product functionality is delivered every thirty days as requirements, architecture, and design emerge, even when using unstable technologies.