SpiceCRM 2021.01.001

Spice is in the air” and we used the winter month to make further significant changes to the backend platform. After the removal of the legacy Frameworks this made room and space to prepare the full support for PHP8. PHP has grown to one of the major – if not THE – web programming languages on the planet over the last years. With Version 8 the php project also makes further significant steps in terms of stability, security but also performance. At SpiceCRM we strive to support the latest releases ensuring that in a fast changing world your systems are safe, secure and up to the latest standards.

The “all-new” Email Inbox

Email is all but dead. It still is one of the major forms of communications when it comes to sales, marketing and support. To make this even easier we made further changes to our inbox manager that makes the handling even more like you are used from regular web mail clients like GMail or Office 365.

Do we want to replace this clients – not necessarily, but it is all about UX, easy of use and giving users the choice.

Update on the REST Framework

A second big – but most likely for the regular user not noticable change – is the update of our REST/API Framework. Also there we did a major upgrade to SLIM4 as the base component. During the upcoming releases we will further harden and strengthen the API. Stay tuned for the upcoming releases that will deliver more and enhanced features here.

Bringing it together – the “All-in-One” package

When we started the development of SpiceCRM we on purpose separated the backend and the frontend. Both efforts meant separate technologies, separate technological standards and allowed us more flexibility in developing SpiceCRM and the new UI. With the bigger redesign of the SugarCRM based backend we are also bringing the two together in an all in one repository to make the installation process and deployment for our on premise customers and partners easier. You can find the all in one package in the original SpiceCRM repository on Github following this link https://github.com/spicecrm/spicecrm

Release Details 2021.01.001

1000500 : Cleanup entrypoint.php

Cleanup of entry point adding namespaces

1000517 : CTI Integration for five9

SpiceCRM inbound / outbound calls with five9

1000525 : Bug Fix: Set Primary Email Address in Edit Modal ist not working

Added a unique name in the field "email addresses" for the input radio button to prevent mixing up the radio button groups, if the field is rendered more than one time on the same view.

1000513 : Checklist funtionality for tasks

Create multiple checklists in a task.

1000522 : Add option for simple full name field

Added config option to full name field to display it "simple" without academic degrees before and after the name in edit view

1000524 : Field Google Places Search Street Name + Number

Added concat street name with number if the field number is hidden in the system.

1000520 : Bug fixed: Workflow Task Email was not sent

Bug fixed: Workflow Task Email was not sent.

1000515 : Authorization Refactoring & Ldap Improvements

Support for mandatory group membership with Ldap authentication
Link between authorization roles and Ldap groups

1000510 : Remove developerMode logic in VardefsManager

DeveloperMode shall no longer trigger a refresh of vardefs.

1000504 : Attachments: Feedback in case of deletion error

1000024 : UI re-login

when the session expires the user will be prompted to relogin using the same azuthentiyation method as the expired session had been. This will prevent users from loosing data that has not been saved in case the servr session expires. The same happens if the network conection is lost. the system will wait and try to reconnect and then continue where the session has been stopped.

1000502 : Oracle support

Oracle compatibility with SpiceCRM.

1000505 : Added new fts options for elastic

Added two new options for fts config to be set in the config table both on category fts:

- number_of_shards: defines the number of shards set when creating an index. Since our indexes typically are relaive small the default value is set to 2
- number_of_replicas: the default value for the number of replicas in a cluster: the default value is set to 1

1000514 : Slim 4 upgrade

REST library upgraded to Slim version 4

1000518 : Angular update to 11.1.0

Update to angular 11.1.0 & cdk 11.0.4

1000537 : Define cache folder for dompdf fonts

Fonts are currently cached unter vendor/dompdf/dompdf/lib/fonts during pdf process.
It is now possible to define your own cache folder under SpiceCRM existing cache Folder using config variable category = dompdf, name=fontDir. Default system value is dompdf/fonts/

1000511 : Improvements ProjectManagement tools

Additional fields for completion level in ProjectWBS module; Start and end date for plannedactivities; new module ProjectActivityTypes for billing purpose
refactoring of date fields in ProjectsWBSs: rename fields in projectswbss before running repair/rebuild after update or move you values from old fields to new fields after repair/rebuild

1000474 : Catch when login session dies

Return screen notification when session is dead so that user knows he/she should log in again

1000508 : MS Exchange integration: make participant policy related to module (Calls or Meetings)

Additional config variables: apply participant_policy on defined modules

1000512 : SLDS Update to 2.14.1

Updated lightning design to Version 2.14.1 (Spring 2021)

1000501 : Config Transfer: Ability to import despite unknown tables

1000507 : DB Column Cleanup

New feature to delete the old db-columns from the database for a module
- workbench -> Repair Database -> Database column cleaner
- opens a modal witlh all vardefs on the left side and all db-columns on the right side
- mark every field where one of both sides is missing
- a db-column with a missing vardef can be delete in the db

SpiceCRM 2020.01.002

Beginning of the year we did post our Roadmap and release plan. In accordance with this we just did release the spring Release (2020.01.001) of SpiceCRM delivering the majority of the planned features. However some of the features we felt had not been fully tested so we held them back and now releasing SpiceCRM 2020.01.002

Amongst a set of technical enhancements this release brings to major enhancements to SpiceCRM.

Tabbed Navigation

When we started the development of SpiceCRM we always had the single page concept in mind. This is state of the art in the current web application technology. However for business applications the disadvantage is at hand with the lack to manage multiple records at the same time. In some areas and a lot of usecases in CRM this might not be a problem but for the more versed user we very often heard the request to open multiple tabs, yet stay organized.

With this release we are introducing the capability fort the user to manage navigation paradigms and switch between three modes of navigation.
  • Simple: the classical one-page app view. Fast easy and focused on the current record
  • Tabbed: opening new record in a new tab. For those that handle multiple records are the same time
  • Tabbed with sub-tabs: enabling to open records in tabs and further related records in sub-tabs of the tab. Sounds complicated? Give it a try and you might even love it

This allows users to open multiple records at a time, organized in logical tabs and navigate easily from one to another record, also editing multiple records at a time.

Google Maps Integration

