cub-e.net

just coding...

CRM 2011’de Create/Update/Delete Metodlarına Farklı Bir Bakış

Dynamics CRM'in iş dünyasının parlayan yıldızı olan ve her türlü iş platfomunun temeline yerleştirebilecek bir mimaride olduğunu her fırsatta anlatmaya çalışıyorum. Bu mimari üzerinde bizim kod geliştirmemizi ve sistem ile entegre olmamızı sağlayan web servisleri ve dll'ler vasıtasıyla yazma ve okuma işlemlerimizi gerçekleştirmekteyiz. Bugün sizlere daha önceden eski versiyonlar için de bahsetmiş olduğum oluşturma,  güncelleme ve silme metodlarının yapısını tekrar anlatacağım ama sonunda bunları Process isimli bir class'da birleştirip tek bir yerden yönetilmelerini sağlayacağız.

CRM servis nesnesi bize kayıtlar üzerinde işlem yapma özelliği sağlamaktadır. Servis içinden yapmak istediğimiz harekete uygun metodu çağırmamız gerekmektedir.
  Tabii burada unutulmaması gereken konu servisi çağıran kullanıcının çağrılan metodda işlem yapmaya yetkili olması gerekmektedir.

Create Metodu CRM 2011 içerisinde bir entity içerisinde yeni bir nesne oluşturmamıza olanak tanır. Metod parametre olarak entity türünden bir nesne alır ve yeni oluşturulmuş nesnenin GUID türünden değerini geri döndürür.

Aşağıdaki örnek bu metodun late-bound sınıfla kullanımını göstermektedir.

// Entity nesnesinin yeni bir instance’ini olusturuyoruz
Entity account = new Entity("account");
// Gerekli attribute’lara atama yapiyoruz.
account["name"] = "Örnek Firma";
// Örnek Firma adında bir firma karti olusturuyoruz.
_accountId = ioService.Create(account); 

Aşağıdaki örnek bu metodun early-bound sınıfla kullanımını göstermektedir.

Contact contact = new Contact()
{
    FirstName="Deneme",
    LastName="Kisisi",
    Address1_City="İstanbul",
};
Guid contactGuid =_service.Create(contact);

Update Metodu CRM 2011 içerisinde bir entity içerisinde bir nesneyi güncellememizi sağlar. Metod parametre olarak entity türünden bir nesne alır. Güncellenecek nesnenin id’si mutlaka parametre olarak verilmelidir.

Guid gContact = new Guid("7bE545CCD3-9A3A-E011-BA8B-78E7D1623F9D");
 
Contact contact = new Contact()
{
     ContactId = gContact,
     FirstName="Test",
     LastName="Kisisi",
     Address1_City="Ankara",
};
_service.Update(contact);

Delete Metodu CRM 2011 içerisinde Id’sini verdiğiniz bir nesneyi sistemden silmeye yarar. Metod parametre olarak silinecek nesnenin Id’si yanında bu nesnenin türünü ister.

Guid gContact = "7bE545CCD3-9A3A-E011-BA8B-78E7D1623F9D";
_service.delete("contact", gContact); 

Bir programcı olarak çok standart olan bu işlemleri isterseniz bir class mantığı altında birleştirelim. Bu sayede daha yönetilebilir bir CRUD (Create, Read, Update, Delete) yapısı oluşturabiliriz. Ben bu sınıf için Process adını kullandım ve Process sınıfı içerisinde şu anda Oluşturma, Güncelleme ve Silme işlerimi yapmaktayım. İlerleyen makalelerde Okuma yapılarını incelerken onları da bu sınıfa dâhil ederiz.

Burada öncelikle açıklamalıyım ki bir önceki makalede yer alan Singleton tasarım deseniyle CRM servisini oluşturma yazımdaki class’tan faydalanarak servisi çağırma işlemini gerçekleştirdim. O yazıyı okumak isterseniz buraya tıklayınız

Ek olarak hata olaylarını kontrol etmek için Result isimli bir class kullandım bu class’ın içeriği şu şekilde;

public class Result
    {
        public string Message { get; set; }
        public bool isError { get; set; }
        public Object BusinessObject { get; set; }
 
        public Result(string _Message, bool _isError, Object _BusinessObject)
        {
            Message = _Message;
            isError = _isError;
            BusinessObject = _BusinessObject;
        }
 
        public Result(string _Message, bool _isError)
        {
            Message = _Message;
            isError = _isError;
            BusinessObject = null;
        }
    }

Görüldüğü üzere çok basit bir class bize sonucun başarılı mı başarısız mı olduğunu döndürecek o kadar.

Bunun haricinde bir de Base isimli bir class’ım var ki Process sınıfını aslında bu class’dan türetmekteyim. Şu anda bu class’ı sadece ErrorNumber ve ErrorDetail gibi hata oluştuğunda bilgi almamızı sağlayacak iki property ile kullanmaktayım ama ileride farklı propertyler de eklenecek.

public class Base
{
    public int ErrorCode { get; set; }
    public string ErrorDetail { get; set; }
} 

Bu iki class’ımı açıkladıktan sonra asıl yapıda kullanacağımız metodlara gelelim. İlk önce create metodunu inceleyelim. Hatırlayacağınız üzere CRM servisinde Create metdonun Update metodundan tek farkı id’ye ihtiyaç duymamasıydı. Çünkü bu metod id’yi üretip bize geri döndürecek. Ben de kurguyu buna göre planladım.

