Open source components built on top of Catel

There are lots of open source components built on top of Catel. Recently, Geert van Horrik has started a series about discovering useful open source WPF components.

A nice fact is that all these components use Catel as the base for the awesome features they provide. The articles in the series will be published on a weekly basis and are very informative for WPF application developers. Subscribe to the RSS feed so you don’t miss any posts.

The first blog post is an overview of a lot of open source WPF components that he will be writing about. Below is the list of items for your convenience.

Orc.Analytics
Makes it very easy to integration Google Analytics with Catel projects.

Orc.AutomaticSupport
Allows the user to easily download a remote file that will validate and provide automatic support to the end-user.

Orc.CommandLine
Command line parsing with an easy context class and automatic help system.

Orc.Controls
WPF controls like DatePicker, DateTimePicker, TimeSpanPicker, LogViewer, WatermarkTextBox and much more…

Orc.CrashReporting
Catch unhandled exceptions and automatically gather information to submit for the end-user as crash reports.

Orc.CsvHelper
Small library of extensions and helper methods for the CsvHelper library.

Orc.Feedback
Allows developers to easily get feedback from the end-user.

Orc.FilterBuilder
Adds complex filtering functionalities to your application. A user can create custom (dynamic) filters in a visual way and store them. Very nice component to allow a user to create filters of collections.

Orc.LicenseManager
Check software licenses. Consists of client and server (example) code. Uses Portable.Licensing under the hood.

Orc.LogViewer
If the LogViewer in Orc.Controls is too basic for you, this component expands that control by adding filtering and much more features.

Orc.Metadata
Provides base classes to store metadata about objects. This can be useful for a lot of information about objects. Might seem abstract, but this prevents you from repeating the same code over and over again.

Orc.Notifications
Show desktop notifications to the user with the ability to add commands to the notifications. In a few lines of code you have beautiful notifications in your app.

Orc.NuGetExplorer
A custom NuGet explorer. We use this because plugins of our applications are deployed via NuGet. This component allows the users to install and update their plugins.

Orc.ProjectManagement
Manage files and projects inside your application. Instead of messing around with lots of handlers and events, this library manages projects for you (can be a file, directory, database, really anything). Other components can subscribe to this if they are interested. Are you writing document-focused apps? You really want this one.

Orc.Search
If you need search in your apps, this is the component to use. It can automatically index objects for you (in the background). Provides events to notify you when objects are being indexed or searched for. super fast searching thanks for Lucene.net which is being used under the hood.

Orc.Squirrel
Wrapper around Squirrel (the new but better click-once). This library allows you to set up channels (like alpha, beta and stable) and manages the complex stuff under the hood.

Orc.SupportPackage
Allows an end-user to create a support package with the right information for you to analyse issues. Because this component is plugin based, you can gather any information you need. The info will automatically be added to a zip file which the user can export and submit.

Orc.SystemInfo
Ever needed system info of the end-user? This component gathers all the information. Also used by other components such as Orc.CrashReporting and Orc.SupportPackage.

Orc.WorkspaceManagement
Workspaces are a combination of settings that represent the state of the UI. For example, if you want to allow your end-users to customize UI and store the customizations, workspaces is the solution. It also contains a workspace switcher so users can easily switch between workspaces. Since this component is plugin based, it can really be used for anything (from grids to ribbons to docking solutions, etc).

Orchestra
Orchestra is a composable shell built on top of Catel. There are several shells like Fluent.Ribbon and MahApps. But Orchestra provides much more features like remappable keyboard shortcuts, splash screen, about window, consistent styling of your apps and much more.