Hey there,
First of all - it's strongly recommended and in general much safer to transfer required data from your database to the one used by epesi. But that's just a side note, I guess that's not an option here, so...
I see you already defined the field. However, it's much better to use 'type'=>'text' as this gives you straight-forward value display in table view, directly from the database. By all means, commondata is one the worst values you can enter here. 😉
QFfield method, in general, is used to define how a field should be constructed when creating form. In your case you'll need something like
public static function QFfield_property(&$form, $field, $label, $mode, $default, $desc) {
// Connect to different database, gather infromation you need to construct select element
// i.e. $my_array = array('key1'=>'value1', 'key2'=>'value2'...)
// A KEY is what will be inserted in database (and displayed if type=text) and VALUE will be displayed in select HTML element
// ...
$form->addElement('select', $field, $label, $my_array); // Just leave $field and $label as is, makes the method more generic
if ($mode!=='add') $form->setDefaults(array($field=>$default)); // sets default for this field
}
Remember that if keys are not equal to values, you will need also display method that takes (in simplified version) one argument - whole record, and should return a string.
You can check methods CRM_ContactsCommon::QFfield_webaddress and CRM_ContactsCommon::display_webaddress for further reference and example.
Side note: Most likely you won't be using 'param' property from Installation at all, but alternatively, you can access it in QFfield method with $desc['param']. Also, if you specify it as an array, it will be transformed to format:
key1::value1;key2::value2...
Explode can be handy here. 😉