change hasOutputProduct to hasSource in device and site extension resource