The absence of datablock properties "will certainly be resolved soon as the need for them is becoming obvious" said the Python Nodes release notes. So this patch allows Python scripts to create ID Properties which reference datablocks.
This functionality is implemented for PointerProperty and now such properties can be created with Python.
In addition to the standard update callback, PointerProperty can have a poll callback (standard RNA) which is useful for search menus. For details see the test included in this patch.
Original author: @Tom Edwards (artfunkel)
Alexander (Blend4Web Team)