More on the new REST service for Apps

This product update will dive a little deeper into the new REST Service for managing apps about which we informed you in an earlier product update.What is this service?This REST service offers ‘CRUD’ (Create Read Update Delete) on apps in your PRO Platform. In other words: publish apps, update apps, delete apps and list published apps and their details.Why did we build it?We built this to enable automated app management, typically to enable Continuous Deployment (CD) flows.How do we envisage this will be used?Knowing the creativity of AIMMS app developers, we know we will be surprised with the number of ways in which this new functionality will be used. We expect this to be used mostly in situations where new app versions are routinely created and deployed to production. In fact our own SC Navigator app development team has already used it to build their flow for automated updating of the apps of all our SC Navigator customers.What are key features I need to know about?Supports publishing, updating, deletion and listing of apps using REST calls. Includes OpenAPI spec to enable automated development of the REST client. For now uses API keys for authentication, created in the PRO Portal. In future this will be changed to a more sophisticated authentication/authorization method.What else do I need to know as app developer?Only available on our cloud platform, no plans to offer this for the on-premise version of AIMMS PRO. Reference documentation can be found here (both how to obtain API keys and further down how to use this service). And of course you can always ask questions here in the community or email our User Support team.

Related products:Integrations and Data ExchangeAIMMS PRO and Cloud Platform

Using Azure Data Share and our new 'customer-specific Azure tenant' feature for setting up a data exchange

A customer of ours recently set up a data transfer from their Azure tenant to their AIMMS cloud account, using Azure Blob Storage and Azure Data Share and our new feature to provide customer-specific Azure tenants linked to our cloud platform. In this post we will briefly explain how as it may also work for others.Probably best to start with a diagram.This solution relies on three features/technologies:As AIMMS we now offer customers the possibility to have their own Azure tenant in our cloud platform, called ‘AIMMS4CustomerXtenant’ in the diagram. In this tenant we, AIMMS, can deploy almost any Azure tenant. And this tenant can be securely connected with the AIMMS cloud account of that customer. Azure Data Share enables the secure syncing between two Azure storage services, without having to provide direct access from one tenant to the other. AIMMS Data Exchange Library (DEX) provides the REST Client to retrieve the data from the Azure storage into the AIMMS app.Combined this enables the following flow.The Azure Blob Storage in CustomerX’s Azure tenant holds the data that is to be sent to the AIMMS application. In this case the data is placed there from other sources, using data workflow. Azure Data Share transfers that data securely to the Azure Blob Storage in the AIMMS4CustomerX tenant, keeping it exactly in sync with the source. The AIMMS app uses a REST Client created with DEX to retrieve the data securely via the Azure backbone into identifiers in the AIMMS model and write the data to the local application database (MySQL). For now the access credentials are inserted manually. In future we will provide more automated mechanisms for that.All this was set-up in a matter of days by the customer’s team and our Azure partner Intercept, in two instances: development and production versions. The customer will be invoiced by AIMMS for the Azure costs of the AIMMS4CustomerX tenant. And AIMMS charges a small set-up and managed-service fee for monitoring and maintenance.If you want to explore this path for data exchange or have other ideas of Azure services you would like to add to your AIMMS apps in our cloud, please contact our User Support team (support@aimms.com).

Related products:Integrations and Data Exchange

Early announcement of upcoming new service: deploying Python and other applications inside our cloud platform

We are currently working on a new service on our cloud platform that we expect to launch in the first half of 2023 and here is a heads-up.What?A complete solution for running Python or R applications from within an AIMMS model, on the AIMMS cloud platform.Why?So that you can extend your AIMMS model with calculations and/or operations in Python or R, leveraging that language’s particular strengths or specific libraries/packages written for those languages, without having to worry about the deployment of that application.Key Features‘Turn-key’ solution: includes all you need to provide AIMMS apps to your users that use the power of Python and/or R. Avoids session launch times by allowing repeated calls to a launched session. Reduced development effort by using DEX for exchanging data with the AIMMS model, including format conversion and mapping to model identifiers. Resources (CPU and memory) can be configured to suit the application’s requirements Multiple Python and R versions available, complete with a collection of packages/libraries, to suit app developer needs. Deployed in Docker container. Application to be stored as ZIP file on PRO Storage.To be aware ofThis will replace the existing R-link that we can no longer support when we upgrade to a current Linux version. The Python or R application upon launch first needs to establish a REST service end point. We will provide examples for this. Cloud (Azure) only. Automatic session termination after a configurable idle period (default 5’) or session ‘life-time’ (default 1 hr). These services are not part of our regular subscriptions, so please expect additional charges for this service.  

