In the documentation for apex:component it is said about the
If this attribute is set to "true", you can include DML within the component. The default is "false". Allowing DML can cause side-effects that could be problematic for consumers using the component with partial page updates.
Can someone explain what are these side-effects exactly?
Also I don't fully understand how to reduce the effect of allowDML
When allowing DML within a component, you should include rerender attributes so the consumer can appropriately refresh their page.
Does it mean that a developer needs to provide a
reRender attribute on the component (e.g. action function or command button) inside the
apex:component? If so, what id should the
reRender refer to, one inside the
apex:component or one from the outer page/component?