Oshyn - Best Practices For Sitecore CMS

17
Best Practices for Sitecore CMS May, 2009 Author: Gaurav Bhatt, Technical Project Manager

description

Sitecore CMS is an extensive Web Content Management (WCM) platform for the mid-market. It offers reduced IT expenditures, a streamlined content lifecycle, and a return of content control to the subject matter experts. The newest incarnation of Sitecore CMS version 6.0 is a mature product that incorporates standard social media components such as wikis, blogs, RSS syndication and “e-mail a friend” features. Based on standard .NET technologies, Sitecore offers customers a seemingly clear path to implementation. Though, like any other project implementation, there is careful planning required. And only by planning carefully, you’re able to execute to perfection. To read full white paper - please click Download.

Transcript of Oshyn - Best Practices For Sitecore CMS

Page 1: Oshyn - Best Practices For Sitecore CMS

Best Practices for

Sitecore CMS May, 2009

Author: Gaurav Bhatt, Technical Project Manager

Page 2: Oshyn - Best Practices For Sitecore CMS

Best Practices for

Sitecore CMS Table of Contents

Executive Summary 3

1.0 Sitecore CMS Structure 4

1.1 Templates 4

1.1.1 Template Inheritance 5

1.1.2 Template Types 5

1.2 Backups 6

1.3 Media Elements 6

1.4 Content Trees 7

1.5 CMS from a Content Editor’s (Author’s) Perspective 8

1.5.1 Insert Options 8

1.6 Managing Workflows 9

1.7 Content Sharing 9

1.8 Content Archiving 11

2.0 Use of Sitecore Modules 11

2.1 SharePoint Connector Module 11

2.2 SEO Module 12

2.3 Forum Module 13

2.4 Newsletter Module 14

3.0 QA for Content Authors 14

4.0 Security 15

5.0 Content Approval and Publishing 16

About Oshyn 17

About Author 17

Page 3: Oshyn - Best Practices For Sitecore CMS

Executive Summary Sitecore CMS is an extensive Web Content Management (WCM) platform

for the mid-market. It offers reduced IT expenditures, a streamlined content

lifecycle, and a return of content control to the subject matter experts. The

newest incarnation of Sitecore CMS version 6.0 is a mature product that

incorporates standard social media components such as wikis, blogs, RSS

syndication and “e-mail a friend” features.

Based on standard .NET technologies, Sitecore offers customers a

seemingly clear path to implementation. Though, like any other project

implementation, there is careful planning required. And only by planning

carefully, you’re able to execute to perfection. Every Sitecore

implementation requires you to outline the basic features and then create

templates and components based on these features. Oshyn has deep

experience with implementing many content management systems for

various clients. This experience allows us to understand the overall business

goals and consequently create meaningful, user-centric features that will

help organizations achieve those goals. We understand the key decisions

that must be made prior to implementation and have some valuable tips that

will ensure your business and technical users continued to have a positive

and productive experience with the Sitecore content management system.

This whitepaper demonstrates some of the best practices when

implementing a Sitecore content management system compiled from years

of successful client implementations. These best practices will help

decrease the complexity of maintenance and increase the ease of use, as

your site grows and your business requirements change

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 4: Oshyn - Best Practices For Sitecore CMS

1.0 Sitecore CMS Structure

All content in Sitecore is organized in the Content Tree, and all content

items are derived from a defined template structure. This ensures that the

tree and templates are well organized; provide flexibility for growth and

promoting usability for a successful implementation.

As a general guideline, you should follow the following steps:

� Template inheritance should be carefully used but fully taken advantage

of. You should be able to distinguish between page and non-page

content.

� Media elements must be stored on the file system or in an external

database.

� Avoid storing large amounts of data in Sitecore databases. An external

database should be used for storing large amounts of information.

� Perform periodic backups of data on an external drive.

� Developers should create well-defined Content trees and limit the

number of items in Content trees.

� Field orders and filed names should be appropriately defined. This

makes the CMS more user-friendly.

