Upload
roger-richard
View
223
Download
0
Tags:
Embed Size (px)
Citation preview
Sitefinity CMSTechnical Overview & Developer’s PerspectiveGeorgi ChokovSitefinity Product Manager
Peter MarinovCustomer 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
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
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
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.
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
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
Part II How the latest features boost developer productivity
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)
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
DemoModule Builder demo. Generate entities, backend screen, generated code and widget templates
Related Data
Powerful concept of linking content types and other entities in the CMS
• 1:1 Relations• 1:N Relations• many to many
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>
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");
DemoShowing how UI is generated automatically when there’re content relations, as well as how easy it is to create and manage relations
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
Part III What is in the works
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!
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.
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
In conclusion