Mevcut bir uygulamayı yeniden kullanma | Geçiş Merkezi Yardımı
Ana içeriğe geç Tamamlayıcı içeriğe geç

Mevcut bir uygulamayı yeniden kullanma

Son güncelleme: 14.10.2026

QV2QS, her dağıtımda yeni bir uygulama oluşturmak yerine mevcut bir Qlik Sense uygulamasını hedefleyebilir; bu da yinelemeli geliştirmeye olanak tanır ve uygulama kimliğini korur.

Varsayılan olarak QV2QS, her dağıtımda yeni bir uygulama oluşturur. Uygulamayı yerinde güncellemek ve uygulama kimliğini korumak için bunun yerine mevcut bir uygulamayı hedefleyin. Bu yaklaşım, yinelemeli geliştirmeye olanak tanır ve belirli bir uygulama kimliğine başvuran yer işaretlerini ve bağlantıları korur.

Üç argüman yeniden kullanımı destekler:

  • --appId APP_ID — Uygulama kimliğini doğrudan belirtin.
  • --appIdFile PATH — Bir metin dosyasının ilk satırından uygulama kimliğini okuyun.
  • --reuseAppId — Proje alt klasöründeki cloud/cloud_state.json içinden uygulama kimliğini okuyun. Bu dosya, her dağıtımdan sonra otomatik olarak yazılır.

cloud/cloud_state.json dosyası, proje alt klasöründe (örneğin <outputDir>/Sales/cloud/cloud_state.json) saklanır. Dosya; uygulama kimliğini, medya karmasını, sayfa kimliği eşlemesini, kaynak dosya yolunu ve bir zaman damgasını kaydeder. --reuseAppId bayrağı bu dosyayı otomatik olarak okur, böylece sonraki çalıştırmalar manuel uygulama kimliği girişi gerektirmeden aynı uygulamayı günceller. Toplu modda, --reuseAppId proje bazında çalışır — her proje cloud_state.json öğesini kendi çıktı alt klasöründen okur.

Sayfa kimliği eşlemesi

Her QlikView belgesi, sayfaları Document\SH01, Document\SH02 ve benzeri dahili adlarla tanımlar. Qlik Sense, sayfaları tanımlamak için UUID'leri kullanır. QV2QS bir uygulamayı ilk kez dağıttığında, dönüştürülen her sayfa yeni bir UUID alır. QV2QS, QlikView sayfa adı ile Qlik Sense UUID arasındaki eşlemeyi hedef uygulama içinde saklar, böylece ilişki dağıtımlar arasında korunur.

Aynı uygulamaya yapılan sonraki dağıtımlarda, QV2QS saklanan eşlemeyi okur ve orijinal Qlik Sense UUID'lerini ilgili dönüştürülmüş sayfalara atar. Eşleme, çoğaltılan sayfaların uygulamada görünmesini önler ve belirli bir sayfa kimliğine başvuran yer işaretlerini, sık kullanılanları ve doğrudan bağlantıları korur.

Eşleme iki konumda saklanır:

  • Qlik Cloud uygulaması içinde — Uygulama içindeki özel bir nesne eşlemeyi tutar. Eşleme, uygulama farklı bir alana taşınırsa veya bir QVF olarak dışa aktarılırsa uygulama ile birlikte taşınır.
  • Yerel proje klasöründe — cloud/cloud_state.json dosyası aynı eşlemenin bir kopyasını içerir. --reuseAppId bayrağı, uygulama kimliğini ve eşlemesini bu dosyadan okur.

QV2QS, bir yeniden dağıtım hazırlarken eşlemeyi her zaman bulut uygulamasından (yerel dosyadan değil) okur. Yerel dosya, --reuseAppId bayrağının uygulama kimliğini bulması için bir kolaylıktır.

Medya karma optimizasyonu

QV2QS, tüm medya dosyalarının (sayfa arka planları, nesne arka planları, düğme görselleri) karma değerini hesaplar ve bu karma değerini sayfa eşlemesiyle birlikte saklar. Sonraki dağıtımlarda QV2QS, mevcut hash değerini saklanan değerle karşılaştırır. Medya değişmediyse yükleme adımı tamamen atlanır.

