I need a replacement in the App instead of Mobile Native Modules,WorkOrder Execution part should be via the Web Interface.

0
```htmlContext:Environment:Mendix Version: 9.24.6Current Implementation: MFSM App with mobile offline supportTarget Platform: Web InterfaceWhat I'm Looking For:Understanding the Process FLowConvert - rebuild the pages step by stepif you come across native specific parts, I need to use web components instead. In the Snippet_nativeAppointment_ProceedButtons these buttons are linked to nanoflows for individual actions respectively.How do I acheive all of this ?MFSM APP PPTMFSM APP
asked
1 answers
1

Hi,


What you’re trying to do (replacing Native MFSM execution with Web) is a common requirement, but there’s no direct replacement or switch. Native and Web apps are built on different paradigms, so the correct way is to rebuild the execution layer while reusing logic selectively.

First thing to understand

The MFSM Native modules (like WorkOrder execution) are heavily dependent on:

  • Nanoflows
  • Offline-first architecture
  • Native widgets/snippets

These won’t work in Web at all, so trying to reuse them directly (especially snippets like nativeAppointment_ProceedButtons) will not work.

1. Reuse Domain Model as-is

  • WorkOrder, Appointment, Status, etc. → no changes needed
  • This part is fully reusable

2. Identify which logic is reusable

Check your nanoflows:

  • If they contain pure business logic → move that into a microflow
  • If they contain UI / device / offline logic → rewrite

Best practice:

  • Create a shared microflow layer
  • Call that from:
    • Web (microflows)
    • Native (nanoflows via microflow calls)

3. Replace Nanoflow actions properly

Example:

nativeAppointment_ProceedButtons

This usually contains:

  • Start Journey
  • Start Work
  • Complete

In Web:

  • Create separate microflows:
    • ACT_StartJourney
    • ACT_StartWork
    • ACT_Complete

Each should:

  • Update status
  • Commit object
  • Refresh

Then bind buttons in Web UI to these microflows.

4. Rebuild UI (don’t try to reuse snippets)

Native:

  • Snippets
  • Native buttons
  • Mobile layout

Web:

  • Create new pages using:
    • Data View (Appointment/WorkOrder)
    • Buttons
    • Conditional visibility

Example:

Instead of:

  • Native ProceedButtons snippet

Do:

  • Data View → Appointment
  • Buttons:
    • Start Journey (visible when status = Planned)
    • Start Work (visible when status = Arrived)
    • Complete (visible when status = In Progress)

5. Handle visibility (important)

Native uses nanoflow-based logic.

In Web:

Use:

  • Visibility conditions
$Appointment/Status = 'Planned'

Or:

  • Boolean helper attributes (if logic is complex)

6. Remove Offline dependency

Your current app:

  • Uses offline sync
  • Local DB

For Web:

  • Everything becomes online (runtime DB)

So:

  • Remove sync flows
  • Remove offline-only entities if any
  • Replace nanoflow retrieve → normal retrieve

7. One important mistake to avoid

Don’t try:

  • Embedding native modules in web
  • Reusing native snippets
  • Calling nanoflows from web

It will either fail or behave inconsistently.

8. Recommended architecture

Create 3 layers:

  • Domain Layer → Reuse
  • Logic Layer (Microflows) → Shared
    • UI LayerNative → Nanoflow + Native UI
    • Web → Microflow + Web UI

There is no “replacement” for Native modules in Web. The correct and stable approach is:

  • Reuse domain model
  • Move business logic into microflows
  • Rebuild UI using Web components
  • Replace nanoflows with microflows
  • Remove offline dependencies

That’s how most teams implement MFSM execution on Web alongside Native.

If you follow this approach, you’ll get a clean and maintainable Web execution flow without breaking your existing Native app.


answered