Microsoft Dynamics 365 -Alternate Keys

Dynamics CRM’ e yeni gelen özelliklerden biri Alternate Keys – Alternatif Anahtar. Bu özellik sayesinde iki yada daha fazla organizasyondaki verileri sağlıklı bir şekilde senkronize edebiliyoruz. Dahası bu özelliği duplicate detection olarak da kullanabiliriz. Çünkü her kayıt için alternatif anahtar benzersiz olmak zorunda. Dikkat edilmesi gereken kısım ise alternatif anahtar olarak seçtiğimiz alan için benzer bir kayıt giremeyeceğimiz. Yani Contact varlığının PhoneNumber alanını alternate key olarak tanımlarsak aynı telefon numarasına sahip iki farklı kayıt oluşturamayacağız. Şimdi bu Alternatif Anahtar özelliğini kullanalım:

İlk önce Customization’ ı açıp Contact varlığımıza gidelim.

Daha sonra yukarıdan “New” diyoruz.

FirstName, LastName ve Email seçip add dedikten sonra kaydedip kapatıyoruz. Şimdi daha önce yarattığımız aynı isme ve eposta adresine sahip bir kayıt yaratmaya çalıştığımızda aşağıdaki hatayı alacağız.

Alternate Key Bilinmesi Gerekenler:

  • Alternatif anahtar birden fazla alanın birleşiminden oluşabilir.
  • Fazla miktarda veriniz varsa alternatif anahtar oluşturulması – o alan üzerinde mükerrer kayıt olup olmadığını kontrol ettiği için- uzun sürebilir.
  • Alternatif anahtar benzersiz olması gerektiğinden benzer değere sahip bir kayıt oluşturamazsınız.
  • Alternatif anahtar olarak belirlenmiş alanlardan mükerrer olan kayıtlar var ise alternatif key oluşturma işlemi başarısız olur. Bu işlemin başarılı olup olmadığını kontrol etmek için Contact>Keys kısmından oluşturduğumuz alternate key kaydının durumu(status) aktif olmalıdır.
  • Alternate Key veritabanı seviyesinde uniq nonclustered index oluşturur.

CREATE UNIQUE INDEX [ndx_for_entitykey_packt_NameandEmail]
ON [ContactBase]
([EMailAddress1] ASC, [FirstName] ASC, [LastName] ASC)
INCLUDE ([ContactId])
WHERE [EMailAddress1] is not null
AND [FirstName] is not null
AND [LastName] is not null
WITH (FILLFACTOR = 80, MAXDOP = 4, SORT_IN_TEMPDB = ON)

Kaynak:

Ms Crm 2015 Hesaplanan Alan

{:tr}Dynamics Crm 2013′ de hesaplama yapıp bu hesaplanan veriyi oluşturduğumuz alanda göstermek için javascript  kod yazmaktan başka çaremiz yoktu. Ms Crm 2015 ile birlikte ‘Hesaplanan Alan’  diye bir özellik geldi. Bu özellik sayesinde artık veriyi istediğimiz gibi hesaplatıp alan türü “Hesaplanan” olan alanımıza yazdırabiliyoruz.  Hemde tek satır kod yazmadan. Bunun için önce alanımızın türünü “Hesaplanan” olarak seçmemiz gerekiyor. Sırasıyla yapalım:

  • Yeni bir alan oluşturuyoruz. Alan türünü “Hesaplanan” olarak seçiyoruz.

    Ms Crm 2015 Calculated Field(Hesaplanan Alan)

    Ms Crm 2015 Calculated Field(Hesaplanan Alan)

    Hesaplanan olarak seçtiğimizde hemen yanında “Düzenle” isimli bir buton çıkıyor ona tıklıyoruz.
    NOT: Düzenle butonuna tıkladığımız anda yeni alan oluşturuluyor.

  • Karşımıza artık alanımızın hangi koşullarda hesaplanacağını belirtebileceğimiz tasarım sayfası geliyor.

    Ms Crm 2015 Calculated Field Design Page (Hesaplanan alan tasarım sayfası)

    Ms Crm 2015 Calculated Field Design Page (Hesaplanan alan tasarım sayfası)

  • Aşağıdaki gibi koşulları yazıyoruz. Tabiki siz kendi senaryonuza göre değiştirebilirsiniz.

    Ms Crm 2015 Calculated Field Logic

    Ms Crm 2015 Calculated Field Logic

  • Artık Data1 veya Data2 alanları veri içerdiğinde Bizim Total isimli türü “Hesaplanan Alan”  olan alanımızın değeri belirlediğimiz kurallara göre güncellenecektir.
  • Kullanılabilen Formüller:
    • Tek Satır Metin:
      • CONCAT
      • TRIMLEFT/TRIMRIGHT
        NOT: Birden fazla satır metin için malesef formül yok.
    • Seçenek Kümesi:
      Formül yok ancak aynı global  seçenek kümesi için hesaplama yaptırabiliyoruz.
    • Tarih ve Saat:
      • ADDDAYS/ADDHOURS/ADDMONTHS/ADDWEEKS/ADDYEARS
      • SUBTRACTDAYS/SUBTRACTHOURS/SUBTRACTMONTHS/SUBTRACTWEEKS/SUBTRACTYEARS
    • (+, -, *, /)