1.1 Templates

The template structures defined in your Sitecore project can greatly impact

the usability and long-term flexibility of your Sitecore implementation. The

total number of templates can easily get out of control unless time is taken

to design the system correctly. This results in a cluttered system with

unmanageable components. Oshyn suggests keeping the number of

templates as low as possible, between five and ten, and template structures

as simple as possible. Here is a screenshot of the template structure,

created for one of our complex websites. Notice the naming convention and

the total number of templates.

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 5: Oshyn - Best Practices For Sitecore CMS

1.1.1 Template Inheritance

Template Inheritance provides a very easy way to keep the number of

templates in check. Inheritance works the same way as it does for any

object-oriented programming language. You can easily inherit functions,

fields and settings from parent templates. Care should be taken not to

overuse template inheritance as it provides the same detrimental effect as

an increased number of templates would. Oshyn suggests keeping template

inheritance to five or fewer parent templates for any given child. Anything

beyond would create a maintenance nightmare as the templates become

really intertwined. A strong template inheritance model will be outlined in the

following sections.

1.1.2 Template Types

There are two kinds of templates, Page and Non-page templates. A content

item in a Sitecore corresponds to an actual web page. Each of these content

items is built using a Sitecore template that has an associated Sitecore

layout. These are the Page templates.

There are also some content items that don’t have a corresponding web

page. These content items don’t have any layout or presentation layer

objects assigned to them. An example would be a content item that is an

advertisement box that shows up in the right column of any page on the site.

When working with such non-page templates, which are used in many

locations and are edited by many content authors, it is best to put them in

special areas of content hierarchy where they are easy to locate. Notice the

highlight on the page below as an example of a non-page template.

There could be issues if a restriction is imposed on a branch in the Content

hierarchy and this restriction causes the template to disappear from the site.

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 6: Oshyn - Best Practices For Sitecore CMS

1.2 Backups

It is imperative that regular backups are done every week (or every day,

depending upon your organization policies) to make sure no data is lost due

to unfortunate occurrences. Sometimes, there could be more activity on the

website from the authors and if backups are not performed regularly, there is

a possibility of system crash and loss of data. The backup storage box

should be a separate server outside of the actual environments and, if

possible, should be replicated across different boxes. It’s becoming cheaper

to get more storage space, and it only makes sense to use it as much as

possible. Backups must be made for both development and production

environments, due to obvious reasons.

In Sitecore you have an option to choose between full backups and partial

backups with the help of the export/import utilities. A full backup will be a

simple database backup using the utilities provided by the database

management system and includes the elements that are not inside the

database like media files and configuration files. For a partial backup you

can use the export/import utilities to backup the items that you explicitly

want to save.

1.3 Media Elements

Storage of media elements can be done either in the database or in the file

system. As a general rule, it is advisable not to store media items inside the

database due to the penalizations of retrieving the information from the

database over the network.

And when working with images, always take into consideration the built-in

image manipulator for basic transformation of images like thumbnails.

We have noticed various implementations that store large amounts of data

into the Sitecore databases. We strongly recommend using an external data

store if your website deals with large amounts of data. A CMS is not

designed to be a data-store for large databases. It is best to understand that

size of the database may continue to grow very quickly because of the way

Sitecore stores data in an XML format. This format is designed to work very

well for web content management but is not the best format for a structured

customer database. In such a situation it is best to treat the implementation

from an architectural view and design it accordingly.

Large amounts of data go hand in hand with Search functionality. Depending

upon the requirements, a custom search solution built in .NET would

probably be a good choice. But integrating an external search solution like

Lucene would probably make more sense if there is a large amount of

complex data with many relationships, associated with the site.

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 7: Oshyn - Best Practices For Sitecore CMS

An example of a bad design is shown. In the following example,

“Franchisees” content section has over 10000 items and should be stored in

an external database as the list will continue to expand and will seriously

cause performance issues in the future.

1.4 Content Trees

The number of items in Content Trees should be limited. It is very important

