Aracılığıyla paylaş


İyi durumdaki model temelli uygulama formu ALM'sini sürdürme

Bu makalede, model temelli uygulama çözümlerinizde formları özelleştirmek için uygulama yaşam döngüsü yönetiminin (ALM) nasıl uygulanacağı konusunda çeşitli senaryolar hakkında bilgiler sağlanmaktadır.

Aşağıdaki bölümlerde, form birleştirmenin işleyişi ve özelleştirmeleri nasıl sürdürdüğü açıklanmaktadır. Model temelli bir uygulama formu için başarılı ALM'yi sürdürmeye yönelik öneriler içeren temel geliştirme senaryoları, aşağıdaki her bölümde ayrıntılı olarak ele alınmıştır. Her senaryo, çözümünüzü veya model temelli uygulamanızı güncelleştirirken uygun bir ALM işlemini uygulamanıza yardımcı olabilecek izlenecek adımları içerir.

Yeni bir form oluşturma ve birden çok yönetilen çözüm kullanarak formu sürdürme

Bu senaryoda iyi durumda bir form ALM'si uygulamak için bu adımları izleyin.

  1. Geliştirme ortamınızda FormA adında yeni bir form oluşturun ve formda özelleştirmeler yapın.
  2. Yönetilmeyen çözüm olacak geliştirme ortamında yeni bir çözüm (aşağıdaki şemada Çözüm A adında) oluşturun ve yeni formunuzu ekleyin. Çözümü yönetilen olarak dışarı aktarın. Bu adım form için bir tam FormXml'i dışarı aktarır.
  3. Sınama ortamınızda, sınama ortamında FormA oluşturan 2. adımdan yönetilen çözümü içeri aktarın. Aşağıdaki şemada, FormA sınama ortamında oluşturulur ve formun kullanıcı arabirimi Çözüm A'nın forma eklendiği Alan1 ve Alan2'yi gösterir.
  4. Yeni bir geliştirme (kaynak) ortamı kullanarak 1. adımda oluşturduğunuz formu daha da özelleştirdiğinizde, 2. adımda oluşturulan yönetilen Çözüm A'yı içeri aktarın ve kullandığınız geliştirme kurulumunda yönetilen durumda FormA bulunduğundan emin olun. Aşağıdaki şemada gösterildiği gibi, yönetilen Çözüm Ageliştirme ortamına aktarılır ve form, etkin özelleştirmeler oluşturularak özelleştirilir. Ardından FormA yeni bir yönetilmeyen çözüme eklenebilir (şemadaki Çözüm B) ve geliştirme ortamından yönetilen çözüm olarak dışarı aktarılabilir. Bu adım form için bir fark (diff) FormXml'ini dışarı aktarır.
  5. Sınama ortamınızda, 4. adımdaki (Çözüm B) yönetilen çözümü içeri aktarın. Aşağıdaki şekilde gösterildiği gibi, Çözüm BFormA'ya yeni bir Alan2 ekler ve Çözüm A tarafından eklenen Alan2'yi kaldırır. Sınama ortamındaki forma ait kullanıcı arabirimi artık formda Alan3 ve Alan1'i gösterir ancak birleştirmeden sonra Alan2'yi göstermez.

Senaryo 1 form ALM şeması.

Bu senaryo için iyi durumda olmayan bir örnek

Aşağıdaki şemada görüldüğü gibi, temel çözümün ( Çözüm A) yönetilmeyen durumda olduğu geliştirme ortamından birden çok yönetilen çözüm oluşturmak iyi bir ALM uygulaması değildir. Bunun nedeni, yönetilmeyen form için başka bir yönetilmeyen çözüm ( Çözüm B) oluşturduğunuzda, FormXml'in yukarıdaki geçerli senaryoda gösterilen bir fark FormXml yerine tam bir FormXml olarak dışarı aktarılmasıdır. Daha sonra, sütunu kaldırma gibi değişiklikler etkin olmaz.

Bu senaryo için iyi durumda olmayan form ALM'si örneği.

