Docs / Development / Application


Applications are the basic building blocks of the Smart Application Model that define the way specific Content are presented and processed when addressed. Smart Pages are the most common applications but there are also special Application types that do not appear in the form of pages and return with custom response. Applications can be invoked via Actions.

Presenting Content with Applications

The features described in this section (displaying content with Pages) are available only if you have the sensenet WebPages component installed, but the underlying philosophy of arranging applications, security and url generation applies even if you only have the core Services layer.

The simplest way to present a Content is done by placing portlets on individual pages that utilize Content presentational functionality (eg. Content viewer Portlet. However, Content can also be presented by addressing the Content itself and chosing an Application to present it. The selected Application is usually a simple page that uses Context bound Portlets to handle the addressed Content. These Applications are also referred to as Smart Pages and a single Smart Page in itself is capable of presenting many different Content of the same type. To create a Smart Page create a new Portlet Page under an (apps)/[Content Type name] folder in the Content Repository and use Context bound Portlets for Content handling.

Application model

Path of the created Application bears special importance as it defines the range of Content it is applicable to. The path of an Application can be given in the form:



Application inheritance

Applications can be overridden in a subtree by placing an Application of the same name under an (apps) folder that is placed at a deeper level in the Content Repository and also by using the This keyword as contenttypename. See examples and refer to Smart Application Model for a details.

Applications and Actions

To connect Content and Application - besides properly setting up the Application Model in the Content Repository - so called Actions can be used. An Action in this case is a link that addresses the Content and specifies the name of the Application, for example:

The Application is resolved then using Smart Application Model mechanisms.

Application types

Altough an Application for a Content Type is usually defined as a Smart Page to present the Content, there are several other Application types defined in the system. An RssApplication for example will return the Rss feed corresponding to the addressed Content in the response. The base Content Type for Application types can be found under /Root/System/Schema/ContentTypes/GenericContent/Application. Here is a few examples of pre-defined Application types:

OData applications

There is a special type of application that is a placeholder for defining an OData REST API endpoint. This is the GenericODataApplication that points to a method that will be executed when the api endpoint is called. These methods are very similar to ASP.NET web api methods, and this is how you customize and extend the REST api of sensenet.

Application configuration

Since an Application itself is a Content in the Content Repository, it has got Fields that describe its behavior. These Fields include the following (only listing the most important Fields):

Is something missing? See something that needs fixing? Propose a change here.