Sample Applications

MAF includes several sample apps that demonstrate the capabilities of the Extensibility Framework:

Sample Application Description
Accessibility Demo Sample app with accessibility labels and text defined in the Extensibility configuration.
CustomAppWithExtensibility A simple version of the mixing coded and metadata-driven tiles. This demo is a starting point and reference application when you are creating a custom-code application with custom data support that uses Extensibility-generated tiles.
LeaveRequestDemo A sample of the fully metadata-driven apps and embedding a custom control in a metadata-driven tile.
MAFExtensibilityUIControlsSample Demonstrates the various UI controls supported by the framework.
MAFExtProvisioningSample Demonstrates app configuration profile management on the client side. See also Extensibility Configuration XSD, The Data Source Adapter and Feeding the Tile with Custom Data.
Extensible in Native (SampleApp_1_ ExtensibleInNative) Uses a mix of metadata-driven tiles and native view controllers.
Context Passing (SampleApp_2_ ContextPassing) Shows how to pass context between tiles.
Custom Action (SampleApp_3_ CustomAction) Demonstrates how to handle custom actions defined for UI controls embedded in a tile.
Offline Demo Data Support (SampleApp_4_DemoDataSource) Runs without an online connection, relying exclusively on offline data.
Composite Tiles (SampleApp_5_CompositeTiles) Demonstrates how to create complex tiles that embed additional tiles.
Custom Control (SampleApp_6_CustomControl) Shows how to integrate custom UI controls in a metadata-driven screen.
Related Data (SampleApp_8_RelatedData) Demonstrates OData-specific data handling.
Logging (SampleApp_9_Logging) Shows how to retrieve and visualize the logs produced by the framework.
Custom Data Source Adapter (SampleApp_10_CustomDataSource) Presents how to replace the default data source adapter and data source implementation with a custom one.
Blocking UI (SampleApp_11_Block_UI) Shows how to control the behavior of long-running background tasks (with or without blocking the UI) by using the blockUI parameter.
List Group (SampleApp_13_ListGroup) Demonstrates how to group table cells based on a business object attribute.
Formatters (SampleApp_14_Formatters) Demonstrates the usage of value, address, and currency formatters. See Formatters.
Field Visibility (SampleApp_15_HideAField) Shows how to change the visibility of a UI element based on a business object (BO) attribute.
UI Access (SampleApp_16_UIAccess) Uses framework APIs to access UI elements (views and controls) that belong to a tile.