.NET Project and Catalog Item Naming Conventions

Project File Naming

  • Blackbaud.CustomFx.[Client Name Abbreviation | Site ID].[(Functional area) or (Customization)].[Catalog | Client | UIModel](.UnitTests).

  • For example, for a group of nonhosted customizations related to the ABC customer for the Constituent functional area, these are possible Visual Studio solution names:

    • Blackbaud.CustomFx.ABC.Constituent.Catalog

    • Blackbaud.CustomFx.ABC.Constituent.Catalog.UnitTests

    • Blackbaud.CustomFx.ABC.Constituent.Client

    • Blackbaud.CustomFx.ABC.Constituent.Client.UnitTests

    • Blackbaud.CustomFx.ABC.Constituent.UIModel

  • For Blackbaud Professional Services: generic, non-client-related customizations [ABC] should be "ProfSvcs".

  • For example, for a group of hosted customizations related to the ABC customer for the Constituent functional area, these are possible Visual Studio solution names (Note the use of a site ID for hosted customers):

    • Blackbaud.CustomFx.12345.Constituent.Catalog

    • Blackbaud.CustomFx.12345.Constituent.Catalog.UnitTests

    • Blackbaud.CustomFx.12345.Constituent.Client

    • Blackbaud.CustomFx.12345.Constituent.Client.UnitTests

    • Blackbaud.CustomFx.12345.Constituent.UIModel

Catalog File Naming

File names should be camel cased and end with the name of the catalog spec type. In most cases, the SDK is already geared toward this naming convention through the default names it provides when selecting a spec. This allows other developers to easily identify the file's spec type.

Examples:

  • ConstituentSport.Add.xml

  • ConstituentSport.DataList.xml

  • ConstituentSport.Page.xml

  • ConstituentSportPage.Task.xml

Catalog Spec Naming

Across all SDK catalog items, it is important that the Author and Name attributes are filled in. Author should be "Blackbaud Professional Services" for those specs created by Blackbaud Professional Services. The Name attribute can be something that is meaningful for the spec. Professional services should add the words "(custom)" or "<Site ID>" to the end of each name to avoid future naming conflicts. This will allow for easy identification of whether the spec was written by products, or services. For details, see Commandment 6: Unique Name on Spec.

Tip: Starting with version 3.0, you can specify a default value for the Author attribute when you install the SDK. For information about this option, log in to the SDK downloads page and view the installation instructions.

Catalog Spec Naming for Hosted Customers

Customers who are hosed by Blackbaud should add their Site ID number in parenthesis to the end of the value for the Name attribute. For example: Customer Sport Add (12345).

Note: The only exceptions to the "(custom)" name rule should be Task Specs, functional areas, and query views.

Example

The example below demonstrates a possible custom spec name for a nonhosted customer. For hosted customers, replace "(custom)" with "(<site id>)" within the Name attribute.