Poster 2: Happy New Year 2015

03 January, 2015 | | 0 comments |

Share |
Wishing a very happy new year to all my readers! This is the second in the series of posters putting to use the basic principles of Design. The goal of the poster was to wish my friends a new year on WhatsApp (a personal messaging client) on Phone.

Some details on the process and content -

  • The underlying principles of Design used are Proximity, Alignment and Repetition. Typography and Iconography were the elements used for the content. 
  • The poster uses an optimistic vocabulary with a black background. 
  • The black background with white text complements the experience of the reader on a smartphone to focus on the content since the time constraints for visual communication is an average of 3 seconds in this case. 
  • I have added the copyright mark on the bottom right corner since the first poster to give myself credit for the work if it's shared.




The Photoshop assets of the poster can be found here: http://1drv.ms/1AjEMP2

Things next: Adobe Illustrator works better for illustrations (like a poster) than Adobe Photoshop. Particularly for grids and object alignment. I'll have to migrate.

SharePoint 2010: Significance of Content Type management in List

02 May, 2012 | | 0 comments |

Share |
For those who have worked with SharePoint Lists must be familiar with Advanced Settings feature of the List available under List Settings (for document libraries, known as Library Settings). Under the Advanced Settings of the List, you can choose whether to allow management of content types. By default, it is turned ON for every List. In this post, I am going to highlight the significance of ‘Allow management of content types?’ when it is turned ON and when turned OFF.

Where is ‘Allow management of Content Types?’ found?


List Settings on the Ribbon


Advanced Settings in List Settings




When ‘Allow management of content types?’ is turned ON:

When turned ON, it will allow multiple content types to be added, modified or removed over the currently available content types associated with the List. So basically it means you can display columns from other content types along with the columns available in the List. The settings for Content Types are available under the List Settings. See following snapshot –


Content Type setting in List Settings


Example:

Consider a custom List named ‘Employee’ with an associated content type created having the following columns:

Employee
Name | Age | Address | Designation

   
Consider another custom List named  ‘Employee Bank Details’ with an associated content having the following columns:

Employee Bank Details
Bank Name | Branch Name | Account Number


In this case, for the Employee Bank Details list we would also like to have the Name, Age, Address and Designation of the employee from the Employee list so that the information looks complete. Rather than creating columns with same name again, we can add the associated content type with Employee list in Employee Bank Details using the ‘Add from existing site content types’ setting so that the same columns from Employee list are utilized in Employee Bank Details. When this is achieved, the Employee Bank Details look like following –

Employee Bank Details
Bank Name | Branch Name | Account Number | Name | Age | Address | Designation


When ‘Allow management of content types?’ is turned OFF:

You might wonder if allowing management of content types is beneficial considering what I described above, why would you turn it OFF! Well, Microsoft SharePoint does enable some features, when it is turned OFF. So it is important to know them.


1. In the List Settings, two settings - Column ordering and Indexed columns are enabled. Column ordering allows columns to be ordered as per your wish in any view. I am not sure what Indexed columns setting does.
You can change the order of the columns by arranging them in ascending order based on the indexes.


Column Ordering in List Settings


2. In the View Settings for a particular view, in the Folders section at the bottom some advanced settings pertaining to view display are enabled. They are pretty relevant when choosing which view you want to use for the discussion topic and which one to be used for the discussion topics and replies.


Folders settings in View Settings




Key Learning: ‘Allow management of content types?’ is an important setting which enables some features both when it is turned ON and when turned OFF. In case, you want to use both the features simultaneously when it is turned ON and turned OFF, there is no option but to make the changes first when turned ON and then switch it OFF and make the changes. It works vice-versa too and the changes you make do persist.


Post a comment

Mumbai MS in MIS Meet – Fall 2012

16 April, 2012 | | 0 comments |

Share |
1st April, 2012 – In-person meetups for MS aspirants are in my perspective quite an interesting affair. The case this time was pretty similar when some members over MS in MIS Fall 2012 group on Facebook organized a meet at Candies, Bandra and around 25 people turned up. The intended audience – obviously MIS (Management Information Systems) aspirants. And for our readers and future aspirants, who are still not sure about making MIS as their career option, check this study here.

Coming back, having been three times at Candies, located at Pali Naka, Bandra West over a period of 2 years for casual and business meets, I can surely say one thing – amongst the various places I have been for a meet, Candies is the best. The meet had a rough start owing to the fact that the restaurant staff intervened and insisted that all the people may not just occupy their logistics but consume some of the sandwiches, pastries and ice creams they offer. And their orders were promptly followed by the group. :)

