ctodx

This Blog

News

Favorite Posts

Archives

  • DevExpress Universal for Dummies (part 1)

    (Julian writes: A week or so ago I was chatting with an old customer and friend and raconteur, Joe Hendricks, about the inestimable work he does for non-profit organizations. Specifically, I wondered if he was up to writing about using DevExpress Universal from the viewpoint of an amateur developer (his words!) who helps non-profits improve their web presence. Before he jumps all over me, I hasten to add that “old” there refers to his time as a customer of ours, not his age. Which is young. Well, OK, a young middle-aged. There, I’m sure that sorted that out. So… before I continue shooting myself in the foot, I’m handing it over to Joe.)

    Joe working on The Mustard Seed Project’s website.

    Joe working on The Mustard Seed Project’s website (an outreach for impoverished senior citizens) in their lobby.

    Hi! I am Joe Hendricks, a 61yr retired healthcare marketing manager, incurable punster, avid mountain climber/hiker and more importantly - amateur C#/ASP.NET programmer and volunteer webmaster for 20+ anti-poverty nonprofits. My limited database and programming skills did help my career a lot.

    The purpose of this series of posts is to share my experience (especially my mistakes) in using Developer Express’s Universal Subscription product to help those nonprofits.

    Project Background

    Since 2007, my wife and I have provided the graphic layout, content, CMS access and web hosting for nonprofits on our collocated Windows 2008 Webserver running ASP.NET/Internet Information Services(IIS). The nonprofits include a wide range of antipoverty services: retired policemen helping Darfur genocide refugee camp guards protect the refugees from raiders, a free medical clinic in Honduras, senior services here in my small town, an orphanage in Africa, education for the poor in the Dominican Republic, etc.

    We used the ASP.NET open source library called “My Web PagesStarter Kit” at Codeplex, mainly for these reasons:

    • Easy to use CMS for nonprofit staff
    • Text storage instead of database
    • Easy deployment (drag and drop onto server via Remote Desktop)
    • Basic features needed by small nonprofits (text with embedded images, photo gallery, contact form, login, search button, image and file uploading)
    • Works fine with Google Analytics, a PayPal Donate button and AddThis social media buttons
    • Some extensibility

    Although it’s worked well for several years, it is now becoming insufficient for these reasons:

    • Boxy CSS layout is becoming increasingly out of date
    • Cannot easily handle multimedia or scheduling/calendar
    • Suboptimal display on mobile devices
    • Too time consuming (my beloved wife lost her cancer battle and so now I have to do all the work for the websites)
    • Decreasing open source community interest and updates

    Because I had used some of the DevExpress Universal features at work before retirement, I have no doubt I will find more than what I need in their products. Why not just select their ASP.NET subscription? Well, Coderush and XPO/XAF, doh!

    The Project

    I plan to slowly switch over the nonprofits needing new functionality for their website visitors from the open source framework to DevExpress by the end of 2014. By the end of 2015, I hope to have full CMS functionality added. I can only apply 20 volunteer hours/week to this which must include my own training, continued webserver management and continued support for the current websites. I’m sure I’ll be “seeing” a lot of Oliver, Mehul and Amanda via their online DevExpress webinars and training - fun! (Thank heavens he didn’t mention me – Ed.)

    So the next blog update on this project will be after I finish installing Visual Studio 2013 Pro (due here next Monday) and finish going through the DevExpress demos that seem to apply to the project (including deployment, XPO setup, and each DevExpress ASP.NET control). I will also be using the new online training for ASP.NET to further improve my web skills. Hopefully by my discussing my path to ASP.NET enlightenment, you’ll find something to learn from my inevitable mistakes.

    PUNishing Summary

    If your project suffers from open sores like mine, dev in and grab control(s)!

  • TestCafe and BrowserStack: Run tests everywhere!

    Marion from our support team for all things JavaScript – she knows more than me, I kid you not – has written this excellent article about the new support for BrowserStack in the 13.2 version of TestCafé. “BrowserStack”, what’s that? was my immediate reaction, coupled with a blank look, but Marion explains all:


    We took great care to ensure that our TestCafe framework is easy to use no matter how you intend to test your applications. And now we’ve published our new testcafe-browserstack npm module, I am thrilled to let you know that testing your applications in all existing desktop and mobile browsers is now a breeze.

    How? BrowserStack, FTW!

    The testcafe-browserstack module allows you to create a tunnel between your machine and the BrowserStack network. Once a local tunnel is created, you can test your internal or external websites in BrowserStack remote browsers as easily as you would in your local browser. A nice capability, isn’t it?

    Here are the three simple steps you need to follow in order to run your tests in the browsers listed on BrowserStack:

    1. Install the TestCafe-BrowserStack module

    Use the following command line to install the module from npm:

    npm install testcafe-browserstack

    2. Connect a worker

    Get the sample code from here and create a new worker in TestCafe.

    3. Enjoy!

    Check whether you wish to run your tests with all the browsers installed on your machine or just in BrowserStack remote browsers or both.

    To learn more about how to install and use the testcafe-browserstack module, read the following support article: TestCafe - How to add remote workers from the BrowserStack web service

    Summary

    Use the powerful TestCafe framework to create functional tests for your application. Then, run your tests in all browsers and on all devices of your choosing using BrowserStack.  A win-win for all!

  • Tipping points for technology and software

    Since it’s a new year, time to think deep thoughts. Consider this proposition: when some technology graduates from expensive/uncommon to affordable/prevalent, there is a corresponding major advance in software to take advantage of it. That software extends the technology in ways that were never thought of in the first place.

    Le Penseur by RodinIn some way, this is ruddy obvious: why write software for a technology that is not succeeding? For sure, if the technology is expensive enough, you could make money providing expensive software for it, but in reality, why should you? You are in essence laying a bet that said technology will become more affordable and therefore common in the future, at which point you will be well poised for dominance in the field.

    No, what I find more interesting here is what happens to software when a technology hits the real mainstream. A small diversion if I may.

    The other day I bought an Eye-Fi Pro X2 SD card for my DSLR, mainly to try it out to see if it fits into my way of taking photos. If you’ve not heard of it, it’s not only a memory card but also a WiFi adapter: take a photo and it’s automatically uploaded to your PC via your WiFi network. The card came in a cardboard sleeve with just a USB adapter. No leaflets, no instructions, the sleeve had a sticker saying “go to this website to learn more about configuring the Eye-Fi card”. This points out to me several things. First, the SD card format had to become standard before making this adapter even made sense. Second, there has to be a reliance on the use of WiFi in the home. And third, it assumes that customers have ready access to fast internet (a driver and an app had to be downloaded and installed, you had to register with the site so that, if you wanted to, your photos would be uploaded to their servers).

    Fast internet is one of those technologies I’m talking about. Remember the days of Hayes modems and top speeds limited to 14.4Kbps? Would you do all you do now on the internet if you were limited to dialing up? No, of course not. The explosion of access to broadband internet has resulted in – for better or worse – blogging, Facebook, Twitter, Flickr, software installs via the web, regular updates to your operating system, browser wars, YouTube and streaming video, sharing of information and services, and so on, ad infinitum. Web software changed dramatically once fast internet was ubiquitous and no longer the province of the wealthy. Nowadays, we pretty much write software that assumes some kind of always-on connection, or we write software that can work anywhere so long as there’s a browser running it. What ideas do you have for software that need this always-there, fast internet?

    The smartphone (and tablet) form factor is another one of those technologies that, once it reached a certain tipping point, resulted in an explosion of different types of software and different kinds of apps. Just today, I typed “gas station” into Google Maps on my phone to get directions to the nearest gas station: the car was running on fumes and I didn’t know the area. What other kinds of apps do you rely on every day that would be impossible if you didn’t have this small computer in your pocket attached to some fast internet?

    Even more basic, just think of the software that’s now getting written in interpreted languages. Once the hardware got fast enough, and the computer science got clever enough, interpreted languages started being used all over the place, from server-side web apps to client-side apps in browsers. It’s not that long ago that Google showed the way with the V8 interpreter engine for JavaScript, meaning that client-side apps were valuable and fast enough for everyday use. And of course with interpreted apps, we’re now used to the speed and agility with which we can deploy changes to those apps (there’s no install!). Once the tech was there, the software and the way we use and deploy that software grew rapidly.

    And as a final example, let me point to the cloud. It wasn’t that long ago that putting your publicly-accessible servers on the internet (that same fast internet) was something only high-tech companies did, like Google and Amazon. Now the cloud (whatever your definition may be) is a commodity. Sure, you can store your photos “in the cloud” or your music (or even your license to listen to music that you don’t actually have locally on your hard disk as MP3s), but these days people are doing so much more: storing data and making it available, web sites, app servers, scalability, development, all on a pay-as-you-go type plan, rather than having to purchase servers for your own data center. The interesting thing about the cloud is that over the past year or so, it’s become almost ubiquitous and it’s certainly cheap. Are you a start-up? It’s cheaper to provision a few virtual servers from Microsoft or Amazon than to purchase the infrastructure to do it yourself. You are developers, not IT managers. Where this will lead, I’m not sure, but of one thing I am certain, this same fast internet plus the cloud will result (has resulted) in some new and innovative software.

    The basic problem is of course (a) spotting a technology that could/might/will turn mainstream (I, for example, am no clairvoyant), and (b) what kind of software could be designed and written to take advantage of that technology. Here’s a list of tech that is at least interesting, but not yet mainstream, what do you think?

    • Wearable computers, like Google Glass
    • Televisions, such as 4K TVs, Google Chromecast, Microsoft XBOX, etc
    • Automobile intelligence, such as performance monitoring, car-to-car communications
    • The connected home, for example, Nest
    • Big Data provisioning and processing (for some definition of Big Data)
    • 3D printing

    Which of those (or others) triggers that spark? What ideas do you have that, if only some technology X became prevalent, would mean giving up your day job for a chance at software fame and fortune?

  • DevExpress VCL 13.2: Modernizing your apps

    As long-time customers know, we release our new major versions at the end of the first half of the year and at the end of the second half (June and December, usually). A couple of weeks ago, we released DevExpress Universal 13.2, so this week it’s the turn of our VCL subscription. DevExpress VCL 13.2 continues our current momentum to help you show your customers and end-users that Delphi and C++Builder can be used to produce modern apps, with fresh designs and up-to-the-minute user experiences. It really is time to move away from those grey late-90s application designs.

    So if I had to pick a topic, I suppose the main motif with VCL 13.2 is modernizing your apps. New themes, touch capabilities, tablet-like behaviors all provide a framework for creating a modern UI.

    New Features and Enhancements

    Improved VCL Touch Experience More Touch. Continuing our efforts to give you touch-centric capabilities in our controls, we’ve added optimized touch behaviors to the Filter Control, the Page Control, the Tab Control, the Date Editor (shown), and the Blob Editor.


    VCL Mail Client App Office 2013 Light GrayThemes. Modern apps need modern themes. Meet Metropolis, Metropolis Dark, Office 2013 Light Gray, and Office 2013 Dark Gray. You can now provide the UI your users expect from the latest Microsoft Office suite.


    VCL Tree List Pixel ScrollingPixel Scrolling. You know how a list scrolls on your tablet? Buttery smooth, no sudden jumps? We added this per-pixel scrolling to the Table View and the Banded Table View in ExpressQuantumGrid last time, and this time we’ve added it to the ExpressQuantumTreeList, ExpressVerticalGrid, and the Layout View in the grid. When used in Touch mode, pixel scrolling is enabled by default. This feature is available nowhere else, but your users now expect that experience.


    VCL Tile Control Small TilesTiles. Windows 8.1 was recently released with a set of enhancements to the Start Screen, and we’ve migrated the major visual ones to our Tile Control. So now you have small tiles, group caption editing and multi-tile rearrangement using drag and drop.


    Summary

    These are just a few of the enhancements and new features of DevExpress VCL 13.2, mainly those that touch (pun intended) on modernizing your applications. To see all the new features – including the Icon Library and the new Color Picker -- please visit our What’s New page.

    I hope I’ve shown how DevExpress VCL 13.2 continues our drive to help you modernize the traditional VCL app. By incorporating the new Office 2013 themes and becoming more touch-aware, your applications will stand out from the crowd. And, by reading what we’ve added to our .NET WinForms product over the past year, you’ll have a very good idea about what’s coming up in 2014. It’s an exciting time to be writing apps with VCL. Stay tuned to see if you’re right!

  • VCL Roadmap news: Delphi 7 and 2007 support

    We’ve just completed our Company Summit for 2014, where we all meet up, management and team leads alike, to discuss and formulate a plan for the following year. One of the results from this endeavor is our annual Roadmap, which we publish late December/early January. Prior to this being published – and rather than burying this news in the middle of what is going to be a large document – I wanted to call out a decision we made with regard to the DevExpress VCL Subscription.

    Delphi RoadsignI’ve been saying for a while now that supporting Delphi 7 and Delphi/C++Builder 2007 is proving to be less and less viable. These older versions use shortstrings, have no modern language features, have issues with Windows Vista (!) and later (and I’ll put on my Microsoft PSA hat here and reiterate that Windows XP support is gone forever in April next year). And then I read Warren Postma’s excellent article he published a couple of days ago: “ Modernize your codebase: Inspiration to Ditch your Ancient Delphi Version”, which in essence cemented some of the feelings we have in supporting these older compilers.

    We have in place plans for providing some major new controls and features for our VCL Subscription in 2014. It should come as no surprise that these features will be inspired directly from some of the new WinForms controls and improvements we’ve provided during 2013 (here’s a list of those, should you be interested – try and guess which ones we’ll be doing for VCL in 2014). The great thing about doing it this way is that the WinForms team have found all the design and platform issues and worked around them, meaning the VCL team can avoid them and produce equivalent controls more easily. As a quick example: consider pixel scrolling. We provided it for DevExpress WinForms and then we added it to DevExpress VCL – but the WinForms team had to work out all the nuances and problems.

    But… the run-times are different (.NET is not VCL, C# is not Delphi) and so despite that there’s still quite a bit of work to do. There ain’t no such thing as a free lunch, and all that. Compounding that with the need to consider shortstrings, the lack of generics, rudimentary interface support, a less sophisticated IDE, and so on in order to support Delphi 7 or 2007, means that our workload increases dramatically to offer a new control for arguably not much benefit. We’d rather expend our time and resources to implement new functionality for the majority than to shoehorn in a new control into a 7 to 10-year-old compiler and run-time for the small number who are still on those platforms. Hence our decision:

    From 14.1 onwards, all new controls and features published in the DevExpress VCL Subscription will only be for Delphi/C++Builder XE or later, whether 32-bit or 64-bit.

    My strong recommendation is to upgrade to Delphi or C++Builder XE5 – Embarcadero do have some attractive upgrade discounts at the moment – for at least your new projects. I’d also move your older projects forward as well, but I recognize that many people are using pre-compiled libraries from now-defunct companies and can’t do so. Either way, if you do want to use these new 2014 controls you will have to use a more modern compiler and IDE.

  • DevExpress Universal 13.2: Building modern apps everywhere

    If you’ve been a DevExpress customer for a while now you’ll know the cadence of our releases: June and December, named year dot 1 and year dot 2. So it should come as no surprise that this week is the week we’re releasing the second major release of 2013 for the .NET and Visual Studio platforms. As I look through the What’s New for Universal, I’m struck firstly by the depth of some of these new features and secondly by the breadth of platforms they cover.

    With this announcement blog post though, I’m not going to just reiterate all of the entries in that What’s New page since I’m certain you’re perfectly capable of browsing through that set of pages without a guide. Instead I’m going to take a look at the new features thematically, and the most prominent motif I see is creating modern apps.

    By “modern apps”, I’m not just talking about tiles and touch and flat UI. If that’s all this post was, I don’t know who would get utterly bored first: you reading it or me writing it. Agreed, there is a lot of that aspect to creating a modern app, but I want to define the term more broadly. Over the years, I’ve seen the general line-of-business applications we write surfacing data analytical tools as part of the app as well as shifting to being more modern in appearance. Users now expect not only grids (with the full panoply of sorting, grouping and filtering functions) but pivot grids, charts, reporting, and dashboards in their apps. They want to extract information from their data, and to present it in a visually arresting and beautiful manner. I’d say that’s what modern apps are all about.

    New features and enhancements

    DevExpress WPF Office 2013 Dark Gray Theme

    Themes. Yes, I know, I said I wasn’t going to talk about them, but I should at least point out that we now have new themes across the board. WinForms gets three themes inspired by Visual Studio (Visual Studio 2013 Blue, Black and Light); WPF and Silverlight get two Office-inspired themes, Office 2013 Dark Gray and Office 2013 Light Grey, as well as a special touch-centric modern theme called TouchlineDark; and DevExtreme gets a couple of new themes, the first for Android (Holo Light), and a generic, non-platform-specific theme for those times you want the same look and feel across all devices. Not to be outdone, ASP.NET and MVC gain a Moderno theme.

    DevExpress ASP.NET Ribbon

    Ribbon. Like it or not, but in this age of touch-enabled devices and laptops, the ribbon turns out to be a clever well-thought out UI concept and so ASP.NET/MVC finally gains a Ribbon control of its own. We’ve also increased the use of our Ribbons: many controls, such as the spreadsheet, now have the option to prefill the form’s ribbon with standard buttons and actions.

    DevExpress WPF Spreadsheet

    Spreadsheet Control. In 13.1, we previewed a spreadsheet control  -- the ultimate data analysis tool in a way – for WinForms. The control comprises two main parts: a highly-optimized spreadsheet engine that knows about cells, worksheets, formulas, the usual spreadsheet file formats, and so on, and a presentation part that has an auto-generated Ribbon UI and can display and edit data in cells. Thanks to this foresight, in 13.2 we’ve now provided a spreadsheet control for WPF and, get this, ASP.NET WebForms. Not only that, but we’ve added support for charting and mail-merges. And of course, since it’s a DevExpress control – it participates in our theming support. All in all, you can now easily create a modern analytical app on the web or for Windows.

    Windows 8 PDF Viewer Control

    PDF Viewer. Again, in 13.1 we previewed a PDF Viewer control for WinForms, with the same kind of split between “engine” and presentation as we did for the spreadsheet. In 13.2 we’ve added a PDF Viewer control for WPF and Windows 8 XAML (preview only). There’s support for zooming, scrolling, text search, embeddable fonts, and so on. The traditional Windows platforms have a ribbon interface and a search UI; the Windows 8 version supports full touch capabilities and rendering to a DirectX drawing surface for speed.

    DevExpress HTML-JS Bubble chart

    Charting. For WinForms and ASP.NET/MVC, there’s Legend Check Boxes to allow users to toggle the visibility of chart elements, and there’s automatic data aggregation of data based on chart size and zoom level. WPF and Silverlight allow for the Legend Check Boxes too; WPF also gains sparklines. The DevExtreme team have outdone themselves, and provided a plethora of new data visualization functionality: Bubble charts, constant lines, crosshairs, shared tooltips, data aggregation, logarithmic axes, and so on.

    DevExpress WinForms Map Control

    Maps. These controls have become very popular on every platform, so we’re happy to announce improvements to all our map controls. The WinForms Map Control gains automatic zooming and panning, as well as printing. It has support for route planning using Bing Services. For WPF and Silverlight we have support for item virtualization via web services to provide faster performance. DevExtreme acquires a vector map widget, allowing you to quickly configure a map with markers, tooltips, zooming, and centering.

    DevExpress Dashboard IDE Integration

    Dashboards. The biggest news here is Visual Studio integration: you can now create dashboards from within your favorite IDE. OLAP servers are now supported, as well as calculated fields and Dashboard parameters. Other additions include shapefile maps and sparklines.

    DevExpress Reporting Pre-printed Forms

    Reporting. There are new features across the board for DevExpress reporting. XtraReports Suite gains a new document view control for ASP.NET, support for pre-printed forms. and an enhanced user experience for Print Preview (such as the ability to print report selection, navigate to page number). Report Server now includes support for stored procedures and editable HTML email templates for server notifications. SNAP Reports provides mail merge capabilities, an integrated Query Builder (with parameters), and sparklines. XAF now integrates XtraReports at design time in the new ReportsV2 Module.

    Document Server. The new PDF Document Processor can find text in PDFs and retrieve results, extract text from PDFs, export any page as an image or print it. The Spreadsheet Document Processor now performs mail merge and data export operations.

    DevExpress XAF soft validation

    XAF. Apart from the ReportsV2 Module discussed above: support has been added for custom fields (and at run-time too) and soft validation rules (where entities can be committed with warning-level data errors).

    DevExtreme AndroidLightTheme

    DevExtreme. There’s a lot of new functionality here, some of which has already been mentioned. I’ll switch to a bulleted list for the rest:

    • Visual Studio integration has been enhanced greatly. There’s TypeScript support and a much-improved DevExtreme View Designer.
    • Support for iOS7 and Tizen has been added.
    • Angular.js is now supported for the UI widgets.
    • The already extensive list of mobile widgets has been supplemented with a pivot and a panorama widget (inspired by the similar widgets on Windows Phones), a popover widget (and toast), a radio group, an autocomplete textbox, an action sheet, and so on.
    • The list widget is now editable and, at your discretion, allows end-users to select and/or delete items, but even bigger than that, we’ve added support for webkit-based CSS native scrolling.
    • You can now fully localize DevExtreme applications as required. Dictionaries for the text, captions, and messages that are added by the framework to your applications are supplied with the product. In addition, you can now generate custom user dictionaries with the strings used in your application.
    • You can now use TypeScript (instead of JavaScript) when developing mobile apps with DevExtreme . The distribution includes a project template that references the framework's TypeScript definition files and provides sample TypeScript code required when developing a DevExtreme application.

    DevExpress CodeRush Debug Visualizer

    Last, but not least, CodeRush. Its XAML support has been improved with renaming identifiers, navigating through references, as well as showing code issues for undeclared static resources and obsolete members. The Debug Visualizer has had many enhancements, not limited to evaluating arguments and variables in VB and JavaScript, better evaluation and display of expression values, a unique visualization for out and ref arguments, and improved common debug workflows, such as stepping into LINQ queries and nested lambda expressions.

    Summary

    I hope I’ve shown how Universal 13.2 has expanded the definition of what it means to be an modern app. It’s not just eye-candy in the form of touch-enabled controls and modern flat UIs, but brain-candy in the form of advanced analytical and data visualization controls. By reading between the lines, you’ll also have a good idea for some of the things we’ll be adding in 2014. Stay tuned to see if you’re right!

  • DevExpress VCL 13.2 beta now available

    Our VCL team have been working diligently towards the 13.2 release of DevExpress VCL for mid-December, and as part of that work have just published the beta for active customers of the full VCL subscription. If you are such a subscriber, just login using your DevExpress credentials, go to the Download Center, and download the beta. Do note however that this is a beta: we’re pretty happy with it, but we’re still in polishing mode and there will be some issues that still need fixing.

    You can discover the new features by visiting the What’s New page, but just to whet your appetite, here are some of the improvements to the suite. You’ll notice in particular that we are continuing to concentrate on bringing your VCL applications into the modern era of easily available touch-capable devices like laptops and tablets.

    Touch

    VCL Touch-Enabled Controls

    Enhanced touch for the following controls: Filter Control, Page Control, Tab Control, Date Editor, Blob Editor. It can’t have come as any surprise, but the number of touch-enabled laptops and tablets running full Windows 8.1 is growing rapidly. Your users now expect touch capabilities in a modern app: with DevExpress VCL you can deliver.


    Pixel Scrolling

    VCL Tree List - Content Pixel Scrolling

    Added pixel scrolling – which is de rigueur for touch-enabled applications – to the tree list (ExpressQuantumTreeList), the property inspector (ExpressVerticalGrid), and the layout view for the grid (ExpressQuantumGrid). For the latter control that means we have flawless pixel scrolling for Table Views, Banded Table Views, and Layout Views.


    Themes

    New Metropolis Theme

    Four new application themes: Metropolis, Metropolis Dark, Office 2013 Light Gray, and Office 2013 Dark Gray. Nowhere else in the VCL community will you find such a breadth of choice for modern themes (in fact, we now have 45 skins to choose from).


    Icon Library

    DevExpress Icon Library - Image Picker

    New DevExpress Icon Library and Manager. Our design team had a few days off at a retreat and produced this rich set of icons. They’re designed expressly for our customers to cover the majority of application actions. We’ve packaged that library of icons up with a design-time image picker so that it’s much easier to style your controls.


    Tiles

    VCL Tile Control - Desktop App

    Windows 8.1 added more features to the Start Screen, including small square tiles, so we’ve responded by updating our tile control to cover these changes. Expect group captions and multi-tile rearrangement using drag and drop.


    Layout

    VCL Layout Control - Drag-and-Drop Indicators

    The Layout Control now has enhanced targeting: we’ve added intuitive indicators that show all place where a drop operation can take place. Layout items can now enforce size limitations when their size is dynamically calculated.


    I’m sure that you’ll be pleased with our continuing innovation in the VCL space. Our team is awaiting your feedback, so please try out the beta and let the support team know what you think.

    (For completeness’ sake: the DevExpress VCL Subscription supports Delphi 7, 2007, 2010, XE, XE2, XE3, XE4, XE5, and C++Builder 2007, 2010, XE, XE2, XE3, XE4, XE5, in both 32-bit and 64-bit flavors. I reiterate my usual warning that support for the older compilers – especially the “non-Unicode” versions – may be marked obsolete with the next major version. I’d strongly recommend you consider upgrading.)

  • WinForms and ASP.NET Charts: Automatic Data Aggregation (What’s New in 13.2)

    OK, call this both good news and bad news: this post is not only a “What’s New” but also partially describes some breaking changes.

    What is Data Aggregation?

    Starting from 13.2, XtraCharts (both ASP.NET and WinForms) will support automatic data aggregation. This is extremely useful in the situation where your charts are trying to display a very large amount of data (e.g., thousands or even millions of data points), and it is necessary to have a quick aggregated overview of this data. Our data aggregation feature works for an X-axis (the argument axis) that is showing either numeric or date-time data.

    To quickly demonstrate this feature, below is a chart with non-aggregated data:

    XtraCharts: Chart showing non-aggregated data

    And below is a chart with the same data, but automatically aggregated by years.

    XtraCharts: Chart showing data aggregated by year

    In addition, the WinForms Chart control supports automatic data aggregation when your end-users scroll, zoom, or resize a chart.

    How Does It Work for a Numeric X-Axis?

    Though data aggregation is by default disabled for numeric scales, you can easily enable it by setting the AxisX.NumericScaleOptions.ScaleMode property either to Manual or Automatic. In this case, the chart will split the entire X-axis into intervals (according to the AxisX.NumericScaleOptions.MeasureUnit property value) and automatically aggregate data for each interval. Predefined intervals for a numeric scale are Tens, Hundreds, Thousands, Millions, Billions, or you can define any custom value.

    The only difference between Manual and Automatic modes is that in Manual mode you need to specify the desired MeasureUnit, while in Automatic mode this measure unit will be chosen automatically by a chart according to its current size and zoom level. So, in most cases, Automatic is the recommended choice.

    XtraCharts: animated chart showing numeric data aggregation

    (Also, there is Continuous scale mode, in which an axis scale is not divided into intervals and therefore aggregation cannot be applied to chart data.)

    After you enable data aggregation, data for each interval on X-axis are aggregated using the function specified by the NumericScaleOptions.AggregateFunction property. By default it is Average, though you may change it to Minimum, Maximum, Sum and others.

    To disable aggregation, simply set AggregateFunction to None.

    How Does It Work for a Date-time X-Axis?

    For date-time data on the X-axis everything is even easier, because data aggregation is enabled by default. Just check out the AxisX.DateTimeScaleOptions.ScaleMode property value and either leave it Manual, or choose Automatic.

    XtraCharts: animated chart showing DateTime aggregate data

    Predefined measure units for date-time scales are Millisecond, Second, Minute, Hour, Day, Week, Month, Quarter and Year. By default, Day is chosen to provide backward compatibility.

    Video

    For those who prefer watching to reading, here is a short video describing this feature in detail.

    Breaking Changes

    To implement all these features, we had to do some significant work and had to rewrite some big chunks of the XtraCharts product. We didn’t stop there: since we were rewriting parts of the product, we took some time to optimize the code both for performance and for usability. As a result there have been some breaking changes. Whereas we’re certain these changes were necessary in order to move the product forward, we recognize that they might have an impact on your migration process to 13.2; nevertheless we’ve tried to minimize the effects to the public API.

    Here is a list of breaking changes in XtraCharts 13.2:

    • The drawing of all Area, Stacked Line, and Full-Stacked Line views has changed when series contain missing or empty points.
    • The series points are always aggregated for date-time arguments by default.
    • Setting the DateTimeScaleOptions.GridAlignment property to a value less than the current measure unit no longer affects data representation and calculation.
    • In previous versions, you could not set grid alignment to a value less than the measure unit specified in the DateTimeScaleOptions.MeasureUnit  (e.g., MeasureUnitMonth, GridAlignmentDay). Also, for example, the width of bars no longer depends on the GridAlignment property.
    • The AxisBase.GridSpacing property now specifies the number of grid alignment units.
    • The ColorEach algorithm has been changed for unsorted data with numeric or date-time arguments.
    • The current chart interlacing can become inverted in some scenarios.
    • The MeasureUnit property for date-time Y-axes is no longer supported.
    • The number and/or position of Tickmarks and Gridlines in X-Axes might be changed.
    • The order of qualitative arguments in X-Axis might have changed in some cases. (For example: suppose the first series has arguments A, B, D, and the second series has arguments A, C, B, D. Prior to version 13.2, the arguments on the X-axis would appear as A, C, B, D; with 3.2, the arguments will be in the order A, B, D, C.)
    • The SeriesPoint.Tag property now returns the list of tags for all aggregated points.
    • The ChartControl.DateTimeMeasurementUnitsCalculated event no longer exists. Instead, handle the ChartControl.AxisScaleChanged event, which is raised when the scale mode, measure unit, grid alignment or grid spacing of the axis scale has been changed.
  • New XtraRichEdit breaking change for 13.2

    A quick post to point out that we’ve just made a change to the default settings of XtraRichEdit that may affect users of the control. (I say “just” because this change is not in the current beta release.)

    The default font for the XtraRichEdit has changed from Times New Roman 12pt to Calibri 11pt.

    If you need the previous behavior, please use the following code before creating RichEditControl or RichEditDocumentServer:

          RichEditControlCompatibility.DefaultFontName = "Times New Roman";
          RichEditControlCompatibility.DefaultFontSize = 12f;
    
    If you have any issues, please contact our support team.
  • Let's keep raising money for Typhoon Haiyan Relief

    The eBay auction I talked about a couple of days ago is still running, but we thought we’d like to do something more for the relief fund for the Typhoon Haiyan disaster.

    We’ve been horrified about the news from the Philippines since November 7. Typhoon Haiyan caused incredible damage throughout the Leyte and Samar islands (part of the Eastern Visayas), destroying much of the towns, cities, and infrastructure in those low-lying islands. Houses and buildings were flattened, obliterated. Millions of people were affected by the devastation, having lost their homes, possessions, loved ones, jobs; whereas thousands of people have died or are still missing (unremarkably in this kind of disaster, even now, no one knows for sure how many victims there are).

    We wanted to do our small part and involve our community, so here’s the deal. For the first three people who correctly answer the question below, DevExpress will donate $500 in their name to the Typhoon Haiyan relief fund at the Red Cross.  I’ll reply here once we have the winners.

    I shall be very strict about what I accept as answers, so be careful when composing your comment to add below. (Also, our blog engine takes a little time to make comments visible, so don’t worry if your answer doesn’t show immediately.)

    The question is:

    Name the event and the year that saw Vern Troyer join the DevExpress team to launch CodeRush Xpress.

    On your marks, get set, GO!

4 5 6 7 8
9
10 11 12 13
LIVE CHAT

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383

FOLLOW US

DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, along with high-performance HTML JS Mobile Frameworks for developers targeting iOS, Android and Windows Phone. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2017 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners