Application: ExternalResourceUIServer
Revit Platform: All
Revit Version: 2015.0
First Released For: 2015.0
Programming Language: C#
Skill Level: Medium
Category: Data Exchange
Type: ExternalApplication

Subject: An External Resource UI Server Class
Summary: 
An IExternalResourceUIServer implementation to provide messages and other UI in support of the SampleExternalResourceServer in the ExternalResourceDBServer project.

Classes:
Autodesk.Revit.UI.IExternalApplication
Autodesk.Revit.UI.IExternalResourceUIServer

Project Files: 
Application.cs
Contains the class UIServerApplication which inherits from interface IExternalpplication and implements the OnStartup and OnShutdown methods.  The Sample External Resource UI Server is registered with Revit in the OnStartup method.
SampleExternalResourceUIServer.cs
Contains the SampleExternalResourceUIServer class - an implementation of the IExternalResourceUIServer interface.

Description:
This sample provides the following functionalities:
-	Adds UI (messages boxes) for the SampleExternalResourceDBServer.
-	Displays load results message for keynote data loaded from the SampleExternalResourceDBServer
-	Displays load results message for Revit models linked from the SampleExternalResourceDBServer
-	Displays a warning if a failure occurs while the end user browses the SampleExternalResourceDBServer for keynote or Revit link resources.
-	NOTE: Implementing an IExternalResourceUIServer to provide UI for your IExternalResourceServer is highly recommended, but is actually not required.  To illustrate this point, try installing and using the SampleExternalResourceDBServer both with and without this SampleExternalResourceUIServer.  The DB server should function properly without the UI server, but there will be no way for the end user to know whether interactions between Revit and the DB server are completely successful, or to determine the causes of any errors.

Instructions: 
Follow the instructions for the ExternalResourceDBServer.
1.	UI When Loading Keynote Data
Expected result: The message dialog shown below should appear when the user selects a keynote data resource:

2.	UI When Linking a Revit Model
Expected result: The message dialog shown below should appear when the user selects a Revit model from the SampleExternalResourceDBServer to link into Revit.