close

Model-Driven Apps for Offline Usage

Posted by Errin O'Connor on Jun, 28, 2022 09:06

A Detailed Guide to Model-Driven Apps for Offline Usage

Every fast-growing business faces challenges that usually do not have any predefined solutions. Maybe it’s a glitch in collaboration between two departments, disparate data sources causing unwanted delays in business processes or inefficient operations due to a pile of paperwork. Operations can be made more efficient and workflows can be streamlined using existing data and systems, but this can be time-consuming and difficult.

Digital transformation is considered to be the key to overcoming these challenges. Microsoft Power Platform is driving the digital transformation of business processes with its suite of services. PowerApps has been recognized by Forrester as a leader in low-code development platforms and rated the strongest platform in creating and following strategies.

Microsoft has introduced offline functionality in its model-driven apps, making it easier for users to work without worrying about their connectivity.

What are Microsoft Power Apps?

Microsoft Power Apps is a low-code, no-code development platform that allows team members, to quickly develop apps regardless of coding ability for creating more efficient processes. Power Apps streamline processes, increase employee productivity, and enhance customer satisfaction. The solution is part of Power Platform and boasts an easy-to-use interface. Canvas apps, model-driven apps, and portals are the three major components of this highly productive development platform.

What are Model-Driven Apps?

Model-driven apps require no coding and rely on visual components to build their layouts. Data for model-driven apps can be pulled from Dataverse, and the goal of the app is to drive interaction through complex business logic rather than the interface. Unlike canvas apps, which are suited for completing simple tasks, model-driven apps can accommodate more complex logic and functionality.

The benefits of using model-driven apps include a component-focused, no-code environment and the ability to distribute the app as a solution to other users. Model-driven apps are ideal for mobile use due to the responsiveness of the interface.

Model-driven applications offer users a natively responsive application, allowing them to access the system from both desktop and mobile devices, without needing to build the user interface. Model-driven apps create a UI based on the model of the data and add components for interaction.

Examples of Model-Driven Apps

  • Customer Relationship Management Systems (CRM)
  • Human Resources Information Systems (HRIS)
  • Inventory Management System
  • Asset Tracking System

How does Power Apps Model-driven offline help organizations overcome internet connectivity issues?

New offline-first features in model-driven apps allow users to work seamlessly regardless of their network connectivity. They see better device performance and lower battery usage as the app makes fewer connections to the server. Power Apps Mobile lets you work offline. When you get back online, changes you’ve made are synchronized in Microsoft Dataverse.

The Microsoft Dynamics 365 for model-driven apps offers a classic offline experience that lets users work with their apps on their mobile devices even when they are not connected to the internet. This offline mode allows them to perform CRUD operations on their data when they have no network connection, and it syncs those changes when they connect again.

In offline mode, data starts downloading as users continue to use the app. Users can skip the initial sync process, and in that case, they won’t be able to use the app offline until updates are manually downloaded. Offline-first apps store local data sets, which are always consistent regardless of internet connection. In addition, there’s no toggle for users to switch from offline to online mode. As a result, the user will never forget to sync their changes back to the server because the app will do it automatically.

Overview of Capabilities of Power Apps Model-Driven Offline

According to Microsoft’s official documentation, the following features will be available during offline mode:

Commands: Specific entities and corresponding commands are available in Model-Driven Apps Offline.

Business Rules: Offline Model-driven apps support business rules

Business Process Flows: users are allowed to use business process flows in offline mode if specific conditions are met. The conditions are,

  • You can use the Power App mobile to access the business process flow.
  • The Power Apps mobile has to be enabled for offline use.
  • The business process flow must have a single entity.

(When you run an app in offline mode on the Power Apps mobile app, you can use three commands: Next stage, Previous stage, Set Active stage.)

Lookup Support: Lookups can be made for entities that are mobile-enabled, but all the entities participating in the lookup should also be offline-enabled.

Supported View: Only System views and Quick view are supported in mobile offline. There is no support available for the Personal views model-driven offline app.

Offline Search: You can only search for one entity at a time in offline mode. Categorized search is supported, but not relevant search.

Notes on the Timeline Control: To view notes and attachments for a Timeline event in offline mode, tap the three dots, then tap Offline. You can take pictures or read notes in offline mode.

Data Field: Mobile offline search does not support the data field.

