Bölüm 14: Yayınlama ve Paylaşım

sabangul67@gmail.com
Ağustos 25, 20267 dk okuma1 görüntülenme

ArcGIS Experience Builder ile Profesyonel Web Uygulamaları Geliştirme

🚀 Bölüm 14: Yayınlama ve Paylaşım

Anahtar Noktalar

  • Yayınlama Nedir? ArcGIS Experience Builder uygulamasını son kullanıcıların erişimine açma süreci.
  • Paylaşım Nedir? Uygulamanın belirli kullanıcılar, gruplar veya herkesle paylaşılmasını sağlama.
  • Platformlar: ArcGIS Online, ArcGIS Enterprise, özel sunucular.
  • Güvenlik: Kimlik doğrulama, paylaşım izinleri ve veri güvenliği.
  • Erişilebilirlik: Yayınlanan uygulamanın WCAG 2.1 standartlarına uygunluğu.
  • Haziran 2025 Güncellemesi: Geliştirilmiş paylaşım seçenekleri, otomatik dağıtım araçları ve erişilebilirlik raporları.

Yayınlama ve Paylaşımın Önemi

Yayınlama ve paylaşım, ArcGIS Experience Builder uygulamalarını kullanıcıların erişimine sunarak projelerin etkisini artırır. Örneğin:

  • Bir afet yönetimi uygulaması, kamuoyuyla paylaşılarak gerçek zamanlı bilgilendirme sağlar.
  • Bir şehir planlama panosu, yalnızca organizasyon üyeleriyle paylaşılarak güvenli erişim sunar.
    Bu bölüm, yayınlama ve paylaşım süreçlerini, güvenlik ve erişilebilirlik uygulamalarını, kod örneklerini ve pratik senaryoları Haziran 2025 sürümüne uygun olarak detaylı bir şekilde açıklayacak. Yeni başlayanlardan uzman geliştiricilere kadar herkes için kapsamlı bir rehber sunulacak.

14.1 Yayınlama ve Paylaşım Nedir?

Yayınlama, ArcGIS Experience Builder uygulamasını bir platformda (ArcGIS Online, ArcGIS Enterprise veya özel bir sunucu) erişilebilir hale getirme sürecidir. Bu, uygulamanın son kullanıcılar tarafından kullanılabilir olmasını sağlar.

Paylaşım, uygulamanın kimlerle erişilebileceğini tanımlama sürecidir. Paylaşım seçenekleri:

  • Herkese Açık: Genel erişim (ör. kamu bilgilendirme uygulamaları).
  • Organizasyon: Yalnızca ArcGIS organizasyon üyeleri.
  • Gruplar: Belirli ArcGIS grupları.
  • Özel: Yalnızca sahibi veya belirli kullanıcılar.

Neden Önemli?

  • Erişim: Uygulamanın hedef kitleye ulaşmasını sağlar.
  • Güvenlik: Veri ve uygulamanın yalnızca yetkili kullanıcılar tarafından erişilmesini garanti eder.
  • Erişilebilirlik: WCAG 2.1 standartlarına uygun uygulamalar, kapsayıcı bir deneyim sunar.
  • Esneklik: Farklı platformlar ve paylaşım seçenekleri, çeşitli kullanım senaryolarına uyum sağlar.

14.2 Yayınlama Süreçleri

ArcGIS Experience Builder uygulamalarını yayınlamak için çeşitli yöntemler kullanılabilir.

14.2.1 ArcGIS Online’da Yayınlama

ArcGIS Online, bulut tabanlı bir platformdur ve uygulamaları hızlıca yayınlamak için idealdir.

  • Adımlar:
    1. Experience Builder’da uygulamanızı tamamlayın.
    2. Publish butonuna tıklayın.
    3. Uygulamanın meta verilerini (başlık, açıklama, etiketler) girin.
    4. Save ile uygulamayı ArcGIS Online’a kaydedin.
    5. Yayınlanan uygulamayı test edin:
      • Preview modunda kontrol edin.
      • Paylaşım bağlantısını tarayıcıda açın.
  • İpucu: Yayınlamadan önce tüm widget’ların ve veri kaynaklarının doğru çalıştığını doğrulayın.

14.2.2 ArcGIS Enterprise’da Yayınlama