to keep the content tree clean and balanced. Some branches of the tree can

get really complex and overloaded with content over time. This, in turn,

would reduce performance of the site and also make it difficult for content

editors to locate specific pieces of content in the tree.

Content trees should be designed considering a variety of factors:

� Are there multiple sites that will be supported by the Sitecore

installation?

� How much content will be there in any branch of the tree and what rate

of growth is anticipated?

� What kind of permissions will be enforced for the CMS users and the

visitors?

� Are there any publication dependencies?

� What is the navigation style and IA of the site?

� A maximum number of items in any branch should not exceed more

than 75 items. If this case arises, it might make more sense to break it

into different branches.

� Heavily shared content should have its own separate set of folders

� A separate branch of the content tree should be created for all

configuration settings and non-content items.

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 8: Oshyn - Best Practices For Sitecore CMS

1.5 CMS from a Content Editor’s (Author’s) Perspective

Content editors are the ones using the CMS, and developers must make

sure that the CMS is set up in the best possible way to allow the editors to

be able to work their way around the CMS effectively. Field order and field

names must be appropriately defined, so content authors are able to use

them effectively. We will explore other possibilities that will ensure proper

use of the CMS, both from a user and an editor’s perspective.

1.5.1 Insert Options

Insert options allows content editors to create items using templates. In

earlier versions of Sitecore, Masters were used and only administrators

were able to create items this way.

Templates must be named in the most meaningful and intuitive ways as

content editors can now use templates. Only those templates must be

available to content authors that are absolutely necessary for them to use.

Template fields order

The ordering of fields in the template directly controls the order in which

they are seen by content editors. For smooth results in your deployment,

group like fields into sections, and ensure that the ordering of sections and

field makes sense to content editors. While this may seem obvious, it is

surprising how often this simple task is overlooked.

Template access

As an example, templates can be broken down into different sections: Main,

Metadata, Navigation and Administration. Content is stored in the “Main”

section and other sections contain specific information pertaining to those

sections of the site. Each of these sections can have access rights defined

for different groups. Thus, if certain groups do not require access to certain

sections, you can

remove read access

to these sections, so

content editors do not

see those sections.

For example, the

Administration group

has full access to the

Administration

section, and the

marketing group

controls only the

Metadata section of

the site.

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 9: Oshyn - Best Practices For Sitecore CMS

Set Validation rules and errors

Most organizations have strict branding policies and require that their

content is consistent. A CMS can be used very effectively to enforce this

consistency in content. Rules can be enforced by using certain features of

the CMS such as field validation for filling out mandatory content (e.g., email

address). Field validation will ensure that it is formatted correctly and valid.

Common sense must be used for those exceptions where such rules are not

applicable. A best example would be entering different format for phone

numbers and/or zip codes for different countries. In case of any error,

appropriate and well-defined error messages must be used to help resolve

the issue.

1.6 Managing Workflows

Workflows in Sitecore are tougher to implement as they’re assigned to

templates. This implies that workflows are assigned to types of content,

which is counterintuitive. Each translation of a content item is treated as a

separate item in the workflow. Whether it’s a single workflow or a

department-wide workflow setup, careful consideration should be given

when setting this up. Developers have the ability to create a customized

workflow by setting up a new Workflow manager, though it requires some

development effort and maintenance while performing system upgrades.

The other option is to use template inheritance features to create several

instances of the same templates. Thus, you can create a generic template

that serves as a parent template for other templates used in individual

sections of the site, such as Contact Us, Press Releases, Our Work and

Support. This would require creating additional templates, but this set up is

still less effort than implementing a custom workflow.

Email notifications should be setup as a part of workflow process to make

sure it is working as configured. Workflow email notifications are included as

standard functionality in Sitecore 6.0, whereas in older versions this would

require an installation of a free add-on module.

1.7 Content Sharing

Content sharing is a very important part of any CMS as editors don’t want to

manage duplicate content in different parts of the site. Moreover, it assists in

maintenance and also removal of erroneous references due to user error.