Let me roll out the minutes of the meetup as I remember. We had an initial round of introduction followed by the most important topic – who has what all ADMITS from universities and what they intend to make their destination. We later split up the members into smaller groups based on their destination university for discussion. Soon the real important discussions began in 5 groups formed – CMU, UTD, Eller, UB, TAMU and Washington University.

As it turned out, the conversation now became quite interesting as it became university-specific suiting every member’s interest. Topics discussed were future prospects, per credit/quarter fees, pros & cons of education loans, possible accommodation options with monthly rent, research work undergoing in university, GA/TA/RA if available and the most important – average salary package of students passing out from the university. Another important topic I remember was the right time to resign in our respective companies. My group survey found that only 2-3 people had already resigned amongst the 15-20 people who were working with a company in the group. So that was a relief for me to know that that a majority of them haven’t resigned yet! I just thought I am too late for doing that and might land in trouble.

Unfortunately for me, the groups at the meetup were not of universities to which I had applied or had received an ADMIT. I had applied to mix breed of universities for CS (SJSU, RIT, GWU) and MIS (NEU, UB, NYU Poly). So I was more of a listener hanging my ears in every group and I guess listening indeed helped as I had to cover the event eventually on a blog. :)

The meet was not only a good source of networking but seriously cleared a lot of doubts and concerns the members had. It also brought all members at the same level by clearing all fallacies which people had initially, particularly the VISA affair. Well if not completely, definitely to an extent. :) Finally we had a group photograph which definitely looks picture-perfect!

Check the pics below ... Comments are welcome.



1

2

3

4

5


IMAG0414

IMAG0415

IMAG0416


IMAG0417

IMAG0418

IMAG0419

IMG_0733

IMG_0734

IMG_0737

IMG_0738

SharePoint 2010: Using Discussion Boards in sites

25 March, 2012 | | 1 comments |

Share |
MSDN Reference for Discussion Boards - Link

A Discussion Board in SharePoint 2010 is a List which allows collaboration between members in a team over a particular discussion subject. To make it even simpler, Discussion boards are moreover like Internet forums where discussions threads exist and each discussion topic have several replies from users. Users have an option to create, edit and remove a discussion topic or discussion reply.

The Discussion board functionality and user-interface can be customized with the help of SharePoint Object Model and customizing CSS classes respectively. From a developer point-of-view, a point to note - the Discussion Board forms do not open in InfoPath Designer 2010. SharePoint Designer 2010 is the only choice for customizing any of the Discussion Board forms and views besides the out-of-box functionality available in browser.


Views in Discussion List:

Discussion board can have several Views which are different ways to display the list which will suit the user requirements. New views can be created and out-of-box views can be customized if required.


Each discussion list has three views by default:

View name Page Name
Subject  view (default) AllItems.aspx
Flat View Flat.aspx
Threaded View Threaded.aspx

The default view is Subject for a new discussion list created. More views can be created as per user’s requirements. (More on Types of Views below).


Creating a Discussion List in a SharePoint 2010 site:


1. Login into the SharePoint 2010 site. The user has to be a Site Administrator to create the list.


2. Go to Site Settings menu in the top-left corner of the page and select View All Content.




3. Click Create.




4. Select List from left navigation and click on Discussion Board. Enter the name of the list you would like to have and click on Create.




Once created, you will see the ‘Villkor och tariff’ Discussion list in the Quick Launch navigation on the left side.




MSDN Reference for views in Discussion BoardsLink1 & Link2

Different types of views:

1. Subject view (default view)

This view is available only at the top-level folder (the highest level of a discussion board) and is used to view the names of the discussions and other metadata on a particular discussion. The name of each discussion in the board appears as a link in the Subject column that you can click to go to a lower-level folder that displays the replies to that particular discussion.

Note: Although it is possible to use a different view for the top-level folder, such as the flat or threaded view, we do not recommend that. Instead, use the subject view or a view that you create based on the subject view.




2. Flat view

By default, this view is available only in folders of the discussion content type. This means that it is not available to the top-level folder. In this view, the subject of the discussion, all replies to the discussion, and other replies are aligned on one side.




3. Threaded view

