• 021-88506754
  • این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید
  • شنبه تا چهارشنبه از 09:00 تا 17:30

راهنمای توسعه دهندگان CRM قسمت سوم

امتیاز کاربران

ستاره فعالستاره فعالستاره فعالستاره فعالستاره فعال
 

در این قسمت سعی شده نمونه کدهای صحیح برای توسعه Pluign ارائه شود.

از متغیرهای سطح کلاس در افزونه ها استفاده نکنید:

نمی توانم حساب کنم که چند بار این مسئله باعث تولید شده است.تحت بارهای خاص،در نهادهای خاص، متغیرهای سطح IPlugin می توانند خطاهای غیر قابل پیش بینی و عجیبی ایجاد کنند.اشکال زدایی و ردیابی آن غیرممکن است.علاوه بر این،به راحتی منجر به یکپارچگی داده ها می شود.از موارد زیر خودداری کنید:

public class MyPlugin : IPlugin
{
    private IOrganizationService service;   // bad!
 
    public void Execute(IServiceProvider serviceProvider)
    {
var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
var serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
 service = serviceFactory.CreateOrganizationService(null);
    }
}

از threading در Plugin استفاده نکنید:

پلاگین ها از نظر threading ایمن نیستند. استفاده از «قفل» ، «threads» یا موارد مشابه در افزونه ها باعث رفتار غیرمنتظره ای مشابه متغیرهای سطح کلاس می شود.

برنامه های وب را از CRM جدا کنید:

در نسخه های قدیمی CRM ، قبلا پوشه ای وجود داشت که ISV ها می توانستند برنامه های خود را تحت CRM میزبانی کنند. دیگر مسئله این نیست.علاوه بر این،میزبانی از برنامه های غیر CRM تحت CRM در IIS می تواند موارد متناقضی ایجاد کند پس بهتراست از آن اجتناب کنید.سرانجام،این موضوع امنیت بهتری را فراهم می کند.

مالکیت را در ایجاد موجودیت تعریف کنید:

من این را بارها دیده ام:برخی از توسعه دهندگان با عجله مالکیت موجودیت را به جای User / Team روی سازمان قرار می دهند.متأسفانه،این امر به راحتی قابل اصلاح نیست،که بعداً هنگام نیاز به استفاده از امنیت در سطح کاربر،دردسر زیادی ایجاد می کند.تنظیم مالکیت سازمان فقط به موجودیت هایی که هرگز متعلق به کاربران نخواهند بود مناسب خواهد بود.به عنوان مثال: کشورها.

همه گزینه های ایجاد موجودیت را غیرفعال کنید:

بعد از ایجاد موجودیت ، برخی از گزینه ها دیگر غیرفعال نمی شوند.به عنوان مثال ، اگر Business Process Flows را فعال کنید ، زمینه ها و موجودیت هایی ایجاد می شود که بعداً قابل حذف نیستند ، و این می تواند سیستم را بی مورد شلوغ کند.گزینه های گفته شده معمولاً این علامت «†» را ضمیمه می کنند.


© 2020 شرکت پرسام. کلیه حقوق برای شرکت ویستا سیستم پرسام محفوظ است.