You can trivially avoid the need to do anything as complex as dynamic namespace registration by simply using one of your other options like using the string 'wikidata' or 'flow' rather than a constant and integer id. If you want integer ids that badly you could always create a new rc_external_types (or whatever you want to call it) mapping an auto_increment id to keys like 'wikidata' and 'flow' and use the primary key there as the rc_external_type.
Long story short. Hardcoding integer numbers into extensions hoping you're not going to conflict with other extensions is never a good idea. You're just subjecting yourself to future pain you could have avoided at the start with a simple solution.
~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://danielfriesen.name/]
On 2013-09-19 5:41 PM, Erik Bernhardson wrote:
I will take a look over the bug, quite a long conversation. It will take me the night most likely to digest the suggestions included. I suppose my first worry is that I was targeting simple changes which can be agree'd on and implemented in a few lines, whereas the linked bug report seems to suggest a system that I know will require many iterations and weeks of on/off work before +2'd into core.
Erik Bernhardson