Please, create at least minimal guide on how to debug DF


Recently I tried to deploy DF 2.2 from source on the generic DSP hosting platform. It required to exclude MongoDB requirements, some extra voodoo, but in general it’s working. The only problem I’m getting stuck so far, is that in Role access tab, for given Service, I’m not getting any components to select from: Role Access tab does not show components for a service
The self-documenting API is showing schema components for that service. The script editor in Role access is showing schema components for that service. Only component list is still empty, having only “” and “*” entries.
In my opinion, there may be several sources of such behaviour.

  1. The DSP is missing some necessary service, which should be installed and configured for that part of DF to work. As soon as am not able to find any particular list of services and components which should absolutely be present for normal DF operation, this question is still unclear.
  2. As soon as DF was installed from source, but is mainly working, I’m missing some particular configuration option, which results in component listing in roles tab not working. No one from community, neither DF developers have any ideas, not to mention myself.

Seems, that no one in community has any info on how and where these lists are generated (which is strange). I wonder, if developers are allowed to disclose such an info, maybe it’s a secret know-how, or whatever.
I tried to debug local Bitnami installation of DF, which is working, of course, in PHPStorm from JetBrains.
Being inexperienced in in-depth PHP, I can only see that DF code relies upon auto loads and auto-evaluations, which makes it hard-to-debug stuff for me. I see that upon the first request to roles editor, application creates a load of cache files, which may contain pre-generated component lists for specific service. Next requests retrieve info directly from cache.
But I’m not able to comprehend the full workflow of that code, For instance, Request->Request handler Object->Access component list generateor class->Create list and write it in cache|load it from cache.

I can see as well, that resulting page relies on couple of js scripts, which loaded to client OK. I suspect, these scripts do some AJAX stuff to request and substitute info depending on user input in Admin forms.

The question is that why these scripts working when API auto-doc, or Script rule editor, is being used, but do nothing for component listing…

Could anyone who knows DF internals just give a hint, where to look in PHP debugger, HTML Fiddler, etc…


There was a known bug in 2.2.0 that caused an issue with role components not populating the drop down list correctly. This issue has been resolved in 2.2.1