Yeni bir form oluşturma ve yamalar ile yükseltmelerle özelleştirmeler yapma

Bu senaryoda iyi durumda bir form ALM'si uygulamak için bu adımları izleyin.

  1. Geliştirme ortamınızda FormA adında yeni bir form oluşturun ve formda özelleştirmeler yapın.

  2. Yönetilmeyen çözüm olacak bir çözüm (aşağıdaki şemada Çözüm A adında) oluşturun ve yeni formunuzu ekleyin. Çözümü yönetilen olarak dışarı aktarın. Bu adım form için bir tam FormXml'i dışarı aktarır.

  3. Sınama ortamınızda, 2. adımdaki yönetilen çözümü içeri aktararak test ortamındaki formu oluşturun. Aşağıdaki şemada FormA sınama ortamında oluşturulur ve formun kullanıcı arabirimi Çözüm A'nın forma eklendiği Alan1 ve Alan2'yi gösterir.

  4. 1. Adım'da oluşturduğunuz formu yamaları kullanarak biraz daha özelleştirdiğinizde, Çözüm A'nın yönetilmeyen durumda olduğu ortamı kullanın ve çözüm için bir yama oluşturarak formu özelleştirin. Sonra, yamayı yönetilen çözüm olarak dışarı aktarın. Bu adım form için bir tam formXml'i dışarı aktarır.

  5. Sınama ortamınızda, 4. adımdaki yönetilen yama çözümünü içeri aktarın. Aşağıdaki şemada görüldüğü gibi, Çözüm A yaması FormA'ya yeni bir Alan 3 eklerken, Çözüm A tarafından eklenen Alan2 kaldırılır.

    Not

    Tam formXml içeren düzeltme ekleri her zaman düzeltme ekinin oluşturulduğu temel katmanla karşılaştırılır ve temel ile geçerli düzeltme arasındaki tüm aradaki düzeltme eklerini yoksayar. Bunun sonucunda, alan2 temel katman A çözümünde varolduğundan kaldırılır ve kaldırma algılanır. Diğer taraftan, Bu düzeltme eki çözümü tarafından Alan3 eklenir ve sonraki düzeltme ekleri tarafından kaldırılamaz. Bu nedenle, düzeltme eki çözümleri aracılığıyla eklenen alanlar doğası gereği toplamalı.

  6. 1. Adım'da oluşturduğunuz formu yükseltmeleri kullanarak biraz daha özelleştirdiğinizde, Çözüm A'nın yönetilmeyen durumda olduğu ortamı kullanın ve yükseltme çözümünü oluşturmak için Çözüm A'yı klonlayarak formu özelleştirin. Ardından, Çözüm A yükseltmesini yönetilen çözüm olarak dışarı aktarın. Bu adım form için bir tam FormXml'i dışarı aktarır.

  7. Sınama ortamınızda, 6. adımdaki yönetilen Çözüm A yükseltmesini içeri aktarın. Aşağıdaki şekilde gösterildiği gibi, Çözüm A yükseltmesi FormA'ya yeni bir Alan4 ekler ve Çözüm A tarafından eklenen Alan2'yi kaldırır. Sınama ortamındaki forma ait kullanıcı arabirimi artık formda Alan1, Alan3 ve Alan4'ü gösterir ancak Alan2 içeri aktarma işleminde birleştirildikten sonra kaldırılır.

Senaryo 2 form ALM şeması.

Var olan bir yönetilen formu özelleştirme ve birden çok yönetilen çözüm kullanarak formu sürdürme