By default, this view is available only in folders of the discussion content type. This means that it is not available to the top-level folder. In this view, the subject of the discussion is aligned to one side, all replies to the discussion are indented slightly, and all replies to previous replies are indented even farther. This view makes it easy to see whether a reply was made directly to the subject of the discussion or to a previous reply.




Changing the view in Discussion Board:

From any view in Discussion Board, you can change the view by clicking on the List on Main Navigation Breadcrumb and selecting the desired view.



SharePoint 2010: Using RSS feeds for SharePoint Page/List updates

10 February, 2012 | | 0 comments |

Share |

RSS (Really Simple Syndication) is a family of web feed formats used to publish frequently updated works—such as blog entries, news headlines, audio, and video—in a standardized format. An RSS document (which is called a "feed", "web feed" or "channel") includes full or summarized text, plus metadata such as publishing dates and authorship. RSS feeds can be read using software called an "RSS reader", "feed reader", or "aggregator", which can be web-based, desktop-based, or mobile-device-based. The user subscribes to a feed by entering into the reader the feed's URI or by clicking a feed icon in a web browser that initiates the subscription process.

From Microsoft SharePoint point-of-view, users can use RSS feeds to receive alerts on SharePoint pages, Lists, document libraries and other SharePoint components which support RSS publishing. Internet Explorer, Mozilla Firefox and Microsoft Outlook support RSS feeds to receive updates.




Adding RSS feeds from SharePoint Page/List to Internet Explorer

In Microsoft SharePoint 2010, to check if the list or the SharePoint page has a RSS feed available, you can check the RSS icon on the Internet Explorer, Firefox or any other browser. If the icon is highlighted, it means RSS feeds are available for the SharePoint component you are viewing. Check the following example for a SharePoint List in Internet Explorer -


(Click to expand this image)


Now click on the RSS feed icon to view the RSS feeds of the List.


Adding RSS feed to Internet Explorer
(Click to expand this image)


Click on ‘Subscribe to this feed’ to add the feed in Internet Explorer feed list. In future, if you want to see which all feeds you have subscribed in Internet Explorer, check the Favorites > Feeds Tab.

To view the feeds, check the Favorites > Feeds tab and click on the desired feed to view the updates.


Checking available RSS feeds in Internet Explorer


Adding RSS feeds from SharePoint Page/List to Microsoft Outlook

To add the RSS feed to Microsoft Outlook, copy the RSS feed URL. Right-click on RSS Feeds folder in Microsoft Outlook and click on ‘Add a New RSS Feed’. Paste the RSS feed URL in the box, click on Add and click on Yes. You might be asked for the credentials as the feeds are being accessed from a site which needs credentials for access.

Once done, you will see the feed under RSS feeds folder.


Adding RSS Feeds to Outlook
(Click to expand this image)


Once RSS feeds are added, they will look like following in Microsoft Outlook. New RSS updates will display as unread items in the feed list.


This is how RSS feeds look in Microsoft Outlook
(Click to expand this image)

SharePoint 2010: PDF files cannot be opened directly, only saved

26 January, 2012 | | 1 comments |

Share |
While supporting an intranet application on SharePoint 2010 for a Swedish client in my company, a lot of users complained about PDF files not been able to open in browser as a default behavior in SharePoint 2010 Lists. In some cases, it does offer you the option of 'Read' or 'Save' but despite of choosing the 'Read' option, the PDF still saves a copy to the file-system! To remind you, back in SharePoint 2007 the default behavior was that the PDF files would open directly in the browser, so obviously this is considered an unusual behavior in SharePoint 2010.


1


1


My study found a lot of threads on MSDN forums and Stack Overflow which do a offer solutions to introduce a custom 3rd party jQuery code in your Master Page or CEWP (Content Editor WebPart) but choosing an out-of-box solution is always preferred.

The way it works with SharePoint 2010 basically - PDF files (basically the PDF MIME type) are not considered safe hence saving them to the file-system and opening them is the only option users have. That’s annoying! Amongst the list of allowed MIME types which SharePoint 2010 allows for a Web Application, PDF isn’t in the list.


Solution 1:

Modify the General Settings of the Web Application in CAS (Central Administration System) to allow “Permissive browser handling” which means the browser will be able open up file types which are not in the list of permissible MIME types.


1


1


Perhaps, this might be the easiest way of achieving or intent but it also leaves the browser vulnerable and allows all file types to be opened. This is definitely not a good security practice. Check the other solution.


Solution 2:

We can use PowerShell to explicitly include PDF in the list of allowed MIME types. Note that this setting is applied at Web Application level hence making this solution better than Solution 1 as it does not open up any other MIME types. Make sure you use an account with adequate privileges to execute the PowerShell script. Execute the PowerShell script in the SharePoint 2010 Management Shell after modifying the Web Application URL in the first line. Following are some PowerShell snippets with their description.



List all permissible MIME types:

  •  
  • $webapp = Get-SPWebApplication http://localhost:8080/
  • $webapp.AllowedInlineDownloadedMimeTypes
  • $webapp.Update()
  •  

Add PDF MIME type to this list:

  •  
  • $webapp = Get-SPWebApplication http://localhost:8080/
  • $webapp.AllowedInlineDownloadedMimeTypes.Add(“application/pdf”)
  • $webapp.Update()
  •  



Remove PDF MIME type from this list:

  •  
  • $webapp = Get-SPWebApplication http://localhost:8080/
  • $webapp.AllowedInlineDownloadedMimeTypes.Remove(“application/pdf”)
  • $webapp.Update()
  •  





Download the PowerShell script here:
(Reset the IIS after you execute the script)

PowerShell script to allow PDF MIME type in SharePoint 2010 to open in browser



Disclaimer:

Personally, I have tested both the methods and they work fine when you do the way to allow PDF files. But when you do the opposite way i.e. to disallow PDF, the changes do not get applied, leaving you with the first applied setting.

Here is one such case on the Internet. Also check the comments at the end.

SharePoint 2007: Using WSPBuilder for rapid deployment

14 January, 2011 | | 3 comments |

Share |
Assuming the readers of this post are not new to SharePoint development, it’s a known fact that SharePoint development isn’t as easy as developing on ASP.Net. Contrary to ASP.Net development where pages developed can be viewed by right-clicking on it and viewing it in browser; SharePoint takes much more than that! A matter of fact, a SharePoint WebPart takes around 11 steps right from developing it to deploying it, populating it in WebPart Gallery before getting it displayed on SharePoint pages. And surprising it might seem, even some of the most experienced SharePoint experts err while following this procedure ... ☺ ☺

Talking about real-life scenarios in service-driven companies where SharePoint developers do not have access to production servers; the only way deployment happens is through client’s onsite SharePoint Administrator. This makes developers write a painful and lengthy deployment document along with all source-code files bundled. With WSPBuilder, deployment becomes a click-once process or call it a single-command process. WSPBuilder helps to make a Solution Package (i.e. a .wsp file) using Visual Studio 2005/2008.



Solution packages are the preferred mechanism for deploying WSS components. The solution package itself is a compressed CAB file with a .wsp extension, and it contains one or more WSS components along with any dependent files that need to be deployed on each front-end Web server.

A simple solution package might contain just the files needed to deploy a single feature. A more complex package could contain the files for multiple features, applications pages, Web Parts, list definitions, event handlers, and a site definition. You decide what goes into a solution package according to what set of components it makes sense to deploy as a single unit.

The WSS runtime provides a built-in installer component that runs on each front-end Web server and is responsible for uncompressing the files inside a solution package and properly installing its components.

The Solution package tells the installer to perform other important deployment procedures, such as registering features with the WSS runtime, adding assembly DLLs to the Global Assembly Cache (GAC), and updating the web.config file with SafeControl entries required in Web Part deployment.



Requirements: WSPBuilder Extensions

Current version: WSPBuilder Extensions 1.0.6
(supports MOSS 2007 x86 / x64 bit, IIS6 / IIS7 on VS 2008)

Date: Jul 29, 2009       Status: Stable

Other awaited release: WSPBuilder Extensions 2010 BETA 1.4
(supports SharePoint 2007/2010 x86/x64 bit, IIS6/IIS7 on VS 2008/2010)

Release Tracker: Here

Issue Tracker: Here


Click to download the latest version of WSPBuilder



Example: Deploying a MOSS 2007 WebPart with ASP.Net Web User Control (i.e. .ascx) using WSPBuilder

Check this blog post of mine Here on how to create SharePoint 2007 WebParts with ASP.Net Web User Controls.

Step 1: Create a new WSPBuilder project in Visual Studio 2008


WSPBuilder project Template in Visual Studio 2008


Step 2: Create the folder hierarchy as required and copy the required files within the folder structure

