Category Archives: Level

Articles for different levels of developers

Creating PDF Reports in RAD Server

Creating PDF Reports in RAD Server

Reporting is a critical aspect of any enterprise application, but the data and the programming components to create reports are not always available on all platforms?

It took a little trial and error to work out the best path to create reports via RADServer using the components out the box.  In this post, I will share what I have learned along the way.

Reporting Components

The obvious answer to generating a report that can show on mobile is to create a report PDF report remotely download the PDF to the client over REST. But which version and platforms can be used?

Fast Reports (Embarcadero Edition), which is included in RAD Studio, provides everything we need to create a report and save it out to PDF for export.

Fast Reports – VCL or FMX?

Continue reading Creating PDF Reports in RAD Server

Developing client applications using RESTful master-detail data with TRESTResponseDataSetAdapter

This is part 3 in my series of developing an REST server and client application and will focus around using the TRESTResponseDataSetAdapter.

In my last two posts, we have created a REST server with a fully documented API using YAML , and exposed 3 datasets with master detail relationships over REST using zero lines of code.  If you have not read and watch the videos. I would suggest starting there. – It’s now time to consume the API into a cross platform Delphi Client.

Steps to making the client

The video and supporting blog post take you through the following.

  1. Setting up components to connect to the REST API. (RAD Style)
  2. Converting the JSON into a master detail datasets (based on the current item in the JSON data)
  3. Enabling the data in the UI with LiveBindings and zero code.
  4. Tricks for reducing API calls.

Continue reading Developing client applications using RESTful master-detail data with TRESTResponseDataSetAdapter

Master Detail data in RAD Server using TEMSDataSetResource

Master Detail data in RAD Server

The TEMSDataSetResource is a very powerful component that enables rapid development of full document REST API’s for TDataSet using RAD Server. Using TEMSDataSetResource, along with traditional master detail relationship configurations, it is possible to expose, and automatically document data APIs via REST with no code at all.

In this article, I will cover sharing master detail data with no code, but also how to roll your own REST endpoint to cover more advanced detail with detail embedded calls.

In my previous article, I updated advise on getting started with Swagger UI, using the new WebFiles feature of RAD Server (from 10.3.2) as a way to view your documentation as you build your backend services API. This article will build upon the sample application created in that post.

Continue reading Master Detail data in RAD Server using TEMSDataSetResource

Embedding Swagger UI into RAD Server

This post is an update to the original post written previously showing Swagger UI being used with RAD Server, covering new features of RAD Server.

Why Embed Swagger UI into RAD Server?

Swagger UI (as previously discussed) is a great option for checking your documentation and working with the REST API. One of the challenges has always been CORS (Cross Origin Resource Sharing) that makes execution of the code a challenge when developing.

There are a few options now however. You can either work around this with browser plug-ins, (as seen before), enable CORS in the emsserver.ini under [Server.APICrossDomain], or embed swagger-ui inside your RAD Server instance.

In this video, I cover the latter option. You can watch how to get documentation up and running. The video shows how to configure your EMSServer.ini to share the external resource through RAD Server and also modify the downloaded files to automatically load up the API documentation directly from RAD Server.

WebFiles in RAD Server EMSServer.ini

The key to making this work is the WebFiles option that was added to RAD Studio in 10.3.2. This was primarily added to make it easier to serve out web content and support ExtJS for doing web client development under the Architect edition of RAD Studio, however, this also has the benefit of making other content available to share.

Continue reading Embedding Swagger UI into RAD Server

InterBase Temporary Tables

InterBase Temporary Tables

This last week, InterBase 2020 has been released bringing the awesome Tablespaces feature into play. This new feature enables splitting the database into groups of tables (a Tablespace) that can then be put onto different physical disks (to aid performance) but also enables partial backup of a database. I plan to cover this new feature, and some useful ideas about how to use them in an article in the coming weeks, but first, I want to address something a bit older in InterBase that I’ve not blogged about before. Why? Well recently, I was at a UK roadshow event, when content about InterBase 2020 was being previewed, and a developer said “This new stuff is cool, but what I really need is the ability to put data into a table temporarily in InterBase, and have it isolated from other transactions…. Other databases have it, when will InterBase get it?” Well, InterBase has had this for years!

Continue reading InterBase Temporary Tables

1000’s attend Delphi Boot Camp’s first session