One still missing part with the port of our Reporter to the SpiceCRM UI was the Google Maps Integration in the Reporting tool as a data visualization plugin. Adding that we also added a set of new featuires to bring Maps and Geodata deeper into the application itself further completing the features with the google Integration we already had.

  • Integrated Google Search, autocomplete and geocode when creating records
  • Integrated Address Search and Completion
  • Geo based search of Records and easy visualization on a map
  • One click navigation info supporting easy routing helping you to plan visits
  • Proximity search enabling you to find other accounts next to the customer you are just viewing.

This certainly further support the usability from SpiceCRM and increases productivity and efficiency using SpiceCRM.

Technology Updates

Furthermore we updated some parts of the technology stack we are using to stay on top of the latest innovations and security considerations

  • updated to Angular 9.1.2
  • updated to Support Elastic Search 7.*
  • updated to support Highcharts 8
  • updated to Lightning Design 2.11.7

The Release in Details

1000028: Tabbed Features in line with Salesforce
Add functionality that opens on a click in new tab within the one-page app rather than always going back and forth. Similar to the implementation done by salesforce.

1000397: Angular 9.1.1 update

Update to angular 9.1.1

1000394: Added footer height

Added a footer height to the internal services allowing fixed footers to be displayed on the screen.

1000227: Update FTS Field handling

Change to FTS Manager Dialog

1000395: Responsive action menus

Changed buttons in small screen view for responsive design to render as button icon group.

1000405: Formatting of HTML code in Rich Text Editor

Added a new formatting option to the HTML source code in the rich text editor that allows proper formatting and indenting of the HTML code in the dual view making the HTML code more readable and easier to manage.

1000386: Elastic 7.* support

Support for Elastic 7.*

1000100: Service Enhancements

Added service functions

1000398: Lightning Design 2.11.7 update

Update to lightning design 2.11.7

1000385: FTS enable to aggregate on empty values

Enable to add aggregates on empty values. With the option also an aggregate for documents that have no value is built counting the number with empty values. The aggregate can also be set to filter the list.

1000388: Relate Field Filter

Added a new option to the related field and the ObjectActionSelectButton so relate filter can be applied. This allows to e.g. filter contacts in one relate field based on the value of e.g. accounts in another relate field. The relationship between the two fields can be set as optional or mandatory.

1000384: Collapsible FTS Aggregate Panels

Aggregates in the FTS can also be set as collapsed. If done so the aggregate will be rendered collapsed. The user can expand and set on demand. This optimized the screen layout if there are multiple aggregates and reduces the number of aggregates rendered on the screen.

1000339: Added new participants panel in calls & meetings

Added new panel for participants in calls and meetings including the participation status. Invited users can also set their attendance status.

1000383: System-label components

Added three components for , and to be used in templates and to optimize the change detection in Angular.

1000406: New view for Media Files

Added a new view for Media Files allowing a proper preview with thumbnails as part of the list view and also in the media file picker.

1000404: Output Templates Preview

Added a new component top the output templates enabling the user to easier change and manage the template and also to get a preview of the template for a bean the user can select and then render dynamically without saving the template.

1000304: Load full data on recent items

Added loading of full data for recent items so the custom field sets can be displayed in the recently view list.

1000377: Files Panel Header with Count
1000379: Refactor system-label component

Refactor the use of {{language.getLabel…}} in a template to use component… should reduce change detection cycles and improve performance.

1000330: Update Admin Screen

Update layout for admin screen.

1000314: Remove Renderer for Angular9 compatibility

Remove Renderer for Angular9 compatibility

1000403: Angular 9.1.2 update

Update to angular 9.1.2 also including angular cdk 9.2.1

1000378: Google Maps for List and Record View

New Generic Google Maps Component has been built.
Google maps view for list view to display the search results as pin markers on google maps with the possiblity to search the same was as in spice list view.
We have also added a record view tab to make it possible to search around the record with google map circle tool and get the direction infos from a cetrain address to the record location.

1000396: Full screen modals in small form factors

Changed modals to adopt full screen view in modals and small form factors according to responsive design

1000387: Highcharts 8 upgrade

Updates the embedded highcharts libraries to highcharts 8.0.4

SpiceCRM 2020.01.001

Beginning of the year we did post our Roadmap and release plan. In accordance with this we just did finalize and release the spring Release (2020.01.001) of SpiceCRM delivering the majority of the planned features.

List View

With the new Release we made major changes to the various forms of the List View. The standard list now allows free resizing, more flexible handling of Filters, Multiple Column sorting, Geo Search and much more. Also the Kanban Board did get a major rework allowing easy drag and drop, hidden Buckets (for e.g. closed Opportunities as in the Screenshot below). New Types of Vies (e.g. Maps based) did not yet make it into this release but will follow soon in a release targeted for end of April.

Reporting Engine

Another big effort has been completed in its first phase which is the port of our well known reporting engine from the backend UI on to the new Frontend. This now allows easy creation of reports in an intuitive UI for the end user with all the capabilities we built over the last years into our reporting Engine. It also marks a further milestone in the port of the complete legacy sugar based backend to our new UI.

We already did publish a short YouTube Video on the fast and easy way to generate reports and analyses all the data that resides in your CRM system. The video can be found on YouTube following this link.

There is of course a lot of further things that happened. We added new Features supporting agile project management following the SCRUM Methodology, took further steps to complete the quote to order to invoice process, further enhanced the service processes and much more.

Find the complete Release Notes below.

The Release in Details

1000328: Reports Designer
New user friendly platform to design Reports, it is easy and simple to use with drag and drop to select and filter on the desired reporting fields. It is also possible to add and manage data from multiple sources with the union modules feature. As soon as the reporting fields and filters are defined, you could also move to the presentation tab to choose and configure the presentation view for the report. The same for the visualization view. The Integration tab would be your last place to activate, deactivate and configure the possible Plug-ins like exporting report data and so on.

1000354: FTS sort aggregate bucket values by _key

Currently aggregate bucket values are sorted by _count desc. Now it is possible to define sorting by _key in FTS settings.

1000382: Sort Hook for get_linked_beans