Related products:Integrations and Data ExchangeAIMMS PRO and Cloud Platform

Product Update - Expected WebUI features in AIMMS 4.90

Dear Community, I'm sure we can all agree that over the past four releases, the experience with Tabular Data Manipulation on WebUI has significantly improved.We've made further progress and I'd like to share it with everyone: “Advanced Table Editing” as a formal General Available feature: This feature was first made available in AIMMS 4.87.1 as an Experimental Feature. Support for Block Selection, Block-Editing, and Copy-Paste capabilities were all implemented. Later we added the ability to Search&Find. We've been addressing the feedback we've gotten and making improvements. With the release of AIMMS 4.90, we formally establish this as a General Available feature and take it out of the experimental feature category. Table Header Sorting: Sorting is now supported in the Header cells of the Table widget. The behaviour is similar to how data can be sorted by Table Row or Column headers. Here, the elements of one of the sets involved in the table are sorted.   Consider the following example where the data has four indexes:If we choose for “Decreasing” sorting of the set Centers in the Columns Headers, then the table is sorted as follows:Similarly, if we choose for “Decreasing” sorting of the set Factories in the Row Headers, then the table is sorted as follows: We hope these features bring value to your application and further enhance your user experience. Please leave your feedback and suggestions in the comments. Thanks.Team WebUI.

Related products:WebUI

More on the new REST service for 'Tasks'

This product update will dive a little deeper into the new ‘REST Service for running solve jobs and other asynchronous jobs’ about which we informed you in an earlier product update.Why did we build it?For three reasons: As part of our integration vision: enabling our software to fully participate in an increasingly connected IT landscape, using common standards such as REST, OpenAPI and OAuth. Specifically to replace the current PRO API that requires more programming and only support Java and .net. As part of our modernization of the AIMMS PRO code, turning it into a collection of micro-services connected through APIs. How do we envisage this will be used?Knowing the creativity of AIMMS app developers, we know we will be surprised with the number of ways in which this new functionality will be used. Some applications that we have already identified are:Automating the execution of a large number of optimization runs to conduct a scenario analysis. Incorporating an AIMMS optimization into an analytics workflow consisting of all sorts of other technologies. Embedding an AIMMS optimization into an interactive software product or application to perform ‘behind the scenes’ AIMMS optimizations.What are key features I need to know about?Supports creation, inspection and deletion of Tasks. An overview of Tasks currently running can be retrieved using a REST call. Includes OpenAPI spec to enable automated development of the REST client. Tasks are queued and, depending on the configuration and contract form, multiple Tasks can be handled concurrently. For now uses API keys for authentication, created in the PRO Portal. In future this will be changed to a more sophisticated authentication/authorization method.What is a ‘Task’?‘Task’ is a new term that we introduced so that we can differentiate between Sessions and Tasks.Within the AIMMS context you might be familiar with the concept of a solve session. This refers to an AIMMS run-time session with a specific AIMMS model loaded. When a user of AIMMS PRO (on our cloud platform or on-premise) requests an optimization (typically by ‘hitting’ some kind of ‘optimize’ command or button), a separate solve session is launched, the optimization job is executed and when done this solve session is terminated. Same mechanism applies when a solve job is submitted using the ‘old’ PRO API: the solve session is started, solve job is performed, solve session is terminated.We introduced the new concept of a Task so that we could run a sequence of tasks on the same session, thus avoiding the session launch times. This is particularly helpful when running a large number of optimization jobs that each require little time on the same model. After completing a Task the Session is used for the next Task in the queue for the same model. The Session is terminated when there are no more Tasks for that model in the queue.What else do I need to know as app developer?Only available on our cloud platform, no plans to offer this for the on-premise version of AIMMS PRO. Requires a commercial arrangement; and in most cases we can arrange trials. Reference documentation can be found here. And of course you can always ask questions here in the community or email our User Support team.     

Related products:Integrations and Data ExchangeAIMMS PRO and Cloud Platform

AIMMS 4.89 Release - What's New?

