Vidyano 4.0.7103

We’ve updated our Vidyano extension on the Visual Studio Gallery and on GitHub (Commit 2838609)

On the client side we have some nice improvements:

  • We’ve added multi-select on the query grid allowing you to use Shift to just select the first and last item of your selection.
  • You can now update the parameters that are going to be send in the execute hook of an action, allowing you to easily add extra parameters.
  • Added an easy to use control for editing user rights.
  • Fixed some rounding issue when re-sizing a master detail screen, when using bulk edit on a flags enum, when trying to load a filter if the action wasn’t available, etc

You can check the complete commit log for the Client on GitHub:


On the service side we have also made some changes:

  • Added the Default TimeZone setting allowing you to choose the default time zone that will be used when new Date/DateTime/DateTimeOffset attributes are used. This change is really useful when deployed to Windows Azure so that DateTime.Now will return a value in the chosen Time Zone.
  • Force attribute with no edit rights to stay read-only even when a developer accidentally changes them.
  • Added the ability to send a uniqueId to the Vidyano Service so that the tokens will be validated against that value instead of the user’s ip address.
  • Added extra information when getting the Program Unit information (Name, PersistentObject Type, …)
  • You can now use coded expression trees when overriding the GetTextSearchExpressionForColumn method without having to build a complete expression tree in code.
  • Fixed an issue with the cache not being correctly updated when searching for relative dates (now, next week, …)

You can get the latest service version of Vidyano by installing the extension from inside Visual Studio (Tools -> Extensions and Updates) or by going to the Gallery:


The User Right editor will really help new developers when working with rights because it will tell you which actions, schema’s, etc are available.

The first dropdown will show all the available actions, including custom actions, and the combinations (e.g.: QueryRead). The second dropdown allows you to choose an optional schema (Vidyano or your target schema). The third dropdown allows you to choose an optional Persistent Object.

For some actions (Query, Read, Edit, New) you can also choose a fourth option, the attribute.

For easy copy/pasting we also added a toggle option to switch between the editor and a normal text box.


The new way of writing code for the GetTextSearchExpressionForColumn allows you to write normal C# code when adding custom filter logic.

protected override Expression<Func<Product, bool>> GetTextSearchExpressionForColumn(QueryColumn column, ParameterExpression entityExpr, MemberExpression propertyExpr, string value, bool isEfQuery)
if (column.Name == "Name")
return p => p.Name != null && p.Name.Contains(value, StringComparison.OrdinalIgnoreCase);

return base.GetTextSearchExpressionForColumn(column, entityExpr, propertyExpr, value, isEfQuery);

You can write a normal where statement and Vidyano will automatically fix the generated code to match as needed.

There are some things you’ll have to consider, when working directly with LINQ to Entities you can’t use the Contains method with the StringComparison and you don’t really need to check for null.


As always, you can post feedback/questions on our website!/Questions which is also written with Vidyano or subscribe to our twitter to get all the latest information

Written and tagged in GitHub JavaScript Vidyano Edit