sort_array parameter for retrieving linked beans is limited to fields present in corresponding database table.
Sometimes list shall be sorted by a non-db field. This is now possible with new method Link2::processSortHook() .
sort_array parameter now accepts additional key ‘sorthook’ containing an array with sortfield and optionally sortdirection.

1000375: Bug Fix: Duplicate Output Template

Reason:
Output Templates module has the field “module_name” in its vardefs definition, which defines the module where the Output Template can be used.
This field is an already existing variable in sugar bean which is used to tell which bean should be cloned, but when the field “module_name” is set in OutputTemplate, it overrides the variable in sugar bean, which leads to a cloning failure.

Solution:

In sugar bean, The variable “module_dir” is used instead of “module_name”.


this fix should not have any side effects, as long as all extended beans has the variable “module_dir” set.

1000366: SalesDocs refactoring

Removing unnecessary field definitions, adding n-2-n relations.

1000365: Move ProjectActivityDashlet Component to modellist.service standard

Upgrade of component ProjectActivityDashlet

1000359: New front-end module for SpiceAttachments

Added a new module for the SpiceAttachments in the front-end.

1000333: Improved release process

Create a release workflow for deployment.
Additional variables in back-end for ChangeRequests and Release modules are needed. Additional UI configs to be retrieved with “deployment” package.

1000358: New field to manage files from a bean

New field for uploaded files
– should look like “parent” field
– it should be possible to upload and remove files from a bean

1000343: FTS enrich bean data for indexing

Use custom method set in indexproperties to enrich values in index for a non-db field

1000268: Actionsetmanager

An interface is to be developed that enables the management of actionsets.
– It should be possible to create new actionsets
– Existing actionsets should be able to be copied
– The configuration of the items should be dynamically visible and editable
– The view should be based on the familiar Fieldset Manager

1000351: SCRUM/Agile components

Enables the users to organize their projects according to the agile project management paradigm by defining Themes, Epics and User Stories in the CRM system.

1000353: Fix Trashcan recovery

Associated relations were not recovered even if recover parameter was set.

1000350: Update on status network buttons

Added option for silent edit mode on model, this is also set from the status network button to avoid the “flickering” of the save buttons.

1000362: ServiceOrders: handle duration for Calendar

Handling duration is missing in ServiceOrder class.

1000355: Added auto resize to textfields

Added auto resize feature to text fields. The text box will auto adjust its size to the max size or default 300px when text is entered.

1000367: Package salesdocuments

Improve package definition for salesdocuemnts; introduced B2C; additional templates.

1000371: Fix Condition value for enums in OutputTemplate

Parse real value of enum when used in a condition and not the translated value.

1000352: Cloning of beans together with related beans

If a bean is cloned, the related beans can also be cloned automatically. This saves a lot of manual work. Or it makes cloning possible at all.

1000331: SpiceBeanGuide for release process

Create a guide for release process. Retrieve configuration changes using package loader (package “deployment”).

1000336: Releases: create parent relation

Make releases linkable to Accounts and Projects.

1000361: E-mail Reply Modal

Button which opens modal with e-mail reply logic.

1000360: OutputTemplates: integration of module filters

Enable the use of module filters in Output Templates and use additional parameters like limit or sort_array.

1000316: New Module QuestionnaireParticipations

The new module QuestionnaireParticipations allows better access to participations than QuestionSetParticipation does.

1000305: Redesign Activities Stream

Update Activity Stream items. Moving components from object components to activities and cleanup of deprecated components.

1000348: Angular Update
1000357: KREST add related bean with additional values

When participants are set in an activity directly in editview , relationship fields like accept_status is overwritten after saving the activity. If a value was set before editing, it is lost after save. Enriching values for relationship fields during link handling will prevent data loss.

1000338: Blacklist for packages to protect configuration

Disable loading of packages by setting package name in new array variable $sugar_config[‘packageloader’][‘blacklist’] n”}: uppercase;}.bean_report .logo {text-align: right;}.bean_report .logo img {height: 100px;}.bean_report .top_part td {vertical-align: bottom;}.bean_report .top_part {border-spacing: 0px;}.bean_report .report_title {font-size: x-large;}.bean_report .bean_name {font-weight: bold;}

SpiceCRM 2019.12.001

Amongst a set of smaller changes and additions 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.

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 additional software on the exchange server or within Outlook.

Sales Planning Functions

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 territory, product group, product level. This empowers sales management to plan on a yearly, quarterly 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 hierarchies, plan various key figures. It can be configured to read historical data like last years revenues or customers potentials and other info. 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 organizations. 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)

Improvements 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 dropped 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 dropped 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 improvements 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 dropped 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 including 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 rendered to the reporter so multiple 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 give an indicator if notes are available for the object.

SpiceCRM 2019.09.001

Reporting Module

Highlights of the Fall Release are updates on the Reporting Module. We ported the views for the Pivot Table, the grouped and grouped with summary view and also the TreeView to the SpiceUI. This is an ongoing effort where we are bringing the best in class reporting functionality to the lightning experience with SpiceCRM. As we believe that integrated analytics is a key necessity this is an important step on our roadmap.

We continued to develop additional functionality for Marketing adding a basic event management. This allows planning and tracking of events. Add partners that play specific roles in the event. Track invitations and registration. Add a self service registration to your website.

Close&New Button

Also the good old “close&new” button in activities made it back to the new UI. For some time we did think there would be a life without it. We accept we have been wrong. So back it is. Allowing an easy way to close one activity and add a new one. But it would not be SpiceCRM if we did not make it better. So we added flexibility to customize it and to also let the user choose which activity to add next. Allowing an easy closing of for example a call and scheduling a meeting.

Besides that, there are further features worth mentioning like an easy way to change the users time zone, enhancements in the Calendar and also with the FTS engine. We also added a bulk indexer that will allow fast indexing with the elastic search. And many more…

The Release in Details

Ability for admins to view/change foreign user preferences

Ability for admins to view/change foreign user preferences

Actionset menus refactored

Object list header action menu and object action menu should extend the object action container

Adapting Date Time Fields

Date time fields constantly adapt to the current time zone setting of the user.

Add Componentset to spicebeanguidestages

Added a componentset as configuration option to the spicebeanguides. This allows to render a componentset instead of the description in the beanguide with the path. e.g. fields relevant for the sales stage can be rendered there or other components that might deliver valuable information