Bu senaryoda iyi durumda bir form ALM'si uygulamak için bu adımları izleyin.

  1. Bu örnekte FormB adlı, varolan bir yönetilen formu, geliştirme ortamınızda düzenleyin ve formda özelleştirmeler yapın. Çözüm A'nın, geliştirme ortamındaki form için önceden yüklenmiş yönetilen çözüm olduğuna dikkat edin.
  2. Yönetilmeyen çözüm olan yeni bir çözüm (aşağıdaki şemada Çözüm B) oluşturun ve FormB'yi ekleyin. Çözümü yönetilen olarak dışarı aktarın. Bu adım form için bir fark (diff) FormXml'ini dışarı aktarır.
  3. Sınama ortamınızda, 2. adımdaki yönetilen çözümü içeri aktararak form için ikinci bir çözüm katmanı oluşturun. Aşağıdaki şemada, FormB test ortamında Çözüm A ve Çözüm B'deki birleştirilmiş değişiklikleri alır ve forma ait kullanıcı arabirimi formda Alan1 ve Alan3'ü gösterir ancak Çözüm B tarafından kaldırılan Alan2'yi göstermez.
  4. 1. adım'da özelleştirdiğiniz formu yeni yönetilen çözümler kullanarak daha da özelleştirdiğinizde, yönetilen durumda FormB bulunan yeni bir geliştirme ortamı kullandığınızdan emin olun. Aşağıdaki şemada gösterildiği gibi, Çözüm A ve Çözüm B yönetilen çözümleri, yeni geliştirme ortamına içeri aktarılır. Form B, yeni bir çözüme (şemada Çözüm C) eklenebilen ve yönetilen çözüm olarak dışarı aktarılabilen etkin özelleştirmeler oluşturularak özelleştirilir.
  5. Sınama ortamınızda, 4. adımdaki yönetilen Çözüm C'yi içeri aktarın. Aşağıdaki şekilde gösterildiği gibi, Çözüm CFormB'ye yeni bir Alan4 ekler ve Çözüm B tarafından eklenen Alan3'ü kaldırır. Sınama ortamındaki forma ait kullanıcı arabirimi artık formda Alan1 ve Alan4'ü gösterir ancak Alan2 ve Alan3'ü göstermez.

Senaryo 3 form ALM şeması.

Bu senaryo için iyi durumda olmayan bir örnek

Aşağıdaki şemada gösterildiği gibi, aynı form için oluşturduğunuz başka bir yönetilmeyen çözümü içeren geliştirici ortamından birden fazla yönetilen çözüm oluşturmak iyi bir ALM uygulaması değildir. Çözüm B'nin yönetilmeyen durumda olduğuna dikkat edin. FormB için başka bir yönetilmeyen çözüm (Çözüm C) oluşturduğunuzda, FormXml yukarıdaki senaryoda 4. adımda gösterildiği gibi diff FormXml olarak dışarı aktarılır. Ancak FormB yaptığınız yeni değişikliklerin üzerine yazılacak olan Çözüm B'deki değişiklikleri de içerir.

