Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Özelleştirilmiş Aktivite (Custom Activity) yazabilmek için izlenmesi gereken adımlar, hazırlanmış bir aktiviteyi içeri alma işlemleri ve konu ile ilgili hazır paket örnekler aşağıdaki gibidir:

Panel

Table of Contents

Panel
borderStyledashed

Kurulum

  1. Custom Function için gerekli template ve yardımcı uygulamalar için visual studio'ya ilgili Framework versiyonuna göre aşağıda paylaşılan eklentinin çalıştırılması gerekmektedir. 

Framework 4.6 versiyonu için eklenti dosyası

Framework 4.8 versiyonu için eklenti dosyası


2. Kurulum tamamlandıktan sonra Visual Studio uygulamasını açıp, aşağıdaki menü üzerinden Extensions And Updates ekranını açılır.



Aşağıdaki gibi eklentinin yüklenme durumu gözlemlenir.

Panel
borderStyledashed

Aktivite Oluşturulması

  1. Visual Studio’da New Project üzerinden “LFlow.Custom.Activity” template seçilir.
  2. Oluşturulan proje detayı aşağıdaki gibidir:
  3. Açılan projede aktivite tasarımı için örnek sınıflar yer almaktadır.
    Üç farklı tipte aktivite tasarlanabilir:
    • CustomBaseActivity :  İş akış bu aktivite adımına geldiğinde “Execute” metodu çalıştırılır ve akış sonraki adıma geçer. Bu adımda flow değişkenlerinin değerinde değişiklik yapılırsa sonraki adımda yeni değerler görünür.
      Bu tip aktivite oluşturmak için oluşturulacak sınıf, INCustomBaseActivity interface’inden türetilmelidir.
    • AjmBMCustomActivity : AJM aktiviteleri asenkron çalıştırılan aktivitelerdir. İş akış bu aktivitenin adımına geldiğinde, ajm servis üzerinden bu aktivite adımı çalıştırılır.
      Bu tip aktivite oluşturmak için oluşturulacak sınıf,  INAjmBMCustomActivity interface’inden türetilmelidir.
    • AjmTaskCustomActivity : AJM Task aktivitesi, asenkron olarak belli zaman aralıklarında tekrarlı şekilde bu aktivite içinde yer alan işlemlerin çalıştırılmasını sağlar. Tanımlanan görev ayarlarına bağlı olarak belli zamanlarda “Execute” metodu çalıştırılır.
      Bu tip aktivite oluşturmak için oluşturulacak sınıf,  INAjmTaskCustomActivity interface’inden türetilmelidir.
  4. İş akışı, özelleştirilmiş aktivite adımına geldiğinde “Execute” metodundaki işlemler çalıştırılır. Akış içerisindeki mevcut tüm değişkenler method a parametre olarak gelmektedir. Değişiklik yapıldığında ilgili değişken değerleri değişmesi sağlanmaktadır.
  5. Akış için gerekli değişken ve parametreleri tanımlanabilinmektedir.
    1. “NCustomActivityExpressionVariable” attribute ile oluşturulduğunda roslyn editör ile istenilen c# kodu yazılıp sonuç döndürülmesi sağlanabilir.
    2. “TypeConverter(typeof(ExpandableObjectConverter))”  attribute ile oluşturulduğunda sınıf (nesne) olarak parametere alınabilir.
    3. “TypeConverter(typeof(StringConverter))” standart tipli değişken dönüşümleri için.
    4. “Editor(typeof(BrowseForFolderEditor), typeof(DialogPropertyValueEditor))” dosya seçim ekranını açıp, değer seçilmesini sağlamaktadır.
  6. Testleri ve geliştirimi tamamlanan özelleştirilmiş aktivite projesi sağ tıklanarak Publish edilebilir.
  7. .lflowcustom uzantılı bir dosya belirtilen dosya yoluna oluşturulur.


Panel
borderStyledashed

İçeri Alma İşlemi ve Tasarım Aracı Üzerinde Özelleştirilmiş Aktivite Kullanımı

  1. LogoFlow tasarım aracı “Dosya->Aktar→Özelleştirilmiş Aktiviteler" bölümüne girilir.
  2. Önceden eklenmiş paketler burada görüntülenir. Yeni aktivite paketleri de “İçeri Aktar” ile aktarılır.
  3. Özelleştirilmiş aktivite paketi eklendikten sonra tasarım aracının sol menüsündeki aktivite listesine tanımlanan yeni aktiviteler özellikleri ile birlikte kullanılabilir.
      
  4. Oluşturulan aktiviteler için parametre ekran ayarları aşağıdaki gibidir:

 

Panel
borderStyledashed

Versiyon


Aynı özelleştirilmiş aktivite projesi için farklı versiyonlar oluşturulabilir.

Aktivitenin daha güncel bir versiyonu yüklendiğinde önceki versiyon ile başlatılmış olanlar o versiyon ile çalışmaya devam ederler. Özelleştirilmiş aktivitenin güncel versiyonu eklendikten sonra iş akış kaydedildikten sonra son versiyondan çalıştırılır.

Panel
borderStyledashed

Portal Üzerinden Görüntülenmesi

  1. Oluşturulan akış başlatıldığında, tasarlanan ekran üzerinden e-fatura dosya adı alınıp, E-Logo üzerinden bunun zip olarak indirilmesi. Sonrasında bunun içerisinden pdf dosyasının çıkartılıp, Ekran üzerinde link ile indirilebilir, gözlenebilir şekilde sonlandırılmasını içermektedir.



  2. İşlemler sırasında kulanılan file log activity ve signalr ile yazılmış anlık ileti özelliği ile akışın durumu izlenmiş, loglanmıştır:

Panel
borderStyledashed

Örnek İndir


Not
 : Yukarıdaki örnekler için oluşturulmuş projelere için oluşturulan *.nxm ve *.lflowcustom dosyalarına aşağıdan ulaşabilirsiniz.


Visual Studio Solution dosyası:


View file
nameActivitySample.zip
height150


Eklenti (Publisher Extension):


View file
nameLFlow.CustomActivity.Publisher.Extension.rar
height150


Özelleştirilmiş Aktivite (*.lflowcustom) dosyaları:

View file
nameLFlow.Custom.ELogo.ReadEInvoiceActivity_v1.0.0.1.lflowcustom
height150
View file
nameLFlow.Custom.ELogo.ReadEInvoiceActivity_v1.0.0.2.lflowcustom
height150
View file
nameLFlow.Custom.LogActivity_v1.0.0.1.lflowcustom
height150


Akış Paketi (*.nxm) dosyası:

View file
nameCA EInvoice Reader.nxm
height150