Open source

Carbide

Umbraco developers rejoice.

Umbraco CMS is a great publishing platform, and we're really bullish on it at Fynydd. But developing for any CMS platforms can use a little help. Many developers have created their own abstraction layers or other tools and programming patterns. Carbide is our version of that, free for you to use. We're using it on this site.

Some of the current benefits of Carbide:

  1. Extension methods for manipulating IPublishedContent objects. Sometimes breaking changes to the Umbraco platform can cause issues with retrieving data from properties, potentially breaking your site. Using these extension methods gives you an easier way to retrieve property data, and a single place to make changes to support new Umbraco features or behaviors. Some also provide smart default values, like real "empty"collections of content when you query with Linq, so no more null checks.
  2. WebAPI routes for file handling. Using a route to grab SVG images, for example, allows you to pre-process the file before grabbing it. Umbraco's built-in ImageProcessor instance works this way. There is currently a route for grabbing SVG images and cleaning or recoloring them by simply using the URL in your <img> or other tags.
  3. Dashboard tools to speed development. Currently there is a content tools tab that provides a simple and elegant way to clear the ImageProcessor cache files, and to clear and rebuild the content cache and Examine indexes. When you're busy building, testing, and deploying, or even using tools like Scribe to wipe and reinstate the database, this tool comes in handy.
  4. Additional form field validators. Ever need a file upload validator for minimum and maximum file size? File types allowed? Carbide has those, and more will be added over time.
  5. Static helper classes. There are a bunch of static helper classes for managing storage (e.g. file read/write), sending email, manipulating context, stopwatches and date/time utilities, making server-side REST calls, and SEO tools (e.g. dynamic domain support for robots.txt files).
  6. File assets are embedded resources. files for things like dashboard tabs, javascript, images, etc. that Carbide uses are embedded resources. So you won't have a ton of extra files and folders spread all over your Umbraco web application.
  7. This API requires no commercial third party components. You have all the source code, an MIT license, sunshine, and puppies.

Ready to check it out?

Visit our github account and clone the repository to check it out. If you'd like to contribute to the project, we'd love to have you! Just let us know.


Need help using this?

If you need help with this or any of our other open source projects, Fynydd can consult with you to get your project moving in the right direction. Just let us know by visiting our contact page where you can reach out or talk to us directly on our free slack community.