O
O
oh_shi2018-12-07 23:23:26
ruby
oh_shi, 2018-12-07 23:23:26

Redmine. Is it worth getting in touch?

I position myself as a Ruby developer. Periodically I meet vacancies / orders for finishing Redmine. Is it worth contacting him? What is the entry threshold? Doesn't the despondency inherent in Bitrix or WordPress hide inside?

Answer the question

In order to leave comments, you need to log in

6 answer(s)
T
Tab10id, 2018-12-08
@oh_shi

Most of the redmine code can hardly be called something good. Methods with 50+ lines are considered the norm here. There are tons of legacy code in the project. Since the history of redmine began a very long time ago, when even rails was not yet mainstream, some redmine solutions began to conflict with similar rails solutions that appeared a little later. All these problems are solved in the standard way for ruby, munchpatching. As a result, there is no normal support for i18n, no sprockets (you can connect with crutches, but even after it starts, there will be enough problems), front from zero (both externally and internally), the adequacy of internal logic is often a big question, especially with regard to old code .
The stable version of redmine runs on rails 4.2, but a new version with rails 5.2 is on the way.
Separately for the plugin system. In short, it's terrible, even though it works. In fact, the plugin is not much different from the gem, everything happens in a common namespace, as if we were just adding code to the main repository. The system allows each plugin to have its own migrations and specify dependencies on other plugins. But it is better not to use either one or the other, if there is such an opportunity. Passed migrations are saved to the database with the name of the plugin and the plugin after that cannot be renamed without dancing with a tambourine. If migrations are available in dependent plugins, you need to keep in mind that migrations of one plugin will go first, and then another. Plugins are loaded in alphabetical order, if a plugin depends on another but it hasn't been loaded yet, an exception will be thrown. There is an official mechanism for solving this problem, but it has not been working for a hundred years, as a result, crutches again. Although there are tests in redmine, there is no single solution for tests in plugins, again crutches. Almost no one writes tests in plugins. At the same time, constant mankipatching in plugins changes the behavior of redmine and breaks the original tests. Compatibility between plugins is at the same level. There is a system of hooks for extending views, but there are not enough of them, so plugins completely redefine views and partials. Obviously, if different plugins redefine the same partials, the last one wins. therefore plugins completely override views and partials. Obviously, if different plugins redefine the same partials, the last one wins. therefore plugins completely override views and partials. Obviously, if different plugins redefine the same partials, the last one wins.
But with all this, since this is ruby, workarounds can almost always be found, there are positive trends in the codebase, albeit at a low level. With minimal crutches, you can reuse the filter system as in tasks. Although you will have to put up with some crookedness of this system or send pull requests for a long and painful time (which in the case of redmine are made in the form of tasks on redmine.org with patches applied).
About myself. I've been working with redmine for 5 years, but since the tasks are not directly related to redmine and rails, we don't feel much pain. You can live.

P
Pavel Grudinkin, 2018-12-12
@Hunt666

I was engaged in EasyRedmine (fulltime), mostly a waste of time and qualifications. It's best not to get involved if you don't need to.

S
spaceatmoon, 2018-12-07
@spaceatmoon

I made a simple module, but I have never seen Ruby in my life. Inside, it does not seem to be bulshit. If you know Ruby, then I think it will be even easier for you. Go ahead.

A
Artemy, 2018-12-08
@MetaAbstract

Good topic. Worth doing.
Other technical details)

P
Puma Thailand, 2018-12-08
@opium

What's stopping you from just looking at the code?

V
Vasily Melnikov, 2018-12-08
@BacCM

I can judge as a user. Considering that there are a lot of forks, including paid ones, it's definitely worth trying. Poorly written stuff shouldn't be so popular.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question