In the documentation for apex:component it is said about the allowDML attribute:

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?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.