General
44 results found
-
publish on Build instead of Save
I tried using the option to auto-publish on Save, but I actually save a lot (because VS crashes hurt) and only want to incur the publish delay when things are in a particularly good state. In other development this is when I do a Build, and I do build my CRM client scripts (Typescript ftw), so my ideal would be for a build to publish files changed since the previous build. Slightly less ideal but still good: publish all of the project's checked-out files. Worst case, manually flagging files to publish works, too.
5 votes -
Add unit testing mock ability
Add the ability to easily create/test plugins and other code. Something similar to https://github.com/daryllabar/XrmUnitTest or https://dynamicsvalue.com/home
4 votes -
Enhance the Picklist Attribute Intellisense Feature to use a constant to represent the numeric value for the SetValue method.
The current intellisense feature for picklist attribute will generate something like this.
Xrm.Page.getAttribute("new_dropdownfield").setValue(912210002);The value 912210002 makes it less readable for future maintenance. A suggestion is to rather do the following.
Xrm.Page.getAttribute("newdropdownfield").setValue(PicklistAOption1);Define PicklistA_Option1 in the same file automatically or in an enumerations.js file that can be include.
As part of the Web Resource Minification remove this reference.4 votes -
Execute publish and connection in parallel
Connecting to online instances of D365 can be a little slow so waiting for this step to complete before compiling and then uploading assembly/code is time consuming. I suggesting starting the connection attempt and building the project (plugin) at the same time, once they are both complete, upload. This will save 10-15 seconds per publish which happens a ton of times over the course of a work day.
4 votes -
Pretty print the sitemap xml
...so that when I commit it to source control, I can use standard diff tools to review changes
4 votes -
Add OrganizationServiceContext support to proxy classes like early bound classes
it would be great if OrganizationServiceContext could be used like early bound class's with "Crm Service Util" or Entity Frameworks
how i imagine using
create OrganizationServiceContext then use the context to query (like ef or the context created when generating early bound class's with "Crm Service Util")
update multiple entities using the awesome smart change tracking
run a single context.SaveChanges() (like ef or "Crm Service Util" but with the smart change tracking keeping track of what needs changing saving)
4 votes -
XrmToolkit Site License
Is a site license possible to purchase?
4 votes -
Plugin registration shown Execution User column
Would be great to see at a glance the plugin message executing user as a column. This would quickly identify which messages are registered as impersonations.
3 votes -
Possibility of generating ProxyClasses with Properties-class only
Some Proxy Classes can be very large (eg. SystemUser - around 1.5MB) causing the assembly to grow quite significantly, but they can have very limited usage in the actual plugins / workflows, eg. only for strong typing attribute names inside a Fetch Xml or a Query Expression.
I would like it to be possible to have an option when adding a Proxy Class to a project to make it "Strong Typing only" and have just the ProxyClass with the inner Properties class generated to keep it small in size.
I would also like regenerating of such Proxy Class to update…
3 votes -
add javascript base form without attributes intellisense
Sometimes you don't know how the form will look like when you code, and then you might want to code defensively, could it be possible to have an execution context that allows us to do this, ie.
function OnFormLoad(executionContext: XrmBase.ExecutionContext) {
var firstNameAttribute = executionContext.getFormContext().getAttribute("firstname");
if(firstNameAttribute != null) firstNameAttribute.getValue();
}3 votes -
Typescript Intellisense XRM Namespace
Please make the Namespace of the current "XRMBase" changable or put it fixed to Xrm.
It's pretty annoying when working with Xrm.Utility... etc. so you gotta fake it every time with declare const Xrm: XrmBase<any> or something similarAfaik the intellisense files are created by xrmdefinitelytyped(?) and they have a setting for that but where to store the config?
3 votes -
Add summary comments to generated public/protected code
In our environment warnings are generated during deployment if any public or protected class, method, or property has no summary and param comments. We use Swagger which utilizes these comments.
For Example:
/// <summary>
/// Gets the error string.
/// </summary>
/// <returns>The error string.</returns>
/// <param name="attributeName">Attribute name.</param>
/// <param name="defaultErrorType">Default error type.</param>
protected override string GetErrorString(string attributeName, BaseProxyClass.eErrorType defaultErrorType)
{
if (_errorStrings.ContainsKey(attributeName))
{
return _errorStrings[attributeName];
}
return defaultErrorType == BaseProxyClass.eErrorType.Text ? TextError : NumberError;
}3 votes -
extract interface from class with comments
When you want to create an interface for a class you can use the helper "extract interface" on the class definition. This does not copy the leading comments used with tools such as Swagger; i.e. the comment block created with the three forward slashes ///
For example:
/// <summary>
/// Configuration manager
/// </summary>
protected readonly IConfigurationKeyManager _configurationKeyManager;3 votes -
Generate POCO or DTO early binding classes
Generate POCO or DTO early binding classes which do not have any references to the SDK. Any 1:n relationships are created as Property LIST<MyEntity>. Any Optionsets are generated as enums in separate file so there are no duplicates (i.e. status and statusReason ). The ability for these POCO classes to then generate an XSD without error. At run time AutoMapper could map from POCO to ProxyClasses
3 votes -
Add ability to use NPM for Web Resources, as well as unit tests
Nodejs projects natively use npm as the package manager, which works better with TypeScript (in my experience at least). Unit testing would be made easier as well. Those that would rather use nuget should be able to use .NET Core projects, which also includes native TypeScript unit test support as described in the documentation:
2 votes -
Add CalculateRollup function to early binding of a rollup field.
It would be great if I could Execute a CalculateRollupRequest if the field is a rollup field. Currently I have to extend the proxy class and so I could call the function. It could work similar to how lookup fields can RetrieveProxy<T> i.e. contactRecord.new_rollupfield.Rollup(OrganizationService) would execute the function.
2 votes -
More verbose publishing errors
When publishing, there is just generic errors. It should be specific to the file if that's possible.
Otherwise someone would have to go through each file individually to figure out which is the culprit. (time consuming, especially if there are many resources)
Example:
[XrmToolkit v5.1.0.0] -- <Error> -- 07/09/2017 1:56:19 PM -- Errors were encountered during the publish process:
Errors:
Unable to update the file in CRM: Object reference not set to an instance of an object.
Unable to update the file in CRM: Object reference not set to an instance of an object.
Unable to update the file in…2 votes -
Add support for JSON files
The lack of support for JSON files in D365 is a pain in the ass. Certainly if you want to share the same datafile between JScript & Plugin. The know workaround is to set JSON content in a web resource of type XML. It would be nice if we could link a JSON file with a new or existing XML webresource ignoring the fact that it is JSON instead of XML. Now we have to manually copy paste the content in the webresource editor.
2 votes -
Being able to override the default 1033 language, when generating option sets.
Used when showing a list of options from CRM, where you don't want languages mixed up.
Like you can with early bound generator, found on XrmToolBox.
1 vote -
Have an option to automatically disable work flows when publishing new ones
Straight forward instead of manually having to deactivate all of these workflows. Maybe there's a way to remotely deactivate them publish and reactivate them.
1 vote
- Don't see your idea?