{"id":28960997,"url":"https://github.com/persteenolsen/umbraco-13-starter-two","last_synced_at":"2026-04-20T10:32:58.220Z","repository":{"id":300746093,"uuid":"1007021463","full_name":"persteenolsen/umbraco-13-starter-two","owner":"persteenolsen","description":"Umbraco 13 CMS Website serving CRUD by custom MVC and Table in DB serving as a Starter","archived":false,"fork":false,"pushed_at":"2025-11-21T08:26:13.000Z","size":1112,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-21T10:14:27.688Z","etag":null,"topics":["dotnet","entity-framework-core","sqlite","umbraco"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/persteenolsen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2025-06-23T10:46:27.000Z","updated_at":"2025-11-21T08:26:17.000Z","dependencies_parsed_at":"2025-07-10T16:17:56.042Z","dependency_job_id":"d4860413-03a0-49bf-8b8d-d90cc14466fb","html_url":"https://github.com/persteenolsen/umbraco-13-starter-two","commit_stats":null,"previous_names":["persteenolsen/umbraco-13-starter-two"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/persteenolsen/umbraco-13-starter-two","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/persteenolsen%2Fumbraco-13-starter-two","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/persteenolsen%2Fumbraco-13-starter-two/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/persteenolsen%2Fumbraco-13-starter-two/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/persteenolsen%2Fumbraco-13-starter-two/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/persteenolsen","download_url":"https://codeload.github.com/persteenolsen/umbraco-13-starter-two/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/persteenolsen%2Fumbraco-13-starter-two/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32043048,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","entity-framework-core","sqlite","umbraco"],"created_at":"2025-06-24T02:01:09.840Z","updated_at":"2026-04-20T10:32:58.212Z","avatar_url":"https://github.com/persteenolsen.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# umbraco-13-starter-two\n\nLast Updated:\n\n21-11-2025\n\nA Website by Umbraco CMS 13 serving as a Starter with custom MVC using EF Core\n\n# Create a global json\n\ndotnet new globaljson --sdk-version 8.0.203 --force\n\n# Installation\n\n- dotnet new install Umbraco.Templates::13.*\n\n- dotnet new umbraco --name MvcUmbraco\n\n- cd MvcUmbraco\n\n- dotnet run\n\n- Open https : // localhost:44317 in your Browser and follow the instructions\n\n# Migrations custom MVC\n\nRun the command below if there is no Migration\n\n- dotnet ef migrations add FirstCreate --context MvcAppDbContext --output-dir Migrations/MvcMigrations\n\nRun the command below for update the Database by the Migration\n\n- dotnet ef database update --context MvcAppDbContext\n\n# Functionality of the Website\n\n- Simple Website with an Umbraco Backend\n\n# Tech used for creating the Website\n\n- .NET 8\n- Umbraco CMS 13\n- Entity Framework Core\n- SQLite DB for both Dev + Prod\n- A traditional Webhotel for hosting\n- VS Code\n\n# Development\n\ndotnet run\n\n# Production\n\nCreate a self contained build for production at the remote server / traditionel web hotel\n\ndotnet publish mvcumbraco.csproj --configuration Release --runtime win-x86 --self-contained\n\nUpload the build to remote server\n\nAt my remote servers the web.config needs to be without the folowing:\n\nhostingModel=\"inprocess\"\n\nUpload the SQLite DB to umbraco/Data at the remote server\n\n# Settings for Production\n\nLogin to your Umbraco and perform a Health Check under Settings\n\nOpen your web.config file at your Web hotel and be aware of the Excessive Headers that:\n\n- Could be revealing information in its headers that gives away unnecessary details about the technology used to build and host\n\n- Add code to web.config which contains:\n\n- httpProtocol - customHeaders - remove - name=X-Powered-By\n\n- security - requestFiltering - RemoveServerHeader=true\n\nTake a look in file Program.cs and the code about security by the HTTP Headers:\n\n- Click-Jacking Protection\n\n- Content / MIME Sniffing Protection\n\n- Cookie hijacking and protocol downgrade attacks Protection\n\nGo to appsettings.json and make sure that your Umbraco Site have the settings:\n\n- Hosting:Debug:false\n\n- UseHTTPS:true\n\n- WebRouting:UmbracoApplicationUrl:your.domain.com\n\n- Go to MvcUmbraco . csproj and enable the ItemGroup / compile:\n\nNote: Also check your settings in appsettings.Development.json for\n\n- Hosting:Debug\n\n# Performance =\u003e Slow first Page load\n\n- Used Google Page Speed\n\n- Eliminated Render-Blocking\n\n- I optimized the loading CSS and JS in the Master View\n\n- In web.config I added Rewrite Rule to force HTTP request to HTTPS\n\n- In web.config I added applicationInitialization to prevent cold start ( IIS seems to igore it! )\n\n- As a workaround I set up a crone job to make a request every few minutes to prevent cold start\n\n# Custom Error Pages\n\n- 404 Error Page by web.config and Umbraco\n\n- 500 Error Page by web.config and 500.html\n\n- 503 Error Page by web.config and 503.html\n\n# Sync your remote Prod changes to your local Dev\n\nYor will need to commit the changes from the sqlite-wal file to sqlite.db at the Web Hotel before downloading to local Dev:\n\n- Open web.config and save - This is a work around for stop / start the app pool\n\n- Download the sqlite.db\n\n- Download Views, media files or whatever files that you worked with at Prod\n\n# Models Builder - Configuration - Tips and Tricks\n\nBe sure that the Models for the Document Types are available and Recognized in VS Code:\n\n- Take a look at the settings for ModelsBuilder in appsetting.Development\n\n- Make sure to create the folder: umbraco / models to match the \"ModelsDirectory\": \"~/umbraco/models\"\n\n- Make sure you have the setting: \"ModelsMode\": \"SourceCodeManual\" for generate the .cs files\n\n- Make a dotnet build and then dotnet run and open the Admin Section of your site which will work even the site will not work before the models will be generated !!!\n\n- Go to the Models Builder in the Admin Section of your site and click: Regenerate Models\n\n- Take a look in the folder by VS Code: umbraco / models where the .cs files / models were created\n\n- Stop your site and make a dotnet run to see your site is running\n\n- Note: The cs files / models must be ignored before Release Build / Production. This must be doing manually in the ItemGroup / compile in the MvcUmbraco . csproj !!!\n\nHappy use of Umbraco :-)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpersteenolsen%2Fumbraco-13-starter-two","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpersteenolsen%2Fumbraco-13-starter-two","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpersteenolsen%2Fumbraco-13-starter-two/lists"}