I'm having trouble seeing the connection between code using `from ckan.. import ..` and your comment that this causes "general code mess and the problems in refactoring". Can you point to a specific problem that using `import ckan... as ...` solves that `from ckan.. import ..` doesn't?

I would actually prefer to recommend using `from ckan.submod1.submod2 import name1, name2, ...` everywhere because this style makes it clear when two modules are tightly coupled (there will be too many names imported) and it keeps module names separate from classes and functions which makes grepping easier.