SpiceCRM 2019.12.001

Amongst a set of smaller changes and additons we significantly enhanced the User Experience when dragging and dropping files and emails to SpiceCRM. Whenever a file is dragged over the UI the user will get visual feedback where the file can be dropped. Also the drop feature has been added to the activity stream.


When dropping into the activity stream the system will also automatically recognize if an email has been dropped directly from Outlook. In this case the email will be converted to an email in terms of CRM and rendered as part of the stream with a full preview of the message. In all other cases the file will be added as regular note in the activity stream with the file attached.


The procedure allows easy archiving of emails without the need for any plugin or additonal software on the exchange server or within Outlook.

Furthermore we also converted the Sales Planning functions from the old UI to SpiceCRM and the new UI. With the sales planning tool users are enabled to put a proper sales plan in place and plan hierarchically on a territorry, product group, product level. This empowers sales management to plan on a yearly, quartlery or monthly basis. The plan can be rolled over regularly, it can be monitored and used for target setting.

For specific industries like CPG or others the tool can also be used to plan specific promotions. In manufacturing it can be utilized to link sales and logistics.


The Planning Tool can be freely customized to plan on different hiearchies, plan various key figures. It can be configured to read historical data like last years revenues or customers potentials and other infos. I can evaluate formulas to calculate values and also can aggregate on all levels.

The integration and flexibility makes it the perfect sales and operational planning tool for larger orghanizations. Supporting them to enable the sales team to plan properly.

The Release in Details

1000323: Date Picker dual mode
A new config option (dual) has been added to the system date picker. when it's set to true, the date picker will display two months underneath each other.
1000287: Object filtered list
New table component like "object related list" to list all filtered entries of one module.
1000299: Generation of Questionnaire Evaluations (also as scheduler job)
1000308: Optimistic locking: catch missing audit table
Optimistic locking check is based on audit table of module. Make sure that audit table exists before doing the check.
1000302: Update Sales Stage dom for Opportunity SpiceBeanGuide
sales stages in dom need to have the same values as SpiceBeanGuides stages
BeanGuide STages have to be loaded in primary modules load: correction in config reference done.
1000321: Bug fix: add Model return action string instead of model.data
After Changes from 27/10/2019 the ObjectEditModal has changed the emitted value from model.data to action string.
This was passed as return value for the addModel, where the expected value was model.data.
The fix:
in mode.service:
Line: 948 moved to line 951 and the retSubject.next value change "this.data" instead of "response"
And this will be only passed if the action is either "save" or "savegodetail"
1000327: Object Texts Components Renamed
Object Texts Components moved into a separated module Spice Texts and renamed by the module prefix. This requires a reload of the system configurations from the Reference Database.
1000307: E-Mails body content in retrieve
E-Mails imported by Classic Sugar API won't set any text in body property. Add fill in body content in Email::retrieve().
1000318: Fixed Date Filter when set and editable
Fixed the date filter field in the Reporter for the dynamic filter fields to render properly when set in the filters and then set to editable.
1000201: MediaFiles: Upload (with Editor)
Improvments in the upload of media files including an editor.
1000312: Duplicate Panel "Go To" button
In "Object Related Duplicate Tile" a "Go to button" has been added which only appears in the edit modal
1000306: Added option on parent field to hide module icon
Added config option on parent field to hide module icon since in some cases this is not fitting the view.
1000256: Create new bean from related item button
Being able to define an action "create call" (or create meeting, or create task...) in actionset applied in each subpanel entry.
Modal Window with Activity detailView pops up after click.
Defined CopyRules preset field values in Activity form
1000291: Spice Drop File Area Directive
This Directive will highlight the component which is used on and emits the droped files on drop.
1000272: Enumerate columns in unifying SQL queries (instead of using asterisk)
The SQL SELECT queries unifying tables (using "UNION") often contain '*' (asterisk) to query all columns. However, sometimes the columns in tables are sorted differently and thus the result of the unification may differ from the expected result. This was discovered namely when using the tables "sysmodules" and "syscustommodules". Therefore in this case, the names of all the columns in the query should be enumerated (dynamically) instead of using the '*' operator.
1000311: Added option to choose fields on list export
Added a modal popup allowing the user to select the fioelds toi be exported in the LIST Export. This can also be configured setting the properties for Component ObjectListHeaderActionsExportCSVSelectFields. Options are to define a separate fieldset that holds fields that can also be exported or to allow also exporting of all fields. This cna be of course be set role and module specific or application wide.
1000292: Add Activity Emails from dropped files
Handle droped files in activity container and add an email if the file type is MSG
1000288: SpiceNotes: display delete icon on global notes for admin or note by creator
Displays delete icon on global notes for admin or note by creator.
1000325: Dropdown Trigger Directive overflow
Moves the dropdown element to the footer and re position it. This fixes the issue when the dropdown is within a container which has a hidden overflow, the dropdown will be truncated.
1000319: Reporter Tree View fix
fixed issues with the tree view for the reporter to proper render trees with enums and all kind of other values
1000300: Questionnaire Evaluation Field
Questionnaire Evaluation Field
1000301: System Prompt Line Break parse
System Prompt will interpret the "\\n" or "\\r" of the content text as a line break.
1000320: System Tree Improved
We have improved the Drag and Drop functionality. The System Tree Component is now integrated with the modern angular cdk drag and drop with extra handling for the assignment of the tree items parent.
We have done some other improvments for the template.

Now it's possible to decide either to assign the item as a sub item of another one or just to change the sequence of the tree item.
The component will also take care for changing the parent of the tree item if it's been droped into another parent scope.
1000298: Calendar Color Conditions
It allows defining event colors for specific modules and also it's possible to define a filter for the module to set the event color depending on the matched condition.
1000324: Object List View Container - Passing children configs from componentset config
Bug fixed: Passing the children configs when they are set in the defined componentset was not possible.
1000278: SpiceBeanGuides: implement namespace for class containing stage checks
Move configuration way from inluding files to loading namespace
1000313: Field Enum Sort
Sort direction added in the "Field Enum" config to enable sorting.
1000326: Object Import Components Renamed
Object Import Components moved into a separated module Spice Imports and renamed by the module prefix. This requires a reload of the system configurations from the Reference Database.
1000317: Added Text field to Reporter
Added a text renered to the reporter so multipline text fields are properly displayed
1000303: Update on SpiceNotes
changed SpiceNotes to make them also editable, moved them to a separate module in the code and also added a panel header component that allows to gie an indicator if notes are available for the object.