I'm happy to announce that yesterday we released the AIMMS 4.89 version. As listed below, this release includes some interesting features.Experimental Feature: Search/Find for WebUI TableAs an addition to the ‘Advanced Table Editing’ Experimental Feature, we added the possibility to search for data in the WebUI Table. Cells that contain your search string are highlighted and selected, and you can easily navigate through your search results. Full details are described in the documentation.Excel Upload/Download Support for WebUI Tables made a Generally Available FeatureIn AIMMS 4.86 we introduced the feature to Download Excel data from a WebUI Table and to upload Excel data into a WebUI Table. Since then, we have polished this feature and now we consider it good enough to make it into a generally available (GA) feature. This means that you do not have to set the ‘Excel Upload/Download Support’ checkbox anymore.WebUI: Cleaner Widget Header MenuOver time, we have added more icons to the header menu of our widgets. In some cases, especially in the Table widget, this could become a bit ‘messy’. To mitigate that, we now introduce the new ‘Kebab’ widget header menu. Instead of all the loose icons (for Excel upload/download, CSV download, etc.), we group these menus as items in the new menu, together with the widget actions. For details, please refer to the documentation.Better support for Academic/Community licensesWe have improved the support for academic and community licenses. Failed connections to our academic/community license server specified through a license URL now provide more detail about the reason for failure (e.g., license expired, too many sessions, etc). Licenses with a license URL can now also be specified in the License Configuration dialog in AIMMS itself. Previously, such licenses could only be entered in the AIMMS Launcher.Improved Presolver EfficiencyThe memory usage and computing speed of the AIMMS Presolver have become more efficient for linear models. For large linear models, it can be beneficial to switch on the option ‘Linear presolve’ because this might drastically reduce the memory usage of the solver.New Function: SetAsStringWe introduced a new function ‘SetAsString’ in the AIMMS language. It returns a string representation of a set. As a result of this, implicitly casting from a set to a string is now deprecated. Please refer to the AIMMS Function Reference for more information.And a lot more improvements.   For more information, please see the release notes. We hope that these features add value to your applications and enhance the user experience even more. Please leave your feedback and suggestions in the comments section. Thanks,Madhu Krishnappa

Related products:AIMMS LanguageWebUI

Product Update - Expected WebUI features in AIMMS 4.89

Dear Community,As you know, we’ve been working on the Enhancing the Tabular Data Manipulation experience on WebUI epic, and we have shared a few increments over the course of the last three major releases.We've made more advancements on this epic, and i'd like to share them with you all:“Excel Upload/Download Support” as formal General Available feature: This feature was introduced as an Experimental Feature in 4.86.1 version. We've been addressing the feedback we've gotten and making improvements, some of which are detailed below. With AIMMS 4.89 version, we formally make this a General Available feature and remove it from the category of experimental features.Global ‘Show Upload/Download Data Controls’ option: The Table widget now includes a new "Show Upload/Download Data Controls" option that lets you choose whether or not to allow your end users to upload or download the table data. This option was added in version 4.88.1. With the 4.89 release, we added a global Application-Settings "Show Upload/Download Data Controls" option, allowing you to choose whether to show or hide the data controls (the Upload Excel, Download Excel, and Download CSV buttons) on all the Table widgets across the WebUI.           Below is a table illustrating whether Upload and Download Data Controls are shown or hidden on  the Table widget, based on the option set at Global and Widget level “Shown Upload/ Download Data Controls” option.Upload/Download Data ControlNote: The global "Show Upload/Download Data Controls" option setting is overridden by the "Show Upload/Download Data Controls" option set for a specific table widget. Restructured and redesigned Widget Header Buttons: With the inclusion of the Upload and Download Excel buttons in addition to the current widget header buttons, we intend to update and reorganise how these buttons are shown on the widget header. Now, the Download controls like Download Excel, Download CSV and Download Image are grouped alongside the Upload Excel and the custom Widget actions.  Additionally, we added a "Help me" action that points to the appropriate Widget's documentation. Notably, the "Settings" action is displayed for app developers as a stand-alone button next to the … Kebab button, however for end users it will be the last entry in the list of actions.Notes:End users cannot access the "Help me" action; it is only available to app developers. This change is across all of the widgets. Support for webui::ElementTextIdentifier annotation has been added : Dropdown data values that have been translated using this annotation are now downloaded exactly as they appear in the WebUI table. When uploading an Excel sheet, these translations are also considered. Extend webui::IdentifierElementText support for Header titles area: We now extend our prior webui::IdentifierElementText support to include the translation of Identifier titles displayed on the Header titles area. This is like our earlier support for translation of Identifier titles displayed on Column and Row headers. When uploading or downloading an Excel sheet, these translations are also taken into consideration. For example, the “scndm::TransportationTypename” Identifier in the Table header titles area can be translated and displayed as “Transportation Type”. Improvements to the “Advanced Table Editing” feature: We introduced "Advanced Table Editing" as an experimental feature in version 4.87.1, with support for Block Selection, Block-Editing, and Copy-Paste capabilities. We've been addressing the feedback we've gotten and making improvements, some of which are detailed below.Search & Find feature on the Table Widget: With this feature, we can now search for and locate relevant data in the table. The table automatically scrolls to display the nearest search result. There is also a counter that compares the number of search results overall to the instance of the current result. Despite the fact that case insensitivity is the default search type, we offer a control on the search panel to disable it. There are ˄ and ˅ controls that allow you to move between the search results.Notes: As of right now, we only display the first 1000 results. If a search yields more than 1000 results, the search results counter will show 1000+. The data cells are the only ones that are currently searchable. This feature will eventually be expanded to include header cells as well. Enhancements to Block Editing: Previously, when a block was selected and a Control+Delete operation was done, the cells within the block did not automatically set to their corresponding default values. Now they will. We hope these features brings value to your application and further enhances your user experience. Please leave your feedback and suggestions in the comments. Thanks.Team WebUI.

