Litware: Delegation, Offline, and the Model-Driven Question
Litware's 90 field surveyors record site inspections in a canvas app backed by a SharePoint list with 240,000 rows. The browse gallery filters with Search(InspectionList, txtSearch.Text, "Address"). Surveyors report that results are incomplete for large searches, and that in signal-dead basements records entered in the app disappear after the phone reconnects. Management also wants role-based access so surveyors see only their own region, plus a manager dashboard showing overdue inspections. The SharePoint list is the system of record for a separate reporting process that Litware does not want to disturb this year.
1. Diagnose the incomplete search results and decide between remediating in place and changing platform.
Read the worked answer
The symptom is a delegation problem: Search over a SharePoint data source is not delegable, so the app evaluates only the first portion of the 240,000 rows and silently returns a partial result. Raising the row limit does not fix it.
A partial remediation is possible: replace Search with Filter and StartsWith against an indexed column, which SharePoint can delegate, and accept that free-text contains-style search is no longer available. That preserves the existing data source and the downstream reporting process.
Changing to Dataverse fixes delegation comprehensively and also supplies row-level security and better offline support, but it means migrating 240,000 rows and rebuilding the reporting process. Because management's next two requirements - region-scoped access and a dashboard - point at Dataverse anyway, the judgement is whether one migration now is cheaper than a SharePoint workaround plus a migration next year.
2. How should the offline data loss be addressed, and what does that imply for the app type?
Read the worked answer
Records vanishing after reconnect are the signature of client-side storage that was never designed to sync: local collections or saved data on the device that the app does not reconcile with the server. It cannot be fixed by asking surveyors to retry.
Robust offline requires a platform with a defined offline profile and conflict handling, which in practice means a model-driven app over Dataverse with mobile offline enabled and an explicit subset of rows downloaded per surveyor. That aligns with the region-scoping requirement, since the offline profile can be filtered by the surveyor's region rather than downloading all 240,000 rows.
The trade-off to state plainly: model-driven apps give offline, security, and dashboards out of the box but surrender pixel-level UI control, so any inspection form with unusual layout needs to be checked against the model-driven form designer before committing.
3. Management proposes a model-driven app. Give the recommendation and the conditions that would reverse it.
Read the worked answer
Recommend the model-driven app, because three of the stated requirements - per-region record access, reliable offline capture, and a manager dashboard - are configuration rather than custom development on Dataverse, and the canvas app's delegation ceiling cannot be raised without moving data anyway.
The recommendation reverses if the inspection form depends on device capabilities the model-driven form cannot host, such as heavy camera or barcode interaction inside the form, or if the 240,000-row migration would break the separate reporting process before it can be rewritten.
Either way, phase it: migrate a single region, verify offline sync and dashboard numbers against the existing spreadsheet, then expand. A 240,000-row cutover with no rollback path is the real risk, not the app type.