ArcGIS Enterprise, organizasyonların kendi sunucularında uygulamaları barındırmasını sağlar.

  • Adımlar:
    1. ArcGIS Enterprise portalında oturum açın.
    2. Experience Builder Developer Edition’ı ArcGIS Enterprise ile entegre edin:
      • server/arcgis-js-api klasörünü sunucuya yükleyin.
    3. Uygulamayı oluşturun ve Publish ile Enterprise portalına kaydedin.
    4. Paylaşım ayarlarını yapılandırın (ör. organizasyon, gruplar).
  • Örnek Konfigürasyon:// server/config.json { \"portalUrl\": \"https://your-enterprise-portal.com/arcgis\", \"appId\": \"your-app-id\", \"apiVersion\": \"4.28\" }
  • İpucu: ArcGIS Enterprise sürümünün Experience Builder ile uyumlu olduğundan emin olun (Haziran 2025 için 11.3 veya üstü).

14.2.3 Özel Sunucuda Yayınlama

Özel bir sunucuda yayınlama, daha fazla kontrol sağlar.

  • Adımlar:
    1. Experience Builder Developer Edition’da uygulamayı geliştirin.
    2. npm run build ile üretim derlemesi oluşturun:
      • Çıktı: dist klasörü.
    3. dist klasörünü bir web sunucusuna (ör. Apache, Nginx) yükleyin.
    4. Sunucu yapılandırmasını yapın:# nginx.conf server { listen 80; server_name your-app-domain.com; root /path/to/dist; index index.html; location / { try_files $uri $uri/ /index.html; } }
    5. HTTPS yapılandırın:
      • Let’s Encrypt veya başka bir SSL sertifikası kullanın.
    6. Uygulamayı tarayıcıda test edin.
  • İpucu: Performans için statik dosyaları sıkıştırın (ör. Gzip).

14.2.4 Performans Optimizasyonu

  • Önbellekleme:<!-- index.html --> <meta http-equiv=\"Cache-Control\" content=\"public, max-age=31536000\">
  • CDN Kullanımı:
    • ArcGIS API for JavaScript’ı CDN’den yükleyin:<script src=\"https://js.arcgis.com/4.28/\"></script>
  • Minifikasyon:
    • CSS ve JavaScript dosyalarını sıkıştırın:npm run build -- --minify

14.3 Paylaşım Seçenekleri

Paylaşım, uygulamanın kimlere erişilebilir olacağını belirler.

14.3.1 Paylaşım Seviyeleri

  • Herkese Açık:
    • Kamu bilgilendirme uygulamaları için uygundur.
    • Adımlar:
      1. ArcGIS Online/Enterprise’da uygulamayı seçin.
      2. Share > Everyone seçeneğini işaretleyin.
      3. Paylaşım bağlantısını kopyalayın.
  • Organizasyon:
    • Yalnızca organizasyon üyelerine erişim.
    • Adımlar:
      1. Share > Organization seçeneğini işaretleyin.
      2. Organizasyon üyelerine bağlantıyı paylaşın.
  • Gruplar:
    • Belirli ArcGIS gruplarıyla paylaşım.
    • Adımlar:
      1. ArcGIS portalında bir grup oluşturun.
      2. Share > Groups seçeneğini işaretleyin ve grubu seçin.
  • Özel:
    • Yalnızca sahibi veya belirli kullanıcılar.
    • Adımlar:
      1. Share > Private seçeneğini işaretleyin.
      2. Belirli kullanıcılara erişim izni verin.

14.3.2 Paylaşım Bağlantıları ve Embed Kodları

  • Paylaşım Bağlantısı:
    • ArcGIS Online/Enterprise’dan alınır.
    • Örnek: https://your-org.arcgis.com/apps/experience/your-app-id
  • Embed Kodu:
    • Uygulamayı bir web sitesine gömmek için kullanılır.
    • Adımlar:
      1. ArcGIS Online’da uygulamayı seçin.
      2. Share > Embed seçeneğini tıklayın.
      3. Oluşturulan iframe kodunu kopyalayın:<iframe src=\"https://your-org.arcgis.com/apps/experience/your-app-id\" width=\"100%\" height=\"600px\"></iframe>
    • İpucu: iframe için responsive tasarım ayarlayın:iframe { width: 100%; height: 600px; border: none; } @media (max-width: 768px) { iframe { height: 400px; } }

14.3.3 Güvenli Paylaşım

  • Kimlik Doğrulama:
    • ArcGIS Online/Enterprise için OAuth 2.0 kullanın:// client/your-extensions/widgets/AuthWidget/Widget.tsx import esriId from \'esri/identity/IdentityManager\'; esriId.registerToken({ server: \'https://your-org.arcgis.com\', token: \'your-access-token\' });
  • Paylaşım İzinleri:
    • Veri kaynaklarının paylaşım ayarlarını kontrol edin:
      • Everyone, Organization veya Groups.
  • HTTPS:
    • Tüm bağlantılar HTTPS üzerinden yapılmalı.
    • SSL sertifikasını doğrulayın.