Kaynak:

http://mscrmtutorials.blogspot.com.tr/2014/11/calculated-field-in-dynamics-crm-2015.html

http://blog.sonomapartners.com/2014/09/dynamics-crm-2015-calculated-and-rollup-fields.html

http://community.dynamics.com/crm/b/crmvideos/archive/2014/10/21/rollup-and-calculated-fields-in-microsoft-dynamics-crm-2015.aspx

http://blogs.msdn.com/b/mvpawardprogram/archive/2014/12/15/dynamics-crm-2015-calculated-fields.aspx{:}{:en}Dynamics Crm 2013′ de hesaplama yapıp bu hesaplanan veriyi oluşturduğumuz alanda göstermek için javascript  kod yazmaktan başka çaremiz yoktu. Ms Crm 2015 ile birlikte ‘Hesaplanan Alan’  diye bir özellik geldi. Bu özellik sayesinde artık veriyi istediğimiz gibi hesaplatıp alan türü “Hesaplanan” olan alanımıza yazdırabiliyoruz.  Hemde tek satır kod yazmadan. Bunun için önce alanımızın türünü “Hesaplanan” olarak seçmemiz gerekiyor. Sırasıyla yapalım:

  • Yeni bir alan oluşturuyoruz. Alan türünü “Hesaplanan” olarak seçiyoruz.

    Ms Crm 2015 Calculated Field(Hesaplanan Alan)

    Ms Crm 2015 Calculated Field(Hesaplanan Alan)

    Hesaplanan olarak seçtiğimizde hemen yanında “Düzenle” isimli bir buton çıkıyor ona tıklıyoruz.
    NOT: Düzenle butonuna tıkladığımız anda yeni alan oluşturuluyor.

  • Karşımıza artık alanımızın hangi koşullarda hesaplanacağını belirtebileceğimiz tasarım sayfası geliyor.

    Ms Crm 2015 Calculated Field Design Page (Hesaplanan alan tasarım sayfası)

    Ms Crm 2015 Calculated Field Design Page (Hesaplanan alan tasarım sayfası)

  • Aşağıdaki gibi koşulları yazıyoruz. Tabiki siz kendi senaryonuza göre değiştirebilirsiniz.

    Ms Crm 2015 Calculated Field Logic

    Ms Crm 2015 Calculated Field Logic

  • Artık Data1 veya Data2 alanları veri içerdiğinde Bizim Total isimli türü “Hesaplanan Alan”  olan alanımızın değeri belirlediğimiz kurallara göre güncellenecektir.
  • Kullanılabilen Formüller:
    • Tek Satır Metin:
      • CONCAT
      • TRIMLEFT/TRIMRIGHT
        NOT: Birden fazla satır metin için malesef formül yok.
    • Seçenek Kümesi:
      Formül yok ancak aynı global  seçenek kümesi için hesaplama yaptırabiliyoruz.
    • Tarih ve Saat:
      • ADDDAYS/ADDHOURS/ADDMONTHS/ADDWEEKS/ADDYEARS
      • SUBTRACTDAYS/SUBTRACTHOURS/SUBTRACTMONTHS/SUBTRACTWEEKS/SUBTRACTYEARS
    • (+, -, *, /)

Kaynak:

http://mscrmtutorials.blogspot.com.tr/2014/11/calculated-field-in-dynamics-crm-2015.html