Add sort parameters to the dashlet generic component

Add sort parameters to the dashlet generic component

Added adminonly flag to tabcontainer item components

Added a config option “adminonly” to the tab container items (regular and vertical). If you set the tab it will only be rendered if the user is an admin user. Mainly used for the user tabs to only show some tabs to the admin but not to the regular user.

Added new Reporter Views

Added Reporter Views for Summary, Grouped, Tree and Pivot View

All Character Analyzers in FTS

Added two new analyzers spice_standard_all and spice_ngram_all that can be set and will include all characters (including, whitespace, punctuation and symbols) in the tokens and the search. This makes sense for e.g. name fields where a company name or a release name or version name includes those characters and they should not be stripped when tokenizing and searching using elastic search.

Ask for important user preferences at startup

Ask for important user preferences at startup

Auto correct the sort query for the many to many relation table

When we pass a none-db sort field for a module which is a mapped field in the many to many table, the sort query will be auto adjusted.

Avoid duplicate user names

Avoid duplicate user names

Backend only for admins

Backend only for admins

Better determination of user roles (for app launcher dialog)

Better determination of user roles (for app launcher dialog)

Better role assignment

With an icon custom roles now are recognizable as custom roles. The same name for a global and for a custom role is no longer a problem. Furthermore: Alphabetically ordered list.

Bug fix : retrieve with sort failed in one to many bean relationship

Bug fix : retrieve with sort failed in one to many bean relationship

Button “Save HTML content” in “Rich Text Editor ” Toolbar

Save button in the Toolbar of “Rich Text Editor” Component, which pass the content to “Field Rich Text” component to handle the save process.

Close activity button
  • Button for activities (only unclosed and editable)
  • Opens modal with componentset (enter closing data)
  • Create new bean with copyrules (new add-modal for selected module)
CloseModal and ActionMenu merge

Implementing the closemodal with the new actionsetmenu

Colorenum color in read-mode

No color in read-mode by the fieldcolorenum field

CloseModal and ActionMenu merge

CloseModal and ActionMenu merge

default-sort ObjectList

ObjectList with default sort info (moduleconf)

Dashboardsets

Define a set of Dashboards to be displayed in sub tabs in home.

Event Management

This Module will be responsible for the Event Management. An event will be defined with some basic info like it’s url or it’s capacities and so on. It will also have a relation to some other modules like accounts and contacts as participants or organizers and so on. It will also be possible to have some assigned activities.

Field Grouped Enum

A Field which displays checkboxes grouped under specific categories

Field Multiple Enum Dropdown

The field multienumdropdown renders an enum field as a dropdown multiple select list using the SystemMultipleSelect component.

French language package

French language package

FTS Manager: add button index bulk

Trigger bulk indexing manually

Improved Scheduler Job Log

Improved Scheduler Job Log

Incorrect checkbox value interpretation

The checkbox values in the Administration Configurator components were being interpreted incorrectly. The values stored in the DB as both 0 and 1 were interpreted as true (checkbox checked). The only value interpreted as false was NULL. The correct interpretation was already implemented before. However, the value was converted only for “boolean” types whereas the field type used was “bool”. This was corrected in the bug fix

KnowledgeBase – Button Release All

“Button Release All” set the status to “Release” to the selected document and all its sub documents

KReporter: update where operators

Enable where operator for int when vardef type is bigint

Lightning Design update to 2.10.0

Lightning Design update to 2.10.0

Load date time user preferences on user login

Load default values when preference is not set

Output Templates II

The document (result of a output template) is now savable in the CRM system.

Reload button for the sub panel header

Sub panel: When no item is shown/available the footer – including the reload button – is hidden. Now also the header has an include button.

SalesDocs additional fields: incoterms, payer, invoice recipient

SalesDocs additional fields: incoterms, payer, invoice recipient

Scheduler field: Last SUCCESSFUL run

Scheduler field: Last SUCCESSFUL run

Scheduler: Test function (dummy)

Scheduler: Test function (dummy)

Select Custom Actionset in config option

It should be possible to select custom actionsets in the workbenchconfigoptionactionset!

System Multiple Enum Dropdown

A Field which renders a list of items grouped under specific categories in a dropdown with multiple selection functionality.

System Statistics

Added a component in the admin section to gather storage statistics on the database, elastic and the file system for uploads for the system.

Time Zone Field for the Global User Panel

Time Zone Field for the Global User Panel

Update Global Module Menus

Changed the handling of the module Menus of the global navigation items so menu now considered an action set and allows adding custom actions

Url rewrite for IIS: web.config files for config and proxy

Url rewrite for IIS: web.config files for config and proxy

UTC Offset added to UI Date Field Values

UTC Offset has been added to the UI Date Field Values to display the right date for the current UI Time Zone

Week Number for the System Date Picker

Added a Week Number in the System Date Picker

Where Clause on relationship_role_column not implemented

Fixed M2MRelationship::getRoleFilterForJoin() and make use of it

SpiceCRM 2019.07.001

Opportunity Management

Highlights of the July Release are updates on the Opportunity Management. With the new Option for Revenue Lines the revenue of an opportunity can easily be split into chunks for the revenue recognition. This supports better planning and forecasting. Typically deals that are closed are not invoiced immediately but are also built on a billing plan. That can either be a split or with recurring revenues a ramp up to the total amount. Revenue lines allow you to easily maintain that and add the lines to an opportunity building a more realistic picture of the opportunity in the system.

We also started to rework the template compiler used for the PDF and EMAIL Templates. First changes are rolling in and more changes on the templates are to come with the next releases. We will add more info when those changes are completed.
Furthermore, we added an optional support to the integration of Dun&Bradstreet in the Accounts module, added further functions to the Service Functionality with the Service Locations and added features with an NPS question type for the service feedbacks.
Technologically, we completed the changes to support PHP 7.3 and also upgraded internally to Angular 8.0.1.

The Release in Details

Actionsetitem singlebutton

Add flag to show the button outside the drop down box

Angular 8.0.1 update

Update to Angular 8.0.1, also update to Angular CDK 8.0.

