I want to learn dynamics-crm on my own and I have few questions.
Since it is not a free product, is there any way to run my code and test it (free)?
I am a PHP + Java + mysql/sqlserver programmer, I have seen c# syntax and I c that it is similar to Java, is that a good idea to study alone?
Where can I find good online resources to study from?
1) Microsoft offers a free 30 day trial for Dynamics CRM Online. You could probably get a new one when the old expires. http://crm.dynamics.com/en-us/trial-overview
2) Extending Microsoft CRM entails knowledge of C# and JScript. You should make the jump to C# if you want to be able to write plugins and such.
3) The best resource is definitely the Dynamics CRM 2011 SDK - It contains a lot of samples and is very well documented in its help file. It can be downloaded at http://www.microsoft.com/download/en/details.aspx?id=24004. The CRM Developer Training Kit can be found at http://www.microsoft.com/download/en/details.aspx?id=23416. There are more good resources at the CRM Developer Center - http://msdn.microsoft.com/en-us/dynamics/crm/bb467596.
Related
Recently Microsoft announced some changes to their Dynamics 365 Teams license. The people who have these licenses will not be able to access Sales Hub, Marketing Hub, custom model driven apps etc and will have their own app like Sales Team member app.
These dedicated apps have restrictions of only 15 custom entities.
This change will cause some of our clients a lot of problems. As per my understanding, the only option they will have is to buy the full Dynamics license.
Am I correct on above? If no then feel free to correct me. If yes then can anyone suggest a good alternative?
Yes, the new licensing model is quite confusing.
I suggest to check the updated licensing guide (if not already done)
https://go.microsoft.com/fwlink/p/?LinkId=866544
(if the link does not work, it is taken from here: https://learn.microsoft.com/en-us/dynamics365-release-plan/2020wave1/dynamics365-sales/license-enforcement-users-new-team-member-licenses)
Allthough this document is quite extensive, it is also recommended to talk with you MS Sales Rep (or anyone else who is responsible for you from MS side) to make sure all your needs are covered.
I installed Latest Version of Developer Toolkit for vs2015 and after that when i use toolkit to connect to CRM, after click on connect button it does not do anything. no error, no success action,
i delete every Cache data and every Temp data and Clear my solution but nothing change,
do you have any idea? help me please because i want to develop custom workflow step and develop plugins with this toolkit.
As far as I know, Microsoft's Developer's Toolkit has been dormant for quite some time.
Current options are:
Jason Lattimer's Developer Extensions
Which is also on GitHub.
Or the commercial add-on XrmToolkit, which has a 30-day free trial.
If you go with Jason's solution and you're looking to do early bound development you might want to also look into XrmToolbox's Early Bound Generator by Daryl LaBar.
The XrmToolkit includes its own proprietary proxy class generator.
I have an Office Word add-in that I wish to make it work with Office Word 2016 for Mac. I tried looking into official Microsoft documentation and could not find anything. I want to reuse as much code as possible while still having the extension to work with older versions of Word as well as Office Word 2016.
Is there any way to do this? Any help, even if it is something remotely related to this is appreciated.
TL;DR;
There is no way to do that.
Microsoft has bet on a new technology suite also called Office add-ins but web based. They are compatible with Mac. The old COM based approach (on which VSTO .NET add-in are built on) are legacy.
There is no way to reuse .NET code with this new technology, except of course to port business logic to the web server (which serves the web based add-in).
More reading on the comparison with the two add-ins generation: see this article I wrote
I second Benoit's answer. In addition, Not sure how complex is your add-in in terms of interactions with the document content, or if its a service that then inserts or imports data from a backend. Depending on that you will have more reusable code.
I would recommend you to do a full analysis on what APIs you need for your add-in to work properly. The new model offers big value with both supporting multiplatform and an easier deployment model. It also provides many rich APIs you can use, however the API depth its still not as rich as VSTO. Our goal is to get there.
I would be curious to understand if there are any gaps on you migration analysis.
thx!
I have googled, but can´t find a good answer. I´m a .net developer and looking into starting with Microsoft Dynamics (CRM and AX). My question is if I can use .net on this platforms or do I have to learn x++?
Yes and no. Dynamics CRM consists of a bunch of different customizational entries and some of them are .NET based (plugins, custom workflows, WCFs, external webs) while some are not (default workflows, JavaScript, XML customizations, FetchXML).
In my experience, at least based on the reality where I'm stationed, there's an abundance of people who can configure CRM but there's an embarrassing scarcity of skilled developer who can code .NET (and JS) to program the thing.
MS does what it can to make it possible to configure everything without coding but in the end, some things can't be resolved other than by good old hacking. Plugins is the golden goose, I'd say. If you learn how to write and install them, you're set. It's a bit of a threshold, that's true. But then again - if it'd be easy, everybody would be able to steal your job.
Yes .NET is the platform of choice for server-side customization of Microsoft Dynamics CRM. Start here: https://msdn.microsoft.com/en-us/library/gg327971.aspx. There's a lot of reading but you could be writing your first plugin in a few days.
I'm intentionally vague here because you should really take the time to read the materials out there to learn the right way. It will help you out a lot more then me giving you a paragraph summary.
My organisation is in the final stages of acquiring CRM 4.0 for use as a general purpose software development platform. The company who is selling it to us has convinced upper management that CRM will solve all our productivity problems and make software development as easy as point and click. (They don't read Brooks.)
Having resigned to the fact that I can't stop CRM from being foisted upon us developers, I have been doing research on how to manage the complexities of large scale CRM development.
I have so far identified the following complexities that need to be addressed:
CRM seems wholly incompatible with basic configuration management practices.
Keeping the black box CRM database in bidirectional synchronisation with external LOB systems is both very hard and critical to project success.
What other complexities must I take into account when building a large scale CRM application?
What limitations does CRM have as a development platform?
Edit: This topic provided additional insight.
I've worked with MS CRM 3.0 and now 4.0 here's my take:
Whenever possible focus on standard best practices. Don't get overly confused by what CRM is doing or wants you to do.
Don't be afraid to break what's "supported" by MS. With some caveats on 2 major factors - will your company let you think outside the box to solve problems and do customizations/integrations that are not officially supported? - and are you comfortable enough with .Net, SQL, javascript etc to weave through their code and implement what you need?
I have sometimes banged me head 100 times trying to do something in a "supported" fashion when one small tweak to a js file here or a small db modification there gave me what I needed.
If constant data integration with other LOB apps is critical you should consider a 3rd party tool like Scribe (http://www.scribesoft.com/). It's not cheap but can basically get you 90% of the way when it comes to integrating with your other LOB apps.
As a general rule, MS CRM is great at contact management - doing things like tracking appointments, doing mail merges, etc. Could you use it as your core HR system - probably. Finance system - maybe a bit more difficult. The further you go from it's core competency of performing contact management the more custom work you'll have to do. The more custom work you have to do the more you should consider if MS CRM is the right solution to that problem.
I know you're likely well underway into your deployment of Dynamics CRM, but just a few quick tips:
I'd avoid making unsupported changes purely because it becomes too hard to track the changes eventually. Since Dynamics CRM allows developers to make C# Plugins and access to web services, it's usually unnecessary to make unsupported changes for anything non-trivial. Plus you run the roulette of having to hide changes from MS if you have to call their support. I know many people will include external javascript files (jquery, etc) and other somewhat benign changes, but try to mentally stop yourself when an unsupported edit involves anything non-visual.
Look into the phrase Microsoft Dynamics Xrm, there are several books on the subject that are excellent, http://www.thecrmbook.com/ is particularly good because it comes with some nice custom code to use with your CRM.
Source Control your customizations xml's and don't let people touch the database, also, Google Halan CRM tool, and use it for scripting out CRM customizations and javascript files. Easier than writing custom powershell scripts to do the same job.
Transaction Support
If your application require transaction support from the underlying platform, Dynamics CRM is not the correct choice. The reason is because currently Dynamics CRM SDK web service doesn't support transaction.
The reference thread is here : Does MSCRM web-service support database transactions?
Since you would like to utilize Dynamics CRM as a platform, that means all the business logic should utilize Dynamics CRM SDK Web Services as data access layer. But imagine without the transaction support and you're invoking a series of web service calls as a unit of work, and one of the web service calls fails. That means you potentially will encounter data integrity issue.
Configuration
Usually i create a custom entity called Configuration, which will store all the necessary related configuration for the current CRM application. After it has been created, you can use Dynamics CRM SDK Web Service to read all the necessary configurations from the Configuration custom entity