Skip to content

General

52 results found

  1. Improvements for the new CreateMultiple and UpdateMultiple messages

    The new messages are available for plugins. More info here: https://learn.microsoft.com/en-us/power-apps/developer/data-platform/write-plugin-multiple-operation?tabs=single

    We can already register plugins for them using XrmToolkit but some things are missing.

    1. we cannot add filtering attributes for the UpdateMultiple, which is possible using the PluginRegistrationTool

    2. Those messages have a new InpotParameter "Targets" that is an EntityCollection. It would be great to have it available in the LocalPluginContext class.

      Proposed implementation (tested):

      // as EntityCollection
      internal virtual EntityCollection TargetEntityCollection => PluginExecutionContext.InputParameters.TryGetValue("Targets", out EntityCollection value) ? value : null;
      or
      //as List<Entity>
      internal virtual List<Entity> TargetEntities => PluginExecutionContext.InputParameters.TryGetValue("Targets", out EntityCollection value) ? value?.Entities?.ToList() : null;

      Example usage in…

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  2. Add empty check on ToEntityReference method

    Add this Guid.Empty check and return null if empty.
    Reason:
    EntityReference account = new Account();

    This should assign null but instead it assigns an EntityReference with Guid.Empty. This throws an error when trying to Save.
    The error can be resolved if it assigned null as EntityReference instead.

        public EntityReference ToEntityReference()
        {
            if (Id == Guid.Empty) return null;
            return new EntityReference(LogicalName, Id)
            {
                RowVersion = RowVersion
            };
        }
    
    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  3. Add basic handling of Environment Variables

    I've noticed that there are no built-in methods which would allow to fetch or store Environment Variables via XrmToolkit.

    How I would imagine the perfect support here:

    • Autogenerate a file similar to "MessageNames.cs" or "TableNames.cs" called "VariableNames.cs" or "EnvVariableNames.cs" (other name ideas are welcome) which would store schema names of all available environment variables in the same fashion as the other mentioned files do already + have the ability to regenerate the file.

    • Create IOrganizationService extension methods which would fetch the variable's value based on its name. I imagine the method to first try and return the "Current Value" (environment-based)…

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  4. Improvements to Development of Dependent Assembly Plugins (Plugin Package)

    When exporting a solution with a plugin package component, the pluginpackageid isn't exported. This cause an issue where importing the solution will generate an unique pluginpackageid per environment.

    XrmToolkit uses 'PluginAssemblyPackageId' to match plugin packages based on pluginpackageid. This can cause an issue when using the same plugin package across multiple environments.

    Ideally we would like XrmToolkit to match plugin package based on the name rather then the pluginpackageid.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  5. Provide a Guideline for Dependent Plugin Assemlies

    Could you please so kind to provide a guideline how you planed to work with Dependent Assemblies in Version 8.2?

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  6. return an int of updated records in the Update method

    On the Update method of BaseProxyClass, return an int of updated records. If no Update was sent because _changedValues.Count was 0, it should return 0, otherwise 1. This would help to count the amount of updates that were sent for logging purposes.

        public int Update(IOrganizationService service)
        {
            if (_changedValues.Count > 0)
            {
    
                service.Update(GetChangedEntity());
                _changedValues.Clear();
                return 1;
            }
            return 0;
    
        }
    
    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  7. create a Clear method for the BaseProxyClass

    A Clear Method should allow us to execute _changedValues.Clear();

        public T Clear<T>() where T : BaseProxyClass
        {
            _changedValues.Clear();
            return (T)this;
        }
    

    Reason being following request:

    var leads = (from l in crmContext.CreateQuery<Lead>()
    
                      select new Lead
    
                      {
    
                           LastName = l.LastName,
    
                           LeadSourceType = l.LeadSourceType
    
                      }.Clear<Lead>());
    

    The only way to select column here is by creating a new instance of Lead in select. This will cause all columns to be considered "changed". Even though they were just retrieved.
    Therefore it should be possible to Clear the _changedValues property.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  8. Add support for Custom Page

    Custom page and canvas app are similar thing to web resources that can be downloaded.

    Thanks.

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  9. 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
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  10. plugin link

    When I build & publish, the assembly gets added to the chosen solution automatically.

    I have multiple project for different assemblies – and sometimes I by mistake build/publish the wrong one. Sometimes changes include other base assemblies, that are already added to different solution. But when developing, I must build & publish that particular assembly too without changing solution context – and boom, it gets added to solution.

    Usually I notice when I export solution with packager and then I go to CRM, remove dll and export again. Somehow I even missed that (ahh, everything in that solution must be…

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  11. 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
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  12. 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…

    7 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  13. 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 similar

    Afaik the intellisense files are created by xrmdefinitelytyped(?) and they have a setting for that but where to store the config?

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  14. 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
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  15. Drop idea "D365 Tools Window" - not re-inventing XrmToolbox concept

    Instead provide your "tools" as XrmToolbox plugin for paying customers, if the tools you sell offer a reasonable extra value compared to those already available in XrmToolbox.

    Rather focussing on things XrmToolkit differentiates from any other tool.

    8 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  16. Customer Self-Service Portal

    Login. See the invoices, license count and license id of licenses my company has purchased so i can easily transfer license if staff leave our organisation.

    5 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  17. 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:

    https://docs.microsoft.com/en-us/visualstudio/javascript/unit-testing-javascript-with-visual-studio?view=vs-2019&tabs=mocha

    2 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  18. 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
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  19. 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
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  20. XrmToolkit Site License

    Is a site license possible to purchase?

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
← Previous 1 3
  • Don't see your idea?

General

Categories

Feedback and Knowledge Base