Catalyst 19.12.2



19.12.2  Self Upgrade 1.0 Sistemi ile geliyor.


Self Upgrade 1.0 Nedir?

Dev veya Master sürümlerden kararlı sürümlere geçmek ya da sürümler arası geçişi otomatize etmek ve kolaylaştırmak için geliştirilmiş bir sistemdir.
> Yardım > Sürüm Notları linkinden erişilir.

Bu sayfada sunucunun mevcut sürümü ve yayınlanmış sürümler listelenir. Sürümlerin içine girdiğinizde yenilikler ve değişiklikleri görebilirsiniz.

Eğer Dev ve Master branch'ları üzerinde Workcube'ü kullanıyorsanız production ortamında bu branch kullanımı tavsiye edilmez. Dev sürümü developerlar için geliştirim ortamıdır ve muhtemel hatalarla karşılaşma ihtimali yüksektir. Master sürümü ise yayın öncesi QA yapılan ve hataların giderilmeye çalışıldığı sürümdür. Açık kaynak kodlu uygulama alanlar çoğunlukla Master sürümde çalışmayı tercih ederler. Bu en güncel geliştirimleri görmek ve pull etmek, sunucuya çekmek için hız sağlasa da beta sürüm olduğunu unutmamak gerekir.
-


 

Kullanıcıların hatasız bir yazılım ile çalışmasını sağlamak ve geliştirimi hızlandırmak için çalışan Workcube Topluluğu evrensel bir sistem olan Git üzerinde geliştirim yapmakta ve QDDD yaklaşımını kullanmaktadır.

Sürümler arası geçişi eforsuz ve hatasız yapmak amacıyla geliştirilen Self Upgrade "admin" kullanıcıların yetkisine açıktır.
 

Self Upgrade iki şekilde çalışmaktadır.

  1. Master branchından sürüme geçiş.
  2. Sürümden üst sürüme geçiş.



Master'dan sürüme geçiş yapacak olanların dikkatine!

  1. Yedeğinizi alın.
    Workcube dosyalarının olduğu dizinin yedeğini alın. Olası bir sorun için veya özelleştirilmiş dosyalarınızın yedekleri elinizde olsun.
    E-devlet ürünlerinde sorun yaşamamak için objects/xslt, objects/xml ve add options klasörlerinin yedeklenmesi çok önemli.
  2. Sourcetree kurulumunuzda Git'in global olarak kurulduğundan emin olun. 
    Git'in global olarak kurulduğunu doğrulamak ve global kurulum yapılmamışsa gerekli düzenlemeleri yapmak için buraya tıklayın
  3. Eğer Coldfusion sürümünüz CF11 ise Java versiyonunuzun 1.8.0_212 olmasına dikkat edin.
    Eğer değilse sürümünüzü güncelleyin.
  4. WRK_LICENSE tablonuzda en az 1 adet satır olduğundan emin olun.
    Eğer satır yoksa db üzerinden manuel olarak, rastgele verilerle, 1 satır ekleyebilirsiniz. 
  5. Session Timeout Sürenizin minimum 90 dk olduğundan emin olun.
    Kontrol etmek için : Kontrol paneli > Diğer bölmesini görüntüleyebilirsiniz.
  6. Sunucunuzda Workcube dosyalarının olduğu dizinde Git üzerine kurulmuş olan Sourcetree ile yönetilen Workcube'ü Master Branch'ına çekin.
    Bunun için önce FETCH işlemi ardında PULL işlemi yapmanız gereklidir.
  7. Master branch'ı pull ettikten sonra güncel WRO ve dilleri çalıştırın.
    Bunun için Kontrol Paneli > System > Bakım > Workcube Upgrade sayfasına gidin, Import butonuna tıklayın, listedeki tüm WRO scriptlerini çalıştırın.
    Ardından Dil Scriptleri butonuna tıklayın, Dictionary checkbox'ını işaretleyin, Tarih aralığı olarak Son 1 yıl seçin ve Upgrade tuşuna basın.
  8. Müşteriye özel olarak yapılmış olan özelleştirmeler veya AddOption veya AddOn dosyalarının doğru yerlerinde olduğundan emin olunuz.
    Müşteriye özel yapılan dosyalar WO kayıtları içinde AddOptions_File_Path veya AddOptions_Controller_Path alanlarına eklenmiş olmalıdır.
    Bu alanlar boş ise Self Upgrade bu WO'ları güncelleyecek, bu alanlar dolu ise bu WO'ları güncellemeyecektir.
  9. Sistem Parametre Ayarları
    Master branchında params dosyaları elle yazılır. Self Upgrade ile birlikte Workcube Params ayarları set edilebilen dinamik ayarlara ve JSON dosyasına dönüştürülmüştür. Sunucudaki sabit mevcut WMO/params.cfc dosyasını kontrol edin. Bu dosyadaki verileri okuyarak Self Upgrade dinamik JSON formu yaratacaktır. Ayarların doğru olduğundan emin olun.
  10. Buglog
    Sistem parametre ayarlarında otomatik buglog-hata bildirimi yapılması için buglog.buglogautonotify değeri true olarak set edilmiştir. Buglog bildiriminin otomatik yapılmasını istemiyorsanız bu ayarı false yapmanız gereklidir. 
  11. BigData ve Mongo Ayarları
    Ayrıntılı log izlemek ve büyük verilerle çalışmak isteyen işletmeler için Workcube'e MongoDB eklentisi yapılmıştır. MongoDB kurmak, Mongo'yu Workcube'e bağlamak ve SOLR servisleri kullanmak için uzmanlarımızdan hizmet alabilirsiniz.