Eşleme doğrulaması

Sayfaları değiştirmeye hazırlamadan önce QV2QS, saklanan eşlemeyi canlı uygulamaya göre doğrular. Dağıtımlar arasında Qlik Cloud uygulamasından bir sayfa manuel olarak silindiyse QV2QS, sayfanın artık mevcut olmadığını tespit eder, güncel olmayan girişi eşlemeden kaldırır ve bir sonraki derlemede ilgili QlikView sayfasını yeni olarak değerlendirir. Güncellenen eşleme, derleme tamamlandıktan sonra uygulamaya geri yazılır.

QlikView kaynağında eklenen veya kaldırılan sayfalar

İlk dağıtımdan sonra QlikView kaynağına bir sayfa eklendiğinde QV2QS, sayfaya yeni bir UUID atar ve girdiyi eşlemeye ekler. QlikView kaynağından bir sayfa kaldırıldığında, sayfa artık derleme çıktısında yer almaz ve derleme sırasında Qlik Cloud uygulamasından kaldırılır. Kaldırılan sayfa için eşleme girdisi ileriye taşınmaz.

Proje klasörü eşleştirme

QV2QS, ilk dönüştürmeden sonra her proje çıktı klasörüne bir .qv2qs_source işaretçi dosyası yazar. İşaretçi, kaynak QVW dosyasının tam yolunu kaydeder. Sonraki çalıştırmalarda QV2QS, birden fazla klasör aynı temel adı paylaşsa bile (örneğin Sales/, Sales_2/, Sales_3/), belirli bir QVW dosyası için doğru proje klasörünü bulmak üzere işaretçiyi kullanır.

İşaretçi, her bir QVW dosyasının tam olarak tek bir çıktı klasörüne eşlenmesini sağlar. Daha önce dönüştürülmüş bir QVW dosyasını dönüştürürken QV2QS, çıktı kök dizininde işareti kaynak yolla eşleşen bir alt klasör arar. Bir eşleşme bulunursa, QV2QS o klasörü yeniden kullanır ve içindeki cloud_state.json okur. Herhangi bir eşleşme bulunamazsa QV2QS, sayısal bir son eke sahip yeni bir alt klasör oluşturur.

Sihirbazda aynı eşleştirme mantığı geçerlidir. Mevcut uygulamayı yeniden kullan etkinleştirildiğinde sihirbaz, çıktı klasöründe eşleşen bir proje olup olmadığını denetler ve AppId alanını önceki dağıtımdan otomatik olarak doldurur. Önceki bir dağıtım bulunamazsa alan boş kalır ve manuel girişi veya gözatma seçicisini kabul eder.

Bilgi notu

.qv2qs_source işaretçi dosyası otomatik olarak oluşturulur. Dosyayı düzenlemeyin veya silmeyin. İşaretçiyi kaldırmak, QV2QS'nin bir sonraki çalıştırmada mevcut olanı yeniden kullanmak yerine yeni bir proje alt klasörü oluşturmasına neden olur.

Yeniden dağıtım davranışı

QV2QS, hedef uygulamaya dağıtmak için qlik app build kullanır. Derleme komutu, uygulama nesne modelinin tam olarak değiştirilmesini gerçekleştirir. Derleme çıktısında tanımlanan tüm nesneler uygulamaya yazılır. Derleme çıktısında bulunmayan nesneler kaldırılır.

Derlemeyi çalıştırmadan önce QV2QS, mevcut sayfaları değiştirilmek üzere hazırlar. QV2QS, sayfa eşlemesini canlı uygulamaya göre doğrular (bkz. Sayfa Kimliği eşlemesi), her bir sayfanın yayımlama durumunu ve derecesini kaydeder ve eski sayfaları bulut uygulamasından kaldırır. Yerel derleme çıktısı, bu kimliklere başvuran yer işaretleri ve bağlantıların derlemeden sonra da çalışmaya devam edebilmesi için orijinal Qlik Sense sayfa kimlikleriyle yamalanır.

