cshc / cshc_website

The main repository for the Cambridge South Hockey Club website source code
3 stars 0 forks source link

Unhandled exception while adding a member #85

Closed devilmaycare closed 10 years ago

devilmaycare commented 11 years ago

Got this error when I saved a new Member

TypeError at /admin/members/member/add/ expected a character buffer object

Request Method: POST

Request URL: http://cshcsite.herokuapp.com/admin/members/member/add/?_popup=1

Django Version: 1.5

Exception Type: TypeError

Exception Value: expected a character buffer object

Exception Location: /app/.heroku/python/lib/python2.7/site-packages/django/utils/html.py in escapejs, line 65

Python Executable: /app/.heroku/python/bin/python

Python Version: 2.7.4

Python Path: ['/app/cshcsite', '/app/.heroku/python/bin', '/app/.heroku/python/lib/python2.7/site-packages/distribute-0.6.36-py2.7.egg', '/app/.heroku/python/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg', '/app/.heroku/src/templated-emails', '/app', '/app/.heroku/python/lib/python27.zip', '/app/.heroku/python/lib/python2.7', '/app/.heroku/python/lib/python2.7/plat-linux2', '/app/.heroku/python/lib/python2.7/lib-tk', '/app/.heroku/python/lib/python2.7/lib-old', '/app/.heroku/python/lib/python2.7/lib-dynload', '/app/.heroku/python/lib/python2.7/site-packages', '/app/.heroku/python/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info', '/app/cshcsite/cshcsite']

Server time: Tue, 10 Sep 2013 10:34:04 +0100

Traceback Switch to copy-and-paste view

/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py in get_response 1.

1.

1.

1.

1.

1.

1.

  1. response = callback(request, _callback_args, *_callback_kwargs) ... 1.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/options.py in wrapper 2.

2.

2.

2.

2.

2.

2.

  1. return self.admin_site.admin_view(view)(_args, *_kwargs) ... 2.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py in _wrapped_view 3.

3.

3.

3.

3.

3.

3.

  1. response = view_func(request, _args, *_kwargs) ... 3.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/views/decorators/cache.py in _wrapped_view_func 4.

4.

4.

4.

4.

4.

4.

  1. response = view_func(request, _args, *_kwargs) ... 4.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/sites.py in inner 5.

5.

5.

5.

5.

5.

5.

  1. return view(request, _args, *_kwargs) ... 5.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py in _wrapper 6.

6.

6.

6.

6.

6.

6.

  1. return bound_func(_args, *_kwargs) ... 6.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py in _wrapped_view 7.

7.

7.

7.

7.

7.

7.

  1. response = view_func(request, _args, *_kwargs) ... 7.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py in bound_func 8.

8.

8.

8.

8.

8.

8.

  1. return func(self, _args2, *_kwargs2) ... 8.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/db/transaction.py in inner 9.

9.

9.

9.

9.

9.

9.

  1. return func(_args, *_kwargs) ... 9.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/options.py in add_view 10.

10.

10.

10.

10.

10.

10.

  1. return self.response_add(request, new_object) ... 10.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/options.py in response_add 11.

11.

11.

11.

11.

11.

11.

  1. (escape(pk_value), escapejs(obj))) ... 11.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/utils/functional.py in wrapper 12.

12.

12.

12.

12.

12.

12.

  1. return func(_args, *_kwargs) ... 12.

▶ Local vars

/app/.heroku/python/lib/python2.7/site-packages/django/utils/html.py in escapejs 13.

13.

13.

13.

13.

13.

13.

  1. return mark_safe(force_text(value).translate(_js_escapes)) ... 13.

▶ Local vars

Request information

GET

Variable

Value

_popup u'1'

POST

Variable

Value

csrfmiddlewaretoken u'YTOa29l7SvDvuIoCeGozpG3gKNOY8aBY'

is_current u'on'

gender u'Male'

user u'123'

pref_position u'9'

last_name u'Baker'

profile_pic u''

_save u''

first_name u'Ross'

_popup u'1'

FILES

No FILES data

COOKIES

Variable

Value

csrftoken 'YTOa29l7SvDvuIoCeGozpG3gKNOY8aBY'

__utmz '266999452.1378123049.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)'

civicCookieControl '{'

sessionid 'to12bb1lauy37smcv380im4fur86f4g3'

__unam '6396d69-140de996cd7-6879cd1d-8'

__utmb '266999452.10.10.1378803959'

__utmc '266999452'

__utma '266999452.104131401.1378123049.1378200673.1378803959.3'

META

Variable

Value

PATH_INFO u'/admin/members/member/add/'

wsgi.multithread False

wsgi.errors <open file '', mode 'w' at 0x7f7f8cd861e0>

SERVER_PROTOCOL 'HTTP/1.1'

