ChangeLogService fails with "Created by Third-Party Publisher" in Docker FSDM

Problem: I am unable to enable the Change Log for replaced objects (e.g., Contact) within a custom package (CRMPackage) that was restored from a Git repository. When selecting columns and clicking "Apply," the ChangeLogService.svc throws the following error:

"Unable to save... The item was created by a third-party publisher. To modify this item, save it to your package."

Environment Context:

  • Version: 8.3.1.4498 (PostgreSQL).
  • Setup: Docker-based development using File System Development Mode (FSDM).
  • Current Package: CRMPackage, Maintainer: CRMDev, Packager maintainer = CRMDev
  • Workflow: Package files (CRMPackage) are managed via Git and symlinked from /workspace to the Creatio root /app/Terrasoft.Configuration/Pkg.
  • Current State: All other development actions—saving Schemas, Data, SQL Scripts, and Lookups—work perfectly and sync to the file system and the custom package as expected.

Technical:

  1. Service Failure: The ChangeLogService.svc call to SaveObjectChangeLogSettings fails during the internal DesignItemInCustomPackage process.
  2. The "Third-Party" Block: The error specifically states the item was created by a third-party publisher and must be saved to my package. However, the object is already in my package and physically joined to the correct SysPackageId in the database.
  3. Workaround behavior: If I set the global Maintainer system setting to "Customer" and apply the change log, it gets saved into the Custom package. But I want change log for Contacts to be reflected in my current development package.

Other Ways:

I'm able to enable the change log for my object directly as below but how to enable the change log for "Inactive column". I have replaced the contact object and enabled "Allow record for deactivation"

Error:
Request
Response

Response Error:

{
   "success": false,
   "errorInfo": {
       "errorCode": null,
       "message": "Unable to save changes for item \"Contact\". It is either created by third-party publisher or installed from the file archive",
       "stackTrace": "   at Terrasoft.Core.SchemaManager`1.CheckIsPackageForeign(ISchemaManagerItem`1 designItem, Guid packageUId, UserConnection userConnection)\n   at Terrasoft.Core.SchemaManager`1.InternalSaveSchema(ISchemaManagerItem`1 designItem, Guid packageUId, Boolean removeDesignItem, UserConnection userConnection, Boolean generateBundles, Boolean validateNamePrefixes, Boolean lockSchemaInSourceControlStorage, Boolean useFullHierarchy, Boolean regenerateReferencedSchemaSources)\n   at Terrasoft.Core.Entities.EntitySchemaManager.InternalSaveSchema(ISchemaManagerItem`1 designItem, Guid packageUId, Boolean removeDesignItem, UserConnection userConnection, Boolean generateBundles, Boolean validateNamePrefixes, Boolean lockSchemaInSourceControlStorage, Boolean useFullHierarchy, Boolean regenerateReferencedSchemaSources)\n   at Terrasoft.Core.Entities.EntitySchemaManager.InternalSaveSchema(ISchemaManagerItem`1 designItem, Guid packageUId, Boolean removeDesignItem, UserConnection userConnection, Boolean generateBundles, Boolean validateNamePrefixes, Boolean lockSchemaInSourceControlStorage)\n   at Terrasoft.Core.SchemaManager`1.SaveSchema(Guid uid, Boolean removeDesignItem, UserConnection userConnection, Boolean generateBundles, Boolean lockSchemaInSourceControlStorage)\n   at Terrasoft.Core.SchemaManager`1.SaveSchema(Guid uid, UserConnection userConnection, Boolean generateBundles, Boolean lockSchemaInSourceControlStorage)\n   at Terrasoft.Core.ServiceModel.ChangeLogService.SaveChangeLogSettings(ObjectChangeLogSettings settings)\n   at Terrasoft.Core.ServiceModel.ChangeLogService.SaveObjectChangeLogSettings(ObjectChangeLogSettings changeLogSettings)"
   }
}


Query:
Is there a way to enable the "Change Log" for the Contact object's Inactive column via DB query?



BR,
Bala.

Like 2

Like

2 comments

Hello,

This issue may occur if one or more of the following conditions are not met in the environment:

 - The CurrentPackage must be unlocked.

 - The current maintainer in the system must match the maintainer specified for the CurrentPackage.

 - The CurrentPackage must be located at the bottom of the package hierarchy.

Please verify these conditions in your environment to identify which requirement is not satisfied. After applying the necessary corrections, the change log should be enabled without any issues.

Antonii Viazovskyi,

Unfortunately, these didn't help.
All have been setup correctly which is the basic.

CurrentPackage - Yes, it's unlocked.
My current maintainer is matching with my CurrentPackage
CurrentPackage is at the bottom of hierarchy (just before OOTB Custom package).

Would you be able to navigate and help with appropriate analysis?

Show all comments