Rise Foundation

Blog Categories


Parshva Vora

Parshva Vora is a Technical Architect at Perficient since 2009 and has extensive experience building enterprise solutions, portals and software products using Microsoft technologies.

Posts by this author: RSS

A “Connected Consumer” turns into lifelong customers

What a week it was! I am referring to the last week spent at Sitecore Symposium North America and Annual MVP Summit that took place in Las Vegas. There was plenty to absorb with as much as seven sessions in progress at the same time. Sessions were divided into three different tracks: Product, Business and Developer. Obviously I couldn’t make it to all, but I did attend a good mix of them. All sessions were diverse in terms of subject matter. However, from opening keynote to closing keynote, the emerging theme was clear, and it was the Connected Consumer Experience!

personalizationWell, the concept of the consumer experience is not entirely brand new. At the symposium, stronger emphasis was placed on the term ‘connected’. The digital marketing landscape is continuously shifting as customers are engaging in doing business across several channels – email, website, mobile sites, apps. social media, CRM etc., and it poses at least two immediate questions for any organization that takes their customers seriously.

  1. Are we ready, as an organization, to do business with customers across these diverse channels?
  2. And, if so, do we have the infrastructure and solutions in place that drive for us a single view of our customer across online and offline touch points so that we can offer them a connected and meaningful experience?


Show up-to-date content in search results with mapping

I am back to blogging after a long pause – way too modest term for more than 7 months of break. :) But you know the days when you are swamped too deep into the project and don’t do anything other than breathing and work. Everyone, almost everyone, goes through it. Anyway, back to business now. Today’s blog post is about mapping search results with Glass.Mapper pulled from search index(Lucene, SOLR etc.) to actual items in content database without writing single line of imperative code. If you don’t know about Glass.Mapper, it is an amazing OOM(Object-Object Mapping) and ORM(Object-Relational Mapping) tool that significantly cuts down both the development and testing effort through declarative programming. Check out its home to learn more about it.

Let’s talk about motivation first. I was dealing with a problem involving aggregate object where information needed to be retrieved seamlessly from various and diverse data sources including search index without spreading data access code into my models and views. Does’t it sound like classic case of data mapping problem? In fact, Sitecore 7 content search APIs similar approach where indexed content is filled into specified .Net object(typically into SearchResultItem or its derivative). And mapping is directed through IndexField, IgnoreIndexField and few other attributes. Now it begs an obvious question, why would I use Glass.Mapper? Consider following scenario:


Sitecore acquires

Last week, Sitecore announced acquisition of from SMITH(formerly Ascentium), a global digital agency that develops and supports it. is a continuation of Microsoft Commerce Server. Acquisition of complements well as it brings B2B and B2C e-commerce capabilities to Sitecore’s Customer Experience Platform(CXP). As per Sitecore press note, “Sitecore’s acquisition lays the foundation for the industry’s first .NET based, enterprise-grade Customer Experience Management (CXM) platform with a native, fully integrated e-commerce engine.”

Sitecore LogoComServ_H

 is developed on .Net stack and integrates well with Microsoft technologies so existing customers can choose to integrate it tightly with Sitecore’s customer experience platform. Sitecore will continue to offer it as a stand alone product as well.’s cloud offering is currently available through AWS market place and it has plans to make it available for Windows Azure. Read the full anouncement here


Sitecore Wins Critic’s Choice Award for Best Enterprise CMS!

Yet another win for Sitecore! Sitecore wins Critic’s Choice Award in “Best Enterprise CMS” category after winning People’s Choice Award in the same category last month.  Sitecore and winner of the last year, Adobe CQ5 which is re-branded as Experience Manager were running neck and neck for People’s Choice Award but Sitecore won it in the end. Unlike People’s Choice Award, Critic’s Choice Award isn’t based on nominations and as per CMSCritic, a panel comprised of reputable judges consider and evaluate all CMS products. Read the full announcement here .

Sitecore Logo

CMSCritic further notes that strong content management capabilities coupled with digital marketing components makes Sitecore a well rounded platform for enterprises. Predictive personalization, ability to serve personalized content based on analytics gathered across different channels, have become the major reason for enterprises to choose Sitecore over other CMS products as this usually translates into increased customer engagement and hence better ROI. Gartner also noted it in its latest Magic Quadrant report and has recognized Sitecore as an industry leader. Read full Gartner report here.


Sitecore in Windows Azure

What is Sitecore Azure?

In simple words, it is your Sitecore implementation running in Windows Azure, a popular cloud computing platform from Microsoft. Sitecore Azure provides development and deployment tools to support Sitecore CMS and DMS(Digital Marketing System)  in Windows Azure.

Windows Azure: As you may already know, Windows Azure services are available both as IaaS (Infrastructure as a service) and PaaS(Platform as a service). To be precise it offers four execution models for your application:

  1. Virtual machines(IaaS)
  2. Cloud Services(PaaS)
  3. Web sites
  4. Mobile services