wsgi.url_scheme 'http'

HTTP_HOST 'cshcsite.herokuapp.com'

CSRF_COOKIE u'YTOa29l7SvDvuIoCeGozpG3gKNOY8aBY'

HTTP_X_FORWARDED_PROTO 'http'

CONTENT_TYPE 'multipart/form-data; boundary=---------------------------7dd19b01c088a'

SCRIPT_NAME u''

CONTENT_LENGTH '1134'

wsgi.multiprocess False

HTTP_COOKIE 'unam=6396d69-140de996cd7-6879cd1d-8; utmc=266999452; csrftoken=YTOa29l7SvDvuIoCeGozpG3gKNOY8aBY; sessionid=to12bb1lauy37smcv380im4fur86f4g3; utma=266999452.104131401.1378123049.1378200673.1378803959.3; utmz=266999452.1378123049.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); civicCookieControl={"pv":"","cm":"info","hidden":"yes","open":"no"}; __utmb=266999452.10.10.1378803959'

HTTP_ACCEPT_LANGUAGE 'en-GB'

HTTPACCEPT 'text/html, application/xhtml+xml, /_'

HTTP_DNT '1'

HTTP_X_FORWARDED_PORT '80'

wsgi.version (1, 0)

SERVER_SOFTWARE 'gunicorn/17.5'

wsgi.run_once False

RAW_URI '/admin/members/member/add/?_popup=1'

REMOTE_ADDR '10.93.79.21'

QUERY_STRING '_popup=1'

HTTP_REFERER 'http://cshcsite.herokuapp.com/admin/members/member/add/?_popup=1'

REMOTE_PORT '37315'

HTTP_CONNECTION 'close'

HTTP_X_REQUEST_START '1378805644575'

REQUEST_METHOD 'POST'

wsgi.input <gunicorn.http.body.Body object at 0x476a210>

wsgi.file_wrapper '######'

HTTP_X_FORWARDED_FOR '82.111.18.220'

SERVER_PORT '80'

HTTP_ACCEPT_ENCODING 'gzip, deflate'

SERVER_NAME 'cshcsite.herokuapp.com'

HTTP_USER_AGENT 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)'

HTTP_CACHE_CONTROL 'no-cache'

gunicorn.socket <socket._socketobject object at 0x446ef30>

Settings

Using settings module cshcsite.settings.staging

Setting

Value

TEMPLATE_DIRS ('/app/cshcsite/templates',)

NUMBER_GROUPING 0

USE_TZ True

DATETIME_INPUT_FORMATS ('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y')

LOGOUT_URL 'logout'

DECIMAL_SEPARATOR '.'

DEBUG True

DEFAULT_INDEX_TABLESPACE ''

MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'

FILE_UPLOAD_PERMISSIONS None

SESSION_EXPIRE_AT_BROWSER_CLOSE False

PREPEND_WWW False

THUMBNAIL_DEBUG True

DJANGO_APPS ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'suit', 'django.contrib.admin', 'django.contrib.flatpages')

TWITTER_CONSUMER_SECRET u'****'

CSRF_COOKIE_NAME 'csrftoken'

DEFAULT_CHARSET 'utf-8'

AWS_QUERYSTRING_AUTH False

LOCALE_PATHS ()

SETTINGS_MODULE 'cshcsite.settings.staging'

DEBUG_PROPAGATE_EXCEPTIONS False

MAINTENANCE_MODE False

APPEND_SLASH True

LOGIN_URL 'login'

ALLOWED_HOSTS ['*']

TINYMCE_DEFAULT_CONFIG {'content_css': '/static/css/project_preview.css', 'plugin_preview_height': '800', 'plugin_preview_width': '900', 'plugins': 'table,spellchecker,paste,searchreplace,preview', 'theme': 'advanced', 'theme_advanced_buttons3_add': 'preview'}

CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure'

DISALLOWED_USER_AGENTS ()

CACHE_MIDDLEWARE_SECONDS 600

SEND_BROKEN_LINK_EMAILS False

SESSION_COOKIE_DOMAIN None

PASSWORD_RESET_TIMEOUT_DAYS u'****'

STATICFILES_DIRS ('/app/cshcsite/static',)

CSRF_COOKIE_DOMAIN None

ADMIN_MEDIA_PREFIX 'https://cshc-staging.s3.amazonaws.com/static/admin/'

EMAIL_SUBJECT_PREFIX '[Django] '

SESSION_CACHE_ALIAS 'default'

USE_L10N True

USE_X_FORWARDED_HOST False

AUTHENTICATION_BACKENDS ('django.contrib.auth.backends.ModelBackend',)

CACHE_MIDDLEWARE_ALIAS 'default'

SERVER_EMAIL 'website@cambridgesouthhockeyclub.co.uk'