Bonus Programs

Bonus Modules (BonusCards, BonusPrograms) Management

Changes to lead conversion

Improvements of lead conversion done by eVolpe

DUNS module

New module to interact with dnb API and retrieve DUNS data

FTS Bulk Indexer

Added a bulk indexer and a separate job to the bulk indexer. The bulk indexer is thought as a tool to load initially into the FTS. It does not check changed related records in FTS. And it uses the bulk interface of Elasticsearch. It still uses the full data mapping for FTS and thus, indexes beans properly. However, due to the bulk nature it does this significantly faster.

Missing language code in translation when no default language is set

Labels manager sets value of default language for first translation. Catch when empty and set first language found in languages list.

New Module ServiceLocations

Define locations and assign location to a piece of equipment.

ObjectRepositories deprecated flag

Add a deprecated flag to the “ObjectRepositories” Score out the deprecated objects Popup when somebody tries to add a deprecated object

Opportunity Revenue Lines

Adding an option to add revenue lines to Opportunities with different amounts and dates for the revenue recognition

OutputTemplate Compiler: render date time fields to user preference setting

OutputTemplate Compiler: render date time fields to user preference setting

PHP 7.3 support

PHP 7.3 support

Polish Language Files for Backend

Polish Language Files for Backend

Questionnaires: New question type “NPS”

New question type “Net Promoter Score” (NPS).

Reload configuration button

The button is located in the header and reloads the configuration, only displayed for admins.

ServiceFeedbacks: Results Tab for Questionnaire Participations

ServiceFeedbacks: Results Tab for Questionnaire Participations

SpiceBeanGuides to packages

Spice Bean Guides Definitions are now available in corresponding package (opportunity management, lead management…)

Update template compiler

New template tags were added to handle loop through list of records and to display the values conditionally. Also function call integration to retrieve data.

Login impossible with a user name containing utf8

Login impossible with a user name containing utf8

SpiceCRM 2019.05.001

Duplicate check

Highlights of the May Release are updates on the duplicate check that now happens online when creating records. This enables user to easily see while entering data and as they enter data to instantly get a response from the system if a duplicate record is found.

Further changes are smaller changes to enhance the User Experience and also some technological enhancements to further improve performance, stability and maintainability of the UI.

The Release in Details

Backend installation with provided database user not possible

Form gets stuck telling that password does not match re-entered password.

Date_entered id was deleted from fts indexer

When you create a bean over a relationship -date_entered id was deleted from fts indexer.

Memorize search terms and Results in ListView

Keep the searchterm. Selected aggregates and results in the listview when navigating away from a list and back

Progress Bar

A new system component displaying a universal progress bar

Get progress report from POST requests (uploads)

POST requests now can report their progress status, for displaying progress Bars

KReporter: vulnerability fixes

Add a check on values for start, limit and filter parameters and clean mislead values.

FTS ListView does not render for contacts

Fix: set sort flag for last_name since full_name sorts on last_name and is the first field in listview

Block navigating away if a model is editing

Added a check if any model on a page is currently in edit mode and if so prompt the user to check if the changes should be discarded

Placeholder for login form

The username and password fields of the login Form are better titled now.

HelpText icon component

A new component, which shows an icon next to the label. On hover a text is shown.

Cachebreaker

Added a version parameter for loaded jsfiles and included it in the build process. This should eliminate the need to refresh the browser cache after version updates.

Product Group Manager

The Product Group Manager is a new platform to manage the product groups in a hierarchical list. Which makes it easier to manage groups and their related attributes and products.

Outlook AddIn

An Add-In loaded directly in Outlook that can save the Emails in SpiceCRM and add related Beans to those Emails

On the fly Duplicate Check

Capture and show duplicates when adding a new record.

Update Field labels in Views

Label rendering is now included in field rendering

SpiceCRM 2019.04.001

Tagging

Highlights of the April Release are updates on tagging. We made it significant easier to simply tag records. In the same style as in regular Web Applications just add Tags. As you type SpiceCRM will suggest existing tags. Choose them and reuse existing tags or simply create new ones.

Tags are also included in the Full Text search and can easily be selected as aggregates. With the next releases we will also add them to the target lists so you can build flexible lists simply be assigning tags to targetlists and all records tagged with that term will automatically be used when the targetlist is used.

Also exporting as been made much easier, so you can just select the records based on the tags and then simply export them to a CSV or a target list directly from the list view.
Asides that there have been quite some changes on the backend. A lot in preparation for the upcoming updated on ACL as well as the work in progress on our vardef/metadata manager.

The Release in Details

Backend: Merge Record configure records limit

Configure maximal count of selected records to be merged at the same time. Set config variable in config.php or config_override.php: Example: $sugar_config[‘default_max_mergeable_records’] = 2;

Backend: Schedulers – make use of Vardefmanager for Schedulers module

Code clean up: use vardefmanager to create Scheduler vardefs so that date_indexed field (for FTS capability) is created during SpiceCRM installation.

Backend: SpiceTheme: – support custom images for module icons

Added capability to retrieve images from custom path for module icons in side bar display

Backend: Subpanels – enable search within Subpanel and set max count of records to be displayed
  • New class include/SubPanel/SubPanelSearch.php under namespace SpiceCRMincludesSubPanel; Parameter ‚”tr_config” in former developments refactored to “search_config” $sugar_config variable containing dropdown values for max count of records: $sugar_config[twentyreasons][tr_subpanellimits] renamed to $sugar_config[subpanelsearch][limit_dd_values]
  • Example: $sugar_config[‘subpanelsearch’][‘limit_dd_values’] = array(‘5’ => ‘5’, ’10’ => ’10’, ’50’ => ’50’);
Backend: Subpanels – property value dependency for subpanel display

Make subpanel display dependent of a property set in focus bean. Set name of property in attribute “trdisplay_for” (array) in Layoutdefs setup of Subpanel. Subpanel wil be displayed if focus->$propery is true.

Backend: Fix Load Hooks from Database

Do not load Hooks from database when no global database instance is available. Also fixed hook_array structure for hooks retrieved from database.

Bug fix : Field Email validation

Field Email Validation on save action was always returning an error message “input required” even though the field was filled.