public Result Create(Entity EntityForCreate)
       {
            try
            {
                Service service = Service.GetService();
 
                if (service == null)
                    throw new Exception("Service is null");
                if (service != null && service.ErrorCode > 0)
                    throw new Exception(service.ErrorDetail);
 
                Guid EntityID = service.OrganizationService.Create(EntityForCreate);
 
                DetailedLog.CreateLog("Entity Created! Type: " + EntityForCreate.LogicalName + ", ID : " + EntityID, 
                    System.Diagnostics.EventLogEntryType.Information);
 
                return new Result("", false, EntityID);
            }
            catch (Exception ex)
            {
                ErrorCode = 100;
                ErrorDetail = ExceptionHandler.HandleException(ex);
                DetailedLog.CreateLog(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
                    + " : " + System.Reflection.MethodBase.GetCurrentMethod().ToString()
                    + " : " + ErrorDetail, System.Diagnostics.EventLogEntryType.Error);
 
                return new Result(ErrorDetail, true);
            }
        }

Aslında yapı çok basit servis nesnemi çağırıyorum, servis oluşurken hata var mı diye bakıyorum eğer hata varsa hatayı fırlatıyorum. (bu noktada şunu belirtmeliyim ki catch bölümünde yer alan DetailLog ve ExceptionHandler benim daha önceden yazmış olduğum hata yönetimi ile ilgili class’lar catch bölümünü siz de istediğiniz gibi düzenleyebilirsiniz) Eğer hata yok ise OrganizationService metodumu kullanarak nesnemi oluşturuyorum. Bu noktada da bir hata yoksa servis bana oluşturduğu nesnenin id’sini döndürüyor yok eğer hata varsa zaten kod catch bloğuna düşüyor. İşte bu kadar.

Şimdi gelin diğer metodlara bir göz atalım;

public Result Update(Entity EntityForUpdate, Guid EntityID)
        {
            try
            {
                Service service = Service.GetService();
 
                if (service == null)
                    throw new Exception("Service is null");
                if (service != null && service.ErrorCode > 0)
                    throw new Exception(service.ErrorDetail);
 
                service.OrganizationService.Update(EntityForUpdate);
 
                DetailedLog.CreateLog("Entity Updated! Type: " + EntityForUpdate.LogicalName + ", ID : " + EntityID,
                    System.Diagnostics.EventLogEntryType.Information);
 
                return new Result("", false);
            }
            catch (Exception ex)
            {
                ErrorCode = 100;
                ErrorDetail = ExceptionHandler.HandleException(ex);
                DetailedLog.CreateLog(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
                    + " : " + System.Reflection.MethodBase.GetCurrentMethod().ToString()
                    + " : " + ErrorDetail, System.Diagnostics.EventLogEntryType.Error);
 
                return new Result(ErrorDetail, true);
            }
        }

Update metodu neredeyse Create metodunun aynısı tek fark daha önce de ifade ettiğim gibi güncellenecek nesnenin id’sini alması. Bunu almalı ki neyi güncellediğini bilebilsin. Aslında burada şöyle bir mantıksal kargaşa var update metodu ek olarak id’yi almamakta zaten sizin ona update edilmesi için vereceğiniz entity’nin Id alanına vermelisiniz. Benim burada ek olarak almamdaki amaç onu loglamak için.

Bir de Delete metoduna göz atalım;

public Result Delete(string EntityName, Guid EntityID)
        {
            try
            {
                Service service = Service.GetService();
 
                if (service == null)
                    throw new Exception("Service is null");
                if (service != null && service.ErrorCode > 0)
                    throw new Exception(service.ErrorDetail);
 
                service.OrganizationService.Delete(EntityName, EntityID);
 
                DetailedLog.CreateLog("Entity Created! Type: " + EntityName + ", ID : " + EntityID,
                    System.Diagnostics.EventLogEntryType.Information);
 
                return new Result("", false);
            }
            catch (Exception ex)
            {
                ErrorCode = 100;
                ErrorDetail = ExceptionHandler.HandleException(ex);
                DetailedLog.CreateLog(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
                    + " : " + System.Reflection.MethodBase.GetCurrentMethod().ToString()
                    + " : " + ErrorDetail, System.Diagnostics.EventLogEntryType.Error);
 
                return new Result(ErrorDetail, true, null);
            }
        }

Delete metodu entity’nin adını ve id’sini almakta. Bu iki veriyi de servise vermekteyiz.

Class’ın tamamına bakacak olursak;

public class Process : Base
    {
        public Result Create(Entity EntityForCreate)
        {
            try
            {
                Service service = Service.GetService();
 
                if (service == null)
                    throw new Exception("Service is null");
                if (service != null && service.ErrorCode > 0)
                    throw new Exception(service.ErrorDetail);
 
                Guid EntityID = service.OrganizationService.Create(EntityForCreate);
 
                DetailedLog.CreateLog("Entity Created! Type: " + EntityForCreate.LogicalName + ", ID : " + EntityID, 
                    System.Diagnostics.EventLogEntryType.Information);
 
                return new Result("", false, EntityID);
            }
            catch (Exception ex)
            {
                ErrorCode = 100;
                ErrorDetail = ExceptionHandler.HandleException(ex);
                DetailedLog.CreateLog(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
                    + " : " + System.Reflection.MethodBase.GetCurrentMethod().ToString()
                    + " : " + ErrorDetail, System.Diagnostics.EventLogEntryType.Error);
 
                return new Result(ErrorDetail, true);
            }
        }
 
        public Result Update(Entity EntityForUpdate, Guid EntityID)
        {
            try
            {
                Service service = Service.GetService();
 
                if (service == null)
                    throw new Exception("Service is null");
                if (service != null && service.ErrorCode > 0)
                    throw new Exception(service.ErrorDetail);
                
                service.OrganizationService.Update(EntityForUpdate);
 
                DetailedLog.CreateLog("Entity Updated! Type: " + EntityForUpdate.LogicalName + ", ID : " + EntityID,
                    System.Diagnostics.EventLogEntryType.Information);
 
                return new Result("", false);
            }
            catch (Exception ex)
            {
                ErrorCode = 100;
                ErrorDetail = ExceptionHandler.HandleException(ex);
                DetailedLog.CreateLog(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
                    + " : " + System.Reflection.MethodBase.GetCurrentMethod().ToString()
                    + " : " + ErrorDetail, System.Diagnostics.EventLogEntryType.Error);
 
                return new Result(ErrorDetail, true);
            }
        }
 
        public Result Delete(string EntityName, Guid EntityID)
        {
            try
            {
                Service service = Service.GetService();
 
                if (service == null)
                    throw new Exception("Service is null");
                if (service != null && service.ErrorCode > 0)
                    throw new Exception(service.ErrorDetail);
 
                service.OrganizationService.Delete(EntityName, EntityID);
 
                DetailedLog.CreateLog("Entity Created! Type: " + EntityName + ", ID : " + EntityID,
                    System.Diagnostics.EventLogEntryType.Information);
 
                return new Result("", false);
            }
            catch (Exception ex)
            {
                ErrorCode = 100;
                ErrorDetail = ExceptionHandler.HandleException(ex);
                DetailedLog.CreateLog(System.Reflection.Assembly.GetExecutingAssembly().GetName().Name
                    + " : " + System.Reflection.MethodBase.GetCurrentMethod().ToString()
                    + " : " + ErrorDetail, System.Diagnostics.EventLogEntryType.Error);
 
                return new Result(ErrorDetail, true, null);
            }
        }
    }