http://blog.sonomapartners.com/2014/09/dynamics-crm-2015-calculated-and-rollup-fields.html

http://community.dynamics.com/crm/b/crmvideos/archive/2014/10/21/rollup-and-calculated-fields-in-microsoft-dynamics-crm-2015.aspx

http://blogs.msdn.com/b/mvpawardprogram/archive/2014/12/15/dynamics-crm-2015-calculated-fields.aspx:

MS CRM 2015 Multi Entity Search (Çoklu Arama)

Ms Crm 2015 ile gelen beklenen özelliklerden olan Çoklu Arama (Multi-Entity Search) kullanıcıların birden fazla varlıkta arama yapmalarına olanak sağlıyor.

Çoklu Arama (Multi-Entity Search) ayarlarına Ayarlar>Yönetim>Sistem Ayarları menüsünden ulaşabiliyoruz.

Ms Crm 2015 Multi Entity Search

Ms Crm 2015 Multi Entity Search

Bu kısımda 2 seçenek mevcut:

  • Hızlı Bul kayıt sınırlarını etkinleştir: Önceki sürümlerde de bulunan hızlı bul arama sonuçlarını  performans için 10000 kayıt ile sınırlandırmamıza olanak sağlayan seçenek.
  • Aranacak varlıkları seçin:  Bu kısımda arama yapılacak varlıkları seçiyoruz.

Okumaya devam et

MS CRM 2015/2013 Kullanıcıları Aktarma

Ms Crm 2013/2015′ de kullanıcı oluşturmanın birçok yolu var. Standart yöntemlerin aksine burada Import aracı ile kullanıcı almaya bakacağız.

Crm Import Aracı ile Kullanıcı alırken bilinmesi gerekenler

  1. CRM On Premise için: ‘Kullanıcı Adı’ alanı domain adını da içermelidir.(domainkullanıcıadı).
  2. CRM Online için: ‘Birincil Email’ alanı dolu olmalı.
  3. ‘Adı’ ve ‘Soyadı’ alanı dolu olmalı.
  4. Mailbox ayarları default import template’inde bulunmamasına rağmen template’ e eklenip import esnasında map edilebilir.
  5. Import edilen kullanıcılar CRM’ de disabled olacak. (Daha sonra kullanıcıları seçerek  toplu olarak aktifleştirebiliriz.)
  6. Import esnasında kullanıcılarda business unit ile ilgili bir değişiklik yapamıyoruz. Kullanıcılar varsayılan olarak root business unit’ e atanır(Daha sonra kullanıcıları seçerek toplu olarak business unitlerini değiştirebiliriz).
  7. Import edilen kullanıcılara varsayılan olarak ‘Salesperson’ rolü atanır. Eğer bu rolü sildiyseniz import işlemi başarısız olur. Gerekirse bu rol başka bir crm organizasyonundan alınabilir.

Kullanıcı Import Şablonu

Import edebilmemiz için öncelikle kullanıcı import şablonunu almamız gerekiyor. Bunun için (CRM 2015) Ayarlar>Güvenlik>Kullanıcılar daha sonrada sağ üstteki veri ala tıklayıp açılan menüden ‘Alma İçin Şablonu Karşıdan Yükle’ diyoruz.

Ms Crm Kullanıcı Import Ekleme

Ms Crm Kullanıcı Import Ekleme

Kullanıcıların Güvenlik Rollerini  Silme

Kullanıcılara toplu olarak güvenlik rolü atayabiliyoruz ama toplu olarak güvenlik rolü silemiyoruz. Fakat kullanıcının ‘Business Unit’ ini değiştirdiğimiz taktirde güvenlik rollerinden kurtulabiliyoruz.

  1. Eğer 2 veya daha fazla ‘Business Unit’ yoksa oluşturmalıyız. Daha sonra silebiliriz.
  2. Güvenlik rolünü silmek istediğimiz kullanıcıları seçip departmanı değiştire tıklıyoruz.
  3. Kullanıcıları geçici departmanını değiştirip sonra eski departmanına geri atıyoruz.
  4. Artık geçici olarak değiştirdiğimiz departmanımızı silebiliriz.

Kaynak

{:}{:en}

Ms Crm 2013/2015′ de kullanıcı oluşturmanın birçok yolu var. Standart yöntemlerin aksine burada Import aracı ile kullanıcı almaya bakacağız.