Once created, you will witness the folder structure in the Solution Explorer as follows. Note the following points:

  • The 12 hive in Solution Explorer corresponds to the 12 hive where Microsoft SharePoint has been installed. The subsequent folders like GAC, TEMPLATE/LAYOUTS, TEMPLATE/FEATURES, TEMPLATE/XML, etc have to be created explicitly underneath the 12 hive which correspond to the existing locations. The files kept in these folders will be deployed at the exact locations on all front-end servers relative to their 12 hive.
  • The GAC hive in Solution Explorer corresponds to the GAC (Global Assembly Cache) on all front-end servers. A DLL kept here would be copied to the server’s GAC when the Solution Package is installed.
  • Add reference to libraries as required in the WSPBuilder project. As an example, you’ll need to add reference to ‘System.Web’ library in the project for a successful build if you have an ASP.Net Web User Control added.
  • The WSPBuilder.exe.config file plays the same role as that of web.config but for the WSPBuilder project. This file is not present by default when the WSPBuilder project is created so it has to be manually copied into the project. A sample wspbuilder.exe.config file is present at the install path of WSPBuilder in /Program Files/WSPTools/. Please make sure you don’t modify that file there and that you copy this file to your project and then make modifications to it. One of the <appSettings> attribute in the config file is <add key="Includefiletypes" value="cs" /> which means it’ll allow files with .cs extension to be bundled into the Solution Package which by default it doesn’t allow. Check the below snapshot for details.


WSPBuilder Folder Hierarchy


WSPBuilder Folder Hierarchy for Sample


Contents of WSPBuilder.exe.config file


For the purpose of this example, I have created the required folders below the 12 hive and copied the Web User Control underneath it. Also, the DLL for the WebPart has been copied under the created GAC folder. A point to note, please make sure you follow the naming conventions and rename the folders appropriately and as per convention.


Step 3: Build the project and create a WSP

If you have any files added to the directories which need compilation then Build the project by pressing F5. When done, right-click on the solution > WSPBuilder > Build WSP. On successful completion, a .wsp file would have been created at the project location.


WSPBuilder Build WSP





Step 4: Deploy the WSP using the stsadm utility

Open the command prompt and traverse to the location where the .wsp file is located. Run the following command making sure the filename is exact.

stsadm –o –addsolution –filename Sample_WSPBuilder.wsp


stsadm command to add WSP Solution


Step 5: Deploy the solution from the Operations Tab of Central Administration Site

Browse to the Central Administration Site > Operation Tab > Global Configuration > Solution Management


Solution Management in CAS


Click on sample_wspbuilder.wsp in the list and click on ‘Deploy Solution’ in the following page.


Deploy a WSP in Solution Management


Deploy a WSP in Solution Management


Once clicked on ‘Deploy Solution’, the following page will display the time when you want your solution to be deployed and which Web Applications to target. The default time is now and all content web applications. Click OK to proceed.


Deploy a WSP in Solution Management 3


The solution package is now deployed which is evident from the snapshot below.


Deploy a WSP in Solution Management 4


Once deployed, the following actions have been achieved:

  •  WebPart’s DLL has been copied to the GAC. Also to the bin folder of the SharePoint virtual directory with its .pdb file.
  •  The ASP.Net Web User Control (i.e. .ascx and .ascx.cs) files have been copied at the “12/TEMPLATE/LAYOUTS/PhotoGallery/” location.
  •  The necessary SafeControl entries in web.config have been made automatically and the previous web.config file has been backed up with .bak entension.

Step 6: Following the required steps to view the WebPart

Make sure you follow the required steps of populating the WebPart Gallery and adding the WebPart to a SharePoint page.

Any questions, please feel free to put them in the Comments section.

Note:

  •  The solution can be undeployed in the similar fashion by clicking on the Solution package name in Solution Management and then ‘Remove Solution’.
  •  If you want to remove the solution package at Farm level then first undeploy the solution using the previous step and then use the following command. Note that this would uninstall the DLL’s in GAC and delete the subdirectories in 12 hive (as created by the WSP when installed) from all front-end servers.

stsadm –o –deletesolution –name Sample_WSPBuilder.wsp –override





You can download the source code Here:





Source code for solution deployment in SharePoint 2007 using WSPBuilder





Key Learning SharePoint component deployment can be made easy with WSPBuilder. Once the WSP is created, developers should try deploying the same on their development environment and when successful, handover the same to the SharePoint Administrators for deployment on production servers.