Class’ımızı bu şekilde oluşturduktan sonra gelin onu bir konsol uygulaması yardımıyla çağıralım ve iş başında görelim.

static void Main(string[] args)
        {
            try
            {
                Entity lead = new Entity("lead");
                lead.Attributes["subject"] = "Fuardan Gelenler";
                lead.Attributes["firstname"] = "Barış";
                lead.Attributes["lastname"] = "KANLICA";
                lead.Attributes["companyname"] = "Omerd Business Solutions";
 
                Process process = new Process();
                Result result = process.Create(lead);
                if (result.isError)
                    throw new Exception(result.Message);
 
                Console.WriteLine("Lead created : " + result.BusinessObject.ToString());
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error : " + ex.Message);
                Console.ReadLine();
            }
        }

 

Gördüğünüz üzere Entity nesnemi çağıyor ve ona lead adını veriyorum. İçerisi istediğim bilgiler ile dolduruyor ve Process class’ımın içindeki Create metodu vasıtasıyla CRM içerisinde oluşmasını sağlıyorum. İşte hepsi bu kadar :) 

Bütün bu işlemler sonunda tek bir noktadan yönetilebilir bir CRUD mimarisi yavaş yavaş ortaya çıkmakta. Sıra Okuma işlemlerinin detaylarına inmekte. Onu da artık başka bir makalede inceleyeceğiz.

Microsoft Dynamics CRM 2015, Microsoft Dynamics CRM Online 2015 Update, Microsoft Dynamics Marketing 2015 Update, and Parature, from Microsoft.

Microsoft Dynamics CRM 2015, Microsoft Dynamics CRM Online 2015 Update, Microsoft Dynamics Marketing 2015 Update, and Parature, from Microsoft.

The 2015 updates for Microsoft Dynamics CRM and Microsoft Dynamics Marketing have arrived! Updates to Parature, from Microsoft are soon to follow in early 2015. These updates add enhancements to sales, marketing, and customer service functionality, and will also add features to facilitate marketing and sales team collaboration.

Products updated

These products will be affected by the 2015 update:

  • Microsoft Dynamics CRM online and on-premises versions

  • Microsoft Dynamics CRM for Outlook

  • Microsoft Dynamics CRM for tablets

  • Microsoft Dynamics CRM for phones

  • Microsoft Dynamics Marketing

  • Parature, from Microsoft

New features

These are just a few of the highlights in the 2015 update:

Microsoft Dynamics CRM

  • Create product families: Boost selling effectiveness with the ability to bundle products and recommend related products for cross-selling/up-selling opportunities.

  • Use sales hierarchies:  Manage and report on your sales data in a way that maps to your business. New hierarchical visualizations and roll-ups bring real-time territory and forecasting data to your fingertips.

  • Mobile sales improvements: Increase field sales productivity with flexible, role tailored dashboards and analytics, personalized home pages and the ability to navigate by hierarchy. This version of the tablet app also includes improved support for disconnected scenarios.

  • Access CRM records on the go via voice commands: Cortana is now part of Microsoft Dynamics CRM! For customers with Windows Phone 8.1, you can now use conversational voice commands to seamlessly create follow-up appointments, tasks, and phone calls; quickly find information; view your customer lists; and more. Note: This feature will be available in English only in markets where Cortana is available. Read about Cortana voice commands for CRM in the topic Take a tour of CRM for phones.

  • Enhanced sales processes: Guide sellers toward desired outcomes with enhanced branching logic within your sales processes. Increase impact via automation of business processes and enforcement of business rules across all devices.

  • Expanded case management functionality: Enable agents to provide differentiated levels of support with flexible Service Level Agreements (SLAs). Gain insight into service effectiveness with the ability to track and analyze key metrics like SLAs and thresholds.

  • Microsoft Social Listening availability: Microsoft Dynamics CRM Online customers with a minimum of 10 Professional users automatically have access to Social Listening as part of their subscription at no additional charge. Customers who have an Enterprise subscription also have access to Social Listening but with no minimum user requirement. You can add Microsoft Social Listening subscriptions from the Office 365 Administrative Portal.

  • Microsoft Social Listening for on-premises CRM customers: You can now access Social Listening directly from within Microsoft Dynamics CRM 2015 - even as an on-premises customer - and may also be eligible for a discounted rate. Contact your Microsoft Dynamics partner for more information.

  • Improvements in CRM for Outlook: Set up CRM for Outlook quickly and easily with the completely redesigned Configuration Wizard. With Microsoft Dynamics CRM 2015 for Outlook, users can sync assigned tasks and appointment attachments. Admins can control synchronization between pairs of fields, which provides confidence about where data is coming from and how it's shared. For more information, see Set up CRM for Outlook.

  • Customizable help: Personalize the user assistance by tailoring the in-product Help content to match the specifics of your Dynamics CRM implementation. You can modify what displays under the Help question-mark icon at either an entity-specific or organization-wide level. Please read Customize the Help experience.