Catch and handle bean action state for UI

Store which action is being applied to bean: create, update

Field Relate List

For a predefined module Relation this field can retrieve a list of a related module and it’s possible to set a limit for the listed items.

Field Text ID

This field translates a ” text id” into a human readable value.

FTS: fix DB Query error during install process

Fix DB Query error during install process

File Download in Firefox

In some cases the download of generated files (CSV, PDF) or attachments did not work properly. This has been fixed and now it should also work as expected in Firefox. Tested successfully with Firefox 65.0.2 and 66.0.2.

Fix KReporter search and sort in bucket manager

Fix KReporter search and sort in bucket manager

KReporter capability with SpiceACL

New Access Management module SpiceACL shall be considered in KReporter-Queries.

Language Translation Manager

This component provides a platform to easily handle the untranslated labels for the default language.

Login name for UserAccessLogs

Added the field “login_name” to UserAccessLogs to store the login names of failed login attempts

Memorize search terms and Results in ListView

Keep the searchterm. selected aggregates and results in the listview when navigating away from a list and back.

Missing confirmation queries

Added confirmation queries for the deletion of attachments or the deletion of items in related lists.

Object Texts

This component handles the related texts of a module.

PDF Preview in print Output

PDF preview has been added to the output templates. So in the window where the user can choose an output template the user can also choose to display the rendered output as PDF or as HTML. PDF is preset. This renders the PDF in the PDF Reader embedded and shows right away the generated result. The PDF can then also be downloaded but is seen as it will be rendered on the screen.

Related Panel animations

Added animations to the related panels so when they collapse and expand are smoothly faded in and out with height and opacity

Sequenced ObjectRelatedListList (Drag & Drop)

Added the ability to order the items of a related list by drag & drop. Until now this was possible in subpanels, now it is also possible for the full list (“list all”).

Show link name as title of related lists

Added the ability to entitle subpanels or full related lists with specific title of the relation (instead of the title of the module).

Spicecrm_fe_factory: improve gulp jobs for deployment
  • Add delete dist folder in js:build job
  • Add check on file.ts exists when uglifying the .js counterpart. Throw error when not found
  • Set current year over a variable in comments instead of hard coded
SystemInputNumber

This component use “two way binding” to handel a number value and reformats it to fit the system formatting and it also accepts the following parameters (precision, min, max).

Added animation to collapsible panel

Added animation to the collapsible card in the systems so it animates smoothly when collapsed or expanded

Added configuration option to global search result

Added an option to set fieldsets for the global search results (GlobalHeaderSearchResultsItem) so the fields displayed in the search box can be flexible defined.

Added elastic normalizers
  • Added the support to define own normalizers.
  • The standard ones are defined include/SpiceFTSManager/normalizers/spice_normalizers.php and can be overwritten in the custom directory, adding your own ones.
  • Default is a lowercase normalizer that is applied to raw fields for sorting- so sorting is not case sensitive
Added language filter support to FTS Indexer
  • In the fts connection settings a new option has been added- to add a language specific filter by default to the spicecrm standard analyzers and normalizers.
  • To better understand the language analyzers and their impact, check out https://www.elastic.co/guide/en/elasticsearch/reference/6.7/analysis-lang- analyzer.html.
  • A setting can e.,g. be german_normalization that then analyzes and normalizes specific to German language. If none is set, no specific language filter is applied
Added query types for duplicate check
  • Added the option for different query Types in the duplicate check
  • Match (or): matches any of the terms in the field. Also supports fuzziness
  • Match (and): matches all terms in the field. Also supports fuzziness
  • Term: requires an exact match, no fuzziness supported
Added sort field in FTS

In the metadata the sor_on property can be defined for a field. Added the support that this is also enabled and considered in the FTS search. This allows e.g. that in a list of contacts the full_name field can be displayed but the the list is sorted by the last_name of the contact.

update Loader Logic

Changes to the loader logic and cleanup of REST services

update Tags

Update on Tagging and Tag handling

CRM Log Viewer: Negative filtering

Added the ability to filter out log entries with specific text fragments.

Select field for modal input prompt

Select field for modal input prompt.

SpiceCRM 2019.02.001

Highlights of the January Release are updates on the search features, a new filter builder adding flexibility and reworks in many areas to start supporting full responsive design and the build of our mobile App.

Google Places Search

Who does not know the process when adding data of switching to google, looking up a companies details and then via copy & paste add the data to CRM. Rest assured that time is over now. With the latest changes we are tightly integrating the Google places search into SpiceCRM directly. Identify a field as a Google Places search field. As You type SpiceCRM will do a google search, present you the results and when selecting the record populate data found on google like the phone number, website or address to the record. This makes entering new data just much easier.

You can also watch a short YouTube video on this feature here.

File Attachments

Further updates are on the generic file attachments. As you are most likely aware SpiceCRM offers the functionality to simply attach files to a record. We further enhanced that switching internally to a truly HTML5 way of handling uploads. This also allows no the parallel upload of multiple files. Just select multiple files in the upload dialog or simply drag more than one file to the files panel. They will upload in parallel. Furthermore, we added a file preview. This will preview Images, PDFs, audio and video files. Other files will be downloaded and can then be viewed with the proper application on the local Computer or Tablet.

Mobile App

We are steaming along with our changes and the completion of the work to release the SpiceCRM mobile App. This is well on its way and the current release has further changes embedded already. See the following short video we compiled on the upcoming mobile release.

The Release in Details

ModelpopoverHeader configuration

added the option to add a componentset as config option to the modelpopover header. That allows to customize the popover with a custom header component. This is e.g. used for the users popover to have a separate component that also renders the image of the user

added option to lazy load Stylesheets

added the option to also load css files as libs that can be lazy loaded. Just add style sheets with file ‘.css’ to the sysuilibs (or syscustomuilibs) table and load them via the metadata service.

SpiceMobile

added Mobile configuration for SpiceCRM Mobile app.

Multiple Sources for package loader
  • Supporting multiple package repositories for the package loader a new table has been added in the backend. Table sysuipackagerepositories can hold more than one repository.
  • If none is maintained the package loader will by default pull packages from the default repository. If you maintain separate (e.g. customer) repositories with separate configuration those repositories can be added here. The package loader will consider them and then load packages from this source.