Master'dan Release'e geçiş için yararlanabileceğiniz video bağlantısı : https://www.workcube.com/workcubeTV-detail/136862/41
 



Self Upgrade Adımları
 

  • Çevrimiçi kullanıcıların işlerini tamamlamaları ve logout olmalarını isteyin.
    Upgrade'den önce çevrimiçi kullanıcılar işlerini bitirmeli ve sistemden çıkmalıdır. Upgrade esnasında sisteme giriş yapılamaz. Sistem maintenance-bakım moduna geçer.
  • Master'dan sürüme geçiyorsanız sunucunuzda master branhını fetch ve pull edin.
    Sourcetree arayüzüne giderek yapabilirsiniz.
  • Sistem Parametre Ayarlarını Düzenleyin.
    Master'dan sürüme geçerken Sistem Parametre ayarlarını kontrol edin ve düzenleyin.
  • Standart dosyalarda yapılan geliştirimleri geri alın.
    Bu işlem sizi Workcube tarafından official-resmi olarak yayınlanmış olan dosyalara geri döndürür. Workcube'de ana sürümden kopmak mümkün ama sürdürülebilirlik açısından mahsurludur. Özelleştirilmiş veya genişletilmiş dosyalar aşağıdaki iki klasör içinde yer almalıdır. Self Upgrade bu iki klasör dışında değişmiş olan dosyalar bulduğunda implementasyonunuzun standartlara ve kalite kurallarına uygun olmadan yapılmış olduğuna hükmeder ve tüm standart dışı dosyaları sürümle uyumlaştırır. Bu durumda yetkili iş ortağınız ya da sistem yöneticiniz ile temas ediniz.
    • Addons/ProjeKlasörünüz
    • V16/add_options
       
  • Güncel Sürüme Geçiş
    Self Upgrade bu aşamada sisteminizi seçmiş olduğunuz sürüme geçirir. Bugfix yapılmış, iyileştirilmiş ve lisansınıza uyumlu olarak tüm yeni dosyalar sunucunuza yüklenir.
  • WRO'ların çalıştırılması
    Workcube Data Release Objeleri yeni açılan tabloları, yeni açılan veya değiştirilen kolonları veri tabanınızda çalıştırır ve yeni sürüm veri tabanı modeliyle eşitlenmiş olur. WRO aynı zamanda data değişimlerini ya da yeni gelen ayarları veri tabanına kaydetmek için çalışır.
  • Schema Compare
    Yeni sürümün veri modelini "_compare" ifadesi kullanarak 4 şema (Main / Company / Period / Product)  olarak açar. Böylelikle manuel olarak açılmış olan tablo, kolon ve view kontrollerini upgrade işlemi tamamlandıktan sonra Workdev > SC ekranında kontrol edebilir varsa eksikleri giderebilirsiniz.
    Not: Bu işlem için CFServer erişim şifreleri kullanılmaktadır.
  • Dil Upgrade
    Workcube arayüzündeki tüm sözcük ve tümceleri Workcube Update Web Servislerine bağlanarak yeniler. Master'dan yeni sürüme geçişte tüm sözlük maddeleri yenilenir. Bu işlem sunucunun işlemci, bellek ve bant genişliği kapasitesine bağlı olarak uzun sürebilir. Sürümden sürüme geçişte bu işlem sadece değişen sözlükleri kapsar.
    Not: Is_special yapılmış sözlük maddeleri değişmez. Değiştirilmiş ama Is Special checkbox'ı işaretlenmemiş sözlük maddeleri ezilir.
  • Solution, Family, Modül, Objects ve Widget Upgrade
    Çözüm, İş aileleri ve Modüller altında gruplanmış Workcube objelerini (fuseaction) ve widgetları upgrade eder. Master'dan yeni sürüme geçişte tüm objeler yenilenir. Bu işlem sunucunun işlemci, bellek ve bant genişliği kapasitesine bağlı olarak uzun sürebilir. Sürümden sürüme geçişte bu işlem sadece değişen objeleri kapsar.
    Not: WO kayıtları içinde AddOptions_File_Path veya AddOptions_Controller_Path alanları dolu ise bu objeler değiştirilmez. Bu alanlar boş ise Self Upgrade bu WO'ları güncelleyecektir.
  • Application Restart
    Upgrade sonrası uygulama restart edilir. Login ekranları aktif olur.