For more detailed information about the update, see What's New in Microsoft Dynamics CRM.

Microsoft Dynamics Marketing

  • Sales and marketing collaboration: Strengthen your marketing and sales synergies with the new Sales Collaboration Panel, which allows sellers to provide input into campaigns and targeting.

  • Manage multi-channel campaigns: Streamline campaign creation and improve segmentation with graphical email editing, A/B and split testing, integrated offers, and approval workflows.

  • Improve B2B marketing: Deepen your lead management capabilities with webinar integration and improved lead scoring, including the ability to introduce multiple lead scoring models. 

  • Enhanced marketing resource management: Gain unprecedented visibility into your marketing plan with the new Interactive Marketing Calendar and improve collaborative marketing with Lync click-to-call and webinars.

  • Gain social insights within Microsoft Dynamics Marketing: Display social information collected with Microsoft Social Listening about your brand, campaigns, and more, all within Microsoft Dynamics Marketing.

  • Additional language & geographic availability:  Microsoft Dynamics Marketing is now available in Japanese and Russian, bringing the total to 12 languages and 37 countries currently supported. Find more information in the Microsoft Dynamics Marketing Translation Guide.

For more information about the update, see What's New in Microsoft Dynamics Marketing

Parature, from Microsoft

There are many exciting new things coming in Parature, from Microsoft in early 2015, including:

  • Knowledgebase management and reporting improvements

  • Comprehensive service desk configurations

  • Support ticketing enhancements

  • Insights into customer self-service/portal usage

  • Mobile service desk enhancements

  • New social channel monitoring

  • Real-time chat translation

  • Further integration with Microsoft Dynamics CRM

  • And more

For more information, download the Parature, from Microsoft Spring '15 Release Preview Guide.

Technical changes

Not only do we want to keep you apprised of new features in the 2015 release, but you also need to know about technical changes that could have an impact on your organization as well as additional resources available to you.  For example, as with previous releases of Microsoft Dynamics CRM, we add and remove items from our supported configurations list to keep current with technology and allow us to provide you the best product possible.

For more information, please read:

Release timing

The 2015 updates for Microsoft Dynamics CRM and Microsoft Dynamics Marketing are available now. Stay tuned for Parature, from Microsoft updates in early 2015. Please visit this page periodically to get the most current information about the upcoming versions.

How to get the updates

Microsoft Dynamics CRM:

  • Updates for online customers: You'll be able to schedule the specific date when your update occurs. We call this a customer-driven update since you “drive” the timing of the update to be the most suitable for your organization. It will be necessary for the CRM administrator to formally approve the update before the update can occur. If you haven't yet updated to the Spring '14 version, features that were added then will also be enabled during this update.  For more information about how this works for Microsoft Dynamics CRM, read Manage Microsoft Dynamics CRM Online updates or watch a short video about the Update process enhancements with Microsoft Dynamics CRM Online 2015 Update (3:33).

  • Updates for on-premises customers: Customers who are current on their Microsoft Software Assurance Plan or Business Ready Enhancement Plan will be able to get updates after the final product release. Learn more about Microsoft Dynamics Service Plans.

Microsoft Dynamics Marketing:

  • The listed administrator within your organization will be notified by email about the specific timing of the update to the next version. Microsoft will send several reminder communications as the scheduled update approaches.

  • Should this scheduled date not be suitable for your organization, you will have an opportunity to reschedule the date through a service request.

  • Keep looking for emails with more specific instructions for updating Microsoft Dynamics Marketing.

Parature, from Microsoft:

  • The listed administrator within your organization will be notified by email about the specific timing of the update to the next version. Microsoft will send several reminder communications as the scheduled update approaches.

How to prepare for updates

Test the updates in a sandbox environment. We always advise that you preview and test new versions in a non-production environment before you update your live production instances. This will give you the opportunity to verify the compatibility of any customizations that you may have made, or any third-party customizations that are installed. Additionally, testing will also allow you to assess the impact of the upcoming changes on your organization and your users. If you haven't already done so, we strongly advise obtaining a non-production instance.

Manage customizations for Dynamics CRM. Three deprecated form scripting methods have been removed; you'll want to make sure your code isn't using those methods before you update. There's also a tool that a developer can run before an update to identify scripts that should be evaluated. For specifics, see Deprecated form script methods removed (part of What's new for Developers).

Browser support for Parature, from Microsoft. Parature, from Microsoft supports all major browsers and their latest versions, including Internet Explorer, Google Chrome, and Mozilla Firefox. To make sure that you can take advantage of all the enhancements to the Service Desk and Support Portal, make sure that you update your browser to the latest version.

Upgrading to a new version of Microsoft Dynamics Marketing. We have designed the upgrade process to be as quick, easy, and trouble-free as possible, but you should still be aware of the process and some possible issues. If you are upgrading from a previous version of Microsoft Dynamics Marketing, find out what to expect by reading Upgrading from an earlier version.

How to stay informed

Have questions?

Connect with Support Resources or browse questions/answers in the Microsoft Dynamics CRM Forum—or you can always contact your partner.

For questions about Parature, from Microsoft, please contact Parature Support.

Enable multi-factor authentication through OAuth

In the newly redesigned Microsoft Dynamics CRM for Outlook Configuration Wizard, System Administrators can enable multi-factor authentication (MFA) through the OAuth 2.0 Framework. OAuth 2.0 is an open framework for authorization that lets users provide access tokens, instead of credentials, to access their data that is hosted by a given service provider (such as CRM). Using MFA can help make client authentication more secure, especially for mobile users. CRM Online and on-premises versions of Microsoft Dynamics CRM 2015 can take advantage of MFA; Microsoft Dynamics CRM 2015 on-premises requires at least Windows Server 2012 R2. CRM Online automatically uses OAuth.

