Giter VIP home page Giter VIP logo

fetchxmlbuilder's Introduction

FXB FetchXML Builder for XrmToolBox

Build queries for Microsoft Dataverse and the Power Platform. Investigate data. Get code. Empower yourself to achieve more.

Works well with Microsoft Dynamics CRM 2011-2016 and Microsoft Dynamics 365 and Power Platform, online and onprem.

Written by Jonas Rapp, Stockholm, Sweden.

Follow FetchXML Builder on Twitter!


Need more info?

Visit the FetchXML Builder homepage at https://fetchxmlbuilder.com !


Questions? Feedback? Praise?

Visit the FetchXML Builder forum at https://fetchxmlbuilder.com/forum !

fetchxmlbuilder's People

Contributors

betimbeja avatar davidlb avatar dependabot-preview[bot] avatar filcole avatar gitter-badger avatar grasshopperhamburger avatar joshcampbell191 avatar limitednl avatar linnzawwin avatar lukekolodziej avatar markmpn avatar phuocle avatar rajrao avatar rajyraman avatar rappen avatar shytikov avatar suxsem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fetchxmlbuilder's Issues

"Format XML" option available in C# code window.

When generating C# code from a FetchXml query by using the "QueryExpression C# code" option, the resulting window contains a Format XML option. This is confusing, since the window doesn't contain XML, but C#.

image

Execute using F5

Make it possible to execute query SQL Server style by hitting the F5 key.

Does not allow doubleclicks in GridResult in case if entity does not have form

It is possible to query "system" entities that does not really have an entity form. For example, plugin, plugintype, sdkmessageprocessingstep and others. But by showing results of such a query in the GridResult will lead to ability user to double-click on the line and open website on the address that shows nothing except confusing error message that access is denied or entity does not exist.

Both this statements are not true.

I think it's much more correct to just remove this action (and tooltip that proposes to use this functionality) from the results on entities that could not be shown on web.

Horizontal scrolling is needed

Horizontal scrolling is needed on GridView query results with many columns. It is still possible to move view into the right and left, but the UI does not help to understand how many invisible columns left invisible.

Opening the view "Accounts : No Orders in Last 6 Months" crashes the app.

The "Accounts : No Orders in Last 6 Months" view doesn't open correctly - (It's an out of the box view.)

I've tested with CRM2015 OnPremise and CRM2015 Online Beta and in both cases, attempting to open the view, the app throws an exception.

System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Cinteros.Xrm.FetchXmlBuilder.FetchXmlBuilder.OpenView()

FXB Version 1.2015.3.13

Filter In OptionSet Manually Enter Values

It would be pretty neat to be able to select the values for an OptionSet that is part of an 'in' condition from a list rather than having to type each option manually.

Incorrect QueryExpression code generation for LinkedEntity

When using the QueryExpression C# code option to generate C# code from a FetchXml containing a linked entity expression, the target attribute of the AddLink method is set to an incorrect attribute. Consider the following FetchXml:

<fetch count="50" >
  <entity name="cint_cwp_login" >
    <link-entity name="contact" from="contactid" to="cint_contact_id" link-type="inner" />
  </entity>
</fetch>

The following code is generated - and the third attribute to the AddLink-method is incorrect - contact. Should be contactid.

// Instantiate QueryExpression QEcint_cwp_login
var QEcint_cwp_login = new QueryExpression("cint_cwp_login");

// Add all columns to QEcint_cwp_login.ColumnSet
QEcint_cwp_login.ColumnSet.AllColumns = true;

// Add link-entity QEcint_cwp_login_contact
var QEcint_cwp_login_contact = QEcint_cwp_login.AddLink("contact", "cint_contact_id", "contact");

Screenshot:

image

Query output type should have default value in drop-down menu

During very first run when output type is not set, so trying execute query leads to notification message, asking to select desirable output type.

It confuses new user (as only very new users will receive such message) and makes them roam around to find needed option to set.

I think it's possible to stick to any output type value (presumably first one) as default to not confuse new users.

Menu enable-state not set on form load