Application wide logger

It should be possible to have a different message for logging (sugarcrm.log) than the error message (brought to the user). New method: setMessageToLog()

Changed EmailAddress field to support responsive design

changed the email addresses field so it will render nicely on mobile phones

CronJob for sysftslogs table: delete entries older than configured time frame

new sugar_config variable delete_logs_older_than = “1 week” time frame value is INTERVAL syntax. Default is 1 week when config is not set”

KREST Log Viewer

added a new admin component that view the KREST log entrioes. This is usefuly for debugginbg and tracing if the REST logger is enabled on the backend and allows an easy viewing and seaarching of these entries

Overflow in activity add Container

in the activity add container the menuitems have been changed so on smaller screens with more activitiy types enabled an overflow item is rendered

added user notification on elastic error

now and then a user might encounter an elastic overload error. In case the backend elastic engine throws an error, that error is also communicated to the user indicating that this is not a problem with no search results found but a technical issue occurred prompting the user to repeat the search

Set config_override value on language load
  • Set $sugar_config[‘syslanguages’][‘spiceuisource’] to ‘db’ in config_override.php after successful retrieve of languages
  • thus far after installing the language source for the UI had to be set manually. This is now done whenever a language pack is downloaded
store login credentials

Changes to the login form so now the username and password shoudl be properly recognized by the browsers and allow the user to save the credentials when logging on

Rate limiter for REST calls
  • in scenarios where external systems use the REST API extensively the REST load from the external system might have a negative impact on the overall performance if there are too many REST calls at the same time
  • a new option has been added to configure a rate limit that defines a given number of REST calls per time unit (of a given method) as limit. If that limit is occurred not further REST calls are accepted from that user and source until the rate is cleared again.
Optimize vardef translation into column type on repair/rebuild

“To ensure multiple database types support vardefs will sometimes be defined with a basic dbType and a specific length to match another column Type. Example dbType=’text’ and a len=4294967295. This definition creates a longtext column in mysql. Column will be created properly in database but repair/rebuild will not recognize that vardef match with column type This function matches definition with table column type for specific column types”

User Image upload
  • add capability for users to upload a user image.
  • Also add a generic component to load an image and crop it.
angular 7.2.6 update

updated Angular to 7.2.6

Manage Schedulers in UI

New Workbench option to manage Schedulers with the following Features

  • List View
  • Custom Detail View with Scheduler Logs.
  • Default Actions with Run now button.
updated file upload and Preview
  • updated of the file attachments so multiple files can be uploaded at once.
  • Stopped the event in case a file is dropped outside a drop area.
  • File Preview has been added.
  • Upload has been changed to pure HTML5 FileReader.
Metadata Service New Methods

Methods added to metadata service:

  • updateModuleListType
  • getModuleFilters
  • getModuleFilter
  • setModuleFilter
  • removeModuleFilter
Google Places Search Field

Methods added to metadata service:

  • added a new field for google places search that can complete name, address, phone number etc. from the Google places API.
  • To be used as name field in e.g. accounts or other objects where google places are relevant.
ACLController compatibility with SpiceACLController

Refactor static methods to non -static in ACLController class; Create ACLControllerInterface

set autofocus in app launcher

when the app launcher is opened these search field is automatically focused.

SpiceCRM 2019.01.001

Highlights of the January Release are updates on the search features, a new filter builder adding flexibility and reworks in many areas to start supporting full responsive design and the build of our mobile App.

Search Update

The search field at the top of SpiceCRM has been amended to enable the user to filer by module in the quick search already. Also the search results and global search dialog has been updated. When typing a search term SpiceCRM now searches automatically. The same is true for the search within a module. Also the search Results screen has been adopted to be responsive and support the capability to use it easier on tablets or phones.

Filter Builder

A new Filter Builder has been added that allows easy definition of Filters that can be used top create custom dashlets for the dashboard, customize Subpanels in Views and much more. It is a further step forward in our mission to make SpiceCRM the most flexible CRM platform we know and deliver a user focused UX that will drive unique customer experiences with a Team that can rely on a CRM platform to serve customers as best as they can.

Mobile App

Those who follow the story how SpiceCRM was built know that we came from the mobile app. With the current release we are taking further steps to support mobile form factors and make SpiceCRM a “responsive designed” system that can be also used easily on mobile devices. That effort is still ongoing and will continue throughout the first half year 2019.

Technologically we also pushed to Angular 7.1 – which you should not notice but it is important to be compliant and in line with the latest standards when it comes to operability and it security. We also updated the Lightning Design to Release 2.8.0

The Release in Details

Add Fieldset to Object Page Header

added a fieldset to the component object page header so the display field in the page header of an object can be freely configured.

