Open files in external apps from Firemonkey

May 9th, 2018 Posted by Embarcadero, Mobile No Comment yet

It’s rather a common scenario when a Firemonkey mobile app needs to open a file. It might be a PDF document, an image or video. And while opening a file directly inside of Firemonkey app is totally a legit strategy, sometimes it may be not so easy to implement. TImage provides great support for various graphics formats, but what about PDF? Implementing PDF support for multiple platforms may be quite a challenge. Luckily, both iOS and Android provides a shortcut, we can ask OS to open a document in a third-party application of user’s choice.

And beyond that, mobile OS usually provides more options than just “open a file”. We can also share or print a file, which may be useful for users. (more…)

Jenkins Log Recorders

May 7th, 2018 Posted by Cloudbees, DevOps No Comment yet

My Jenkins job was set to trigger a build automatically from a simple GitHub webhook, but the job didn’t build when code changes were pushed to GitHub. Was the problem in Jenkins, GitHub, or something else? I investigated using Jenkins log recorders.

(more…)

Internet connectivity state management in Firemonkey

April 12th, 2018 Posted by Embarcadero, Mobile 2 comments

It’s a common task for a Firemonkey developer to check Internet connectivity. It might be useful to notify a user that he is going to download a huge amount of data using his mobile connection, or just indicate Online/Offline mode on the UI.

This functionality is missing from RAD Studio classes, so lots of developers out there have made solutions for their needs, although most of them only solve problems of their developer and may not fulfill your needs.

In order to fill that gap I made a solution which follows these guidelines:

  • Android and iOS support
  • ability to retrieve current Internet connectivity state – disconnected, connected to WiFi, connected to mobile data
  • Internet connectivity state listener which fires every time when connectivity changes
  • a cross-platform interface with encapsulated platform-specific solutions

(more…)

Enterprise Jenkins on Azure, Part 2

Enterprise Jenkins on Azure, Part 3

March 29th, 2018 Posted by Cloudbees, DevOps 1 comment

This is the final post, part 3 of a series:

Part 1: Overview and Deploy Azure Resources
Part 2: Deploy Jenkins Operations Center, Master and Shared Agent
Part 3: The Jenkinsfile, tweaks and tips

In this post I describe the Jenkinsfile that defines the build pipeline, a little troubleshooting and tweaking, and wrap up the series. (more…)

Web Development with ExtJS for Delphi Developers

March 8th, 2018 Posted by Embarcadero, News, Sencha No Comment yet

We’re teaming up with Embarcadero to hold an event around ExtJS, the very cool web dev framework that came through the Sencha acquisition.

The aim of the event is to show RAD Studio developers how they can leverage ExtJS to extend their Delphi and C++Builder code onto the web. To get you over that initial learning curve so you can start experimenting. One of the nice things about ExtJS, unlike React or Angular, is that it works in a similar way to the VCL and FireMonkey, so RAD developers usually get comfortable very quickly. (more…)

Push Notifications and Aggressive Power Management on Android

February 20th, 2018 Posted by Embarcadero, Mobile No Comment yet

If you’ve done much mobile development, you’ll know that what happens to your app when you switch away from it is very much at the mercy of the OS. While this is true on the desktop and the server as well, on mobile the OS is very focussed on maximising battery life, and so will be much more restrictive about background activity.

For the most part this is not such a big problem, once you’re aware of it. Pawel wrote an article awhile ago about responding to app lifecycle events, so that you can know when the OS is about to put your app to sleep, wake it back up again, etc. You can also create Services on Android to have longer running processes that survive separately to the app. And of course, this is why we have Push Notifications, so that the OS can start the correct application when it receives a notification, even if that application is not currently running.

Or at least that’s how it’s meant to work. (more…)

RAD Studio 10.2.2 Hotfix Released

February 20th, 2018 Posted by Embarcadero, News No Comment yet

Last week, Embarcadero released a patch for Tokyo 10.2.2, focused on Android and RTL improvements. However some users experienced some installation issues with that hotfix, so it was taken down.

The hotfix has now been re-released, so we would encourage all our RAD Studio customers to review the issues addressed to see if they affect you.

The hotfix can be downloaded here, and Marco has posted additional details here.

Jenkins Security Updates

February 20th, 2018 Posted by Cloudbees, News No Comment yet

There have been two recent Security Updates for both Jenkins Core and for multiple Plugins.

Jenkins Core Updates

Jenkins versions 2.107 and 2.89.4 have just been released that fix multiple security vulnerabilities.

For an overview of what was fixed, see the security advisory. For an overview on the possible impact of these changes on upgrading Jenkins LTS, see the LTS upgrade guide.

Jenkins Plugin Updates

Multiple Jenkins plugins have recently updates that fix several security vulnerabilities.

For an overview of these security fixes, see the security advisory.

Update Subscriptions and the End of Upgrades

February 13th, 2018 Posted by CodeInsightTV, Embarcadero, News 2 comments

 

Note, due to some customers needing longer to get orders processed in their companies, the Upgrade Amnesty has been extended until April 30th.

 

We’ve had a lot of questions from customers since Malcolm posted his article about Embarcadero’s planned changes to their Upgrade versions. So many in fact, that we asked him to record a short video answering the most common ones.

So, if you’re wondering:

  • What’s an Update Subscription?
  • What happens to my licenses if I don’t renew?
  • Am I eligible to upgrade?
  • Can I upgrade from Delphi 1?
  • Does he really wave his hands around that much when he talks?

then this is the video for you. (more…)

“Upgrading, but I need Raize Components”

February 5th, 2018 Posted by Embarcadero No Comment yet

With the Upgrade Amnesty underway, we’ve received this question a few times in the last week. After copying and pasting my answer a few times, I thought it would be easier if I wrote it up here.

So, you’ve upgraded but need to have access to Raize Components to support your existing projects?

No problem, they are freely available for registered users from GetIt, right from within the IDE.

Now, before you rush off to grab them, let me add that you possibly won’t find them. Bringing up GetIt inside the IDE (Tools | GetIt Package Manager) and searching for Raize will come up empty. (more…)