code: function normalizeCaps(settings) {
  	var features = settings.required_features, caps = {};
  
  	function resolve(feature, value, strict) {
  		// Feature notation is deprecated, use caps (this thing here is required for backward compatibility)
  		var map = {
  			chunks: 'slice_blob',
  			jpgresize: 'send_binary_string',
  			pngresize: 'send_binary_string',
  			progress: 'report_upload_progress',
  			multi_selection: 'select_multiple',
  			dragdrop: 'drag_and_drop',
  			drop_element: 'drag_and_drop',
  			headers: 'send_custom_headers',
  			urlstream_upload: 'send_binary_string',
  			canSendBinary: 'send_binary',
  			triggerDialog: 'summon_file_dialog'
  		};
  
  		if (map[feature]) {
  			caps[map[feature]] = value;
  		} else if (!strict) {
  			caps[feature] = value;
  		}
  	}
  
  	if (typeof(features) === 'string') {
  		plupload.each(features.split(/\s*,\s*/), function(feature) {
  			resolve(feature, true);
  		});
  	} else if (typeof(features) === 'object') {
  		plupload.each(features, function(value, feature) {
  			resolve(feature, value);
  		});
  	} else if (features === true) {
  		// check settings for required features
  		if (settings.chunk_size && settings.chunk_size > 0) {
  			caps.slice_blob = true;
  		}
  
  		if (!plupload.isEmptyObj(settings.resize) || settings.multipart === false) {
  			caps.send_binary_string = true;
  		}
  
  		if (settings.http_method) {
              caps.use_http_method = settings.http_method;
          }
  
  		plupload.each(settings, function(value, feature) {
  			resolve(feature, !!value, true); // strict check
  		});
  	}
  
  	return caps;
  }
docs: convert plupload features to caps acceptable by mOxie