ROOT_URLCONF 'cshcsite.urls'

ABSOLUTE_URL_OVERRIDES {}

COMMENTS_ALLOW_PROFANITIES False

DATE_FORMAT 'N j, Y'

SORTER_ALLOWED_CRITERIA {'sort': ['our_team', 'opp_team', 'venue', 'fixture_type', 'date', 'home_away', 'alt_outcome', 'our_score', 'opp_score', 'season', 'division', 'cup', 'first_name', 'last_name', 'gender', 'pref_position', 'is_current', 'is_home']}

DEFAULT_TABLESPACE ''

THOUSAND_SEPARATOR ','

AUTH_USER_MODEL 'core.CshcUser'

LANGUAGE_COOKIE_NAME 'django_language'

X_FRAME_OPTIONS 'SAMEORIGIN'

USE_THOUSAND_SEPARATOR False

YEAR_MONTH_FORMAT 'F Y'

SHORT_DATE_FORMAT 'm/d/Y'

TEMPLATEDEMAILS_USE_PYNLINER True

SIGNING_BACKEND 'django.core.signing.TimestampSigner'

EMAIL_PORT 587

AWS_ACCESS_KEY_ID u'****'

LOGIN_REDIRECT_URL 'user_profile'

ADMIN_FOR ()

CACHES {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}

DEFAULT_CONTENT_TYPE 'text/html'

MAINTENANCE_IGNORE_URLS ('^/admin/.*',)

TIME_FORMAT 'P'

SHORT_DATETIME_FORMAT 'm/d/Y P'

FILE_CHARSET 'utf-8'

DISQUS_SECRET_KEY u'****'