Please see Window Azure page to know more of various execution models and other information.

Sitecore – PaaS and IaaS

Sitecore Azure – PaaS: Your Sitecore environment in Azure is maintained and patched automatically, instead of you working with virtual machines directly and managing them. Your implementation can be scaled out by adding large building blocks such as instances, web roles and farms.

Sitecore in Windows Azure – IaaS: You can get a virtual machine, created out of a standard disk image or your own disk image and you are responsible for patching, installing updates and maintaining it. It offers you more control, with added maintenance liability though.

Subscription Options

Sitecore Azure subscription – It is a PaaS offering where your Sitecore installations were managed by automated Sitecore features.  You can also use your existing Windows Azure subscription for Sitecore Azure installation.

Windows Azure subscription: You could choose to subscribe to Windows Azure directly and manage Sitecore on your own. You can still use deployment tools that Sitecore Azure uses.


Accessing Sitecore items – A structured approach

It is very trivial to retrieve items from Sitecore content repository. Like any other CMS, Sitecore provides APIs for reading and enumerating items and item fields and there is nothing special about it. Without wasting time, let’s talk code straight away. Consider following two lines of code typically found in code behind of a SubLayout:

Assume the following data template inheritance:

Data template inheritance


Integrate your implementation into Sitecore CMS

Gone are days when going online for an enterprise was considered a proud moment and the only purpose its public facing website served was an instant ‘brochure’ for visitors about its products and offerings. Nowadays visitors can not only browse the information but also can purchase directly on the website or show an interest into particular product or service. Predictive personalization, among many powerful capabilities Sitecore has, is the most notable one as it tracks visitor’s behavior and maps to a predefined pattern which is used then to show relevant content to the visitor.

If your company’s public facing website like ours is powered by Sitecore CMS and a tool of choice for sales folks in your company is, wouldn’t it be nice to share an intelligence and analytics gathered by Sitecore with and turn a casual visit into a lead? Wouldn’t it help your sales guy to better understand customers’ behavior and buying patterns? You can essentially drive your through your public facing website. Similarly showing information stored in on to Sitecore web site or utilizing it to personalize the content could result into rich experience for web site visitors. Empowering visitors to search documents and information stored in or view SFDC reports can help your sales people stay focused by not requiring them to manage content through Sitecore CMS.

Enabling information exchange between these two vast systems can truly leverage your company’s investments into Sitecore and SFDC objects such as leads, accounts, contacts, opportunities and custom objects are accessible through REST APIs. These APIs are categorized into two: customer APIs and partner APIs. Customer APIs are for a project that is specific to a customer or a situation while partner APIs can be used to develop if a project is meant to be used by several customers. Similarly Sitecore exposes information stored into it such in form of APIs or web services. One may write a custom layer that can bridge two systems. Also a third party connector called S4S(Sitecore for Salesforce) from FuseIT can be used to connect two systems. To the best of my knowledge, it is the only such connector available in the market.


Search Engine Optimization for SharePoint 2013 Sites (Part II)

SEO features in SharePoint 2013 are bundled into a SearchEngineOptimization feature. Its feature.xml file references two element files – searchengineoptimization.xml(SEO.xml) and searchengineoptimization1.xml(SEO1.xml). SEO.xml defines elements that make up its UI by extending ribbon interface. It also registers few candidate web controls with AdditionalPageHead delegate control. Delegate control is a powerful mechanism to alter application behavior declaratively. One or more candidate controls are added to control tree dynamically based on the sequence number(lower sequence number will be added first) depending upon the configuration of a delegate control. All web controls are defined under Microsoft.SharePoint.Publishing namespace.

SEO.xml also adds an SEOSettings application page(_layouts/15/SEOSettings.aspx) where you can configure canonical URL and verify site ownership.


SEO1.xml defines all SEO properties for page such as browser title, meta description, sitemap priority, sitemap change frequency as site columns. It means you can access these fields pragmatically like any other site columns. Note that “Sealed” property for all fields is set to true which means that they aren’t extensible.


SharePoint 2013 – Farm and App level ECTs in BCS

SharePoint 2013 introduces the concept of App level External Content Type(ECT) which allows model representing external entities to be packaged along with app in single unit so later it can be accessed by app to understand and integrate external data without outer dependencies.

External Content Types(ECTs) and External List – BCS(Business Connectivity Services) is an umbrella term in SharePoint referring to functionalities and activities for modeling, management and manipulation of external data. Schema of an external entity or business concept is represented in SharePoint by an external content type much like a content type describes native SharePoint entities. External List can then hold items of specific external content type, again the way List can have items of one or more content types. The major difference is External list can contain items of only one external content type.

What is inside BDC model?