Overriding Default Pages, Styles, and Scripts

Overview

It is possible to override the default pages, styles, and scripts that are shipped with EmpowerID. Follow the instructions below to override those files.

Overriding .cshtml Pages

Most pages in EmpowerID can be overriden. Simply copy the original file to the appropriate folder in the overrides directory to override the original page. Follow the appropriate folder structure detailed below.

Create the Overrides Directory

Path = C:\Program Files\TheDotNetFactory\EmpowerID\Web Sites\EmpowerID.Web.Overrides

  • The EmpowerID.Web.Overrides folder is not included in the install and must be created manually.

Path for EmpowerID.Web.PortableAreas.Common Overrides

~EmpowerID.Web.Overrides\Areas\Common\[original folder structure]

  • Example:
    • Original = ~Web Sites\EmpowerID.Web.PortableAreas.Common\Views\Pages\ITShop.cshtml
    • Override = ~Web Sites\EmpowerID.Web.Overrides\Areas\Common\Views\Pages\ITShop.cshtml

Path for all other sites

~EmpowerID.Web.Overrides\[name of the original folder without the periods and 'EmpowerID']\[original folder structure]

  • Example:
    • Original = ~Web Sites\EmpowerID.Web.IdP.Forms\Views\Home\Login.cshtml
    • Override = ~Web Sites\EmpowerID.Web.Overrides\WebIdPForms\Views\Home\Login.cshtml

Overriding Styles and Scripts

Styles and scripts can be overriden in the overrides.css and overrides.js files, respectively. A basic knowledge of CSS and/or Javascript is required to create overrides. For more information, refer to the MDN Web Docs.

Paths for Override Files

  • C:\Program Files\TheDotNetFactory\EmpowerID\Web Sites\EmpowerID.Web.Cdn\Overrides\Scripts\overrides.js
  • C:\Program Files\TheDotNetFactory\EmpowerID\Web Sites\EmpowerID.Web.Cdn\Overrides\Themes\EmpowerID\overrides.css
  • C:\Program Files\TheDotNetFactory\EmpowerID\Web Sites\EmpowerID.Web.Cdn\Overrides\Images: a folder to place images referenced in overrides.js or overrides.css

Note: only use one overrides.js file and one overrides.css file. CSS or JS files with other names in these folders will have no affect on the site.

CSS Overrides

To overrides existing styles, simply target the existing CSS selectors in the overrides.css.

Javascript Overrides

To create custom or overwrite existing Javascript, save your code to the overrides.js file.

Note: to override existing Javascript (e.g., properties in eid-nav.js), one must override (that is, copy) the entire IIFE in which the code is encapsulated into the overrides.js file. For more information refer to IIFE on MDN.

Note: The EmpowerID web app uses an MVVM pattern that uses Knockout.js to create View Models. For more information, refer to the Knockout.js docs.

Note: always remember to clear cache and reload the page after every change to these files.