This project is the root of our Umbraco installation for www.eastsussex.gov.uk. It is tightly coupled with the Escc.EastSussexGovUK project, which contains the template elements shared by this and every other branded part of our website. If a feature is not documented here, it may be because it is implemented in the shared template.
The solution is broken up into several subprojects:
Escc.EastSussexGovUK.Umbraco.Web
is the main Umbraco website.Escc.EastSussexGovUK.Umbraco.Api
is a separate copy of Umbraco which hosts the Examine index for jobs data. See Jobs.Escc.Jobs.UpdateIndexes
updates the Examine indexes for jobs when run as a scheduled task.Escc.Jobs.SendAlerts
sends job alerts when run as a scheduled task.Escc.EastSussexGovUK.Umbraco
contains any code which needs to be shared between two or more of the above projects.
-
Master and slave roles for Umbraco instances are configured by
RegisterServerRoleEventHandler
. Add the following setting toweb.config
on the back-office site only to ensure that the correct roles are assigned:<appSettings> <add key="IsUmbracoBackOffice" value="true" /> <appSettings>
-
Configuring redirects and custom error pages is documented in Redirects and custom errors in the Escc.EastSussexGovUK project
-
Document types, media types, data types and template definitions are all managed using uSync snapshots
-
A sitemap of media items is published by Escc.Umbraco.SiteMap to enable search engines to better index documents uploaded to Umbraco. This means that items uploaded to the media library can be discovered by search engines even if they are not linked from a page.
-
The content and media recycle bins are cleared of old items on a regular basis by Escc.Umbraco.RecycleBinManager
- Home page
- Guide
- Jobs
- Campaigns
- Locations, including libraries and recycling sites
- Privacy notice
- Rights of way - Section 31 deposits and definitive map modifications
- WebForms templates migrated from Microsoft CMS (includes details of the 'Standard topic page' and 'Map' templates and displaying school term dates)
- A/B testing
- Web analytics support using heatmaps is provided by Escc.Umbraco.HeatmapAnalytics
- Skins
- Service alerts
- Latest section
- Banners
- Embedding iCasework Forms
- Embedding Google Maps
- Embedding YouTube videos
- Making changes to HTML before it's displayed
- East Sussex 1Space and ESCIS support
- Ratings (also known as Customer Thermometer)
- Social media support
- Web chat
- Changing the text size for the site is documented in the
Escc.EastSussexGovUK
project, but this project implements the API that sets the cookie it requires, usingRegisterTextSizeRoute
to wire up a controller and a view that do not require an Umbraco document type and content node. - Alternative text is required for images by the inclusion of Escc.Umbraco
- Validation and automatic formatting of rich text fields is provided by Escc.Umbraco.PropertyEditors
- A media folder is maintained for each page, and media usage is tracked, by Escc.Umbraco.MediaSync
- Media is stored in Azure blob storage by our fork of UmbracoFileSystemProviders.Azure
- Page expiry is controlled and notifications are sent to editors by Escc.Umbraco.Expiry
-
Create an Azure storage account or get the Azure storage emulator.
-
Ensure that Escc.WebApplicationSetupScripts and Escc.EastSussexGovUK are already set up in folders alongside this repository.
-
Get the
Web.Debug.config
files forEscc.EastSussexGovUK.Umbraco.Web
andEscc.EastSussexGovUK.Umbraco.Api
from our secrets store and place them in theEscc.EastSussexGovUK.Umbraco.Web
andEscc.EastSussexGovUK.Umbraco.Api
folders. If you don't have access to these files, follow the manual steps later. -
From an Administrator command prompt, run
app-setup-dev.cmd
to set up a site in IIS and prepare the Umbraco configuration files. -
Build the solution.
-
Download our Umbraco Forms licence file for
*.eastsussex.gov.uk
calledumbracoForms.lic
from our umbraco.com account and copy it into~\Escc.EastSussexGovUK.Umbraco.Web\bin
. -
Set up the Umbraco database:
- Create a new blank database in SQL Server. Create a database user with the
db_owner
database role. - Go to
https://localhost:port/umbraco
in a browser to run the Umbraco installer (whereport
is the one you chose for the web application when you ranapp-setup-dev.cmd
). - Click 'Customise' on the first dialog, select SQL Server, and enter the details of your new database and user.
- Click 'Continue' when prompted for a machine key.
- Do not install a starter website when prompted.
Alternatively, if you already have an database, in
~\Escc.EastSussexGovUK.Umbraco.Web\web.config
set theumbracoConfigurationStatus
andumbracoDbDSN
values. - Create a new blank database in SQL Server. Create a database user with the
-
Copy the
umbracoDbDSN
value from~\Escc.EastSussexGovUK.Umbraco.Web\web.config
to~\Escc.EastSussexGovUK.Umbraco.Api\web.config
. -
If you didn't have
Web.Debug.config
earlier, configure thesystem.net/mailSettings
section in~\Escc.EastSussexGovUK.Umbraco.Web\web.config
with afrom
address and details of your SMTP server. -
If you didn't have
Web.Debug.config
earlier, add proxy server and web API credentials to~\Escc.EastSussexGovUK.Umbraco.Web\web.config
using Escc.Net (if a page loads slowly and without template elements such as the header and footer, you need to configure the proxy). -
Configure
~\Escc.EastSussexGovUK.Umbraco.Web\config\FileSystemProviders.config
and~\Escc.EastSussexGovUK.Umbraco.Web\config\imageprocessor\security.config
as described in the documentation for our fork of UmbracoFileSystemProviders.Azure. Be sure to read the documentation on theescc
branch as there are extra fields to configure for Umbraco Forms. -
Configure a project in Exceptionless to report errors to, and enter the details in
~\Escc.EastSussexGovUK.Umbraco.Web\web.config
,~\Escc.EastSussexGovUK.Umbraco.Api\web.config
,~\Escc.Jobs.SendAlerts\app.config
and~\Escc.Jobs.UpdateIndexes\app.config
:
`<exceptionless apiKey="API_KEY_HERE" serverUrl="https://hostname" />`
-
In the Umbraco back office for the web application project, go to the Developer > uSync BackOffice > Snapshots and click 'Apply all'.
-
You should now have a working back-office site with no content. Go to the content section and create a home page.
- Add a SQL Server connection string named
RedirectsReader
in theconnectionStrings
section of~\Escc.EastSussexGovUK.Umbraco.Web\web.config
.
For more detail see Escc.Redirects.
-
If you didn't have
Web.Debug.config
earlier, add theSchoolApiUrl
to~\Escc.EastSussexGovUK.Umbraco.Web\web.config
-
In
~\Escc.EastSussexGovUK.Umbraco.Web\config\Dashboard.config
replace the URL ofyourforms.html
with/app_plugins/EsccUmbracoFormsBackOffice/backoffice/dashboards/yourforms.html
.
For more detail see Umbraco Forms.
-
Set an Azure storage connection string in the
connectionStrings
section of~\Escc.EastSussexGovUK.Umbraco.Web\web.config
(namedEscc.EastSussexGovUK.Umbraco.AzureStorage
) and~\Escc.Jobs.SendAlerts\app.config
(here namedJobAlerts.AzureStorage
). -
Copy the
system.net/mailSettings
section in~\Escc.EastSussexGovUK.Umbraco.Web\web.config
to~\Escc.Jobs.SendAlerts\app.config
. -
If you didn't have
Web.Debug.config
earlier, add proxy server credentials to~\Escc.EastSussexGovUK.Umbraco.Api\web.config
using Escc.Net to connect to our external jobs provider. -
If you didn't have
Web.Debug.config
earlier, add the URLs for our external jobs provider to~\Escc.EastSussexGovUK.Umbraco.Api\web.config
. -
Create the jobs pages in Umbraco using the dedicated document types for jobs.
For more detail see Jobs.
- Set an Azure storage connection string named
Escc.ServiceClosures.AzureStorage
in theconnectionStrings
section of~\Escc.EastSussexGovUK.Umbraco.Web\web.config
. This enables support for school closure alerts. - Create a page next to the home page based on the 'Alerts' document type.
For more detail see Service Alerts.