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

0 comments
Show all comments