| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
The OnTopic library is a .NET Core-based content management system (CMS) designed around structured schemas ("Content Types") and optimized to simplify team-based workflows with distinct roles for content owners, backend developers, and graphic producers.
The OnTopic library acknowledges that the roles of developers, designers, and content owners are usually compartmentalized and, thus, optimizes for the needs of each.
This is contrasted to most traditional CMSs, which attempt to coordinate all of these via an editor by exposing design responsibilities (via themes, templates, and layouts) as well as development responsibilities (via plugins or components). This works well for a small project without distinct design or development resources, but introduces a lot of complexity for more mature teams with well-established roles.
In addition, OnTopic is optimized for multi-client/multi-device scenarios since the content editor focuses exclusively on structured data. This allows entirely distinct presentation layers to be established without the CMS attempting to influence or determing design decisions via e.g. per-page layout. For instance, the same content can be accessed by an iOS app, a website, and even a web-based API for third-party consumption. By contrast, most CMSs are designed for one client only: a website (which may be mobile-friendly via responsive templates.)
Fundamentally, OnTopic is based on structured schemas ("Content Types") which can be modified via the editor itself. This allows new data structures to be introduced without needing to modify the database or creating extensive plugins. So, for example, if a site includes job postings, it might create a JobPosting content type that describes the structure of a job posting, such as job title, job description, job requirements, &c. By contrast, some CMSs—such as WordPress—try to fit all items into a single data model—such as a blog post—or require extensive customizations of database objects and intermediate queries in order to extend the data model. OnTopic is designed with extensibility in mind, so updates to the data model are comparatively trivial to implement.
Note: Additional data access layers can be created by implementing the ITopicRepository interface.
We maintain 99+% coverage on all core libraries via a combination of unit tests (for e.g. OnTopic) and integration tests (for e.g. OnTopic.AspNetCore.Mvc).
Note: The one gap in our testing is the OnTopic.Data.Sql library, which doesn't currently have integration tests. That said, the underlying stored procedures it calls into are covered by the SSDT tests. Additionally, the extension methods it relies on, which contain most of the business logic, are well covered.
OnTopic is owned and maintained by Ignia.
| Back | FazBrowse Home | New Git URL |