TEMPLATE_LOADERS ('django_mobile.loader.Loader', 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader')

DEFAULT_FROM_EMAIL 'website@cambridgesouthhockeyclub.co.uk'

SESSION_ENGINE 'django.contrib.sessions.backends.db'

SPLIT_MARKER ''

DEFAULT_FILE_STORAGE 's3_folder_storage.s3.DefaultStorage'

STATICFILES_FINDERS ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder')

CSRF_COOKIE_SECURE False

USE_ETAGS False

MIDDLEWARE_CLASSES ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django_mobile.middleware.MobileDetectionMiddleware', 'django_mobile.middleware.SetFlavourMiddleware', 'pagination.middleware.PaginationMiddleware', 'maintenancemode.middleware.MaintenanceModeMiddleware')

SPLIT_DEFAULT_PARAGRAPHS 1

CSRF_COOKIE_PATH '/'

DISQUS_PUBLIC_KEY u'****'

EMAIL_USE_TLS True

DEFAULT_TWITTER_USER 'cambsouthhc'

TIME_INPUT_FORMATS ('%H:%M:%S', '%H:%M')

TIME_ZONE 'Europe/London'

STATIC_URL 'https://cshc-staging.s3.amazonaws.com/static/'

TWITTER_CONSUMER_KEY u'****'

IGNORABLE_404_URLS ()

EMAIL_HOST_USER 'app11685428@heroku.com'

WSGI_APPLICATION 'wsgi.application'

ALLOWED_INCLUDE_ROOTS ()

LANGUAGES (('af', 'Afrikaans'), ('ar', 'Arabic'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('el', 'Greek'), ('en', 'English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy-nl', 'Frisian'), ('ga', 'Irish'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hu', 'Hungarian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('nb', 'Norwegian Bokmal'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-cn', 'Simplified Chinese'), ('zh-tw', 'Traditional Chinese'))

AWS_STORAGE_BUCKET_NAME 'cshc-staging'

LOGGING_CONFIG 'django.utils.log.dictConfig'

SESSION_FILE_PATH None

STATICFILES_STORAGE 's3_folder_storage.s3.StaticStorage'

STATIC_S3_PATH 'static'

LOGGING {'disable_existing_loggers': False, 'filters': {'require_debug_false': {'()': 'django.utils.log.RequireDebugFalse'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'level': 'DEBUG'}, 'mail_admins': {'class': 'django.utils.log.AdminEmailHandler', 'filters': ['require_debug_false'], 'level': 'ERROR'}}, 'loggers': {'awards': {'handlers': ['console'], 'level': 'DEBUG'}, 'competitions': {'handlers': ['console'], 'level': 'DEBUG'}, 'core': {'handlers': ['console'], 'level': 'DEBUG'}, 'cshcsite': {'handlers': ['console'], 'level': 'DEBUG'}, 'django.request': {'handlers': ['mail_admins'], 'level': 'ERROR', 'propagate': True}, 'matches': {'handlers': ['console'], 'level': 'DEBUG'}, 'members': {'handlers': ['console'], 'level': 'DEBUG'}, 'mobile': {'handlers': ['console'], 'level': 'DEBUG'}, 'opposition': {'handlers': ['console'], 'level': 'DEBUG'}, 'teams': {'handlers': ['console'], 'level': 'DEBUG'}, 'training': {'handlers': ['console'], 'level': 'DEBUG'}, 'venues': {'handlers': ['console'], 'level': 'DEBUG'}}, 'version': 1}

SITE_NAME 'CSHC'

PASSWORD_HASHERS u'****'

FIRST_DAY_OF_WEEK 0

EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'

DATE_INPUT_FORMATS ('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y')

THIRD_PARTY_APPS ('south', 'django_mobile', 'tinymce', 'sorl.thumbnail', 'pagination', 'sorter', 'disqus', 'maintenancemode', 'storages', 's3_folder_storage')

SESSION_COOKIE_AGE 31536000

MEDIA_URL 'https://cshc-staging.s3.amazonaws.com/media/'

COOKIE_CTRL_API_KEY u'****'

INSTALLED_APPS ('django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', 'suit', 'django.contrib.admin', 'django.contrib.flatpages', 'south', 'django_mobile', 'tinymce', 'sorl.thumbnail', 'pagination', 'sorter', 'disqus', 'maintenancemode', 'storages', 's3_folder_storage', 'core', 'venues', 'competitions', 'teams', 'opposition', 'members', 'matches', 'awards', 'training', 'feedback')

FIXTURE_DIRS ('/app/cshcsite/fixtures',)

ADMINS (('Graham McCulloch', 'website@cambridgesouthhockeyclub.co.uk'),)

DATETIME_FORMAT 'N j, Y, P'

DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'

FILE_UPLOAD_TEMP_DIR None

TEST_RUNNER 'django.test.simple.DjangoTestSuiteRunner'

FORMAT_MODULE_PATH None

SESSION_COOKIE_HTTPONLY True

LANGUAGES_BIDI ('he', 'ar', 'fa')

MONTH_DAY_FORMAT 'F j'

FILE_UPLOAD_HANDLERS ('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler')

SITE_ROOT '/app/cshcsite'

USE_I18N True

SESSION_SAVE_EVERY_REQUEST False

INTERNAL_IPS ()

SECURE_PROXY_SSL_HEADER ('HTTP_X_FORWARDED_PROTO', 'https')

THUMBNAIL_KVSTORE 'sorl.thumbnail.kvstores.cached_db_kvstore.KVStore'

CACHE_MIDDLEWARE_KEY_PREFIX u'****'

TRANSACTIONS_MANAGED False

MANAGERS (('Graham McCulloch', 'website@cambridgesouthhockeyclub.co.uk'),)

TEMPLATE_STRING_IF_INVALID '######'

STATIC_ROOT '/static/'

TWITTER_OAUTH_SECRET u'****'

FILE_UPLOAD_MAX_MEMORY_SIZE 2621440

DJANGO_ROOT '/app/cshcsite/cshcsite'

PROFANITIES_LIST u'****'

EMAIL_HOST_PASSWORD u'****'

DISQUS_API_KEY u'****'

TWITTER_OAUTH_TOKEN u'****'

DEFAULT_S3_PATH 'media'

DISQUS_WEBSITE_SHORTNAME 'cshc-staging'

TEMPLATE_CONTEXT_PROCESSORS ('django.contrib.auth.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.static', 'django.core.context_processors.tz', 'django.contrib.messages.context_processors.messages', 'django.core.context_processors.request', 'django_mobile.context_processors.flavour')

LANGUAGE_CODE 'en-gb'

SESSION_COOKIE_SECURE False

SITE_ID 1

EMAIL_HOST 'smtp.sendgrid.net'

DATABASES {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'ec2-54-243-250-125.compute-1.amazonaws.com', 'NAME': 'd5q40ntlrh8hag', 'OPTIONS': {}, 'PASSWORD': u'****', 'PORT': 5432, 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'UTC', 'USER': 'zezvifbsitoedg'}}

MEDIA_ROOT '/media/'

SESSION_COOKIE_NAME 'sessionid'

DATABASE_ROUTERS []

SECRET_KEY u'****'

TEMPLATE_DEBUG True

AWS_SECRET_ACCESS_KEY u'****'

FORCE_SCRIPT_NAME None

SESSION_COOKIE_PATH '/'

SUIT_CONFIG {'ADMIN_NAME': 'Cambridge South Hockey Club - Admin'}

LOCAL_APPS ('core', 'venues', 'competitions', 'teams', 'opposition', 'members', 'matches', 'awards', 'training', 'feedback')

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 500 page.

grahammcculloch commented 11 years ago

Is this repeatable? Can you tell me the exact steps to reproduce this error?

grahammcculloch commented 10 years ago

This will be fixed when I upload the latest update to the live site.