Chris Hill-Scott ec724ce417 Stop AJAX updater consuming ever-increasing memory
The pages with AJAX on were feeling quite sluggish, and it felt like
they were making the whole browser slow down.

Looking at the performance stuff in Chrome, the number of DOM nodes was
going up and up, which is weird because the number of things on the page
wasn’t changing. This was causing the page to consume more and more
memory in order to store all these nodes.

This is kinda beyond my understanding, but I tried a few things and it
looks like the browser was having a hard time garbage collecting the
temporary bits of DOM used to update the page.

By assinging these bits of DOM to variables before using them it seems
that the browser has an easier time cleaning them up.
2016-08-03 10:29:25 +01:00
2016-07-12 09:20:41 +01:00
2016-07-29 10:23:27 +01:00
2016-08-03 09:05:04 +01:00
2016-07-29 10:23:26 +01:00
2016-08-01 07:41:16 +01:00
2016-08-01 14:29:08 +01:00

Build Status Requirements Status Coverage Status

Deploy to staging Deploy to live

notifications-admin

GOV.UK Notify admin application.

Features of this application

  • Register and manage users
  • Create and manage services
  • Send batch emails and SMS by uploading a CSV
  • Show history of notifications

First-time setup

Languages needed

  • Python 3
  • Node 5.0.0 or greater
    brew install node

NPM is Node's package management tool. n is a tool for managing different versions of Node. The following installs n and uses the latest version of Node.

    npm install -g n
    n latest
    npm rebuild node-sass

The app runs within a virtual environment. To install virtualenv, run

    [sudo] pip install virtualenv

Make a virtual environment for this app:

    mkvirtualenv -p /usr/local/bin/python3 notifications-admin

Install dependencies and build the frontend assets:

    ./scripts/bootstrap.sh

Rebuilding the frontend assets

If you want the front end assets to re-compile on changes, leave this running in a separate terminal from the app

    npm run watch

Create a local environment.sh file containing the following:

echo "
export NOTIFY_ADMIN_ENVIRONMENT='config.Development'
export ADMIN_CLIENT_SECRET='dev-notify-secret-key'
export ADMIN_CLIENT_USER_NAME='dev-notify-admin'
export API_HOST_NAME='http://localhost:6011'
export DANGEROUS_SALT='dev-notify-salt'
export SECRET_KEY='dev-notify-secret-key'
export DESKPRO_API_HOST=""
export DESKPRO_API_KEY=""
export DESKPRO_PERSON_EMAIL=""
export DESKPRO_DEPT_ID=""
export DESKPRO_ASSIGNED_AGENT_TEAM_ID=""
"> environment.sh

Running the application

    workon notifications-admin
    ./scripts/run_app.sh

Then visit localhost:6012

Description
The UI of Notify.gov
Readme 546 MiB
Languages
Python 69.3%
HTML 16.6%
JavaScript 11.1%
SCSS 0.9%
Nunjucks 0.7%
Other 1.4%