Page History
...
Aşağıdaki gibi eklentinin yüklenme durumu gözlemlenir.
Aktivite Oluşturulması
- Visual Studio’da New Project üzerinden “LFlow.Custom.Activity” template seçilir.
- Oluşturulan proje detayı aşağıdaki gibidir:
- 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.
- 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.
- İş 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.
- Akış için gerekli değişken ve parametreleri tanımlanabilinmektedir.
- “NCustomActivityExpressionVariable” attribute ile oluşturulduğunda roslyn editör ile istenilen c# kodu yazılıp sonuç döndürülmesi sağlanabilir.
- “TypeConverter(typeof(ExpandableObjectConverter))” attribute ile oluşturulduğunda sınıf (nesne) olarak parametere alınabilir.
- “TypeConverter(typeof(StringConverter))” standart tipli değişken dönüşümleri için.
- “Editor(typeof(BrowseForFolderEditor), typeof(DialogPropertyValueEditor))” dosya seçim ekranını açıp, değer seçilmesini sağlamaktadır.
- Testleri ve geliştirimi tamamlanan özelleştirilmiş aktivite projesi sağ tıklanarak Publish edilebilir.
- .lflowcustom uzantılı bir dosya belirtilen dosya yoluna oluşturulur.
...
Tasarım Aracı Üzerinde Özelleştirilmiş Aktivite Kullanımı
- LogoFlow tasarım aracı “Akış” altında “Özelleştirilmiş Aktiviteler” açılır.
- Önceden eklenmiş paketler burada görüntülenir. Yeni aktivite paketleri de “İçeri Aktar” ile aktarılır.
- Özelleştirilmiş aktivite paketi eklendikten sonra tasarım aracının sol menüsündeki akvite listesine tanımalanan yeni aktiviteler özellikleri ile birlikte kullanılabilir.
- Oluşturulan aktiviteler için parametre ekran ayarları.
...
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.Not : Yukarıdaki örnekler için oluşturulmuş projelere ulaşabilir, kullanabilir durumda.
Ayrıca oluşturulan *.nxm ve *.lflowcustom dosyalarına aşağıdan ulaşabilirsiniz.
Portal Üzerinden Görüntülenmesi
- 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.
- İş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ış oldu.
Ö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.