Noutați

Secure Remote Access: Keeping Employees and the Organization Safe

Published May 19, 2020 WRITTEN BY ED TITTEL. Ed Tittel is a long-time IT industry writer and consultant who specializes in matters of networking, security, and Web technologies. For a copy of his resume, a list of publications, his personal blog, and more, please visit www.edtittel.com or follow @EdTittel In this age of lockdowns, social distancing and working from home, organizations must think carefully about how to extend their networks and services across the internet and into employees’ and contractors’ homes. This makes remote access security management both a timely and an imperative topic, because it has become the norm for many companies and organizations this year. If we are to believe even the most optimistic of vaccine deployment scenarios, our pandemic situation is likely to persist for at least another six to nine months. That said, many experts think that working from home is the new normal, so even once it’s safe for us all to be together in an office again, there may be no office to go back to. The old ways of working mostly within a secure organizational perimeter are on the way out, so we need to update our security operations for the new reality. How does remote access work? In the simplest of terms, remote access requires that users employ a remote device of some kind to establish a connection to an organizational service. The connection is a communication link that spans the internet from the client or user side to a server or service inside the firewall. For example, Microsoft includes both an old-line application, Remote Desktop Connection, and a new-style Universal Windows Platform (UWP) app, Remote Desktop, in Windows 10. Both use Microsoft’s Remote Desktop Protocol (RDP) to establish a remote connection between a client PC (user device) on one side and a host PC or server (server device) on the other side. Thus, the elements of remote access include the following: A remote access client or application that lets the end-user request access to a remote resource of some kind A remote connection that connects the end-user to the resource, and vice versa A remote host or service to which an end-user can connect, and from which they can request information, services, resources and so forth Securing remote access means securing all elements For a company or organization to meet best security practice requirements for remote access, all elements involved in remote access must be secure. Here’s a checklist of items and capabilities that fall under this large and far-ranging umbrella: Before users obtain remote access, they must be identified and authenticated. The best form of security for identity and authentication nowadays relies on two-factor authentication (2FA) or better, where a user’s cellphone serves admirably to provide a separate channel for ID and authentication traffic, as well as providing a tangible token of identity in and of itself. The client software that users employ for remote access should themselves be secure and free from known technical vulnerabilities or susceptibilities to attack through social engineering. Users working remotely need basic security awareness training to keep them from inadvertently disclosing what the organization wants kept confidential – namely, their account and password information, among other sensitive data. The client software must also be scanned for vulnerabilities (preferably at high frequency, if not continuously) […]

Read More

Show a PDF from a TMS WEB Core app

This is a frequently asked question from TMS WEB Core users how a PDF file, typically a generated report, can be shown from a TMS WEB Core app. The good news is that it is simple as browser technology has us covered. There are basically two options: Show the PDF file in a new browser window (tab) Show the PDF embedded in the application window So, let’s just do this and provide a project that shows this. To show the PDF file in a new browser window, all we need to do is call Application.Navigate(URL, ntBlank), where URL is the link to the PDF file. To show the PDF file embedded in the application window, we can drop a TWebBrowserControl on the form and set its URL to the link to the PDF file. So, in a nutshell, the code behind becomes as simple as: procedure TForm2.WebButton1Click(Sender: TObject); const URL = ‘https://download.tmssoftware.com/download/manuals/TMS%20Async.pdf’; begin if WebRadioButton1.Checked then WebBrowserControl1.URL := URL else Application.Navigate(URL, TNavigationTarget.ntBlank); end; For your convenience, you can download the test project here Needless to say that this exact code works in TMS WEB Core for Delphi, TMS WEB Core for Lazarus and TMS WEB Core for Visual Studio Code. It can be applied in a classic web client application, a PWA and also an Electron based cross-platform desktop application. Not using TMS WEB Core yet? Get your free & fully functional trial version download from our website and benefit from the Holiday Season holidays to explore and get excited.

Read More

This was 2020 at TMS

There is a lot to say about this year 2020 and for sure, we at TMS had our challenges as well. But to end the year and look back at it, we prefer to stick to the positive things that happened this year. New products Looking back, it is actually amazing how many product releases we did and what significant new products were introduced. I think like most software developers, you can relate to the feeling how sometimes painfully slow and difficult software development can be. But in hindsight, we can look back at fantastic achievements. It is with this feeling I’m looking back at our year 2020 especially about two new products that were released: TMS FNC Maps We took our FNC concept on steroids with this new product. TMS FNC Maps is not only supporting 4 different development frameworks, 5 operating systems, all major browsers but also 8 different mapping services. Take the best mapping features at the best prices and combine these to integrate powerful mapping functionality in your VCL, FMX, LCL and TMS WEB Core web applications. TMS WEB Core for Visual Studio Code Another tour de force was bringing our TMS WEB Core framework to Visual Studio Code. Visual Studio Code is like a natural fit for TMS WEB Core. It is the beloved IDE for web developers, it runs on Windows, macOS and Linux, it is built with web technology, it has a large ecosystem and it is free. It foremostly enables to render your pages and its controls live in the designer, even taking responsive design in account. We even released already a major update in 2020 with support for PWA and Electron cross-platform desktop application development support. Upcoming is the release of v1.2 with support for pas2js v2.0 compiler that introduces generics, attributes, await, promises and many more new capabilities. Product updates Many products got constant updates mainly driven by your feedback, needs, requests. There are too many updates in 2020 to cover all in detail but I’d like to highlight a few ones that personally excited me. TMS Flexcel TMS Flexcel for VCL/FMX and TMS Flexcel for .NET got frequent updates this year. The major new features that were added are support for .NET Core v5.0 and an API for adding charts to .XLSX files. TMS VCL UI Pack Formerly known as TMS Component Pack, TMS VCL UI Pack has an almost bi-weekly update scheme. Countless new features and enhancements were added all the time. But for me, the major one is the introduction of the new TAdvWebBrowser component that is a wrapper for the new Windows Edge Chromium browser. TAdvWebBrowser permits modern and secure integration of web functionality in your VCL applications. Further, we focused a lot on polishing VCL styles support, TMS styles support and multi-monitor high-DPI support. TMS FNC UI Pack Be it for cross-platform FireMonkey applications, VCL Windows applications, TMS WEB Core web applications or free Lazarus IDE based cross-platform applications, TMS FNC UI Pack is a bundle of UI controls including grid, planner, rich editor, treeview, object inspector, … and much more. Several new components were added to this pack this year: TTMSFNCWaitingIndicator, TTMSFNCSplitter, TTMSFNCRating, TTMSFNCRichEditorHorizontalRuler, TTMSFNCProgressBar and also here our cross-framework, cross-platform browser component was updated to Edge Chromium on the Windows platform. We also […]

Read More

Building an Infinite Data Grid with Ext JS—Webinar Q&A Recap

Thanks everyone for attending my recent webinar on December 17, 2020 – Building an Infinite Data Grid with Ext JS. In this blog post, I am answering the questions that we got during the webinar. 1 – Can we set the number of total records to runtime? We have a table where there are many records inserted every 2 minutes. Yes, since you dynamically send the total count of records as you make a server call for a page of data, those calls can return a ‘real time’ total. You can use the dynamically sent total to resize the grid scrollbar after each retrieval of data from the server 2 – What is the developer “editor” you are using? I use the Visual Studio Code editor from Microsoft – you can download it from the web here: https://code.visualstudio.com/ 3 – What version is the earliest version that supported BuffererStore/BufferedRenderer? The BufferedRenderer has been available since Ext JS version 5.0.0 – see this page for details: https://docs.sencha.com/extjs/7.3.1/classic/Ext.grid.Panel.html#cfg-bufferedRenderer 4 – What is the difference of this BuffererStore/BufferedRenderer approach (obviously, user experience is a bit different) compared to ‘old fashioned way’ of having a toolbar over a grid and using pagination? The ‘old fashioned way’ of using a paging toolbar is still a good way to display a large grid with a lot of data, but there will be a differing user experience as a user moves from page to page. With a paging toolbar and a lot of pages, it is difficult to get to a specific section of the data, ie, the middle of the data. With an ‘infinite grid’ approach to displaying the data, the scrollbar fully displays the context of what page you are on, and moving to a certain page (like the middle of the grid’s data) is more intuitive 5 – Is it possible to make infinite grid with scrolling to top and adding new data on top of grid? Yes, you can data to the grid and then react to the data in a buffered grid. If you are adding data to the top if the grid, and the grid dynamically changes, you would need to make a decision as to weather you programmatically move the scrollbar vs leaving it Lehrer it would be after the new data. 6 – In the modern toolkit, what is the correct way to reload a virtual store driving an infinite grid? I use reload() on the store but this always loads the first page twice and the first request seems to stall the loading. In the modern toolkit, the virtual store has the equivalent functionality as the Buffered store for the classic toolkit – further information on the virtual store can be found here: https://docs.sencha.com/extjs/7.3.1/modern/Ext.data.virtual.Store.html   Thanks again for attending, and if you have any questions beyond these, please feel free to send me an email and I can respond to you. I look forward to you joining me on future webinars!

Read More

FNC empowers your FMX (FireMonkey) development

Intro The multi-device, true native app platform The FireMonkey® framework is the app development and runtime platform behind RAD Studio, Delphi and C++Builder. FireMonkey is designed for teams building multi-device, true native apps for Windows, OS X, Android and iOS, and getting them to app stores and enterprises fast. source: https://www.embarcadero.com/products/rad-studio/fm-application-platform FMX (FireMonkey) released in 2011 and shortly after we delivered a first set of components. Through the years we learned and evolved our FMX support and translated that knowledge into new major components: Grid Planner Treeview Chart Kanban Board Pickers & Selectors Rich Editor … All of these components fully adopted the FMX (FireMonkey) framework. In 2016 we even went a step further and introduced FNC. FNC boosts your FMX development and offers a single code base to re-use in other frameworks as well: VCL, WEB (TMS WEB Core) and LCL (Lazarus). To the point How FNC empowers your FMX development is nicely demonstrated and explained by Holger Flick in the following video. He explains the various components available for the FMX framework, how to use them and what they can do for your application. Get started! Get started exploring FMX and what FNC can mean for your FMX development: http://fnc.tmssoftware.com. Already using FNC? Let us know in the comments.

Read More

XMAS special just for YOU!

TMS is celebrating XMAS together with DelphiStyles! With great pleasure we announce a great collaboration with DelphiStyles!. Delphistyles provide high quality FireMonkey multiplatform style templates and VCL styles. DelphiStyles team is a compact development studio. They have an expertise in app development with Delphi since version #1 through all generations to the last release. Their mission is to let Delphi developers build Windows/macOS/iOS/Android applications with great and modern UI. Special offer for YOU! Get the free “DelphiStyles: Collection of FM Multiplatform and VCL style templates for Bitmap Style Designer”, when purchasing a new TMS ALL-ACCESS license! So don’t waste your time and order your TMS ALL-ACCESS license today and receive the DelphiStyles bundle for free. You get all current styles and all styles in the future for free and for life (to the value of 249 US dollars).

Read More

Sencha 2021 Roadmap Update

In this Sencha roadmap post, you will find a detailed summary of what we’ve planned for calendar year 2021.The product team interacts with customers on an everyday basis. Your feedback plays a big role in driving our overall product direction! 2021 Roadmap Highlights Ext JS is King — Performance enhancements, New Grid features, Classic to modern parity features and more! Continued Innovation — WebTestIt, Ext.NET, and many more initiatives ahead. Strong Focus on Quality – GXT updates, Improved onboarding experience with new getting started resources and more! Before we get to the details of our updated roadmap, we wanted to recap what we’ve delivered in recent months. Recent Releases 7.3 Release In September 2020, we released Ext JS 7.3. The 7.3 release was a quality focused release, addressing dozens of customer requests across the modern and classic toolkits. In addition to the quality improvements, we also added a template example to the Kitchen Sink and provided new embedded examples in API Docs to increase developer productivity. Shortly after the initial 7.3 release, we released ExtReact, ExtAngular and ExtWebComponents 7.3. Key 7.3 features include:  Improvements to the Data Grid, Fields, Charts and Buttons widgets. Enhancements to Ext JS Grid scrolling experience. Many quality improvements addressing customer reported tickets. Check out the release notes for full details. New Kitchen Sink examples and directly usable ready-to-go templates for both toolkits. Over 30+ new fiddle examples in Ext JS API Docs Upgraded Froala WYSIWYG Editor to latest version 3.2.1. ExtReact, ExtAngular and ExtWebComponents for version 7.3 Sencha WebTestIt In October, we introduced a new product to Sencha’s family of products, WebTestIt. Sencha WebTestIt is a free to use, lightweight IDE and toolset optimized for creating, building, executing, and debugging UI tests for websites and web applications.  WebTestIt provides users the tools to create and build tests with popular web testing frameworks such as Selenium and Protractor. Aimed at serving the broader web test automation ecosystem, WebTestIt significantly reduces the effort associated with test management and increases the efficiency of your project’s test automation.  We plan to continue to update WebTestIt on a semi-regular basis. Download WebTestIt Sencha Ext.NET Sencha Ext.NET is a new product targeted toward the ASP.NET developer community. Sencha has partnered with the Ext.NET team to provide this offering through the Sencha line of products .Ext.NET is an advanced ASP.NET Core component framework that incorporates the Ext JS library to build cross-browser, blazing fast web applications. Ext.NET combines the two server and client side technologies (Ext JS & ASP.NET) to provide the UI controls for over 140 UI components including some amazing looking themes, and is available in three editions. GXT 4.0.4 The Sencha team recently announced the availability of a GXT 4.0.4 software patch release for our customers on maintenance. This release addresses more than a dozen customer reported tickets spanning improvements in the grid component, layout, selection, and more. The release is available for customers from the Sencha support portal. Looking ahead into Calendar Year 2021 What’s Planned for Ext JS Continuous Performance Enhancements, New Grid Features for Sencha’s best-in-class component, Modern to Classic Parity Features & More. Ext JS Classic and Modern toolkits are going to continue to be first class toolkits that will live long into the future. As you’ve seen with all of our Ext JS releases, […]

Read More

6 Threats to Development Team Productivity

Published December 17, 2020 WRITTEN BY THE KIUWAN TEAMExperienced developers, cyber-security experts, ALM consultants, DevOps gurus and some other dangerous species. Productivity rates are critical to success in any industry. That is true of software products, too, that not only need to be efficiently produced but secure from cyberattacks as well. If you’re considering how to improve your software team’s productivity, then you will want to know the top threats impacting software development team productivity and how to solve them. The following paragraphs address six of them. 1. The Need for Speed The enemy of quality software development is often the unrealistic and impossible deadlines set by project managers. The sleight of hand happens this way: In response to client requests, managers often press developers for delivery estimates. They often push for the lowest possible delivery estimates. The mistake they make, though, comes when they consider those delivery estimates to mean delivery deadlines agreed upon by the developer team. Managers pass along the “deadlines” to senior management, leaving developers feeling stressed, and leading to the developers’ inability to perform at optimum levels. It comes down to managing the client’s expectations. Take the time to make sure that the client understands that a slower work pattern due to rigorous testing results in a better quality product. That communication and understanding can make a world of difference for the development team. 2. Poor Code Quality  Poor code quality appears in various forms. It may mean code that is difficult for other developers or team members to read and therefore affects the ability to make necessary changes. It may mean that the development team rushed to meet deadlines and, in doing so, released the software without testing and without fixing any bugs that existed, or that they could have prevented. Poor code quality decreases production agility and impacts the project’s development over the long-term. Code quality is positively impacted by: Following code standards Testing code Selecting a project manager to monitor project quality. 3. Outdated Technology   Updated technology helps employees do their jobs more efficiently, saves valuable project time, generally keeps customers satisfied, and provides businesses a leg up over their competitors. Successful development teams have the modern tools they need to work quickly and securely.  Price Waterhouse Cooper (PWC) conducted a study of 12,000 people in Canada, China, Hong Kong, the US, the UK, India, Germany, and Mexico. The participants worked in roles ranging from the C-Suite to administration and in various industries. PWC found that 90% of C-Suite Executives believe they take into account the technology their people need to do their jobs. Only 53% of their workers said the same. And while 92% of the C-Suite Execs were satisfied with their company’s experience with the technology provided to carry out the most important projects, only 68% of their workers felt the same way. It’s easy to understand the disconnect. When technology fails, C-Suite Execs hand the problem to someone else to solve. The worker bees are left to deal with the aftermath of outdated technology. 4. The CI/CD Pipeline  As the name implies, the CI/CD Pipeline consists of two components: CI and CD. Continuous integration (CI) refers to the software development practice that requires frequent code checks during software development and producing small code changes as the team discovers them. […]

