code: function validateIncomingContentItem(desc, context) {
    var ret = {ok: true};
    if (!context.member) {
      return 'NO MEMBER';
    }
    if (!desc.uri || desc.uri.indexOf('http') !== 0) {
      return 'indexContentItem not http ' + desc.uri;
    }
  
    ret.state = context.state || desc.state;
  
    ret.title = context.title || desc.title;
  
    // extract and process content
    if (!ret.queued && ret.state !== utils.states.content.queued) {
      if (!desc.content) {
        return 'no content for ' + JSON.stringify(desc, null, 2);
      }
  
  // extract recognizable content
      var extracted = extractContent(desc);
      ret.extracted = { title: extracted.title };
      if (!ret.extracted.title && !desc.title) {
        GLOBAL.debug('not indexable content-type', desc.uri);
        return 'not indexable';
      }
    }
  
    ret.user = GLOBAL.svc.auth.getUserByUsername(context.member);
    if (!ret.user) {
      console.log(context.member, GLOBAL.config.users);
      return 'User not found ' + context.member;
    }
    return ret;
  }
docs: Test an incoming desc and return a string with an error if not ok, or ok: true and desc values.