14.4 Erişilebilirlik

Yayınlanan uygulamaların WCAG 2.1 standartlarına uygun olması gerekir.

  • Adımlar:
    1. ARIA Etiketleri ekleyin:<button aria-label=\"Uygulamayı Paylaş\" className=\"jimu-btn\">Paylaş</button>
    2. Klavye Navigasyonu:import { useKeyboardNavigation } from \'jimu-core\'; useKeyboardNavigation({ onEnter: () => shareApp() });
    3. Renk Kontrastı:
    4. Ekran Okuyucu Testi:
      • NVDA veya VoiceOver ile test edin.
  • Haziran 2025 Yeniliği: Otomatik erişilebilirlik raporlama aracı.

14.5 Haziran 2025 Güncellemesindeki Yenilikler

  • Paylaşım Seçenekleri:
    • Yeni grup tabanlı paylaşım kontrolleri.
    • Otomatik paylaşım raporları.
  • Dağıtım Araçları:
    • Tek tıkla özel sunucu dağıtımı.
    • Optimize edilmiş build script’leri.
  • Erişilebilirlik:
    • Yeni useAccessibility hook’u.
    • Otomatik ARIA etiket oluşturma.
  • Performans:
    • Daha hızlı yayınlama süreci.
    • Geliştirilmiş önbellekleme seçenekleri.

14.6 Pratik Örnekler

Aşağıda, basitten zora dört pratik örnekle yayınlama ve paylaşım süreçlerini açıklayacağız.

Örnek 1: Kamu Bilgilendirme Uygulamasını Yayınlama (Başlangıç Seviyesi)

  • Amaç: Şehir parklarını gösteren bir uygulamayı herkese açık olarak yayınlama.
  • Widget’lar: Harita, Arama, Lejant.
  • Adımlar:
    1. Blank Full Screen şablonunu seçin.
    2. Harita Widget’ı ekleyin, park verileri içeren bir web haritası bağlayın.
    3. Arama Widget’ı ve Lejant Widget’ı ekleyin.
    4. Publish ile ArcGIS Online’a kaydedin.
    5. Share > Everyone seçeneğini işaretleyin.
    6. Paylaşım bağlantısını test edin:
      • Örnek: https://your-org.arcgis.com/apps/experience/park-app-id.
    7. Erişilebilirlik:
      • ARIA etiketleri ekleyin:<div role=\"region\" aria-label=\"Park Haritası\">...</div>
      • Klavye navigasyonu test edin.
  • Sonuç: Herkese açık bir kamu bilgilendirme uygulaması.
  • İpucu: Paylaşım bağlantısını sosyal medyada paylaşın.

Örnek 2: Organizasyon İçi Analitik Pano (Orta Seviye)

  • Amaç: Satış verilerini görselleştiren bir panoyu organizasyon üyeleriyle paylaşma.
  • Widget’lar: Grafik, Tablo, Filtre.
  • Adımlar:
    1. Dashboard şablonunu seçin.
    2. Grafik Widget’ı, Tablo Widget’ı ve Filtre Widget’ı ekleyin.
    3. Eylem: Filtre değişimi Grafik ve Tablo’yu güncelleyin.
    4. Publish ile ArcGIS Online’a kaydedin.
    5. Share > Organization seçeneğini işaretleyin.
    6. Organizasyon üyelerine bağlantıyı paylaşın.
    7. Güvenlik:
      • Veri kaynağını yalnızca organizasyonla paylaşın.
      • OAuth ile kimlik doğrulama ekleyin.
    8. Erişilebilirlik:
      • Kontrast oranını kontrol edin.
      • Ekran okuyucu testi yapın.
  • Sonuç: Organizasyon üyelerine özel bir analitik pano.
  • İpucu: Paylaşım izinlerini düzenli kontrol edin.

