dotCMS / core

Headless/Hybrid Content Management System for Enterprises
http://dotcms.com
Other
853 stars 467 forks source link

CLI: Cleanup content type descriptor #28684

Closed nollymar closed 1 month ago

nollymar commented 4 months ago

Parent Issue

No response

Task

The CLI content type descriptor contains duplicate information (probably as a consequence of serialization) that should be removed. We should remove any field duplicity and keep anything related to layouts that will be used in the near future.

Besides, when a content type contains relationships, it would be nice to see and edit the relationship cardinality using an enum name instead of a number. For example: MANY_TO_MANY, ONE_TO_ONE.

These changing don't include layouts. A spike was created to cover this topic.

Proposed Objective

Core Features

Proposed Priority

Priority 3 - Average

Acceptance Criteria

No response

External Links... Slack Conversations, Support Tickets, Figma Designs, etc.

No response

Assumptions & Initiation Needs

No response

Quality Assurance Notes & Workarounds

No response

Sub-Tasks & Estimates

No response

jgambarios commented 2 months ago

Note to QA:

The work done in this ticket includes changes to make the CLI Content Type descriptor more friendly for the end user:

  1. CLI: Now we display, for Relationship fields, an enum name for the relationship cardinality instead of a number. For example: MANY_TO_MANY, ONE_TO_ONE, etc.

    {
      "clazz": "RelationshipField",
      "searchable": true,
      "indexed": true,
      "id": "e4c77c55-f7c8-4919-83bd-2601c2065ed5",
      "modDate": "2024-08-12T18:24:35.000+00:00",
      "name": "Reply",
      "variable": "reply",
      "sortOrder": 9,
      "fieldType": "Relationship",
      "fieldTypeLabel": "Relationships Field",
      "iDate": "2019-04-16T21:40:25.000+00:00",
      "dataType": "SYSTEM",
      "relationships": {
        "velocityVar": "BlogComment",
        "cardinality": "MANY_TO_MANY",
        "isParentField": true
      }
    }
  2. CLI: The systemActionMappings is simplified by removing unnecessary properties and using the format that it is expected by the Content Type resource, example:

      "systemActionMappings" : {
        "NEW" : "b9d89c80-3d88-4311-8365-187323c96436",
        "EDIT": "ceca71a0-deee-4999-bd47-b01baa1bcfc8",
        "UNPUBLISH": "38efc763-d78f-4e4b-b092-59cd8c579b93",
        "UNARCHIVE": "c92f9aa1-9503-4567-ac30-d3242b54d02d"
      }

Also, during the "cleanup" process the logic in the Content Type Resource related to the system action mappings was improved allowing to properly to add, edit and remove system action mappings.

fabrizzio-dotCMS commented 1 month ago

Another two issues were found while testing this: https://github.com/dotCMS/core/issues/29762 https://github.com/dotCMS/core/issues/29765 They seem to be merely UI

The changes covered in this ticket are all good from my perspective There are a few improvements that are captured here

bryanboza commented 1 month ago

Fixed, tested in the last trunk // CLI

New issues referenced on this card, we can close this one for now