If you have upgraded your authentication server to use OAuth prior to installing CRM 2015 for Outlook, CRM 2015 for Outlook will automatically check for and use OAuth for MFA. Users will see the OAuth sign-in form the first time they use CRM 2015 for Outlook.

If you upgrade your authentication server to use OAuth after rolling out CRM 2015 for Outlook, you have two options to set CRM 2015 for Outlook to use OAuth.

  1. Reconfigure CRM for Outlook on all computers. Run the Microsoft Dynamics CRM for Outlook Configuration Wizard and remove and re-add your organization.

    -- OR --

  2. Use Group Policy to update the following registration key:

    HKEY_CURRENT_USER\Software\Microsoft\MSCRMClient\{orgid}.

    Set AuthenticationProvider to 0

    After the registry change, CRM 2015 for Outlook will automatically check for and use OAuth for MFA.

Microsoft Dynamics CRM 2015 Coklu Arama (Multi-Entity Quick Find)

Bugune kadar CRM ile ilgilenen pek cok kisi ve firma projeler icerisinde (ki bunlara bende dahilim ozellikle cagri merkezi projelerinde) CRM icin coklu arama ozelligi uygulamasi yazdi. Yani bir tane kutuya CRM icerisinde aramak istediginiz kisi, kurum ya da herhangi birsey yaziyorsunuz ve bu otomatik olarak daha onceden belirlediginiz nesneler icerisinde araniyor ve ekrana getiriliyor. Bugun Dynamics CRM 2015 ile birlikte bu ozellik CRM icersinde gomulu olarak geliyor ve sistem menusunde her zaman ulasilabilir bir yerde duruyor.


Bu ekrani acabilmek icin yukaridaki resimde de godugunuz uzere buyutec simgesine tiklamak gerekiyor. Cikan ekrandaki metin kutusuna birseyler yazip enter'a bastiginizda ise yazdiginiz kelime daha onceden ayarlarlar bolumunde ayarlanan butun nesneler icerisinde aranmakta ve sonuclar karsiniza gelmekte. 

Dilerseniz bu ekrana gecmeden once ayarlar bolumunde nasil ayarlar yapabilecegimize bakalim. Bu ekran ile ilgili ayarlari acmak icin Ayarlar>Yonetim bolumu altinda bulunan Sistem Ayarlari dugmesine tiklamamiz gerekmekte. Acilan ayarlar ekraninda asagiya dogru ilerledigimizde "Hizli Bulmayi Ayarla" yazisi altindaki 2 secenek iste aradigimiz ayarlar.


Hizli bul kayit sinirlarini etkinlestir: Bu ayar arama performansini arttirmak için arama kayitlarini 10.000 kayitla sinirli tutan ozellik.
Arama icin varliklari secin: Bu dugmeye tikladiginizda ise bir pencere acilacak ve bu arama ozelliginin hangi varliklar uzerinde etkili olacagini ayarlamanizi saglayacaktir.


Burada sitediginiz nesneleri ekleyebilir ve cikartabilirsiniz ama unutmamamiz gereken bir sinirimiz mevcut o da max. 10 tane nesne secebiliyoruz. 10'dan fazla nesne sectiginizde su sekilde bir uyari karsiniza cikacaktir.


Iste bu ekran vasitasiyla ayarlamalarimizi yaptiktan sonra gecek arama ekranimiza donebiliriz. Bu ekran uzerinde istedigimizi yazip entrer'a bastigimizda sonuclar ekrana gelecektir.


Bu ekranda bazi onemli ozellikler bulunmakta;
  • her bir nesne uzerindeki + dugmesine tiklayarak yeni kayit ekleyebilirsiniz.
  • herhangi bir kayda tikladiginizda o kayit acilir.
  • arama yapilacak alanlari arama hizli gorunumu uzerinden ayarlayabilirsiniz.
  • O nesne icin arama hizli gorunumunde ayarlanmis ilk uc alan goruntulenir.
  • ekranin sag tarafinda bulunan filtre olcutunu kullanarak kayitlari filtreleyebilirsiniz.
Bu sayede CRM 2015'de yillardir soze edilen ve beklenen bir ozelligi de Dynamics CRM platformu icerisinde gormus olduk.

Software requirements for Microsoft Dynamics CRM Server 2015

In this article you can find which applications and operating systems are supported and not supported.

Microsoft has confirmed the following software is not supported with Microsoft Dynamics CRM 2015:
  • Windows Server 2008 & 2008 R2
  • SQL server 2008 & 2008 R2
  • Windows Small Business Server (all versions)
  • 2008 Series Terminal Servers
  • Windows Vista
  • SharePoint 2007
  • Exchange 2007
  • Internet Explorer 8 & 9
  • Microsoft Office 2007

so what you need to install Dynamics CRM 2015:

Windows Server:
The following editions of the Windows Server 2012 operating system are supported for installing and running Microsoft Dynamics CRM Server 2015:
  • Windows Server 2012 R2 Datacenter
  • Windows Server 2012 R2 Standard
  • Windows Server 2012 Standard
  • Windows Server 2012 Developer

Active Directory Modes:
The computer that Microsoft Dynamics CRM Server is running on must be a member in a domain that is running in one of the following Active Directory directory service forest and domain functional levels:
  • Windows Server 2008 Interim
  • Windows Server 2008 Native
  • Windows Server 2012 
  • Windows Server 2012 R2 

Internet Information Services (IIS):
Microsoft Dynamics CRM Server 2015 supports Internet Information Services (IIS) versions 8.0 and 8.5.
We recommend that you install and run IIS in Native Mode before you install Microsoft Dynamics CRM Server. However, if IIS is not installed and it is required for a Microsoft Dynamics CRM server role, Microsoft Dynamics CRM Server Setup will install it.