Crm Import Aracı ile Kullanıcı alırken bilinmesi gerekenler

  1. CRM On Premise için: ‘Kullanıcı Adı’ alanı domain adını da içermelidir.(domainkullanıcıadı).
  2. CRM Online için: ‘Birincil Email’ alanı dolu olmalı.
  3. ‘Adı’ ve ‘Soyadı’ alanı dolu olmalı.
  4. Mailbox ayarları default import template’inde bulunmamasına rağmen template’ e eklenip import esnasında map edilebilir.
  5. Import edilen kullanıcılar CRM’ de disabled olacak. (Daha sonra kullanıcıları seçerek  toplu olarak aktifleştirebiliriz.)
  6. Import esnasında kullanıcılarda business unit ile ilgili bir değişiklik yapamıyoruz. Kullanıcılar varsayılan olarak root business unit’ e atanır(Daha sonra kullanıcıları seçerek toplu olarak business unitlerini değiştirebiliriz).
  7. Import edilen kullanıcılara varsayılan olarak ‘Salesperson’ rolü atanır. Eğer bu rolü sildiyseniz import işlemi başarısız olur. Gerekirse bu rol başka bir crm organizasyonundan alınabilir.

Okumaya devam et

MS CRM 2013 Asynchronous Solution Import – Asenkron Çözüm Alma

Çözümleri sistemimize import  ederken genellikle sistem yavaşlar ve bu süre içerisinde bir işlem yapamayız. Ms Crm 2013 ile artık asenkron olarak çözümlerimizi import edebiliyoruz. Ne yazikki şuan sadece kod tarafında bu işlem mümkün. Crm arayüzünden yaptığımız import işlemi senkron olarak devam etmekte.

Öncelikle  ExecuteAsyncRequest  isimli  asenkron olan process’ i kullanacağız. ExecuteAsync  request’imizi Organization Service kullanarak  gönderip  mesajımızın  asenkron bir iş olarak işleme koyulmasını sağlıyoruz. Gönderdiğimiz asenkron işin idsini elde ettiğimiz zaman çözümümüzün başarıyla veya başarısız olarak  import edildiğini anlıyoruz.

Örnek:

ExecuteAsyncRequest request = new ExecuteAsyncRequest
{
Request = new ImportSolutionRequest
{
//sıkıştırılmış çözümümüzün dosya yolunu veriyoruz
CustomizationFile = File.ReadAllBytes(solutionFilePath),

PublishWorkflows = true,
//yönetilmeyen çözümümüzün var olan çözümün üzerine yazılması için yetki veriyoruz
OverwriteUnmanagedCustomizations = true,

}
};

ExecuteAsyncResponse response = (ExecuteAsyncResponse)_service.Execute(request);
Burada aşağıdaki gibi asenkron işimizin id sini alıyoruz.

Mscrm solution import

Mscrm solution import

Veya sistem işlerinden oluşturulan job’ u bulup çözümümüzün başarılı bir şekilde import edilip edilmediğine bakabiliriz. Asenkron olarak çözümlerimizi aldığımız zaman sistemimiz kitlenmez ve kullanıcıların sürekli timeout almasını engellemiş oluruz.

Kaynak{:}{:en}Çözümleri sistemimize import  ederken genellikle sistem yavaşlar ve bu süre içerisinde bir işlem yapamayız. Ms Crm 2013 ile artık asenkron olarak çözümlerimizi import edebiliyoruz. Ne yazikki şuan sadece kod tarafında bu işlem mümkün. Crm arayüzünden yaptığımız import işlemi senkron olarak devam etmekte.

Öncelikle  ExecuteAsyncRequest  isimli  asenkron olan process’ i kullanacağız. ExecuteAsync  request’imizi Organization Service kullanarak  gönderip  mesajımızın  asenkron bir iş olarak işleme koyulmasını sağlıyoruz. Gönderdiğimiz asenkron işin idsini elde ettiğimiz zaman çözümümüzün başarıyla veya başarısız olarak  import edildiğini anlıyoruz.

Örnek:

ExecuteAsyncRequest request = new ExecuteAsyncRequest
{
Request = new ImportSolutionRequest
{
//sıkıştırılmış çözümümüzün dosya yolunu veriyoruz
CustomizationFile = File.ReadAllBytes(solutionFilePath),

PublishWorkflows = true,
//yönetilmeyen çözümümüzün var olan çözümün üzerine yazılması için yetki veriyoruz
OverwriteUnmanagedCustomizations = true,

}
};

