User Interface Configuration#

Colectica Designer reads an optional user interface configuration file when it starts. An administrator can use this file to hide commands, restrict which item types users can create, limit the user interface languages on offer, and control other behavior for every user of the computer.

Configuration location#

User interface configuration can be specified in %programdata%\Algenta\Colectica\DesignerUiConfig.json. On most systems, %programdata% is C:\ProgramData.

The file applies to every user who runs Colectica Designer on the computer. It is separate from each user’s own settings, which Colectica Designer stores in %appdata%\Algenta\Colectica\DesignerSettings.json.

Colectica Designer reads the file once, at startup. Restart Colectica Designer after changing the file. If the file does not exist, or it cannot be parsed, Colectica Designer logs a warning and uses the default value for every setting. Settings that are not present in the file keep their default values, and unrecognized property names are ignored.

Sample User Interface Configuration File#

{
   "HiddenCommands": [
      "Algenta.Colectica.VersionableCommands.Replicate"
   ],
   "DisableSaveOnRemoteRepositories": true,
   "EnableSyncronizeSetInitialState": false,
   "NewCheckoutItemTypes": [
      "30ea0200-7121-4f01-8d21-a931a182b86d",
      "a51e85bb-6259-4488-8df2-f08cb43485f8"
   ],
   "UserInterfaceLanguages": [
      "en",
      "fr",
      "fr-CA"
   ]
}

Available settings#

The following settings can be specified. Property names are matched exactly as shown, including the spelling of EnableSyncronizeSetInitialState.

Setting

Type

Default

Purpose

HiddenCommands

List of strings

Empty

Removes the named commands from the ribbon and from item command lists.

DisableSaveOnRemoteRepositories

Boolean

false

Makes every item opened directly from a repository read only, so that changes can only be made in a checkout.

EnableSyncronizeSetInitialState

Boolean

false

Lets users request an initial workflow state for an item when publishing it to a repository that has workflow states configured.

NewCheckoutItemTypes

List of item type identifiers

Empty

Replaces the item types offered by the Create New Checkout dialog.

UserInterfaceLanguages

List of language abbreviations

Empty

Replaces the list of languages users can choose for Colectica’s own user interface.

Each setting is described in detail below.

Configuring the available user interface languages#

The Languages page of the File menu lets each user choose the language Colectica’s own menus, buttons, and messages are displayed in. The UserInterfaceLanguages property can specify a custom list of languages to offer instead of every language Colectica has been translated into.

Each entry is a language abbreviation. The following languages can be offered:

  • en: English

  • en-GB: English (United Kingdom)

  • de: German

  • fr: French

  • fr-CA: French (Canada)

Entries are matched without regard to case. If UserInterfaceLanguages is empty or not specified, all of the languages above are offered. Entries that name a language Colectica has not been translated into are ignored. If no entry names a supported language, the list is disregarded and all of the languages above are offered.

Colectica uses the operating system’s language when a user has not chosen one, provided that language is on offer. Otherwise the first language in the list is used. If a user had already chosen a language that is later removed from the list, that user is moved to the default language the next time Colectica starts.

Configuring item types in the Create New Checkout dialog#

By default, the Create New Checkout dialog allows creating a Series, Study, Instrument, Data File, or Metadata Package. The NewCheckoutItemTypes property can specify a custom list of item types to show instead. If NewCheckoutItemTypes is empty or not specified, the default types are used.

Each entry is an item type identifier (UUID). See Item Type Identifiers for a full list of identifiers. The identifiers for the default item types are:

Item type

Identifier

Series

4bd6eef6-99df-40e6-9b11-5b8f64e5cb23

Study

30ea0200-7121-4f01-8d21-a931a182b86d

Instrument

f196cc07-9c99-4725-ad55-5b34f479cf7d

Data File

a51e85bb-6259-4488-8df2-f08cb43485f8

Metadata Package

679a61f5-4246-4c89-b482-924dec09af98

The item types are offered in the order they are listed, and the first entry is selected when the dialog opens. Entries that do not identify a known item type are skipped. This setting affects only the Create New Checkout dialog. Commands that create a specific item type, such as the commands for creating child items within a checkout, are not affected.

Disabling save on remote repositories#

Colectica Designer normally allows a user to open a Project, Series, Study, or Metadata Package directly from a repository and save changes to it without first creating a checkout. Items of every other type must be edited in a checkout.

Setting DisableSaveOnRemoteRepositories to true makes items of those four types read only as well, so that every item opened directly from a repository is read only. The item editor shows a banner asking the user to make the item a checkout in order to edit it, and the save button is disabled.

When set to false, the default, the save button is enabled for the four supported types, and the user is able to save changes to them directly on the repository.

Requesting an initial workflow state when publishing#

Colectica Repository can be configured with workflow state families, so that items move through states such as draft, review, and approved. Setting EnableSyncronizeSetInitialState to true lets users request an initial state for an item when they publish it.

When this setting is enabled, the commit options page of the Publish dialog asks the repository for the states a newly published item is allowed to enter. If the repository has one or more state families configured, the page shows a drop-down list for each family below the log message, with the first allowed state selected. After the publish completes, Colectica Designer requests a state change for the root item of the checkout into each selected state.

If the repository has no workflow states configured, or the request for allowed states fails, the drop-down lists are not shown and the publish proceeds as usual.

When set to false, the default, the Publish dialog never asks the repository for initial states.

Hiding command buttons#

Commands listed in the HiddenCommands array will be hidden from the user interface. Each entry is the full .NET type name of a command, matched exactly and with regard to case. Entries that do not match a command are ignored.

Item commands are the commands offered for the selected item in the ribbon and in the navigator’s context menu. Hiding an item command removes it for every item type. Top level commands are the commands on the ribbon that do not act on a selected item, such as the importers and the Create New Checkout command. Hiding a top level command removes its button from the ribbon.

The following commands can be hidden:

Item commands#

  • Algenta.Colectica.CheckoutCommands.Publish

  • Algenta.Colectica.CheckoutCommands.Synchronization.Update

  • Algenta.Colectica.Commands.AddExistingItem

  • Algenta.Colectica.Commands.BrowseInsideCommand

  • Algenta.Colectica.Commands.BulkIngest.BulkIngestCommand

  • Algenta.Colectica.Commands.CompareWith

  • Algenta.Colectica.Commands.CreateNewItem

  • Algenta.Colectica.Commands.GenerateDdi31

  • Algenta.Colectica.Commands.GenerateDdi32

  • Algenta.Colectica.Commands.GenerateDdi33

  • Algenta.Colectica.Commands.GenerateDocumentation

  • Algenta.Colectica.Commands.MetadataImport.ConceptImportCommand

  • Algenta.Colectica.Commands.MetadataImport.ConceptualVariableConcordanceCommand

  • Algenta.Colectica.Commands.MetadataImport.ConcordanceImportCommand

  • Algenta.Colectica.Commands.MetadataImport.CreateStatisticsSheetCommand

  • Algenta.Colectica.Commands.MetadataImport.ExportMetadataInputSheet

  • Algenta.Colectica.Commands.MetadataImport.ImportSkosAsCodeList

  • Algenta.Colectica.Commands.MetadataImport.ImportSkosAsConceptSystem

  • Algenta.Colectica.Commands.MetadataImport.ImportStatisticsSheetCommand

  • Algenta.Colectica.Commands.MetadataImport.MetadataImportCommand

  • Algenta.Colectica.Commands.MetadataImport.UpdateCodeListFromSkos

  • Algenta.Colectica.Commands.MetadataImport.UpdateConceptSystemFromSkos

  • Algenta.Colectica.Commands.RemoveItem

  • Algenta.Colectica.Commands.SearchInsideCommand

  • Algenta.Colectica.Commands.TypeSpecific.AddCategorySchemeToCodeScheme

  • Algenta.Colectica.Commands.TypeSpecific.AddIndividualCategories

  • Algenta.Colectica.Commands.TypeSpecific.AlphabetizeAndRenumber

  • Algenta.Colectica.Commands.TypeSpecific.AnalyzeInstrument

  • Algenta.Colectica.Commands.TypeSpecific.AppyMetadataFromPhysicalInstance

  • Algenta.Colectica.Commands.TypeSpecific.AssignNumbersFrom0

  • Algenta.Colectica.Commands.TypeSpecific.AssignNumbersFrom1

  • Algenta.Colectica.Commands.TypeSpecific.CalculateSummaryStatistics

  • Algenta.Colectica.Commands.TypeSpecific.ClearConcordanceRelationships

  • Algenta.Colectica.Commands.TypeSpecific.ConvertRecordLayoutToDataRelationship

  • Algenta.Colectica.Commands.TypeSpecific.CreateClassificationFromCodeList

  • Algenta.Colectica.Commands.TypeSpecific.CreateCodeSchemeFromCategoryScheme

  • Algenta.Colectica.Commands.TypeSpecific.CreateComplianceDescriptionsFromConceptScheme

  • Algenta.Colectica.Commands.TypeSpecific.CreateStudyFromGroup

  • Algenta.Colectica.Commands.TypeSpecific.FillQualityInformation

  • Algenta.Colectica.Commands.TypeSpecific.GenerateDatasetFromInstrument

  • Algenta.Colectica.Commands.TypeSpecific.GenerateDdi2

  • Algenta.Colectica.Commands.TypeSpecific.GenerateDdi31Instance

  • Algenta.Colectica.Commands.TypeSpecific.GenerateDdi32Instance

  • Algenta.Colectica.Commands.TypeSpecific.GenerateDdi33Instance

  • Algenta.Colectica.Commands.TypeSpecific.GeneratePaperForm

  • Algenta.Colectica.Commands.TypeSpecific.GenerateSourceCodeFromPhysicalInstance

  • Algenta.Colectica.Commands.TypeSpecific.GenerateSurveyInstrumentFromDataset

  • Algenta.Colectica.Commands.TypeSpecific.ImportCodeLists

  • Algenta.Colectica.Commands.TypeSpecific.ImportCodes

  • Algenta.Colectica.Commands.TypeSpecific.ImportDataIntoStudy

  • Algenta.Colectica.Commands.TypeSpecific.MarkNegativeValuesAsMissing

  • Algenta.Colectica.Commands.TypeSpecific.PopulateQualityItemsFromConceptScheme

  • Algenta.Colectica.Commands.TypeSpecific.PopulateQualityStatementFromQualityStandard

  • Algenta.Colectica.Commands.TypeSpecific.RemoveSummaryStatistics

  • Algenta.Colectica.Commands.TypeSpecific.SetSourceInstrument

  • Algenta.Colectica.Commands.TypeSpecific.SortGroupItemsBase

  • Algenta.Colectica.Commands.TypeSpecific.SortGroupItemsByLabel

  • Algenta.Colectica.Commands.TypeSpecific.SortGroupItemsByName

  • Algenta.Colectica.Commands.TypeSpecific.SortyByCode

  • Algenta.Colectica.Commands.TypeSpecific.SynchronizeGroupsWithConceptSystem

  • Algenta.Colectica.Commands.TypeSpecific.UpdatePhysicalInstanceFromFile

  • Algenta.Colectica.Commands.ValidateMetadata

  • Algenta.Colectica.Commands.XPathValidationCommand

  • Algenta.Colectica.Importers.ModifiedDdiImporterCommand

  • Algenta.Colectica.VersionableCommands.CheckOutItem

  • Algenta.Colectica.VersionableCommands.ConvertCopenhagenMappingItemToDdi33

  • Algenta.Colectica.VersionableCommands.DeleteFromRepository

  • Algenta.Colectica.VersionableCommands.Deprecate

  • Algenta.Colectica.VersionableCommands.DuplicateItemCommand

  • Algenta.Colectica.VersionableCommands.FindItemsWithNewerLocalVersions

  • Algenta.Colectica.VersionableCommands.GatherReferencedItems

  • Algenta.Colectica.VersionableCommands.Replicate

  • Algenta.Colectica.VersionableCommands.ResolveUsingLocal

  • Algenta.Colectica.VersionableCommands.ResolveUsingRemote

  • Algenta.Colectica.VersionableCommands.ShowItemsWithChanges

  • Algenta.Colectica.VersionableCommands.ShowItemsWithUpdates

  • Algenta.Colectica.VersionableCommands.TagItem

  • Algenta.Colectica.VersionableCommands.UnDeprecate

  • Algenta.Colectica.VersionableCommands.UpdateDeprecationStateOf

Top level commands#

  • Algenta.Colectica.Importers.DdiImporterCommand

  • Algenta.Colectica.Importers.BlaiseImporterCommand

  • Algenta.Colectica.Importers.CasesImporterCommand

  • Algenta.Colectica.StandAloneCommands.CreateNewCheckout

  • Algenta.Colectica.Designer.Lib.CsvImporterCommand

  • Algenta.Colectica.Designer.Lib.ExcelImporterCommand

  • Algenta.Colectica.Designer.Lib.ParquetImporterCommand

  • Algenta.Colectica.Designer.Lib.SasImporterCommand

  • Algenta.Colectica.Designer.Lib.SpssImporterCommand

  • Algenta.Colectica.Designer.Lib.StataImporterCommand

  • Algenta.Colectica.Importers.DimensionsImporterCommand

  • Algenta.Colectica.Importers.QualtricsImporterCommand

  • Algenta.Colectica.Importers.QueXmlImporterCommand

  • Algenta.Colectica.Importers.RedCapImporterCommand