SQL Server Editions:
Any one of the following Microsoft SQL Server editions is required and must be installed on Windows Server 2008 (SP2 or R2) 64-bit-based versions or Windows Server 2012 (RTM or R2) 64-bit-based computers, running, and available for Microsoft Dynamics CRM:
  • Microsoft SQL Server 2014, Enterprise, 64-bit
  • Microsoft SQL Server 2014, Business Intelligence 64-bit
  • Microsoft SQL Server 2014, Standard, 64-bitt
  • Microsoft SQL Server 2014, Developer, 64-bit (for non-production use only)
  • Microsoft SQL Server 2012, Enterprise, 64-bit SP1
  • Microsoft SQL Server 2012, Business Intelligence, 64-bit SP1
  • Microsoft SQL Server 2012, Standard, 64-bit SP1
  • Microsoft SQL Server 2012, Developer, 64-bit SP1 (for non-production use only)

Software Component Prerequisites:
The following SQL Server components must be installed and running on the computer that is running SQL Server before you install Microsoft Dynamics CRM Server 2015:
  • SQL word breakers
This is only required for some Microsoft Dynamics CRM language editions. For more information about word breaker versions for languages supported by SQL Server see Configure and Manage Word Breakers and Stemmers for Search.
  • SQL Server Agent service
  • SQL Server full-text indexing 
The following components must be installed and running on the computer where Microsoft Dynamics CRM Server 2015 will be installed:
  • Services
    • Indexing Service 
    • To install this service, see the Windows Server documentation.
    • IIS Admin 
    • World Wide Web Publishing
  • Windows Data Access Components (MDAC) 
  • Microsoft ASP.NET (Must be registered, but does not have to be running.)

Verify Prerequisites:
  • Before you install Microsoft Dynamics CRM Server, you should understand the following:
  • Microsoft SQL Server can be, but is not required to be, installed on the same computer as Microsoft Dynamics CRM Server.
  • If Microsoft Dynamics CRM Server and Microsoft SQL Server are installed on different computers, both computers must be in the same Active Directory directory service domain.
  • Microsoft SQL Server can be installed by using either Windows Authentication or mixed-mode authentication. (Windows Authentication is recommended for increased security and Microsoft Dynamics CRM will use only Windows Authentication).
  • The service account that SQL Server uses to log on to the network must be either a domain user account (recommended) or one of the built-in system accounts supported by SQL Server (Network Service, Local Service, or Local System). Installation of Microsoft Dynamics CRM Server will fail if the SQL Server service account is the local administrator. Installation of Microsoft Dynamics CRM Server will fail if the SQL Server service account is the local administrator.
  • The SQL Server service must be started and can be configured to automatically start when the computer is started.
  • The Microsoft SQL Server Reporting Services service must be started and configured to automatically start when the computer is started.
  • The SQL Server Agent service must be started. This service can be configured to automatically start when the computer is started.
  • Although it is optional, we recommend that you accept the SQL Server default settings for Collation Designator, Sort Order, and SQL Collation. Microsoft Dynamics CRM supports both case-sensitive and case-insensitive sort orders.
  • Microsoft Dynamics CRM Server Setup requires at least one network protocol to be enabled to authenticate by using SQL Server. By default, TCP/IP protocol is enabled when you install SQL Server. You can view network protocols in SQL Server Configuration Manager.

Reporting Requirements:
Microsoft Dynamics CRM Reporting Extensions Requirements
The Microsoft Dynamics CRM Reporting Extensions component has the following requirements:
  • You must complete Microsoft Dynamics CRM Server Setup before you run Microsoft Dynamics CRM Reporting Extensions Setup.
  • You can install and run Microsoft Dynamics CRM Reporting Extensions on only one instance of Microsoft SQL Server Reporting Services on a computer.
  • The identity account running the instance of Microsoft SQL Server Reporting Services where the Microsoft Dynamics CRM Reporting Extensions are running can’t be the local system or a virtual account. This is required for Microsoft Dynamics CRM reporting to work because the identity account must be added to the PrivReportingGroup Active Directory security group that is used by Microsoft Dynamics CRM.
  • Separate deployments of Microsoft Dynamics CRM cannot share one Microsoft SQL Server Reporting Services server. However, a single deployment of Microsoft Dynamics CRM that has multiple organizations can use the same Microsoft SQL Server Reporting Services server.
  • You must run the Microsoft Dynamics CRM Reporting Extensions Setup on a computer that has a supported version of Microsoft SQL Server Reporting Services installed. More information: SQL Server Reporting Services
  • For smaller data sets and fewer users, you can use a single-server deployment or a multiple-server deployment. With larger datasets or more users, performance decreases quickly when complex reports are run. Use a multi-server deployment with one computer that is running SQL Server for Microsoft Dynamics CRM, and another server for Microsoft SQL Server Reporting Services.
Microsoft Dynamics CRM Reporting Authoring Extension Requirements:
Microsoft Dynamics CRM Report Authoring Extension is required to author fetch-based reports by using SQL Server Data Tools.
You must install the Microsoft Dynamics CRM Report Authoring Extension on a PC that has the following software.
  • Microsoft Visual Studio 2012 or Microsoft Visual Studio 2010.
  • SQL Server Data Tools (SSDT) installed with either Microsoft Visual Studio 2012 or Microsoft Visual Studio 2010. More information: Install SQL Server Data Tools
  • For Microsoft Visual Studio 2012: You must download and install Microsoft SQL Server Data Tools - Business Intelligence for Visual Studio 2012. 
  • For Microsoft Visual Studio 2010: You must select and install the SQL Server Data Tools (SSDT) feature that is included with Microsoft SQL Server 2012 or Microsoft SQL Server 2012 Express on the computer that is running Visual Studio 2010. Download: Microsoft SQL Server 2012 Express
  • If your organization uses Microsoft Office 365, make sure that the computer on which the Microsoft Dynamics CRM Report Authoring Extension is installed also has the Microsoft Online Services Sign-in Assistant installed on it. If Microsoft Online Services Sign-in Assistant is already installed, check the registry key SOFTWARE\Microsoft\MSOIdentityCRL and make sure that the TargetDir registry key in MSOIdentityCRL contains msoidcli.dll.