Custom Entities: The commands Edit, Complete, Refresh, Convert To-Opportunity, and Delete are all available on the Form menu.

Overview of Limitations of Model-Driven Offline Power Apps

Lead Qualify: Even after creating a lead in mobile offline is qualified, the business process stage will still show the lead in the qualifying stage after the user goes online. To move the lead to the next stage, the user has to manually click on Next Stage in the online status.

Views: The views in a model-driven offline do not support specific entities like,

  • Email
  • Task
  • Fax
  • Letter
  • Service appointment
  • Campaign response
  • Campaign activity
  • Recurring appointment master
  • Social activity

Add Existing on Subgrids: Add Existing module is not supported offline for specific relationships. When you are offline, you can only see the read-only relationships that are N: N and the Add Existing command will not work on subgrids for those relationships. Even if the button is made visible using a customized source, the command will not work offline. Web Resource: As of now, the iOS platform for the model-driven offline does not support web resources.

Benefits of Adopting the “Offline First Apps” Approach

In early 2021, 30% of states in the U.S. still had less than 90% coverage for mobile broadband. Businesses with large frontline workforces that rely on mobile apps to do their work or that would benefit from replacing manual processes should consider a model-driven offline or ‘Offline First Apps’ approach while making app design choices.

Better user experiences are just the tip of the iceberg. The benefits of offline-capable apps can be substantial. For consumer apps, users have a better experience. They can continue using your app through interruptions and outages and may enjoy the better performance when apps are online.

Here are some of the benefits of adopting an Offline First Apps approach,

  • Quick Loading Speed

Apps that call on server-side data must make a round trip to the server with every request. Accessing local data is faster because it has near-zero latency, so an app that only calls on the client-server for data when necessary is much faster to respond.

  • Conserve Battery Life

The less CPU, screen usage, and bandwidth used by the app, the better its battery life. Battery life is another key factor impacting app adoption and user retention for consumers as well as frontline workers who rely on a device to do their job.

  • Better User Adoption and Retention

When an app runs faster and efficiently use battery life, users are more likely to continue using it for the long term. A good user experience—including positive reviews—creates a positive feedback loop of further app usage.

  • No Roaming Charges or Data Usage

For avid tourists and travelers, keeping data costs under control is a constant struggle. But offline modes have made it possible to temporarily enjoy the services without worrying about high data usage.

EPC Group as Your Power Apps Consulting Partner

Microsoft’s Power Platform provides an opportunity for both technical and Citizen Developers to create solutions for the business faster and simpler than ever before. To ensure that the solution you are creating meets the business need, it is necessary to choose the type of application that best aligns with requirements.

As your strategic partner, EPC Group will guide you through analyzing requirements, designing & developing highly interactive business applications, and ensuring implementations in no time. We build low-code Power Apps for your business with limited time and cost.

Let's Get to Work Together!

Talk to our Microsoft Gold Certified Consultants

Contact EPC Group

Call for help:

(888) 381-9725

Email Us:

[email protected]

Head Office:

4900 Woodway Drive - Suite 830 Houston, Texas 77056

