Super applied in a sitecore migration projectDocument Transcript
SUPER applied in a Sitecore migration project
Rogojan Dragoș Constantin
Abstract. This document describes the business process model used in a
Sitecore migration project, short introduction in Sitecore concepts, an ontology
used for Sitecore concepts, advantages and disadvantages on this approach.
Keywords: Sitecore, Business Process Model, ontology.
Sitecore is a web content management system built on the Microsoft .NET 3.5
platform. The Sitecore migration project refers to the update of an existing web
application which uses an obsolete CMS solution. The new CMS solution is Sitecore
and all the existing data must be migrated on the new environment.
2 Sitecore fundamental concepts
In Sitecore, the structure of the application is described as a hierarchy of items that
compose the content tree. In general every item is associated with a template. The
fields defined on the template, define the fields which appear on the item.
In Sitecore a template is simply a data structure. In object-oriented programming
terms a Sitecore Template is most like a class defining a number
of Fields (Properties). In relational database terms Templates function most like
tables. Templates can inherit other templates, allowing them to have all the fields of
Fields are basically equivalent to properties on object-oriented programming, or
columns in a relational database. Each Field has a data type which controls what type
of user interface component is used to enter data into the field and in what format that
data will be stored.
2.4 Presentation components
2.4.1 Layouts (ASP.NET .aspx Web Forms)
Layouts define the outermost reusable markup superstructures common to the greatest
number of pages.
2.4.2 Sublayouts (ASP.NET .ascx Web User Controls)
Sublayouts define markup structures use within a layout or nested within another
Renderings are individual presentation components registered with Sitecore that
function as building blocks for published Web sites. The most common Rendering is
the XSLT Rendering, used to trasform xml data stored in Sitecore database to HTML.
Sitecore placeholders are ASP.NET controls that define named regions of layouts and
sublayouts to which other controls bind dynamically at runtime according to layout
3 Sitecore concepts ontology
Because Sitecore has a powerfull API, a Semantic Web Service based on an ontology
which models Sitecore concepts can be created. This ontology can be used to answer
a series of competency questions regarding a bussiness process of creating a new page
within the website like:
─ Wich characteristics should I consider when designing the items needed for the
─ Which are the templates I can use as ancestor templates for this item?
─ Wich is the best type of field type I should use on the template regarding that I
can have as Data Source a set of items?
─ Wich restrictions should I set on the Data Source of this particular field? From
all the items in the Data Source set, which ones I can select, which ones I need
to hide or only display without the possibility of selection?
─ What presentation element should I use to render this part of html?
SUPER applied in a Sitecore migration project 3
3.1 Building the ontology
3.1.1 Enumerate the terms
In a general point of view the following terms are considered: Field, Field Type, Field
Data Source, Template, Template Section, Item, Item Order, Layout, Sublayout,
Rendering, Content Tree, Presentation Components, Content Editor.
3.1.2 Define the classes
Taken into consideration the terms above, the fallowing classes can be defined: Field,
Field Type, Template, Template Section, Item, Layout, Sublayout, Redering.
3.1.3 Define properties of classes (slots)
In Sitecore every item has a Name, an ID (which is a GUID), and a path as simple
properties. Next will be defined the complex properties with the following template:
─ isOfType(Field, FieldType)
─ isFrom(Field, Template Section)
─ hasSection(Template, Template Section)
─ hasFields(Template Section, Field)
─ hasTemplate(Item, Template)
─ hasLayout(Item, Layout)
─ hasSublayout(Item, Sublayout)
─ hasRendering(Item, Rendering)
3.1.4 Creating Instances
The last level of the Business Process Model used to create the items needed for a
new page in the web application resumes itself to creating instances of the classes
defined in the ontology. This process begins with an instance of a Template on which
are added Sections, each with Fields that have a Field Type. Next this Template is
used to create an instance of an Item. The same steps are repeated if other items are
needed (for example items used as data source, or for specific settings – because
everything in a CMS must be manageble and the content editor user must be able to
do this operation). After all the items needed are defined, presentation components
must be added as well. All the items that will be accessed in the web site as *.aspx
pages will need to have presentation settings associated. First an instance of a Layout
must be added. One or more Place Holders must be instantied as well to define the
zones in the layout of the page where other content is supposed to render. Second,
Sublayouts or Rendering must be added to complete the layout, also specifying the
Place Holders where each one must be put.
4 Sitecore migration Business Process Model
4.1 BPM Overview
Sitecore migration in this use case means that a client has an web application that is
built using an obsolete system for content management and he wants to be able to use
a newer and better application for the same job, provided that the look and feel must
not change and all the existing content must be migrated in the new CMS solution.
The existing application is managed by webmasters, some of which only act as
content editors and some which can provide information about how sections of the
web application are designed and implemented. All thing that can migrated ’as is’
must not be changes in the Sitecore solution and this means: cookies used on the old
users, external applications used to import data, or translate data (because the website
has versions in Arabian and Koreean).
The website is broken down into sections and subsections. Every section is described
by a Business Analyst, resulting a functional specifications document. Based on each
functional specification document, estimations are made for the time a section takes to
be implemented. When the client approves the plan, developers get to work using
Aglie methology and maximum 1 month iterations.
4.2 SUPER integration
The business process presented above is really complex from an IT point of view.
Managers and business experts need to be released from this complexity so that the
organization can dramatically reduce cost and time required to control the activities of
developing this project. The market is very flexible and dynamic and staying on its
trend is not easy when a business process model it’s hard to be implemented and this
task goes only to IT specialists.
The solution for a system that must react quickly to changes is to raise the business
process management to the business level where it belongs, from the IT level where it
mostly resides now. This can be done by developing ontologies describing business
processes, a combination of Semantic Web Services that can be easily composed and
orchestrated and using Business Process Management techniques.
Starting with the Sitecore ontology (which can be refined and enhaced when needed
to get to a generic system that uses semantics to describe the Content Management
System behind the business process), one or more IT services must be created. They
need to be easily accessible and hide IT elements of implementation by using
semantics. This way agility and flexibility is added when the system needs to react
quickly to change. Of course management tools for the Business Developement
SUPER applied in a Sitecore migration project 5
Manager which are easy to use according to the requirements must be provided also.
Another important part is the ability to reuse existing building blocks added up with
easy integration. Time is a critical resource in every business so this solution must
provide a fast time to market.
To wrap it up, SUPER integration will offer a set of tools which provides support on
the full life cycle of the Business Process Management and for domain specific logic,
for example for the Content Management sector. This way the knowledge about the
business process will reside in the process and not in the people that impelement it.
The Sitecore migration project is a good example of such a thing. The most part of the
knowledge resides in the developers. The next line of people regarding knowledge are
the testers and even if they see the system as a black box, they get implementation
info from the developers.
5 Advantages and Disadvantages
SUPER integration addresses to critical issues like time and costs. Business Process
Modeling returns to business specialists. The system is very flexibile and adapts
quikly to change. By building ontologies and Semantic Web Services based on them
complex domains can get easily described and extented. Already built ontologies can
be reused and extended.
The is no exact path to build a complete and corect ontology. IT level must be hidden
under semantic web services and this implies complex logic according to the domain