It is not possible to update, so customize!

5 September 2022

next article
Maxim Liske

Back End developer

Maxim Liske
It is not possible to update, so customize!

Should I upgrade my self-hosted Bitrix24? The question is, of course, the owner's, but if you approach it objectively from all sides, yes, it is worth it, and only with an experienced partner. Bitrix24 regularly introduces new functionality, and this is not just an addition: most often it is fundamentally new tools that have no analogues in older versions.

However, updates may not be completely safe for your system and the main reason is the customization of the kernel and various components. As you understand, during updates, previously changed files are overwritten, which leads to the loss of all efforts. Of course, there are custom components that are not afraid of renovations, but such things are created by highly qualified specialists. In my case, a very delicate situation arose, when the customer faced the dilemma of renewal or custom finishing, but I had to choose the latter.

On the eve of big changes

I got a very old by today's standards Bitrix24 on-premise edition from 2017th. It last saw an update on September 1, 2017. During this time, six Bitrix24 releases took place from Tokyo to London, and countless new products appeared. But the client also did not waste time and got a customized core and template files, which was necessary for a very dynamic and profitable business.

Later, our client faced a difficult situation: in the updates, a functionality that was previously custom created for him appeared, as well as other useful tools were added. But it was no longer possible to simply download and update: there was a possibility that individual elements of the Portal, or the entire Bitrix24 in general, would not work correctly. Or they won't work at all. The smallest simple work of the company will cost the client too much, so it was decided to continue individual development. In total, it will be cheaper and much safer.

Positive moments

And if everything looked quite pragmatic from the customer's side, for me, as a developer, this project has both positive and negative aspects. I'll start with a pleasant one.

First, on such projects, it is very gratifying that you can implement any ideas. I enriched the Client Portal with the following non-standard features:

• Custom confirm-messages were made, in which, after clicking on one of the buttons, a form was called in which you can change the properties of the agreement;

• Chat rules have been created, according to which ordinary users can write only to managers and administrators;

• Logging of local IP addresses for all events;

• Log removal is disabled at the kernel level and more.


Secondly, there is an opportunity to edit everything, not just specific moments. Due to this, the total development time is sometimes significantly reduced, since you no longer depend on anyone.

And, thirdly, it is always more interesting for every programmer to work without restrictions.

Negative moments

For a programmer, there is also a downside to such a project. Sometimes you have to independently implement functionality that is already in new versions. Technical support, and this is predicted, will not help and the only advice from them will be - "Please update".

I would still like to have some updates out of the on-premise. This is especially true for those related to security. In my experience, customers often wonder if it is possible to selectively install these updates without breaking anything. But that's not possible.

Regarding the download, if this is a full-time project - the developer will lag behind in professional growth from colleagues who work on projects with updates. True, this applies only to highly specialized knowledge of Bitrix/Bitrix24. Well, when the project ends, it will be more difficult to switch to a new one. The main reason: it will be necessary to change habits and approach to development.

And it is more difficult to transfer such a project, in which case, to another developer. For a long time, there will still be questions about how and what was done and why exactly this way and not otherwise. Here it will be effective to maintain project documentation or, at least, a task log with comments.

A specific example

I will add specifics: here is an example of the implementation of the functionality that is in the new versions. Version 17 is significantly different from its descendants, where everything is built quite differently. Newer versions of Bitrix24 already have their own full-fledged mail client that works with all popular services. And for my case, the GMail mail client was written manually with the following properties:

• Every user of the portal can connect his GMail mailbox to Bitrix24;

• All letters are stored in the database;

• Checking new emails — every minute;

• Implemented labels, forwarding, signatures;

• Synchronization with GMail is two-way, that is, letters are not only downloaded, but also stored in GMail, and all actions with them are also available.

 

The development of this task requires more than 200 hours, and this example shows that even to obtain a truncated custom functionality, it is necessary to spend a large amount of resources.

To customize or to update?

Based on the results of the above, both the customer and the programmer must make their own difficult choice. For the customer, what will be economically beneficial. A programmer, of course, will be very interested in working on such a project, because there is freedom of action. But, taking into account the disadvantages, all participants in the process need to think carefully about whether it is worth getting involved.

Get more with Avivi!


Similar articles
Apply for a consultation

We will reach out to within 10 minutes