devAdvantage  devAdvantage

Profiles

Profiles are organizational containers for rules.  Once rules are organized into a profile, projects and solutions can be configured to use these profiles.  This allows you to set up specialized analysis profiles for individual projects.  With this feature you can create different profiles for different types of projects or solutions - such as ASP.NET projects, component libraries, windows forms projects, etc.   The result allows you to apply special standards and analysis to your different projects.

Topics

All Rules Profile- A special profile exists within the knowledgebase, the "All Rules" profile, and cannot be removed from the knowledgebase.  This profile will contain all the rules active in the knowledgebase.  Other profiles share (reference) rules from the "All Rules" profile and when rules are deleted from this profile, the are permanently removed from the Knowledgebase and all profiles that references them.  There are other situations where the All Rules profiles acts differently such as the context menu operations and access to its properties.

Profile Properties - Profiles have a basic set of properties that can be managed through either the standard Visual Studio® .NET properties tab (figure 1 below) or by using the devAdvantage Profile Properties dialog (figure 2 below) accessed through the Knowledgebase context menu.

 

Figure 1 - Visual Studio .NET Profile Property Page

 

Figure 2 - devAdvantage Profile Property Page

Profile Name - Name of the profile.  By default profiles are created based on the knowledge pack they came from with sub profiles of rule categories.  It is appropriate to create and/or rename profiles to organize your rules as you see fit.

Profile Parent - Profiles can be nested to help better organize and manage the rules you would like to use in analysis.  The Parent Profile property allows you to use a tree control to select the profile that will contain it.  You can also choose to have it be at the root, by selecting "Profiles" in the control.

Profile Description - This is a general description that will be shown in the tool tip of the Knowledgebase Explorer.

Profile Help URL -  This is the location of documentation for the profile if it exists.

Rules - Rules are another tab on the profile property dialog and allow you to manage the rules that are referenced in a profile.  This can also be managed from the Knowledgebase Explorer directly through context menu operations and drag-and-drop operations.

 

Creating Profiles - Creating profiles can be done using the Create Profile Wizard initiated through either the devAdvantage menu, Add Profile menu item, or through a similar menu item on the Knowledgebase Explorer menu.  When creating a new profile, you are not required to add rules to it immediately - you can add rules to the profile from the Knowledgebase Explorer.

Managing Profile Rules- Rules can be added and removed from profiles by either copying or moving rules from any profile using either context menu operations or drag-and-drop operations.

Setting default Solution Profile - When devAdvantage is installed, all solutions have a new property called DevAdvantage Profiles which contains the profiles that projects will use by default.  When a new solution is created or opened for the first time in devAdvantage, it has a default property of "All Rules".  All new projects or projects that have not defined a specific profile to use, will use this setting for analysis.  To change this property, click on the dialog button in the field and select the profiles you would like as the default.

Assigning Profiles To Projects - When devAdvantage is installed, all projects have a new property called DevAdvantage Profiles which contains the profiles that the project will use for analysis.  If no value is defined, the solution value for this property will be used. To change this property, click on the dialog button in the field and select the profiles you would like.  If all (or most) projects will have the same profiles for analysis, it may make sense to use the Solution profile settings (described above) for easier management.  This feature is powerful when wanting to remove some rules for the analysis of specific projects. 

Deleting Profiles - All profiles, other than the All Rules profile can be deleted.  When deleted, the only relinquish their reference to rules, they do not remove the rules from the knowledgebase.  If the profile has child profiles, those will be deleted as well.  You will be prompted to verify the delete.