diff --git a/README.md b/README.md index 698bf70b8..c6e2ed92b 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,10 @@ The most robust logger for Salesforce. Works with Apex, Lightning Components, Flow, Process Builder & Integrations. Designed for Salesforce admins, developers & architects. -## Unlocked Package - v4.9.9 +## Unlocked Package - v4.9.10 -[![Install Unlocked Package in a Sandbox](./images/btn-install-unlocked-package-sandbox.png)](https://test.salesforce.com/packaging/installPackage.apexp?p0=04t5Y0000023RBpQAM) -[![Install Unlocked Package in Production](./images/btn-install-unlocked-package-production.png)](https://login.salesforce.com/packaging/installPackage.apexp?p0=04t5Y0000023RBpQAM) +[![Install Unlocked Package in a Sandbox](./images/btn-install-unlocked-package-sandbox.png)](https://test.salesforce.com/packaging/installPackage.apexp?p0=04t5Y0000015mv8QAA) +[![Install Unlocked Package in Production](./images/btn-install-unlocked-package-production.png)](https://login.salesforce.com/packaging/installPackage.apexp?p0=04t5Y0000015mv8QAA) [![View Documentation](./images/btn-view-documentation.png)](https://jongpie.github.io/NebulaLogger/) ## Managed Package - v4.9.0 diff --git a/nebula-logger/core/main/log-management/objects/LogEntryTag__c/LogEntryTag__c.object-meta.xml b/nebula-logger/core/main/log-management/objects/LogEntryTag__c/LogEntryTag__c.object-meta.xml index 5a3c7b31b..ac82dcc1b 100644 --- a/nebula-logger/core/main/log-management/objects/LogEntryTag__c/LogEntryTag__c.object-meta.xml +++ b/nebula-logger/core/main/log-management/objects/LogEntryTag__c/LogEntryTag__c.object-meta.xml @@ -149,6 +149,8 @@ true SYSTEM Deployed + Used by Nebula Logger as a junction object to represent a unique relationship between a LogEntry__c record and a LoggerTag__c record true true true @@ -172,8 +174,8 @@ LogEntry__c Tag__c Accept - Import PrintableListView + Import LogEntry__c Tag__c LogEntry__c @@ -181,6 +183,12 @@ NAME LogEntry__c Tag__c + LoggedByUsernameLink__c + LogLink__c + LogEntryTimestamp__c + LogEntry__c + LogEntryOrigin__c + Tag__c ControlledByParent Public diff --git a/nebula-logger/core/main/log-management/objects/LogEntry__c/LogEntry__c.object-meta.xml b/nebula-logger/core/main/log-management/objects/LogEntry__c/LogEntry__c.object-meta.xml index 2ece0afcb..7a831fc03 100644 --- a/nebula-logger/core/main/log-management/objects/LogEntry__c/LogEntry__c.object-meta.xml +++ b/nebula-logger/core/main/log-management/objects/LogEntry__c/LogEntry__c.object-meta.xml @@ -149,6 +149,8 @@ true LogEntryCompactLayout Deployed + Used by Nebula Logger to represent a single log message within a transaction - log entries can be generated via Apex, Flow, Process Builder, Lighting Web Components, and Aura Components. true true true @@ -169,10 +171,10 @@ New Accept - PrintableListView + ChangeOwner Import MassChangeOwner - ChangeOwner + PrintableListView Log__c Timestamp__c LoggingLevelWithImage__c @@ -181,6 +183,13 @@ Timestamp__c LoggingLevelWithImage__c Message__c + LoggedByUsernameLink__c + Timestamp__c + Log__c + LoggingLevelWithImage__c + Message__c + OriginType__c + OriginLocation__c ControlledByParent Public diff --git a/nebula-logger/core/main/log-management/objects/Log__c/Log__c.object-meta.xml b/nebula-logger/core/main/log-management/objects/Log__c/Log__c.object-meta.xml index 32377f9f2..8ca34546c 100644 --- a/nebula-logger/core/main/log-management/objects/Log__c/Log__c.object-meta.xml +++ b/nebula-logger/core/main/log-management/objects/Log__c/Log__c.object-meta.xml @@ -149,6 +149,7 @@ true LogCompactLayout Deployed + Used by Nebula Logger to unify all log entries generated in a single transaction true true true diff --git a/nebula-logger/core/main/log-management/objects/LoggerScenario__c/LoggerScenario__c.object-meta.xml b/nebula-logger/core/main/log-management/objects/LoggerScenario__c/LoggerScenario__c.object-meta.xml index 7d7ecb2e9..f29914752 100644 --- a/nebula-logger/core/main/log-management/objects/LoggerScenario__c/LoggerScenario__c.object-meta.xml +++ b/nebula-logger/core/main/log-management/objects/LoggerScenario__c/LoggerScenario__c.object-meta.xml @@ -149,6 +149,8 @@ true LoggerScenarioCompactLayout Deployed + Used by Nebula Logger to store unique scenarios (text/String) that can be used to identify Log__c and LogEntry__c records via the lookup fields Log__c.TransactionScenario__c and LogEntry__c.EntryScenario__c true true true @@ -169,8 +171,8 @@ Logger Scenarios Accept - PrintableListView Import + PrintableListView UniqueId__c OWNER.ALIAS CREATED_DATE diff --git a/nebula-logger/core/main/log-management/objects/LoggerTag__c/LoggerTag__c.object-meta.xml b/nebula-logger/core/main/log-management/objects/LoggerTag__c/LoggerTag__c.object-meta.xml index d62dce2a8..c53d569e4 100644 --- a/nebula-logger/core/main/log-management/objects/LoggerTag__c/LoggerTag__c.object-meta.xml +++ b/nebula-logger/core/main/log-management/objects/LoggerTag__c/LoggerTag__c.object-meta.xml @@ -149,7 +149,8 @@ true LoggerTagCompactLayout Deployed - Custom tags used by Logger for tagging Log__c and LogEntry__c records + Used by Nebula Logger for storing unique tags (text/String) that can be associated with LogEntry__c records via the junction object LogEntryTag__c true true true @@ -172,8 +173,8 @@ OWNER.ALIAS TotalLogEntries__c Accept - Import PrintableListView + Import OWNER.ALIAS TotalLogEntries__c OWNER.ALIAS @@ -181,6 +182,11 @@ NAME OWNER.ALIAS TotalLogEntries__c + TotalLogEntries__c + UniqueId__c + OWNER.ALIAS + CREATED_DATE + LAST_UPDATE Read Public diff --git a/nebula-logger/core/tests/log-management/classes/LoggerSettingsController_Tests.cls b/nebula-logger/core/tests/log-management/classes/LoggerSettingsController_Tests.cls index 15f4b948d..af86f242c 100644 --- a/nebula-logger/core/tests/log-management/classes/LoggerSettingsController_Tests.cls +++ b/nebula-logger/core/tests/log-management/classes/LoggerSettingsController_Tests.cls @@ -331,7 +331,7 @@ private class LoggerSettingsController_Tests { @IsTest static void it_should_return_user_search_results_list_when_matches_found() { // Using lastName (required field) instead of the optional field firstName - String searchTerm = '%' + System.UserInfo.getLastName() + '%'; + String searchTerm = '%' + System.UserInfo.getLastName() + '%'; Map expectedResultsById = new Map( [SELECT Id, Name, Username, SmallPhotoUrl FROM User WHERE Name LIKE :searchTerm OR Username LIKE :searchTerm] ); diff --git a/nebula-logger/core/tests/logger-engine/classes/Logger_Tests.cls b/nebula-logger/core/tests/logger-engine/classes/Logger_Tests.cls index 21b471f70..a5edfa0c6 100644 --- a/nebula-logger/core/tests/logger-engine/classes/Logger_Tests.cls +++ b/nebula-logger/core/tests/logger-engine/classes/Logger_Tests.cls @@ -44,7 +44,7 @@ private class Logger_Tests { } @IsTest - static void it_should_settings_default_field_values_when_organization_is_a_sandbox() { + static void it_should_properly_set_default_field_values_for_settings_when_organization_is_a_sandbox() { Organization mockOrganization = (Schema.Organization) LoggerMockDataCreator.setReadOnlyField(new Organization(), Schema.Organization.IsSandbox, true); System.Assert.isTrue(mockOrganization.IsSandbox); MockLoggerEngineDataSelector mockSelector = new MockLoggerEngineDataSelector(); @@ -65,7 +65,7 @@ private class Logger_Tests { } @IsTest - static void it_should_settings_default_field_values_when_organization_is_not_a_sandbox() { + static void it_should_properly_set_default_field_values_for_settings_when_organization_is_not_a_sandbox() { Organization mockOrganization = (Schema.Organization) LoggerMockDataCreator.setReadOnlyField(new Organization(), Schema.Organization.IsSandbox, false); System.Assert.isFalse(mockOrganization.IsSandbox); MockLoggerEngineDataSelector mockSelector = new MockLoggerEngineDataSelector(); @@ -86,7 +86,7 @@ private class Logger_Tests { } @IsTest - static void it_should_settings_default_field_values_when_querying_organization_synchronously_is_disabled() { + static void it_should_properly_set_default_field_values_for_settings_when_querying_organization_synchronously_is_disabled() { LoggerParameter.setMock(new LoggerParameter__mdt(DeveloperName = 'QueryOrganizationDataSynchronously', Value__c = String.valueOf(false))); System.Assert.isFalse(LoggerParameter.QUERY_ORGANIZATION_DATA_SYNCHRONOUSLY); LoggerSettings__c expectedSettings = (LoggerSettings__c) LoggerSettings__c.SObjectType.newSObject(null, true); @@ -97,6 +97,7 @@ private class Logger_Tests { LoggerSettings__c returnedSettings = Logger.getUserSettings(); + System.Assert.areEqual(0, System.Limits.getQueries()); System.Assert.areEqual(expectedSettings, returnedSettings); System.Assert.isNull(returnedSettings.Id); List existingSettings = [SELECT Id FROM LoggerSettings__c]; diff --git a/package.json b/package.json index 9aebc3983..b068565af 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nebula-logger", - "version": "4.9.9", + "version": "4.9.10", "description": "The most robust logger for Salesforce. Works with Apex, Lightning Components, Flow, Process Builder & Integrations. Designed for Salesforce admins, developers & architects.", "author": "Jonathan Gillespie", "license": "MIT", diff --git a/sfdx-project.json b/sfdx-project.json index a8959319f..66e8d2228 100644 --- a/sfdx-project.json +++ b/sfdx-project.json @@ -14,9 +14,9 @@ "package": "Nebula Logger - Core", "path": "./nebula-logger/core", "definitionFile": "./config/scratch-orgs/base-scratch-def.json", - "versionNumber": "4.9.9.NEXT", - "versionName": "Scenario and Tag Storage Configurations", - "versionDescription": "Added new CMDT records LoggerParameter__mdt.NormalizeScenarioData and LoggerParameter__mdt.NormalizeTagData to control if scenarios & tags are stored in custom objects (default) or text fields (denormalized data)", + "versionNumber": "4.9.10.NEXT", + "versionName": "Added search result fields for all custom objects", + "versionDescription": "Added meaningful fields to each of the included objects' search results layouts - previously, several objects were only showing the Name field. Descriptions have also been added to all custom objects.", "releaseNotesUrl": "https://github.com/jongpie/NebulaLogger/releases", "unpackagedMetadata": { "path": "./nebula-logger/extra-tests" @@ -153,6 +153,7 @@ "Nebula Logger - Core@4.9.7-new-log-field-hascomments": "04t5Y0000023R9yQAE", "Nebula Logger - Core@4.9.8-test-coverage-improvements": "04t5Y0000023RBBQA2", "Nebula Logger - Core@4.9.9-scenario-and-tag-storage-configurations": "04t5Y0000023RBpQAM", + "Nebula Logger - Core@4.9.10-added-search-result-fields-for-all-custom-objects": "04t5Y0000015mv8QAA", "Nebula Logger - Plugin - Async Failure Additions": "0Ho5Y000000blO4SAI", "Nebula Logger - Plugin - Async Failure Additions@1.0.0": "04t5Y0000015lhiQAA", "Nebula Logger - Plugin - Async Failure Additions@1.0.1": "04t5Y0000015lhsQAA",