Changelog 2014

December 2014

New Features

Unit Testing

  • Added Vidyano unit tests

  • Renamed Service to Client for better clarity

Translation Export/Import

  • Added Export/Import functionality for translations

  • Allows easier localization management

  • Uses DataExport icon

Fixes

  • Fixed issue with StackedAreaChart

  • Fixed issue with BinaryFile on OpenAsDialog

  • Ignore NullReferenceException on System.Web's AssociateWithCurrentThread

Maintenance

  • Made OnImport methods public

  • Allow OK/Notice/Warning notifications on OpenAsDialog Save (shows on query)

  • Allow RegisterStream with null as key

November 2014

New Features

Dynamics System

  • Full dynamic schema implementation released

  • Show in management (Advanced -> Dynamics)

  • Allow New/Delete from management

  • Show Collections/Security queries on DynamicSchema

  • Allow configuring of Security on DynamicSchema

  • Added default PersistentObject actions class for Dynamics (DefaultPersistentObjectActions`1)

Diagnostics

  • Added comprehensive diagnostics functionality

  • Better insight into system behavior

OpenAsDialog State

  • Added StateBehavior OpenAsDialog

  • Web: Added PersistentObject.openAsDialog support

  • Better dialog management

Fixes

  • Fixed issue with OpenAsDialog and ComboBox

  • Fixed issue with optimize select

  • Fixed issues with Session setting

  • Fixed issues with Impersonate when translation failed

  • Fixed issue with changes being made to User using Management

  • Fixed issue with tooltips on dialogs leaving invisible DOM elements behind

  • Fixed issue with SelectReferenceDialog modifying all open jQuery dialogs

  • Fixed caching issue after creating new dynamic schema

  • Fixed issue with EF6 handling transactions differently

Maintenance

  • Changed Export to Excel to ignore trimming on text columns

  • Include max users information on License PO

  • Performance fix when saving UserSettings

  • Show Impersonate inline on Users

  • Added LastLogins/NewUsers chart on Users

  • Allow delete property on dynamic collections from code

  • Added createIfNotExists to GetOrCreateSchema method on public interface

  • Allow custom dynamic queries

  • Added favicon

  • Added Vidyano repository unique constraints

  • Changed NotEmpty rule to check current language for TranslatedString

  • Web: Include inline selectedItems for execute hook

  • Web: Fixed styling issue with input[type=password]

October 2014

New Features

Dynamic Schemas

  • Complete Dynamic Schema implementation

  • DynamicCollection/DynamicCollectionProperty Persistent Objects

  • Dynamic schema administration groups ([Schema]_Admin)

  • Data security to Dynamics

  • Validation logic for dynamic entities

  • Auditing and soft delete support

Data Types

  • Added User/NullableUser data types

  • Added CommonMark data type support

  • Added DataTypeBuilder

Advanced Hooks

  • Allow custom queries on POActions

  • Allow open generic (TEntity) POActions

Fixes

  • Fixed exception when dynamic CreatedBy attributes don't exist

  • Fixed issue where a dynamic schema could not be deleted

  • Fixed issue with WebControllerLogger invoking before SchemaSynchronizer

  • Fixed issue with duplicate group names

  • Fixed translated string issue on messages

  • Fixed issue with EF6 already optimizing joins

  • Fixed Chrome for Android scrolling issue on QueryGrid

  • Fixed viSearch issue when using double condition on entity

  • Fixed DateTimeOffset issue

  • Fixed issue with EF6

  • Fixed issue with using projected EF types

Maintenance

  • Changed OptimizeSelect to opt-out

  • Added filter and sorting client messages for Vidyano Web2

  • Changed Settings to show difference between Vidyano and custom settings

  • Ensure valid DynamicCollection/Property names

  • Don't add client routes for dynamic persistent objects

  • Added transaction support over DynamicCollection/Property deletes

  • Don't filter auditing and soft delete data for schema_Admin users

  • Moved auditing and soft delete data to separate tab/groups

  • Only expose correct attributes for PO/POA based on dynamic

  • Cache Schema.IsDynamic

  • Ensure correct TargetContext for ExecuteQuery

  • Expose various StringEx methods

  • Updated NuGet packages

  • Expose userCulture/userLanguage

  • Changed select optimizer to opt-in (Vidyano.EnableOptimizeSelect)

  • Log actual GetObjects (SQL + materialize)

  • Handle double conditions on viSearch

  • Ignore unsaved changes if po has no Save/EndEdit action

  • Show notification for unsaved changes on CancelEdit/CancelSave

  • Added Optimize Select feature

  • Expose some helper methods for handling Sort

  • Allow Key attribute on primary key properties

  • Force v5 to use .NET 4.5

  • Improved text search on bool, numeric, and KeyValueList

  • Show expires info on License PO

  • Hide trial notification after activation

  • Added option to request trial key

  • Added api methods (available from /api/methodName)

  • Added required for Remaining- and MatchingDistincts attribute

  • Web: changed confirmation for unsaved changes on CancelSave/CancelEdit to opt-in

  • Web: consistent behavior for PU's and openFirst

  • Web: tweaked position of labels and input

September 2014

New Features

Environment Version

  • Added EnvironmentVersion support

  • Better version management

TranslatedString Enhancements

  • Changed TranslatedString behavior

  • Added NotificationType.Warning

  • Allow Image to be changed to BinaryFile

Fixes

  • Fixed issue with columnCount not working anymore on Tabs

  • Fixed issue with Session PO showing json label on Settings

  • Fixed issue with PO.Save not restoring global flag

  • Fixed BulkEdit issue on system PO's with TranslatedString

Maintenance

  • Don't add query item count for global search in web v2

  • Added ability to use original value in QueryExecuted's QueryResultItemValues

  • Updated NuGet packages

  • Consistent NuGet packages

  • Fixed edmx warning

  • TypeScript definitions update

  • Tweaked VidyanoDbCache to use locking instead of ConcurrentDictionary

  • Make sure SelectInPlace uses the DisplayAttribute for sorting

August 2014

New Features

GroupingInfo

  • Added GroupingInfo support

  • Better query result grouping

Fixes

  • Fixed merge issue

  • Fixed issue when Sort changed from IQueryable to IEnumerable

Maintenance

  • Added readonly/disabled QueryResultItem type hint

  • Updated WebAPI to 5.2

  • Updated OData to 5.6.2

  • Updated JSON to 6.0.4

  • Updated WindowsAzure.Storage to version 4.2

July 2014

New Features

Word Compatibility

  • Customize Word compatibility

  • Better document generation

User Management

  • Expose User.UpdateLastLoginDate

  • Added ability to check if group exists

Fixes

  • Fixed typo in NullableBoolean template

  • Fixed issue with GetQuery failing if system query with same name exists

  • Fixed boolean in attribute as detail

  • Fixed AdvancedSearch issue

  • Fixed issue with TriggersRefresh

  • Fixed issue with Word template

  • Fixed issue with sorting on Dynamic

  • Fixed QueryGrid sometimes not showing bottom row

  • Fixed Flags enum box with empty value

  • Fixed KeyValueList issue

Maintenance

  • Updated Core packages

  • Ignore X-Frame-Options header for ExecuteAction/GetStream

  • Don't use verbose log for Performance call

  • Added IndexHtml to CustomWebController

  • Removed old WPF test project

June 2014

New Features

Performance Data

  • Expose Performance data

  • Better performance monitoring

Charts Enhancements

  • Allow LineChart grouped on DateTime and string

  • Better chart flexibility

Fixes

  • Fixed focus issue on sign in page

  • Fixed issue with DisableSort not being checked when looking for default SortOptions

  • Fixed issue with cloned attributes without data type

  • Fixed null check in showNotification

  • Fixed issue with CancelEdit only working once for StayInEdit

  • Fixed issue with eg Object tampering being thrown during ExecuteAction

  • Fixed issue when synchronize creating duplicate PO's

  • Fixed issue when Logging exception before initializing logic is executed

  • Fixed NRE for textSearch on virtual property

  • Fixed issue with missing result hook for PO

  • Fixed issue with accent colors

Maintenance

  • Bye bye WPF - removed WPF support

  • Improved handling of DataTypes on POA

  • Fixed tests

  • Updated libraries

  • Updated WindowsAzure.Storage to version 4.0.1

  • Updated EntityFramework to version 6.1.1

  • Removed some obsolete code

  • Don't show ACS exception information to end user

  • Make sure cache is updated when using Manager.CreateForUser

  • Added ellapsed milliseconds to verbose logging

  • Correctly handle added/removed attributes during refreshFromResult

  • Added count to spinner to prevent premature spinner removals

  • Call onError when onCompleted throws an exception in ExecuteAction

  • Added HasPersistentObject/HasQuery methods IBuilder

  • Show client error if refreshFromResult is called with wrong PO

  • Added ObjectTamperingDetection helper

  • Expose Parent on QueryExecutedArgs

  • Show messages with invalid format

  • Allow data filter/text search with non-existing properties

  • Changed QueryResultItemValue.displayValue to be both function and string

  • Changed luminance to +25% for light accent color

  • Fixed typo in message

  • Ignore columns that can't be filtered

  • Updated crawler handler with more image types

  • Changed behavior when getPersistentObject returns a notification and notificationType is "Error"

May 2014

New Features

  • First implementation for advanced search

  • Better search capabilities

Word V2 Templates

  • Added Word v2 templates

  • Improved document generation

MessageBuilder

  • Added MessageBuilder

  • Added CustomActionBuilder

Fixes

  • Fixed issue with w15 databindings not being checked

  • Fixed issue with ACS not showing errors

  • Fixed issue with PO staying in isNew after save

  • Fixed memory leak in resize

  • Fixed Word issue

  • Fixed repeating sections issue in Word template

  • Fixed issue with user rights being added twice

Maintenance

  • Correctly remove all content blocks

  • Make sure all document parts are checking for data bindings

  • Allow MultiLine translated string

  • Added option to strip unused xml from custom xml part

  • Added Base64 rule on ACS symmetric key

  • Removed ClientEnvironment.Desktop

  • Removed WPF templates/icons

  • Fixed missing query right on Vidyano.SearchObject

  • Use TextSearch for AdvancedSearch

  • Added extra hooks for GetDistinctValues

  • Made extra hooks visible

  • Added Initialize hook on any PersistentObjectActions implementation

  • Only call Initialize after cache is loaded

  • Added Retry button to Error page

  • Cleanup references to query resultContainer and charsContainer (leakage)

  • Added total time spent on SQL Statements to profiler view

April 2014

New Features

PersistentObjectAttributeAsDetail

  • Added PersistentObjectAttributeAsDetail definition

  • Better detail attribute handling

Fixes

  • Fixed issue with bulk edit on POA not showing extra attributes

  • Fixed issue with table storage throwing 404 when entry is already deleted

  • Fixed issue with reports

  • Fixed issue with log verbose not matching parent

  • Fixed issue with reference having displayattribute with dot not working for textsearch

  • Fixed submenu on IE touch

  • Fixed issue with filtering on reference attributes

  • Fixed typo in AuthenticatorService.GetFriendlyUserName method

  • Fixed issue with UserSession.Dispose when called

Maintenance

  • Updated NuGet packages

  • Updated Open XML SDK (2.5)

  • Code cleanup

  • Force https for azurewebsites.net/apphb.com if not set

  • Correctly generate urls for web scraper

  • Include ContentDisposition header for IO7 or higher

  • Call registerInput on detail attribute's parent

  • Use same logic for ACS when user can't log in (i.e. show HTML error)

  • Added hook on CustomWebController to override error page

March 2014

New Features

Security Enhancements

  • Added configurable password complexity system

  • Added image file upload validation

  • Added safer underscore values to templates

  • Remove server and asp.net headers

  • Added x-frame-options = sameorigin

  • Added x-content-type-options = nosniff

Verbose Logging

  • Complete verbose logging implementation

  • Added verbose logging query

  • Added verbose logging data object

  • Added basic text filtering on LogVerbose

  • Added reference searching on LogVerbose

  • Added retry for failed LogVerbose entries (max 10)

  • Use Log Retention settings for WebControllerLogger

  • Added WebControllerLogging to Windows Azure

  • Compress verbose logs

Vidyano Mobile Client

  • Added Vidyano JQuery Mobile Client

  • Added BackBone & Underscore support

  • Added page navigation parameters

  • Added Query Page

  • Added PersistentObject Page

  • Added flipswitch

  • Added attribute hooking

  • Added save button

Charts

  • Added MultiChart

  • Handle valueFormat option for all charts

Fixes

  • Fixed issue with 'Invalid user name or password' not showing

  • Fixed Poll call not working

  • Fixed issue with custom queries that return an array

  • Fixed query filter stay open

  • Fixed issue with virtual Messages/Settings showing in Management

  • Fixed issue with $.cookie

Maintenance

  • Always delay user/password check by 1-2s

  • Don't send profiler on exception

  • Don't log Poll calls

  • Fixed logout on cross-browser tabs

  • Don't leak UserName to Google Analytics

  • Use correct way of transforming web.config file

  • Fixed TypeScript issue when building Vidyano 4.5

  • Strip password from incoming data in GetApplication

  • Removed obsolete IE8 utf8 fix

  • Made CustomQueryArgs parameter optional on custom queries

  • Added method to update PO's attributes from ClrType

  • Never send unmapped properties to EF query

  • Fixed invalid NotMapped check

  • Updated to EF6.1

  • Tweaked locking behavior for cache updates

  • Sleep 4 hours instead of 1 minute for deleting old verbose logs

  • Added disabled as placeholder for VidyanoLogging

  • Give link to actual Log message when synchronizing

  • Force password complexity (CreateNewUser/ChangePassword/...)

  • Correctly call VidyanoDbCache instead of Manager.Current when possible

  • Updated NuGet.exe to 2.8

  • Added Vidyano.LoggingExcludedUserIds

  • Added Vidyano.LoggingExcludedVidyanoMethods

  • Added logging of Vidyano version

  • Don't log verbose for IsSystem

  • Don't show Log (Verbose) if not configured

  • Added assembly binding redirects

  • Fixed code mirror line separator

  • Added template for log verbose data

  • Hide empty attributes on Log Verbose

  • Hide empty columns on Logs verbose

  • Add -vi- class to content for full page queries

  • Changed LogsVerbose WebCode to CSS

February 2014

New Features

Charts System

  • Complete charts implementation

  • Added bar chart, line chart, treemap

  • Added NVD3 charts integration

  • Added StackedAreaChart

  • Added LineChart with focus

  • Added custom color scale and date/number formats

  • Charts as TypeScript

  • Server-side and client-side chart rendering

  • Chart selector and filters

  • Support for up to 20 values for bar/line charts

  • Added WithCumulativeValues on LineChart

  • Added grouping to LineChart (ByYear, ByMonth, ...)

DynamicEngine

  • Added DynamicEngine

  • Fixed DynamicEngine GetGlobalValue/SetGlobalValue issue

Fixes

  • Fixed sorting issue when using anonymous type

  • Fixed EF6 sorting issues

  • Fixed Jurassic issues

  • Fixed LineChart GroupBy on enumerable sources

  • Fixed index checking bug

  • Fixed reflection issue when calculating total

  • Fixed search box disappearing on navigation

  • Fixed chartSelector bug

  • Fixed LineChart when filtering

  • Fixed DataFilter issue on in-memory queries

  • Fixed issue with synchronize when using custom detail query

  • Fixed issue with calls to refresh distincts when adding or removing empty filter column

  • Fixed bug where chart selector is shown on full page layout while not in query mode

  • Fixed issue with having multiple attributes with column in single group

  • Fixed broken merge on POA Clone method

  • Fixed overflow hidden clipping chart tooltips

  • Fixed chart issues on EF6

  • Fixed chart label not being used on rendered chart

  • Fixed chart issues on EF6

Maintenance

  • Updated hashing to bcrypt(10)

  • Added parseJSON function

  • Added Sort hook

  • Copied Jurassic xml documentation

  • Added MultiString Web control

  • Show ExecuteQuery notifications on Query

  • Prevent EF6 merge issues

  • Allow customization of Total Item (GetTotalItem method)

  • Correctly verify the chartSelector container is still in reference to the current query

  • Added safety check to chartSelector

  • Pass along parent in ChartArgs

  • Fixed issue with wrong version of d3js

  • Only call OnChart when calling ExecuteQuery with Top is 0

  • Update charts client-side

  • Changed behavior when getting Vidyano objects from cache

  • Removed wl.basic from Microsoft Account OAuth

  • Handle DataTinker license differently (only DataTinker schema is checked)

  • Added overloads to get values for children on BarChart/LineChart

  • Added MultiString data type

  • Added extra operators to POA (to string[], to JObject, to JArray, from string[], from JToken)

  • Fixed issue with data filter not ordering on reference attributes

  • Fixed empty source on Query in some cases

  • Added Vidyano.Service.Charts using on new POActions

  • Added Poll method to WebController

  • Keep enumerables as enumerable when using Where/Select/SelectMany on Source

  • Show exception when sort failed for EnumerableQueryable

  • Improved setting of Total value when using TotalItemArgs

  • Fixed issue with ServiceGateway.fromServiceString not working for unsigned types

  • Moved Vidyano web classes to Vidyano module

  • Improved vidyano.d.ts

  • Updated Vidyano-4.0.d.ts

  • Updated NuGet dependencies

  • Added WindowsAzure.Storage nuget package

  • Fixed profiler issue

  • Consistent API for BarChart/LineChart

  • Added Select/SelectMany on Source

  • Handle elapsedMs on profiler as int

  • Added header to charts

  • Always order line chart on date

  • Moved charts to Charts namespace

  • Updated chart color palette

  • Added TypeScript libraries

  • Opened service side Charts

  • Show bar char x axis

  • Fixed bar chart labels

  • Handle null/empty as name

  • Changed bar to use color

  • Added client bar chart rendering

  • Added filters for bar chart values

  • Finalized bar chart (up to 5 values)

  • Added submenu to chart buttons

  • Fixed data filter stay open

  • Render client side query treemap

  • Fixed data filter for charts

January 2014

New Features

Query Enhancements

  • Added charts on Query

  • Added inherited rights on users/groups

  • Added optional Query argument for Find/GetEntity

Fixes

  • Fixed synchronize for poa's with name that is not identical with context property name

  • Fixed issue with get unknown message for specific language

  • Fixed Next & Previous icon alignments

  • Fixed profiler ellapsed milliseconds

  • Fixed issue with Query argument when Query is using another PO (DB View, ...)

  • Fixed datafilter for inherited user actions

  • Fixed NullableBoolean search not working

  • Fixed merge issue

  • Fixed NRE issues

Maintenance

  • Updated to WebApi 2.1 (5.1)

  • Added groupname on persistent object attribute clone

  • Auto-apply text search filter based on propertyType

  • Changed New behavior to hide attributes that don't have New right


Note: 2014 was a transformative year with 280 commits introducing the Dynamic Schemas system, comprehensive charts functionality, verbose logging, password complexity management, Vidyano Mobile Client, and the beginning of the transition away from WPF support.

Was this helpful?