NG 2018 beta

Latest Version: 2018.2

Introduction

NG ConnectionPack allows access to some of the most common Web based APIs (REST APIs) like cloud storage or Google Apps services. Thus you can you easily connect your application to these services and provide saving/restoring or import/export features. The following APIs are supported:

Cloud APIs

  • Google Mail
  • Google Drive
  • Google People
  • Google Calendar
  • Google Tasks
  • Google Sheets
  • Box.NET
  • Dropbox User Endpoints
  • More services pending (Dropbox Business Endpoints, more Google services, AWS).

Starting from 2018 version, NG ConnectionPack has been fully reworked to provide formal access (“as is”) to the corresponding web APIs. Component’s methods, parameters and return types are closely related to respective APIs native structure, which makes possible to provide almost complete APIs functionality and the ability to learn services using their native documentation.

New data type system provides nullable primitive types, and, as well, lists, maps, objects and unions (used in Dropbox 2.0 API).

New API Explorer tool, which can be used directly inside Delphi IDE allow to test any API operations, including data uploading/downloading, without code writing.

New reworked demos reflects the idea of providing much more web service APIs in a formal way. Demos contain simple for understanding code snippets in a common UI shell, which show most commonly used APIs functionality.

API Explorer

New API Explorer tool allows executing web API requests visually, without code writing. API Explorer works directly inside Delphi IDE at desing-time, and can be shown from Delphi main menu:

or as a component editor from component context menu:

API Explorer provides our experimental JSON editor for configuring request’s parameters and showing operation result data:

Data upading and downloading is also supported via file open/save dialogs.

Features

  • Provides state-less access to various REST APIs such as Google services (Mail, Drive, Tasks, Calendars, ect), Dropbox, Box.NET, ect.
  • Provides authentication dialog, along with a custom auth-UI interface for building application specific authentication dialogs.
  • Supports secure OAuth 2.0 authentication methods.
  • Allows to store/load authentication state to prevent explicit user authentication each time application starts.
  • Provides a smart memory management model, simplifying the package usage.
  • Provides grouping capability, which allow to implement a single authentication into a group of services of the same vendor (in this first release for for Google services only).
  • Compatible with Delphi and C++ Builder XE2 - Delphi 10.2 Tokyo, including 64bit support for XE2 and higher! The next Delphi/C++Builder release will be supported almost immediately after public availability.
  • Supported IDEs (VCL):
    • Delphi XE and better
    • C++Builder XE and better
    • All corresponding Studio Products (XE2, XE3, XE4, XE5, XE6, XE7 etc.)
  • FMX support for Delphi/C++Builder XE8 and higher
  • Supported operating systems: Win 2000 or better (including Windows 7 + 8)
  • Full sourcecode of all controls included. Registered versions include NG DevUtil to compile packages on target system.
  • Extensive demo project with sourcecode
  • Free updates via Internet
  • A Site License covers unlimited number of developers in same organization at one location
  • Free technical support via public forum (forum.lmd.de), e-mail, fax or mail;
  • Also available as part of NG Complete or LMD VCL Complete.

Screenshots

NG ConnectionPack components

Component icons in IDE toolbox

NG Google APIs demo

Screenshot of the project which demonstrates access to the different Google service APIs.

procedure TDriveModule.ListAllFiles;
var
  res: TNGFileList;
begin
  res := NGGDrive.ListFiles
                 .Q('trashed = false')
                 .Execute;

  OutputFileList(res);
  Shell.SetData(res.ToString);
  res.Free;
end;
var
  res: TNGFile;
begin
  if not InputQuery('GetFileInfo', 'Enter file Id', FFileId) then
  begin
    Shell.Output('Canceled');
    Exit;
  end;

  res := NGGDrive.GetFile
                 .Fields('*')
                 .Id(FFileId)
                 .Execute;

  Shell.Output('Id: ' + res.Id);
  Shell.Output('Name: ' + res.Name);
  Shell.Output('Size: ' + IntToStr(res.Size));
  Shell.Output('MimeType: ' + res.MimeType);

  Shell.SetData(res.ToString);
  res.Free;
end;

Dropbox demo

Screenshot of the project which shows access to Dropbox.

procedure TDropboxModule.ListFolderItems;
var
  i:   Integer;
  arg: TNGListFolderArg;
  res: TNGListFolderResult;
begin
  if not InputQuery('ListFolder', 'Enter folder path; use empty ' +
                    'string for root folder', FPath) then
  begin
    Shell.Output('Canceled');
    Exit;
  end;
  FPath := ReplaceStr(FPath, '\', '/');

  arg := TNGListFolderArg.Create;
  arg.Path := FPath;

  res := NGDropBox.ListFolder
                 .Arg(arg)
                 .Execute;

  Shell.Output('Folder items (%d):', [res.Entries.Count]);
  for i := 0 to res.Entries.Count - 1 do
    Shell.Output('  ' + res.Entries[i].PathDisplay);

  Shell.SetData(res.ToString);
  res.Free;
end;
procedure TDropboxModule.GetUserInfo;
var
  res: TNGFullAccount;
begin
  res := NGDropBox.GetCurrentAccount
                  .Execute;

  Shell.Output('User name: ' + res.Name.DisplayName);
  Shell.Output('E-mail: ' + res.Email);

  Shell.SetData(res.ToString);
  res.Free;
end;

Google Tasks mobile demo screenshots

Screenshot of the project which show access to Google Tasks API from mobile devices using FMX.

Task lists screen

Tasks screen

Google Calendar mobile demo screenshots

Components

TNGBoxNet
Use this control to get access to the Box.NET cloud storage service.
TNGGDrive
Use this control to get access to the GDrive cloud storage service.
TNGGTasks
Use this control to get access to the Google Tasks cloud service.
TNGGCalendars
Use this control to get access to the Google Calendars cloud service.
TNGOneDrive
Use this control to get access to the OneDrive cloud storage service.
TNGDropBox
Use this control to get access to the DropBox cloud storage service.

Downloads

Description Date Available Files
NG Controls Trial

This trialversion includes NG ConnectionPack, NG Drag&DropPack, NG SerializationPack (XE and higher only), NG HTMLPack, NG DialogPack and NG ValidatorPack Trials.

HTMLPack, Drag&DropPack and DialogPack demo files contain compiled demos.

Delphi XE2 (and better) release contains 32bit + 64bit support. Latest ServicePack required for XE2 + XE6 releases.

Installation problems? Read the corresponding Package Installation Wiki entry.

Terms of use (Trials) / License Agreement / Support Topics

May 3, 2018

© LMD Innovative, Germany. All rights reserved. All other trademarks are acknowledged.