@cplace/test-mcp-server 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -36
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +7 -1
- package/dist/api.js.map +1 -1
- package/dist/conditional-registration.d.ts.map +1 -1
- package/dist/conditional-registration.js +7 -1
- package/dist/conditional-registration.js.map +1 -1
- package/dist/index.js +56 -3
- package/dist/index.js.map +1 -1
- package/dist/profiles.d.ts.map +1 -1
- package/dist/profiles.js +8 -4
- package/dist/profiles.js.map +1 -1
- package/dist/tool-metadata.d.ts.map +1 -1
- package/dist/tool-metadata.js +3 -1
- package/dist/tool-metadata.js.map +1 -1
- package/dist/tools/board-widget.d.ts +432 -0
- package/dist/tools/board-widget.d.ts.map +1 -0
- package/dist/tools/board-widget.js +820 -0
- package/dist/tools/board-widget.js.map +1 -0
- package/dist/tools/generic-layouts.d.ts +1 -1
- package/dist/tools/generic-layouts.d.ts.map +1 -1
- package/dist/tools/generic-layouts.js +23 -1
- package/dist/tools/generic-layouts.js.map +1 -1
- package/dist/tools/jobs.d.ts +32 -0
- package/dist/tools/jobs.d.ts.map +1 -0
- package/dist/tools/jobs.js +193 -0
- package/dist/tools/jobs.js.map +1 -0
- package/dist/tools/script.d.ts +25 -0
- package/dist/tools/script.d.ts.map +1 -0
- package/dist/tools/script.js +121 -0
- package/dist/tools/script.js.map +1 -0
- package/dist/tools/search.d.ts +1 -1
- package/dist/tools/search.js +1 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/type-management.d.ts +2 -2
- package/dist/tools/widgets.d.ts +8 -5
- package/dist/tools/widgets.d.ts.map +1 -1
- package/dist/tools/widgets.js +143 -40
- package/dist/tools/widgets.js.map +1 -1
- package/dist/tools/workspace-admin.d.ts +11 -1
- package/dist/tools/workspace-admin.d.ts.map +1 -1
- package/dist/tools/workspace-admin.js +67 -8
- package/dist/tools/workspace-admin.js.map +1 -1
- package/dist/tools/workspace-core.d.ts +4 -1
- package/dist/tools/workspace-core.d.ts.map +1 -1
- package/dist/tools/workspace-core.js +38 -7
- package/dist/tools/workspace-core.js.map +1 -1
- package/dist/utils.d.ts +6 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +107 -1
- package/dist/utils.js.map +1 -1
- package/dist/widget-specifications/CLAUDE.md +288 -0
- package/dist/widget-specifications/DOCUMENTATION-STATUS.md +424 -0
- package/dist/widget-specifications/GENERATING-FROM-RESEARCH.md +61 -0
- package/dist/widget-specifications/WIDGET-TAGGING-SCHEME.md +217 -0
- package/dist/widget-specifications/_research_from_ga_products/.claude-settings.local.json +48 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-api-common-config-metadata-SyncMetadataTable/research.md +168 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-breadcrumbs-breadcrumbsWidget/research.md +125 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-cboard-main-board/research.md +373 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-citizenAi-askYourPageWidget/research.md +319 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-cplaceReportGeneration-generateReportWidget/research.md +295 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ctts-main-employeeReportChart/research.md +230 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ctts-main-employeeReportGrid/research.md +215 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ctts-main-projectmanagerReportChart/research.md +192 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ctts-main-projectmanagerReportGrid/research.md +178 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ctts-main-widget/research.md +332 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-demoWidgets-demoRichString/research.md +194 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-documentation-navigationWidget/research.md +426 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-dragAndDropImageView-imageWithTextAndListWidget/research.md +326 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-dragAndDropImageView-imageWithTextWidget/research.md +580 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-dragAndDropImageView-widget/research.md +281 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-draggablePageList-widget/research.md +210 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-dynamicCodeBlockWidget-dynamicCodeBlockWidget/research.md +250 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ecf-attribute-conversion-widget-enumMappingTable/research.md +260 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ecf-configuration-widget-attributeMappingTable/research.md +148 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ecf-connector-extension-widget-cleanupConfigTable/research.md +138 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ecf-connector-extension-widget-connectorSyncConfigsTable/research.md +150 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-ecf-connector-extension-widget-serverConnectionTable/research.md +181 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-extendedTreeTableWidget/research.md +253 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-horizontalDivider/research.md +261 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-startWizardWidget/research.md +211 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-stepEditorForWizardWidget/research.md +183 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-stepEditorWidget/research.md +298 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-stepManager/research.md +419 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-stepPreview/research.md +256 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-wizardActivation/research.md +174 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-wizardAnalysis/research.md +283 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-formsWizard-wizardLocalizations/research.md +193 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-genericInterface-api-widgets-triggerInterfaceButton/research.md +180 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-landingPageFromPage-quickOverview/research.md +186 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-landingPageFromPage-sessionUserNameWidget/research.md +158 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-landingPageFromPage-simpleListWithAttachment/research.md +135 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-layoutTabsWidget-widget/research.md +238 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-lowCodeWidgets-lowCodeButton/research.md +272 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-lowcode-ai-chatWidget/research.md +194 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-meeting-pageHeader/research.md +208 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-navigationTileWidget-widget/research.md +259 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-officeReports-headlineForReports/research.md +174 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-officeReports-scriptPlaceholders/research.md +233 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-officeReports-templatePlaceholders/research.md +150 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-orgaTree-edit/research.md +353 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-outlookMessageIntegration-outlookMessages/research.md +233 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-pageViewHeadline-widget/research.md +217 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-pdfPreview-widget/research.md +235 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-platform-attributesGroup/research.md +525 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-platform-batchJobQuickGlance/research.md +372 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-platform-connectedAttributesGroup/research.md +408 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-platform-dynamicIframe/research.md +198 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-platform-tableWidget/research.md +427 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-pptexport-pgPreviewWidget/research.md +151 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-projectTree-editProjects/research.md +163 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-projektplanung-scheduleLockState/research.md +174 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-projektplanung-subscriptions/research.md +316 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-qrCodeWidget/research.md +130 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-resourceManagement-resourcePlannerDefinition/research.md +331 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-rest-config-widget-productionModeHintWidget/research.md +332 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-simpleCalendar-calendar/research.md +284 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-simpleForm-widget/research.md +193 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-tableDetailViewWidget-widget/research.md +311 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-treeTableWidget/research.md +420 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-tuplesWidget-widget/research.md +295 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-videoWidget/research.md +154 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-visualizations-scriptingHighcharts/research.md +249 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-visualizations-scriptingLineChart/research.md +279 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-cplace-visualizations-tupleLineChart/research.md +221 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-attributeHistory/research.md +421 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-attributes/research.md +377 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-comments/research.md +254 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-connectedBarChart/research.md +275 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-connectedMatrix/research.md +396 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-connectedPieChart/research.md +150 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-connectedSingleAttribute/research.md +430 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-connectedTableFilter/research.md +468 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-customRichStringAttribute/research.md +120 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-embeddedSearchAsList/research.md +485 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-embeddedSearchAsTable/research.md +428 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-files/research.md +240 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-iframe/research.md +358 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-incomingLinks/research.md +242 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-incomingReferences/research.md +488 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-makeover-attributes/research.md +219 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-modificationInfo/research.md +141 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-myElements/research.md +116 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-richString/research.md +437 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-singleAttribute/research.md +1094 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-tags/research.md +332 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-platform-wiki/research.md +258 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-gantt/research.md +268 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-ganttTaskDemo/research.md +271 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-multiGantt/research.md +343 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-scheduleTreeTable/research.md +261 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-singleGantt/research.md +184 -0
- package/dist/widget-specifications/_research_from_ga_products/cf-projektplanung-singleGanttLink/research.md +188 -0
- package/dist/widget-specifications/_research_from_ga_products/de-2lforge-curves-widget/research.md +341 -0
- package/dist/widget-specifications/_research_from_ga_products/de-2lforge-toolbar-datePickerWidget/research.md +232 -0
- package/dist/widget-specifications/_research_from_ga_products/de-2lforge-toolbar-dropDownWidget/research.md +417 -0
- package/dist/widget-specifications/_research_from_ga_products/de-2lforge-toolbar-miscWidget/research.md +172 -0
- package/dist/widget-specifications/_research_from_ga_products/de-visualistik-visualRoadmap-widget/research.md +277 -0
- package/dist/widget-specifications/_research_from_ga_products/msg-scripts-imagegallery-basic/research.md +112 -0
- package/dist/widget-specifications/_research_from_ga_products/phase-0-discovery-approach.md +248 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-definition-mapping.md +168 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-documentation-project.md +259 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-research-generation/generate.sh +100 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-research-generation/parse-mapping.sh +35 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-research-generation/template.md +38 -0
- package/dist/widget-specifications/_research_from_ga_products/widget-research-generation/widgets.txt +107 -0
- package/dist/widget-specifications/cf.cplace.api.common.config.metadata.SyncMetadataTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.api.common.config.metadata.SyncMetadataTable/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.api.common.config.metadata.SyncMetadataTable/_overview.md +40 -0
- package/dist/widget-specifications/cf.cplace.api.common.config.metadata.SyncMetadataTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.breadcrumbs.breadcrumbsWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.breadcrumbs.breadcrumbsWidget/_meta.json +8 -0
- package/dist/widget-specifications/cf.cplace.breadcrumbs.breadcrumbsWidget/_overview.md +74 -0
- package/dist/widget-specifications/cf.cplace.breadcrumbs.breadcrumbsWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.cboard.main.board/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.cboard.main.board/_implementation.md +37 -0
- package/dist/widget-specifications/cf.cplace.cboard.main.board/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.cboard.main.board/_overview.md +117 -0
- package/dist/widget-specifications/cf.cplace.cboard.main.board/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.citizenAi.askYourPageWidget/_meta.json +3 -0
- package/dist/widget-specifications/cf.cplace.citizenAi.askYourPageWidget/_overview.md +123 -0
- package/dist/widget-specifications/cf.cplace.citizenAi.askYourPageWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.cplaceReportGeneration.generateReportWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.cplaceReportGeneration.generateReportWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.cplaceReportGeneration.generateReportWidget/_overview.md +45 -0
- package/dist/widget-specifications/cf.cplace.cplaceReportGeneration.generateReportWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportChart/_overview.md +79 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportGrid/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportGrid/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportGrid/_overview.md +45 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.employeeReportGrid/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportChart/_overview.md +68 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportGrid/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportGrid/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportGrid/_overview.md +45 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.projectmanagerReportGrid/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.widget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.widget/_overview.md +157 -0
- package/dist/widget-specifications/cf.cplace.ctts.main.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.demoWidgets.demoRichString/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.demoWidgets.demoRichString/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.demoWidgets.demoRichString/_overview.md +200 -0
- package/dist/widget-specifications/cf.cplace.demoWidgets.demoRichString/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.documentation.navigationWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.documentation.navigationWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.documentation.navigationWidget/_overview.md +27 -0
- package/dist/widget-specifications/cf.cplace.documentation.navigationWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextAndListWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextAndListWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextAndListWidget/_overview.md +79 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextAndListWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextWidget/_overview.md +176 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.imageWithTextWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.widget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.widget/_overview.md +85 -0
- package/dist/widget-specifications/cf.cplace.dragAndDropImageView.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.draggablePageList.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.draggablePageList.widget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.draggablePageList.widget/_overview.md +93 -0
- package/dist/widget-specifications/cf.cplace.draggablePageList.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.dynamicCodeBlockWidget.dynamicCodeBlockWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.dynamicCodeBlockWidget.dynamicCodeBlockWidget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.dynamicCodeBlockWidget.dynamicCodeBlockWidget/_overview.md +75 -0
- package/dist/widget-specifications/cf.cplace.dynamicCodeBlockWidget.dynamicCodeBlockWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ecf.attribute.conversion.widget.enumMappingTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ecf.attribute.conversion.widget.enumMappingTable/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.ecf.attribute.conversion.widget.enumMappingTable/_overview.md +167 -0
- package/dist/widget-specifications/cf.cplace.ecf.attribute.conversion.widget.enumMappingTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ecf.configuration.widget.attributeMappingTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ecf.configuration.widget.attributeMappingTable/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.ecf.configuration.widget.attributeMappingTable/_overview.md +64 -0
- package/dist/widget-specifications/cf.cplace.ecf.configuration.widget.attributeMappingTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.cleanupConfigTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.cleanupConfigTable/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.cleanupConfigTable/_overview.md +61 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.cleanupConfigTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.connectorSyncConfigsTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.connectorSyncConfigsTable/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.connectorSyncConfigsTable/_overview.md +94 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.connectorSyncConfigsTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.serverConnectionTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.serverConnectionTable/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.serverConnectionTable/_overview.md +28 -0
- package/dist/widget-specifications/cf.cplace.ecf.connector.extension.widget.serverConnectionTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.extendedTreeTableWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.extendedTreeTableWidget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.extendedTreeTableWidget/_overview.md +116 -0
- package/dist/widget-specifications/cf.cplace.extendedTreeTableWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.horizontalDivider/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.horizontalDivider/_meta.json +8 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.horizontalDivider/_overview.md +44 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.horizontalDivider/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.startWizardWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.startWizardWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.startWizardWidget/_overview.md +40 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.startWizardWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorForWizardWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorForWizardWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorForWizardWidget/_overview.md +47 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorForWizardWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorWidget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorWidget/_overview.md +23 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepEditorWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepManager/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepManager/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepManager/_overview.md +32 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepManager/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepPreview/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepPreview/_meta.json +8 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepPreview/_overview.md +29 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.stepPreview/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardActivation/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardActivation/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardActivation/_overview.md +69 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardActivation/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardAnalysis/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardAnalysis/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardAnalysis/_overview.md +91 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardAnalysis/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardLocalizations/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardLocalizations/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardLocalizations/_overview.md +48 -0
- package/dist/widget-specifications/cf.cplace.formsWizard.wizardLocalizations/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.genericInterface.api.widgets.triggerInterfaceButton/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.genericInterface.api.widgets.triggerInterfaceButton/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.genericInterface.api.widgets.triggerInterfaceButton/_overview.md +58 -0
- package/dist/widget-specifications/cf.cplace.genericInterface.api.widgets.triggerInterfaceButton/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.quickOverview/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.quickOverview/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.quickOverview/_overview.md +66 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.quickOverview/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.sessionUserNameWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.sessionUserNameWidget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.sessionUserNameWidget/_overview.md +52 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.sessionUserNameWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.simpleListWithAttachment/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.simpleListWithAttachment/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.simpleListWithAttachment/_overview.md +53 -0
- package/dist/widget-specifications/cf.cplace.landingPageFromPage.simpleListWithAttachment/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/_implementation.md +6 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/_meta.json +7 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/_overview.md +115 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/cf.cplace.layoutTabsWidget.layoutSelection.md +2 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/cf.cplace.layoutTabsWidget.layouts.md +3 -0
- package/dist/widget-specifications/cf.cplace.layoutTabsWidget.widget/cf.cplace.layoutTabsWidget.sourceForLayouts.md +1 -0
- package/dist/widget-specifications/cf.cplace.lowCodeWidgets.lowCodeButton/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.lowCodeWidgets.lowCodeButton/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.lowCodeWidgets.lowCodeButton/_overview.md +137 -0
- package/dist/widget-specifications/cf.cplace.lowCodeWidgets.lowCodeButton/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.lowcode.ai.chatWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.lowcode.ai.chatWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.lowcode.ai.chatWidget/_overview.md +63 -0
- package/dist/widget-specifications/cf.cplace.lowcode.ai.chatWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.meeting.pageHeader/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.meeting.pageHeader/_meta.json +12 -0
- package/dist/widget-specifications/cf.cplace.meeting.pageHeader/_overview.md +31 -0
- package/dist/widget-specifications/cf.cplace.meeting.pageHeader/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.navigationTileWidget.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.navigationTileWidget.widget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.navigationTileWidget.widget/_overview.md +71 -0
- package/dist/widget-specifications/cf.cplace.navigationTileWidget.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.officeReports.headlineForReports/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.officeReports.headlineForReports/_meta.json +8 -0
- package/dist/widget-specifications/cf.cplace.officeReports.headlineForReports/_overview.md +57 -0
- package/dist/widget-specifications/cf.cplace.officeReports.headlineForReports/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.officeReports.scriptPlaceholders/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.officeReports.scriptPlaceholders/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.officeReports.scriptPlaceholders/_overview.md +22 -0
- package/dist/widget-specifications/cf.cplace.officeReports.scriptPlaceholders/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.officeReports.templatePlaceholders/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.officeReports.templatePlaceholders/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.officeReports.templatePlaceholders/_overview.md +24 -0
- package/dist/widget-specifications/cf.cplace.officeReports.templatePlaceholders/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.orgaTree.edit/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.orgaTree.edit/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.orgaTree.edit/_overview.md +62 -0
- package/dist/widget-specifications/cf.cplace.orgaTree.edit/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.outlookMessageIntegration.outlookMessages/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.outlookMessageIntegration.outlookMessages/_meta.json +12 -0
- package/dist/widget-specifications/cf.cplace.outlookMessageIntegration.outlookMessages/_overview.md +50 -0
- package/dist/widget-specifications/cf.cplace.outlookMessageIntegration.outlookMessages/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.pageViewHeadline.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.pageViewHeadline.widget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.pageViewHeadline.widget/_overview.md +62 -0
- package/dist/widget-specifications/cf.cplace.pageViewHeadline.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.pdfPreview.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.pdfPreview.widget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.pdfPreview.widget/_overview.md +79 -0
- package/dist/widget-specifications/cf.cplace.pdfPreview.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/_implementation.md +13 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/_overview.md +108 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/absoluteSelection.md +9 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/layout.md +8 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/pageSelection.md +12 -0
- package/dist/widget-specifications/cf.cplace.platform.attributesGroup/relativeSelection.md +14 -0
- package/dist/widget-specifications/cf.cplace.platform.batchJobQuickGlance/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.batchJobQuickGlance/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.platform.batchJobQuickGlance/_overview.md +52 -0
- package/dist/widget-specifications/cf.cplace.platform.batchJobQuickGlance/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/_implementation.md +17 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/_overview.md +103 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/cf.cplace.platform.attributesGroup.layout.md +8 -0
- package/dist/widget-specifications/cf.cplace.platform.connectedAttributesGroup/singleSelectionWidgetId.md +15 -0
- package/dist/widget-specifications/cf.cplace.platform.dynamicIframe/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.dynamicIframe/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.platform.dynamicIframe/_overview.md +49 -0
- package/dist/widget-specifications/cf.cplace.platform.dynamicIframe/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.platform.tableWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.tableWidget/_meta.json +12 -0
- package/dist/widget-specifications/cf.cplace.platform.tableWidget/_overview.md +188 -0
- package/dist/widget-specifications/cf.cplace.platform.tableWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.pptexport.pgPreviewWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.pptexport.pgPreviewWidget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.pptexport.pgPreviewWidget/_overview.md +92 -0
- package/dist/widget-specifications/cf.cplace.pptexport.pgPreviewWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.projectTree.editProjects/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.projectTree.editProjects/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.projectTree.editProjects/_overview.md +81 -0
- package/dist/widget-specifications/cf.cplace.projectTree.editProjects/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.scheduleLockState/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.scheduleLockState/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.scheduleLockState/_overview.md +60 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.scheduleLockState/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.subscriptions/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.subscriptions/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.subscriptions/_overview.md +59 -0
- package/dist/widget-specifications/cf.cplace.projektplanung.subscriptions/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.qrCodeWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.qrCodeWidget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.qrCodeWidget/_overview.md +25 -0
- package/dist/widget-specifications/cf.cplace.qrCodeWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/_overview.md +78 -0
- package/dist/widget-specifications/cf.cplace.resourceManagement.resourcePlannerDefinition/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.rest.config.widget.productionModeHintWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.rest.config.widget.productionModeHintWidget/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.rest.config.widget.productionModeHintWidget/_overview.md +44 -0
- package/dist/widget-specifications/cf.cplace.rest.config.widget.productionModeHintWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.simpleCalendar.calendar/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.simpleCalendar.calendar/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.simpleCalendar.calendar/_overview.md +42 -0
- package/dist/widget-specifications/cf.cplace.simpleCalendar.calendar/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.simpleForm.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.simpleForm.widget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.simpleForm.widget/_overview.md +85 -0
- package/dist/widget-specifications/cf.cplace.simpleForm.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.tableDetailViewWidget.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.tableDetailViewWidget.widget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.tableDetailViewWidget.widget/_overview.md +92 -0
- package/dist/widget-specifications/cf.cplace.tableDetailViewWidget.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.tableDetailViewWidget.widget/attributes.md +7 -0
- package/dist/widget-specifications/cf.cplace.treeTableWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.treeTableWidget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.treeTableWidget/_overview.md +51 -0
- package/dist/widget-specifications/cf.cplace.treeTableWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.tuplesWidget.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.tuplesWidget.widget/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.tuplesWidget.widget/_overview.md +202 -0
- package/dist/widget-specifications/cf.cplace.tuplesWidget.widget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.videoWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.videoWidget/_meta.json +10 -0
- package/dist/widget-specifications/cf.cplace.videoWidget/_overview.md +65 -0
- package/dist/widget-specifications/cf.cplace.videoWidget/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/_implementation.md +12 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/_meta.json +9 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/_overview.md +117 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/cf.cplace.visualization.dataSource.md +5 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/cf.cplace.visualization.search.md +10 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/script.md +29 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingHighcharts/tableWidgetId.md +10 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingLineChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingLineChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingLineChart/_overview.md +72 -0
- package/dist/widget-specifications/cf.cplace.visualizations.scriptingLineChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.cplace.visualizations.tupleLineChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.cplace.visualizations.tupleLineChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.cplace.visualizations.tupleLineChart/_overview.md +50 -0
- package/dist/widget-specifications/cf.cplace.visualizations.tupleLineChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.attributeHistory/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.attributeHistory/_meta.json +11 -0
- package/dist/widget-specifications/cf.platform.attributeHistory/_overview.md +79 -0
- package/dist/widget-specifications/cf.platform.attributeHistory/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.attributes/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.attributes/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.attributes/_overview.md +89 -0
- package/dist/widget-specifications/cf.platform.attributes/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.comments/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.comments/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.comments/_overview.md +52 -0
- package/dist/widget-specifications/cf.platform.comments/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/_implementation.md +10 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/_overview.md +70 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.connectedBarChart/search.md +15 -0
- package/dist/widget-specifications/cf.platform.connectedMatrix/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.connectedMatrix/_meta.json +11 -0
- package/dist/widget-specifications/cf.platform.connectedMatrix/_overview.md +189 -0
- package/dist/widget-specifications/cf.platform.connectedMatrix/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/_implementation.md +10 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/_meta.json +11 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/_overview.md +70 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.connectedPieChart/search.md +10 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/_implementation.md +15 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/_overview.md +69 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/attributeName.md +10 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/singleColumn.md +9 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/singleSelectionWidgetId.md +3 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/withLabel.md +11 -0
- package/dist/widget-specifications/cf.platform.connectedSingleAttribute/withValue.md +12 -0
- package/dist/widget-specifications/cf.platform.connectedTableFilter/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.connectedTableFilter/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.connectedTableFilter/_overview.md +89 -0
- package/dist/widget-specifications/cf.platform.connectedTableFilter/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.customRichStringAttribute/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.customRichStringAttribute/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.customRichStringAttribute/_overview.md +39 -0
- package/dist/widget-specifications/cf.platform.customRichStringAttribute/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsList/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsList/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsList/_overview.md +66 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsList/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsList/search.md +8 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/_implementation.md +10 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/_meta.json +11 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/_overview.md +109 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/columns.md +14 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/multiSortColumns.md +16 -0
- package/dist/widget-specifications/cf.platform.embeddedSearchAsTable/search.md +8 -0
- package/dist/widget-specifications/cf.platform.files/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.files/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.files/_overview.md +74 -0
- package/dist/widget-specifications/cf.platform.files/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.iframe/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.iframe/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.iframe/_overview.md +77 -0
- package/dist/widget-specifications/cf.platform.iframe/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.incomingLinks/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.incomingLinks/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.incomingLinks/_overview.md +83 -0
- package/dist/widget-specifications/cf.platform.incomingLinks/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.incomingReferences/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.incomingReferences/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.incomingReferences/_overview.md +48 -0
- package/dist/widget-specifications/cf.platform.incomingReferences/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.makeover.attributes/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.makeover.attributes/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.makeover.attributes/_overview.md +48 -0
- package/dist/widget-specifications/cf.platform.makeover.attributes/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.modificationInfo/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.modificationInfo/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.modificationInfo/_overview.md +27 -0
- package/dist/widget-specifications/cf.platform.modificationInfo/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.myElements/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.myElements/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.myElements/_overview.md +69 -0
- package/dist/widget-specifications/cf.platform.myElements/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.richString/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.richString/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.richString/_overview.md +43 -0
- package/dist/widget-specifications/cf.platform.richString/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/_implementation.md +18 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/_overview.md +83 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.entity.md +10 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.quotedAttributeName.md +12 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.singleColumn.md +9 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.useParent.md +11 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.withLabel.md +11 -0
- package/dist/widget-specifications/cf.platform.singleAttribute/cf.platform.withValue.md +12 -0
- package/dist/widget-specifications/cf.platform.tags/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.tags/_meta.json +10 -0
- package/dist/widget-specifications/cf.platform.tags/_overview.md +49 -0
- package/dist/widget-specifications/cf.platform.tags/_summary.md +1 -0
- package/dist/widget-specifications/cf.platform.wiki/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.platform.wiki/_meta.json +9 -0
- package/dist/widget-specifications/cf.platform.wiki/_overview.md +32 -0
- package/dist/widget-specifications/cf.platform.wiki/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.gantt/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.gantt/_meta.json +11 -0
- package/dist/widget-specifications/cf.projektplanung.gantt/_overview.md +61 -0
- package/dist/widget-specifications/cf.projektplanung.gantt/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.ganttTaskDemo/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.ganttTaskDemo/_meta.json +10 -0
- package/dist/widget-specifications/cf.projektplanung.ganttTaskDemo/_overview.md +65 -0
- package/dist/widget-specifications/cf.projektplanung.ganttTaskDemo/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.multiGantt/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.multiGantt/_meta.json +11 -0
- package/dist/widget-specifications/cf.projektplanung.multiGantt/_overview.md +73 -0
- package/dist/widget-specifications/cf.projektplanung.multiGantt/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.scheduleTreeTable/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.scheduleTreeTable/_meta.json +10 -0
- package/dist/widget-specifications/cf.projektplanung.scheduleTreeTable/_overview.md +84 -0
- package/dist/widget-specifications/cf.projektplanung.scheduleTreeTable/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.singleGantt/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.singleGantt/_meta.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.singleGantt/_overview.md +27 -0
- package/dist/widget-specifications/cf.projektplanung.singleGantt/_summary.md +1 -0
- package/dist/widget-specifications/cf.projektplanung.singleGanttLink/_catalog-data.json +12 -0
- package/dist/widget-specifications/cf.projektplanung.singleGanttLink/_meta.json +10 -0
- package/dist/widget-specifications/cf.projektplanung.singleGanttLink/_overview.md +84 -0
- package/dist/widget-specifications/cf.projektplanung.singleGanttLink/_summary.md +1 -0
- package/dist/widget-specifications/de.2lforge.curves.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/de.2lforge.curves.widget/_meta.json +12 -0
- package/dist/widget-specifications/de.2lforge.curves.widget/_overview.md +73 -0
- package/dist/widget-specifications/de.2lforge.curves.widget/_summary.md +1 -0
- package/dist/widget-specifications/de.2lforge.toolbar.datePickerWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/de.2lforge.toolbar.datePickerWidget/_meta.json +9 -0
- package/dist/widget-specifications/de.2lforge.toolbar.datePickerWidget/_overview.md +67 -0
- package/dist/widget-specifications/de.2lforge.toolbar.datePickerWidget/_summary.md +1 -0
- package/dist/widget-specifications/de.2lforge.toolbar.dropDownWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/de.2lforge.toolbar.dropDownWidget/_meta.json +10 -0
- package/dist/widget-specifications/de.2lforge.toolbar.dropDownWidget/_overview.md +58 -0
- package/dist/widget-specifications/de.2lforge.toolbar.dropDownWidget/_summary.md +1 -0
- package/dist/widget-specifications/de.2lforge.toolbar.miscWidget/_catalog-data.json +12 -0
- package/dist/widget-specifications/de.2lforge.toolbar.miscWidget/_meta.json +8 -0
- package/dist/widget-specifications/de.2lforge.toolbar.miscWidget/_overview.md +43 -0
- package/dist/widget-specifications/de.2lforge.toolbar.miscWidget/_summary.md +1 -0
- package/dist/widget-specifications/de.visualistik.visualRoadmap.widget/_catalog-data.json +12 -0
- package/dist/widget-specifications/de.visualistik.visualRoadmap.widget/_meta.json +11 -0
- package/dist/widget-specifications/de.visualistik.visualRoadmap.widget/_overview.md +47 -0
- package/dist/widget-specifications/de.visualistik.visualRoadmap.widget/_summary.md +1 -0
- package/dist/widget-specifications/index.d.ts.map +1 -0
- package/dist/widget-specifications/index.js +55 -0
- package/dist/widget-specifications/index.js.map +1 -0
- package/dist/widget-specifications/msg.scripts.imagegallery.basic/_catalog-data.json +12 -0
- package/dist/widget-specifications/msg.scripts.imagegallery.basic/_meta.json +10 -0
- package/dist/widget-specifications/msg.scripts.imagegallery.basic/_overview.md +55 -0
- package/dist/widget-specifications/msg.scripts.imagegallery.basic/_summary.md +1 -0
- package/dist/widget-specifications/tag-registry.json +63 -0
- package/package.json +3 -2
package/dist/widget-specifications/_research_from_ga_products/cf-platform-attributes/research.md
ADDED
|
@@ -0,0 +1,377 @@
|
|
|
1
|
+
---
|
|
2
|
+
date: 2026-01-16
|
|
3
|
+
git_commit: fa3625a
|
|
4
|
+
branch: release/25.3
|
|
5
|
+
topic: "cf.platform.attributes Widget Research"
|
|
6
|
+
tags: [research, widget, attributes, platform, documentation]
|
|
7
|
+
status: complete
|
|
8
|
+
last_updated: 2026-01-16
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Research: cf.platform.attributes Widget
|
|
12
|
+
|
|
13
|
+
**Date**: 2026-01-16
|
|
14
|
+
**Widget ID**: `cf.platform.attributes`
|
|
15
|
+
**Repository**: main
|
|
16
|
+
**Branch**: release/25.3
|
|
17
|
+
|
|
18
|
+
## Summary
|
|
19
|
+
|
|
20
|
+
The `cf.platform.attributes` widget displays all attributes of a page in a read-only or editable format. It provides a simple, out-of-the-box solution for showing complete attribute information without requiring manual layout configuration.
|
|
21
|
+
|
|
22
|
+
**Key Characteristics:**
|
|
23
|
+
- Automatically displays all attributes defined on a page's type
|
|
24
|
+
- Shows both custom attributes and built-in attributes
|
|
25
|
+
- Provides inline editing capabilities (with appropriate permissions)
|
|
26
|
+
- Minimal configuration required
|
|
27
|
+
- Available in two versions: legacy and makeover (new UI)
|
|
28
|
+
|
|
29
|
+
## Widget Description
|
|
30
|
+
|
|
31
|
+
**1-2 Sentence Description:**
|
|
32
|
+
The Attributes widget displays all attributes of a page and allows users to edit them inline. It automatically renders all defined attributes according to the page's type definition without requiring manual attribute selection or layout configuration.
|
|
33
|
+
|
|
34
|
+
## Purpose
|
|
35
|
+
|
|
36
|
+
The `cf.platform.attributes` widget serves as a **comprehensive attribute viewer and editor** for cplace pages. It automatically discovers and displays all attributes defined on a page's type definition, including:
|
|
37
|
+
|
|
38
|
+
- Custom attributes defined on the type
|
|
39
|
+
- Built-in system attributes
|
|
40
|
+
- Inherited attributes from parent types
|
|
41
|
+
|
|
42
|
+
The widget uses the `$this.attributes()` template function, which internally calls `showTypeAndAttributes()` to render a complete attribute form using the `editableBlock` pattern with an editable form interface.
|
|
43
|
+
|
|
44
|
+
### Core Functionality
|
|
45
|
+
|
|
46
|
+
The widget provides:
|
|
47
|
+
1. **Automatic Discovery**: No configuration needed to specify which attributes to show
|
|
48
|
+
2. **Complete Display**: Shows all attributes from the type definition in order
|
|
49
|
+
3. **Inline Editing**: When enabled and user has permissions, attributes can be edited directly
|
|
50
|
+
4. **Edit Controls**: Displays "Edit" button when user has edit permissions on the page
|
|
51
|
+
|
|
52
|
+
## Use Cases
|
|
53
|
+
|
|
54
|
+
### 1. Standard Page Attribute Display
|
|
55
|
+
**Scenario**: Display all attributes on a standard entity page where full attribute coverage is needed.
|
|
56
|
+
|
|
57
|
+
**When to use**:
|
|
58
|
+
- Entity detail pages where all information should be visible
|
|
59
|
+
- Admin or configuration pages that need to show complete data
|
|
60
|
+
- Forms where all attributes need to be filled out
|
|
61
|
+
|
|
62
|
+
**Example**:
|
|
63
|
+
```
|
|
64
|
+
Project detail page showing all project attributes (name, status, owner, dates, description, etc.)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### 2. Quick Prototyping
|
|
68
|
+
**Scenario**: Rapidly build pages without manually configuring individual attribute widgets.
|
|
69
|
+
|
|
70
|
+
**When to use**:
|
|
71
|
+
- Early development phases
|
|
72
|
+
- Proof-of-concept implementations
|
|
73
|
+
- Internal tools where UI polish is secondary
|
|
74
|
+
|
|
75
|
+
**Advantages**: Automatically adjusts when type definition changes (new attributes added/removed).
|
|
76
|
+
|
|
77
|
+
### 3. Settings and Configuration Pages
|
|
78
|
+
**Scenario**: Display all configuration options for an entity.
|
|
79
|
+
|
|
80
|
+
**When to use**:
|
|
81
|
+
- System settings pages
|
|
82
|
+
- Entity configuration forms
|
|
83
|
+
- Type definition pages showing all available attributes
|
|
84
|
+
|
|
85
|
+
### 4. Full Edit Forms
|
|
86
|
+
**Scenario**: Provide a complete editable form for an entity.
|
|
87
|
+
|
|
88
|
+
**When to use**:
|
|
89
|
+
- When users need to edit multiple attributes at once
|
|
90
|
+
- Bulk data entry scenarios
|
|
91
|
+
- Entity creation wizards
|
|
92
|
+
|
|
93
|
+
**Note**: The widget provides standard form editing with submit buttons when edit mode is enabled.
|
|
94
|
+
|
|
95
|
+
## Configuration Concepts
|
|
96
|
+
|
|
97
|
+
The `cf.platform.attributes` widget is **minimally configurable** by design. It has no widget-specific configuration parameters visible to users.
|
|
98
|
+
|
|
99
|
+
### Template Parameters (Internal)
|
|
100
|
+
|
|
101
|
+
While not exposed as widget configuration, the underlying template function accepts optional parameters:
|
|
102
|
+
|
|
103
|
+
| Parameter | Type | Default | Description |
|
|
104
|
+
|-----------|------|---------|-------------|
|
|
105
|
+
| `includeRichStringAttributes` | Boolean | `true` | Whether to include rich text/HTML attributes in the display |
|
|
106
|
+
| `includeHiddenInAttributesWidgetAttributes` | Boolean | `false` | Whether to show attributes marked as "hidden in attributes widget" in the type definition |
|
|
107
|
+
| `showButtons` | Boolean | `false` | Whether to display form action buttons (Save/Cancel) |
|
|
108
|
+
|
|
109
|
+
**Note**: These parameters are hardcoded in the widget template (`attributesWidgetDefinition.htm`) and cannot be changed through the UI:
|
|
110
|
+
```
|
|
111
|
+
$this.attributes(includeRichStringAttributes="true",
|
|
112
|
+
includeHiddenInAttributesWidgetAttributes="false",
|
|
113
|
+
showButtons="false")$
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Attribute Filtering Behavior
|
|
117
|
+
|
|
118
|
+
The widget automatically filters attributes based on:
|
|
119
|
+
|
|
120
|
+
1. **Type Definition**: Only shows attributes defined in the page's type definition
|
|
121
|
+
2. **Visibility Settings**: By default excludes attributes with `showInAttributesWidget=false`
|
|
122
|
+
3. **Rich String Handling**: Includes rich text attributes (unlike some other widgets)
|
|
123
|
+
4. **Order**: Displays attributes in the order defined in the type definition
|
|
124
|
+
|
|
125
|
+
### Editable Block Pattern
|
|
126
|
+
|
|
127
|
+
The widget uses the `editableBlock` template pattern which:
|
|
128
|
+
- Shows an "Edit" button when the user has edit permissions
|
|
129
|
+
- Switches to edit mode when the button is clicked
|
|
130
|
+
- Displays form controls for each editable attribute
|
|
131
|
+
- Provides validation and error handling
|
|
132
|
+
- Handles form submission and page reload
|
|
133
|
+
|
|
134
|
+
## Context and Related Widgets
|
|
135
|
+
|
|
136
|
+
### Widget Family: Attribute Display Widgets
|
|
137
|
+
|
|
138
|
+
The cplace platform provides several widgets for displaying attributes, each serving different use cases:
|
|
139
|
+
|
|
140
|
+
| Widget | Purpose | Configuration Level | Use Case |
|
|
141
|
+
|--------|---------|---------------------|----------|
|
|
142
|
+
| **cf.platform.attributes** | Show all attributes | None | Complete attribute overview, default forms |
|
|
143
|
+
| **cf.platform.singleAttribute** | Show one attribute | Per-attribute config | Display specific attributes with custom labels/layout |
|
|
144
|
+
| **cf.cplace.platform.attributesGroup** | Show selected attributes in custom layout | Full layout control | Custom forms with precise attribute positioning |
|
|
145
|
+
| **cf.platform.connectedSingleAttribute** | Show attribute from table row | Table integration | Dynamic attribute display based on table selection |
|
|
146
|
+
|
|
147
|
+
### When to Use cf.platform.attributes vs. Alternatives
|
|
148
|
+
|
|
149
|
+
#### Use cf.platform.attributes when:
|
|
150
|
+
- You need to show **all** attributes of a page
|
|
151
|
+
- You want **zero configuration** setup
|
|
152
|
+
- The default ordering and layout is acceptable
|
|
153
|
+
- You're building internal tools or prototypes quickly
|
|
154
|
+
|
|
155
|
+
#### Use cf.cplace.platform.attributesGroup when:
|
|
156
|
+
- You need **custom layout** (multi-column, grouping, specific arrangement)
|
|
157
|
+
- Only **subset of attributes** should be displayed
|
|
158
|
+
- You want to **mix attribute widgets** with other widgets (charts, tables, etc.)
|
|
159
|
+
- Fine-grained control over appearance is required
|
|
160
|
+
|
|
161
|
+
#### Use cf.platform.singleAttribute when:
|
|
162
|
+
- Displaying **one specific attribute** in isolation
|
|
163
|
+
- Need **alternative labels** or custom formatting
|
|
164
|
+
- Want **conditional visibility** based on scripts
|
|
165
|
+
- Attribute should appear in a specific widget location
|
|
166
|
+
|
|
167
|
+
### Embedding Rules
|
|
168
|
+
|
|
169
|
+
The `cf.platform.attributes` widget can be embedded in:
|
|
170
|
+
- **CustomEntity pages**: Standard entity pages with type definitions
|
|
171
|
+
- **Type definition pages**: Configuration pages for types themselves
|
|
172
|
+
|
|
173
|
+
It **cannot** be embedded in:
|
|
174
|
+
- **Spaces**: Workspace-level pages
|
|
175
|
+
- **Documents**: File entities
|
|
176
|
+
- Other widgets (not a container-embeddable widget)
|
|
177
|
+
|
|
178
|
+
This restriction is enforced by:
|
|
179
|
+
```java
|
|
180
|
+
checkEntityKindAndAllowTypeDefinitionsWhichApplyToIt(entity, embedding, CustomEntity.class);
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Two Versions: Legacy and Makeover
|
|
184
|
+
|
|
185
|
+
There are two implementations of the Attributes widget:
|
|
186
|
+
|
|
187
|
+
#### 1. Legacy Version: `cf.platform.attributes`
|
|
188
|
+
- **Definition**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/AttributesWidgetDefinition.java`
|
|
189
|
+
- **Icon**: `fa-pen-square`
|
|
190
|
+
- **Status**: Standard, always available
|
|
191
|
+
- **Description**: "Shows all attributes of a page and allows you to edit them."
|
|
192
|
+
|
|
193
|
+
#### 2. Makeover Version: `cf.platform.makeover.attributes`
|
|
194
|
+
- **Definition**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/makeover/AttributesWidgetDefinition.java`
|
|
195
|
+
- **Icon**: `fa-list-alt`
|
|
196
|
+
- **Status**: Feature-flagged (requires `isNewAttributesWidgetEnabled()`)
|
|
197
|
+
- **Description**: "Displays all attributes of the page and allows editing."
|
|
198
|
+
- **Difference**: New Angular-based UI implementation
|
|
199
|
+
|
|
200
|
+
The makeover version provides:
|
|
201
|
+
- Modern Angular component architecture
|
|
202
|
+
- Improved rendering performance
|
|
203
|
+
- Updated visual design
|
|
204
|
+
- Feature flag controlled rollout
|
|
205
|
+
|
|
206
|
+
## Implementation Details
|
|
207
|
+
|
|
208
|
+
### Widget Definition
|
|
209
|
+
|
|
210
|
+
| Property | Value |
|
|
211
|
+
|----------|-------|
|
|
212
|
+
| Widget Kind | `cf.platform.attributes` |
|
|
213
|
+
| Definition Class | `AttributesWidgetDefinition` |
|
|
214
|
+
| Icon | `fa-pen-square` |
|
|
215
|
+
| App | Platform Plugin |
|
|
216
|
+
| Configuration Type | None (no custom configuration) |
|
|
217
|
+
| Template | `attributesWidgetDefinition.htm` |
|
|
218
|
+
|
|
219
|
+
### Template Rendering
|
|
220
|
+
|
|
221
|
+
**Template File**: `cf.cplace.platform/src/main/resources/cf/cplace/platform/frontend/widgets/attributesWidgetDefinition.htm`
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
$this.attributes(includeRichStringAttributes="true",
|
|
225
|
+
includeHiddenInAttributesWidgetAttributes="false",
|
|
226
|
+
showButtons="false")$
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
**Template Function Chain**:
|
|
230
|
+
1. `$this.attributes()` → Creates TemplateSubstitution with CustomEntity as scope
|
|
231
|
+
2. Resolves to `showTypeAndAttributes()` template
|
|
232
|
+
3. Calls `$this.showCustomAttributes()` → Renders attribute compartment
|
|
233
|
+
4. Uses `CustomAttributeCompartmentSubstitutions` to generate attribute list
|
|
234
|
+
5. Renders each attribute using its appropriate view/edit control
|
|
235
|
+
|
|
236
|
+
### Permission Handling
|
|
237
|
+
|
|
238
|
+
The widget respects entity-level permissions:
|
|
239
|
+
- **Read Permission**: Required to view the widget
|
|
240
|
+
- **Edit Permission**: Required to see the "Edit" button and modify attributes
|
|
241
|
+
- **Attribute-level Permissions**: Individual attributes may have additional read/write restrictions
|
|
242
|
+
|
|
243
|
+
The `checkEmbeddableIn()` method ensures:
|
|
244
|
+
```java
|
|
245
|
+
defaultCheckEmbeddableIn(entity, embedding);
|
|
246
|
+
checkEntityKindAndAllowTypeDefinitionsWhichApplyToIt(entity, embedding, CustomEntity.class);
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### Comparison to Other Widgets
|
|
250
|
+
|
|
251
|
+
#### vs. AttributesGroupWidgetDefinition
|
|
252
|
+
|
|
253
|
+
| Aspect | cf.platform.attributes | cf.cplace.platform.attributesGroup |
|
|
254
|
+
|--------|------------------------|-------------------------------------|
|
|
255
|
+
| **Attributes Shown** | All (automatic) | Selected (manual configuration) |
|
|
256
|
+
| **Layout** | Fixed (vertical list) | Customizable (grid with rows/columns) |
|
|
257
|
+
| **Configuration** | None | Data source, layout, title, frame settings |
|
|
258
|
+
| **Use Case** | Quick display of all data | Custom forms with precise control |
|
|
259
|
+
| **Child Widgets** | No | Yes (can embed other widgets) |
|
|
260
|
+
| **Data Source** | Embedding page only | Embedding page, explicit selection, or attribute reference |
|
|
261
|
+
|
|
262
|
+
#### vs. SingleAttributeWidgetDefinition
|
|
263
|
+
|
|
264
|
+
| Aspect | cf.platform.attributes | cf.platform.singleAttribute |
|
|
265
|
+
|--------|------------------------|----------------------------|
|
|
266
|
+
| **Attributes Shown** | All | One |
|
|
267
|
+
| **Configuration** | None | 11 parameters (entity, attribute, label, editing, etc.) |
|
|
268
|
+
| **Label Customization** | No | Yes (alternative labels) |
|
|
269
|
+
| **Layout Options** | Fixed | Single/double column |
|
|
270
|
+
| **Conditional Display** | No | Yes (via cplaceJS script) |
|
|
271
|
+
| **In-place Editing** | Form-based | Direct inline editing |
|
|
272
|
+
|
|
273
|
+
## Code References
|
|
274
|
+
|
|
275
|
+
### Core Files
|
|
276
|
+
- **Widget Definition**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/AttributesWidgetDefinition.java:19-68`
|
|
277
|
+
- **Makeover Definition**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/makeover/AttributesWidgetDefinition.java:21-81`
|
|
278
|
+
- **Template**: `cf.cplace.platform/src/main/resources/cf/cplace/platform/frontend/widgets/attributesWidgetDefinition.htm:1-2`
|
|
279
|
+
|
|
280
|
+
### Template Functions
|
|
281
|
+
- **attributes()**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/templating/ObjectFunctions.java:3370-3377`
|
|
282
|
+
- **showTypeAndAttributes()**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/templating/ObjectFunctions.java:1383-1404`
|
|
283
|
+
- **showCustomAttributes()**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/templating/ObjectFunctions.java:1419-1433`
|
|
284
|
+
|
|
285
|
+
### Supporting Classes
|
|
286
|
+
- **CustomAttributeCompartmentSubstitutions**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/templating/CustomAttributeCompartmentSubstitutions.java:26-134`
|
|
287
|
+
- **ContentWidgetTemplateSubstitution**: `cf.cplace.platform/src/main/java/cf/cplace/platform/frontend/widgets/ContentWidgetTemplateSubstitution.java`
|
|
288
|
+
|
|
289
|
+
### Internationalization
|
|
290
|
+
- **English**: `cf.cplace.platform/src/main/resources/cf/cplace/platform/messages_en.properties`
|
|
291
|
+
- `frontend.widgets.AttributesWidgetDefinition.name=Attributes`
|
|
292
|
+
- `frontend.widgets.AttributesWidgetDefinition.description=Shows all attributes of a page and allows you to edit them.`
|
|
293
|
+
- **German**: `cf.cplace.platform/src/main/resources/cf/cplace/platform/messages_de.properties`
|
|
294
|
+
- `frontend.widgets.AttributesWidgetDefinition.name=Attribute`
|
|
295
|
+
- `frontend.widgets.AttributesWidgetDefinition.description=Zeigt alle Attribute einer Seite an und ermöglicht deren Bearbeitung.`
|
|
296
|
+
|
|
297
|
+
## Architecture Insights
|
|
298
|
+
|
|
299
|
+
### Design Philosophy
|
|
300
|
+
|
|
301
|
+
The `cf.platform.attributes` widget embodies the "convention over configuration" principle:
|
|
302
|
+
- **Zero Configuration**: No setup required, works immediately
|
|
303
|
+
- **Type-Driven**: Automatically adapts to type definition changes
|
|
304
|
+
- **Standard Presentation**: Consistent appearance across all entity types
|
|
305
|
+
|
|
306
|
+
This makes it ideal for:
|
|
307
|
+
- Rapid development
|
|
308
|
+
- Administrative interfaces
|
|
309
|
+
- Default views before custom layouts are created
|
|
310
|
+
|
|
311
|
+
### Template Pattern Usage
|
|
312
|
+
|
|
313
|
+
The widget uses cplace's template system with the `editableBlock` pattern:
|
|
314
|
+
```
|
|
315
|
+
$this.attributes()$
|
|
316
|
+
→ showTypeAndAttributes()
|
|
317
|
+
→ showCustomAttributes()
|
|
318
|
+
→ editableBlock(withoutForm=true, showButtons=false)
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
This pattern provides:
|
|
322
|
+
- Automatic form generation
|
|
323
|
+
- Built-in edit/view mode switching
|
|
324
|
+
- Permission-aware rendering
|
|
325
|
+
- Consistent UI behavior
|
|
326
|
+
|
|
327
|
+
### ContentWidgetTemplateSubstitution
|
|
328
|
+
|
|
329
|
+
The widget uses a generic `ContentWidgetTemplateSubstitution`:
|
|
330
|
+
```java
|
|
331
|
+
public WidgetTemplateSubstitution getContentSubstitution(WidgetConfiguration conf,
|
|
332
|
+
WidgetSubstitutionParameters params) {
|
|
333
|
+
return new ContentWidgetTemplateSubstitution(this, params) {};
|
|
334
|
+
}
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
This minimal implementation indicates that all rendering logic is delegated to the template file and template functions.
|
|
338
|
+
|
|
339
|
+
## Related Research
|
|
340
|
+
|
|
341
|
+
- **AttributesGroupWidgetDefinition**: `/Users/thomasbuechner/dev/repos/main/specs/2026-01-12_attributes-group-widget-parameters/research.md`
|
|
342
|
+
- **SingleAttributeWidgetDefinition**: `/Users/thomasbuechner/dev/repos/main/specs/2026-01-12_single-attribute-widget-parameters/research.md`
|
|
343
|
+
- **ConnectedSingleAttributeWidgetDefinition**: `/Users/thomasbuechner/dev/repos/main/specs/2026-01-11_connected-single-attribute-widget-parameters/research.md`
|
|
344
|
+
|
|
345
|
+
## Key Takeaways
|
|
346
|
+
|
|
347
|
+
1. **Simplicity First**: The widget prioritizes ease of use over configurability
|
|
348
|
+
2. **Automatic Adaptation**: Changes to type definitions automatically reflect in the widget
|
|
349
|
+
3. **Standard Tool**: Serves as the default attribute viewer for most entity pages
|
|
350
|
+
4. **Gateway Widget**: Often used initially, then replaced with `AttributesGroupWidget` as UX requirements mature
|
|
351
|
+
5. **Dual Versions**: Both legacy and makeover versions coexist during platform modernization
|
|
352
|
+
|
|
353
|
+
## Recommendations for Documentation
|
|
354
|
+
|
|
355
|
+
### Short Description
|
|
356
|
+
"Displays all attributes of a page and allows inline editing with appropriate permissions."
|
|
357
|
+
|
|
358
|
+
### Use Case Summary
|
|
359
|
+
Best suited for:
|
|
360
|
+
- Entity detail pages requiring complete attribute coverage
|
|
361
|
+
- Rapid prototyping and development
|
|
362
|
+
- Administrative interfaces
|
|
363
|
+
- Default views before custom layouts are implemented
|
|
364
|
+
|
|
365
|
+
Consider alternatives when:
|
|
366
|
+
- Custom attribute layout is required
|
|
367
|
+
- Only specific attributes should be visible
|
|
368
|
+
- Attributes need custom labels or conditional visibility
|
|
369
|
+
- Integration with table selections is needed
|
|
370
|
+
|
|
371
|
+
### Configuration Guidance
|
|
372
|
+
No configuration required. The widget automatically displays all attributes from the page's type definition in the order they are defined.
|
|
373
|
+
|
|
374
|
+
To customize attribute display, consider using:
|
|
375
|
+
- **Grouped Attributes of a Page** widget for custom layouts
|
|
376
|
+
- **Single Attribute** widget for individual attribute display
|
|
377
|
+
- Type definition settings to control attribute visibility and order
|
package/dist/widget-specifications/_research_from_ga_products/cf-platform-comments/research.md
ADDED
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
# Research: cf.platform.comments Widget
|
|
2
|
+
|
|
3
|
+
## Widget Overview
|
|
4
|
+
|
|
5
|
+
**Widget ID:** `cf.platform.comments`
|
|
6
|
+
**Widget Name:** Comments
|
|
7
|
+
**Repository:** main (cf.cplace.platform)
|
|
8
|
+
**Definition Class:** `cf.cplace.platform.frontend.widgets.CommentsWidgetDefinition`
|
|
9
|
+
|
|
10
|
+
### Description
|
|
11
|
+
|
|
12
|
+
The Comments widget enables users to add and view comments on pages and other commentable entities. It provides a collaborative discussion interface where users can create threaded conversations with support for replies, mentions, and real-time updates.
|
|
13
|
+
|
|
14
|
+
## Purpose
|
|
15
|
+
|
|
16
|
+
The Comments widget serves as the primary commenting system within the cPlacesplatform. It allows users to:
|
|
17
|
+
|
|
18
|
+
- Add comments to pages and other entities that implement the Commentable mixin
|
|
19
|
+
- Reply to existing comments (one level of nesting supported)
|
|
20
|
+
- Edit and delete their own comments
|
|
21
|
+
- View threaded comment discussions sorted by creation date
|
|
22
|
+
- Receive notifications when new comments are added
|
|
23
|
+
- Mention other users using @mentions functionality (when enabled)
|
|
24
|
+
|
|
25
|
+
## Core Functionality
|
|
26
|
+
|
|
27
|
+
### Comment Management
|
|
28
|
+
|
|
29
|
+
The widget provides full CRUD operations for comments:
|
|
30
|
+
|
|
31
|
+
1. **Create Comments**: Users can create new root-level comments on any commentable entity
|
|
32
|
+
2. **Create Replies**: Users can reply to existing comments (nested replies are not allowed - only one level of threading)
|
|
33
|
+
3. **Edit Comments**: Comment creators can edit their own comments
|
|
34
|
+
4. **Delete Comments**: Comment creators can delete their own comments (cascade delete for replies)
|
|
35
|
+
5. **View Comments**: All users with read access to the parent entity can view comments
|
|
36
|
+
|
|
37
|
+
### Key Features
|
|
38
|
+
|
|
39
|
+
- **Pagination**: Comments are loaded in pages of 20 items for performance
|
|
40
|
+
- **Real-time Updates**: Polling mechanism (60-second interval) to load new comments automatically
|
|
41
|
+
- **Threading**: One level of reply support (comments → replies, but no nested replies)
|
|
42
|
+
- **Permissions**: Comment read access inherits from the parent commentable entity
|
|
43
|
+
- **Notifications**: New comment notifications are sent to relevant users
|
|
44
|
+
- **Mentions**: Support for @mentions to notify specific users (experimental feature)
|
|
45
|
+
- **Rich Text**: Comment content supports rich text formatting
|
|
46
|
+
|
|
47
|
+
### Technical Architecture
|
|
48
|
+
|
|
49
|
+
**Backend Components:**
|
|
50
|
+
- `CommentsWidgetDefinition.java`: Widget definition and configuration
|
|
51
|
+
- `Comment.java`: Comment entity with content, creator, and commentable reference
|
|
52
|
+
- `Commentable.java`: Mixin interface that entities must implement to support comments
|
|
53
|
+
- `CommentsWidgetService.java`: Service layer handling comment operations
|
|
54
|
+
- `CommentsWidgetController.java`: REST API endpoints for comment operations
|
|
55
|
+
|
|
56
|
+
**Frontend Components:**
|
|
57
|
+
- `CommentsCtrl.ts`: Angular controller managing comment UI state
|
|
58
|
+
- REST API integration for CRUD operations
|
|
59
|
+
- Keyboard shortcuts (Ctrl+Enter to submit)
|
|
60
|
+
- Form dirty state tracking
|
|
61
|
+
|
|
62
|
+
## Use Cases
|
|
63
|
+
|
|
64
|
+
### 1. Page Discussions
|
|
65
|
+
|
|
66
|
+
The most common use case is adding comments to pages for collaborative discussions:
|
|
67
|
+
|
|
68
|
+
- **Project Updates**: Team members can discuss project status on project pages
|
|
69
|
+
- **Document Reviews**: Reviewers can add comments and feedback on document pages
|
|
70
|
+
- **Meeting Notes**: Participants can add comments to meeting notes pages
|
|
71
|
+
- **Task Discussions**: Team members can discuss task details and progress
|
|
72
|
+
|
|
73
|
+
### 2. Feedback and Reviews
|
|
74
|
+
|
|
75
|
+
Comments can be used for structured feedback:
|
|
76
|
+
|
|
77
|
+
- **Content Review**: Reviewers can provide feedback on page content
|
|
78
|
+
- **Approval Workflows**: Stakeholders can add comments during approval processes
|
|
79
|
+
- **Quality Assurance**: QA team members can document findings and issues
|
|
80
|
+
|
|
81
|
+
### 3. Collaborative Knowledge Building
|
|
82
|
+
|
|
83
|
+
Comments facilitate knowledge sharing:
|
|
84
|
+
|
|
85
|
+
- **Questions and Answers**: Users can ask questions and receive answers
|
|
86
|
+
- **Additional Information**: Users can provide supplementary information
|
|
87
|
+
- **Clarifications**: Users can clarify ambiguous content
|
|
88
|
+
- **Historical Context**: Long-term discussions provide context for decisions
|
|
89
|
+
|
|
90
|
+
### 4. Change Tracking
|
|
91
|
+
|
|
92
|
+
Comments serve as an audit trail:
|
|
93
|
+
|
|
94
|
+
- **Change Rationale**: Document why changes were made
|
|
95
|
+
- **Decision History**: Track decision-making discussions
|
|
96
|
+
- **Version Discussions**: Discuss different versions of content
|
|
97
|
+
|
|
98
|
+
## Configuration Options
|
|
99
|
+
|
|
100
|
+
### Widget Configuration Attributes
|
|
101
|
+
|
|
102
|
+
The Comments widget can be configured with the following attributes (defined in `CONFIGURATION`):
|
|
103
|
+
|
|
104
|
+
1. **Widget Title** (`cf.platform.title`)
|
|
105
|
+
- Type: Localized String (optional)
|
|
106
|
+
- Purpose: Custom title for the widget instance
|
|
107
|
+
- Default: "Comments" (localized)
|
|
108
|
+
|
|
109
|
+
2. **Fixed Height** (`cf.platform.height`)
|
|
110
|
+
- Type: Number (optional)
|
|
111
|
+
- Purpose: Set a fixed height for the widget in pixels
|
|
112
|
+
- Use Case: Control widget size in page layouts
|
|
113
|
+
|
|
114
|
+
### Embedding Requirements
|
|
115
|
+
|
|
116
|
+
The widget can only be embedded on entities that meet the following criteria:
|
|
117
|
+
|
|
118
|
+
1. **Must implement Commentable mixin**: The entity must have the `Commentable` mixin
|
|
119
|
+
2. **Must be embeddable as widget**: Standard widget embedding rules apply
|
|
120
|
+
3. **Cannot be duplicated**: The widget checks to prevent multiple instances on the same entity
|
|
121
|
+
|
|
122
|
+
### Known Commentable Entities
|
|
123
|
+
|
|
124
|
+
Based on the codebase analysis, the following entities support comments:
|
|
125
|
+
|
|
126
|
+
- **Page**: The primary entity type that implements Commentable
|
|
127
|
+
- **TypeDefinition**: Can be commentable in layout views (though not directly)
|
|
128
|
+
|
|
129
|
+
Other entities in custom plugins can implement the Commentable mixin to support comments.
|
|
130
|
+
|
|
131
|
+
## Context and Relationships
|
|
132
|
+
|
|
133
|
+
### Mixin Architecture
|
|
134
|
+
|
|
135
|
+
The Comments widget relies on the Mixin pattern:
|
|
136
|
+
|
|
137
|
+
- **Commentable Mixin**: Entities must implement this mixin to support comments
|
|
138
|
+
- **Required Mixins**: Commentable requires the `Linkable` mixin
|
|
139
|
+
- **Related Mixins**: Comments themselves implement `ReadProtected`, `Linkable`, `Searchable`, `Modifiable`, `InSpace`, and `Restorable`
|
|
140
|
+
|
|
141
|
+
### Related Features
|
|
142
|
+
|
|
143
|
+
1. **Mentions (@mentions)** - Experimental Feature
|
|
144
|
+
- Allows users to mention other users in comments using @username
|
|
145
|
+
- Triggers notifications to mentioned users
|
|
146
|
+
- Controlled by `Application.mentionsFeature` flag
|
|
147
|
+
|
|
148
|
+
2. **New Comments Widget** - Experimental
|
|
149
|
+
- Modernized frontend implementation
|
|
150
|
+
- Controlled by `Application.commentsWidgetNewFe` flag
|
|
151
|
+
- Different padding behavior for improved UI
|
|
152
|
+
|
|
153
|
+
3. **User Notifications**
|
|
154
|
+
- `NewCommentUserNotification`: Notifies relevant users about new comments
|
|
155
|
+
- Notifications sent to users with read access to the commented entity
|
|
156
|
+
|
|
157
|
+
4. **Activity Stream Integration**
|
|
158
|
+
- Comments are tracked as `CommentChange` events
|
|
159
|
+
- Integrated into the page's activity stream and history
|
|
160
|
+
|
|
161
|
+
### Data Model
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
Commentable (Mixin)
|
|
165
|
+
↓ (has many)
|
|
166
|
+
Comment (Entity)
|
|
167
|
+
- content: String (medium text)
|
|
168
|
+
- creator: Person
|
|
169
|
+
- modifier: Person
|
|
170
|
+
- createdAt: DateTime
|
|
171
|
+
- modifiedAt: DateTime
|
|
172
|
+
- commentable: Commentable (reference)
|
|
173
|
+
- replyTo: Comment (optional, for replies)
|
|
174
|
+
↓ (has many)
|
|
175
|
+
Comment (Replies - one level only)
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### API Integration
|
|
179
|
+
|
|
180
|
+
The widget uses the following REST endpoints:
|
|
181
|
+
|
|
182
|
+
- **Load Comments**: `DataHandler.class` - GET request to load comments with pagination
|
|
183
|
+
- **Create Comment**: `NewHandler.class` - POST request to create new comments
|
|
184
|
+
- **Update Comment**: Service endpoint for editing comments
|
|
185
|
+
- **Delete Comment**: Service endpoint for deleting comments
|
|
186
|
+
|
|
187
|
+
## Design Patterns and Constraints
|
|
188
|
+
|
|
189
|
+
### Constraints
|
|
190
|
+
|
|
191
|
+
1. **Reply Nesting**: Only one level of replies allowed (no nested replies)
|
|
192
|
+
- Enforced by `noNestedRepliesValidator` in Comment entity
|
|
193
|
+
- Error message: "Nested comments are not allowed"
|
|
194
|
+
|
|
195
|
+
2. **Permissions**:
|
|
196
|
+
- Comment read access inherits from parent entity
|
|
197
|
+
- Only comment creator can edit their own comments
|
|
198
|
+
- Only comment creator can delete their own comments
|
|
199
|
+
|
|
200
|
+
3. **Content Length**: Comments limited to medium text size (database constraint)
|
|
201
|
+
|
|
202
|
+
4. **Non-blank Content**: Comments must have non-empty content
|
|
203
|
+
|
|
204
|
+
### Performance Considerations
|
|
205
|
+
|
|
206
|
+
1. **Pagination**: 20 comments per page to avoid loading large datasets
|
|
207
|
+
2. **Polling**: 60-second interval for automatic comment updates
|
|
208
|
+
3. **Caching**: Read access permissions cached for performance
|
|
209
|
+
4. **Cascade Delete**: Deleting a commentable entity cascades to all comments
|
|
210
|
+
|
|
211
|
+
## Implementation Notes
|
|
212
|
+
|
|
213
|
+
### Icon
|
|
214
|
+
|
|
215
|
+
- Widget icon: `fa-comments` (Font Awesome)
|
|
216
|
+
- Comment icon: `fa-comment`
|
|
217
|
+
|
|
218
|
+
### Localization
|
|
219
|
+
|
|
220
|
+
All UI strings are localized through the messages property files:
|
|
221
|
+
- Widget name and description
|
|
222
|
+
- Configuration attribute labels
|
|
223
|
+
- Validation messages
|
|
224
|
+
- Error messages
|
|
225
|
+
|
|
226
|
+
### Frontend State Management
|
|
227
|
+
|
|
228
|
+
The widget maintains state through:
|
|
229
|
+
- `ICommentsState`: Contains commentable UID and API URLs
|
|
230
|
+
- `loading`: Boolean flag for loading state
|
|
231
|
+
- `comments`: Array of loaded comments with replies
|
|
232
|
+
- `hasMore`: Boolean indicating if more comments available
|
|
233
|
+
- `newComment`: String for new comment input
|
|
234
|
+
- `pollingPromise`: Promise for automatic polling
|
|
235
|
+
|
|
236
|
+
### Backend Validation
|
|
237
|
+
|
|
238
|
+
Comments are validated on the backend:
|
|
239
|
+
- Non-blank content required
|
|
240
|
+
- Valid creator reference required
|
|
241
|
+
- Valid commentable reference required
|
|
242
|
+
- Reply nesting depth validation
|
|
243
|
+
|
|
244
|
+
## Future Enhancements
|
|
245
|
+
|
|
246
|
+
Based on the codebase, there are experimental features in development:
|
|
247
|
+
|
|
248
|
+
1. **New Comments Widget UI**: Modernized frontend implementation with improved UX
|
|
249
|
+
2. **@Mentions Feature**: User mentions with notifications (in experimental state)
|
|
250
|
+
3. **Rich Text Improvements**: Enhanced formatting capabilities for comment content
|
|
251
|
+
|
|
252
|
+
## Summary
|
|
253
|
+
|
|
254
|
+
The Comments widget (`cf.platform.comments`) is a core collaboration feature that enables threaded discussions on pages and other commentable entities. It provides a complete commenting system with create, read, update, and delete operations, one level of reply threading, permission inheritance, pagination, and notification support. The widget is highly integrated with the platform's security, notification, and activity tracking systems, making it a foundational component for collaborative workflows.
|