{"id":46387667,"url":"https://github.com/enkelmedia/thedashboard","last_synced_at":"2026-03-05T08:02:30.683Z","repository":{"id":33668106,"uuid":"37320720","full_name":"enkelmedia/TheDashboard","owner":"enkelmedia","description":"Magic dashboard for Umbraco","archived":false,"fork":false,"pushed_at":"2026-01-20T14:35:38.000Z","size":3669,"stargazers_count":44,"open_issues_count":4,"forks_count":45,"subscribers_count":4,"default_branch":"v17/dev","last_synced_at":"2026-01-20T22:16:57.850Z","etag":null,"topics":["dotnet-core","hacktoberfest","umbraco","umbraco-cms"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/enkelmedia.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-06-12T12:28:52.000Z","updated_at":"2025-07-22T23:34:07.000Z","dependencies_parsed_at":"2023-01-15T01:58:22.243Z","dependency_job_id":"e55f6183-527c-4e46-b9ac-1e9c619d22bd","html_url":"https://github.com/enkelmedia/TheDashboard","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/enkelmedia/TheDashboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enkelmedia%2FTheDashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enkelmedia%2FTheDashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enkelmedia%2FTheDashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enkelmedia%2FTheDashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/enkelmedia","download_url":"https://codeload.github.com/enkelmedia/TheDashboard/tar.gz/refs/heads/v17/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/enkelmedia%2FTheDashboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30115662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T03:40:26.266Z","status":"ssl_error","status_checked_at":"2026-03-05T03:39:15.902Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet-core","hacktoberfest","umbraco","umbraco-cms"],"created_at":"2026-03-05T08:02:29.876Z","updated_at":"2026-03-05T08:02:30.657Z","avatar_url":"https://github.com/enkelmedia.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"The Dashboard\n=====\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![NuGet version (Our.Umbraco.TheDashboard)](https://img.shields.io/nuget/v/Our.Umbraco.TheDashboard.svg?style=flat-square)](https://www.nuget.org/packages/Our.Umbraco.TheDashboard/)\n\nThis is a magic dashboard for Umbraco CMS, it's actually \"The Dashboard\". It will show editors a summary of the latest activities on the website combined with each editor's recent activities and other useful information.\n\n![The Dasboard Screenshot](documentation/the-dashboard-screenshot.png)\n\n## Installation in Umbraco CMS\nFor Umbraco 7 \u0026 8, there is a built version of the package here: https://our.umbraco.org/projects/backoffice-extensions/the-dashboard/ — download it and install it in the Developer section.\n\nFor Umbraco 9 and later use the following:\n\n**Command Line**\n\n```\ndotnet add package Our.Umbraco.TheDashboard\n```\n\n**Or NuGet**\n\n```\nInstall-Package Our.Umbraco.TheDashboard\n```\n\n## Dashboard Content\n\n## Recent Activities\nShows a list of all recent activities in the CMS by both the current user and other users. Only shows content that the users have access to.\n\n## Your recent activity\nShows a list of recent nodes that the current user have interacted with.\n\n## Pending content\nShows content that is published but have an unscheduled change, this mostly happens when editors press the \"Save and Preview\" button without publishing the changes afterwards and when this icon is shown:\n\n![image](https://user-images.githubusercontent.com/1782524/132513572-0d8f6b01-2422-427c-b555-aa56b49f64ab.png)\n\n\n## Extension Points\nThere's something called \"Counters\" listed to the right in the Dashboard. These are actually small classes that implements the `IDashboardCounter` interface from the package.\n\nThese classes are instantiated using Umbraco's `CollectionBuilders` (same as i.e. `ContentFinders`) so you can inject any dependency you need in the constructor.\n\nHere's an example:\n\n```csharp\npublic class OrdersDashboardCounter : IDashboardCounter\n{\n    private readonly ISomeService _someService;\n\n    public OrdersDashboardCounter(ISomeService _someService)\n    {\n    }\n\n    public DashboardCounterModel GetModel(IScope scope)\n    {\n        var sql = @\"SELECT count(id) FROM customOrders\";\n\n        var count = scope.Database.ExecuteScalar\u003cint\u003e(sql);\n\n        return new DashboardCounterModel()\n        {\n            LocalizationKey = \"custom_totalOrders\", //Must be loaded into the backoffice\n            Count = count,\n            ClickUrl = \"/umbraco#/orders\",\n            Style = DashboardCounterModel.CounterStyles.Action\n        };\n    }\n}\n```\n\nAnd then you need to create a `Composer` that adds your new counter:\n\n```csharp\n[ComposeAfter(typeof(TheDashboardComposer))]\npublic class OrdersCounterComposer : IComposer\n{\n  public void Compose(IUmbracoBuilder builder)\n  {\n\t// First, remove the member counters as we don't need them\n\tbuilder.TheDashboardCounters().Remove\u003cMembersTotalDashboardCounter\u003e();\n\tbuilder.TheDashboardCounters().Remove\u003cMembersNewLastWeekDashboardCounter\u003e();\n\n\t// Add my custom counter\n\tbuilder.TheDashboardCounters().Append\u003cOrdersDashboardCounter\u003e();\n  }\n}\n```\n\n## Contributions\nAre more then welcome but please, before you put a lot of work into it raise an issue and make sure that we're on the same track.\n\n### Roadmap\nThe main idea with the package is to provide a super simple dashboard for the Content section. We're extremely cautious with adding features, as we want to keep the codebase super-easy.\n\nIn the v8 version of the package the \"Developer Dashboard\" was removed. There's plenty of other packages, i.e. [Diplo GodMode](https://our.umbraco.com/packages/developer-tools/diplo-god-mode/) that solves this problem. There are no plans to add it back.\n\n### Build\nTo build a Release-version of the package,\n\n* [ ] Make sure to update the version in the .csproj file\n* [ ] Run `.\\build.ps1` inside the root, files is created in the `Artifacts`-folder\n\nThis package was created by Enkel Media, https://www.enkelmedia.se and is supported by https://www.obviuse.se\n\n### Branches\nThe default branch of the Github repository will always be the latest stable version. \n\nEach major version will have a branch like so `vXX/dev` where ongoing development will take place.\n\nIf you're providing a PR, ensure that you're targeting the right branch.\n\n**Branch History**\n* V1 = Umbraco 7 - 7.7.0\n* V2 = Umbraco 7.7.0+\n* V8 = Umbraco 8\n* V9 = Umbraco 9\n* V10 = Umbraco 10\n* V11 = Umbraco 11\n* V12 = Umbraco 12\n* V13 = Umbraco 13\n* V14 = Umbraco 14\n* And so on\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenkelmedia%2Fthedashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenkelmedia%2Fthedashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenkelmedia%2Fthedashboard/lists"}