Related products:WebUI

DEX support for generating API client code from OpenAPI specification files

Today we released version 2.0 of the Data Exchange library, containing the initial release of the support in AIMMS for generating client code to call APIs directly from within your model. The API client code generator will generate an API client directly from the OpenAPI specification of the service you want to connect to.While the Data Exchange library already had support for making HTTP requests and reading/writing JSON or XML request or response bodies, using this basic functionality to actually call an API was quite laborious and error-prone. The new API client code generator inside the Data Exchange library will tremendously ease the integration of third party APIs within your AIMMS model.For a given OpenAPI service specification, the generator willcreate a runtime library with collections of identifiers that can hold data for any JSON schema encountered in the OpenAPI specification file for describing request and response bodies. The library also offers support for generating this directly from a JSON schema file. create DEX mappings to map these collections of identifiers onto corresponding JSON or XML documents to create request bodies, or parse response bodies create procedures to make API calls to every operation defined in the OpenAPI specification, taking care of path and query parameter handling, handling of headers and cookies, generation of request bodies from, or parsing the results into, the identifiers generated in the runtime libraryThe generated code will support security schemes either using API keys, or using the OAuth2 authorization code or client credentials flows.All API calls will be executed in a completely asynchronous fashion, allowing multiple API calls to be made in parallel, For simple uses, the generator also allows generating a more simplified synchronous variant.At this point, the generator does not yet offer support for multi-part and/or binary request and response bodies. 

Related products:Integrations and Data Exchange

WebUI features in AIMMS 4.87

Dear Community, As you know, we’ve been working on Enhancing the Tabular Data Manipulation experience on WebUI epic, and made our first incremental release of Excel Upload/Download support in the last 4.86.1 release, also mentioned in my previous product update. We’ve made further progress on this epic and also have introduced a new Data Color Palette that is applied across widgets in the WebUI. The 4.87 release includes these features, here is a preview of them: Increment on Enhancing the Tabular Data Manipulation experience: As part of enhancing user experience of data manipulation on the WebUI table widgets, we now have extended it with support for Block Editing and Copy/Paste:Block Editing: We now can select a region of a table using your mouse, then type a value and press CTRL+ENTER to change all selected cells into the value you typed.                            You are not limited to selecting a rectangular region of cells. Holding down the CTRL key, you can select more than one region with your mouse. Such a region can also consist of a single cell. Copy/Paste: The table now supports Copy/Paste functionality. Currently, this is limited to rectangular blocks of cells, which you can select as described in the Block Editing section above. When having selected a block of cells, press CTRL+C to copy the block. In order to paste it, select a single cell in the table and press CTRL+V. This will paste your selected block of cells into a region of the same size with the selected cell as its top-left cell.                            If the paste region contains read-only cells, no values will be pasted in those.                  Pasting is not limited to the same table as from which you copied the values. You can paste into different tables on the same WebUI page or on different WebUI pages, even in other WebUI apps. Furthermore, you can also paste to external programs, for example, like text editors or Excel.                                                                                                                    Please note that pasting from an external source to a WebUI table is not supported.The Block Editing and the Copy/Paste features are available as Experimental Features. You can toggle the ‘Advanced Table Editing’ feature On or Off in the Experimental Features dialog in order to use it.  Updated Data Color Palette used across WebUI: The WebUI has a new data color palette, consisting of 16 well discernible colors for most users. This was introduced to replace the current default 19-color palette.                                                                                                    It will affect all Widgets that derive the coloring of their nodes from ordinal annotations: all Charts and the Map. The new palette also works better when using the Transparency Index option to create additional color variations for the Combination Chart.                                          Please refer to the documentation to learn more about the new colors, about falling back to the previous 19, 11 or 7-color palettes and how this influences any custom data coloring that might be in place.   Combination Chart with Colors from the New PaletteCombination Chart with Color and Transparency Index applied We hope these features bring value to your applications and further enhance your user experience. Please leave your feedback and suggestions in the comments. Thanks.Team WebUI. 

Related products:WebUI

Excel Upload/Download Support for Table Widget

Hi All, As you might be already aware we are working towards an epic about enhancing the Tabular Data Manipulation experience on WebUI. We are proud to announce that, as part of its incremental development, we have released Excel Upload/Download support for the current Table widget in the recent 4.86.1 version release. This Excel Upload/Download support feature of the Table widget is available as an Experimental Feature from AIMMS 4.86 onwards. You can switch on the feature by checking the ‘Excel Upload/Download Support’ box in the Experimental Features dialog. With this new feature we now provide the ability to download the WebUI Table Data onto an Excel file. And the ability to upload data from an Excel file to a WebUI Table.This feature unveils the possibility that one could now download the Table data onto an Excel file, make the required changes to the data in the Excel file and save it. One can utilize Excel features like Block selection and editing, sorting/filter, and usage of formulas to modify the data. And upload the file onto the Table so that the data reflects back on the WebUI and the model. With the current Excel Upload/Download support, there are some limitations on what you can and cannot do. For details on those and on the feature itself, please see the documentation.  Curious to know if you got a chance to try out this new feature.   Are you happy to use this feature in its current state? If not, why? Do you see something you would like us to improve? Please leave your feedback and suggestions in the comments. Thanks,WebUI Team

Related products:WebUI

User Content Roadmap

I have been invited to share a roadmap for the User Content! So, this is what we are planning for the year. E-learning platform (AIMMS Academy)For those familiar with our introductory course in Linear Programming, you'll be glad to know we are very close to releasing the second step in this program. The full scope of this journey will guide you in the set of skills required to build a very complete application - our fictitious Water Bottling company distribution optimization. This Water Bottling journey was created as a background for a full course in AIMMS. In it, you are part of analytics team of the company and need to apply your knowledge to help sourcing, distribution, marketing and sales in improving their decision making process within a water distribution company.From the conceptualizing of the model, to implementation and enhancing features, adding a UI and integrating to different sources. This part of the journey picks off from where we stopped and looks at more complex, higher dimensional data structures. It also introduces important UI and integration techniques.In addition to this, we have other courses on the way:My first WebUI App – This will be a starter course on WebUI, just as we have for “My first AIMMS App”. My intermediate AIMMS App - Also a continuation, picks off from our first My First AIMMS APP The third instalment of the Water bottling journey. Storytelling with Graphs - A conceptual and practical view of how to improve the use of graphs in applications.  Examples and DemosWe have been developing our D³ - Definitive Dynamic Demos – a collection of open-sourced apps that dive deeper into a specific optimization problem.These app’s are truly focused on being a starting point for developers that wants to create their own solution or a powerful demonstration tool for pre-sales.We will launch the first of the series very soon – F³ - Fantastic Furniture Factory – a production scheduling tool with several levels of complexity.We also are planning 3 additional demo’s during the year, focused on other optimization problems.They will also accompany with some documentation and video tutorials. Documentation and How ToOn the How-to initiative, we have added many articles during Q1 and will continue to do so during the year. Our priorities lie in addressing items that customers recurring request. Our intention is to accelerate problem resolution through examples- based articles.Here are the more recent ones:https://how-to.aimms.com/Recently_added.html

Related products:AIMMS Language

2022 Roadmap