Okumaya devam et

MS CRM Environment Diagnostics

Dynamics CRM(on-premise) yüklerken veya varolan organizasyonumuzu import ederken hata veya sorunla karşılaşmamız için birtakım kontroller gerçekleştirir ve olası sorun ve hataları gösterir.

Eğer bu hata mesajına çift tıklarsak help dosyası açılır ve hatanın detayını görebiliriz. İşte bu help dosyasının bulunduğu kısım :

C:Program FilesMicrosoft Dynamics CRMToolsEnvironmentDiagnostics.chm

Kuruluma veya organizasyonu import etmeden önce bu yardım dökümanına göz atmakta fayda var.

Kaynak

MS CRM 2013 Access Teams – Erişim Takımları

Erişim Takımları(Access Teams) Microsoft Dynamics CRM 2013 ile beraber gelen özelliklerden olup varlıklar için ayrıcalıkları ve izinleri  CRM ‘ de tanımlamız için bize yeni bir yol sunuyor.

Nasıl Kullanılır?
Sistemi özelleştirden erişim takımlarını kullanmak istediğimiz varlığa gidip Erişim Takımlarını aktif hale getirmeliyiz.
NOT: Bir kere aktifleştirildiğinde bu değişiklik geri alınamıyor.

Erişim Takımları
Erişim Takımları
Şimdi ise Firma varlığımızda kullanmak istediğimiz erişim takımlarını oluşturmalıyız. Bunun için Ayarlar>Yönetim>Erişim Takımı Şablonlarına gitmeliyiz.
Erişim Takımı Şablonları

Buradan yeni diyerek Erişim Takımı Şablonu oluşturacağız. Karşımıza gelen ekranda varlık kısmında önceki adımlarda Erişim Takımını hangi varlık için aktif ettiysek onu seçmeliyiz.
NOT: Eğer hiçbir varlık gözükmüyorsa hiçbir varlık için erişim takımları aktif edilmemiş demektir.

Yeni Takım Şablonu

Daha sonra firma varlığımızın form tasarımına gelerek bir adet alt ızgara yani Subgrid’ e  tıklayalım.

Alt Izgara

Aşağıdaki ayarlar ile Subgrid oluşturalım.

Alt Izgara Özellikler
Not: Eğer varsayılan görünüm kısmında “İlişkili Kayıt Takım Üyeleri” seçeneğini seçmez isek takım şablonu alanı aktif olmaz.
 
Not:Eğer oluşturulan Erişim Takımlarını Ayarlar/Yönetim/Takımlar içerisinde bulmaya çalıştığında olmadığını farkedeceksiniz. Bu oluşturulan takımları bulmak için gelişmiş buldan takımlarda arama yapabilirsiniz. Oluşturulan takımların Takım Türü: Erişim ve Takım adları GUID den oluşmakta.
Örneğin:
Erişim Takımı Adı
 
NOT: Erişim takımlarına yazılım yoluyla kullanıcı eklemek için SDK ya AddUserToRecordTeamRequest mesajı eklendi. Kullanımı:
AddUserToRecordTeamRequest adduser = new AddUserToRecordTeamRequest()

{
    Record = recordID,
    SystemUserId = sysUserID,
    TeamTemplateId = teamTemplateID
};
// Execute the request.
AddUserToRecordTeamResponse response =
(AddUserToRecordTeamResponse)service.Execute(adduser);
Kaynak:

{:}{:en}Erişim Takımları(Access Teams) Microsoft Dynamics CRM 2013 ile beraber gelen özelliklerden olup varlıklar için ayrıcalıkları ve izinleri  CRM ‘ de tanımlamız için bize yeni bir yol sunuyor.

Nasıl Kullanılır?
Sistemi özelleştirden erişim takımlarını kullanmak istediğimiz varlığa gidip Erişim Takımlarını aktif hale getirmeliyiz.
NOT: Bir kere aktifleştirildiğinde bu değişiklik geri alınamıyor.

Erişim Takımları
Erişim Takımları

Okumaya devam et

MS CRM 2013 Entity Image

