Table of Contents

Core for DynamicWeb 10 – by twoday

Core is an alternative base implementation for DynamicWeb 10, developed primarily by twoday in collaboration with contributions from DynamicWeb Software.

It is positioned as a developer-centric starting point designed for flexibility, customization, and a clean development workflow. Unlike pre-packaged storefronts, Core provides the foundation and architectural guidelines for partners and developers who want to build unique solutions from the ground up.

What Core Is

Core is delivered as a Core library distributed in source code form, enabling developers to extend and modify it directly. Its guiding philosophy is to offer a minimalistic templating foundation with clear best practices:

  • All data in templates should be exposed via ViewModels and extension methods
  • Keep logic within templates to a minimum for better reuse and maintainability
  • Dependencies should be exposed instead of being directly coupled inside methods
  • Use centralized Constants instead of hardcoding paths, field names, or IDs

The approach fosters long-term scalability and cleaner implementations while reducing technical debt.

Core is especially suitable when the project requires custom designs and UX, allowing partners to fully control frontend and backend architecture. Developers work within a familiar setup using npm for building JavaScript and CSS, while the library itself is packaged and installed as an Addin within DynamicWeb. This ensures a development experience aligned with production-like environments.

Development Workflow

The Core workflow is straightforward but technical:

  1. Install Core as an Addin inside the DynamicWeb solution
  2. Modify code and rebuild, which automatically outputs a new NuGet package
  3. Reinstall the Addin from within the backend to apply updates
  4. Use the included Assets/src folder for JavaScript and CSS development, compiled into a production-ready Assets/dist

This cycle makes Core attractive for developers who want direct code-level control over the implementation without unnecessary abstraction layers.

Community-Driven Nature

Unlike official DynamicWeb products, Core is maintained as a community project. Twoday initiated it, but all partners are encouraged to contribute. The community handles support, updates, and bug fixes. This collaborative model ensures Core evolves with input from a broad group of implementers but also means support and release cycles are not guaranteed in the same way as DynamicWeb’s own offerings.

Collaboration on APIs and ViewModels

A key principle behind Core is that it surfaces gaps or inefficiencies in the DynamicWeb platform itself. Developers working with Core frequently identify areas where APIs or ViewModels could be strengthened to make template development simpler, less code-heavy, and more consistent.

  • If Core reveals missing API features that would streamline development, DynamicWeb commits to implementing these improvements in the platform.
  • This ensures that gains made for Core also benefit Swift and any other DynamicWeb developers.
  • Examples include enriching ViewModels with commonly needed data, reducing reliance on custom logic in templates, and offering APIs that standardize frequent integration or rendering tasks.

By treating Core as both a framework and a feedback channel, DynamicWeb and its partners can ensure that the base platform evolves in alignment with real-world developer needs, reducing duplication of effort and improving productivity across the ecosystem.

To top