Patch #20263

Redmine load hook

Added by Ondřej Ezr over 3 years ago. Updated 2 months ago.

Status:NewStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:Plugin API
Target version:Candidate for next major release

Description

It would be cool to have a load hook to refer from a plugins

redmine-hook.diff Magnifier - load_hook (324 Bytes) Ondřej Ezr, 2015-07-07 12:48

redmine-hook.patch Magnifier - load_hook v2 (799 Bytes) Ondřej Ezr, 2015-07-07 15:43

History

#1 Updated by Ondřej Ezr over 3 years ago

This version may be more usefull ... ( after all plugins had loaded, do something... )

#2 Updated by Toshi MARUYAMA over 3 years ago

  • Category set to Plugin API

#3 Updated by Ondřej Ezr 3 months ago

Any news?

#4 Updated by Go MAEDA 3 months ago

Ondřej Ezr wrote:

It would be cool to have a load hook to refer from a plugins

Would you describe use cases of the hook?

#5 Updated by Ondřej Ezr 3 months ago

Whatever code you write you can assure that redmine is fully loaded already.

1) Engine initializers (for plugins in engine) for example.
2) Plugins who wants to load some code after all plugins were initialized.
3) Any code in libs depending on the redmine code should know if redmine is loaded.
4) You can write code for rails and have feature for redmine in your gem.

loads of other cases, always solvable in different way, but nicer by the hook.

My case was 1) 2) and 4) in my experiences with developement for redmine, but obviously after 3 years even the GIT forgot the code I needed it in ... ;)
So if I am concern, close this one rather than asking me iritating questions with obvious answers after 3 years of having simple one line diff.

Please move to some kind of git source code management. You got mergerequests, pull requests. Of course you dont have time to go through every patch by hand :X
Otherwise your software is dead, because community is unable to contribute.

#6 Updated by Go MAEDA 3 months ago

  • Target version set to Candidate for next major release

Thank you for describing the use cases. Sorry for irritating you but those points were not obvious to me because I am not interested in developing plugins. So, your explanation was helpful to me.

Setting target version to "Candidate for next major release". I think that we need a little more work to merge this change.

  • Someone has to write test code. Test code is needed to add new features to Redmine core.
  • I would like to get feedback from users. Adding/changing public API will affect many users, and it is not easy to change once it is implemented.

#7 Updated by Ondřej Ezr 2 months ago

Yeah, I was more irritated for the 3 years gap from first response, I understand this needs time to get evaluated and tested before merge.
But 3 years is far from being effective.

I think that gitlab for example would give you a lot more efficiency you need.
Exactly what you are describing would still be needed to be done, but it would be much easier.

AND community is used to git nowadays, somebody could even write the tests already for me :)
OR I could do it far more easily :)

Just the notes. I know, you probably already considered it and still didn't, for some reason I can't see, do it, but I am voting for it if it's worth something :)

I alone know of at least 4 programmers who would like to colaborate, but doesn't because they knows your response time is too high to be helpful for them, so they has to go monkey patch and don't bother to program to the core :)

I will try to remember it and help if I got time, but I already dont have the code localy. So needs more time.

Also available in: Atom PDF