CRM 2013′ ün yeni özelliklerinden biri de artık kayıtlarımıza(firma logosu, profil resimleri, ürün resimleri gibi ) resim ekleyebiliyor olmamız.

NOT: Her valıkta bir adet resim alanımız olabiliyor. Eğer ikincisini eklemeye kalkıştığımızda hata alıyoruz.

Tüm özel varlıklarımıza resim alanı ekleyebiliyoruz. Ama sistem varlıklarında bu durum kısıtlı. Aşağıda hangi sistem varlıklarında resim alanı olduğunu görebilirsiniz. Okumaya devam et

MS CRM 2013 Business Rules – İş Kuralları

Yeni: MS CRM 2015 İş Kuralları (Business Rules) yazısı için tıklayınız.

Microsoft Dynamics Crm 2013 yeni özelliklerinden Business Rule (İş Kuralları) formlarınızda JavaScript kodu yazmadan iş kuralları oluşturmanıza olanak sağlar. Sunduğu arayüz ile hızlı bir şekilde  Ana Görünüm ve Hızlı Görünüm formlarında sık kullandığınız iş kurallarınızı oluşturup düzenleyebilirsiniz.

Not: Dynamics CRM 2015’de iş kuralı oluştururken kapsam olarak “Varlık” seçersek artık server side taraflı çalışabiliyor. Yani iş kuralları sadece CRM arayüzünden yaptığımız değiştikliklerde değil yazılımsal olarak yaptığımız değişikliklerde de (Workflow ve plugin gibi) server side çalışabiliyor. (Kaynak)

İş Kuralları İle Yapılabilecekler:

    • Alanların değerlerini değiştirebilirsiniz.
    • Alanların gerekliliklerini değiştirebilirsiniz.
    • Alanları gösterip gizleyebilirsiniz.
    • Alanları formda gösterip gizleyebilirsiniz.
    • Alanların değerlerini doğrulayıp fomda hata mesajı gösterilmesini sağlayabilirsiniz.
Basit bir örnek:

İlgili kişi formumuzda  “Tercih Edilen İletişim Yöntemi” isimli seçenek kümesi alanında seçilen değere göre alanlarımızı gizleyip gösterelim. Alanımızda aşağıdaki değerler olsun:

Yeni İlgili Kişi
Ms Crm 2013 Option SetEğer E-Posta alanı seçilirse Telefon alanını gizleyelim. Öncelikle Sistemi Özelleştir formumuzu açalım. Ve İlgili Kişi varlığımızı seçip İş Kurallarından Yeni’ ye tıklayalım.
İş Kuralları Özelleştirme

İş Kuralımızın adını ve kurallarımızı yazalım.

İş Kuralları Oluştur
Aşağıdaki kuralları isteğinize göre değiştirebilirsiniz. Örnek olması açısından basit olsun istedim.
İş Kuralları Etkinleştir

Artık iş kuralımızı aktifleştirdiğimizde. Tercih edilen bağlantı yöntemini “E-Posta” seçer isek  “Cep Telefonu” alanı gizlenecek.

Kaynak:
http://msdn.microsoft.com/en-us/library/dn481574(v=crm.6).aspx
https://community.dynamics.com/crm/b/crminogic/archive/2014/10/06/business-rule-updates-in-dynamics-crm-2015.aspx

Creating If Then Else Logic in CRM 2013 Business Rules

Become a Pseudo-Developer with Business Rules in CRM 2013

{:}{:en}Yeni: MS CRM 2015 İş Kuralları (Business Rules) yazısı için tıklayınız.

Microsoft Dynamics Crm 2013 yeni özelliklerinden Business Rule (İş Kuralları) formlarınızda JavaScript kodu yazmadan iş kuralları oluşturmanıza olanak sağlar. Sunduğu arayüz ile hızlı bir şekilde  Ana Görünüm ve Hızlı Görünüm formlarında sık kullandığınız iş kurallarınızı oluşturup düzenleyebilirsiniz.

Not: Dynamics CRM 2015’de iş kuralı oluştururken kapsam olarak “Varlık” seçersek artık server side taraflı çalışabiliyor. Yani iş kuralları sadece CRM arayüzünden yaptığımız değiştikliklerde değil yazılımsal olarak yaptığımız değişikliklerde de (Workflow ve plugin gibi) server side çalışabiliyor. (Kaynak)

İş Kuralları İle Yapılabilecekler: Okumaya devam et