server/viewstate.js
function checkParams(typeCode, params, errCb){
		_.assertFunction(errCb)
		
		var viewSchema = schema._byCode[typeCode]
		var failed = false
		//console.log(JSON.stringify(viewSchema))
		var ps = viewSchema.viewSchema.params
		for(var i=0;i<ps.length;++i){
			var t = ps[i]
			if(t.type.type === 'object'){
				if(!_.isString(params[i]) && !_.isObject(params[i]) && isNaN(params[i])){
					console.log('failed to parse: ' + viewSchema.name + ' ' + JSON.stringify(params))
					//throw new Error('object id is NaN in param ' + i)
					var e = new Error('object id is NaN in param ' + i)
					e.code = 'InvalidParamType'
					errCb(e)
					return false
				}
				/*if(!objectState.isTopLevelObject(params[i])){
					var e = new Error('parameters include an invalid object id') 
					e.code = 'InvalidParamId'
					errCb(e)
					return false
				}else */if(objectState.isDeleted(params[i])){
					var e = new Error('parameters include a object id for a deleted object') 
					e.code = 'InvalidParamId'
					errCb(e)
					return false
				}/*else{
					//console.log('param is fine: ' + params[i])
				}*/
			}
		}
		return true
	}
function checkParams(typeCode, params, errCb){
		_.assertFunction(errCb)
		
		var viewSchema = schema._byCode[typeCode]
		var failed = false
		//console.log(JSON.stringify(viewSchema))
		var ps = viewSchema.viewSchema.params
		for(var i=0;i<ps.length;++i){
			var t = ps[i]
			if(t.type.type === 'object'){
				if(!_.isString(params[i]) && !_.isObject(params[i]) && isNaN(params[i])){
					console.log('failed to parse: ' + viewSchema.name + ' ' + JSON.stringify(params))
					//throw new Error('object id is NaN in param ' + i)
					var e = new Error('object id is NaN in param ' + i)
					e.code = 'InvalidParamType'
					errCb(e)
					return false
				}
				/*if(!objectState.isTopLevelObject(params[i])){
					var e = new Error('parameters include an invalid object id') 
					e.code = 'InvalidParamId'
					errCb(e)
					return false
				}else */if(objectState.isDeleted(params[i])){
					var e = new Error('parameters include a object id for a deleted object') 
					e.code = 'InvalidParamId'
					errCb(e)
					return false
				}/*else{
					//console.log('param is fine: ' + params[i])
				}*/
			}
		}
		return true
	}
_.assertFunction(broadcaster.output.listenForNew)