Satışlarınız Düşmesin Yükselsin

Acikakademi.com sponsorlugunda gerceklestirecegimiz bu online etkinlikte Dynamics CRM 2013 SP1 uzerinde bir satis senaryosunun nasil gerceklestirilecegi anlatilacaktir. 09.10.2014 tarihinde Turkiye saatiyle 20:00 da etkinlik baslayacaktir. Internet uzerinden online olarak izleyebileceginiz etkinlik hakkinda daha fazla bilgiye buraya tiklayarak ulasabilirsiniz.

Sektörünün önde gelen firmalarından Contoso, satışlarını artıramamaktan yakınıyor, firma sahibi Ahmet Bey ise sorunun nereden kaynaklandığını tam teşhis edemiyordu. Satış ekipleri mi mevcut potansiyelin farkında olamıyor, yoksa potansiyellerini bildikleri halde işleri rakiplerine mi kaptırıyorlardı? Ahmet Bey’in bu sorunu çözebilmesi için daha ayrıntılı bilgiye sahip olması gerekiyor, ancak satış ekiplerinden daha fazla bilgi toplamak için girişimde bulunduğunda, tepki alıyordu. Dışa dönük ve satışa odaklanmış bu ekipler, sistemle uğraşmaya ve bilgi girişi yapmaya direniyorlar; tüm zamanlarını satışa ayırmak istiyorlardı. Satış ekiplerinden her görüşmelerini, her teklifi, teklif sonrası her takip adımını sisteme girmelerini istemek hiç de kolay değildi.

Pazarlama bölümü ise ürünlerini etkin tanıtamıyordu. Doğru müşteriye doğru iletişim kanalı ile ulaşmak ve bunu yaparken ekibinin aktivitelerini de denetleyerek, kampanyanın maliyetini düşürmek istiyorlardı. Tabii ki ürün ve pazarlama performanslarının etkin bir şekilde raporlanması da gerekiyordu.

İşte firmasındaki bütün bu sorunlara cevap arayan Ahmet Bey, araştırmasında Microsoft’un Dynamics CRM İş Platformunun, esnek ve genişleyebilir yapısı ile çok iyi bir ürün olduğunu gördü. Satış ve pazarlama bölümündeki sorunları giderebildiği gibi, servis talepleri ile çağrıları yönetebileceğini, servis aktiviteleri ile sahadaki personelin iş yükünü yönetebileceğini öğrendi. Üstelik iş akışları ile sistem otomatik olarak kendisine verilmiş işleri yapmaktaydı. İş akışları sayesinde bir olay ya da değişiklik olduğunda sistem bunu algılayıp gerekli işlemleri yerine getirebilmekteydi. Ayrıca bu sisteme tümleşik olan Web Portalı sayesinde kullanıcılar kendi servis taleplerini açmanın yanında, kendisiyle ilgilenen teknik servis personelinin boş olduğu saatlere randevu da alabiliyordu. Sahadaki teknik servis personeli sistemle entegre tablet ve akıllı cep telefonu arabirimi sayesinde şirket sistemine bağlanabilmekte, böylece müşteri bilgilerine ulaşabilmekte ve üzerlerindeki işleri, servis taleplerini çevrimiçi olarak görebilmekteydiler. Üstelik esnek raporlama arayüzü ile herkes kendi anlayabildiği şekilde raporlar alarak sistemi en yüksek verimle kullanabilmekteydi. 

CRM Service Utility for Mobile Development

Technologies

Dynamics CRM
Code Generation, Dynamics CRM metadata access
Desktop, Phone, Windows RT
en-US
9/8/2014

Introduction

This sample is a custom extension to the CrmSvcUtil.exe program that ships in the Dynamics CRM 2013 SDK. The purpose of this program is to generate C# or VB source code containing early-bound entity types and option set types from the metadata of your CRM server. This code can then be included in your mobile app projects. This enables you to make use of both out-of-box and any custom or customized entities in your code.

 

Building the Sample

To build the program, follow these steps.

  1. Obtain the CrmSvcUtil.exe program and the Microsoft.Xrm.Sdk.dll assembly from the Bin folder of the CRM 2013 SDK. You can download the SDK from http://msdn.microsoft.com/en-us/dynamics/crm/dn467921.aspx.
  2. Load the CrmSvcMobileUtil.sln solution file into Visual Studio 2013.
  3. Add references to CrmSvcUtil.exe and Microsoft.Xrm.Sdk.dll in the project.
  4. Press F6 to build the program.

 

Running the Program

For information on how to run the program, see the SDK topic: Create early bound entity classes with the code generation tool (CrmSvcUtil.exe).

 