support for smaller screens on top header
  • In the top header row in smaller screens the logo is removed. Components like admin and others are also removed to fit in the smaller screen size on mobile devices.
  • On small screens (below a with of 768px the search field is also simplified and the module selector is removed.
responsive changes to search results
  • also search results are changed in a first step to enable use on mobile devices and responsive design.
  • If the screen with is medium or below the module selector is removed and the results take up the complete width.
Angular 7.1.3 update

update to Angular 7.1.3

Backend: consider loaded company logo in login screen

SpiceTheme ignores loaded logo in backend. Integrate check loaded image in login screen

Logging with Transaction ID
  • added the unique transaction id to the log algorithms
  • enable to track logs by transaction and roundtrip
CRM Log Viewer

built in viewer tools in the admin section to display logs

Load reference in backend core only
  • changed logic so only core configuration can be loaded in the backend
  • all further packages then to be loaded via the frontend package loader
Backend installation site_url config wrong if protcol is https

fix in the installation with https protocol so the backendurl is written properly

send error message when FTS has an overload
  • react to error 429 on elastic
  • send a toast to the user with the message that elastic has an overload
collapsible Subpanels

added functionality to collapse subpanels

Support for content packages in package loader
  • added Support to also allow loading of content packages in the package loader. This enables to create packages with varying content that is not necessarily related to configuration of the system but simply adds data that is useful and speeds up the configuration process of the system. Typical examples are email templates, prebuilt dashboards, reports and other data.
  • content package for email templates has been created
  • content package for fts default settings has been created
FilterBuilder
  • added the filter builder to the admin section
  • added filters to dashlets
  • added filters to subpanels
  • added filters to relate fields
  • added filters to popup relate containers
added Dashlet Manager

a new section in the admin area to manage and define dashlets that then can be easily used to build custom dashboards

config.php https option for ElasticSearch
  • added optional protocol for the elastic settings
  • useful if elastic is running on https protocol
Dashboard changes for responsive Design
  • separation of Assistant pane to only show on wide screens
  • for smaller screens render assistant as part of the Home Module Menu
  • render dashboards in a vertical grid on small screens
  • added menu to dashboard module rather than selection pane on smaller screens
Improvements of Global Search
  • improved the global Search Field to allow search filtered by module.
  • separated the global search in the header and the global search in the route.
  • enhanced the global search results to a better design and cleaned up.

SpiceCRM 2018.11.001

Integrated Calendar

Highlight s of the November Release is a major update of the integrated Calendar. This adds a timeline view, adds the feature to show other resources calendars. It pushes the integration of the Google Calendar. So, if you allow the login with Google you can also display your planned events in the google calendar that are not in CRM as part of the calendar view making planning your professional day easier.

We also updated to the Winter Release of Lightning Design, redesigned the activity stream. It comes in a newer and cleaner design in line with the lightning design guidelines. We also added more filter options and even more flexibility for the admin to configure and enhance the stream.

Package Manager

Also in its first version we are releasing the package manager. This will become a central part of SpiceCRM managing the extendibility and flexibility to load packages (configuration, templates languages) and also easily uninstall them again. More on that will come with the next releases as we are continuously working to enhance the easy of system management and configuration.

Technologically we also pushed to Angular 7 – which you should not notice but it is important to be compliant and in line with the latest standards when it comes to operability and it security.

The Release in Details

Adapt code for KREST as standalone package

Separation and cleanup of the latest KREST package to allow Standalone Installation for those useres using Tools like KReporter standalone on SuiteCRM or SugarCRM

Backend Cleanup KDeployment* modules javascript/ gruntjob/ KREST calls
  • remove any trace of deprecated modules KDeploymentCRs,KDeploymentSystems, KReleasePackages
  • check the destiny of KDeploymentMWs in backend.
Backend ProjectWBSs label for parent_name

modify LBL_PARENT_NAME to LBL_PARENT, subpanel LBL_PROJECTACTIVITIES_SUBPANEL_TITLE to LBL_PROJECTACTIVITIES fix angular digest error on save in WBS Manager

Backend repair/rebuild for audit tables
  • Creation is considered but not update when additional fields are defined.
  • Update shall be considered by repair/rebuild.
  • Make index names unique database wide
Better portal user creation/modification

Revision of the logic/code/ui for more user comfort and better error handling.

Calendar rework
  • Added additional views for timeline.
  • Added support for multi day events in all views.
  • Restyle on popovers.
  • Integration into Google Calendars< displaying also non SpiceCRM Events
  • added capability to display other users calendars
GSuite Integration
  • finetuning and updates on login with Google
  • Integrate Meetings and Calls with added logic hook definition
Google Cloud natrular Language API
  • added support for link with Natural language API
  • added email processor to process received emails and get sentiment on email
  • added integration of sentiment into email inbox display to highlight positive and negative emails for service processes
KReporter Fix custom function in select

Fix for KReporter 4.4

KReporter fix SuiteCRM Subpanel compatibility
  • ParentID is ignored in query: proper values could not be passed since variable currentRecord in JS is only in SpiceTheme.
  • Added correction to consider SugarCRM CE / SuiteCRM.
Lost password via EmailTemplate+Compiler
  • updated lost password email logic so it complies with the SpcieCRM email Template Compiler
  • added logic to the email template compiler so additional parameters can be passed in
MediaFiles: Automatic creation of required folders
  • changed logic so default folders for storage for media files are automatically created
  • minor coding changes and cleanup
  • Possibility to turn off trash bin
Name Formatting
  • added name formatting to the user preferences
  • rework on full name field to properly interpret user preferences
Assignment Notifications
  • enable creation of module specific assignment templates so for each module an individual styled and defined template can be used to notify a user that a record has been assigned. Including information on the record assigned.
  • respect users language and send in the language of the user
Optimistic Locking
  • changed the audit log so by default all fields are audited
  • changed the ui logic so only changed fields are sent to the backend
  • added a backend check for the changed fields since the last load on the frontend
  • added an optimistic locking resolution dialog in the frontend to let the user handle such a situation
Redesign Lookup & Relate Fields
  • redesigned the lookup and relate fields
  • changed the component structure
retrieve real values after POST
  • added a config parameter so real values on the db can be returned from a POST call
  • can be configured since it has a potential negative performance impact in high volume installations
Speech Recognition
  • added a fix in the speech recognition dialog
  • System potentially did hang after pausing and continuing on
Angular 7 update

updated core Angular to 7.0.1

Lightning Design Update
  • updated Lightning Design to 2.7.4 (Winter ’19)
  • updated the role picker dialog
User Preferences

fixed user preferences bug for admins

Role Loading

in some situations after a logoff and login the user might have had the wrong role

added config table syscustomhooks
  • added the package and version fields to table syshooks so hooks can be distributed as part of packages from the reference config.
  • Additionally a table syscustomhooks has been added to add customer specific hooks in the configuration of the database.
added transaction control in REST Calls
  • added an option to handle Database updates transactional on REST Calls
  • enabling commits and rollbacks in case of handling of more critical and transactional data
UI Add User & User reset password button
  • Button Reset Password for user details view added.
  • Auto generate password converted to a checkbox, which will be filling the password field with the auto generated password and showing a copy button when it’s checked.
  • by Email option added. to automatically generate password and send it via email
  • Hide password button added for regular users
new field type components
  • color Enum: display a color indicator with an enum value
  • multiselect MultiEnum: list an select with multi select option
update Actionsets
  • change in rendering actionsets so the only the first button is shown and the remaining buttons are in an overflow
  • changed the way how custom action item components are developed