Home > SharePoint > Introduction to the SharePoint Producer

Introduction to the SharePoint Producer

The Microsoft SharePoint Producer is a user interface producer as its main purpose is to generate generic entity SharePoint Web Parts that can be used configured and deployed in SharePoint Web Part pages. All Web Parts are designed to be related to any entity from the Business Object Model (BOM).

The producer generates four kinds of Web Parts:


The EntityDataSourcePart, unlike the three other Web Parts, doesn’t have a user interface. It’s an invisible Web Part (similar to the ObjectDataSource control in ASP.NET) designed to act as a data source for both EntityFormPart or EntityGridPart. If the EntityDataSourcePart is used as a data source to the EntityFormPart, the entity selected in the EntityDataSourcePart will be shown in the EntityFormPart. The same logic is true when used as an EntityGridPart data source. Furthermore, it can call parameterized methods. In such cases, parameters must be configured so they can be passed to the underlaying method. The EntityDataSourcePart can also use the query string in order to retrieve parameters and forward them to the underlaying method.



The EntityMethodPart provides an interface so end-users can supply parameter values of a given method. It’s interface is a form composed of input fields. Typed-in values will be parsed and made available to connected Web Parts.

The EntityMethodPart is a “supplier-only" Web Part and is designed to supply values to a connected EntityGridPart; it doesn’t display data itself.



The EntityGridPart is a Web Part intended to display within a grid control, records of business entity instances. The EntityGridPart can “consume” parameters provided by an EntityMethodPart in order to load the collection to be displayed. It can also supply a selected entity instance to a connected EntityFormPart.



The EntityFormPart is a form Web Part which displays the properties of a selected instance of business entity. Using this part, not only end-users can get a detailed view of an instance, but they can also update or delete the current instance. The EntityFormPart is a “consumer-only” Web Part. Consequently, it needs a data source from which to consume data. The data provider may be a connected EntityGridPart as well as an EntityDataSourcePart. Finally, it’s also possible to configure the EntityFormPart to use the query string as input.

The following screenshot actually shows different Web Parts, configured to manipulate an Account entity, and connected to one-another:



Going from top to bottom, the first Web Part is an EntityMethodPart configured to use the LoadByName method of the Account entity. Moreover, this Web Part was configured to supply typed-in values to the second Web Part: an EntityGridPart.

The second Web Part is an EntityGridPart which is mapped to the same LoadByName method, and uses the parameter values provided by the first Web Part (EntityMethodPart) when invoking the method. Data returned by the method are then displayed in the grid.

The third and last Web Part is an EntityFormPart configured to show in a form, the currently selected instance in the EntityGridPart.

All those web parts are generated, and more than just generating web parts as we’ve seen in this post, CodeFluent Entities provides an extensive set of features made to ease the developer’s task when it comes to developing SharePoint applications, such as:

  • Site Creator,
  • Binary Large Object Management,
  • Office Synchronizable Lists Integration,
  • Runtime Model,
  • and more (localization, authorization, validation, etc.).

Check-out our documentation for more information!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s