Derleme tamamlandıktan sonra QV2QS, orijinal sayfa durumunu geri yükler. Daha önce yayımlanan sayfalar temel sayfalar olarak yeniden yayımlanır ve orijinal sıralama (görüntüleme sırası) geri yüklenir. Önceki dağıtımda bulunmayan yeni sayfalar, Sayfaları yayımla ayarı etkinleştirildiğinde temel sayfalar olarak yayımlanır. Yeni sayfaları yayımlanmamış olarak bırakmak için ayarı devre dışı bırakın.

Uyarı notu

Hedef uygulamada kullanıcı tarafından oluşturulan içerik (önceki dağıtımdan sonra manuel olarak eklenen sayfalar, yer imleri, hikayeler veya özel nesneler), yeniden dağıtım sırasında korunmaz. qlik app build komutu, uygulama içeriğini derleme çıktısıyla değiştirir. Manuel ayarlamalar yapıldıysa, yeniden dağıtmadan önce uygulamayı yedekleyin veya yayımlayın.

Dağıtım öncesi yedekleme

Mevcut bir uygulamayı yeniden kullanırken, QV2QS uygulamayı değiştirmeden önce otomatik olarak verisiz bir QVF yedeğini dışa aktarır. Yedekleme, uygulama yapısını (sayfalar, nesneler, komut dosyası ve meta veriler) veri olmadan yakalar; böylece dışa aktarma hızlıdır ve dosya küçüktür.

Yedekler, proje çıktı klasörünün içindeki cloud/backups/ konumuna kaydedilir. Her yedekleme dosyası <AppName>_<shortId>_<timestamp>_nodata.qvf olarak adlandırılır. Örneğin, Sales_a1b2c3d4_20260226-143025_nodata.qvf.

Yedek dışa aktarımı başarısız olursa (örneğin, bir ağ kesintisi veya yetersiz izinler nedeniyle), QV2QS bir uyarı kaydeder ve dağıtıma devam eder. Başarısızlık, dönüştürmeyi engellemez.

Otomatik yedeklemeyi atlamak için komut satırında --noBackup değerini iletin veya sihirbazda Dağıtım öncesi yedeklemeyi atla seçeneğini etkinleştirin. Yedeklemeyi atlamak, yedeklemelerin harici olarak yönetildiği CI/CD işlem hatlarında kullanışlıdır.

Hedef uygulama komut dosyasını koruma

Varsayılan olarak QV2QS, hedef uygulamadaki komut dosyasını QlikView kaynağından dönüştürülen komut dosyası ile değiştirir. Hedef uygulamadaki mevcut komut dosyasını değiştirmeden tutmak için --preserveTargetAppScript kullanın. Dönüştürülen komut dosyası yerel build/script.qvs dosyasına yazılır ancak bulut uygulamasına uygulanmaz.

Bu seçenek --appId veya --reuseAppId gerektirir çünkü yalnızca mevcut bir uygulama hedeflendiğinde geçerlidir. UI güncellendikten sonra mevcut komut dosyasını yürütmek için --reload ile birleştirilebilir; bu da hedef uygulamanın halihazırda çalışan Qlik Cloud veri bağlantılarına sahip olduğu durumlarda kullanışlıdır. Hedef komut dosyasını olduğu gibi korurken orijinal QVW dosyasından verileri geçici olarak yüklemek için --autoBinary ile de birleştirilebilir.

Hedef uygulama değişkenlerini koruma

Varsayılan olarak QV2QS, hedef uygulamadaki değişkenleri QlikView kaynağından dönüştürülen değişkenlerle değiştirir. Hedef uygulamadaki mevcut değişkenleri değiştirmeden korumak için --preserveTargetAppVariables kullanın. Dönüştürülen değişkenler yerel variables.json dosyasına yazılır, ancak bulut uygulamasına uygulanmaz.

Bu seçenek --appId veya --reuseAppId gerektirir çünkü yalnızca mevcut bir uygulama hedeflendiğinde geçerlidir. Hedef uygulamadaki hem komut dosyasını hem de değişkenleri olduğu gibi korumak için --preserveTargetAppScript ile birleştirilebilir.

Daha fazla bilgi edinin

Visit the discussion forum at community.qlik.com

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız lütfen bize bildirin!