Örnek 3: Özel Sunucuda Hikaye Anlatımı Uygulaması (İleri Seviye)

  • Amaç: Şehir gelişim projesini anlatan bir uygulamayı özel bir sunucuda yayınlama.
  • Widget’lar: Bölüm, Harita, Metin, Menü.
  • Adımlar:
    1. Storytelling şablonunu seçin.
    2. Bölüm Widget’ı, Harita Widget’ı, Metin Widget’ı ve Menü Widget’ı ekleyin.
    3. npm run build ile üretim derlemesi oluşturun.
    4. dist klasörünü Nginx sunucusuna yükleyin:sudo cp -r dist /var/www/your-app
    5. Nginx yapılandırmasını güncelleyin:server { listen 443 ssl; server_name your-app-domain.com; ssl_certificate /etc/letsencrypt/fullchain.pem; ssl_certificate_key /etc/letsencrypt/privkey.pem; root /var/www/your-app; index index.html; location / { try_files $uri $uri/ /index.html; } }
    6. HTTPS sertifikasını yapılandırın (Let’s Encrypt).
    7. Uygulamayı tarayıcıda test edin.
    8. Erişilebilirlik:
      • ARIA etiketleri ve klavye navigasyonu ekleyin.
      • axe DevTools ile test edin.
  • Sonuç: Özel sunucuda çalışan bir hikaye anlatımı uygulaması.
  • İpucu: Sunucu performansını izlemek için New Relic kullanın.

Örnek 4: Afet Yönetimi Uygulamasını ArcGIS Enterprise’da Yayınlama (Uzman Seviyesi)

  • Amaç: Gerçek zamanlı afet verileriyle çalışan bir uygulamayı ArcGIS Enterprise’da yayınlama ve gruplarla paylaşma.
  • Widget’lar: Harita (3D), Analiz, Tablo, Survey, Widget Kontrolcüsü.
  • Adımlar:
    1. Özel Şablon oluşturun:
      • Harita Widget’ı (3D sahne), Analiz Widget’ı, Tablo Widget’ı, Survey Widget’ı ve Widget Kontrolcüsü ekleyin.
    2. Eylemler:
      • Harita seçimi Tablo ve Analiz’i güncelleyin.
      • Survey yanıtları Harita’yı güncelleyin.
    3. ArcGIS Enterprise’da yayınlayın:
      • server/config.json dosyasını yapılandırın:{ \"portalUrl\": \"https://your-enterprise-portal.com/arcgis\", \"appId\": \"disaster-app-id\" }
      • Publish ile uygulamayı kaydedin.
    4. Paylaşım:
      • ArcGIS Enterprise’da bir grup oluşturun (ör. “Afet Yönetimi Ekibi”).
      • Share > Groups seçeneğini işaretleyin ve grubu seçin.
    5. Güvenlik:
      • OAuth ile kimlik doğrulama ekleyin:esriId.registerToken({ server: \'https://your-enterprise-portal.com/arcgis\', token: \'your-access-token\' });
      • Veri kaynaklarını yalnızca grupla paylaşın.
    6. Erişilebilirlik:
      • ARIA etiketleri ve klavye navigasyonu ekleyin.
      • Ekran okuyucu testi yapın.
    7. Performans:
      • Önbellekleme kullanın:<meta http-equiv=\"Cache-Control\" content=\"public, max-age=31536000\">
      • 3D modelleri düşük poligonlu kullanın.
    8. Paylaşım bağlantısını test edin.
  • Sonuç: ArcGIS Enterprise’da güvenli bir afet yönetimi uygulaması.
  • İpucu: Paylaşım ayarlarını düzenli kontrol eden bir script yazın.

14.7 En İyi Uygulamalar ve İpuçları

  • Yayınlama:
    • Yayınlamadan önce tüm widget’ları ve veri kaynaklarını test edin.
    • Üretim derlemesi için npm run build kullanın.
  • Paylaşım:
    • Doğru paylaşım seviyesini seçin (Herkese Açık, Organizasyon, Gruplar).
    • Paylaşım bağlantılarını güvenli kanallarla paylaşın.
  • Güvenlik:
    • HTTPS ve OAuth kullanın.
    • Veri kaynaklarının paylaşım ayarlarını kontrol edin.
  • Erişilebilirlik:
    • WCAG 2.1 standartlarına uyun.
    • ARIA etiketleri ve klavye navigasyonu ekleyin.

14.8 Sorun Giderme

  • Yayınlama Hataları: Veri kaynağı bağlantılarını ve paylaşım ayarlarını kontrol edin.
  • Paylaşım Hataları: Kullanıcı izinlerini ve grup ayarlarını doğrulayın.
  • Erişilebilirlik Sorunları: axe DevTools ile tarama yapın.
  • Performans Sorunları: Önbellekleme ve minifikasyon kullanın.

14.9 Kaynaklar

Yazar

sabangul67@gmail.com

Bu yazarın yayınladığı diğer içerikleri inceleyebilirsiniz.

Tüm yazıları