Upgrade sisteminde yaşanabilecek sorunlar ve çözüm yolları hakkında bilgi edinmek için forum bağlantısıhttps://networg.workcube.com/index.cfm?fuseaction=forum.view_topic&forumid=50



Master'dan release'e geçen sunucularda düzenlenmesi gereken işlemler

  • Özelleştirilmiş dosyaları kontrol edin. Self Upgrade standart dışı özelleştirmeleri ezer. Standart dışı kullanımlarınız için yedeklemiş olduğunuz dosyaları kalite kurallarına uygun olarak yeniden yapılandırın.
  • Yetki gruplarını kontrol edin. Yetki gruplarında modül raporlama yetkisi ve modül power user yetkisi kullanıcıların erişimini engelleyebilir.
  • Yetki gruplarında kişisel verilerin korunması amacıyla KVKK-GDPR yetkilerini ayarlayın. Dinamik bordro, İzin kıdem ihbar raporu, Fazla mesai raparu, Ücret ödenek listeleme GDPR-Finansal çok gizli bilgi seçili kullanıcılara gösterilir.
  • E-Devlet ayarlarınızı ve şablonlarınızı kontrol edin, güncelleyin.
  • Eski sürümlerde şablonlar objects/xslt klasöründe yer alır. Yeni sürümler şablonları documents/e_goverment/xslt klasöründen alır. Şablonların doğru klasörde olduğunu kontrol edin, gerektiğinde yeniden oluşturun veya taşıyın.
  • E-Fatura şablonlarınız özelleştirilmemiş ve standart kullanım ise Workdev > WO içerisinde aşağıdaki üç WO'nun dosya yolunun doğruluğunu kontrol edin.
    • invoice.popup_preview_invoice > File Path: e_government/display/preview_invoice.cfm
    • popup_create_xml_earchive > File Path: e_government/display/create_xml_earchive.cfm
    • popup_create_xml > File Path: e_government/display/create_xml.cfm
  • E-Faturayı add options olarak kullanıyorsanız aşağıdaki düzenlemeleri yapın.
    •  Gelen E-Fatura, Mükellef Aktarım ve E-Fatura Durum Sorgula özel raporunda component kullanımlarında "v16.objects.cfc.einvoice" yolunu "v16.e_government.cfc.einvoice" olarak değiştiriniz.
  • İK İzin onay mekanizmalarının dinamik süreç yönetimi geçmesi nedeniyle aşağıdaki kontrolleri yapın.
    • Onay süreçlerini tanımlayınız. Varsa action file'larını güncelleyiniz.Yoksa standart action file'larından sürecinize uygun olan action file'ı tanımlayınız.
    • İzin sürelerini güncelleyiniz.(Öğleden Önce Yarım günlük izin süresi , Öğleden Sonra Yarım günlük izin süresi)
    • IK İzin detay sayfası XML'i şirket çalışma saatlerinize göre düzenleyiniz. (Her bir şirket için XML düzenlenmelidir)
    • Parametrelerden İzin ve Mazeret kategorileri için varsa üst kategori tanımı yapınız. İzine maximum süre belirleyip hakedileni izin ekranlarında gösterimini sağlayabilirsiniz.
  • Ek Ödenek için İşlem Kategorisi ve Süreç tanımlayınız. 

Tavsiye:
Production sunucusunun olduğu dizine production veri tabanına bağlı "qa.domain" ile test yapabileceğiniz bir Workcube kurun. Yeni sürümleri öncelikle buraya alın. Geçişlerde bir yeni bir eski sürümünüz olsun. Böylelikle özelleştirmiş kodlar, sektörel eklentiler veya olası hatalar iş sürekliliğine zarar vermez.

QA ve Production siteler aynı veri tabanına bağlandığı için db erişim sağlanır. Ancak şablonlar, süreç kodları ve dijital arşiv için documents pathinin QA kurulumu için ayarlanması gerekir.

Sürümler arası geçişte test aşamasını 1 haftadan az tutmayın. Aynı işi her iki sürümde de kullanıcılara yaptırın. Mission Critical işlerinizi kontrol etmiş olursunuz.



UPGRADE  SORULAR VE CEVAPLAR

  1. Sürüm notları sayfasını görüntülerken hata alıyorum ne yapmalıyım?
    Bu sorun genellikle sisteminizin çevrimdışı modda yani internet erişimine kapalı olarak çalıştığında yaşanır. Bu sorunu ortadan kaldırmak için en basit yöntem sisteminizi internet erişimine açmaktır. Bu mümkün değilse networg.workcube.com ve devcatalyst repo ortamına erişim yetkisi vermeniz gerekir.
     
  2. Masterdan geçişte parametre ayarları yapılandırma form sayfasında ya da parametre ayarlarını kaydederken hata alıyorum ne yapmalıyım?
    Bu sorun genellikle sisteminizin ilk kurulduğunda Lisans bilgileri kayıt atılmamasından kaynaklı olarak yaşanır. Workcube'e müracaat ediniz.
     
  3. Sürüm geçişi sırasında standart dosya geliştirimlerini geri alırken sorun yaşıyorum ne yapmalıyım?
    Eğer sisteminizdeki herhangi bir dosya Türkçe ya da özel karakterler içeriyorsa Upgrade sistemindeki discard işlemi bu dosyaları discard edemeyebilir. Bir diğer dikkat edilmesi gereken durum da herhangi bir dosyayı direkt olarak dizinden sildiyseniz bu silme işlemini git algılar, sürüm sistemi de bunu discard etmenizi bekler.

    Yukarıda saydığım 2 durum birden yaşanıyorsa manuel müdahele gerekir. Manuel müdahaleyi 2 şekilde yapabilirsiniz.
    git commands ya da sourcetree-github gibi araçlarla dosyayı discard etmelisiniz.
     
  4. Workcube güncel sürümüne geçişte hata alıyorum ne yapmalıyım?
    Sürüm geçişi ve patch alımlarında git üzerinde branch değişiklikleri ya da pull işlemleri yapılır. Dolayısıyla global git üzerinden windows üzerinde komutlar çalıştırılır. Bu aşamada yaşanabilecek sorunlar genellikle git'in global olarak kurulmamasından kaynaklı olarak gerçekleşir.

    Eğer global bir kurulum yapılmadıysa ya da global kurulup kurulmadığını kontrol etmek istiyorsanız bağlantıdaki makaleyi inceleyebilirsiniz.
    https://stackoverflow.com/questions/26620312/installing-git-in-path-with-github-client-for-windows/49698535#49698535

    Bir diğer dikkat etmeniz gereken nokta ise işletim sisteminizin Git'e sistem ana dizininde yazma yetkisi verip vermediğidir.
    Yetkileri Proje ana dizininize sağ tık > özellikler > güvenlik  > Grup ya da Kullanıcı adları altından kontrol edebilir ve eğer yetki yoksa düzenleye tıklayarak yetki verebilirsiniz.
     
  5. Karşılaştırma şemalarının kurulumu ekranında aşamalardan bazıları hata veriyor ne yapmalıyım?
    Eğer karşılaştırma şema kurulumlarının herhangi bir aşamasında bayrak ikonu kırmızı yandıysa, bayrak ikonunun üzerine tıklayarak hatanın sebebini öğrenebilirsiniz
    Bu aşamada yaşanan başlıca hata sql ya da cf kullanıcı bilgilerinin doğru girilmemiş olmasından kaynaklı olarak gerçekleşir. CF kullanıcı şifreniz hatalıysa Coldfusion'da datasource bağlantınız yapılamaz ve girdiğiniz sql bilgileriyle login bağlantısı kurulamaz. Bu aşamada yaşanabilecek diğer bir hata sebebi ise parametre ayarları sayfasında SQL Server ip ya da port bilgilerinin doğru olarak girilmemiş olmasıdır. Sql server ip ya da port bilgileri hatalıysa upgrade sistemi karşılaştırma şemalarını veritabanınıza kuramaz. Eğer bu bilgilerin hatalı olduğunu düşünüyorsanız, upgrade işlemini baştan başlatarak parametre ayarları sayfasında bilgileri doğru olarak girmelisiniz.
     
  6. Solution, Family, Module, Object, Language vs. alınırken aşamalardan birinde hata alıyorum ne yapmalıyım?
    Bu sorun genellikle sisteminizin çevrimdışı modda yani internet erişimine kapalı olarak çalıştığında yaşanır. Bu sorunu ortadan kaldırmak için en basit yöntem sisteminizi internet erişimine açmaktır. Bu mümkün değilse dev.workcube.com ve release.workcube.com adresine erişim yetkisi vermeniz gerekir.

Geri Bildirim

Bu içeriği faydalı buldunuz mu?
İlişkili İçerikler