Rollback obiektów po opuszczeniu strony bez zapisywania / Commit tylko wybranych atrybutów

0
Cześć   Mam dwa pytania w kontekście tego jak mendix trzyma stan aplikacji.   Mendix 10.8.1   Chyba najlepiej na przykładach:   Scenariusz 1: Trochę w kontekście tych wątków https://community.mendix.com/link/space/app-development/questions/112088 https://community.mendix.com/link/space/app-development/questions/102297   Użytkownik otwiera stronę z formularzem, wprowadza jakieś zmiany, ale nie zapisuje ani nie canceluje. Przechodzi na inną stronę w nawigacji. Obiekt w stanie nadal posiada zmienione atrybuty. Jedyne w miarę sensowne rozwiązanie zaproponowane w tych artykułach powyżej, to nie pokazywać nawigacji na stronach edycji. Z tym, że to mocno ogranicza UX. Znacie może jakieś lepsze praktyki?   Scenariusz 2: W ramach tego szkolenia: https://academy.mendix.com/link/paths/56/Create-an-App-with-Advanced-Page-Building   tworzymy formularz edycji użytkownika dostępny dla administratora. Na formularzu są atrybuty użytkownika, które można edytować, oraz przycisk Change Password, który otwiera popup do zmiany hasła (w szkoleniu wykorzystane są defaultowe strony i microflowy z modułu Administration). I teraz - jeśli na formularzu zmienię np. imię user, nie zapiszę formularza tylko kliknę Change Password, zmienię hasło i kliknę zapisz w tym popupie, to oprócz hasła zmieni się także imię, bo microflow commituje cały obiekt. Jak najlepiej to rozwiązać, żeby commitować tylko hasło, a resztę atrybutów pozostawić w pamięci bieżącej sesji?   Dzięki wielkie za wszelkie wskazówki
asked
2 answers
0

Hej, 

Może podejście MVC będzie dla Ciebie akceptowalne, czyli np. stworzenie interfejsu jako encje niepersystentne i używanie ich do edycji danych - przycisk SAVE synchronizuje dane z encją persystentną.

To tak na szybko. 

Można też wprowadzić flagę '_isDirty' i ustawiać na encji, gdy zmienimy jakiś atrybut i decydować, czy możemy wykonać kolejną akcję, gdy dana flaga jest ustawiona. Dodatkowo, dostępna jest akcja Java w pakiecie Community Commons "objectHasChanged", która zwraca TRUE, jeśli zaszła jakaś zmiana w obiekcie - może przydać się w modelowaniu logiki.

Opcji jest oczywiście więcej - te powyżej tak na szybko.

Pozdrawiam!

answered
0

To resolve the problem of the prototype running slowly in view mode, it is recommended to check if there are many other applications or processes running on your computer that may be taking up resources. It's also worth checking out the Mendix Studio Pro version, there may be updates available that could fix this issue.

answered