Διατήρηση υγιούς ALM φόρμας εφαρμογής βάσει μοντέλου
Αυτό το άρθρο σας παρέχει πληροφορίες σχετικά με τα διάφορα σενάρια για τον τρόπο υλοποίησης και πρακτικής εύρυθμης διαχείρισης του κύκλου ζωής εφαρμογών (ALM) για την προσαρμογή των φορμών στις λύσεις εφαρμογών που καθορίζονται από μοντέλο.
Στις ακόλουθες ενότητες περιγράφεται ο τρόπος με τον οποίο λειτουργεί η συγχώνευση φορμών και ο τρόπος διατήρησης των προσαρμογών. Τα βασικά σενάρια ανάπτυξης με συστάσεις για τη διατήρηση επιτυχημένου ALM για μια φόρμα εφαρμογής που καθορίζεται από μοντέλο καλύπτονται αναλυτικά σε κάθε ενότητα που ακολουθεί. Κάθε σενάριο περιλαμβάνει τα βήματα που θα πρέπει να ακολουθήσετε και τα οποία μπορούν να σας βοηθήσουν να εφαρμόσετε μια σωστή διεργασία ALM κατά την ενημέρωση της λύσης σας ή της εφαρμογής που καθορίζεται από μοντέλο.
Ακολουθήστε αυτά τα βήματα για την υλοποίηση εύρυθμου ALM φόρμας για αυτό το σενάριο.
- Δημιουργήστε μια νέα φόρμα με το όνομα FormA στο περιβάλλον ανάπτυξής σας και εκτελέστε προσαρμογές στη φόρμα.
- Δημιουργήστε μια νέα λύση (με όνομα Λύση Α στο παρακάτω διάγραμμα) στο περιβάλλον ανάπτυξης, η οποία θα είναι μια μη διαχειριζόμενη λύση και προσθέστε τη νέα σας φόρμα. Εξαγάγετε τη λύση ως διαχειριζόμενη. Αυτό το βήμα εξάγει ένα πλήρες FormXml για τη φόρμα.
- Στο περιβάλλον δοκιμής σας, εισαγάγετε τη διαχειριζόμενη λύση από το βήμα 2, η οποία δημιουργεί το FormA στο περιβάλλον δοκιμής. Στο παρακάτω διάγραμμα, το FormA δημιουργείται στο περιβάλλον δοκιμής και το περιβάλλον εργασίας χρήστη για τη φόρμα εμφανίζει τα Field1 και Field2 που προστέθηκαν από το Solution A στη φόρμα.
- Όταν προσαρμόσετε περαιτέρω τη φόρμα που δημιουργήσατε στο βήμα 1 χρησιμοποιώντας ένα νέο περιβάλλον ανάπτυξης (προέλευση), εισαγάγετε τη διαχειριζόμενη Λύση Α που δημιουργήθηκε στο βήμα 2 και βεβαιωθείτε ότι η παρουσία ανάπτυξης που χρησιμοποιείτε έχει το FormA σε μια διαχειριζόμενη κατάσταση. Όπως φαίνεται στο παρακάτω διάγραμμα, η διαχειριζόμενη Λύση Α εισάγεται στο περιβάλλον ανάπτυξης και η φόρμα προσαρμόζεται δημιουργώντας ενεργές προσαρμογές. Στη συνέχεια, το FormA μπορεί να προστεθεί σε μια νέα μη διαχειριζόμενη λύση (Λύση B στο διάγραμμα) και να εξαχθεί ως διαχειριζόμενη λύση από το περιβάλλον ανάπτυξης. Αυτό το βήμα εξάγει ένα διαφορικό (diff) FormXml για τη φόρμα.
- Στο περιβάλλον δοκιμής, εισαγάγετε την διαχειριζόμενη λύση (Λύση B) από το βήμα 4. Όπως φαίνεται στο παρακάτω διάγραμμα, η Λύση Β προσθέτει ένα νέο Field3 στο FormA και καταργεί το Field2, το οποίο προστέθηκε από τη Λύση Α. Το περιβάλλον εργασίας χρήστη για τη φόρμα στο περιβάλλον δοκιμής εμφανίζει τώρα τα πεδία Field3 και Field1 στη φόρμα αλλά όχι το Field2 μετά τη συγχώνευση.
Όπως φαίνεται στο παρακάτω διάγραμμα, δεν είναι μια εύρυθμη πρακτική ALM να δημιουργείτε πολλαπλές διαχειριζόμενες λύσεις από το περιβάλλον ανάπτυξης όπου η βασική λύση (Λύση Α) βρίσκεται σε μη διαχειριζόμενη κατάσταση. Αυτό συμβαίνει επειδή, όταν δημιουργείτε μια άλλη μη διαχειριζόμενη λύση (Λύση B) για τη μη διαχειριζόμενη φόρμα, το FormXml εξαγάγεται ως πλήρες FormXml, αντί για diff FormXml όπως φαίνεται στο έγκυρο σενάριο παραπάνω. Επομένως, οι αλλαγές, όπως η κατάργηση μιας στήλης, δεν θα εφαρμοστούν.
Ακολουθήστε αυτά τα βήματα για την υλοποίηση εύρυθμου ALM φόρμας για αυτό το σενάριο.
Δημιουργήστε μια νέα φόρμα με το όνομα FormA στο περιβάλλον ανάπτυξής σας και εκτελέστε προσαρμογές στη φόρμα.
Δημιουργήστε μια λύση (Λύση Α στο παρακάτω διάγραμμα), η οποία θα είναι μια μη διαχειριζόμενη λύση και προσθέστε τη νέα σας φόρμα. Εξαγάγετε τη λύση ως διαχειριζόμενη. Αυτό το βήμα εξάγει ένα πλήρες FormXml για τη φόρμα.
Στο περιβάλλον δοκιμής σας, εισαγάγετε τη διαχειριζόμενη λύση από το βήμα 2, δημιουργώντας έτσι τη φόρμα στο περιβάλλον δοκιμής. Στο παρακάτω διάγραμμα, το FormA δημιουργείται στο περιβάλλον δοκιμής και το περιβάλλον εργασίας χρήστη για τη φόρμα εμφανίζει τα Field1 και Field2 που προστέθηκαν από το Solution A στη φόρμα.
Όταν προσαρμόσετε περαιτέρω τη φόρμα που δημιουργήσατε στο Βήμα 1 χρησιμοποιώντας ενημερωμένες εκδόσεις κώδικα, χρησιμοποιήστε το ίδιο περιβάλλον όπου η Λύση Α είναι σε μη διαχειριζόμενη κατάσταση και δημιουργήστε μια ενημέρωση κώδικα για τη λύση και προσαρμόστε τη φόρμα. Στη συνέχεια, εξαγάγετε την ενημέρωση κώδικα ως διαχειριζόμενη λύση. Αυτό το βήμα εξαγάγει ένα πλήρες FormXml για τη φόρμα.
Στο περιβάλλον δοκιμής, εισαγάγετε την διαχειριζόμενη λύση ενημέρωσης κώδικα από το βήμα 4. Όπως φαίνεται στο παρακάτω διάγραμμα, η ενημέρωση κώδικα Λύση Α προσθέτει ένα νέο Field3 στο FormA και καταργεί το Field2, το οποίο προστέθηκε από τη Λύση Α.
Σημείωση
Οι ενημερώσεις κώδικα που περιέχουν πλήρη formXml συγκρίνονται πάντα με το βασικό επίπεδο από το οποίο δημιουργήθηκε η ενημέρωση κώδικα και αγνοούν τυχόν ενδιάμεσες ενημερώσεις κώδικα μεταξύ της βάσης και της τρέχουσας ενημέρωσης κώδικα. Το αποτέλεσμα, το Field2 καταργείται καθώς υπάρχει στη λύση Α του βασικού επιπέδου και η κατάργηση εντοπίζεται. Από την άλλη, το Field3 προστίθεται από αυτήν τη λύση ενημέρωσης κώδικα και δεν μπορεί να καταργηθεί από επόμενες ενημερώσεις κώδικα. Κατά συνέπεια, τα πεδία που προστίθενται μέσω λύσεων ενημέρωσης κώδικα είναι αθροιστικής φύσης.
Όταν προσαρμόσετε περαιτέρω τη φόρμα που δημιουργήσατε στο Βήμα 1 χρησιμοποιώντας αναβαθμίσεις, χρησιμοποιήστε το ίδιο περιβάλλον όπου η Λύση Α είναι σε μη διαχειριζόμενη κατάσταση και κλωνοποιήστε τη Λύση A δημιουργήστε μια λύση αναβάθμισης και προσαρμόστε τη φόρμα. Στη συνέχεια, εξαγάγετε την αναβάθμιση για τη Λύση Α ως διαχειριζόμενη λύση. Αυτό το βήμα εξάγει ένα πλήρες FormXml για τη φόρμα.
Στο περιβάλλον δοκιμής, εισαγάγετε την διαχειριζόμενη λύση αναβάθμισης Λύση Α από το βήμα 6. Όπως φαίνεται στο παρακάτω διάγραμμα, η αναβάθμιση της Λύσης Α προσθέτει ένα νέο Field4 στο FormA και καταργεί το Field2, που προστέθηκε από τη Λύση A. Το περιβάλλον εργασίας χρήστη για τη φόρμα στο περιβάλλον δοκιμής εμφανίζει τα Field1, Field3 και Field4 στη φόρμα αλλά το Field2 θα καταργηθεί μετά τη φόρμα συγχωνεύεται από την εισαγωγή.
Προσαρμογή υπάρχουσας διαχειριζόμενης φόρμας και συντήρηση της με χρήση πολλαπλών διαχειριζόμενων λύσεων
Ακολουθήστε αυτά τα βήματα για την υλοποίηση εύρυθμου ALM φόρμας για αυτό το σενάριο.
- Επεξεργαστείτε μια υπάρχουσα διαχειριζόμενη φόρμα, με το όνομα FormB σε αυτό το παράδειγμα, στο περιβάλλον ανάπτυξής σας και εκτελέστε προσαρμογές στη φόρμα. Λάβετε υπόψη ότι η λύση Α είναι διαχειριζόμενη λύση ήδη εγκατεστημένη για τη φόρμα στο περιβάλλον ανάπτυξης.
- Δημιουργήστε μια νέα λύση (Λύση Β στο παρακάτω διάγραμμα), η οποία θα είναι μια μη διαχειριζόμενη λύση και προσθέστε το FormB. Εξαγάγετε τη λύση ως διαχειριζόμενη. Αυτό το βήμα εξάγει ένα διαφορικό (diff) FormXml για τη φόρμα.
- Στο περιβάλλον δοκιμής σας, εισαγάγετε τη διαχειριζόμενη λύση από το βήμα 2, δημιουργώντας ένα δεύτερο επίπεδο λύσης για τη φόρμα. Όπως φαίνεται στο παρακάτω διάγραμμα, το FormB λαμβάνει συγχωνευμένες αλλαγές από τη Λύση A και τη Λύση B στο περιβάλλον δοκιμής και το περιβάλλον εργασίας χρήστη για τη φόρμα εμφανίζει τα Field1 και Field3 στη φόρμα αλλά όχι το Field2, το οποίο καταργήθηκε από τη Λύση B.
- Όταν προσαρμόσετε περαιτέρω τη φόρμα που προσαρμόσατε στο βήμα 1 χρησιμοποιώντας νέες διαχειριζόμενες λύσεις, χρησιμοποιήστε ένα νέο περιβάλλον ανάπτυξης το οποίο έχει το FormΒ σε διαχειριζόμενη κατάσταση. Όπως φαίνεται στο παρακάτω διάγραμμα, οι διαχειριζόμενες λύσεις Λύση Α και Λύση Β εισάγονται στο νέο περιβάλλον ανάπτυξης. Το FormB προσαρμόζεται δημιουργώντας ενεργές προσαρμογές, οι οποίες στη συνέχεια μπορούν να προστεθούν σε μια νέα λύση (Λύση C) στο διάγραμμα και να εξαχθούν ως διαχειριζόμενη λύση.
- Στο περιβάλλον δοκιμής, εισαγάγετε την διαχειριζόμενη Λύση C από το βήμα 4. Όπως φαίνεται στο παρακάτω διάγραμμα, η Λύση C προσθέτει ένα νέο Field4 στο FormB και καταργεί το Field3, το οποίο προστέθηκε από τη Λύση Β. Το περιβάλλον εργασίας χρήστη για τη φόρμα στο περιβάλλον δοκιμής εμφανίζει τώρα τα πεδία Field1 και Field4 στη φόρμα αλλά όχι τα Field2 και Field3.
Όπως φαίνεται στο παρακάτω διάγραμμα, δεν είναι μια εύρυθμη πρακτική ALM να δημιουργείτε πολλαπλές διαχειριζόμενες λύσεις από το περιβάλλον ανάπτυξης που περιέχει άλλη μη διαχειριζόμενη λύση που δημιουργήσατε για την ίδια φόρμα. Σημειώστε ότι Λύση Β είναι σε μη διαχειριζόμενη κατάσταση. Όταν δημιουργείτε μια άλλη μη διαχειριζόμενη λύση (Λύση C) για το FormB, το FormXml εξάγεται ως diff FormXml όπως φαίνεται στο βήμα 4 του παραπάνω σεναρίου. Ωστόσο, το FormB περιέχει επίσης τις αλλαγές από τη Λύση Β, οι οποίες θα αντικατασταθούν από τις νέες αλλαγές.
Για παράδειγμα, όπως φαίνεται στο παρακάτω διάγραμμα, το Field3 προστίθεται στο FormB στη Λύση Β. Τώρα, όμως, που δημιουργείτε μια νέα Λύση C σε αυτό το περιβάλλον, με τη Λύση Β σε μη διαχειριζόμενη κατάσταση και καταργείτε το Field3, το Field3 θα καταργηθεί επίσης και στο περιβάλλον ανάπτυξης. Το Field3 δεν θα παρακολουθείται στο diff FormXml κατά την εξαγωγή της λύσης, καθώς η αλλαγή προσθήκης και κατάργησης αυτής της στήλης έγινε στο ίδιο ενεργό επίπεδο. Αυτό σημαίνει ότι όταν εισάγεται η διαχειριζόμενη Λύση C στο περιβάλλον δοκιμής, η φόρμα θα εξακολουθεί να αποδίδει το Field3 επειδή το diff FormXml δεν καταγράφει ποτέ ότι έχει καταργηθεί (όπως καταργήθηκε στο βήμα 5 στο παραπάνω σενάριο εύρυθμης φόρμας ALM). Εάν εκτελέσετε τις προσαρμογές φόρμας με αυτόν τον τρόπο, το περιβάλλον ανάπτυξης θα είναι ασυνεπές με το περιβάλλον δοκιμής.
Προσαρμογή υπάρχουσας διαχειριζόμενης φόρμας και συντήρηση της με χρήση επιδιορθώσεων κώδικα και αναβαθμίσεων
Ακολουθήστε αυτά τα βήματα για την υλοποίηση εύρυθμου ALM φόρμας για αυτό το σενάριο.
Προσαρμόστε μια υπάρχουσα διαχειριζόμενη φόρμα, με το όνομα FormB σε αυτό το παράδειγμα, στο περιβάλλον ανάπτυξής σας και εκτελέστε προσαρμογές στη φόρμα. Λάβετε υπόψη ότι η Λύση Α είναι διαχειριζόμενη λύση ήδη εγκατεστημένη για τη φόρμα στο περιβάλλον ανάπτυξης.
Δημιουργήστε μια νέα λύση (Λύση Β), η οποία θα είναι μια μη διαχειριζόμενη λύση και προσθέστε το FormB. Εξαγάγετε τη λύση ως διαχειριζόμενη. Αυτό το βήμα εξάγει ένα diff FormXml για τη φόρμα.
Στο περιβάλλον δοκιμής σας, εισαγάγετε τη διαχειριζόμενη Λύση Β από το βήμα 2, δημιουργώντας ένα δεύτερο επίπεδο λύσης για τη φόρμα. Στο παρακάτω διάγραμμα, το FormB λαμβάνει τις συγχωνευμένες αλλαγές από τη Λύση Α και τη Λύση Β στο δοκιμαστικό περιβάλλον. Επιπλέον, το περιβάλλον εργασίας χρήστη για το FormB εμφανίζει τα Field1 και Field3 στη φόρμα αλλά όχι το Field2, το οποίο καταργήθηκε από τη Λύση B.
Όταν προσαρμόσετε περαιτέρω τη φόρμα που προσαρμόστηκε στο Βήμα 1 χρησιμοποιώντας μια λύση ενημέρωσης κώδικα, μπορείτε να χρησιμοποιήσετε το ίδιο περιβάλλον ανάπτυξης με το βήμα 1, όπου η Λύση Β υπάρχει σε μη διαχειριζόμενη κατάσταση. Όπως φαίνεται στο παρακάτω διάγραμμα, η Λύση Α βρίσκεται σε διαχειριζόμενη κατάσταση και η Λύση Β είναι σε μη διαχειριζόμενη κατάσταση. Η φόρμα θα προσαρμοστεί περαιτέρω και θα δημιουργήσετε μια ενημέρωση κώδικα για τη Λύση Β, η οποία θα προσθέτει τη φόρμα σε αυτήν τη λύση και θα την εξαγάγετε ως διαχειριζόμενη λύση ενημέρωσης κώδικα. Αυτό το βήμα εξάγει ένα diff FormXml.
Στο περιβάλλον δοκιμής, εισαγάγετε την διαχειριζόμενη Λύση Β ενημέρωσης κώδικα από το βήμα 4. Όπως φαίνεται στο παρακάτω διάγραμμα, η Ενημέρωση κώδικα Λύσης Β προσθέτει ένα νέο Field4 στο FormB και καταργεί το Field3, το οποίο προστέθηκε από τη Λύση B.
Σημείωση
Οι ενημερώσεις κώδικα είναι αθροιστικής φύσης και δεν μπορούν να καταργήσουν στοιχεία, όπως στήλες, από τη φόρμα. Επομένως, το Field3 δεν θα καταργηθεί από τη φόρμα. Το περιβάλλον εργασίας χρήστη για τη φόρμα στο περιβάλλον δοκιμής εμφανίζει τώρα τα πεδία Field1, Field3 και Field4 στη φόρμα αλλά όχι το Field2.
Όταν προσαρμόσετε περαιτέρω τη φόρμα που δημιουργήσατε στο Βήμα 1 χρησιμοποιώντας αναβαθμίσεις, χρησιμοποιήστε το ίδιο περιβάλλον όπου η Λύση B είναι σε μη διαχειριζόμενη κατάσταση και κλωνοποιήστε τη Λύση B δημιουργήστε μια λύση αναβάθμισης και προσαρμόστε το FormB. Εξαγάγετε την αναβάθμιση ως διαχειριζόμενη λύση. Αυτό το βήμα εξάγει ένα diff FormXml για τη φόρμα.
Στο περιβάλλον δοκιμής, εισαγάγετε τη λύση αναβάθμισης Λύση B από το βήμα 6. Όπως φαίνεται στο παρακάτω διάγραμμα, η Αναβάθμιση της Λύσης B προσθέτει ένα νέο Field5 στο FormB και καταργεί το Field3, το οποίο προστέθηκε από τη Λύση B. Το περιβάλλον εργασίας χρήστη για τη φόρμα στο περιβάλλον δοκιμής εμφανίζει τώρα τα Field1, Field4 και Field5 στη φόρμα αλλά τα Field2 και Field3 καταργούνται.
Διατήρηση μη διαχειριζόμενων λύσεων και προσαρμογών για μια νέα φόρμα σε πολλά περιβάλλοντα ανάπτυξης
Ακολουθήστε αυτά τα βήματα για την υλοποίηση εύρυθμου ALM φόρμας για αυτό το σενάριο.
- Στο Περιβάλλον ανάπτυξης 1, δημιουργήστε ένα νέο FormA και εκτελέστε προσαρμογές στη φόρμα.
- Δημιουργήστε μια λύση (Λύση Α στο παρακάτω διάγραμμα), η οποία θα είναι μια μη διαχειριζόμενη λύση και προσθέστε τη νέα σας φόρμα. Εξαγάγετε τη λύση ως μη διαχειριζόμενη. Αυτό το βήμα εξάγει ένα πλήρες FormXml για τη φόρμα.
- Στο Περιβάλλον ανάπτυξης 2, εισαγάγετε τη μη διαχειριζόμενη λύση από το βήμα 2, το οποίο δημιουργεί τη φόρμα στο Περιβάλλον ανάπτυξης 2. Στο παρακάτω διάγραμμα, το FormA δημιουργείται και το περιβάλλον εργασίας χρήστη για τη φόρμα εμφανίζει τα Field1 και Field2 που προστέθηκαν από τη Λύση A στη φόρμα.
- Μπορείτε να προσαρμόσετε περαιτέρω τη φόρμα στο Περιβάλλον ανάπτυξης 2 κάνοντας ενεργές προσαρμογές στο περιβάλλον, όπως η προσθήκη μιας νέας στήλης με το όνομα Field3. FormA εμφανίζει τώρα Field1, Field2 και Field3.
- Στο Περιβάλλον ανάπτυξης 1, μπορείτε να προσαρμόσετε περαιτέρω τη φόρμα προσθέτοντας επίσης το Field4. Το περιβάλλον εργασίας χρήστη για τη φόρμα στο Περιβάλλον ανάπτυξης 1 εμφανίζει τώρα τα Field1, Field2 και Field4.
- Εξαγάγετε τη μη διαχειριζόμενη Λύση Α με τις αλλαγές που εκτελέστηκαν στο βήμα 5. Αυτό το βήμα εξάγει ένα πλήρες FormXml για τη φόρμα.
- Στο Περιβάλλον ανάπτυξης 2, εισαγάγετε τη μη διαχειριζόμενη Λύση αναβάθμισης A από το βήμα 6. Καθώς η λύση που εισάγετε περιέχει το πλήρες FormXml για το FormA, αντικαθιστά την ενεργή προσαρμογή που γίνεται στο Περιβάλλον ανάπτυξης 1. Έτσι, η φόρμα εμφανίζει τώρα μόνο τα Field1, Field2 και Field4, αλλά όχι το Field3, το οποίο ήταν η πρόσθετη ενεργή προσαρμογή που εκτελέστηκε στο Περιβάλλον ανάπτυξης 1. Αυτή η συμπεριφορά προκύπτει με οποιαδήποτε εισαγωγή μη διαχειριζόμενης λύσης η οποία διαθέτει πλήρες FormXml για τη φόρμα.
Διατήρηση μη διαχειριζόμενων λύσεων και προσαρμογών για μια υπάρχουσα φόρμα σε πολλά περιβάλλοντα ανάπτυξης
Ακολουθήστε αυτά τα βήματα για την υλοποίηση εύρυθμου ALM φόρμας για αυτό το σενάριο.
- Στο Περιβάλλον ανάπτυξης 1, προσαρμόστε μια υπάρχουσα φόρμα, με το όνομα FormB σε αυτό το παράδειγμα. Στη συνέχεια, εκτελέστε προσαρμογές στη φόρμα.
- Δημιουργήστε μια λύση (Λύση Β στο παρακάτω διάγραμμα), η οποία θα είναι μια μη διαχειριζόμενη λύση και προσθέστε το FormB. Εξαγάγετε τη λύση ως μη διαχειριζόμενη. Αυτό το βήμα εξάγει ένα diff FormXml για τη φόρμα.
- Στο Περιβάλλον ανάπτυξης 2 εισαγάγετε τη μη διαχειριζόμενη λύση από το βήμα 2, δημιουργώντας ένα δεύτερο επίπεδο λύσης για τη φόρμα. Το περιβάλλον εργασίας χρήστη FormB εμφανίζει τα Field1, Field2 και Field3 μετά τη συγχώνευση φόρμας.
- Μπορείτε να προσαρμόσετε περαιτέρω τη φόρμα στο Περιβάλλον ανάπτυξης 2 κάνοντας ενεργές προσαρμογές στο περιβάλλον, όπως η προσθήκη μιας νέας στήλης με το όνομα Field4. Το FormB εμφανίζει τώρα τα Field1, Field2, Field3 και Field4.
- Στο Περιβάλλον ανάπτυξης 1, μπορείτε να προσαρμόσετε περαιτέρω τη φόρμα προσθέτοντας μια νέα στήλη με το όνομα Field5. Το περιβάλλον εργασίας χρήστη για τη φόρμα στο Περιβάλλον ανάπτυξης 1 εμφανίζει τώρα τα Field3 και Field5.
- Εξαγάγετε τη μη διαχειριζόμενη Λύση Β με τις αλλαγές που εκτελέστηκαν στο βήμα 5. Αυτό το βήμα εξάγει ένα diff FormXml για τη φόρμα.
- Στο Περιβάλλον ανάπτυξης 2, εισαγάγετε τη μη διαχειριζόμενη Λύση αναβάθμισης Β από το βήμα 6. Καθώς η λύση που εισάγετε περιέχει το diff FormXml για το FormB, θα συγχωνευτεί με την ενεργή προσαρμογή που εκτελέστηκε στο Περιβάλλον ανάπτυξης 1. Έτσι, η φόρμα εμφανίζει τώρα τα Field1, Field2, Field3, Field4 και Field5. Αυτή η συμπεριφορά προκύπτει για οποιαδήποτε εισαγωγή μη διαχειριζόμενης λύσης η οποία διαθέτει diff FormXml για τη φόρμα.
- Εάν η συγχώνευση φόρμας στο βήμα 7 δεν είναι αυτό που θέλετε, παρόλο που εισάγετε ένα diff FormXml με τη μη διαχειριζόμενη λύση και θέλετε να μπορείτε να αντικαταστήσετε τις ενεργές προσαρμογές που πραγματοποιούνται στο Περιβάλλον ανάπτυξης 2, τότε καταργήστε το ενεργό επίπεδο για το FormB. Περισσότερες πληροφορίες: Κατάργηση μη διαχειριζόμενου επιπέδου.
- Εξαγάγετε τη μη διαχειριζόμενη Λύση Β με τις αλλαγές που εκτελέστηκαν στο βήμα 5. Αυτό το βήμα εξάγει ένα diff FormXml για τη φόρμα.
- Στο Περιβάλλον ανάπτυξης 2, εισαγάγετε τη μη διαχειριζόμενη Λύση αναβάθμισης Β από το βήμα 9. Εφόσον δεν υπάρχει ενεργό επίπεδο για τη φόρμα στο Περιβάλλον ανάπτυξης 2, (δείτε το βήμα 8), εισάγονται όλες οι αλλαγές από τη μη διαχειριζόμενη Λύση B παρόλο που εισαγάγετε το diff FormXml για το FormB. Έτσι, η φόρμα εμφανίζει τώρα τα Field1, Field2, Field3 και Field5. Αυτή η συμπεριφορά προκύπτει για οποιαδήποτε εισαγωγή μη διαχειριζόμενης λύσης η οποία διαθέτει diff FormXml για τη φόρμα. Αυτό είναι το ίδιο αποτέλεσμα με το βήμα 7 στο σενάριο Διατήρησης μη διαχειριζόμενων λύσεων και προσαρμογών για μια υπάρχουσα φόρμα σε πολλά περιβάλλοντα ανάπτυξης.
Κάθε πακέτο λύσεων που έχει εξαχθεί περιλαμβάνει ένα αρχείο customizations.xml. Κάθε φορά που μια φόρμα περιλαμβάνεται σε μια λύση, ο σχετικός ορισμός φόρμας υπάρχει στις ενότητες FormXml του αρχείου customizations.xml. Το FormXml μπορεί να είναι πλήρες ή διαφορικό (diff).
Το FormXml που λαμβάνετε με την εξαγωγή μιας λύσης για μια φόρμα σε μια μη διαχειριζόμενη κατάσταση ονομάζεται πλήρες FormXml. Πλήρες σημαίνει ότι περιέχει ολόκληρο τον ορισμό φόρμας. Όταν δημιουργείτε μια νέα φόρμα και την εξάγετε, η φόρμα θα είναι πάντα ένα πλήρες FormXml, επειδή η φόρμα στο περιβάλλον από το οποίο θα κάνετε εξαγωγή είναι σε μη διαχειριζόμενη κατάσταση και επίσης βρίσκεται σε κατάσταση δημιουργίας. Εάν εξαγάγετε περαιτέρω λύσεις από το ίδιο περιβάλλον, αυτές θα περιλαμβάνουν επίσης ένα πλήρες FormXml. Επειδή το χαρακτηριστικό solutionaction
υποδεικνύει ένα diff FormXml, το πλήρες FormXml στο αρχείο customization.xml στη λύση που εξάγετε δεν θα περιέχει χαρακτηριστικά solutionaction
.
Το FormXml που λαμβάνετε κατά την εξαγωγή μιας λύσης για μια φόρμα σε διαχειριζόμενη κατάσταση ονομάζεται διαφορικό ή diff FormXml. Ο όρος Diff σημαίνει ότι το FormXml περιέχει μόνο τις αλλαγές που γίνονται στις ενεργές προσαρμογές σε αυτό το περιβάλλον και όχι ολόκληρο τον ορισμό φόρμας. Όταν προσαρμόζετε μια υπάρχουσα διαχειριζόμενη φόρμα και την εξαγάγετε, η φόρμα θα είναι πάντα diff FormXml επειδή θα περιέχει μόνο τις ενεργές αλλαγές που έχουν γίνει σε αυτή. Το diff FormXml στο αρχείο customization.xml στη λύση που εξάγετε θα περιέχει χαρακτηριστικά solutionaction
που καθορίζουν ποιες είναι οι αλλαγές, όπως Προσθήκη, Κατάργηση, Τροποποίηση.
Το Diff FormXml διασφαλίζει ότι η λύση σας θα εκφράζει μόνο τις αλλαγές που χρειάζεται η εφαρμογή σας και ότι θα επηρεάσει λιγότερο τις αλλαγές από άλλα επίπεδα. Το Diff FormXml κάνει επίσης τη λύση λιγότερο ογκώδη και βοηθάει στην εισαγωγή πιο γρήγορα.