{"id":1325,"date":"2020-02-25T13:03:29","date_gmt":"2020-02-25T13:03:29","guid":{"rendered":"https:\/\/sdf-docs.mansystems.com\/docs\/acr-rules\/performance\/page-button-synchronous-microflows-should-have-fast-actions\/"},"modified":"2020-07-08T14:35:30","modified_gmt":"2020-07-08T14:35:30","slug":"pagebuttonsyncheavyaction","status":"publish","type":"docs","link":"https:\/\/sdf-docs.clevr.com\/?docs=acr-rules\/performance\/pagebuttonsyncheavyaction","title":{"rendered":"Page button synchronous microflows should only have fast actions"},"content":{"rendered":"\n<p> Released in version 1.6 (03 March 2020) <\/p>\n\n\n\n<p>Pages should be responsive and microflows triggered on UI events should respond fast. For buttons this by default applies to synchronous buttons as asynchronous buttons might be used for heavy jobs like reports, downloads and such.<\/p>\n\n\n\n<p>In the worst-case scenario, a long-running synchronous microflow can actually time out leaving the user hanging. For more details about this please read this blog post from Mendix: <a href=\"https:\/\/www.mendix.com\/blog\/take-a-time-out-to-learn-about-asynchronous-calling\/\">https:\/\/www.mendix.com\/blog\/take-a-time-out-to-learn-about-asynchronous-calling\/<\/a><\/p>\n\n\n\n<p>Since microflow action buttons are also use to replace the platform save\/cancel changes buttons, only the basic heavy actions are considered and not the CRUD or retrieves that might be used for validations.<\/p>\n\n\n\n<p>See <a href=\"https:\/\/sdf-docs.clevr.com\/?docs=acr\/rules\/heavy-actions\">heavy actions <\/a>for a detailed explanation on how to configure.<\/p>\n","protected":false},"featured_media":0,"parent":95,"menu_order":8,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-1325","docs","type-docs","status-publish","hentry"],"comment_count":0,"_links":{"self":[{"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/1325"}],"collection":[{"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1325"}],"version-history":[{"count":4,"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/1325\/revisions"}],"predecessor-version":[{"id":1444,"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/1325\/revisions\/1444"}],"up":[{"embeddable":true,"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/95"}],"next":[{"title":"Page data source microflows should only have fast actions","link":"https:\/\/sdf-docs.clevr.com\/?docs=acr-rules\/performance\/pagedatasourceheavyaction","href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/1326"}],"prev":[{"title":"Event handler before event should have fast actions","link":"https:\/\/sdf-docs.clevr.com\/?docs=acr-rules\/performance\/eventhandlerbeforeheavyaction","href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=\/wp\/v2\/docs\/1323"}],"wp:attachment":[{"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1325"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/sdf-docs.clevr.com\/index.php?rest_route=%2Fwp%2Fv2%2Fdoc_tag&post=1325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}