Releases: oroinc/platform-application
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.
Release Notes
Embedded forms
This feature allows developers to create embedded forms that can used in third-party websites in order to collect data directly into OroCRM and have workflows around the data collected. These forms can be set up to maintain the look & feel of a target website.
The package for embedded forms contains two examples of such forms: generic Contact Request form and a Magento Contact Request form that uses Magento CE CSS in its appearance. The latter form also has an OroCRM workflow attached to data records generated from it, serving as an example of the use case for embedded form data collection.
CSV export
The ability to export data grids to CSV files has been expanded to custom reports and most data grids.
Upgrading
We have added the ability to upgrade existing installations of OroCRM. To upgrade follow the instructions in upgrade.md file. This process will be automated in future releases.
Release Notes
Translations management
These features complement each other: they provide ability to prepare and upload packages of messages that shall be translated to crowdin.net service, and then download translated packages back to the platform.
Packages contain .yml files grouped by bundles, and, in case of translated packages, by languages
This feature provides UI for language settings, available under System → Configuration → Language settings menu. It allows to see the available translations and progress of the translation (percentage of translated messages across all projects). Translations can be downloaded; for downloaded translations the status is also shown – translation is "Up to date" when no changes have been made in crowdin since the last download, or "Needs update" if such changes has been made. In the latter case the Update action is also available.
Downloaded translations can be enabled or disabled, and enabled translations can be used to set the Default language of the system and as a supported language for email templates. After the system language is changed, user should run clear:cache command for changes to apply.
Please note that in some rare cases PCRE that is used to process translation messages may fail on Windows servers
Improved Reports
Segmentation Builder
The idea of this feature is to provide improved UI for conditions builder that includes drag-and-drop, extended condition expressions, and grouping of conditions
Tree for choice field for report creation wizard
This feature improves the UI for the field choice control in both Column selector and Condition selector of the Report editing page. The control now shows fields grouped under the entity name, and this group can be either folded or unfolded by clicking the entity name. This grouping is also preserved in display of search results.
CSV export for grids and reports
This feature allows to export (default) report data in CSV format
Add Totals for Grids
Totals row has been added to default reports. This row shows total value for all numerical columns on the page; the value shown is total for visible rows only, not for the entire report.
Add Money and Percent formatting for static reports
Values in money and percent columns (like Budget amount and Probability for Opportunities) are now properly formatted: instead of 1,234.00 and 0.5 the reports will now display $1,234.00 and 50%, respectively
Apply FontAwesome web-application icons to our entity icon field
Known issues
Extended entity fields are duplicated after the reinstall of an existing instance. Duplicate fields can be viewed in Entity Configuration screen.
Doesn't work ability to create custom relations for entities. These field types were temporary removed from entities management
Release Notes
Table Reports creation wizard
"Table Reports" are simple reports where user can choose fields to show from target entity or related entities, set filters and conditions.
On “Manage Reports” page, user can find UI management for reports, where users can create, modify or delete reports. For now it is possible to choose an entity, select fields from chosen or related entity, set filter or sorting rules and describe filters logic.
It is possible to add grouping by fields and use some of aggregation functions. Available functions (depends on column type): COUNT, AVG, MIN, MAX.
Manageable labels of entities and entity fields
Implemented possibility to change entity field labels from Entities Management (System -> Entities). From now, if you change label of entity field – it will be changed on entity instance view and edit pages.
There is also support for plural label and description.
Record updates notification
Added notifications via Web Sockets for all connected clients when data that they are viewing is changed. Each page subscribes to several channels (tags) and checks updates on them. When update notification is received an update message appears that data was changed with suggestion to reload the page. If data was changed inside pinned pages a yellow marker will appear on appropriate pin tabs.
Sidebars widgets
Added left and right sidebars for special sidebar widgets. Sidebar has two states: minimized or expanded. To add widget, user should click on “+” inside a sidebar. Widgets, can be added to a sidebar, deleted from it, change widgets order. Each widget can have its own configuration. All these settings are saved per user. Bundles can provide their own widgets. The widget is a module, exporting 3 entities: default settings, ContentView and SetupView. ContentView and SetupView are Backbonejs views. defaults is template for widget's settings.
Mobile Web
Implemented responsive design for mobile devices.
Package Definition and Management
Added feature with possibility to manage external packages. User can install/uninstall/upgrade packages from Oro repository. Package Management has different entry point and different user session. You can get to it through the menu: System -> Package Management.
Themes
Added ability to define application theme in config, using oro_theme section in config.yml. Themes are needed to redefine styles specific for application (i.e. colors, fonts, etc).
Theme examples can be found in \Oro\Bundle\UIBundle\Resources\public\theme.
Notifications for record owners
Added ability to send notification emails for entity owners on user, business unit and organization levels. User can turn it on during creation or edit notification rule checking Owner checkbox in Recipient list.
If ownership type is user an email will be send to the primary email of this user, if business unit is set an email will be sent to primary emails of all users that belongs to this business unit. If organization is set - an email to all primary emails of the users that belongs to all business units of this organization.
--force option for oro:install
Added --force option for oro:install command. With this command user can reinstall application from CLI without checks of “installed” parameter.
Remove old Grid bundle
Enhanced implementation of the grids was placed in Oro/ Bundle /DataGridBundle. Oro/Bundle /GridBundle which left for backward compatibility in previous releases was removed.
Basic dashboards
Developers can create dashboards using configuration file dashboard.yml where in section “dashboards” a new instance can be declared with list of widgets declared in section “widgets”. Each bundle can provide its own dashboard.yml where a new dashboard can be added or change existing ones.
Example can be found in Oro\Bundle\DashboardBundle\Resources\config\dashboard.yml
Added basic dashboards for Oro Platform and OroCRM. On Oro Platform new dashboard with calendar and recent emails widgets is loaded by default.
Release Notes
ACL management in scope of organization and business unit
Main point of this story was to give administrator an ability to limit permissions for users on organization or business unit level. Users can now be assigned permissions of a role and in the same time assign a scope for this permission.
Known issue:
- Create and Edit actions now support only “None” or “System” ACL scope. Owner field on create and edit actions cannot view entities according to ACL levels (e.g. users, business unit. division. organizations etc.) it only works on “None” and “System” scope. This should be fixed in next sprint.
- Action buttons in grid rows, such as “View”, “Edit” and “Delete” displayed even if user has no permissions for these actions. If clicked a user will get an error message about his lack of permissions. Buttons are not visible only if ACL action is set to “None”.
- Search results has no filtering according to ACL access, search result will return all founded entities.
- Contact address ACL does not work.
- If ACL role was changed and pinned without saving, when user will return to pinned page all changes will be lost.
- If session is lost while on the edit/create role page user will not get any ACL dropdown opened.
"Option Set" Field Type for Entity Field
Implemented functionality for users with the ability to add select/multiselect attributes to extended entities. Users are able to create custom field with type “Option set”, set it as “select” or “multiselect”, add options, change options order and mark all options that will be selected by default.
Form validation improvements
Added form extension that will add data-validation attributes to all forms where it is needed.
Tabs implementation on entity view pages
Was refactored implementation of scrollSpy component re-initialization.
Title block of the tab hided if tab is active.
Last tab is scrollable to the top of the page.
Eliminated registry js-component
'oro/registry' component has been removed from UIBundle because it encourages writing tightly coupled components.
In the future, it would be great to minimize usage of global state in any form. For that matter we should always try to pass as little information as possible in the parameters to emitted events (either 'oro/mediator' or DOM-events) . By giving a reference to some private object in the parameters, we allow other components to save this link permanently and create potential memory leak.
Implemented responsive markup on most pages
Release Notes
Removed install.bat/install.sh
Application can be installed using either installation wizard or using oro:install console command.
Grid refactoring
All existed grids were replaced with new implementation.
Improvements:
- updated Backgrid.js lib to the latest version;
- added declarative grid definition: ability to define a grid using .yml configuration file;
- created JS datagrid builder that will take care about creating object, storing and loading metadata information
- eliminated JS memory leaks
- performance improvements
Form validation improvements
- eliminated need to write to document root in runtime,
- removed requirement on write permissions
- twig templates needed to generate validators replaced with RequireJS modules
- Hierarchical validators processing, - validators can be applied not only to the field but also on parent containers;
- UX improvements.
Make all entities as Extended
Removed dependency on flexible bundle from all entities.
From now all system entities (entities created by developer, i.e. User, Accounts, …) are extendable, so user can create custom fields for them.
JavaScript Tests
Added support to cover JS code with tests.
An article on how to write and run JS test is available on GitHub.
https://github.com/laboro/platform/blob/master/src/Oro/Bundle/TestFrameworkBundle/Resources/doc/reference/js_unittests.md
End support for Internet Explorer 9
From 1.0.0-Beta 4 release BAP and OroCRM will not support IE9.
Release Notes
Upgrade the Symfony framework to version 2.3.6
Both OroCRM and Oro Platform are now released with Symfony 2.3.6
Oro Calendar
New feature Oro Calendar adds the ability for users to add and mange events. Calendar has multiple views of month, week and day. based on permissions users can view other users calendars
Calendar is linked under the User Menu -> My Calendar.
Email Communication
Added ability for users to send emails directly from Oro. A user can click send email form the contact page by clicking on “Send email” button at the top – and using the email dialog window.
Removed bundle dependencies on application
All application configuration for each bundle was moved from application to a bundle folder Resources/config/oro/
file with bundle registrations bundles.yml moved from Resources/config/ to Resources/config/oro/
twig templates declarations were moved from app/config.yml to Resources/config/oro/twig.yml
assetic declarations moved to Resources/config/oro/assetic.yml
SOAP controllers declarations moved from app/soap.yml to Resources/config/oro/assetic.yml
routes declarations moved from app/routing.yml to Resources/config/oro/.
One-to-many and many-to-many relations between extended/custom entities
Added ability to add one-to-many and many-to-many relations for an entity. Added the option to define ‘short‘ and ‘detailed’ view of a relation.
Localizations and Internationalization of input and output
Implemented localization settings for numbers, currency, date and time, names and address for input and output for all bundles.
The configuration can be found under System -> Configuration
Release Notes
Installer enhancements
- Added several enhancements to the installation wizard.
- On first step added section «Oro Requirements» which is used to separate the requirements of the application and Symfony framework.
- Added ability to load sample data during installation, each bundle can provide fixtures that will be loaded after installation. These fixtures must be placed in "YourBundle\DataFixtures\Demo" directory.
- Installation process was enhanced to view step-by-step progress.
Automatic bundles distribution for application
Removed requirement to manually register bundles in app/AppKernel.php. Add file "YourBundle/Resources/config/bundles.yml" to every bundle you want to be autoregistered. Example:
bundles:
- My\Bundle\MyBundle\MyCustomBundle
Routes declaration on Bundles level
Implemented possibility to declare routers on bundle level without adding something to app/config/routing.yml. Now it can be done in "YourBundle/Resources/config/oro/routing.yml"
System Help and Tooltips
Added feature that gives ability for developer to manage page associations with help pages on external web site. Also was added possibility to manage help tooltips for forms. Help link is an "?" icon at the top right side of every page.
RequireJS optimizer utilization
Implemented minification of JS resources using RequireJS optimizer during installation to reduce number of requests per page. Documentation can be found here: https://github.com/laboro/platform/tree/master/src/Oro/Bundle/RequireJSBundle
ACL Caching
Added caching of ACL queries - this will improve application performance and reduce number of queries on every action.
System Requirements Changes
PHP v.5.4.4. and above