/// <summary> constructor sets all the values to default empty strings </summary>
        public InstanceWide_Settings()
        {
            // Define new empty collections
            dispositionLookup = new Dictionary<int, Disposition_Option>();
            Metadata_Search_Fields = new List<Metadata_Search_Field>();
            metadataFieldsByCode = new Dictionary<string, Metadata_Search_Field>();
            metadataFieldsByID = new Dictionary<short, Metadata_Search_Field>();
            metadataFieldsByFacetName = new Dictionary<string, Metadata_Search_Field>();
            metadataFieldsByDisplayName = new Dictionary<string, Metadata_Search_Field>();
            metadataFieldsByName = new Dictionary<string, Metadata_Search_Field>();
            additionalSettingsDictionary = new Dictionary<string, string>();
            Additional_Settings = new List<Simple_Setting>();
            Workflow_Types = new List<Workflow_Type>();
            Disposition_Options = new List<Disposition_Option>();
            DbItemViewers = new DbItemViewerTypes();

            // Create the child setting objects
            Archive = new Archive_Settings();
            Builder = new Builder_Settings();
            Email = new Email_Settings();
            Florida = new Florida_Settings();
            MarcGeneration = new Marc21_Settings();
            Resources = new Resource_Settings();
            Search = new Search_Settings();
            Servers = new Server_Settings();
            Static = new Static_Settings();
            System = new System_Settings();
            UI = new UI_Settings();
        }
        /// <summary> constructor sets all the values to default empty strings </summary>
        public InstanceWide_Settings()
        {
            // Define new empty collections
            dispositionLookup            = new Dictionary <int, Disposition_Option>();
            Metadata_Search_Fields       = new List <Metadata_Search_Field>();
            metadataFieldsByCode         = new Dictionary <string, Metadata_Search_Field>();
            metadataFieldsByID           = new Dictionary <short, Metadata_Search_Field>();
            metadataFieldsByFacetName    = new Dictionary <string, Metadata_Search_Field>();
            metadataFieldsByDisplayName  = new Dictionary <string, Metadata_Search_Field>();
            metadataFieldsByName         = new Dictionary <string, Metadata_Search_Field>();
            additionalSettingsDictionary = new Dictionary <string, string>();
            Additional_Settings          = new List <Simple_Setting>();
            Workflow_Types      = new List <Workflow_Type>();
            Disposition_Options = new List <Disposition_Option>();
            DbItemViewers       = new DbItemViewerTypes();

            // Create the child setting objects
            Archive        = new Archive_Settings();
            Builder        = new Builder_Settings();
            Email          = new Email_Settings();
            Florida        = new Florida_Settings();
            MarcGeneration = new Marc21_Settings();
            Resources      = new Resource_Settings();
            Search         = new Search_Settings();
            Servers        = new Server_Settings();
            Static         = new Static_Settings();
            System         = new System_Settings();
            UI             = new UI_Settings();
        }
        /// <summary> constructor sets all the values to default empty strings </summary>
        public InstanceWide_Settings()
        {
            try
            {
                // Set some default values
                Database_Connections = new List<Database_Instance_Configuration>();

                Base_SobekCM_Location_Relative = String.Empty;

                Metadata_Help_URL_Base = String.Empty;
                Help_URL_Base = String.Empty;

                Kakadu_JP2_Create_Command = String.Empty;
                OCR_Command_Prompt = String.Empty;
                Builder_Override_Seconds_Between_Polls = -1;

                isHosted = false;

                // Define new empty collections
                dispositionLookup = new Dictionary<int, Disposition_Option>();
                Metadata_Search_Fields = new List<Metadata_Search_Field>();
                metadataFieldsByCode = new Dictionary<string, Metadata_Search_Field>();
                metadataFieldsByID = new Dictionary<short, Metadata_Search_Field>();
                metadataFieldsByFacetName = new Dictionary<string, Metadata_Search_Field>();
                metadataFieldsByDisplayName = new Dictionary<string, Metadata_Search_Field>();
                metadataFieldsByName = new Dictionary<string, Metadata_Search_Field>();
                Additional_Settings = new Dictionary<string, string>();
                Workflow_Types = new List<Workflow_Type>();
                Disposition_Options = new List<Disposition_Option>();

                // Create the child setting objects
                Archive = new Archive_Settings();
                Builder = new Builder_Settings();
                Email = new Email_Settings();
                Florida = new Florida_Settings();
                MarcGeneration = new Marc21_Settings();
                Resources = new Resource_Settings();
                Search = new Search_Settings();
                Servers = new Server_Settings();
                System = new System_Settings();
            }
            catch (Exception ee)
            {
                // Do nothing here

            }
        }