# Porównywanie zmian

Porównywanie zmian w elementach aplikacji umożliwia szybkie sprawdzenie różnic między dwiema wersjami tego samego komponentu lub między dwoma wyeksportowanymi elementami. Dzięki temu można:

* analizować zmiany wprowadzane przez zespół,
* weryfikować zgodność zależności,
* przygotować komponenty do migracji lub wdrożenia.

Funkcjonalności te dostępne są w zakładkach **Różnica** i **Porównaj artefakty**, znajdujących się w module **Przegląd** w Eximee Designer.

***

## Zakładka **Różnica** – porównanie wersji tego samego elementu

Pozwala porównać dwie wersje tego samego elementu aplikacji, np. formularza, skryptu czy komponentu złożonego.

**Jak działa?**

* Użytkownik wybiera element (np. formularz) z listy.
* Następnie wybiera dwie wersje: „lewą” i „prawą”.
* System prezentuje różnice między wersjami – mogą to być zmiany w treści, kodzie, strukturze czy właściwościach.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FLQ0qbTyHJshxFPuu1Pvk%2Fimage.png?alt=media&#x26;token=98040269-be43-40d7-9bec-8dc707de07b2" alt=""><figcaption><p align="center"><em><strong>Ilustracja 1.</strong> Porównanie artefaktu w wersji 1.5 i 1.9</em></p></figcaption></figure>

{% hint style="info" %}
**Obsługiwane typy elementów:**

* formularze
* komponenty złożone
* komponenty biznesowe
* skrypty
* walidatory skryptowe
* zadania skryptowe
  {% endhint %}

Funkcjonalność ta pozwala na szczegółowy przegląd zmian przed zapisaniem nowej wersji, przy przeglądzie historycznym lub w pracy zespołowej.

***

## Zakładka **Porównaj artefakty** – porównanie dwóch wyeksportowanych elementów

Umożliwia porównanie dwóch plików `.xml` lub `.json` z wyeksportowanymi elementami aplikacji – skupiając się na ich **zależnościach**.

**Jak działa?**

Użytkownik przeciąga dwa pliki do pola **drag & drop**.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FUhItvYDvz6Wuwt86N5al%2Fimage.png?alt=media&#x26;token=7ecd3ab2-a18e-4f20-968e-49bbb408ce47" alt=""><figcaption><p align="center"><em><strong>Ilustracja 2.</strong> Okno porównywania artefaktów</em></p></figcaption></figure>

System analizuje zależności i prezentuje listę różnic.

<figure><img src="https://1082717226-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2CssJT0zIo4SJQLbSZ6l%2Fuploads%2FnRB5LmKeUe0iieZwYA1p%2Fimage.png?alt=media&#x26;token=388a3049-c857-4f47-a693-dcd2219da34c" alt=""><figcaption><p align="center"><em><strong>Ilustracja 3.</strong> Porównanie dwóch wyeksportowanych artefaktów</em></p></figcaption></figure>

**Typy wykrywanych różnic:**

* ➕ **Nowa zależność** – występuje tylko w drugim pliku.
* ➖ **Usunięta zależność** – występowała tylko w pierwszym pliku.
* 🔁 **Różnica wersji zależności** – zależność dotyczy tego samego elementu, ale z inną wersją.

Jeśli nie wykryto różnic, pojawia się komunikat: **„Brak danych do wyświetlenia”**.

#### Kiedy korzystać z porównywania?

* Przed publikacją nowej wersji komponentu – by upewnić się, co się zmieniło.
* W czasie code review – dla oceny zmian wprowadzonych przez zespół.
* Podczas migracji – aby porównać eksporty między środowiskami.
* W trakcie integracji – by upewnić się, że zależności są zgodne z oczekiwaniami.