[class^="wpforms-"]
[class^="wpforms-"]
[gravityforms id="56" title=”true” description=”false”]
<div class='gf_browser_chrome gform_wrapper consult_now_sticky_sidebar_popup_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_56' > <div class='gform_heading'> <h3 class="gform_title">Consult Now - Sticky sidebar</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_56' class='consult_now_sticky_sidebar_popup gform_legacy_markup' action='/model-driven-apps-for-offline-usage/' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_2fab8895f96ae236029cc633b4f4cdce" class="gfield_recaptcha_response" type="hidden" name="input_2fab8895f96ae236029cc633b4f4cdce" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_56' class='gform_fields top_label form_sublabel_below description_below'><li id="field_56_1" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_1"><div class='ginput_container ginput_container_text'><input name='input_1' id='input_56_1' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/model-driven-apps-for-offline-usage/' /></div></li><li id="field_56_11" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_11"><div class='ginput_container ginput_container_text'><input name='input_11' id='input_56_11' type='hidden' class='gform_hidden' aria-invalid="false" value='ddd01b75-d4fc-ea11-a816-000d3a591fb8' /></div></li><li id="field_56_12" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_12"><div class='ginput_container ginput_container_text'><input name='input_12' id='input_56_12' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_56_13" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_13"><div class='ginput_container ginput_container_text'><input name='input_13' id='input_56_13' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_56_9" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_9"><label class='gfield_label' for='input_56_9' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_9' id='input_56_9' type='text' value='' class='large' placeholder='Full Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_56_6" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_6"><label class='gfield_label' for='input_56_6' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_6' id='input_56_6' type='text' value='' class='large' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_56_7" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_7"><label class='gfield_label' for='input_56_7' >Phone<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_phone'><input name='input_7' id='input_56_7' type='text' value='' class='large' placeholder='Phone Number' aria-required="true" aria-invalid="false" /></div></li><li id="field_56_10" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_10"><label class='gfield_label' for='input_56_10' >Company Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_56_10' type='text' value='' class='large' placeholder='Company Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_56_8" class="gfield textarea_consultnow gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_56_8"><label class='gfield_label' for='input_56_8' >Message<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_8' id='input_56_8' class='textarea medium' placeholder='Type your message here...' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_56' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_56"]){return false;} window["gf_submitting_56"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_56"]){return false;} window["gf_submitting_56"]=true; jQuery("#gform_56").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_56' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='56' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_56' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_56' id='gform_target_page_number_56' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_56' id='gform_source_page_number_56' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js" value="90"/><script>document.getElementById( "ak_js_2" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityforms id=53 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_53' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Azure IoT 11-Scenarios</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_53' action='/model-driven-apps-for-offline-usage/' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_e797c443553b5588c22cee2a4956736d" class="gfield_recaptcha_response" type="hidden" name="input_e797c443553b5588c22cee2a4956736d" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_53' class='gform_fields top_label form_sublabel_below description_below'><li id="field_53_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_53_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/model-driven-apps-for-offline-usage/' /></div></li><li id="field_53_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_53_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_8"><label class='gfield_label' for='input_53_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_53_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_53_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_2"><label class='gfield_label' for='input_53_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_53_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_53_2" /> </div><div class='gfield_description' id='gfield_description_53_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_53_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_53_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_53' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_53"]){return false;} window["gf_submitting_53"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_53"]){return false;} window["gf_submitting_53"]=true; jQuery("#gform_53").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_53' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='53' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_53' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_53' id='gform_target_page_number_53' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_53' id='gform_source_page_number_53' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_3" name="ak_js" value="74"/><script>document.getElementById( "ak_js_3" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityforms id=52 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_52' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Top 10 tips of successfully migrate to Microsoft teams</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_52' action='/model-driven-apps-for-offline-usage/' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_269100219d024f790908b77bdced741a" class="gfield_recaptcha_response" type="hidden" name="input_269100219d024f790908b77bdced741a" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_52' class='gform_fields top_label form_sublabel_below description_below'><li id="field_52_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_52_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/model-driven-apps-for-offline-usage/' /></div></li><li id="field_52_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_52_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_8"><label class='gfield_label' for='input_52_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_52_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_52_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_2"><label class='gfield_label' for='input_52_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_52_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_52_2" /> </div><div class='gfield_description' id='gfield_description_52_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_52_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_52_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_52' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_52"]){return false;} window["gf_submitting_52"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_52"]){return false;} window["gf_submitting_52"]=true; jQuery("#gform_52").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_52' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='52' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_52' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_52' id='gform_target_page_number_52' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_52' id='gform_source_page_number_52' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_4" name="ak_js" value="77"/><script>document.getElementById( "ak_js_4" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityforms id=51 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_51' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Azure Sentinel Use Cases</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_51' action='/model-driven-apps-for-offline-usage/' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_89589fe2d3178f5fd614d1bb49b4f165" class="gfield_recaptcha_response" type="hidden" name="input_89589fe2d3178f5fd614d1bb49b4f165" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_51' class='gform_fields top_label form_sublabel_below description_below'><li id="field_51_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_51_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/model-driven-apps-for-offline-usage/' /></div></li><li id="field_51_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_51_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_8"><label class='gfield_label' for='input_51_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_51_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_51_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_2"><label class='gfield_label' for='input_51_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_51_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_51_2" /> </div><div class='gfield_description' id='gfield_description_51_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_51_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_51_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_51' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_51"]){return false;} window["gf_submitting_51"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_51"]){return false;} window["gf_submitting_51"]=true; jQuery("#gform_51").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_51' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='51' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_51' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_51' id='gform_target_page_number_51' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_51' id='gform_source_page_number_51' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_5" name="ak_js" value="219"/><script>document.getElementById( "ak_js_5" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityforms id=50 title=”true” description=”true”]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_50' > <div class='gform_heading'> <h3 class="gform_title">Subscriber - Downloadables - Understand Azure Digital Twins</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_50' action='/model-driven-apps-for-offline-usage/' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_51b35b8322cbea00fdb063db81305b64" class="gfield_recaptcha_response" type="hidden" name="input_51b35b8322cbea00fdb063db81305b64" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_50' class='gform_fields top_label form_sublabel_below description_below'><li id="field_50_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_50_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/model-driven-apps-for-offline-usage/' /></div></li><li id="field_50_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get this downloadable content <strong> for free<strong>.</p> </div></li><li id="field_50_8" class="gfield gfield--width-full gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_8"><label class='gfield_label' for='input_50_8' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_8' id='input_50_8' type='text' value='' class='large' placeholder='Full Name*' aria-required="true" aria-invalid="false" /> </div></li><li id="field_50_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_2"><label class='gfield_label' for='input_50_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_50_2' type='text' value='' class='medium' placeholder='Enter Your Valid Email Address*' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_50_2" /> </div><div class='gfield_description' id='gfield_description_50_2'>Please enter your correct email address. You will receive an email to download the PDF.</div></li><li id="field_50_5" class="gfield gfield_html gfield_html_formatted field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_50_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_50' class='gform_button button' value='Subscribe &amp; Download' onclick='if(window["gf_submitting_50"]){return false;} window["gf_submitting_50"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_50"]){return false;} window["gf_submitting_50"]=true; jQuery("#gform_50").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_50' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='50' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_50' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_50' id='gform_target_page_number_50' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_50' id='gform_source_page_number_50' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_6" name="ak_js" value="72"/><script>document.getElementById( "ak_js_6" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityform id="43" title="true" description="false" ajax="true"]
<div class='gf_browser_chrome gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_43' ><div id='gf_43' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <h3 class="gform_title">Subscriber - Powerbi e-book</h3> </div><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_43' id='gform_43' action='/model-driven-apps-for-offline-usage/#gf_43' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_34f3c85bb7795aceac1a1b6a0130ead2" class="gfield_recaptcha_response" type="hidden" name="input_34f3c85bb7795aceac1a1b6a0130ead2" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_43' class='gform_fields top_label form_sublabel_below description_below'><li id="field_43_7" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_43_7' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/model-driven-apps-for-offline-usage/' /></div></li><li id="field_43_4" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_4"> <div class="description_data"> <p class="dp_one">Subscribe to our newsletter and get the first three chapters of the eBook for <strong>free<strong>.</p> </div></li><li id="field_43_6" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_6"><label class='gfield_label gfield_label_before_complex' >Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name' id='input_43_6'> <span id='input_43_6_3_container' class='name_first' > <input type='text' name='input_6.3' id='input_43_6_3' value='' aria-required='true' placeholder='First Name' /> <label for='input_43_6_3' >First</label> </span> <span id='input_43_6_6_container' class='name_last' > <input type='text' name='input_6.6' id='input_43_6_6' value='' aria-required='true' placeholder='Last Name' /> <label for='input_43_6_6' >Last</label> </span> </div></li><li id="field_43_2" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_2"><label class='gfield_label' for='input_43_2' >Email Address<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_2' id='input_43_2' type='text' value='' class='medium' aria-required="true" aria-invalid="false" aria-describedby="gfield_description_43_2" /> </div><div class='gfield_description' id='gfield_description_43_2'>Please enter your correct email address. You will receive an email to download the eBook.</div></li><li id="field_43_3" class="gfield g-captcha field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_3"><label class='gfield_label screen-reader-text' for='input_43_3' ></label><div id='input_43_3' class='ginput_container ginput_recaptcha' data-sitekey='6LdQ388UAAAAAJaahWs7D_jWzeQhUZW6-VNwWfaU' data-theme='light' data-tabindex='0' data-badge=''></div></li><li id="field_43_5" class="gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_43_5"><div class="note_description"><p><i><strong>NOTE: </strong>We will never send you spam or pass on your email address to any third party. You may choose to opt-out at any time.</i></p></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_43' class='gform_button button' value='Download Now' onclick='if(window["gf_submitting_43"]){return false;} window["gf_submitting_43"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_43"]){return false;} window["gf_submitting_43"]=true; jQuery("#gform_43").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=43&amp;title=1&amp;description=&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_43' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='43' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_43' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_43' id='gform_target_page_number_43' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_43' id='gform_source_page_number_43' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_7" name="ak_js" value="53"/><script>document.getElementById( "ak_js_7" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_43' id='gform_ajax_frame_43' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script type="text/javascript"> gform.initializeOnLoaded( function() {gformInitSpinner( 43, 'https://www.epcgroup.net/wp-content/uploads/2021/11/ezgif.com-gif-maker.gif' );jQuery('#gform_ajax_frame_43').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_43');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_43').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_43').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_43').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_43').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_43').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_43').val();gformInitSpinner( 43, 'https://www.epcgroup.net/wp-content/uploads/2021/11/ezgif.com-gif-maker.gif' );jQuery(document).trigger('gform_page_loaded', [43, current_page]);window['gf_submitting_43'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_43').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_43').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [43]);window['gf_submitting_43'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_43').text());}, 50);}else{jQuery('#gform_43').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [43, current_page]);} );} ); </script>
[gravityforms id=41 title=”true” description=”false”]
<div class='gf_browser_chrome gform_wrapper exit_intent_popup_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_41' > <div class='gform_heading'> <h3 class="gform_title">Exit Intent</h3> <span class='gform_description'></span> </div><form method='post' enctype='multipart/form-data' id='gform_41' class='exit_intent_popup gform_legacy_markup' action='/model-driven-apps-for-offline-usage/' ><div class='gf_invisible ginput_recaptchav3' data-sitekey='6LeGGqIgAAAAACeaWDr0LrEXPuk3w3j9nILrHaSZ' data-tabindex='0'><input id="input_9e1d8ed35ab489cb9c3457ab407ee69e" class="gfield_recaptcha_response" type="hidden" name="input_9e1d8ed35ab489cb9c3457ab407ee69e" value=""/></div> <div class='gform_body gform-body'><ul id='gform_fields_41' class='gform_fields top_label form_sublabel_below description_below'><li id="field_41_1" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_1"><div class='ginput_container ginput_container_text'><input name='input_1' id='input_41_1' type='hidden' class='gform_hidden' aria-invalid="false" value='https://www.epcgroup.net/model-driven-apps-for-offline-usage/' /></div></li><li id="field_41_11" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_11"><div class='ginput_container ginput_container_text'><input name='input_11' id='input_41_11' type='hidden' class='gform_hidden' aria-invalid="false" value='ddd01b75-d4fc-ea11-a816-000d3a591fb8' /></div></li><li id="field_41_12" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_12"><div class='ginput_container ginput_container_text'><input name='input_12' id='input_41_12' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_41_13" class="gfield gfield--width-full gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_13"><div class='ginput_container ginput_container_text'><input name='input_13' id='input_41_13' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_41_9" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_9"><label class='gfield_label' for='input_41_9' >Full Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_9' id='input_41_9' type='text' value='' class='medium' placeholder='Full Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_6" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_6"><label class='gfield_label' for='input_41_6' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_6' id='input_41_6' type='text' value='' class='medium' placeholder='Email Address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_7" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_7"><label class='gfield_label' for='input_41_7' >Phone<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_phone'><input name='input_7' id='input_41_7' type='text' value='' class='medium' placeholder='Phone Number' aria-required="true" aria-invalid="false" /></div></li><li id="field_41_10" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_10"><label class='gfield_label' for='input_41_10' >Company Name<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_41_10' type='text' value='' class='medium' placeholder='Company Name' aria-required="true" aria-invalid="false" /> </div></li><li id="field_41_8" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_41_8"><label class='gfield_label' for='input_41_8' >Message<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_8' id='input_41_8' class='textarea medium' placeholder='Type your message here...' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_41' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_41"]){return false;} window["gf_submitting_41"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_41"]){return false;} window["gf_submitting_41"]=true; jQuery("#gform_41").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_41' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='41' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_41' value='WyJbXSIsIjEwNTJhNGVmMWMyNzI3YTJmMjdiZTA1NjU4ZDMzYzY3Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_41' id='gform_target_page_number_41' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_41' id='gform_source_page_number_41' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_8" name="ak_js" value="95"/><script>document.getElementById( "ak_js_8" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>