@attribute [Route(Routes.ABOUT)] @using AIStudio.Tools.PluginSystem @using AIStudio.Tools.Services @inherits MSGComponentBase
@T("Information about MindWork AI Studio") @T("The following list shows the versions of the MindWork AI Studio, the used compilers, build time, etc.:") @this.VersionDatabase @foreach (var item in this.databaseDisplayInfo) {
@item.Label: @item.Value
}
@(this.showDatabaseDetails ? T("Hide Details") : T("Show Details"))
@switch (HasAnyActiveEnvironment) { case false when this.configPlugins.Count == 0: @T("This is a private AI Studio installation. It runs without an enterprise configuration.") break; case false: @T("AI Studio runs with an enterprise configuration using configuration plugins, without central configuration management.") @foreach (var plug in this.configPlugins) {
@plug.Name
@T("Configuration plugin ID:") @plug.Id
}
@if (PluginFactory.EnterpriseEncryption?.IsAvailable is true) { @T("Encryption secret: is configured") } else { @T("Encryption secret: is not configured") }
break; case true when this.configPlugins.Count == 0: @T("AI Studio runs with an enterprise configuration and configuration servers. The configuration plugins are not yet available.") @foreach (var env in EnterpriseEnvironmentService.CURRENT_ENVIRONMENTS.Where(e => e.IsActive)) {
@T("Waiting for the configuration plugin...")
@T("Enterprise configuration ID:") @env.ConfigurationId
@T("Configuration server:") @env.ConfigurationServerUrl
}
@if (PluginFactory.EnterpriseEncryption?.IsAvailable is true) { @T("Encryption secret: is configured") } else { @T("Encryption secret: is not configured") }
break; case true: @T("AI Studio runs with an enterprise configuration and configuration servers. The configuration plugins are active.") @foreach (var env in EnterpriseEnvironmentService.CURRENT_ENVIRONMENTS.Where(e => e.IsActive)) { var matchingPlugin = this.configPlugins.FirstOrDefault(p => p.Id == env.ConfigurationId);
@if (matchingPlugin is not null) { @matchingPlugin.Name } else { @T("ID mismatch: the plugin ID differs from the enterprise configuration ID.") }
@T("Enterprise configuration ID:") @env.ConfigurationId
@T("Configuration server:") @env.ConfigurationServerUrl
@if (matchingPlugin is not null) {
@T("Configuration plugin ID:") @matchingPlugin.Id
}
}
@if (PluginFactory.EnterpriseEncryption?.IsAvailable is true) { @T("Encryption secret: is configured") } else { @T("Encryption secret: is not configured") }
break; } @if (this.HasEnterpriseConfigurationDetails) { @(this.showEnterpriseConfigDetails ? T("Hide Details") : T("Show Details")) }
@T("Check for updates") @this.PandocButtonText
@T("Discover MindWork AI's mission and vision on our official homepage.") @T("Browse AI Studio's source code on GitHub — we welcome your contributions.") @T("Connect AI Studio to your organization's data with our External Retrieval Interface (ERI).") @T("View our project roadmap and help shape AI Studio's future development.") @T("Did you find a bug or are you experiencing issues? Report your concern here.") @T("Have feature ideas? Submit suggestions for future AI Studio enhancements.") @T("Explanation") @T("AI Studio creates a log file at startup, in which events during startup are recorded. After startup, another log file is created that records all events that occur during the use of the app. This includes any errors that may occur. Depending on when an error occurs (at startup or during use), the contents of these log files can be helpful for troubleshooting. Sensitive information such as passwords is not included in the log files.") @T("By clicking on the respective path, the path is copied to the clipboard. You might open these files with a text editor to view their contents.") @T("Startup log file") @T("Usage log file")