Skip to content

DelphiMVCFramework 3.1.1-beryllium-RC3

Pre-release
Pre-release
Compare
Choose a tag to compare
@danieleteti danieleteti released this 08 Mar 08:50
· 1595 commits to master since this release

DelphiMVCFramework 3.1.1-beryllium-RC3

  • New! Added SQLGenerator and RQL compiler for PostgreSQL (in addition to MySQL, MariaDB, Firebird and Interbase)
  • Improved! Greatly improved support for HATEOAS in renders. Check TRenderSampleController.GetPeople_AsObjectList_HATEOS in renders.dproj sample)
    //Now is really easy to add "_links" property automatically for each collection element while rendering
	  Render<TPerson>(People, True,
		procedure(const Person: TPerson; const Dict: TMVCStringDictionary)
		begin
		  Dict['x-ref'] := '/api/people/' + Person.ID;
		  Dict['x-child-ref'] := '/api/people/' + Person.ID + '/child';
		end);
  • Better packages organization (check packages folder)
  • New! TMVCActiveRecord.Count method (e.g. TMVCActiveRecord.Count(TCustomer) returns the number of records for the entity mapped by the class TCustomer)
  • Change! TMVCACtiveRecord.GetByPK<T> raises an exception if the record is not found
  • New! contains clause has been added in the RQL compiler for Firebird and Interbase
  • New! TMVCAnalyticsMiddleware to do automatic analytics on the API (generates a CSV file). Based on an idea by Nirav Kaku (https://www.facebook.com/nirav.kaku). Check the sample in \samples\middleware_analytics\
  • New! TMVCActiveRecord.DeleteAll deletes all the records from a table
  • New! TMVCActiveRecord.DeleteRQL deletes records using an RQL expression as where clause.
  • New! Microsoft SQLServer Support in ActiveRecord and RQL (thanks to one of the biggest Delphi based company in Italy which heavily uses DMVCFramework)
  • Improved! ActiveRecordShowCase sample is much better now.
  • Improved! In case of unhandled exception TMVCEngine is compliant with the default response content-type (usually it did would reply using text/plain).
  • Fix! issue184.
  • Breaking Change! In MVCActiveRecord attribute MVCPrimaryKey has been removed and merged with MVCTableField, so now TMVCActiveRecordFieldOption is a set of foPrimaryKey, foAutoGenerated, foTransient (check activerecord_showcase.dproj sample).
  • Added! New overloads for all the Log* calls. Now it is possibile to call LogD(lMyObject) to get logged lMyObject as JSON.
  • Fixed! issue164
  • Fixed! issue182
  • New Installation procedure! Just open the project group, build all and install the design-time package (which is dmvcframeworkDT)
Delphi Version Project Group
Delphi 10.3 Rio packages\d103\dmvcframework_group.groupproj
Delphi 10.2 Tokyo packages\d102\dmvcframework_group.groupproj
Delphi 10.1 Berlin packages\d101\dmvcframework_group.groupproj
Delphi 10.0 Seattle packages\d100\dmvcframework_group.groupproj

For older Delphi versions still there aren't complete packages available, but DMVCFramework is usable from XE7 without any issues. If you use a version previous of Delphi 10.1 Berlin and you want to contribute, please provide your group project using the distributed packages as example.