The Basics - Sitefinity

Download Report

Transcript The Basics - Sitefinity

Telerik
Sitefinity
OpenAccess and its Integration in Sitefinity
Alon Rotem
Introductions
Alon Rotem
Senior Developer @ Telerik
Sitefinity SDK & Documentation Team
Telerik Academy
A proud member of the Telerockers rock band
Contact
Email: [email protected]
Google+: http://gplus.to/alrotem
Sitefinity’s blogs: http://www.sitefinity.com/blogs
Personal blog: http://www.alonintheworld.com
Ivailo Ivanov
Telerik ORM Team Lead
Telerik’s OpenAccess blogs: http://blogs.telerik.com/openaccessteam/
Webinar Overview
The basics: OpenAccess ORM
Quick intro
NuGet packages
OpenAccess Samples Kit
Integration with Sitefinity
Fluent-mapping of persistent classes (i.e. code-first)
Next level: Artificial Types
OA 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
Demo
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
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
Demo
Artificial Types Sample
Really Really Advanced Topics
AgregateMetaDataSource
Multi-Table Entities
Fetch-Plans
AgregateMetaDataSource
Bookmark:
http://www.telerik.com/help/openaccess-orm/fluent-mapping-mergingmodels-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-clradvanced-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-gettingstarted-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
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
Winnipeg
Houston
San Diego
London
Boston
Austin
Munich
Sofia
Delhi
Sydney