Content sharing in Sitecore can be accomplished using a number of

approaches, and Oshyn proposes a few techniques that can be used

successfully to share content in varying circumstances.

The first method is to use Sitecore Proxy. The proxy is a type of a content

item that acts as a reference to another item. That referenced item would

live in some other area of the content hierarchy. For example, you can share

content about Product updates from an intranet site and have a reference to

this content item from the Press Releases page on your public facing site.

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 10: Oshyn - Best Practices For Sitecore CMS

Thus, any time there is a product update there is an automatic update for

the Press Release section of the site. This functionality is included out of the

box, but some consideration should be given when designing the

presentation logic for shared content.

In Sitecore, when proxy items are enabled, a proxy item instructs Sitecore to

generate a virtual item, which acts as though it is the source item, but is

displayed in a different location. Virtual items are displayed in the Content

Editor- content tree with grey text, as shown in the image to the right.

Overuse of proxies can have a negative impact on memory usage. Proxy-

based sharing is quite complex and requires a developer or an administrator

to perform the setup. It also requires full access to the Content Editor

Interface and cannot be done from the Web Edit interface.

The other method is Presentation-based sharing by using a Meta tag

strategy and embedding custom logic into the presentation logic of various

other sites. The presentation logic makes use of the “tags” to query and

retrieve related content. This method also reduces the maintenance of

sharing content and gives editors the ability to use this feature in the most

effective way. Some custom coding is required in the presentation layer to

make this process work, though handling of the URLs can become complex.

This method is easier for the editors as they can share content by simply

selecting options from the list. Thus, no work from the Administrators is

required.

Here is some sample code that uses Presentation-based Meta tag strategy:

<title><%= Sitecore.Context.Item["Page Title"] %></title>

<meta id=”MetaDescription” name=”<%= Sitecore.Context.Item["MetaDescription"]

%>” />

<meta id=”MetaKeywords” name=”KEYWORDS” content=”<%=

Sitecore.Context.Item["MetaKeywords"] %>” />

<meta name=”title” content=”<%= Sitecore.Context.Item["metatitle"] %>” />

<meta name=”page-topic” content=”<%= Sitecore.Context.Item["page-topic"] %>” />

<meta name=”index” content=”<%= Sitecore.Context.Item["index"] %>” />

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 11: Oshyn - Best Practices For Sitecore CMS

1.8 Content Archiving

Sitecore has separate tables for Archiving content. These tables are

integrated into the three remaining databases: core, master, and web. The

older versions of sitecore had a separate Archive database that stored

archived content. Content items can be archived manually by content

authors or automatically based on a future date. Email notifications can be

setup as the archival date approaches to prompt users to take action.

Items can be restored very easily from the Archive by using the new Archive

application in Sitecore 6.0. The Archive application allows a user to select

an archived item from a list and restore that item. Only individual items can

be archived using this application. In previous versions of Sitecore, this

automated feature was not present and restoration of content required

access to the Archive database, and it was somewhat complex.

Archiving should be handled very responsibly. As content grows on the site,

site performance gets seriously impacted especially if more than 7-8

versions of the same content exist on the site. Administrators can schedule

the archival of outdated versions using a custom web service, thus

automating the maintenance of the site.

2.0 Use of Sitecore Modules

There are a large number of Sitecore add-on modules available to use,

which extend the core functionality of Sitecore. Some of them are free, and

some have licensing associated with them. Always identify the modules you

need and their functionality and interactions with other modules before

implementation. Oshyn recommends using some modules that are

necessary for a successful implementation of a Sitecore CMS: Staging,

Proxy Wizard, RSS, External Link Checker, and Extranet. Some of these

modules may not function well with an Oracle implementation. It’s always

best to identify the modules that would work with your specific configurations

before implementing them in your CMS environment.

Most websites nowadays come with Web 2.0 features, and Sitecore comes

with other supported modules that layer on top of standard Sitecore CMS

technology. It is best to use these rather than integrating external modules,