Read More

TMS WEB Core for Visual Studio Code 1.2beta introducing the pas2js v2.0RC compiler!

A bit more than a week ago, we made the first beta available of TMS WEB Core for Delphi v1.6beta Pesaro that introduces the new v2.0 pas2js compiler and extended RTL. For those who missed it, the new version v2.0 of the compiler is a quantum leap forward and its main new features are: Generics Attributes Class constructors Resource strings Async procedure decorator Await support JavaScript promises support Read all about pas2js v2.0 and TMS WEB Core for Delphi v1.6 beta in this blog article. As expected, we have now a first beta of TMS WEB Core for Visual Studio Code ready for TMS ALL-ACCESS and TMS WEB Core for Visual Studio Code customers. With TMS WEB Core for Visual Studio Code you can: Use the free IDE loved by web developers on Windows, macOS or Linux Use your favorite fully object-oriented, type-safe Object Pascal language Take advantage of a large eco-system of web developer friendly tools in the IDE Use a fast RAD component based development approach See your app in the IDE using live WYSIWYG web technology based form designer Create classic web client applications Develop installable PWA‘s on mobile devices as well as desktop Chromium based browser Build cross platform desktop applications with modern looking web based UIs on Windows, macOS & Linux via Electron Our team is looking forward to all your feedback, wishes and suggestions for improvements and future developments! Live data and live a bootstrap theme used in the form designer in Visual Studio CodeLive Google Maps in the form designer in Visual Studio CodeDebugging a TMS WEB Core application directly from the Visual Studio Code IDE

Read More

TMS FlexCel academic license

Even in this challenging times we want to make our contribution to the Delphi community and most importantly to the aspiring future Delphi developer and hereby encouraging next generations of enthusiast Delphi developers. In 2020 we have launched our TMS Academic Program and added so far 3 products. Today, we extend the TMS Academic Program with a 4th product : TMS FlexCel for VCL & FMX. With the Delphi Academic edition, students already have an extremely powerful tool in their hands and we want to enrich this with offering our most popular products also free to students with the TMS Academic Program. FlexCel for VCL / FireMonkey is a suite of Delphi components allowing to manipulate Excel files or generate Excel template based reports. It includes an extensive API allowing to natively read/write Excel files. If you need to read or create complex spreadsheets, on Windows or macOS on machines without Excel installed, Flexcel can do the job. This academic license can be used with Delphi 10.4, just like our other 3 academic licenses! Supported frameworks: Visit the landing page and discover more about our TMS Academic Program. Getting started : Register for a free TMS FlexCel Academic license with a school or university email address Receive your credentials to login on our website via your student email address Login and download your free TMS FlexCel Academic installer Install the product for the Delphi Community Edition Enjoy being part of the TMS family with full access to our website, TMS support center, product updates for 1 year and develop great Delphi VCL applications Get started with TMS software today and secure your place for the future in the Delphi world! TMS FlexCel for VCL & FMX is out last addition to our Academic Program for 2020! Of course, we plan to extend this academic program in 2021. We are curious to know how the TMS Academic Program helped you so far in achieving exciting software development challenges and we are eager to learn what next TMS products you would wish to see in the academic program.

Read More