As Kint is now in: #2034919: Kint debug tool for Drupal, the roadmap for this could be:

- Find and document an alternative way to dump stuff for each procedural call we have (dpm, dsm, dd, etc).
- Create an issue for each one that we can't replace and figure out if we should wrap it or try to extend Kint.
- Remove krumo library and any procedural wrapper we have replaced

Comments

salvis’s picture

Coming very late to the party, I'd still like to put in my 2 cents:

From donquixote's comment in #2034919-32: Kint debug tool for Drupal :

In the last year I used both dpm() and Drupal\krumong\dpm() for debugging.
I personally perceived the shorter spelling for dpm() as a huge advantage. It made me use Devel dpm() a lot more than the Krumo NG version.

I agree. Since dpm() returns what it receives, you can even put it inside expressions. Having a short and well-known name is a great advantage.

The common expectation is that you get dpm() and friends when you install Devel. This is firmly engrained in the Drupal literature and in most Drupaller's heads. It would be a pity to lose that.

OTOH, the user should be free to swap the functionality behind dpm() and friends for whatever s/he prefers, and even be able to remove them from the global namespace if s/he wants — as long as it's easy to tell which module is serving which function.

I could imagine a table with a row for each debug helper function and a column for each module that wants to provide an implementation, something like

                       removed | inactive | Devel | KrumoNG | whatever
dpm()                    ( )   |    ( )   |  ( )  |   (o)   |   ( )    
kpr()                    (o)   |    ( )   |  ( )  |         |   ( )    
ddebug_backtrace()       ( )   |    ( )   |  (o)  |   ( )   |    
fancyx()                 ( )   |    ( )   |       |   ( )   |   (o)
etc...                   ( )   |    (o)   |  ( )  |   ( )   |    
  1. Devel would start out with all of its functions selected.
  2. The user would be able to remove any or all of them from the global namespace.
  3. The user would be able to (temporarily) deactivate any or all of them, without having to remove the calls from the code.
  4. Cooperating modules would provide their own list of whatever functions they want to replace (or even add). On installation they should get their full list selected by default, but the user should be free to selectively drop back to Devel or some other third-party module.
  5. On uninstallation, the active items should automatically drop back to Devel, if provided.
moshe weitzman’s picture

I'm really not interested in creating plugin system where modules take over functions wholesale like dpm(), kpr(), etc. I'm just fine with the Issue Summary as written here. I think we could change the fallback in devel when Kint is not installed so that it suggests Kint and does nothing more. That would really lead folks to enable kint and alleviate the "i used to just enable devel and I don't want to learn anything new, ever" problem.

willzyx’s picture

Status: Active » Closed (cannot reproduce)

Closing this issue now that krumo was removed from devel and we have a pluggable dumper system