Presentation on theme: "Sitefinity OpenAccess and its Integration in Sitefinity Alon Rotem Telerik."— Presentation transcript:
Sitefinity OpenAccess and its Integration in Sitefinity Alon Rotem Telerik
Introductions Senior Telerik Sitefinity SDK & Documentation Team Telerik Academy A proud member of the Telerockers rock band Contact Google+: Sitefinity’s blogs: Personal blog: Ivailo Ivanov Telerik ORM Team Lead Telerik’s OpenAccess blogs:
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
Bookmark: OpenAccess Samples-Kit 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
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: overview.html
AgregateMetaDataSource Bookmark: 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: 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: 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 Munich Boston Winnipeg Austin Houston San Diego Sydney NORTH AMERICA BULGARIA UNITED KINGDOM GERMANY AUSTRALIA Delhi