Important Notes

    • The sample files are not intended to be used in a production environment. You should deploy this sample to a test environment and examine it for interaction or interference with other parts of the system.
    • This program was written by Kenichiro Nakamura at Microsoft.

       

      More Information

      For more information about writing an extension to the CrmSvcUtil program, see Create extensions for the code generation tool.

      You can download code:

      CRM Service Utility for Mobile Development.zip (48.2KB)

      Microsoft Dynamics CRM 2015 – Vega

      Microsoft today has shared some information on Microsoft Dynamics CRM Fall Wave release – codenamed Vega as part of the Microsoft Dynamics roadmap 2014/2015. There are 3 other releases as part of CRM 2015 (Q4 2014) Fall wave release. These are: 1) code name Hydra: Microsoft Social Listening, 2) Electra: Microsoft Dynamics Marketing and 3) Phoenix: Parature (Dynamics CRM Integration with Parature) as shown in the below Microsoft Dynamics CRM road map (for 2014 and 2015).


      Microsoft Dynamics CRM 2014/2015 Roadmap

      More details about these 3 other releases will be in future posts.

      As for Dynamics CRM Vega, this is a release focusing on Microsoft Dynamics CRM Core product. The Fall Wave release Vega applies to both CRM Online and CRM On-Premise.

      So Vega is apparently going to be officially named: CRM 2015. It will be released before end of this year (Q4 2014). It is expected to include some core product features in Dynamics CRM that many have been waiting for!
      New features and enhancements in Vega Dynamics CRM 2015 are:

      Business Process Improvements:

      • Rule-based branching
      • Single Edit experience
      • Support for multiple entity loops
      • Programmability through Client API
      • Active processes
      • Change of currently active process
      • Move Stages
      • Stage selection and Changing of currently active stage

      User Experience Improvements:

      • Multi Entity Search Capability (horraayy!)
      • A new Advanced Search Button
      • Nested Quick Create forms

      Mobility Features:

      • The addition of 29 new Languages
      • More Dashboards and new concept of Home-pages
      • Support of “Any Device”
      • Ability to have offline drafts

      Enterprise Sales Features:

      • Entity Hierarchy
      • Cross-sell and Up-sell capabilities (also know as Next Buy Actions)
      • External Pricing features
      • Attribute Inheritance
      • Product Relationship
      • Bundles

      XRM and Development Advances:

      • Complex calculations (Calculated Fields & Roll-up of values) (Yes!)
      • Hierarchical Relationship Property
      • Ability to query multiple entities
      • Hierarchical Security Models
      • Field Level Security for system fields (out of the box fields)

      Analytics and Business Intelligence Enhancements:

      • Power BI in CRM Web client
      • Transactional reporting of CRM on Windows Mobile Client Application
      • Roll up on different fields across hierarchie

      Specific for CRM Online (Microsoft’s Online First motto):

      • Self-Service
      • Sign up process Simplification
      • Global Expansion from 42 to 61 Markets (Latin America data centre)
      • Multi-Geographical tenants
      • Scaling out Organisation Synchronisation
      • Minimal downtime Upgrades
      • Addition of Load balancing

      Supported OS and Software Requirements:

      • Windows Server –2012 & 2012 R2
      • Windows Client – Vista, Windows 7 & Windows 8
      • ADFS – 2.0, 2.1, 2.2
      • SQL Server – 2012
      • Exchange Server –2010 & 2013
      • Outlook – 2010 & 2013

      Software and OS no longe supported:

      • Windows Server 2008 & 2008 R2
      • SQL server 2008 & 2008R2
      • Windows Small Business Server ( all version )
      • 2008 Series Terminal Servers
      • Windows Vista
      • SharePoint 2007
      • Exchange 2007
      • IE 8, IE 9
      • Office 2007

      This post has content from this Dynamics Community post

      Our new product : MawensEdu School Management System

      MawensEdu has been developed over Microsoft Dynamics CRM 2013 and it is a school management system which uses Dynamics CRM’s advanced sales and marketing capabilities. 

      With MawensEdu, you can organize SMS and e-mail campaigns, and you can easily follow your campaign budget as well as your campaign goals. 

      During the sales process, you can create offers for more than one section/school and you can supervise the activities of your worldwide vendors.  

      Inside the School, Student/Teacher, and Classroom – Extracurricular activities can be planned, timetables and attendance charts also can be managed. MawensEdu is an independent platform.

      It’s compatible with Mac, Windows and Tablets (iPad, Android). You can manage your business from any device and anywhere you want because it’s web-based application.

      You do not need any additional software for your device to use its all features. 

      Create suitable Campaign Objectives with powerful analysis tools

      You can easily analyse your data and start e-mail and SMS campaigns for your leads after entering their data obtained from fairs or promotional events. In this way, with minimum cost, you will reach maximum audience who will respond your campaign.

      Also, advanced reporting tools can keep under control your campaign at any time. Objective/cost reports will guarantee the success of your campaign.

      Ensure the sales team to achieve their objectives

      MawensEdu, provides you great tools that makes you able to keep under control the whole process of prospective student, from the first encounter until the sale ends.

      When a registration occurs or updated over MawensEdu, you can obtain results according to each case through the triggered workflow mechanism. 

      For example, a visitor visited your website and filled out the information form. Through the workflow mechanism, this information will fall in front of a dealer and this sale activity can be followed on the system. The system will keep record of all the conversation happened via email, phone or face-to-face between the student and the dealer. 

      The software wizard can help you to give suitable offers for the correct students. In addition, after the completion of sale, the system will take care of placement of the relevant student - payment tracking and, if necessary, picking up from the airport and the accommodation and all these relevant stages can also be followed up through the system.   

      Manage your own school…

      After the sales progress, you can keep track of any course registered by your students and the lectures included in the courses, also your student’s attendance status can be followed. 

      System allows you to save all the course contents and the topics of the current lessons. By this way, you can keep track which teacher and student had what lecture in which classroom on what day/what time; also which materials and study methods had been used. 

      Also system can report about each student, what is the aim of the course and how successful students are at assignments and examinations.  

      System is flexible so it allows you to make changes quickly about the content of a course or urgent teacher replacements.

      The system will allow you to manage school equipment and their planned repair / maintenance activities.

      Timetables and content of Diploma and Certificate programmes can also be planned on the system.

      360 degree view will enable you to keep track of a student on a single screen - starting from the sales process until accommodation, attendance, exam notes, payment tracking and control of the assignments.

      Inside the School, Student/Teacher, and Classroom – Extracurricular activities can be planned, timetables and attendance charts also can be managed. 

      Apart from all these, you can plan inspection dates performed by the external institutions and you can manage the documents you need to submit during these inspections. These activities can be planned under management and teacher role, also can follow up if task have been completed. 

      You can use application online or on-promise.

      Login screen :


      Sample Course Program :

      Sample Schema of Work:

      Sample Lesson Plan:

      iPad Screen 1:

      iPad Screen 2:

      iPad Screen 3: