Skip to content

Lime CRM Knowledge Base

Lime CRM Desktop Client 11.1.3089

Product Lime CRM Desktop Client Version 11.1.3089 Date published 2023-12-11 Platform Windows Availability Manual installation and Automatic Updates.

This build primarily target error “ActiveX component can't create object” reported after Windows Update broadly distributed 8th of December 2023.

Fixes

  • Use separate registration of internal COM-objects to mitigate problem introduced by WebView2 v120 and later.

Lime CRM Desktop Client 11.1.3057

Product Lime CRM Desktop Client Version 11.1.3057 Date published 2023-11-17 Platform Windows Availability Manual installation and Automatic Updates.

Fixes

  • Refined usage reporting.
  • Fixed problem with client-side sorting after switching view.
  • Compatibility: Fixed problem with modified handling when removing file contents for document
  • Added events to allow customization of template and document handling: BeforePopulateTemplate, AfterPopulateTemplate, BeforeOpenDocument, AfterOpenDocument
  • Ignore cookies during SSPI negotiation to avoid implict session.
  • Stability: Worked around crash due to improper window procedure for editing GPS coordinates.
  • Fixed compatibility issue for case-insensitive lookup of translation keys.
  • Stability: Added guards against unsafe thread access to fix rare crash seen via Sentry
  • Extended validation of parent argument for OpenInspector. Refined support for Controls as parent for Inspector.
  • Disable CCC unless explicitly enabled via config for view. This will reduce backend load for ActionPads without any visible components.
  • Compatibility: Gracefully handle missing add-permission for fields and unified policy for new/add to workaround issues with policies via hyper-cache, which is mandatory in cloud.
  • Restructured detection of parallell sessions to handle situations where username is not known, ie. SSPI and web-based login via AzureAD or similar.
  • Fixed bug in cookie sync that broke support for WinINET with app-proxy
  • Stability: Improved robustness for parent-child relations between Records.
  • Worked around compatibility problem with Word for situations where application is closed by user.
  • Re-enabled integration with Heap.io
  • Improved handling of embedded email addresses in text.
  • Removed dependency on VBScriot to open links in text.
  • Implemented proper error handling for Application.Shell.
  • Implemented explicit support for handling SetForegroundWindow via DDE.
  • Stability: Worked around race-conditions discovered after updating SDK and WebView2 119
  • Stability: Avoid unexpected side-effects of accessing closed tabs during cleanup.
  • Stability: Worked around crash when hit counting is triggered without record.
  • Scalability: Dynamically adjust batch size based on number of relations affected by the update.
  • Stability: Handle potential memory and reference leak due to internal usage of assignment operator.
  • Stability: Ensure any pending settings changes are applied before index operations to avoid race-conditions.
  • Stability: Worked around unhandled exception during shutdown.
  • Compatibility: Fixed problem where text shortcuts was loaded from wrong location.
  • Ensure records added with backend ID are shown.
  • Allow automatic requery when list edit is finished.
  • Render paused results unless loading.
  • Use string logical order for options.
  • Compatibility: Fixed bug in cursor handling for One-by-One, previously masked by other bug.
  • Added warning for slow timers.
  • Improved robustness for closed and invisible inspectors.
  • Prefer To over CC and BCC when relating email to recipient.
  • Stability: Avoid triggering Records.Requery from WM_PAINT to avoid violations to COM threading model due to modal dialogs displayed from formulas in filters. This should resolve (or at least mitigate) problems with empty ActionPads.

Lime CRM Desktop Client 11.1.3059

Product Lime CRM Desktop Client Version 11.1.3059 Date published 2023-11-17 Platform Windows Availability Manual installation and Automatic Updates.

Fixes

  • Refined usage reporting.
  • Fixed problem with client-side sorting after switching view.
  • Compatibility: Fixed problem with modified handling when removing file contents for document
  • Added events to allow customization of template and document handling: BeforePopulateTemplate, AfterPopulateTemplate, BeforeOpenDocument, AfterOpenDocument
  • Ignore cookies during SSPI negotiation to avoid implict session.
  • Stability: Worked around crash due to improper window procedure for editing GPS coordinates.
  • Fixed compatibility issue for case-insensitive lookup of translation keys.
  • Stability: Added guards against unsafe thread access to fix rare crash seen via Sentry
  • Extended validation of parent argument for OpenInspector. Refined support for Controls as parent for Inspector.
  • Disable CCC unless explicitly enabled via config for view. This will reduce backend load for ActionPads without any visible components.
  • Compatibility: Gracefully handle missing add-permission for fields and unified policy for new/add to workaround issues with policies via hyper-cache, which is mandatory in cloud.
  • Restructured detection of parallell sessions to handle situations where username is not known, ie. SSPI and web-based login via AzureAD or similar.
  • Fixed bug in cookie sync that broke support for WinINET with app-proxy
  • Stability: Improved robustness for parent-child relations between Records.
  • Worked around compatibility problem with Word for situations where application is closed by user.
  • Re-enabled integration with Heap.io
  • Improved handling of embedded email addresses in text.
  • Removed dependency on VBScriot to open links in text.
  • Implemented proper error handling for Application.Shell.
  • Implemented explicit support for handling SetForegroundWindow via DDE.
  • Stability: Worked around race-conditions discovered after updating SDK and WebView2 119
  • Stability: Avoid unexpected side-effects of accessing closed tabs during cleanup.
  • Stability: Worked around crash when hit counting is triggered without record.
  • Scalability: Dynamically adjust batch size based on number of relations affected by the update.
  • Stability: Handle potential memory and reference leak due to internal usage of assignment operator.
  • Stability: Ensure any pending settings changes are applied before index operations to avoid race-conditions.
  • Stability: Worked around unhandled exception during shutdown.
  • Compatibility: Fixed problem where text shortcuts was loaded from wrong location.
  • Ensure records added with backend ID are shown.
  • Allow automatic requery when list edit is finished.
  • Render paused results unless loading.
  • Use string logical order for options.
  • Compatibility: Fixed bug in cursor handling for One-by-One, previously masked by other bug.
  • Added warning for slow timers.
  • Improved robustness for closed and invisible inspectors.
  • Prefer To over CC and BCC when relating email to recipient.
  • Stability: Avoid triggering Records.Requery from WM_PAINT to avoid violations to COM threading model due to modal dialogs displayed from formulas in filters. This should resolve (or at least mitigate) problems with empty ActionPads.

2023.2 – Vaalserberg

Release notes

⚡ Features

Aggregates

Aggregates can add new data to the table and thus drive insights based on information that is otherwise stored in tabs; customers without customer visit, which products customers have bought, number of open tickets, etc. The easiest way to think about Aggregates is "Info Tiles in the table".

You can show and filter on Aggregates and also include them in the filter set you build.

aggregates

Limitations
  • You can create filter sets that include Aggregates. However, these filter sets are not supported to be used in Add-ons that use filter sets, such as Info Tiles or Call Out.
  • Bulk actions can only be done if records are "manually selected", if an Aggregate is included in the view or filter set. In other words, use the checkboxes, not "Select all" if you have an Aggregate in the table.
  • Aggregates that are created in Lime Admin can only be used in the web client. (Aggregates can be accessed via our API, but then the Aggregate needs to be defined in the query.)

Find the Filter Sets You Are Looking For

Browsing and navigating between filter sets can be tedious. Some solutions have 50+ filter sets. And that is only counting the Company table.

With the new filter set picker we make it a breeze to browse, search, find and use the filter sets that are relevant to you. No configuration, no user or group management, no admin work. Just use it and the experience will be more user-adapted.

filter-sets

Document Templates: Image Support and XLSX + PDF Support

Document templates have received two major features.

Images

Now you can insert images of products, coworkers or something else in your template. It's not harder than writing {{coworker.picture}} , and you are done.

images-support

Support Excel And Pdf File Types

Use any file type (not only docx) as a template. Great for those Terms of conditions.pdf or Quote calculation.xlsx. Docx is still the only format that support merge codes.

xlsx-and-pdf-support

Stacked Cards

An innovative solution with a design that explains itself so well. Adds that extra flavor and conveys that user-friendliness is one of our corner stones.

stacked-cards

Adding Customer's Logos To The Web Client

Add a link to an image in Lime Admin and 💥, you are good to go! If you want it permanently in a customer's solution, please read the docs.

customers-logo

New Bulk Create Workflow

Bulk create is the feature you use when you want to create, for example, several history notes or to-dos for a set of records. It is also the feature you use when you attach Persons to a Marketing activity. You turn the feature on for the lime types where you want it and configure which lime types you want to create. Now it supports:

  • Hide Fields In Create New Dialog
  • Variants
  • Inline Create

This makes workflows such as "create marketing activity when adding participants" possible.

bulk-create

Faster

We have replaced the whole frontend framework from Angular.js with Stencil. This makes the web client go much faster.

Actions - Beta

We have created a solution for you where you only need to create the logic of an action and we take care of the rest. Actions are straight-forward things that the user is encouraged to do, here and now. "Assign me", "Close ticket" or "Send with E-sign" are typical actions. They have never looked better than now.

So now you can stop putting ugly web component buttons in the Overview tab and use Actions instead!

The Action Bar

The first thing you will notice is the Action bar. The Action bar is present in all tabs and scales great on different screen sizes.

action-bar

The Bulk Action Bar

Bulk actions are way easier to find since they also get to use the action bar.

bulk-action-bar

Actions Everywhere

Once you add an icon to a lime type, it will be accessible from all views which support actions. The List view, for example.

action-everywhere

Read more in our docs.

Change Application Languages in Lime Admin

Users is encouraged to provide filter set names, table names, fields names etc. in all active languages. Now it's possible to change active langauges in Lime Admin and make it workflows easier for users.

You need to set the feature switch useLimeAdminForLanguageSettings to true.

languages

🐞 Bugfixes

  • Table freezes after applying filter
  • Support inline-create when creating document from template
  • Sorting does not work after you have moved a column
  • Change object values that aren't part of the object form
  • Postpone component: postpone button is disabled when StartDate and DueDate hold the same value.
  • Inline create breaks form after saving
  • It is not possible to change filters in the history panel on any card.
  • Option fields do not work with option queries
  • You can save even though fields are set as required through Variants
  • Inline create breaks form

Changelog

⚠️ Breaking Changes

Application configuration file location

Application configuration file (application_config.yaml) must now be placed in the root of C:\ProgramData\Lundalogik\LIME Pro Server folder, instead of anywhere within the folder.

The Installer

Add support fro mjs type files

The desktop client would not work properly due to mjs type was missing in the types list of the nginx config so the mimetype got set to text/plain.

Ensure Celery nodes get unique names

To support Celery running on two on-premise servers on the same network the node names must be unique. If two or more replicas are to work together they must mingle and gossip (sublime setup).

Fix installation when HOMEDRIVE is not a local drive

The installer will interrupt the upgrade if HOMEDRIVE is not a local drive.

If JAVA_HOME is set, the installer will check if it points to a version that is supported by Elastic Search shipped in version that is installed. If not, it will interrupt the installation.

Reinstall RabbitMQ when upgrading

From now on, the installer will reinstall RabbitMQ when upgrading so no manual actions are necessary.

Lime CRM

Cleanup job does more

In this release, the cleanup job will also remove files that have been uploaded but not attached to any entity. This is to avoid having files that are not used in the system.

Additionally, there are system jobs periodically prune files that are marked as deleted.

Last but not least, files that were locked are unlocked after 24 hours.

Performance changes

  1. SQL changes - different locking level
  2. Introduced a draft file status - Files uploaded but not attached will be removed when
  3. SCIM change - extra fields for handling long names (when deleting accounts)
  4. S3 md5 checksum fixes
  5. Support multipart file uploads

Included services and frameworks

Below is a list as originally shipped with 2023.2:

  • LDC - 12.9.2019
  • LISA - 12.8.35
  • Elastic Search - 7.17.14 (shipping Java from Oracle Corporation in version 21+35-2513)
  • Ngnix for Windows - 1.23.3.4 SnapDragonfly
  • NSSM - 2.21-134
  • WinSW 2.12.0
  • Microsoft ODBC Driver 18 for SQL Server (MSODBCSQL18) - 18.3.2.1
  • Microsoft Visual C++ 2015 x86 Redistributable (VC Redist) - 14.36.32532.0
  • Microsoft Visual C++ 2015 x64 Redistributable (VC Redist) - 14.36.32532.0
  • Microsoft OLE DB Driver 19 for SQL Server - 19.3.2
  • Erlang OTP - 26.1.1
  • RabbitMQ Server - 3.12.6
  • Microsoft Handle (sysinternals) - 5.0

RabbitMQ cannot be started after an upgrade of Lime CRM

Summary

After an upgrade of Lime CRM, the RabbitMQ service might either not be able to start or it might not be visible in the list of installed Windows services at all.

RabbitMQ is used for sending messages to other services about events happening in Lime CRM. It is also used for triggering asynchronous jobs, like text file imports.

Symptoms

This may give rise to several symptoms like imports not working, not being able to open documents, or not being able to update values.

Resolution

Remove Erlang and RabbitMQ from the server

  1. Make sure that all Windows Management Console application (like windows event log, computer management etc.) are closed.

  2. Uninstall Erlang

  3. Uninstall RabbitMQ

  4. Ensure that the RabbitMQ service is not visible in the Windows Services list. If it is, open a command prompt as admin and run

sc delete RabbitMQ
  1. Ensure that the following directories are deleted:
C:\Program Files\erl5.10.4
C:\Program Files (x86)\Lundalogik\Lime Pro Server\Erlang
C:\Program Files (x86)\RabbitMQ
C:\Program Files (x86)\Lundalogik\Lime Pro Server\RabbitMQ
%appdata%\rabbitmq
%programdata%\Lundalogik\LIME Pro Server\RabbitMQ
  1. Remove all registry keys under (by clicking windows button + write “regedit” + enter)
HKEY_LOCAL_MACHINE/SOFTWARE/Ericsson/Erlang/ErlSrv

, and

HKEY_LOCAL_MACHINE/SOFTWARE/WOW6432Node/Ericsson/Erlang

Reinstall

There are two ways to reinstall - either reinstall Lime CRM Server, or install Erlang and RabbitMQ manually.

Install Erlang/RabbitMQ Manually
  1. Open a terminal and check Windows PATH variable “HOMEDRIVE” by running the following command.
echo %HOMEDRIVE%

If set to a mapped network drive (ie H:) Erlang won't be able to set the erlang cookie correct. Change HOMEDRIVE to C:\ before registrering the service again.

set HOMEDRIVE=C:\

NOTE! If you have to change the HOMEDRIVE path in step 1, you also have to run the .exe files in the same terminal for step 2. and 3.

  1. Install Erlang by running (find the .exe file in the folder and run as administrator)
C:\Program Files (x86)\Lundalogik\Lime Pro Server\webserver\externals\otp_win64_R16B03-1.exe
  1. Install RabbitMQ by running (find the .exe file in the folder and run as administrator)
C:\Program Files (x86)\Lundalogik\Lime Pro Server\webserver\externals\rabbitmq-server.exe (name may differ)

Cause

This may be caused by MMC applications, such as the event log viewer, computer management, or even task manager being open during an upgrade.

Affected products

Lime CRM Server 12 & 13

Questions?

Please contact our support team if you have questions regarding any of the above.

Version 2020.2.371 (2.76.0)

Released September 21, 2020

⚠️ Breaking changes!

With this release of Lime CRM the add-ons Infotiles, Newsletter, GDPR and Lime Event are no longer included in the base installer. To (keep) use(ing) these add-ons they should be added to your solution as requirements.

✨ Highlighted Features

📁 File based document storage

Lime CRM can be configured to store documents on disk instead of in the database. Shout out to Tommy Hallman Lindh for implementing this feature!

🔐 Login in using AzureAD for the Web Client

Support for AzureAD while logging into the Web Client. This will enable customers to use security and convenience features such as single sign-on, multi-factor authentication, and enforced password policies.

✏️ A brand new Lime Admin

A brand new version of Lime Admin, providing a visual UI for configuring the web client and add-ons. When creating add-ons to Lime CRM, you can automagically get a custom UI for the add-on to simplify configuration.

💄 Improved UI in the Web Client

Many minor UI improvements in the Web Client; to provide a simpler and easier to use interface:

  • Related view is now wider and pops out to make it easier to know where you are in the web client.

  • The table view is now adjusting to screen size in a much better way, making it easier to grasp the information shown. The rows are also tighter to get a better overview of the data shown in the table.

  • The activity feed has been redesigned to include soft borders, more highlighted headings and improved relation pickers.

🛠️ Application Configuration

When configuring Lime CRM we have so far had to pick between either lime-config or lime-data based config. lime-config is file based and server instance unique; perfect for server configuration such as ports, timeouts etc. lime-data powers Lime Admin and is stored in the database. Albeit convenient it comes with some trade offs; secrets such as API-keys or passwords are best kept out of the database and URLs for integrations can become problematic when for example restoring a production database to a test environment.

With Lime 2020.2 we are expanding lime-config to include application level configuration. One can now configure unique configurations for each app running on a Lime Server. This is perfect for API-keys, Passwords or URLs. Full documentation can be found here.

👩‍🔬 EXPERIMENTAL: A completely re-designed object card

A completely new layout of the object card in the Web Client behind a feature switch. The new design includes the following:

  • Related information is now presented in tabs
  • The tabs have counters indicating the number of items in them
  • You now have the possibility to create custom tabs to meet specific customer needs (on-premise only until we have isolated apps)
  • There are now three different slots where customized widget/actions can be reached (on-premise only until we have isolated apps)
  • The visual design is more minimalistic and cleaner and
  • The overall usability is improved

👨‍🔬 EXPERIMENTAL: Speed improvements for the Desktop Client on-premise

A Redis caching backend can now be configured and The Lime CRM data structure is cached. We have seen speed improvements between 3x-10x for common read operations in the Desktop Client. Read more here

🔨 Highlighted Improvements and Bug fixes

Lime Core

  • Improvements to Object Access. Several bugs where to few objects where returned has been fixed
  • Makes the task-handler debuggable in VSCode
  • The API documentation now supports having a colon in a fields local name.
  • The API documentation can now be used while developing, served over http
  • The search indexer no longer crashes while indexing fields with over 10000 characters, instead these fields are ignored
  • BeginsWithOperator now works with Lime Objects,
  • You can use much larger DSL while writing tests

Lime Web Client

  • Search in option queries now handle capital letters
  • The table view is now updated when updating an object not part of the current filter
  • Editing an existing history note will no longer update the date for when the history note was originally created
  • User is now returned to previous page after logging in again

Web-based login fails for Lime CRM Desktop 11.1.2918 and older using WebView2 Runtime 116 and later

Background

Microsoft has released version 116 of a component that the Desktop Client depends on - the WebView2 Runtime. This version of the WebView2 runtime contains a change that breaks the standard login (Standard username/password, Azure AD login and OpenID login).

Customers using Single-Sign-On via Lime Active Directory Integration (LADI) are not affected, as that feature uses a different login method.

For corporate customers with controlled IT environment we currently advise them to stop automatic updates until Lime CRM Desktop have been upgraded.

Workaround

Switch to legacy login via the right-click menu in the login-dialog.

Note: AzureAD and OpenID are not supported for legacy login.

This setting can be set per server via the Windows Registry:

HKCU\Software\Lundalogik\Lime\Login\<servername>\WebLogin = DWORD(0)

Solution

This is the recommended solution to the problem.

This solution expects the auto update feature to be installed in your environment. By using the auto update feature the user does not need admin rights and the new Lime CRM version can be installed by the user them self.

Download Lime CRM Desktop

Make sure that you shut down the desktop client before running the installer. Run the installer by double clicking on it and follow the steps described. You should now be able to use the Desktop Client again.

Alternatives

Solution for administrators

Upgrade to Lime CRM Desktop 11.1.2974 or later. Download installer from link below:

Download Lime CRM Desktop (requires admin privileges)

Install fixed version of WebView2 115.0.1901.203

Open PowerShell as administrator and run the following code:

 $ARCH=“x64” 
 $NAME=“Microsoft.WebView2.FixedVersionRuntime” 
 $VERSION=“115.0.1901.203” 
 $FULL_NAME=“$NAME.$VERSION.$ARCH” 
 $WEBVIEW2_URI=“https://builds.lundalogik.com/api/v1/builds/$NAME.$ARCH/versions/$VERSION/file/” 
 $DOWNLOAD_DEST=“$env:temp\webview2.cab” 
 $LIME_CRM=“${Env:ProgramFiles(x86)}\Lundalogik\Lime CRM” 
 $ProgressPreference = 'SilentlyContinue' 
 Invoke-WebRequest -Uri $WEBVIEW2_URI -OutFile $DOWNLOAD_DEST 
 expand “$DOWNLOAD_DEST” -F:* “$LIME_CRM” 
 if (Test-Path “$LIME_CRM\WebView2”) { Remove-Item “$LIME_CRM\WebView2” -Recurse -Force } 
 Rename-Item “$LIME_CRM\$FULL_NAME” “$LIME_CRM\WebView2”

Change $ARCH according to you platform (x86/x64).

Lime CRM Desktop Client 11.1.2950

Product Lime CRM Desktop Client Version 11.1.2950 Date published 2023-08-16 Platform Windows Availability Manual installation and Automatic Updates.

This release is a wrap-up release backporting improvements and stability fixes from Insider.

Fixes

  • Refactored field-path resolution for consistent handling of empty values and errors.
  • Worked around stability issue during shutdown.
  • Decouple lifetime handling for COM-events to resolve memory leaks.
  • Detect and log navigations that include redirects.
  • Updated WebView2 SDK
  • Workaround race-condition between injected script and navigation initiated via location.replace
  • Use hardcoded GUID for todo-filter to better handle switching between languages.
  • Reintroduced workaround for crash in VBA during shutdown.
  • Ensure cached settings are cleared.
  • Load filters and views before records to preserve active settings.
  • Avoid returning NULL-string via IDispatch due to stability issue in WebView2.
  • Improved robustness for refreshing records with subset of class-fields loaded.
  • Avoid potential deadlock due to held locks while triggering events.
  • Unified visibility handling.