In this post, I like to highlight the main developments that we will be focusing on in 2022. This roadmap has been created based on various inputs, including many customer & partner discussions, stakeholder interviews we did in 2021, incoming requests, and market trends so we can provide an even greater impact and more benefits to you and your users. In addition, these inputs have allowed us to adjust and finetune our product vision.  An important component of our vision is that we want to provide you AIMMS as a complete service in the Cloud where customers can find ready to go Supply Chain applications, run their end-to-end optimization practices using bespoke applications, and partners are able to build a thriving business. This means, we have adopted a Cloud-first strategy with a strong focus on deployment of applications and optimization engines (API-based), and the integration of external services (be it data, machine learning or AI). We want to allow more connected and integrated decision making such that more impact can be achieved by a growing community of users, easily.  In our Cloud-first strategy, we are also moving from AWS to Azure to benefit from the partnership Microsoft can offer to us and to many of our customers.In the Roadmap 2022 table below you can see that some of these items are not exactly specified yet as they also depend on our customer use cases and feedback during development. For example, in the AI/ML incorporation, as well as the understanding of optimization results, we are looking forward to your input. So please do reach out to us if you have specific use cases you are looking to address, or respond to requests and use the ideation on this community.  Timing of all initiatives is purely indicative; we’ll update this table as frequently as possible.It’s good to know that next to those main developments, lots of smaller improvements are developed and released on a regular basis. In addition, we are continuously improving our architecture to assure maintainable, and robustness of use. As always, you can expect from us to stay up to date with the latest solvers. Please be sure to regularly check the release notes of our various products you use.  Table updated July 4, 2022 Focus Area Details Q1 Q2 Q3 Q4 Next Gen SC Navigator Our next generation supply chain application consolidating our existing apps and delivering; improved UX for working with scenarios, more optimization options, improved inventory modeling, and improved data modeling.       Beta Data Exchange Library Multi-functional library to generate both REST API servers and clients and easily map data onto AIMMS models, designed to minimize the programming effort for app developers (OAuth, OpenAPI, …) More details here. Parquet-file support OAuth support OpenAPI support Incremental releases PRO REST services Providing programmatic access to our cloud deployment platform for publishing apps, running apps, managing users/groups/permissions, etcetera. More details here.   Users, Apps Sessions   Incorporating AI/ML into models Making it easy to incorporate AI/ML functionality into AIMMS-cloud-powered analytics/optimization flows (Azure ML, Bring-Your-Own-Scripts, connect to your ML platform, …, TBD).   DIY via DEX BIY via Azure ML DBA (Done by AIMMS) Beta UI-builder: improved tabular data manipulation Step-improvement in tabular data manipulation (removing one hurdle from switching from WinUI to WebUI) More details here. Scope clear Beta released V1 V2 ­­UI-builder: widget upgrades + DIY widgets New visualization widgets + easier widget customization or even creation of custom widgets by app developers More details here. New Combination Chart Theming, Extensions Combination Chart, more Tooltip support Incremental releases Incremental releases UI-builder: flow widget Providing app developers with a flexible tool for creating data-driven diagrams (removing one hurdle from switching from WinUI to WebUI)       V1? Optimization results easier to understand Exploring how to improve the experience of understanding solutions and handling infeasibilities to better serve app developers and end users ongoing ongoing ongoing Ongoing Azure Cloud Switching from AWS to Azure as Cloud Service Provider for AIMMS Cloud Platform, including ‘transactable’ in Azure Marketplace    new customers + migrating   target completion      

Related products:AIMMS LanguageWebUIIntegrations and Data ExchangeAIMMS PRO and Cloud PlatformSC Navigator

Product Update - Expected WebUI features in AIMMS 4.85

Dear Community, As you know, we recently released in 4.84.1 the new Combination Chart Widget type as an experimental feature, mentioned in the previous product update.We’ve been extending the Combination Chart Widget type with additional features and been working on structuring our WebUI Theming. The next release will likely include these features, here is a preview of them: Increment on Combination Chart: As part of improving the capabilities of this new chart, we have extended it with features such as:Chart Types: We now can control how the data from each of the identifier is to be presented on the chart. We can choose the Chart-Type per identifier. The available options are Column, Line, Area, Scatter, Spline and Area Spline.  Display of Chart-Type options on the Widget Option Ediotor.Option EditorDisplayed as combination of Area and SplinesCombination chart with Area and Spline.Displayed as combination of Columns, Lines and Areas Combination chart with Columns, Line and Area.Data Coloring: We now can control coloring of the chart elements. From the indexes of the contents provided, we can choose the index over which our color palette is to be applied and similarly the index over which the 5 levels of transparency palette is to be applied. These color and transparency palettes are also applied on the respective legend items.Data Coloring through Color and Transparency Index OptionsData Coloring OptionsUsing color index (fruits) instead of Identifiers (default)Data ColoringMigration to new Combination chart: We will provide a 1-click solution to create a copy of the existing charts (Bar, Line and BarLine) to that of the new Combination chart. We encourage the App developer to use this feature, since the risks are low here as the existing chart is still available on the page, they get an opportunity to compare side-by-side their existing chart with that of the new chart type and take the migration forward.Support for 2nd Y-Axis: Combination Chart Widget now supports Multiple (Primary and Secondary) Y-Axes. You could choose per identifier, against which the Primary (Left-sided) or Seondary (Right-Sided) Y-Axis the data is to be represented. Combination Chart with Multiple Y-Axes  Support for Hidden Indices: In the Combination Chart Widget, we now have the ability to hide an Index reference from display on the UI. An example of <Identifier-Set> p_isCarrying be shown on the Legends of the ChartAn example of <Identifier-Set> being set to be hidden from UI. And is not seen on the Chart Legend.  WebUI Theming – As mentioned in more details here, we’ve been working on cleaning up and restructuring the theming of WebUI. Tooltips for Multi-Select, Selection-Box and Legend Widgets - Based on the Ideation requests here and here we received over the community. We now have extended Multi-Select, Selection-Box and Legend widgets to support tooltips on the elements. Hover over the elements shows the tooltips configured using webui::TooltipIdentiifer Annotation on the respective Set. Tooltip on hover of elements on Selection-Box.Tooltip on hover of elements on Mulit Select  Tooltip on hover of elements on Legend​​​​​  We hope these features bring value to your applications and further enhance your user experience. Please leave your feedback and suggestions in the comments. Thanks.Team WebUI.

Related products:WebUI

Product Update - Expected WebUI features in AIMMS 4.84

Dear Community,As you know, we’ve been working on a new Widget framework and improvements to our widgets Option Editor. While doing so, we built a new Combination Chart widget.The next release will likely include the following: Combination Chart (Beta Release)- In this initial version, the widget supports only data representation with Columns. This Chart widget includes improvements such as: The ability to control the ‘Number of Decimals’ and ‘Show/Hide Units’ per content. ‘Number of Decimals’ and ‘Show/Hide Units’ default options and these values are inherited across contents. These option values per content can be overridden with an explicit value. The ability to add the same content multiple times and slice each differently. Interactive Legend, with option to toggle it On/Off. Data labels, with option to toggle it On/Off. Option to control the number of visible Data categories within viewport through the introduction of a Horizontal scroll. The ability to set a chart sub-title and tiles for Axes. Add Widget Wizard - We have redesigned the experience of adding new widgets. We now start by providing the widget type input and then the name. Based on the widget type, you can provide the contents. Contents and other options for the widget can be configured through the option editor. We hope these features bring value to your applications and further enhance your user experience. Please leave your feedback and suggestions in the comments. Thanks.Team WebUI.

Related products:WebUI

WebUI Theming: new, easier options available soon

Dear Community,While we know many of you are pleased with the way our WebUI looks, we also recognize that many of you want to add a custom touch: using your company colors, adding a logo or maybe opting for a dark theme. Current theming = adding custom, magic stylesheets If you have ever tried to change, for example, the color of buttons, or add an amazing gradient to your app's background, you will probably find out that these seemingly simple changes can take quite a lot of effort. Custom stylesheets with some pretty long, repetitive and illogical selectors need to be maintained. Upcoming WebUI Theming = Custom CSS Properties So, we decided to start working on a better way. More logical, more future-proof, more manageable.That is why we're introducing a whole range of new CSS variables (officially known as Custom CSS Properties) that will give you access to the properties of the WebUI elements that are most often changed.CSS variables can be changed on the fly, so your browser's developer tools can give you immediate feedback on the effect of what you're changing. And they'll all be grouped together, using much more logical names than before. Just list your desired values in a single, easy to set up stylesheet file and you're ready to go.You wanted dark red instead of bright blue buttons? Add this to your project and you're done!:root {    --color_bg_button_primary: #7f0000;    --color_bg_button_primary_hover: #600000;    --color_bg_button_primary_active: #a00000;}There will be 50+ other properties to work with.We will document all the possibilities with the official release, providing hints and demos. Customer Support will also be able to guide you even better than with the old custom stylesheets.    How you benefit:change the basics by changing just a few colors or other properties. set the color/font/property of one logically named item and you'll see it work wherever it should work. feeling adventurous: add 'scoping' to your variables and limit where you apply theming. feeling really adventurous: combine old custom stylesheets with some new variables and get 'the best of both worlds'. Just because you can and because we're not ending the old ways of working all of a sudden.What this means for us:we are now solely responsible for making your theming work with whatever we add or change to WebUI. New widgets, differently structured widgets: it will now be possible without you seeing any side-effects. we can make sure you don't compromise the usability of the developer-interface parts of WebUI.Expect to see more news about this before the end of Q1'22. A limited trial setup will be part of the next release, but lacking full documentation and support for now.Keep an eye on the product updates to see how we progress and please reach out to us to share your thoughts.   Thanks!Team WebUI

