crownpeak-dxm-react-sdk
TypeScript icon, indicating that this package has built-in type declarations

4.1.0 • Public • Published

Crownpeak Logo

Crownpeak Digital Experience Management (DXM) Software Development Kit (SDK) for React

Crownpeak Digital Experience Management (DXM) Software Development Kit (SDK) for React has been constructed to assist the Single Page App developer in developing client-side applications that leverage DXM for content management purposes.

For all usage instructions, see https://github.com/Crownpeak/DXM-React-SDK

Benefits

  • Runtime libraries to handle communication with either Dynamic (DXM Dynamic Content API) or Static (On-disk JSON payload) Data Sources

    As a development team runs their build process, the underlying React Application will be minified and likely packed into a set of browser-compatible libraries (e.g., ES5). We expect any DXM NPM Packages also to be compressed in this manner. To facilitate communication between the React Application and content managed within DXM, a runtime NPM Package is provided. The purpose of this package is:

    • Read application configuration detail from a global environment file (e.g., Dynamic Content API endpoint and credentials, static content disk location, etc.);
    • Making data models available to the React Application, which a developer can map against
      • Dynamic Data - Asynchronously processing data from the DXM Dynamic Content API, using the Search G2 Raw JSON endpoint; and
      • Static Data - Loading JSON payload data directly from local storage.
  • DXM Content-Type Scaffolding

    Developers will continue to work with their Continuous Integration / Delivery and source control tooling to create a React application. However, the purpose of the DXM Content-Type Scaffolding build step is to convert the React Components in a single direction (React > DXM), into the necessary configuration to support CMS operations. At present, the DXM Component Library includes the capability to auto-generate Templates (input.aspx, output.aspx, post_input.aspx) based upon a moustache-style syntax (decorating of editable properties). It is not intended that we re-design this process, as it is fully supported within DXM, and customer-battle-tested - therefore, in order to create Template configuration, the build step:

    • Converts React Components into Crownpeak Components by using the existing Component Builder Process, via the CMS Access API (DXM's RESTful Content Manipulation API), and then existing "post_save" process;
    • Creates Templates for each React Page (One of the DXM React Component Types) by using the existing Template Builder Process, again via the CMS Access API and existing "post_save" process; and
    • Creates a new Model for the React Page Content-Type, via the CMS Access API, so that authors can create multiple versions of a structured Page or Component, without needing to run an entire development/test cycle.

Version History

Version Date Changes
1.0.2 2020APR24 Initial Release.
1.0.3 2020MAY05 Adds Component dependencies.
1.0.4 2020MAY05 Correct paths in cmsify script.
1.0.5 2020MAY07 Changed to use crownpeak-dxm-accessapi-helper.
1.0.7 2020MAY11 Changed to use crownpeak-dxm-sdk-core.
1.0.8 2020MAY12 cmsify.js now called from Node /.bin.
1.0.10 2020MAY27 Added CSS parsing/upload support. Added Wrapper selection.
1.0.11 2020JUN02 Added DropZone support for DXM. Added command line parameters. Bug fixes.
1.0.12 2020JUN03 Updated crownpeak-dxm-sdk-core version.
1.0.13 2020JUN05 String for CmsFieldType. HTML components now supported in Wrappers. CSS parser updated for relative files.
1.0.14 2020JUN10 Verify environment before processing. Manual re-compilation of Component Library. Support attributes & children on DropZone components. Bug fixes.
1.0.15 2020JUN17 Support for list items. Bug fixes.
2.0.0 2020JUN30 Migrated to TypeScript.
2.1.1 2020JUL28 New 'init', 'patch' and 'scaffold' options, improved output, lots of bug fixes.
2.1.3 2020JUL29 Updated crownpeak-dxm-sdk-core version.
2.2.0 2020SEP03 Add support for indexed fields and cp-scaffold. Bug fixes.
2.3.0 2020OCT01 Preserve paths for uploads, support uploads from pages and wrappers. Bug fixes.
2.4.0 2020OCT09 Improved uploading and relinking, new page and component creation settings, new --only option. Bug fixes.
3.0.0 2020NOV06 Change to asynchronous data loading, drag and drop zone governance, function components, TSX. Bug fixes.
3.0.1 2020NOV13 Bug fixes for TypeScript and TSX files.
3.0.2 2020NOV17 Bug fix to remove React comments before scaffolding.
3.1.0 2021JAN04 Add cp-scaffold for pages, support for JSX fragments, ignore non-Crownpeak components, string replacements via .cpscaffold.json.
3.2.0 2021JAN07 Add cp-scaffold for wrappers, option to include metadata on pages, $file macro in CMS_STATIC_CONTENT_LOCATION.
3.2.1 2021JAN08 Extra macro option using {file} in CMS_STATIC_CONTENT_LOCATION.
3.2.2 2021JAN11 CmsCore change to help with TypeScript for DropZone.
3.3.0 2021JAN13 Add cmsDisableDragDrop option to mark components unsuitable for Drag and Drop, and bug fix.
3.4.0 2021MAR15 Updates to support Gatsby, bug fixes.
3.5.0 2021OCT15 Template Builder supports default template files, react comments allowed inside an element, bug fixes.
3.5.1 2021OCT27 Bug fix for error when updating a model inside a project branch.
3.6.0 2022FEB02 Add support for passing type arguments to CmsComponent.
4.0.0 2022MAY05 Update package.json to allow newer versions of React to be used.
4.0.1 2022JUL28 Update page parsers to support components living in subfolders.
4.1.0 2023-07-10 Bump DXM SDK Core version to remove vulnerable dependencies.

Readme

Keywords

none

Package Sidebar

Install

npm i crownpeak-dxm-react-sdk

Weekly Downloads

54

Version

4.1.0

License

MIT

Unpacked Size

150 kB

Total Files

46

Last publish

Collaborators

  • ptylr
  • richard-lund