Örneğin, aşağıdaki şemada görüldüğü gibi, Alan3, Çözüm B'deki FormB'ye eklenir. Ancak şimdi bu ortamda yeni bir Çözüm C oluşturduğunuzda , Çözüm B yönetilmeyen durumdadır ve Alan3 kaldırır, ayrıca Alan3 geliştirme ortamında da kaldırılır. Bu sütun ekleme ve kaldırma değişiklikleri aynı etkin katmanda yapıldığından, çözüm dışarı aktarıldığında, Alan3 diff FormXml'de izlenmez. Bu, yönetilen Çözüm C test ortamına aktarıldığında, formun Alan3'ü işlemeye devam ettiği anlamına gelir çünkü, diff FormXml onu hiçbir zaman kaldırıldı (yukarıdaki iyi durumdaki form ALM'si senaryosunda, 5. adımda kaldırıldığı gibi) olarak kaydetmez. Form özelleştirmelerinizi bu şekilde gerçekleştirmek, sınama ortamıyla tutarsız bir geliştirme ortamına yol açar.

Bu senaryo için iyi durumda olmayan form ALM'sinin başka bir örneği.

Var olan bir yönetilen formu özelleştirme ve birden çok yama ve yükseltme kullanarak formu sürdürme

Bu senaryoda iyi durumda bir form ALM'si uygulamak için bu adımları izleyin.

  1. Bu örnekte FormB adlı, varolan bir yönetilen formu, geliştirme ortamınızda özelleştirin ve formda özelleştirmeler yapın. Çözüm A'nın, geliştirme ortamındaki form için önceden yüklenmiş yönetilen çözüm olduğuna dikkat edin.

  2. Yönetilmeyen çözüm olan bir çözüm (Çözüm B) oluşturun ve FormB'yi ekleyin. Çözümü yönetilen olarak dışarı aktarın. Bu adım form için bir diff FormXml'i dışarı aktarır.

  3. Sınama ortamınızda, 2. adımdaki yönetilen Çözüm B'yi içeri aktararak form için ikinci bir çözüm katmanı oluşturun. Aşağıdaki şemada FormB, birleştirilmiş değişiklikleri sınama ortamındaki Çözüm A ve Çözüm B'den alır. Buna ek olarak, FormB'nin kullanıcı arabirimi formda Alan1 ve Alan3'ü gösterir, ancak Çözüm B tarafından kaldırılan Alan2'yi göstermez.

  4. 1. Adım'da özelleştirdiğiniz formu bir yama çözümü kullanarak biraz daha özelleştirdiğinizde, aynı geliştirme ortamını, Çözüm B'nin yönetilmeyen bir durumda olduğu 1. Adım olarak kullanabilirsiniz. Aşağıdaki şemada gösterildiği gibi, Çözüm A yönetilen durumda, Çözüm B ise yönetilmeyen durumdadır. Form daha da özelleştirilir ve formunuzu bu çözüme eklemek ve yönetilen yama çözümü olarak dışarı aktarmak yoluyla Çözüm B için bir yama oluşturmuş olursunuz. Bu adım bir diff FormXml'i dışarı aktarır.

  5. Sınama ortamınızda, 4. adımdaki yönetilen yama B Çözümü'nü içeri aktarın. Aşağıdaki şemada görüldüğü gibi, Çözüm B YamasıForm B'ye yeni bir Alan4 eklerken, Çözüm B tarafından eklenen Alan3 kaldırılır.

    Not

    Yamalar doğaları gereği eklemelidir ve formdaki sütunlar gibi bileşenleri kaldıramaz. Bu nedenle, Alan3 formdan kaldırılmaz. Sınama ortamındaki formun kullanıcı arabirimi artık formda Alan1, Alan3 ve Alan4'i gösterir ancak Alan2'yi göstermez.

  6. 1. Adım'da oluşturduğunuz formu yükseltmeleri kullanarak biraz daha özelleştirdiğinizde, Çözüm B'nin yönetilmeyen durumda olduğu ortamı kullanın ve yükseltme çözümünü oluşturmak için Çözüm B'yi klonlayarak FormB'yi özelleştirin. Yükseltmeyi yönetilen çözüm olarak dışarı aktarın. Bu adım form için bir diff FormXml'i dışarı aktarır.

  7. Sınama ortamınızda, 6. adımdaki yönetilen Çözüm B yükseltme çözümünü içeri aktarın. Aşağıdaki şemada gösterildiği gibi, Çözüm B YükseltmesiFormB'ye yeni bir Alan5 ekler ve Çözüm B tarafından eklenen Alan3'ü kaldırır. Sınama ortamındaki forma ait kullanıcı arabirimi artık formda Alan1, Alan4 ve Alan5'i gösterir ancak Alan2 ve Alan3 kaldırılır.

Var olan bir yönetilen formu, yamalar ve yükseltmeler şemasını kullanarak düzenleyin.

Birden çok geliştirme ortamında yeni bir form için yönetilmeyen çözümleri ve özelleştirmeleri sürdürme

Bu senaryoda iyi durumda bir form ALM'si uygulamak için bu adımları izleyin.

  1. Geliştirme Ortamı 1'de yeni bir FormA oluşturun ve formda özelleştirmeler yapın.
  2. Yönetilmeyen çözüm olacak bir çözüm (aşağıdaki şemada Çözüm A adında) oluşturun ve yeni formunuzu ekleyin. Çözümü yönetilmeyen olarak dışarı aktarın. Bu adım form için bir tam FormXml'i dışarı aktarır.
  3. Geliştirme Ortamı 2'de, bir formu Geliştirme ortamı 2'de oluşturan 2. adımdaki yönetilmeyen çözümü içeri aktarın. Aşağıdaki şemada, FormA oluşturulur ve formun kullanıcı arabirimi Çözüm A'nın forma eklendiği Alan1 ve Alan2'yi gösterir.
  4. Ortamda Alan3 adlı yeni bir sütun ekleme gibi etkin özelleştirmeler yaparak, formu Geliştirme Ortamı 2'de daha da özelleştirebilirsiniz. FormA artık Alan1, Alan2 ve Alan3'ü gösterir.
  5. Geliştirme Ortamı 1'de, Alan4 ekleyerek formu daha da özelleştirebilirsiniz. Geliştirme Ortamı 1'deki formun kullanıcı arabirimi artık Alan1, Alan2 ve Alan4'ü gösterir.
  6. Yönetilmeyen Çözüm A'yı 5. Adım'da yapılan değişikliklerle birlikte dışarı aktarın. Bu adım form için bir tam FormXml'i dışarı aktarır.
  7. Geliştirme Ortamı 2'de, 6. adımdaki yönetilmeyen Çözüm A Yükseltmesi'ni içeri aktarın. İçeri aktardığınız çözüm FormA için tam FormXml içerdiğinden, Geliştirme Ortamı 1'de yapılan etkin özelleştirmenin üzerine yazılır. Bu nedenle form artık yalnızca Alan1, Alan2 ve Alan4'ü gösterir, ancak Geliştirme ortamında 1'de yapılan ek etkin özelleştirme olan Alan3'ü göstermez. Bu davranış, form için tam FormXml'e sahip herhangi bir yönetilmeyen çözüm içeri aktarma işleminde ortaya çıkar.

Birden çok ortamdaki yönetilmeyen çözümler.

Birden çok geliştirme ortamında var olan bir form için yönetilmeyen çözümleri ve özelleştirmeleri sürdürme

Bu senaryoda iyi durumda bir form ALM'si uygulamak için bu adımları izleyin.

  1. Geliştirme Ortamı 1'de, bu örnekte FormB adı verilen var olan bir formu özelleştirin. Sonra, formda özelleştirmeler gerçekleştirin.
  2. Yönetilmeyen çözüm olacak bir çözüm (aşağıdaki şemada Çözüm B) oluşturun ve FormB'yi ekleyin. Çözümü yönetilmeyen olarak dışarı aktarın. Bu adım form için bir diff FormXml'i dışarı aktarır.
  3. Geliştirme Ortamı 2'de, 2. adımdaki yönetilmeyen çözümü içeri aktararak form için ikinci bir çözüm katmanı oluşturun. FormB kullanıcı arabirimi, form birleştirmenizin ardından Alan1, Alan2 ve Alan3'ü görüntüler.
  4. Ortamda Alan4 adlı yeni bir sütun ekleme gibi etkin özelleştirmeler yaparak, formu Geliştirme Ortamı 2'de daha da özelleştirebilirsiniz. FormB artık Alan1, Alan2, Alan3 ve Alan4'ü gösterir.
  5. Geliştirme Ortamı 1'de, Alan5 adlı yeni bir sütun ekleyerek formu daha da özelleştirebilirsiniz. Geliştirme Ortamı 1'deki formun kullanıcı arabirimi artık Alan3 ve Alan5'i gösterir.
  6. Yönetilmeyen Çözüm B'yi 5. Adım'da yapılan değişikliklerle birlikte dışarı aktarın. Bu adım form için bir diff FormXml'i dışarı aktarır.
  7. Geliştirme Ortamı 2'de, 6. adımdaki yönetilmeyen Çözüm B Yükseltmesi'ni içeri aktarın. İçeri aktardığınız çözüm FormB için diff FormXml içerdiğinden, Geliştirme Ortamı 1'de yapılan etkin özelleştirmeyle birleştirilir. Böylece form artık artık Alan1, Alan2, Alan3, Alan4 ve Alan5'i gösterir. Bu davranış, form için diff FormXml'e sahip herhangi bir yönetilmeyen çözüm içeri aktarma işleminde ortaya çıkar.
  8. Yönetilmeyen çözümle bir diff FormXML'i içeri aktardığınız halde 7. Adım'daki form birleştirme işlemi istediğiniz gibi değilse ve Geliştirme Ortamı 2' de yapılan etkin özelleştirmelerin üzerine yazılmasını istiyorsanız FormB için etkin katmanı kaldırın. Daha fazla bilgi: Yönetilmeyen bir katmanı kaldırma.
  9. Yönetilmeyen Çözüm B'yi 5. Adım'da yapılan değişikliklerle birlikte dışarı aktarın. Bu adım form için bir diff FormXml'i dışarı aktarır.
  10. Geliştirme Ortamı 2'de, 9. adımdaki yönetilmeyen Çözüm B Yükseltmesi'ni içeri aktarın. Geliştirme Ortamı 2'de form için etkin katman olmadığından (8. adıma bakın), FormB için diff FormXml'i içeri aktardığınız halde, yönetilmeyen Çözüm B'deki tüm değişiklikler içeri aktarılır. Böylece form artık yalnızca Alan1, Alan2, Alan3 ve Alan5'i gösterir. Bu davranış, form için diff FormXml'e sahip herhangi bir yönetilmeyen çözüm içeri aktarma işleminde ortaya çıkar. Bu, Birden çok geliştirme ortamında var olan bir form için yönetilmeyen çözümleri ve özelleştirmeleri sürdürme senaryosundaki 7. adımla aynı sonuçtur.

Senaryo 6 form uygulama yaşam döngüsü yönetim şeması.

Tam ve fark form XML'i

Dışarı aktarılan her çözüm paketi bir customizations. xml dosyası içerir. Bir form çözüme eklendiğinde, ilgili form tanımı, customizations.xml dosyasının FormXml bölümlerinde vardır. FormXml tam ya da fark (diff) olabilir.

Tam FormXml

Yönetilmeyen bir durumdayken bir form için çözüm vermeye yönelik FormXml tam FormXml olarak adlandırılır. Tam, form tanımının tümünü içerdiği anlamına gelir. Yeni bir form oluşturup dışarı aktardığınızda, form her zaman tam FormXml olur çünkü dışarı aktardığınız ortamdaki form yönetilmeyen durumunun yanı sıra oluşturma durumundadır. Aynı ortamdaki daha fazla çözümü dışarı aktarırsanız bunlar da bir tam FormXml içerir. solutionaction özniteliği bir diff FormXml'ini gösterdiği için, dışarı aktardığınız çözümde bulunan customization.xml dosyasındaki tam FormXml, herhangi bir solutionaction özniteliği içermeyecektir.

Fark (diff) FormXml'i

Yönetilen durumdaki bir form için bir çözümü dışarı aktardığınızda aldığınız FormXml, fark veya diff FormXml olarak adlandırılır. Diff, FormXml'in tüm form tanımını değil yalnızca bu ortamdaki etkin özelleştirmelerinizde yapılan değişiklikleri içerdiğini gösterir. Var olan bir yönetilen formu özelleştirip dışarı aktardığınızda, form her zaman yalnızca üzerinde yapılan etkin değişiklikleri içerecek şekilde bir diff FormXml olacaktır. Dışarı aktardığınız çözümdeki customization.xml dosyasında yer alan diff FormXml, değişiklikleri Eklendi, Kaldırıldı, Değiştirildi gibi tanımlayan solutionaction öznitelikleri içerir.

Diff FormXml, çözümünüzün yalnızca uygulamanızın ihtiyaç duyduğu değişiklikleri ifade etmesini ve diğer katmanlardaki değişikliklerden daha az etkilenmesini sağlar. Diff FormXml aynı zamanda çözümü daha kısa sürede içeri aktarmayı da kolaylaştırır.

Ayrıca bkz.

İyi durundaki form ALM'si için öneriler