@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
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# Widget Research: cf.cplace.projectTree.editProjects
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
**Widget ID:** `cf.cplace.projectTree.editProjects`
|
|
6
|
+
**Widget Name:** Edit Project Structure
|
|
7
|
+
**Repository:** `cplace-project-planning`
|
|
8
|
+
**Definition Class:** `cf.cplace.projectTree/src/main/java/cf/cplace/projectTree/script/EditProjectHierarchyWidgetDefinition.java`
|
|
9
|
+
**Plugin:** `cf.cplace.projectTree` (Project Structure)
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
The "Edit Project Structure" widget provides an interactive tree view for visualizing and managing the hierarchical structure of projects and schedules. It enables users to create, reorganize, and manage project hierarchies through drag-and-drop functionality, allowing restructuring of projects and schedules within the project tree.
|
|
14
|
+
|
|
15
|
+
**Short Description:** Displays a hierarchical tree of projects and schedules, allowing users to create subprojects, create schedules, and reorganize the project structure via drag-and-drop.
|
|
16
|
+
|
|
17
|
+
## Core Functionality
|
|
18
|
+
|
|
19
|
+
### What It Does
|
|
20
|
+
|
|
21
|
+
1. **Displays Project Hierarchy as a Tree**
|
|
22
|
+
- Shows projects and their subprojects in an expandable/collapsible tree structure
|
|
23
|
+
- Shows schedules associated with each project
|
|
24
|
+
- Displays both direct children and "additionally linked" projects/schedules (shown with a special icon)
|
|
25
|
+
|
|
26
|
+
2. **Enables Drag-and-Drop Reorganization**
|
|
27
|
+
- Move projects to different parent projects
|
|
28
|
+
- Move schedules to different parent projects
|
|
29
|
+
- Reorder projects within the same parent (projects maintain an order index)
|
|
30
|
+
- Move additionally linked items between parents
|
|
31
|
+
|
|
32
|
+
3. **Provides Context Menu Actions**
|
|
33
|
+
- Create Subproject (direct creation)
|
|
34
|
+
- Create Subproject from Template
|
|
35
|
+
- Create Schedule (new or from template)
|
|
36
|
+
- Delete project/schedule
|
|
37
|
+
- Open in new tab
|
|
38
|
+
- Unlink project (for additionally linked items)
|
|
39
|
+
|
|
40
|
+
### Key Technical Details
|
|
41
|
+
|
|
42
|
+
- Uses `ProjectsTreeContentProvider` to fetch and organize tree data
|
|
43
|
+
- Implements `CanMoveHandler` and `MoveHandler` for drag-and-drop validation and execution
|
|
44
|
+
- Supports both primary parent relationships and "Additional Project Links" (secondary relationships for cross-references)
|
|
45
|
+
- Tree roots are initially expanded; child nodes load on demand
|
|
46
|
+
- Respects access permissions - only shows items the user can read
|
|
47
|
+
|
|
48
|
+
## Use Cases
|
|
49
|
+
|
|
50
|
+
### Primary Use Cases
|
|
51
|
+
|
|
52
|
+
1. **Portfolio Management Dashboard**
|
|
53
|
+
- PMO teams use this widget to get a visual overview of all projects
|
|
54
|
+
- Navigate the project hierarchy to find specific projects or schedules
|
|
55
|
+
- Restructure projects as organizational needs change
|
|
56
|
+
|
|
57
|
+
2. **Project Reorganization**
|
|
58
|
+
- Move a project to a new parent project when organizational structure changes
|
|
59
|
+
- Move schedules between projects when scope or responsibility shifts
|
|
60
|
+
- Clean up project hierarchies by deleting unused projects
|
|
61
|
+
|
|
62
|
+
3. **New Project/Schedule Creation**
|
|
63
|
+
- Create subprojects directly under a parent project
|
|
64
|
+
- Create schedules from templates within the project structure
|
|
65
|
+
- Build out project hierarchies with nested subprojects
|
|
66
|
+
|
|
67
|
+
4. **Cross-Project Relationships**
|
|
68
|
+
- View projects that appear in multiple locations via "Additional Project Links"
|
|
69
|
+
- Manage thematic relationships between projects without changing the primary hierarchy
|
|
70
|
+
|
|
71
|
+
### When to Use This Widget
|
|
72
|
+
|
|
73
|
+
- **Use when:** Users need to manage the overall project structure, create new projects/schedules, or reorganize existing hierarchies
|
|
74
|
+
- **Placement:** Typically on a dedicated "Project Structure" or "Portfolio" page, or on a project's dashboard to show its subprojects
|
|
75
|
+
|
|
76
|
+
### Problems It Solves
|
|
77
|
+
|
|
78
|
+
- Provides a visual representation of complex project hierarchies that would be hard to understand in a flat list
|
|
79
|
+
- Enables restructuring without navigating to individual project pages
|
|
80
|
+
- Centralizes project/schedule creation actions in one interface
|
|
81
|
+
- Shows cross-linked projects without duplicating the actual project data
|
|
82
|
+
|
|
83
|
+
## Configuration Options
|
|
84
|
+
|
|
85
|
+
### Main Configuration Attributes
|
|
86
|
+
|
|
87
|
+
| Attribute | Type | Description |
|
|
88
|
+
|-----------|------|-------------|
|
|
89
|
+
| `title` | LocalizedString | Optional custom title for the widget. If not set, uses the default widget name. |
|
|
90
|
+
| `rootProjects` | Multi-page reference | Explicitly selected root projects to display. If empty, shows all projects without a parent. |
|
|
91
|
+
| `rootProjectsSearch` | Search | A search query to find additional root projects. Results are appended to explicitly selected projects. The search automatically filters for projects only. |
|
|
92
|
+
| `height` | Number | Fixed height for the widget. Height adapts if context menu doesn't fit. |
|
|
93
|
+
|
|
94
|
+
### Configuration Modes
|
|
95
|
+
|
|
96
|
+
1. **Default Mode (no configuration)**
|
|
97
|
+
- Shows all root-level projects (projects without a parent) across all workspaces with the Project Structure app
|
|
98
|
+
- Useful for organization-wide portfolio views
|
|
99
|
+
|
|
100
|
+
2. **Filtered by Selection**
|
|
101
|
+
- Explicitly select specific projects as roots
|
|
102
|
+
- Only those projects and their children appear in the tree
|
|
103
|
+
- Useful for focused views on specific project groups
|
|
104
|
+
|
|
105
|
+
3. **Filtered by Search**
|
|
106
|
+
- Define a search query to dynamically find root projects
|
|
107
|
+
- Can combine with explicit selections (explicit + search results)
|
|
108
|
+
- Useful for dynamic views based on project attributes
|
|
109
|
+
|
|
110
|
+
### Important Behaviors
|
|
111
|
+
|
|
112
|
+
- If configured root projects exist but the user cannot see them (permissions), shows an info message about invisible projects
|
|
113
|
+
- Root projects from search are sorted alphabetically
|
|
114
|
+
- Direct children projects are sorted by order index (manually orderable)
|
|
115
|
+
- Schedules are sorted by name
|
|
116
|
+
|
|
117
|
+
## Related Components
|
|
118
|
+
|
|
119
|
+
### Part of Larger Feature Set
|
|
120
|
+
|
|
121
|
+
This widget is part of the **Project Structure** (`cf.cplace.projectTree`) app, which includes:
|
|
122
|
+
|
|
123
|
+
- **Project type** with parent/child relationships and "Additional Project Links"
|
|
124
|
+
- **Schedule parent-project reference** for organizing schedules under projects
|
|
125
|
+
- **Project Structure Editor role** for users who can restructure projects but not edit their content
|
|
126
|
+
- **Template-based creation** for projects and schedules
|
|
127
|
+
|
|
128
|
+
### Related Widgets (same plugin)
|
|
129
|
+
|
|
130
|
+
This is the primary widget for the Project Structure plugin. Other related components include:
|
|
131
|
+
- Tree reference explorers for selecting projects/schedules in reference fields
|
|
132
|
+
- Context menu handlers for project/schedule operations
|
|
133
|
+
|
|
134
|
+
### Dependencies
|
|
135
|
+
|
|
136
|
+
- **cf.cplace.planauswahl** - Provides the tree view infrastructure and base classes
|
|
137
|
+
- **cf.cplace.projektplanung** - Provides Schedule type definitions
|
|
138
|
+
|
|
139
|
+
### Prerequisites
|
|
140
|
+
|
|
141
|
+
- The **Project Structure** app must be installed in the workspace
|
|
142
|
+
- Projects and Schedules must have the standard type definitions from the Project Planning solution
|
|
143
|
+
|
|
144
|
+
## Additional Notes
|
|
145
|
+
|
|
146
|
+
### Permission Handling
|
|
147
|
+
|
|
148
|
+
- The widget validates permissions before allowing moves
|
|
149
|
+
- Prevents moving a project into its own subtree (circular reference)
|
|
150
|
+
- Checks `maySetAsParent` permission for projects
|
|
151
|
+
- Validates attribute constraints (validators) on parent/link attributes
|
|
152
|
+
- Respects the "Project Structure Editor" role for restructuring permissions
|
|
153
|
+
|
|
154
|
+
### Display Considerations
|
|
155
|
+
|
|
156
|
+
- "Linked" items (via Additional Project Links) display with a different icon to distinguish them from direct children
|
|
157
|
+
- Schedules appear before subprojects within each project node
|
|
158
|
+
- The tree uses lazy loading for children to maintain performance with large hierarchies
|
|
159
|
+
|
|
160
|
+
### Localization
|
|
161
|
+
|
|
162
|
+
- Widget name: "Edit Project Structure" (en), "Projektstruktur bearbeiten" (de, assumed)
|
|
163
|
+
- Widget description: "Lets you create and manage schedules and projects in the project structure tree."
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Widget Research: cf.cplace.projektplanung.scheduleLockState
|
|
2
|
+
|
|
3
|
+
## Widget Overview
|
|
4
|
+
|
|
5
|
+
**Widget ID:** `cf.cplace.projektplanung.scheduleLockState`
|
|
6
|
+
|
|
7
|
+
**Repository:** `cplace-project-planning`
|
|
8
|
+
|
|
9
|
+
**Definition Class:** `cf.cplace.projektplanung.script.ScheduleLockStateWidgetDefinition`
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
This widget displays the current lock state of a schedule element, showing whether a schedule is locked, who locked it, when it was locked, which schedules are affected, and provides controls to release the lock.
|
|
14
|
+
|
|
15
|
+
## Description
|
|
16
|
+
|
|
17
|
+
The Schedule Lock State widget shows the current `ScheduleLock` state of a schedule element. It provides visibility into which schedules are currently locked for editing, who owns the lock, and allows authorized users to release locks when needed.
|
|
18
|
+
|
|
19
|
+
## Core Functionality
|
|
20
|
+
|
|
21
|
+
### What is Schedule Locking?
|
|
22
|
+
|
|
23
|
+
Schedule locking is a feature that prevents write access to schedules and their tasks for everyone except the lock owner. Key aspects:
|
|
24
|
+
|
|
25
|
+
- **Lock Ownership:** The creator of the lock becomes the owner
|
|
26
|
+
- **Exclusive Access:** Only the lock owner can edit locked schedules and their tasks
|
|
27
|
+
- **Multiple Schedules:** A single lock can apply to multiple schedules simultaneously
|
|
28
|
+
- **Authorization-Based:** Locks can be created and released by authorized users (schedule writers, owners, deputies, space administrators)
|
|
29
|
+
- **Token-Based:** Each lock has a unique token (ID + secret) for identification
|
|
30
|
+
|
|
31
|
+
### Widget Display States
|
|
32
|
+
|
|
33
|
+
The widget has two primary display states:
|
|
34
|
+
|
|
35
|
+
1. **Locked State**
|
|
36
|
+
- Displays "Locked" indicator
|
|
37
|
+
- Shows who created the lock with a link to their profile
|
|
38
|
+
- Shows when the lock was created
|
|
39
|
+
- Lists all schedules affected by this lock
|
|
40
|
+
- Provides a "Release Lock" button (if user has permission)
|
|
41
|
+
|
|
42
|
+
2. **Unlocked State**
|
|
43
|
+
- Displays "Unlocked" indicator
|
|
44
|
+
- No additional information or actions
|
|
45
|
+
|
|
46
|
+
## Use Cases
|
|
47
|
+
|
|
48
|
+
### 1. Schedule Lock Visibility
|
|
49
|
+
|
|
50
|
+
**Scenario:** A project manager wants to know if a schedule is currently locked and by whom.
|
|
51
|
+
|
|
52
|
+
**Value:** The widget provides immediate visibility into the lock status without requiring users to attempt edits or navigate elsewhere. Users can see:
|
|
53
|
+
- Whether the schedule is locked or available
|
|
54
|
+
- Who owns the lock
|
|
55
|
+
- When the lock was created
|
|
56
|
+
- Which schedules are affected
|
|
57
|
+
|
|
58
|
+
### 2. Lock Release Management
|
|
59
|
+
|
|
60
|
+
**Scenario:** A schedule administrator needs to release a lock that is no longer needed or was left active by a user who is unavailable.
|
|
61
|
+
|
|
62
|
+
**Value:** Authorized users (lock creator, schedule writers, space administrators) can release locks directly from the widget through the "Release Lock" button, which:
|
|
63
|
+
- Opens a confirmation dialog
|
|
64
|
+
- Allows release of the lock
|
|
65
|
+
- Restores edit access to all users
|
|
66
|
+
|
|
67
|
+
### 3. Multi-Schedule Lock Tracking
|
|
68
|
+
|
|
69
|
+
**Scenario:** When working with Gantt charts that load multiple schedules, users need to understand which schedules are locked together.
|
|
70
|
+
|
|
71
|
+
**Value:** The widget displays all schedules affected by a single lock, helping users understand the scope of the lock and its impact on their work.
|
|
72
|
+
|
|
73
|
+
### 4. Lock Accountability
|
|
74
|
+
|
|
75
|
+
**Scenario:** Teams need to track who is making changes to critical schedules.
|
|
76
|
+
|
|
77
|
+
**Value:** The widget provides transparency by showing:
|
|
78
|
+
- Lock creator identity
|
|
79
|
+
- Lock creation timestamp
|
|
80
|
+
- Affected schedules
|
|
81
|
+
|
|
82
|
+
This creates accountability and helps coordinate collaborative editing of project schedules.
|
|
83
|
+
|
|
84
|
+
## Configuration
|
|
85
|
+
|
|
86
|
+
### Embedding Restrictions
|
|
87
|
+
|
|
88
|
+
The widget can only be embedded in specific entity types:
|
|
89
|
+
- **Activities** (`cf.activity` / `cf.cplace.projektplanung.aktivitaet`)
|
|
90
|
+
- **Milestones** (`cf.milestone` / `cf.cplace.projektplanung.meilenstein`)
|
|
91
|
+
- **Schedules** (`cf.schedule` / `cf.cplace.projektplanung.schedule`)
|
|
92
|
+
|
|
93
|
+
### Prerequisites
|
|
94
|
+
|
|
95
|
+
- **Schedule Locking Must Be Enabled:** The widget will not be embeddable unless schedule locking is activated in the system (checked via `ProjektplanungPlugin.isScheduleLockingEnabled()`)
|
|
96
|
+
- **Logged-in User Required:** Users must be authenticated to view the widget content
|
|
97
|
+
- **Permission-Based Actions:** The "Release Lock" button is only displayed if the user has permission to release the lock
|
|
98
|
+
|
|
99
|
+
### Widget Behavior
|
|
100
|
+
|
|
101
|
+
- **Dynamic Content Loading:** Widget content is loaded via AJAX from `ScheduleLockStateWidgetContentHandler`
|
|
102
|
+
- **Context-Aware:** Automatically detects the lock for the containing schedule of the embedding entity
|
|
103
|
+
- **No Configuration Options:** The widget does not expose configuration parameters - it automatically shows the lock state of the schedule containing the page where it's embedded
|
|
104
|
+
|
|
105
|
+
## Technical Details
|
|
106
|
+
|
|
107
|
+
### Lock Resolution
|
|
108
|
+
|
|
109
|
+
The widget resolves the lock by:
|
|
110
|
+
1. Identifying the embedding page (activity, milestone, or schedule)
|
|
111
|
+
2. Finding the containing schedule using `ScheduleUtil.findScheduleOfGanttElement()`
|
|
112
|
+
3. Retrieving the lock associated with that schedule via `ScheduleLock.getLockForContainingSchedule()`
|
|
113
|
+
|
|
114
|
+
### Permissions Model
|
|
115
|
+
|
|
116
|
+
Lock access follows this permission model:
|
|
117
|
+
- **Read Access:** Granted to lock creator and all writers of locked schedules (owners, deputies, space administrators)
|
|
118
|
+
- **Write/Release Access:** Same as read access
|
|
119
|
+
- **Fast Path:** If current user is the lock creator, permission is immediately granted
|
|
120
|
+
- **Automatic Updates:** Permission changes to schedules may not immediately reflect in lock permissions
|
|
121
|
+
|
|
122
|
+
### Lock Lifecycle
|
|
123
|
+
|
|
124
|
+
1. **Creation:** Locks are created via `CreateScheduleLockHandler` for one or more schedules
|
|
125
|
+
2. **Display:** This widget displays the current lock state
|
|
126
|
+
3. **Release:** Users with permission can release locks via `ConfirmReleaseScheduleLockHandler` and `SubmitReleaseScheduleLockHandler`
|
|
127
|
+
4. **Removal:** Releasing a lock removes the lock entity from the system
|
|
128
|
+
5. **Logging:** All lock operations (create, update, release) are logged with user and schedule details
|
|
129
|
+
|
|
130
|
+
## Related Features
|
|
131
|
+
|
|
132
|
+
### Schedule Locking Feature Set
|
|
133
|
+
|
|
134
|
+
This widget is part of the broader schedule locking feature:
|
|
135
|
+
- **Lock Creation Handlers:** `CreateScheduleLockHandler`, `CreateExpirableScheduleLockHandler`
|
|
136
|
+
- **Lock Management:** `UpdateScheduleLockHandler`, `ReleaseScheduleLockHandler`
|
|
137
|
+
- **Lock Prevention:** `ScheduleLockPreventRemovePageByHandlerExtension` prevents deletion of locked schedules
|
|
138
|
+
- **Expirable Locks:** Support for locks that automatically expire after a certain time
|
|
139
|
+
|
|
140
|
+
### Integration with Gantt Charts
|
|
141
|
+
|
|
142
|
+
Schedule locking is tightly integrated with Gantt chart functionality:
|
|
143
|
+
- Locks can be created from within Gantt views
|
|
144
|
+
- Multiple schedules loaded in Gantt can be locked together
|
|
145
|
+
- Lock state affects editing capabilities in Gantt views
|
|
146
|
+
|
|
147
|
+
### WorkPackage Association
|
|
148
|
+
|
|
149
|
+
Locks are associated with schedules through the `WorkPackage` mixin:
|
|
150
|
+
- Each schedule has a `scheduleLocks` reference (via WorkPackage mixin)
|
|
151
|
+
- This allows schedules to be associated with locks
|
|
152
|
+
- The widget uses this relationship to display lock information
|
|
153
|
+
|
|
154
|
+
## Key Insights
|
|
155
|
+
|
|
156
|
+
1. **Read-Only Display:** The widget is primarily informational - it shows lock state and provides a release action, but does not handle lock creation
|
|
157
|
+
|
|
158
|
+
2. **No Configuration Required:** Unlike many widgets, this one requires no configuration - it automatically detects and displays the relevant lock state
|
|
159
|
+
|
|
160
|
+
3. **Security-Conscious:** The widget respects permission boundaries and only shows release controls to authorized users
|
|
161
|
+
|
|
162
|
+
4. **Gantt-Centric:** While embeddable in activities, milestones, and schedules, the feature is designed for project planning and Gantt chart workflows
|
|
163
|
+
|
|
164
|
+
5. **Coordination Tool:** The widget serves as a coordination mechanism for teams working on shared schedules, providing visibility and control over who can make changes
|
|
165
|
+
|
|
166
|
+
6. **Feature Flag:** The entire schedule locking feature can be toggled on/off, and the widget respects this system-wide setting
|
|
167
|
+
|
|
168
|
+
## Potential Questions for Documentation
|
|
169
|
+
|
|
170
|
+
1. **Scope:** Should documentation cover just the widget, or also explain the broader schedule locking feature?
|
|
171
|
+
2. **User Types:** Should we document different perspectives (schedule editors vs. administrators)?
|
|
172
|
+
3. **Screenshots:** Would it be helpful to include screenshots of locked vs. unlocked states?
|
|
173
|
+
4. **Workflow:** Should we document the typical workflow (create lock → work → release lock)?
|
|
174
|
+
5. **Best Practices:** Should we include guidance on when to use schedule locking?
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
# Widget Research: cf.cplace.projektplanung.subscriptions
|
|
2
|
+
|
|
3
|
+
**Research Date:** 2026-01-16
|
|
4
|
+
**Widget ID:** `cf.cplace.projektplanung.subscriptions`
|
|
5
|
+
**Repository:** `cplace-project-planning`
|
|
6
|
+
**Definition Class:** `cf.cplace.projektplanung/src/main/java/cf/cplace/projektplanung/script/SubscriptionsWidgetDefinition.java`
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 1. Widget Purpose
|
|
11
|
+
|
|
12
|
+
### Short Description (1-2 sentences)
|
|
13
|
+
The Subscriptions widget displays all subscriptions of a planning element (task or milestone) in a table format. It shows which other schedules contain subscribed copies of the current task/milestone, providing visibility into cross-schedule task references.
|
|
14
|
+
|
|
15
|
+
### Detailed Purpose
|
|
16
|
+
This widget is part of the "Project Planning (Extended)" app and provides a specialized view for managing task/milestone subscriptions. A subscription (German: "Abo") is essentially a mirror/copy of a task or milestone that exists in another schedule. The widget displays:
|
|
17
|
+
- All subscriptions of the current planning element
|
|
18
|
+
- Information about read access to subscriptions
|
|
19
|
+
- Parent schedule and containing schedule information for each subscription
|
|
20
|
+
- Visual indicators for subscriptions the user cannot access
|
|
21
|
+
|
|
22
|
+
The widget helps users understand where their tasks are being referenced across different project schedules, enabling better coordination in multi-schedule project environments.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 2. Use Cases
|
|
27
|
+
|
|
28
|
+
### Primary Use Case: Cross-Schedule Task Visibility
|
|
29
|
+
**Scenario:** A project manager has a master task in Schedule A, and this task has been subscribed to (referenced) by tasks in Schedules B and C.
|
|
30
|
+
|
|
31
|
+
**Problem Solved:** Without this widget, users would have no easy way to see all the places where their task is being referenced across different schedules.
|
|
32
|
+
|
|
33
|
+
**User Action:** The project manager opens the task in Schedule A and views the Subscriptions widget to see all subscriptions across other schedules.
|
|
34
|
+
|
|
35
|
+
**Value:** Provides transparency and traceability for cross-schedule dependencies and task sharing.
|
|
36
|
+
|
|
37
|
+
### Secondary Use Case: Access Control Awareness
|
|
38
|
+
**Scenario:** A task has multiple subscriptions, but the current user only has read access to some of the schedules containing those subscriptions.
|
|
39
|
+
|
|
40
|
+
**Problem Solved:** Users need to understand which subscriptions they can view and which they cannot access due to permissions.
|
|
41
|
+
|
|
42
|
+
**User Action:** The widget displays counts showing:
|
|
43
|
+
- Total subscriptions: X
|
|
44
|
+
- Visible subscriptions: Y of X
|
|
45
|
+
- Subscriptions without read access: Z
|
|
46
|
+
|
|
47
|
+
**Value:** Helps users understand the complete picture while respecting security boundaries.
|
|
48
|
+
|
|
49
|
+
### Tertiary Use Case: Hierarchical Task Subscription Management
|
|
50
|
+
**Scenario:** In hybrid project management environments, tasks can be subscribed from one schedule to another, creating a network of related planning elements.
|
|
51
|
+
|
|
52
|
+
**Problem Solved:** Understanding the subscription hierarchy and relationships between original tasks and their subscribed copies.
|
|
53
|
+
|
|
54
|
+
**User Action:** Users can see the subscription structure and trace back to containing schedules.
|
|
55
|
+
|
|
56
|
+
**Value:** Enables better coordination in complex multi-schedule project environments.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 3. Configuration Options
|
|
61
|
+
|
|
62
|
+
### Available Configuration Attributes
|
|
63
|
+
|
|
64
|
+
#### 3.1 TITLE (Optional)
|
|
65
|
+
- **Type:** `SingleLocalizedStringAttributeDef`
|
|
66
|
+
- **Attribute Name:** `cf.cplace.projektplanung.subscriptions.title`
|
|
67
|
+
- **Purpose:** Allows customization of the widget title
|
|
68
|
+
- **Default:** "Subscriptions" (English) / "Abos" (German)
|
|
69
|
+
- **Behavior:** If not set, falls back to the default localized title
|
|
70
|
+
|
|
71
|
+
#### 3.2 HEIGHT (Optional)
|
|
72
|
+
- **Type:** `SingleNumberAttributeDef`
|
|
73
|
+
- **Purpose:** Defines the fixed height of the widget
|
|
74
|
+
- **Inherited From:** `WidgetTypes.BASE_MIXIN.HEIGHT`
|
|
75
|
+
- **Behavior:** Allows users to control the vertical space allocated to the widget
|
|
76
|
+
|
|
77
|
+
### Configuration Type
|
|
78
|
+
- **Type Definition:** `cf.cplace.projektplanung.WidgetTypes.SUBSCRIPTIONS.TYPE`
|
|
79
|
+
- **Internal Type Name:** Uses `SubscriptionsWidgetDefinition.WIDGET_TYPE_SUBSCRIPTIONS`
|
|
80
|
+
|
|
81
|
+
### Display Modes and Limits
|
|
82
|
+
|
|
83
|
+
#### Subscription Display Limit
|
|
84
|
+
- **Maximum Subscriptions:** 500 (`MAX_SUBSCRIPTIONS_IN_WIDGET`)
|
|
85
|
+
- **Reason:** Performance optimization - search operations have clause limits
|
|
86
|
+
- **Behavior:** If more than 500 subscriptions exist, only the first 500 (with read access) are displayed
|
|
87
|
+
- **User Feedback:** Widget shows message "Visible subscriptions: X of Y (limited by widget)"
|
|
88
|
+
|
|
89
|
+
#### Access-Based Display
|
|
90
|
+
The widget intelligently handles permissions:
|
|
91
|
+
1. Counts total subscriptions (including those without read access)
|
|
92
|
+
2. Determines how many the user can actually read
|
|
93
|
+
3. Applies the 500-item limit to viewable subscriptions
|
|
94
|
+
4. Displays appropriate message based on these counts:
|
|
95
|
+
- "Total subscriptions: X" (when all are visible)
|
|
96
|
+
- "Visible subscriptions: X of Y" (when some are hidden due to access)
|
|
97
|
+
- "Visible subscriptions: X of Y (limited by widget)" (when 500 limit is hit)
|
|
98
|
+
- "Subscriptions without read-access: Z" (additional info)
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 4. Technical Implementation Details
|
|
103
|
+
|
|
104
|
+
### Widget Definition Class
|
|
105
|
+
- **Location:** `cf.cplace.projektplanung.script.SubscriptionsWidgetDefinition.java`
|
|
106
|
+
- **Extends:** `WidgetDefinition`
|
|
107
|
+
- **Implements:** `SingleSelectionWidget`
|
|
108
|
+
- **App Context:** ProjektplanungPlugin.INSTANCE().extendedApp
|
|
109
|
+
|
|
110
|
+
### Specification Handler
|
|
111
|
+
- **Class:** `SubscriptionsSpecificationHandler`
|
|
112
|
+
- **Extends:** `GenericSearchAsTableSpecificationHandler`
|
|
113
|
+
- **Purpose:** Constructs the table search query to fetch subscriptions
|
|
114
|
+
|
|
115
|
+
### Data Source
|
|
116
|
+
The widget retrieves subscriptions through:
|
|
117
|
+
```java
|
|
118
|
+
Page page = Page.getPageByUidNotNull(params.entityUid);
|
|
119
|
+
mirrorCountTotal = page._entityMirrors().count();
|
|
120
|
+
mirrorCountReadAccess = Lists.newArrayList(page._entityMirrors().getAssets()).size();
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### Search Construction
|
|
124
|
+
The table search:
|
|
125
|
+
1. Filters by type: `AKTIVITAET.TYPE` or `MEILENSTEIN.TYPE`
|
|
126
|
+
2. Filters by UIDs from entity mirrors
|
|
127
|
+
3. Limits to 500 subscriptions maximum
|
|
128
|
+
|
|
129
|
+
### Default Table Columns
|
|
130
|
+
The widget displays these columns by default:
|
|
131
|
+
- Parent (cf.cplace.projektplanung.Aktivitaet.parent)
|
|
132
|
+
- Containing Schedule (cf.cplace.projektplanung.Aktivitaet.containingSchedule)
|
|
133
|
+
|
|
134
|
+
### Widget Padding
|
|
135
|
+
- **noPadding:** `true`
|
|
136
|
+
- **Reason:** The table component handles its own padding
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## 5. Embedding Context
|
|
141
|
+
|
|
142
|
+
### Valid Embedding Locations
|
|
143
|
+
The widget can ONLY be embedded in pages of type:
|
|
144
|
+
- **Tasks (Aktivität):** `ProjektplanungExtendedAppTypes.AKTIVITAET.TYPE`
|
|
145
|
+
- **Milestones (Meilenstein):** `ProjektplanungExtendedAppTypes.MEILENSTEIN.TYPE`
|
|
146
|
+
|
|
147
|
+
### Validation
|
|
148
|
+
The widget performs strict type checking via:
|
|
149
|
+
```java
|
|
150
|
+
checkIsOneOfTheseTypes(
|
|
151
|
+
entity,
|
|
152
|
+
embedding,
|
|
153
|
+
ProjektplanungExtendedAppTypes.AKTIVITAET.TYPE,
|
|
154
|
+
ProjektplanungExtendedAppTypes.MEILENSTEIN.TYPE
|
|
155
|
+
)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Error Messages
|
|
159
|
+
- **Embedding Error:** "Widget should be embedded in a page of type Milestone or Task."
|
|
160
|
+
- **Initialization Error:** "An error occurred on widget initialization."
|
|
161
|
+
- **Load Error:** "An error occurred while loading subscription table."
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## 6. Relationship to Other Features
|
|
166
|
+
|
|
167
|
+
### Subscription Feature (Project Planning Extended)
|
|
168
|
+
The widget is tightly integrated with the subscription feature in the "Project Planning (Extended)" app. This feature allows:
|
|
169
|
+
- Subscribing tasks from one schedule to another
|
|
170
|
+
- Creating mirror/copy relationships between planning elements
|
|
171
|
+
- Different subscription modes based on configuration:
|
|
172
|
+
- Not supported
|
|
173
|
+
- Only in schedules with write permission
|
|
174
|
+
- Only in schedules with read or write permission
|
|
175
|
+
|
|
176
|
+
### Entity Mirror Mechanism
|
|
177
|
+
The widget relies on the platform's `EntityMirror` concept:
|
|
178
|
+
- **EntityMirror:** A platform feature that creates mirror relationships between pages
|
|
179
|
+
- **Mirror Hierarchy:** Subscriptions use `MirrorHierarchyDomain.simple`
|
|
180
|
+
- **Mirror Data:** Stored in `_entityMirrors()` collection on pages
|
|
181
|
+
- **Synchronization:** Subscriptions sync with their original tasks (with some restrictions)
|
|
182
|
+
|
|
183
|
+
### Related Widgets
|
|
184
|
+
This widget complements other project planning widgets:
|
|
185
|
+
|
|
186
|
+
1. **Single Gantt Widget** (`cf.projektplanung.singleGantt`)
|
|
187
|
+
- Shows tasks in Gantt chart format
|
|
188
|
+
- Subscriptions appear as mirrored tasks in the chart
|
|
189
|
+
|
|
190
|
+
2. **Multi Gantt Widget** (`cf.projektplanung.multiGantt`)
|
|
191
|
+
- Shows multiple schedules simultaneously
|
|
192
|
+
- Subscription relationships visible across schedules
|
|
193
|
+
|
|
194
|
+
3. **Schedule Tree Widget** (`cf.projektplanung.scheduleTreeTable`)
|
|
195
|
+
- Displays schedule hierarchy
|
|
196
|
+
- Shows parent-child relationships
|
|
197
|
+
|
|
198
|
+
### Configuration Dependencies
|
|
199
|
+
The subscription functionality is controlled by:
|
|
200
|
+
- **App Configuration:** `subscriptionSupport` setting in Plugin Configuration
|
|
201
|
+
- **Subscription Support Values:**
|
|
202
|
+
- `subscriptionNotSupported`
|
|
203
|
+
- `subscriptionOnlyInEditableSchedules`
|
|
204
|
+
- `subscriptionOnlyInReadableSchedules`
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## 7. Localization
|
|
209
|
+
|
|
210
|
+
### Supported Languages
|
|
211
|
+
- English (en)
|
|
212
|
+
- German (de)
|
|
213
|
+
|
|
214
|
+
### Key Messages
|
|
215
|
+
| Message Key | English | German |
|
|
216
|
+
|-------------|---------|--------|
|
|
217
|
+
| name | Subscriptions | Abos |
|
|
218
|
+
| description | Shows the subscriptions of a planning element in a table (only available for the "Task" and "Milestone" types). | Zeigt die Abos eines Planelements in einer Tabelle an (nur verfügbar für die Typen "Vorgang" und "Meilenstein"). |
|
|
219
|
+
| widgetTitle | Subscriptions | Abos |
|
|
220
|
+
| noSubscriptionsExisting | There are no subscriptions | Es existieren keine Abos |
|
|
221
|
+
| totalSubscriptions | Total subscriptions: {0} | Abos insgesamt: {0} |
|
|
222
|
+
| visibleSubscriptions | Visible subscriptions: {0} of {1} | Abos sichtbar: {0} von {1} |
|
|
223
|
+
| visibleSubscriptionsLimitedByWidget | Visible subscriptions: {0} of {1} (limited by widget) | Abos sichtbar: {0} von {1} (von Widget begrenzt) |
|
|
224
|
+
| subscriptionsWithoutReadAccess | Subscriptions without read-access: {0} | Abos ohne Leserecht: {0} |
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## 8. Performance Considerations
|
|
229
|
+
|
|
230
|
+
### Optimization Strategies
|
|
231
|
+
|
|
232
|
+
1. **Limit on Displayed Items**
|
|
233
|
+
- Maximum 500 subscriptions shown
|
|
234
|
+
- Prevents performance degradation with large subscription counts
|
|
235
|
+
- Search query clause limitations
|
|
236
|
+
|
|
237
|
+
2. **Caching Strategy**
|
|
238
|
+
- Pre-loads entity mirrors for performance
|
|
239
|
+
- Uses `Page.SCHEMA.prototype()._entityMirrors().addAssetsToCache()`
|
|
240
|
+
|
|
241
|
+
3. **Read Access Checking**
|
|
242
|
+
- Counts total mirrors vs accessible mirrors
|
|
243
|
+
- Early determination of visibility without loading all data
|
|
244
|
+
|
|
245
|
+
4. **No Actions Column**
|
|
246
|
+
- Widget disables the actions column (`showActions() = false`)
|
|
247
|
+
- Reduces rendering overhead
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## 9. User Experience
|
|
252
|
+
|
|
253
|
+
### Visual Feedback
|
|
254
|
+
|
|
255
|
+
The widget provides clear status information:
|
|
256
|
+
- Shows exact counts of subscriptions
|
|
257
|
+
- Indicates when limit is reached
|
|
258
|
+
- Warns about inaccessible subscriptions
|
|
259
|
+
- Displays helpful error messages
|
|
260
|
+
|
|
261
|
+
### Empty State
|
|
262
|
+
When no subscriptions exist, shows: "There are no subscriptions"
|
|
263
|
+
|
|
264
|
+
### Error Handling
|
|
265
|
+
Graceful error display with user-friendly messages instead of stack traces.
|
|
266
|
+
|
|
267
|
+
### Table Interaction
|
|
268
|
+
- Standard table widget interaction (sorting, filtering via table controls)
|
|
269
|
+
- No in-place editing of subscription data
|
|
270
|
+
- Read-only view of subscription relationships
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## 10. Testing Evidence
|
|
275
|
+
|
|
276
|
+
### Test Files Found
|
|
277
|
+
- `TestTaskSubscription.java` - Tests subscription creation and properties
|
|
278
|
+
- `TestSubscriptionChain.java` - Tests subscription hierarchies
|
|
279
|
+
- Various integration tests for subscription functionality
|
|
280
|
+
|
|
281
|
+
### Key Test Scenarios
|
|
282
|
+
1. Creating subscriptions from tasks
|
|
283
|
+
2. Verifying mirror properties
|
|
284
|
+
3. Testing subscription hierarchies
|
|
285
|
+
4. Validating read-only behavior of mirrored attributes
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## 11. Historical Context
|
|
290
|
+
|
|
291
|
+
### Version Information
|
|
292
|
+
- Introduced as part of Project Planning Extended app
|
|
293
|
+
- Deprecated constant since version 25.2 (moved to shared constants)
|
|
294
|
+
- Original constant: `SubscriptionsWidgetDefinition.WIDGET_TYPE_SUBSCRIPTIONS`
|
|
295
|
+
- New location: `SubscriptionsWidgetDefinitionConstants.WIDGET_TYPE_SUBSCRIPTIONS`
|
|
296
|
+
|
|
297
|
+
### Evolution Notes
|
|
298
|
+
The widget has evolved from simple subscription display to include:
|
|
299
|
+
- Access control awareness
|
|
300
|
+
- Performance optimizations (500 limit)
|
|
301
|
+
- Better user feedback about visibility
|
|
302
|
+
- Integration with new Gantt widgets
|
|
303
|
+
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
## Summary
|
|
307
|
+
|
|
308
|
+
The Subscriptions widget is a specialized, read-only table widget that provides essential visibility into cross-schedule task and milestone references within the cplace project planning system. It serves as a monitoring and transparency tool for users working with multi-schedule projects, helping them understand where their planning elements are being referenced and reused across different project contexts.
|
|
309
|
+
|
|
310
|
+
**Key Characteristics:**
|
|
311
|
+
- Read-only view of subscriptions
|
|
312
|
+
- Limited to 500 visible items for performance
|
|
313
|
+
- Access-control aware
|
|
314
|
+
- Only embeddable in Task and Milestone pages
|
|
315
|
+
- Minimal configuration (title and height only)
|
|
316
|
+
- Part of the Project Planning (Extended) app ecosystem
|