Upload
felicia-bishop
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
SitefinityOpenAccess and its Integration in
Sitefinity
Alon Rotem
Telerik
Introductions
Alon Rotem
Senior Developer @ TelerikSitefinity SDK & Documentation Team
Telerik Academy
A proud member of the Telerockers rock
band
ContactEmail: [email protected]
Google+: http://gplus.to/alrotem
Sitefinity’s blogs:
http://www.sitefinity.com/blogs
Personal blog:
http://www.alonintheworld.comIvailo IvanovTelerik ORM Team Lead
Telerik’s OpenAccess blogs:
http://blogs.telerik.com/openaccessteam/
Webinar Overview
The basics: OpenAccess ORMQuick intro
NuGet packages
OpenAccess Samples Kit
Integration with Sitefinity
Fluent-mapping of persistent classes (i.e. code-first)
Next level: Artificial TypesOA Samples Kit Artificial API Demo
Methods.cs methods wrapper
Updating the DB schema
Really Really Advanced Topics / Sitefinity
specific:AgregateMetaDataSource
Multi-Table Entities
Fetch-Plans
The Heavy Webinar Disclaimer
(..and The Game of Thrones is coming!..)
The Basics:OpenAccess ORM & Static Mapping
OpenAccess ORM in a Nutshell-Scripting
Object-Relational Mapper.
Objects Database.
A tool that supports development of data-
oriented software applications.
Supports a fluent API for mapping existing
classes.
Supports construction of a relational model to
map to classes ("model first").
Integrated into Sitefinity and has features
which were explicitly developed for this
integration.Telerik’s OpenAccess team is now an integral part of the Sitefinity
team.
OpenAccess is used by many small-medium projects.
In Sitefinity used to the extreme with heavy scenarios.
Bookmark: Fluent Mapping Documentation
http://www.telerik.com/help/openaccess-orm/fluent-mapping-
overview.html
Bookmark: OpenAccess Samples-Kit
http://www.telerik.com/products/orm/features/
samples-kit.aspx
Showing-Off x2:Object’s fluent mapping demos of (2 for the price
of 1):
In Sitefinity (Products sample)Kickstart from scratch with the NuGet sample package
Demo
Level Complete!
Next Level:Artificial Types
Artificial Types
Dynamically create persisted types.
Create/extend your data layer in runtime:
Add new types.
Add new fields to existing types
Refresh the data model on the fly.
Bookmark:http://www.telerik.com/help/openaccess-orm/fluent-mapping-artificial-types-
overview.html
Artificial Types Sample
Demo
Really Really Advanced
TopicsAgregateMetaDataSource
Multi-Table Entities
Fetch-Plans
AgregateMetaDataSource
Bookmark:http://www.telerik.com/help/openaccess-orm/fluent-mapping-
merging-models-aggregate-metadata-source.html
Combines two or more metadata definitions to
work with one context.
Sitefinity-wise: When extending the static model
with dynamic modules, this feature allows
replacing the metadata at runtime and
continuing to work with the extended context.
Multi-Table Entities
Bookmark:http://www.telerik.com/help/openaccess-orm/fluent-mapping-
mapping-clr-advanced-multi-table-entities.html
Spans persisted objects on multiple database
tables. The objects are implicitly broken-down.
Sitefinity-wise: Feature developed for Sitefinty’s
multilingul support.
Fetch Strategies
Bookmark:http://www.telerik.com/help/openaccess-orm/getting-started-
root-getting-started-with-fetchplans.html
Fetch strategies (i.e. fetch plans, i.e. eager
loading) allow loading persisted objects related
to other fetched objects.
Sitefinity-wise: Used for retrieving only specific
properties of persisted objects.
The Sitefinity Connection
Sitefinity defines mappings and metadata
dynamically at runtime and replaces its
existing context as needed.
Sitefinity’s multilingual modules utilize multi-
table entities in order to store strings in
different cultures in dedicated tables.
In multilingual multi-site mode, where different
sites are associated exclusively with specific
content-cultures, specific fetch-strategies
are used for retrieving only strings in the
specific desired cultures (stored in multiple
tables per persisted content item) on any given
query.
Sitefinity around the world
Sofia
London MunichBoston
Winnipeg
Austin
Houston
San Diego
Sydney
NORTH AMERICA+1-888-365-2779
BULGARIA+359-2-8099850
UNITED KINGDOM+44-20-7291-0580
GERMANY+49-89-2441642-70
AUSTRALIA+61-2-8090-1465
Delhi