[backend/frontend] Display name customization (#14873)#14894
[backend/frontend] Display name customization (#14873)#14894
Conversation
|
Thank you for your contribution, but we need you to sign your commits. Please see https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #14894 +/- ##
==========================================
- Coverage 32.41% 32.40% -0.02%
==========================================
Files 3112 3119 +7
Lines 212033 212425 +392
Branches 38445 38478 +33
==========================================
+ Hits 68740 68829 +89
- Misses 143293 143596 +303
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Pull request overview
This PR wires entity-type “custom display names” (stored in EntitySetting) throughout the OpenCTI UI by centralizing label resolution in useEntityLabel / useEntityLabelResolver, ensuring administrator-defined names appear consistently across navigation, dialogs, filters, lists, graphs, and history/audit messaging.
Changes:
- Extend the
EntitySettingmodel + GraphQL schemas/types withcustom_nameandcustom_name_plural. - Replace many
t_i18n('entity_${type}')call sites withuseEntityLabelResolver()for consistent, customizable labels. - Add documentation describing how to configure custom display names in the admin guide.
Reviewed changes
Copilot reviewed 196 out of 198 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| opencti-platform/opencti-graphql/src/modules/entitySetting/entitySetting.ts | Adds custom_name / custom_name_plural fields to entity setting definition. |
| opencti-platform/opencti-graphql/src/modules/entitySetting/entitySetting.graphql | Exposes custom_name / custom_name_plural on the EntitySetting GraphQL type. |
| opencti-platform/opencti-graphql/src/modules/entitySetting/entitySetting-types.ts | Adds TypeScript typing for custom_name / custom_name_plural across entity setting store/STIX types. |
| opencti-platform/opencti-graphql/src/generated/graphql.ts | Regenerates GraphQL TS types/resolvers to include the new fields. |
| opencti-platform/opencti-graphql/config/default.json | Updates default configuration (includes sensitive credential/key changes). |
| opencti-platform/opencti-front/src/utils/history.ts | Uses useEntityLabelResolver() for audit message entity type label resolution. |
| opencti-platform/opencti-front/src/utils/filters/filtersUtils.tsx | Uses useEntityLabelResolver() when rendering entity-type filter values. |
| opencti-platform/opencti-front/src/schema/relay.schema.graphql | Adds custom_name / custom_name_plural to Relay schema for frontend queries. |
| opencti-platform/opencti-front/src/private/components/workspaces/investigations/InvestigationExpandForm.tsx | Uses entity label resolver for target entity labels in workspace UI. |
| opencti-platform/opencti-front/src/private/components/threats/threat_actors_individual/ThreatActorIndividualDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/threats/threat_actors_individual/ThreatActorIndividualCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/threats/threat_actors_individual/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/threats/threat_actors_group/ThreatActorGroupDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/threats/threat_actors_group/ThreatActorGroupCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/threats/threat_actors_group/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/threats/intrusion_sets/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/threats/intrusion_sets/IntrusionSetDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/threats/intrusion_sets/IntrusionSetCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/threats/campaigns/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/threats/campaigns/CampaignDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/threats/campaigns/CampaignCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/threats/ThreatActorsIndividual.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/threats/ThreatActorsGroup.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/threats/IntrusionSets.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/threats/Campaigns.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/techniques/narratives/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/techniques/narratives/NarrativeDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/techniques/data_sources/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/techniques/data_sources/DataSourceDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/techniques/data_sources/DataSourceCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/techniques/data_components/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/techniques/data_components/DataComponentDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/techniques/data_components/DataComponentCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/techniques/courses_of_action/CouseOfActionDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/techniques/attack_patterns/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/techniques/attack_patterns/AttackPatternDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/techniques/Narratives.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/techniques/DataSources.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/techniques/DataComponents.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/techniques/CoursesOfAction.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/techniques/AttackPatterns.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/settings/sub_types/SubTypesLines.tsx | Updates search/sort to use custom entity labels. |
| opencti-platform/opencti-front/src/private/components/settings/sub_types/SubTypesLine.tsx | Uses entity label resolver for entity type column rendering. |
| opencti-platform/opencti-front/src/private/components/settings/sub_types/SubType.tsx | Uses entity label resolver in breadcrumbs/title on entity type settings pages. |
| opencti-platform/opencti-front/src/private/components/settings/hidden_types/HiddenTypesField.tsx | Uses entity label resolver in hidden-type selection UI. |
| opencti-platform/opencti-front/src/private/components/settings/hidden_types/HiddenTypesChipList.tsx | Uses entity label resolver in hidden-type chip rendering. |
| opencti-platform/opencti-front/src/private/components/pir/pir_overview/PirOverviewHistory.tsx | Uses entity label resolver for PIR log entity type tooltip/title. |
| opencti-platform/opencti-front/src/private/components/pir/pir_history/PirHistory.tsx | Uses entity label resolver for PIR history entity type column rendering. |
| opencti-platform/opencti-front/src/private/components/pir/PirHistoryMessage.tsx | Uses entity label resolver in PIR history message formatting. |
| opencti-platform/opencti-front/src/private/components/observations/stix_cyber_observables/StixCyberObservableDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/observations/stix_cyber_observables/StixCyberObservableCreation.jsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/observations/stix_cyber_observables/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/observations/infrastructures/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/observations/infrastructures/InfrastructureDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/observations/infrastructures/InfrastructureCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/observations/indicators/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/observations/indicators/IndicatorDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/observations/artifacts/ArtifactCreation.jsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/observations/StixCyberObservables.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/observations/Infrastructures.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/observations/Indicators.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/observations/Artifacts.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/locations/regions/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/locations/regions/RegionDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/regions/RegionCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/positions/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/locations/positions/PositionPopoverDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/positions/PositionDetails.tsx | Uses entity label resolver for administrative area label display. |
| opencti-platform/opencti-front/src/private/components/locations/positions/PositionDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/positions/PositionCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/countries/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/locations/countries/CountryDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/countries/CountryCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/cities/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/locations/cities/CityDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/cities/CityCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/administrative_areas/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/locations/administrative_areas/AdministrativeAreaDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/administrative_areas/AdministrativeAreaCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/locations/Regions.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/locations/Positions.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/locations/Countries.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/locations/Cities.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/locations/AdministrativeAreas.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/events/observed_data/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/events/observed_data/ObservedDataDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/events/observed_data/ObservedDataCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/events/incidents/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/events/incidents/IncidentDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/events/incidents/IncidentCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/events/ObservedDatas.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/events/Incidents.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/systems/SystemDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/systems/SystemCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/systems/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/securityPlatforms/SecurityPlatformDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/securityPlatforms/SecurityPlatformCreationForm.tsx | Uses entity label resolver in creation success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/securityPlatforms/SecurityPlatformCreation.tsx | Uses entity label resolver in creation drawer title. |
| opencti-platform/opencti-front/src/private/components/entities/securityPlatforms/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/sectors/SectorDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/sectors/SectorCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/sectors/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/organizations/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/organizations/OrganizationDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/organizations/OrganizationCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/individuals/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/individuals/IndividualDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/individuals/IndividualCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/events/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/events/EventDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/events/EventCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/entities/Systems.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/SecurityPlatforms.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/Sectors.jsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/Organizations.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/Individuals.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/entities/Events.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/common/stix_core_objects/StixCoreObjectSecurityCoverage.tsx | Uses entity label resolver in creation drawer title. |
| opencti-platform/opencti-front/src/private/components/common/lists/SearchScopeElement.tsx | Uses entity label resolver for search scope type labels. |
| opencti-platform/opencti-front/src/private/components/common/form/EntityTypeSelectAdornment.tsx | Uses entity label resolver for entity type select option labels. |
| opencti-platform/opencti-front/src/private/components/cases/tasks/TaskDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/cases/tasks/TaskCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/cases/tasks/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/cases/tasks/CaseTasksLines.tsx | Uses entity label resolver in creation drawer title. |
| opencti-platform/opencti-front/src/private/components/cases/tasks/CaseTaskCreation.tsx | Uses entity label resolver in creation success messaging. |
| opencti-platform/opencti-front/src/private/components/cases/feedbacks/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/cases/feedbacks/FeedbackDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/cases/case_rfts/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/cases/case_rfts/CaseRftDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/cases/case_rfis/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/cases/case_rfis/CaseRfiDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/cases/case_incidents/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/cases/case_incidents/CaseIncidentDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/cases/Tasks.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/cases/Feedbacks.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/cases/CaseRfts.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/cases/CaseRfis.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/cases/CaseIncidents.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/arsenal/vulnerabilities/VulnerabilityDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/arsenal/vulnerabilities/VulnerabilityCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/arsenal/vulnerabilities/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/arsenal/tools/ToolDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/arsenal/tools/ToolCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/arsenal/tools/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/arsenal/malwares/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/arsenal/malwares/MalwareDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/arsenal/malwares/MalwareCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/arsenal/channels/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/arsenal/channels/ChannelDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/arsenal/channels/ChannelCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/arsenal/Vulnerabilities.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/arsenal/Tools.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/arsenal/Malwares.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/arsenal/Channels.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/security_coverages/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/reports/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/reports/ReportDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/analyses/reports/ReportCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/analyses/notes/Root.jsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/notes/NoteDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/analyses/notes/AddNotesFunctionalComponent.tsx | Uses entity label resolver in create button and dialog title. |
| opencti-platform/opencti-front/src/private/components/analyses/malware_analyses/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/malware_analyses/MalwareAnalysisDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/analyses/groupings/Root.tsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/groupings/GroupingDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/analyses/groupings/GroupingCreation.tsx | Uses entity label resolver in creation drawer title and success messaging. |
| opencti-platform/opencti-front/src/private/components/analyses/external_references/Root.jsx | Uses entity label resolver in breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/external_references/ExternalReferenceDeletion.tsx | Uses entity label resolver in deletion success messaging. |
| opencti-platform/opencti-front/src/private/components/analyses/external_references/AddExternalReferences.jsx | Uses entity label resolver in create button label. |
| opencti-platform/opencti-front/src/private/components/analyses/SecurityCoverages.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/Reports.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/Notes.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/MalwareAnalyses.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/Groupings.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/private/components/analyses/ExternalReferences.tsx | Uses entity label resolver in list breadcrumbs. |
| opencti-platform/opencti-front/src/components/graph/components/GraphToolbarSelectTools.tsx | Uses entity label resolver for graph toolbar “select by type” option text. |
| opencti-platform/opencti-front/src/components/graph/components/GraphToolbarFilterTools.tsx | Uses entity label resolver for graph toolbar “filter by type” option text. |
| opencti-platform/opencti-front/src/components/ItemEntityType.tsx | Uses entity label resolver when rendering entity-type tags (non-relationship). |
| opencti-platform/opencti-front/src/components/CreateEntityControlledDial.tsx | Uses entity label resolver for “Create …” button label value. |
| docs/docs/administration/entities.md | Documents how to configure and what to expect from custom display names. |
Comments suppressed due to low confidence (1)
opencti-platform/opencti-front/src/utils/filters/filtersUtils.tsx:433
filterValuepreviously translated both entity types and relationship types (viadisplayEntityTypeForTranslation). Switching toentityLabel(value)breaks relationship-type filters (e.g.relationship_type/typevalues are lowercase likeuses/targets), and the later relationship translation branch is currently unreachable becauserelationship_typeandtypeare included inentityTypesFilters. Consider handlingrelationship_type/typebefore theentityTypesFiltersblock, or usingt_i18n(displayEntityTypeForTranslation(value))for lowercase values andentityLabel(...)only for entity types.
| "admin": { | ||
| "email": "admin@opencti.io", | ||
| "password": "ChangeMe", | ||
| "token": "ChangeMe", | ||
| "password": "admin", | ||
| "token": "550e8400-e29b-41d4-a716-446655440000", | ||
| "externally_managed": false |
There was a problem hiding this comment.
Default admin credentials were changed from placeholder values to a weak password (admin) and a concrete token UUID. Committing usable credentials in default config is a security risk and can also lead to accidental deployments with known credentials. Please revert these to placeholders (e.g. ChangeMe) and document the expected local override mechanism.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
| "port": 4000, | ||
| "encryption_key": "LF7vM33p5UlgZseKtKGbGeodveCCOFnlnKTkm18NuCo=", | ||
| "base_path": "", |
There was a problem hiding this comment.
encryption_key appears to be a real secret and is now hardcoded in config/default.json. This risks leaking a reusable encryption key to all environments and to git history. Prefer leaving it unset in the default config (or set to a placeholder like ChangeMe) and require it via environment/secure config at runtime.
There was a problem hiding this comment.
@copilot open a new pull request to apply changes based on this feedback
ec7ff54 to
b4717de
Compare
|
the e2e fail is not reproduced when playing the playwright test on my local environement |
| @@ -0,0 +1,8 @@ | |||
| { | |||
| "permissions": { | |||
There was a problem hiding this comment.
This looks like an unrelated change, can you tell me why it's required for the feature ? or else revert.
There was a problem hiding this comment.
I don't understand this change, why is it required ?
b4717de to
6bb1af9
Compare
| return ( | ||
| <Drawer | ||
| title={t_i18n('Create an external reference')} | ||
| title={t_i18n('', { id: 'Create ...', values: { entity_type: entityLabel('External-Reference') } })} |
There was a problem hiding this comment.
This change impacts the e2e testing
6bb1af9 to
459c417
Compare
01599a3 to
72f60b1
Compare
… names (#14873) Add custom_name and custom_name_plural fields to EntitySetting module. This allows platform administrators to define custom display names for any core entity type in Settings > Customization > Entity types. Backend changes: - Add custom_name/custom_name_plural to EntitySetting types, GraphQL schema, and module definition - Fields are nullable strings, stored platform-wide Frontend changes: - Add editable display name fields to EntitySettingSettings component - Add reset-to-default buttons for each field - Add useEntityLabel hook for resolving custom vs default entity labels - Update entitySetting fragment to include new fields - Expose new fields in useEntitySettings hook "Diplay name customization, test coverage, and documentation. add translation keys, fixing error from ci/cd
72f60b1 to
b6afdff
Compare
|
|
||
| ## Custom display name | ||
|
|
||
| This configuration allows you to rename any entity type across the platform. When you set a custom display name, it replaces the default label everywhere in the interface: navigation menus, creation buttons and dialogs, list columns, filter dropdowns, knowledge graphs, and search results. |
There was a problem hiding this comment.
I think it is worth clarifying that this will be applied for all users. As the previous section 'hidden in interface' can be applied to only certain groups of users.
e.g. "This configuration allows you to rename any entity type across the platform for all users."
| return ( | ||
| <Drawer | ||
| title={t_i18n('Update a security platform')} | ||
| title={t_i18n('', { id: 'Update ...', values: { entity_type: entityLabel('Security-Platform') } })} | ||
| onClose={handleClose} | ||
| context={editContext} |
There was a problem hiding this comment.
@copilot apply changes based on this feedback
| const { entitySettings } = useAuth(); | ||
| const entityTypes = Array.isArray(entityType) ? entityType : [entityType]; | ||
| return entitySettings.edges | ||
| return (entitySettings?.edges ?? []) | ||
| .map(({ node }) => useFragment<EntitySettingSettings_entitySetting$key>(entitySettingFragment, node)) | ||
| .filter(({ target_type }: EntitySetting) => (entityType ? entityTypes.includes(target_type) : true)); |
There was a problem hiding this comment.
@copilot apply changes based on this feedback
Proposed changes
t_i18n('entity_${type}')calls with theuseEntityLabelResolver()hook across the platform. When an administrator sets a custom display name in Settings > Customization > Entity types, it now takes effect everywhere: navigation menus, creation/deletion dialogs, filter dropdowns, list columns, graph toolbars, breadcrumbs, settings pages, and search.useEntityLabelanduseEntityLabelResolverhooks (12 test cases covering custom names, plural handling, fallback chains, and multi-setting lookup).docs/administration/entities.md./dashboard/settings/customization/entity_types) to match against custom display names, not just the default i18n labels.Related issues
Checklist
Further comments
This PR has a large diff (~195 files) because the original codebase had no abstraction for entity type display labels — every component independently called
t_i18n('entity_${type}'). The migration was necessarily file-by-file.An alternative considered was intercepting at the i18n layer itself (dynamically patching the react-intl message catalog when entity settings load). This would have required zero call-site changes, but was rejected because: (1) it couples the i18n system to Relay-dependent data, (2) plural key patterns are inconsistent across the codebase, and (3) it creates invisible behavior where
t_i18nsilently returns different values depending on API state.The explicit hook-based approach is more maintainable and testable, though it relies on developer discipline to use
entityLabel()instead oft_i18n('entity_...')in future code. A lint rule flagging the old pattern would be a good follow-up.Known limitation:
observations/artifacts/Root.jsxis a class component and cannot use the hook without refactoring to a functional component.Note: custom display names are UI-only. STIX JSON exports, URLs, and GraphQL identifiers continue to use the standard STIX type identifiers, preserving interoperability.