Delphi Boot Camp add’s YouTube and Facebook streams to service demand.

Today was very exciting in the Embarcadero offices. Developers have been registering for Delphi Boot Camp in their thousands, with over 1000+ registering in the last weekend alone.

Having all this interested in Delphi is awesome, but also has raised quite a challenge for the team delivering Boot Camp due to physical viewing limitations in GoToWebinar. The decision was taken last week that we should add additional ways to stream this out to the 1000’s who were going to attend and Jim McKeeth started off looking into YouTube and Facebook streaming.

StreamingDelphiBootCamp
My Laptop setup with YouTube, Facebook and GoToWebinar

This morning, all attendees received an update email with the multiple streaming options included. During the first of the two live daily sessions we have seen huge numbers viewing on both Facebook and YouTube.

If you couldn’t get into GoToWebinar, either try the second session or watch the replay on YouTube later, keep an eye on community for the replays.

If you did watch the Boot Camp on YouTube, thank you to everyone who joined in with such fun discussions. (my personal favourite question was “So can I talk to Dolphins with this?” – I’ve seen some cool delphi apps, but that would be a nice hardware integration project) Please let us know what you think about these medias for the future.

If you haven't already registered for Delphi boot camp, you can still do so now. Also don't forget to download your 100% Discounted Delphi Starter Edition this week before the offer closes.

You can also use the Starer Edition to qualify for upgrade pricing to RAD Studio or Delphi Pro / Enterprise or Architect editions. And with the mobile add on pack included along with the bonus pack, now is a great time to do that.

 

 

LiveBindings for VCL Developers – Webinar!

LiveBindings for VCL Developers [Webinar]

Visual LiveBindings is a technology that allows you to bind your data and objects (model) to the UI making. While LiveBindings is a key part of FireMonkey development, it is often overlooked by VCL developers.

A while ago I started a series of blogs on LiveBindings and how to use them with existing VCL applications. Covering seven blog posts, I looked at

  1. LiveBinding to DataSets
  2. LiveBinding to Objects
  3. Creating LiveBindings via Code
  4. Master Detail relationships (and objects as properties)
  5. Advanced Master Detail Relationships
  6. Mashing up Master Detail on different sources
  7. Helpful classes for LiveBindings

Following a high amount of demand and questions, you now have you chance to see me present live on this topic and ask your LiveBindings questions. Join me on Wednesday 31st August at 10am GMT.

Register now via community.embarcadero.com

The webinar will be followed by the live Q&A session.

Delphi Boot Camp

Delphi Boot Camp, 100% discount on Starter Edition and Marco’s Book!

Delphi Boot Camp - 5th to 9th September 2016
Delphi Boot Camp – 5th to 9th September 2016

Following on from the recent success of the C++ Builder Boot Camp, attended by programmers from 128 countries, its Delphi Boot Camp time!!

Delphi Boot Camp

Join Embarcadero experts and leading community MVP’s for 5 workshops from Monday 5th September to Friday 9th September.

Focusing on getting stared and using the FMX framework to create cross platform ready code, Delphi Boot Camp is a great way to learn new skills and ask leading experts direct questions on application development.

Date Session Presenters
5th Sept Introduction to Delphi: The IDE and Your First App David I
6th Sept Getting to Know the Delphi Language Marco Cantu
7th Sept Building Effective User Interfaces with FireMonkey Jim McKeeth  & Daniele Tetti
8th Sept Game Development with Delphi Eli M
9th Sept Stepping up to Mobile and Database Development Jim McKeeth
Register Now!

100% Discount on Delphi Starter Edition

To help you with your study at boot camp. Embarcadero are also making Delphi Starter Edition available with 100% discount! All you need to do is register, download and install your Delphi license! But don’t stop there!

Marco Cantu’s Object Pascal hand book!

The final part of the Boot Camp is the programming book! Delphi is the home to modern Object Pascal programming and you can get up to speed with the modern Delphi / Object Pascal language with the help of Marco Cantu’s awesome handbook.

Marco Cantu is the Delphi Product Manager and world leading Delphi expert. His ever popular Object Pascal handbook is available as a free e-download for the duration of the course to anyone on Starter edition! All you need to do is register, download and install the Delphi Starter Edition  and then visit Code Central registered user downloads. To get you there quicker, click  http://cc.embarcadero.com/item/30605.

See you online and happy coding!