Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product...

22
Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer

Transcript of Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product...

Page 1: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Sitefinity CMSTechnical Overview & Developer’s PerspectiveGeorgi ChokovSitefinity Product Manager

Peter MarinovCustomer Success Engineer

Page 2: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

About the Presentation

Part I: Short intro - Sitefinity as a web platform for Developers

Part II: How the latest features boost developer productivity

Part III: What is in the works

Part IV: Q&A

Page 3: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

High-level Overview - Sitefinity as a WCM platform and web application framework

Sitefinity Focuses on Developers

Content Agility

Freedom of Data Source

Precise Control Over Presentation

Technology Friendly

Page 4: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Built on the .NET stack

File system

DATA LAYER

UI LAYER

ASP.NET WebFormsASP.NET MVCHTML5KendoUIWPF (DAM application)

MODULES

Pages

News

Blogs

Dynamic modules

SERVICES

Search

Statistics

Notifications

…*modules cannot know about each other

SITEFINITY CORE

Plugin framework Configuration Localization User management Security

Platform Backend

Page 5: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Some general principles - loose coupling as a rule

Sitefinity is a highly flexible system that is built from various units and can adjust to business requirements

• Modules – Units of functionality; can explose services. Example: Blogs. Can be used for Content or Business Logic

• Services – units of functionality used by other consumers (modules or services). Example: Search.

• Services are replaceable and modifiable.

Page 6: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Provider model for data access• Sitefinity does not care whether data is

stored in SQL Server, Oracle, MongoDB or text files

• Sitefinity and its components access data through providers

• Sitefinity can work with multiple data sources at the same time (e.g. users can live in Active Directory, while their profile can live in SQL Server)

Benefits: System can integrate well within existing systems and pursue different strategies depending on business requirements

PROVIDERS

Blogs Users Events News

Single Sitefinity Instance

Page 7: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Everything is an API

Requirements are always different. Everything in Sitefinity is an API:

Sitefinity Core Sitefinity Providers Data

Web Services Classic .NET API Fluent .NET API Extensible Workflow (WWF)

Available APIs:

• API and REST Services for Content

• API for Taxonomies

• API for Workflows

• API for UI (widgets)

• System API – Synchronization,

Tasks scheduling, Integration,

publication system…

• .. more

Page 8: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Part II How the latest features boost developer productivity

Page 9: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Module Builder – because requirements are always unique

Automatically generate:

• Backend UI screens and menus for

end users

• Front-end widgets

• Workflow rules

• API and Services for the new

dynamic type

• Permissions (coming in Sitefinity

7.3)

Page 10: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Module Builder – because requirements are always unique

Dynamic Modules with Multiple Child Types

• Module Builder now supports content hierarchies where one parent types can contain multiple child types

• Unlimited levels of child types hierarchy

Page 11: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

DemoModule Builder demo. Generate entities, backend screen, generated code and widget templates

Page 12: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Related Data

Powerful concept of linking content types and other entities in the CMS

• 1:1 Relations• 1:N Relations• many to many

Page 13: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Related Data

Control over the markup

<div>  <ul>      <asp:Repeater runat="server" DataSource='<%# Container.DataItem.GetRelatedItems("SponsorLogos") %>'>    <ItemTemplate>        <li><a href='<%# Eval("MediaUrl") %>'>        <img height="95" src="<%# Eval("ThumbnailUrl")%>" alt="<%# Eval("AlternativeText")%>" id="<%# Eval("Id") %>" title="<%# Eval("Title") %>" >            </a></li>    </ItemTemplate>     </asp:Repeater>  </ul></div>

Page 14: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Related Data

Defining content relations via the API

var journalist = this.CreateJournalist();

var newsItem = this.CreateNews(newsManager);

newsItem.CreateRelation(journalist, "Journalists");

newsManager.SaveChanges();

Get all relations to an item, single line of code

var relatedJournalists = newsItem.GetRelatedItems<DynamicContent>("Journalists");

Page 15: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

DemoShowing how UI is generated automatically when there’re content relations, as well as how easy it is to create and manage relations

Page 16: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Integration

Out of the box• Connector for SharePoint 2010/2013

• Connector for SharePoint Online • Works with on premise installations too.

Integration with Office 365 Enterprise through SharePoint

• Connector for SalesForce

• Connector for Marketo

• Connector for MS Dynamics (through partners)

• Connector for Telerik Backend services

Through API• The data provider model

• REST & Service Stack Services

• Through the Sitefinity Fluent and Native API

In 2015 ..• More integrations coming out of the box

Page 17: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Part III What is in the works

Page 18: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Project Feather

• All web forms widgets to have MVC

counterparts

• Front-end of your choice – Bootstrap,

Foundation, SemanticUI out of the box

• Mobile First – all widgets are responsive by

design

• All widget designers are AngularJS SPA

• The framework is based on conventions –

Widgets, Designers, Templates and views –

all wired up easily

• Package more than just themes – CSS,

Images, widget templates and

masterpages all in one package

• Open Source!

Page 19: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Project Feather

State of the project:

• Packaging and conventions engines are done, released on GitHub• Content block, navigation, dynamic widgets – done, released on

GitHub• Sitefinity 7.3 in December includes Project Feather core. Now you can

develop your own MVC style widgets and use any front-end framework straight out of the box.

• Designers love the new framework. 

Page 20: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

Integration with 3rd party search engines - Sitefinity 7.3

• Integration with Windows Azure Search Services• Open Source sample on integration with Elastic Search • Search is now decoupled• Integration with 3rd party search engine is easy and quick

Page 21: Sitefinity CMS Technical Overview & Developer’s Perspective Georgi Chokov Sitefinity Product Manager Peter Marinov Customer Success Engineer.

In conclusion