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.Webis the main Umbraco website.Escc.EastSussexGovUK.Umbraco.Apiis a separate copy of Umbraco which hosts the Examine index for jobs data. See Jobs.Escc.Jobs.UpdateIndexesupdates the Examine indexes for jobs when run as a scheduled task.Escc.Jobs.SendAlertssends job alerts when run as a scheduled task.Escc.EastSussexGovUK.Umbracocontains 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.configon 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.EastSussexGovUKproject, but this project implements the API that sets the cookie it requires, usingRegisterTextSizeRouteto 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.configfiles forEscc.EastSussexGovUK.Umbraco.WebandEscc.EastSussexGovUK.Umbraco.Apifrom our secrets store and place them in theEscc.EastSussexGovUK.Umbraco.WebandEscc.EastSussexGovUK.Umbraco.Apifolders. If you don't have access to these files, follow the manual steps later. -
From an Administrator command prompt, run
app-setup-dev.cmdto set up a site in IIS and prepare the Umbraco configuration files. -
Build the solution.
-
Download our Umbraco Forms licence file for
*.eastsussex.gov.ukcalledumbracoForms.licfrom 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_ownerdatabase role. - Go to
https://localhost:port/umbracoin a browser to run the Umbraco installer (whereportis 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.
- Do not install a starter website when prompted.
Alternatively, if you already have an database, in
~\Escc.EastSussexGovUK.Umbraco.Web\web.configset theumbracoConfigurationStatusandumbracoDbDSNvalues. - Create a new blank database in SQL Server. Create a database user with the
-
Copy the
umbracoDbDSNvalue from~\Escc.EastSussexGovUK.Umbraco.Web\web.configto~\Escc.EastSussexGovUK.Umbraco.Api\web.config. -
If you didn't have
Web.Debug.configearlier, configure thesystem.net/mailSettingssection in~\Escc.EastSussexGovUK.Umbraco.Web\web.configwith afromaddress and details of your SMTP server. -
If you didn't have
Web.Debug.configearlier, add proxy server and web API credentials to~\Escc.EastSussexGovUK.Umbraco.Web\web.configusing 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.configand~\Escc.EastSussexGovUK.Umbraco.Web\config\imageprocessor\security.configas described in the documentation for our fork of UmbracoFileSystemProviders.Azure. Be sure to read the documentation on theesccbranch 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.configand~\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
RedirectsReaderin theconnectionStringssection of~\Escc.EastSussexGovUK.Umbraco.Web\web.config.
For more detail see Escc.Redirects.
-
If you didn't have
Web.Debug.configearlier, add theSchoolApiUrlto~\Escc.EastSussexGovUK.Umbraco.Web\web.config -
In
~\Escc.EastSussexGovUK.Umbraco.Web\config\Dashboard.configreplace the URL ofyourforms.htmlwith/app_plugins/EsccUmbracoFormsBackOffice/backoffice/dashboards/yourforms.html.
For more detail see Umbraco Forms.
-
Set an Azure storage connection string in the
connectionStringssection of~\Escc.EastSussexGovUK.Umbraco.Web\web.config(namedEscc.EastSussexGovUK.Umbraco.AzureStorage) and~\Escc.Jobs.SendAlerts\app.config(here namedJobAlerts.AzureStorage). -
Copy the
system.net/mailSettingssection in~\Escc.EastSussexGovUK.Umbraco.Web\web.configto~\Escc.Jobs.SendAlerts\app.config. -
If you didn't have
Web.Debug.configearlier, add proxy server credentials to~\Escc.EastSussexGovUK.Umbraco.Api\web.configusing Escc.Net to connect to our external jobs provider. -
If you didn't have
Web.Debug.configearlier, 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.AzureStoragein theconnectionStringssection 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.