Releases: oroinc/platform
Release Notes
The re-introduction of Channels.
We started the implementation of a new vision for the Channels in 1.3 version and now we bring Channels back, although under a new definition.
The general idea behind channels may be explained as follows: a channel in OroCRM represents an outside source customer and sales data, where "customer" and "sales" must be understood in the broadest sense possible. Depending on the nature of the outside source, the channel may or may not require a data integration.
This new definition leads to multiple noticeable changes across the system.
Integration management.
Albeit the Integrations grid still displays all integrations that exist in the system, you now may create only "non-customer" standalone integrations, such as Zendesk integration. The "customer" integrations, such as Magento integration, may be created only in scope of a channel and cannot exist without it.
Marketing lists.
Marketing lists serve as the basis for marketing activities, such as email campaigns (see below). They represent a target auditory of the activity—that is, people, who will be contacted when the activity takes place. Marketing lists have little value by themselves; they exist in scope of some marketing campaign and its activities.
Essentially, marketing list is a segment of entities that contain some contact information, such as email or phone number or physical address. Lists are build based on some rules using Oro filtering tool. Similarly to segments, marketing lists can be static or dynamic; the rules are the same. The user can build marketing lists of contacts, Magento customers, leads, etc.
In addition to filtering rules, the user can manually tweak contents of the marketing list by removing items ("subscribers") from it. Removed subscribers will no longer appear in the list even if they fit the conditions. It is possible to move them back in the list, too.
Every subscriber can also unsubscribe from the list. In this case, he will remain in the list, but will no longer receive email campaigns that are sent to this list. Note that subscription status is managed on per-list basis; the same contact might be subscribed to one list and unsubscribed from another.
Email campaigns.
Email campaign is a first example of marketing activity implemented in OroCRM. The big picture is following: Every marketing campaign might contain multiple marketing activities, e.g. an email newsletter, a context ad campaign, a targeted phone advertisement. All these activities serve the common goal of the "big" marketing campaign.
In its current implementation, email campaign is a one-time dispatch of an email to a list of subscribers. Hence, the campaign consists of three basic parts:
Recipients—represented by a Marketing list.
Email itself—the user may choose a template, or create a campaign email from scratch.
Sending rules—for now, only one-time dispatch is available.
Email campaign might be tied to a marketing campaign, but it might exist on its own as well.
Improved Email templates.
Previously, email templates were used only for email notifications. Now their role is expanded: it is now possible to use templates in email activities to create a new email from the template, and for email campaigns.
Support for variables in templates was extended: in addition to "contextual" variables that were related to attributes of the template entity, templates may include "system-wide" variables like current user's first name, or current time, or name of the organization. It is also possible to create a "generic" template that is not related to any entity; in this case it may contain only system variables.
New templates are subject to ACL and have owner of user type.
Other improvements
- Multiple improvements to Web API
- A new implementation of option sets
- Improved grids
Community requests.
Here is the list of Community requests that were addressed in this version.
Features & improvements
- #50 Add the way to filter on empty fields
- #116 Add custom templates to workflow transitions
- #118 Extending countries
- #136 Console command for CSV import/export
- #149 New "link" type for datagrid column format
Bugs fixed
Release Notes
Stored XSS Vulnerability fixes
* added "|json_encode|raw" for values outputted in JS objects
* removed "|raw" from outputs of path in url attributes
* added "e('html_attr')|raw" when outputting html attributes
* removed mentions of "flexible entity" and unused code
* added validator for css field of embedded form, now if user will enter html tags in this field he will get an error message
* added stiptags filter for css of embedded forms
* changed translation message oro.entity_config.records_count.label to contain placeholder of records count and use UI.link macros in template instead of slicing str
* changed method of validation of emails on the client, old validation was working very slowly with some values like '">< img src=d onerror=confirm(/provensec/);>', n
* removed "trans|raw" where it's not required
* minor changes in templates to improve readability
* added Email validator for Lead
* fixed XSS vulnerability in Leads, Case Comments, Notes, Embedded forms, Emails, Business Units, Breadcrumbs
* fixed escaping of page title
Release Notes
The 1.3.1 release is mostly bug-fixing. Below is a list of the most important fixes.
Fixed issues:
- Update Schema button remains visible after schema update.
- JS action controls do not work on the Attribute tab of Edit Transition form.
- System listeners are disabled by ResponseHistoryListener.
- Error on Schema update.
Release Notes
Redesign of the Navigation panel and left-side menu bar.
Navigation panel underwent a major overhaul. The immediately visible changes relate to visual appearance of the menu: The menu panel got a new look, and most control elements, such as organization name, Search, and Shortcuts controls went to the top (Pintab) panel.
The redesign, however, changed not just the visual appearance; It is now possible to configure whether the menu panel should appear on top, or on the left. This can be done under System Configuration > Display Settings > Navigation bar with Position selector. Left-side menu has the same structure, but its top-level items are displayed as icons instead of words. Please note: this means that from now on an icon should be designed for every new top-level menu item along with the name.
Website event tracking.
It is now possible to track user activity on web pages and record it in OroCRM. The tracking is done using Piwik JavaScript Tracking code snippets. (For additional information on the subject please check the documentation)
In order to start track events, you have to create a website first—this can be done under Marketing > Tracking Websites. After a site is created, you will get a template of tracking code that you can edit to suit your tracking demands and then embed it on desired pages of your website. By default the code contains only tracking of page views, but the template also contains a placeholder for event tracking code (hidden with comments).
By default all information is passed to OroCRM directly in the real time; note that it may cause performance issues if the traffic on the website is intensive. To avoid this, you may disable dynamic tracking and choose longer log rotation interval in the tracking configuration (System Configuration > General Setup > Tracking). You can also choose to store data not only in OroCRM, but on the Piwik host as well; to do so, specify Piwik credentials in the tracking configuration. Note that if this option is executed, website identifiers in OroCRM must be exactly the same as in Piwik.
Processes.
Processes are meant to be a core feature of both BAP and OroCRM, and one of the most widespread ones. The formal definition of the process is following: The process encapsulates a user-defined set of actions that is performed after some triggering event if some additional conditions are met. In plain language this means that the user will define a process if he feels the need to automate some routine actions that have a clear set of rules; the most obvious example of such actions is automated processing of imported data.
Processes consist of four major parts:
- The trigger, or triggering event—an event the process listener is set to, and which launches the process. There are two principal triggers: A creation of a new entity record, and an update of an existing record. In the latter case, the update may be restricted to a certain attribute, or a set of attributes of an entity.
- Conditions that are checked after the launch.
- Actions that are performed by the process if the conditions are met.
- Conditions and actions available for use in processes are the same that are used for workflows.
In scope of this release we introduce only the basic functionality of processes. For now, the only way to create and manage them is by editing the process configuration code in the .yml file; the UI management tool will come in future releases.
New custom field types for entities: File and Image.
It is now possible to create custom entity fields of the File or Image type. Files or images are uploaded to the field via the standard dialog, and then available for preview (in case of image), or download (in case of file) from the view page of an entity record.
The use case for such fields is obvious from their nature: They allow to add pictures or files that might provide important context for an entity—think of the user avatar, or the contact photo, or the PDF file that contains the statement of work related to the closed opportunity
New control for record lookup (relations).
We introduce a new record lookup control to be used on Edit pages for relation attributes. This control is configurable and contains three parts that can be turned on and off depending on the context:
- Lookup control where the user can start typing in the desired value, and where he will get a simple list of matches, or, if he typed nothing, a full list of available records.
- Grid button. After clicking this button, the user will see a popup with a grid of entities that are available via the control. The grid provides more detailed view of available records, and the user can filter it and sort it, too. The user can select one or many records depending on the nature of the underlying relation.
- New record button. With this button the user can create a new record on the fly, without having to navigate away from the form.
As a general rule, relations to entities such as Contact and Account should always contain the New record button in the control, as these entities are the most likely to be created in the context of some other entity. Think of a new Lead that comes from a new customer—to properly handle this situation the user has to create all three entities, and with the new control he is able do it all in the scope of the New Lead form. On the other hand, entities like User or Business Unit are not likely to be created often, and from context of other entities, so for them the New record button is redundant.
Data import in CSV format.
The existing feature of CSV import and export of Contacts was expanded and generalized. It is now possible to configure templates for import & export of every entity, including custom ones. Ready-to-use import & export actions are available by default on the following entity grids: Account, Contact, Lead, and Opportunity. Export is also available for Users.
Release Notes
Ability to delete Channels
Channels and their related data can now be deleted even after they have been synced with OroCRM. (Previously only unsynced channels that contained no data were available for deletion.)
Please note that the data is not removed immediately – the operation is performed by a background process that might take some time, especially if you have a lot of data to delete. Also, only data that is directly related to the channel is removed – i.e., while a Customer record is deleted, its associated Contact and Account will remain in the system.
Workflow view
We added a workflow view page to the workflow management UI.
Reset of Workflow data
This feature resolves a conflict of the "old" and "new" workflow data that might happen when you change the active workflow of some entity but already have some records of this entity in the middle of the "old" workflow. Previously, they got stuck in the old flow forever, and it was impossible to launch the new workflow for them or to continue with the old flow. Now, the workflow data is reset for all records when you activate the new flow; and if you already have other started workflow, you will be able to manually reset the workflow data for each entity record.
Please note that data reset is immediate – the operation is performed in real time, so that might take some time, especially if you have a lot of records to reset.
Line charts in Reports
OroCRM reports now offer table reports and line chart that is plotted based on the report data. This is just the first step of this feature, and in future releases bar and pie charts will also be added.
To add a chart to the report, simply choose the desired chart type in the new Chart Designer section of the Report builder tool, and then specify, which column of the report will serve as category set (X axis), and which will form the set of values (Y axis). The chart will be placed on top of the report.
Release Notes
Magento Import improvements and fixes
- Fixed validation of Magento Channel over https
- Improved entity validation in Magento import
Release Notes
Ability to delete Channels
Channels and their related data can now be deleted even after they have been synced with OroCRM. (Previously only unsynced channels that contained no data were available for deletion.)
Please note that the data is not removed immediately – the operation is performed by the background process that might take some time, especially if you have a lot of data to delete. Also, only data that is directly related to the channel is removed – i.e., while a Customer record is deleted, its associated Contact and Account will remain in the system.
Workflow view
We added a workflow view page to the workflow management UI.
Reset of Workflow data
This feature resolves a conflict of the "old" and "new" workflow data that might happen when you change the active workflow of some entity but already have some records of this entity in the middle of the "old" workflow. Previously, they got stuck in the old flow forever, and it was impossible to launch the new workflow for them or to continue with the old flow. Now, the workflow data is reset for all records when you activate the new flow; and if you already have other started workflow, you will be able to manually reset the workflow data for each entity record.
Please note that data reset is immediate – the operation is performed in real time, so that might take some time, especially if you have a lot of records to reset.
Line charts in Reports
OroCRM reports now offer table reports and line chart that is plotted based on the report data. This is just the first step of this feature, and in future releases bar and pie charts will also be added.
To add a chart to the report, simply choose the desired chart type in the new Chart Designer section of the Report builder tool, and then specify, which column of the report will serve as category set (X axis), and which will form the set of values (Y axis). The chart will be placed on top of the report.
Release Notes
Dashboard management
The 1.1 version introduces configurable and interactive Dashboards to the platform.
You will now be able to:
Re-organize widgets on the dashboard using drag & drop – simply click on the widget header and start moving it around;
Collapse and expand widgets using the small "−" button on the left side of the header;
Remove widgets from the Dashboard using the trash can button on the right side of the header
Add widgets to the Dashboard using an Add Widget button.
The ability to configure dashboards means that users with sufficient ACL privileges can add new dashboards to the system, edit, and remove the existing ones. Dashboard management is available either from the new Dashboard > Manage Dashboards menu item, or directly from the Dashboard view using the new Tools button.
Release Notes
Fixed Issues
- Issue #3979 – Problems with DB server verification on install
- Issue #3916 – Memory consumption is too high on installation
- Issue #3918 – Problems with installation of packages from console
- Issue #3841 – Very slow installation of packages
- Issue #3916 – Installed application is not working correctly because of knp-menu version
- Issue #3839 – Cache regeneration is too slow
- Issue #3525 – Broken filters on Entity Configuration grid
- Issue #3974 – Settings are not saved in sidebar widgets
- Issue #3962 – Workflow window opens with a significant delay
- Issue #2203 – Incorrect timezone processing in Calendar
- Issue #3909 – Multi-selection filters might be too long
- Issue #3899 – Broken link from Opportunity to related Contact Request
Release Notes
Workflow UI management tool
Workflows are an integral part of the OroCRM experience and of every Business Application. Prior to this release, workflow creation and configuration could only be done by developers using the configuration files. With this release we introduce the first generation GUI tool that allows you to create new Workflows and manage some of the features of custom workflows and reduces the dependency on developers. This version includes the following features:
- Access the list of all workflows that currently exist in the system. Note that "System" or built-in workflows cannot be edited, but can be cloned.
- Activate and deactivate workflows.
- Create a completely new workflow or clone and adjust an existing one.
- Specify steps of the workflow and their relative positions in the workflow
- Add transitions to the workflow
For workflow transitions, the following customization is possible:
- Specify transition form (popup or the whole page) and entity attributes that will appear on this form.
- Customize transition button: change its label, icon and style.
- Provide a warning message to the user.
With future releases we will continue enhancing this feature and adding more functionality to allow a user to fully manage Workflows
Segmentation wizard
Marketing segmentation is another must-have for a proper CRM, and in this release, a segmentation tool has been introduced in OroCRM.
The main purpose of the segment is to single out the required set of records from the entire data pool and make these records available for use by other tools; the secondary purpose is to provide a convenient way to view and access this data. Segments are very similar to Reports in appearance, but their nature is different: They do not simply show a table with data, but provide access to the records that make up the segment.
Segmented data sets can be exported in CSV format, or be reused within OroCRM to build reports or other segments. Future use cases for the segments within OroCRM include segment-based workflows, processes and other mass actions.
Reminders
Reminders can be added to Tasks or Calendar events to ensure that the user is notified of it some time in advance. There are two types of Reminders: flash messages and emails. Each Task or Calendar event can feature as many reminders of both types as necessary.
Package management
This is a BAP feature that provides a user interface for Package Manager – a separate application that allows to view installed packages, check for available packages, install new packages and disable installed packages.
Package Manager can be reached via System → Package Manager menu items. In order to use it, the user has to have permissions to edit composer.json.
Packages can include demo data of the application contained in the package and can be added while enabling a package.
Page Totals and Grand Totals for grids
Built-in Reports now feature page totals for the content of the single page and grand totals for the content of the entire grid. Functions for totals calculation can be customized in the config file for displaying for example average value for the data.
Proper formatting of Money and Percent values
Money and Percent values will appear formatted in all grids, including custom Reports.
Configurable Sidebars
Each of the sidebars can now be turned on or off in the system settings.
Notification of content changes in the Pinbar
The pinned page will show a small yellow dot if its content has been changed by another user while it is pinned.