Some menu options do not get the correct enable-state on first load of the plugin.
E.g. Open View... should not be available of no connection is opened.
image

Convert to OData

Add function to convert FetchXML to OData query string, when possible depending of the complexity of the FetchXML.

Add version checking to the FXB tab

Not sure if you can do a runtime check of the installed vs. latest version from with the tab, but that would be helpful to ensure that I'm up-to-date with changes that you release.
At minimum, add a hyperlink to your github releases page in the 'about' menu to make it easy to compare versions while in the tool.

Display result in grid

Add the option to display results of the executed fetch in a grid instead of just XML or JSON.

Free-text search in "Select Attributes" dialog

When adding attributes to a query by using the "Add" -> "Attributes..." dialog, in would be nice to be able to filter attributes in the list using a freetext field. For example, writing "cint_" in the text field would show only the attributes with schema-name or Friendly Name beginning with "cint_".

The search should be case-insensitive.

Usage of wild-cards ("*") would be nice.

Collect usage stats

If approved by user, collect usage statistics to improve usability of FXB.

Settings page

Create a page with all settings instead of having the Options-submenu growing out of control.

Configure CWP substitution parameters in Query

Add a user-friendly possibility to be able to in the FetchXml-builder specify that an attribute in the FetchXml query - when saved to CRM as a CWP feed - should be replaced with a specific CWP substitution parameter.

For example {cwpuser:contact_id} in the cwpuser namespace, or {querystring:myQueryStringVariable} in the querystring-namespace.

Example of a resulting FetchXml feed saved to CRM:

<fetch mapping="logical" version="1.0">
  <entity name="cint_cwp_login">
    <attribute name="cint_username" />
    <attribute name="cint_cwp_loginid" />
        <filter>
            <condition attribute="cint_username" operator="eq" value="{cwpuser:name}" />
        </filter>
  </entity>
</fetch>

Another example:

<fetch mapping="logical" version="1.0">
  <entity name="cint_cwp_login">
    <attribute name="cint_username" />
    <attribute name="cint_cwp_loginid" />
        <filter>
            <condition attribute="cint_username" operator="eq" value="{querystring:username}" />
        </filter>
  </entity>
</fetch>

List of Entities / Views in FXB is not refreshed until XrmToolbox is closed / re-opened

When the FXB "Open View" option is accessed the first time, FXB retrieves and caches a list of available entities/views.
If a new view is added to CRM, it won't show up in the list of available views until the Toolbox is closed / reopened (just closing/reopening the FXB tab is not enough)
If the connection is changed from one organization to another, the first organization's views will remain cached until the toolbox is closed and re-opened.

Move FetchRequest to output options

Selecting FetchRequest or RetrieveMultiple when executing does not really make sense anymore.
Easier if that is moved to Output Options along with the other options:

  • Serialized XML
  • JSON
  • Grid
  • FetchResult

image

Get data for Lookup conditions

If a condition refers to an entityreference (Lookup, Customer, Owner) it should be possible to look for records of the related entity to get a guid of the selected record into the condition value.

Force execution of typed xml

For testing purposes you might want FXB to execute FetxhXML that was manually typed in the edit window, even if it contains attributes or elements that are not supported by FXB.
There should be an option to not regenerate the xml based on the tree outline when executing the query.

Change namespace

Might be a good idea to have namespace:

Cinteros.XrmToolbox.<pluginname>

for all XrmToolbox plugins from Cinteros.

Dropdown for Order Alias in aggregate queries

When creating aggregate queries, all attributes returned have an Alias.
Adding the Order node then requires you to enter Alias instead of Attribte.

Create a dropdown list for existing aliases in the query to make it easier to know what to sort by.
Also disable Attribute field in this case, and disable Alias field in non-aggregating queries.

Issue using FetchXMLBuilder with CRM 2011

The tool works really well for CRM 2015, but when I try to use it for CRM 2011, it gives me an error. I am trying to return all the accounts which have no contacts. The error states " 'Account' entity doesn't contain attribute with Name = 'contactid'. "
Is the tool meant to work with CRM 2011? Or am I doing something wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.