as it reduces time to market. But each site will have different requirements,

and, thus, would depend upon individual implementation strategy. Below is a

list of some of Sitecore’s popular modules. You should always check with

Sitecore for new modules or updated modules.

2.1 SharePoint Connector Module

If you own or are considering implementing Microsoft’s SharePoint/MOSS

2007 for document management, you can now team up with Sitecore CMS

and publish these SharePoint document and assets to public-facing

websites and extranets with ease. The Sitecore SharePoint Connector

Module makes it easy, with transparent bi-directional content access and

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 12: Oshyn - Best Practices For Sitecore CMS

extranet web security of all SharePoint/MOSS 2007 assets.

This is the ideal solution for client requirements that include both a strong

web content management and a document management and collaboration

platform. This allows sharing features across platforms and the ability to

maintain and publish content from one place.

Since Sitecore is built upon the latest Microsoft technologies (e.g., .Net 2.0

and 3.0, SQL Server 2005, the Windows Vista Ribbon User Interface, and

more) users and technical staff alike can easily move between the different

parts of the solution. For more information about this module go to

http://sdn5.sitecore.net/Products/SharePoint%20Connector.aspx

2.2 SEO Module

Sitecore’s Search Engine Optimization (SEO) module allows you to view and

deliver “content optimized” versions of your website to the search engine

devices. By being integrated with the CMS, it is quick and easy to examine

content as it is created or reviewed prior to publishing. With the power of

Sitecore’s template inheritance, keywords and content are quickly adjusted

over time to keep pace with ever changing search pattern algorithms.

The SEO module lets you see how the search engines will see you, who are

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 13: Oshyn - Best Practices For Sitecore CMS

linking to you, and helps you optimize for keyword pairs, their density and

placement. You can also use it to analyze competitors’ pages and see how

you compare. For more information about this module goto

http://sdn5.sitecore.net/Resources/Sitecore%206/SEO%20Module.aspx

2.3 Forum Module

Sitecore’s Forum Module quickly installs to provide message-board

functionality and the ability to create a dialogue between your company,

customers, partners, and suppliers. Discussion forums can help you build

loyalty, improve service, and uncover new information from your customers.

The speed of the sales cycle can be increased by giving customers access

to answers in minutes that may normally take days, and reduces costs in the

process. A discussion forum allows your customers to share their knowledge

with others, thus reducing the man-hours for your support team. Instead of

relying only on your product managers to gather product feedback, you can

gain many insights from customer discussions on forums. This feedback and

harvested information helps inform and influence your business decisions

and fine tune your website.

The forum module includes User Personalization, Administrative Ease, and

full integration within Sitecore CMS for Security, Style Sheets and other

technical consistency and aesthetic consistency.

For more information about this module go to:

http://sdn5.sitecore.net/SDN5/Resources/Sitecore%206/Forum%20Module.a

spx

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 14: Oshyn - Best Practices For Sitecore CMS

2.4 Newsletter Module

Sitecore’s Newsletter Module keeps your visitors coming back for more,

building loyalty, thought leadership, and an ongoing service value with your

prospects and customers.

Each newsletter is essentially a web page, so the content for each naturally

comes out of the Sitecore environment, where multiple editors can

contribute, according to their assigned rights. Linking content on the website

to the newsletter is simple, images can be used in the same way as other

media on the website, and subscription sign-up can be managed directly

from the website.

The newsletter is structured using the Sitecore layout editor, so elements

used in the website, such as top-bar, banners, and logos can be easily re-

used, as well as driven from the same style sheet. This provides a

consistent look and feel between the website and the newsletter.

Detailed Results tracking is available to evaluate newsletter success,

including open rates, click-through rates, subscriber growth and change, etc.

For more information about this module goto

http://www.sitecore.net/en/Products/Focused-Solution-Modules/Sitecore-

Modules.aspx

3.0 QA for Content Authors

The Quality Assurance experience for Content Authors is a very important

part of any CMS implementation. Eventually, it is these Content Authors who

