Вы находитесь на странице: 1из 4

Topics:

Nomenclature
Backend overview
Content Overview
Layout Overview
Create a new page, new Template
Thunder Overview
Making a User Control and registering it using Thunder
Using User Control in Page
Standard and Fluent API overview
Registering UC from Backend
Creating a new designer for a UC
Using MVC to access a lists created in backend
CReating a module and adding items using Module Builder

(Videos)

ASP.NET based CMS - Telerik Sitefinity

-->Nomenclature and Acronyms

->Templates: Layout and Themes


->Modules: Events/Blogs etc which is on its own
->Widgets : It will make module work
->ORM(Open Access): middleman between web app and db
->Fluent API

--> Provider Model: UI -> Manager -> different providers

-->Web Services: WCF RESTful API's

----------------------------------------------------

How Sitefinity Works

---------------------------------------------

Sitefinity Thunder:
Install Sitefinity Thunder.
Install Sitefinity Thunder module in each project. (Telerik -> Install Sitefinity
Thunder Module)

Thunder Templates: Proj -> Add New Item -> Sitefinity tab -> sitefinity website
template

Thunder Widget Install:


Create new User Ctrl
In sol explorer, find thunder icon to register a new widget
New widget can either be registered in an already defined sections for
content or you can create a new section.
Browse and widget is ready to use.

-----------------------------------------------

Sitefinity API:
Install Widget(user control)
Standard API's: Managers (PageManager, NewsManager)
var manager = NewsManager.GetManager()
manager.Create...

By default, only authorized users would be able to create page/news etc.


To supress this, use manager.Provider.SuppressSecurityChecks = true;

PageLifeCycle: Life, Master and Temp page


A Page can have multiple lifecycles.

Fluent API's: App class


Single line of code

-------------------------------------------------------

Sitefinity Configuration Section


Add a new Sitefinity Connfig Section to add new config properties.

The config property needs to be called using App_Start in Global.asax.


But one needs to wait for Sitefinity to complete its initialization.

toDO: Error: Bootstrapper Initialization and config section access

--------------------------------------------------

Sitefinity Widgets

Instead of registering using the blue icon, we can also register from admin ->
settings -> advanced settings.
select neccessary content and set the properties

Hiding Widget Properties: suppose to hide enableviewstste property, override


EnableViewState without any change and decorate it with Browsable(false) attribute.

Associating Designers:Add new item -> Designer for existing widget.

Widgets in Assemblies: How to create a user control and use it in another project.
Create a project of type Web User Control.

MVC Widget: Create a List using Sitefinity UI.


Get the list of Lists using MVC and create a new template displaying the lists.

----------------------------------------------------------

Sitefinity Modules:

Using Module Builder:


Adminitration tab -> Module Builder
Create a new Module as per need.

Use Backend of the Module to add new items to the module.

Use Edit button to customise the widget template of the module.


Creating custom widget for custom module:
Because we dont have a Contactsmanager like PageManager or ListManager.
Use DynamicModuleManager

Use Code reference for new Module for ease.

(Nuts and Bolts)

Configuration: Sitefinity specific in XML files, ASP.NET related in web.config


-----------------------------------------------------------------------------------
---------
DEVELOPERS
API's:

Sitefinity API:
1) Creating Pages:
PageData: Title and Properties
PageNode: Actual instance of page

2) Content Items: Getmanager -> ContentManager knows how to perform basic CRUD ops.
Manager obj has a Get() method that returns IQueryable<T>
Localization: you can programmatically translate pages and content. The key
is to change the UICulture property of the page before modifying PageData
properties

3) Forms: GetForms() - Returns IQueryable of FormDescription objects


FormsManager.GetFormEntries() - To retrive form values
FormEntry.GetValue() - Retrieve a single column value

4) Taxonomy:TaxonomyManager.GetStatistics() returns the MarkedItemsCount with the


number of items marked with a given taxon.
To get Items by Category or Tag, each content database provider like
newsmanager.provider. Provider has a GetItemsByTaxon() method that returns an
IEnumerable of whatever type you are working with.

5) Sitefinity Web Services: If you need your web site to "Talk to the outside
world", then Sitefinity web services are the tool you're looking for.
Anatomy of a Web Service:
1) make a web request, passing the URL of the service method.
2) Set the request method
3) Add the claims token to the request header
4) Optionally set the request content type.
5) Add any POST or PUT data as a stream of bytes to request
6) Get the response
7) Reda the reponse stream and consume the results.

Claims Authentication:
Logging In: Logging in using claims authentication is a two stage process: finding
out where the security token service is and then actually authenticating through
the service

6) Widgets:
A user control is easier to build using Visual Studio support but does not
allow Sitefinity design time support and is not designed to be deployed across
multiple web sites. A custom control is slightly more difficult to build, but does
allow design time support and can be deployed as a single .DLL across multiple web
sites.
User Control: Web User Control in the SF project
Custom Control: Create a Class Library and add a layout template (ascx file).
Rename class1.cs to MyCustomControl and inherit it from SimpleView.
Designer: UI for custom properties. JS file for interaction
between designer and custom control.

7) Sitefinity Thunder:

8) MVC in Sitefinity: Classic: the MVC application does not interact with
Sitefinity, so you are not able to manage content on pages or controllers using the
Sitefinity Administration

Pure: there will be no ViewState, Post backs, or server-side


controls to maintain, allowing you to develop fully in the MVC platform.
it allows a Sitefinity page to host multiple MVC widgets. A
Sitefinity page is able to route the page request to each widget on the page,
allowing each to render its markup individually to makeup the page contents.

Hybrid Mode: most flexible, and is the default mode for


Sitefinity Page Templates.
if you wish to create an input form inside an MVC
widget using Hybrid mode, you must use a special Html helper
@Html.BeginFormSitefinity instead of the traditional MVC @Html.BeginForm to ensure
that your form posts correctly.

Dynamic Data: Sitefinity allows you to create custom fields without


having to register them in code-behind or referencing libraries.
Backend: Add custom fields.
Reading n Writing custom fields: DataExtensions class from the
Telerik.Sitefinity.Model namespace.
GetValue(<fieldname>), SetValue(<fieldname>),
DoesFieldExist(<value>)

9) Mobile Development:Subdomains: it does require that you maintain two separate


areas of content
it does require that you maintain two separate areas of content

Responsive Design: Responsive web design is an approach that


allows a website to adapt itself automatically to different devices of various
screen sizes and features.

Mobile App Builder: The Sitefinity Mobile App Builder allows you
to present your custom module content (created with the Module Builder) to your
users in a native application by generating a hybrid application that is
publishable in the app stores and installable directly on user devices.

--------------------------------------------------------------------------

ADMINISTRATORS

1) Configuration: Image Libraries, Localizing Back End Pages (Settings ->


Languages), ECommerce, Email Campaigns, Personalization, Modules Management

2)Security: Permissions, Built-In Roles

3) Workflow: A workflow is an approval process for publishing documents.

Вам также может понравиться