Related products:WebUI

What’s New in AIMMS products? Check out the Greatest Hits in 2021

Curious about the features and product updates our team released in 2021? We collected the highlights below.  AIMMS Development   AIMMS Community Edition Since its launch in March 2021, many users around the world are using AIMMS Community Edition! In case you haven’t requested yours yet, this free AIMMS license gives you access to our extensive capabilities for model diagnostics, data connectivity, web application building and visualization, case management features, and more. AIMMS Community Edition also includes access to the open source solvers CBC (for linear and mixed-integer problems), and IPOPT (for nonlinear problems), as well as the AOA solver (for mixed-integer nonlinear problems). It’s ideal for personal projects and training purposes. Request AIMMS Community Edition todayWebUI  We released a new Application Management capability as experimental feature in February and released this as a standard feature in September. This allows you to more easily copy, move and rename widgets on your pages.  Read more   The Grid Layout became a standard feature in July. This gives you far better control over where widgets are placed on your pages, dialogs, and side panels using pre-defined or custom layout templates. Read more  You can now download widget contents as an image - one of the many ideas submitted in our community.   You can now add custom tooltips for the X-, Y- and Size labels in your Bubble Chart widgets, which can further increase the clarity of the data that you are presenting to your users in this widget type. We also added support for custom tooltips to the Button, Upload and  Download widgets – another idea submitted in our community.  We announced a new WebUI Widget Framework, which will make widgets more flexible, robust, and easy to use for us and our users to manage, and hosted a live product update to provide a demo of upcoming features.     We extended the Text Widget to support a string parameter as its content. This means that you can now dynamically specify the content of this widget.  PLUS we would love your feedback on the new widget types we are building. Take a short survey.  For a complete overview of new features, check out this page.  Algorithmic Capabilities As of this summer, Gurobi can now be used on applications running on the AIMMS Cloud Platform - thanks to Gurobi’s new Web License Service (WLS). This expanded the choice of solvers you have across AIMMS products. In AIMMS 4.83 (released in November), we added support for Gurobi 9.5, which comes with performance improvements for LP, MIP, MIQP models and for convex and non-convex MIQCP models. This release also shipped with the following:For most GMP procedures used to modify columns, rows or coefficients, we added a ‘raw’ variant which uses a set of columns and/or row numbers as input. You can now use a new procedure GMP::SolverSession::GetIIS to retrieve an irreducible infeasible set (IIS) for an infeasible math program. It returns the row and column numbers of the rows and columns in the IIS. The IIS will be calculated by the solver and is supported by CPLEX, Gurobi and BARON.Besides this, we released other algorithmic capabilities this year, such as:  The use of quadratic structures in solvers, including Knitro 12.3 (or higher)  Support for blockmatrices in submodels  For more information about the latest algorithmic capabilities, click here.   Data Exchange Library The Data Exchange library now enables you to expose procedures in your model through a REST API. We also announced several improvements in the Data Exchange library last month, including:  A new annotation-based JSONDocument generator that creates a mapping for a standardized nested JSON document to read and write all data for a given collection of identifiers in a model.  A new function dex::ResetMappingData() to empty all identifiers, sets, and reset counters used in a particular mapping.    AIMMS Network Design  We started the year by revamping the user experience in AIMMS Network Design, check out this post for details.  You can now generate Geocodes, Trip Times and Distances automatically.   We released features to make maps in AIMMS Network Design more customizable, easier to use, and visually appealing.  The app now enables you to model non-financial objectives, like carbon emissions and power consumption, to assess sustainability trade-offs. Watch a demo and learn more  AIMMS Docs: Now open source  We opened our documentation’s source code in an effort to make it easier for users to provide feedback and contribute to the improvement of our products. Read more  AIMMS Academy: More training possibilitiesThis year, we expanded the course offering on AIMMS Academy to include:Error Handling WebUI Advanced User Interaction  Inventory Planning Execution Efficiency Remember that you can get certified in several of our courses. Enroll today! 

Related products:AIMMS LanguageIntegrations and Data ExchangeSC Navigator

Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator