Back in 2021, I took a run at installing SuiteCRM8 on TrueNAS CORE but for several reasons, I ended up going with EspoCRM instead. I have learned a lot about CRMs since then and decided to take another run at SuiteCRM, this time at 8.7.
I won’t lie, it has been a challenge getting this installed on FreeBSD and more so, getting a method identified that I found to be repeatable and reproducible. No sooner was one problem overcome but another would pop up. I even found myself back to reading my own posts from 2021 while trying to resolve them. Many of the posts on here repeated the same advice "It’s just the permissions’ when that was not the case.
It seems to me that many things can affect successful installation of SuiteCRM8.x on various systems and along the way I’ve come across the PHP errors, the ‘Unidentified error when calling action’ error, the ‘LBL_ACTION_ERROR’ and the inability to login after successful installation despite having the correct information. Those challenges were overcome.
To aid the SuiteCRM community, I have created a Github repository with my SuiteCRM installation script for TrueNAS CORE / FreeBSD. For convenience, I have also added my standard iocage jail creation script too. The install script includes the fixes to the problems I encountered over the last 5 days of trying to get this working. It’s not perfect but it works for me.
Regrettably, I am once again at a hard stop with this application. Even with significant help from AI, I am unable to create a simple calculated field ‘Age’ based on the difference between date of birth and today’s date. I am sure this is easier for established PHP developers but I am not that; I’m an aging sysadmin whose lack of patience fights a daily battle with his overt stubborn nature.
If anyone has a simple answer to what I’m trying to do, I’d love to hear it.
Very much appreciated. Took a minute to figure out and it’s far from intuitive but…it worked.
For anyone else trying to do the same thing, the ‘plain English’ explanation is this:
Parameters: This is where you choose the fields that will be used in the calculation. In my case, I chose ‘Birthdate’ from the Contacts module. This then assigns a Px value, which is important because it is THIS that you use in the formula, not the actual field name. The first value (for me) was P0.
I ignored the Relation Parameters.
In Formula, this is the field you want to populate with the result of the formula. In my case, I chose ‘Age’ which is a custom field I added in Studio.
The formula requires strict syntax so my formula looked like this: {datediff({now(d-m-Y)}; {P0}; years)}
Note the {} because the formula will only evaluate the content between them. Also not the use of P0 rather than Birthdate.