```coffeescript
utils    = require('lib/utils')

exports.validate_doc_update = (newDoc, oldDoc, userCtx) ->
  types = ['essay','scene','video','profile']

  access = if '_admin' in userCtx.roles or 'admin' in userCtx.roles or 'manager' in userCtx.roles then true else false

  if not access
    throw unauthorized: 'You must have the role admin or manager to make changes'

  if newDoc.type in types
    throw forbidden: 'site is a required field' unless newDoc.site
    throw forbidden: 'title is a required field' unless newDoc.title

    newDoc.slug = utils.cleanSlug newDoc.slug
    throw forbidden: 'slug is a required field' unless newDoc.slug
    
    if newDoc.published
      throw forbidden: 'Published doc must have a publish date' unless newDoc.published_at
```

Include the role '_creator' used by Cloudant to the allowed type of users
user
```coffeescript
utils    = require('lib/utils')

exports.validate_doc_update = (newDoc, oldDoc, userCtx) ->
  types = ['essay','scene','video','profile']

  access = if '_admin' in userCtx.roles or '_creator' in userCtx.roles or 'admin' in userCtx.roles or 'manager' in userCtx.roles then true else false

  if not access
    throw unauthorized: 'You must have the role admin or manager to make changes'

  if newDoc.type in types
    throw forbidden: 'site is a required field' unless newDoc.site
    throw forbidden: 'title is a required field' unless newDoc.title

    newDoc.slug = utils.cleanSlug newDoc.slug
    throw forbidden: 'slug is a required field' unless newDoc.slug
    
    if newDoc.published
      throw forbidden: 'Published doc must have a publish date' unless newDoc.published_at
```
assistant