will be entering and maintaining content for your site. Most of the time, this

is overlooked and can result in a maintenance nightmare for both the

technical team and the authors.

Sometimes there could be issues with the CMS such as missing Green Dots

in Web Edit (v5.3), missing Insert Options (v6.0) or incorrect role

assignments. Most issues are related to browser compatibility and creation

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 15: Oshyn - Best Practices For Sitecore CMS

of site’s navigation aids. Some high level issues are listed below. Make sure

to check them for each site that you deploy with Sitecore.

Templates might be missing some required elements. This should always be

verified with your style guide and design comps.

Don’t forget to configure the Rich Text editor settings. Settings should be

configured as per your style guide and brand identity and should be

consistent across different sections of the site.

Some Insert Options may be missing functionality and may not create the

content as required. Make sure you test this completely by creating relevant

content for the site.

4.0 Security

It is sometimes easy to overlook the security aspects of a CMS, and your

data may be exposed to the whole world. Anyone with limited technical

knowledge can access your content, change user accounts, and create

havoc with little effort. You should be pro-active about setting up required

precautions to protect your data. It is important to follow the checklist below:

� Consult with your IT to perform security checks and set up strict policies

for access to the web and CMS server.

� Remove the Sitecore client from any staging environment. This could be

a potential access point for your production servers.

� Protect key directories using IIS security by removing anonymous

access.

� Separate the database server from the CMS server, and secure each

server independently.

� Scan all media files for viruses, especially those that get uploaded from

the Content authors’ computers to the media library.

� Only open the ports that are absolutely required for the CMS and the

published website.

� Lastly, always change all default passwords that come out of Sitecore.

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 16: Oshyn - Best Practices For Sitecore CMS

5.0 Content Approval and Publishing

Each organization has different policies for managing Workflows. Some may

require an instant content approval/publish scenario, and others may have

to go through days and weeks and different channels of content approvals

before going live. You can either setup individual notifications for each item

in the workflow or a daily/weekly email digest that contains all the approval

requests in one email. Depending upon your organization policies, you may

choose to go with one or the other.

Publishing takes up a lot of server resources and can really slow down

system performance. It is advisable for users to be out of the CMS when

publishing is in process. It is best to set appropriate times for publishing

content. You can have an automatic publishing option set to go weekly,

maybe on Friday nights, when everyone is off the system. Some items will

need to be published daily or sometimes immediately, and care should be

taken to publish only a small set of items.

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*

Page 17: Oshyn - Best Practices For Sitecore CMS

About Oshyn

Oshyn, Inc. is an Enterprise Technology Agency that has earned a

reputation for delivering innovative business solutions for the web, mobile

devices and enterprise technology platforms. Headquartered in Los Angeles,

and with offices in Baltimore and Quito, Ecuador, Oshyn’s growing client list

includes Best Buy/Geek Squad, Coca-Cola, Electronic Arts, Epson, JDS

Uniphase, Lexus, Miramax, National Education Association, Scripps and

Volkswagen. Oshyn, Inc. is partnered with the some of the most respected

agencies and technology providers such Crispin Porter+Bogusky, Microsoft,

Ogilvy & Mather, OpenText, Oracle, and Saatchi & Saatchi. For more

information please visit us at www.oshyn.com.

About Author

During his 6 years in enterprise technology, Gaurav has worked for clients in

the Enterprise Content Management (ECM), Entertainment, Digital Media,

Retail, Shipping and Customs Brokerage, and Higher Education industries.

His expertise ranges from mainframe migrations to cutting edge web

technologies with particular expertise in ECM and EIP (Enterprise

Information Portals). He has managed large, multi-disciplinary teams of

technology and business professionals to deliver complex, large-scale

solutions for today’s demanding clients.

Please complete the form below to continue reading. Upon submitting your information acommunication dialog box will appear, please select allow.

1. First name*

2. Last name*

3. Job title*

4. Organization*

5. Industry*

6. Phone*

7. Email*

8. City*