You know, that you don't need to create a TV for each field?
In most cases you can set a inputTVtype.
For Textfields you don't need any inputTV or inputTVtype. This is the default one.
For Listboxes you can define the inputOptions inside the MIGX - configuration.
Modified jmcOrganizations a bit.
for example the part for the migx-TV:
{
"MIGX_id":1,
"field":"computers",
"caption":"Computers",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"migx",
"configs":"jmcComputers",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
}
and this part in jmcComputers:
{
"MIGX_id":3,
"field":"identifiers",
"caption":"Identifiers",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"migx",
"configs":"jmcIdentifiers",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
}
{
"formtabs":[
{
"MIGX_id":1,
"caption":"Contact Info",
"fields":[
{
"MIGX_id":1,
"field":"address1",
"caption":"Address Line 1",
"inputTV":"",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":2,
"field":"address2",
"caption":"Address Line 2",
"inputTV":"",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":3,
"field":"city",
"caption":"City",
"inputTV":"",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":4,
"field":"state",
"caption":"State",
"inputTV":"",
"inputTVtype":"listbox",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"@EVAL return $modx->runSnippet('getStatesOptions');",
"default":""
},
{
"MIGX_id":5,
"field":"zip",
"caption":"Zip",
"inputTV":"",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":6,
"field":"website",
"caption":"Website",
"inputTV":"",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
}
]
},
{
"MIGX_id":2,
"caption":"Organization Contacts",
"fields":[
{
"MIGX_id":1,
"field":"contacts",
"caption":"Contacts",
"inputTV":"jmcContacts",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
}
]
},
{
"MIGX_id":3,
"caption":"Organization Assets",
"print_before_tabs":"0",
"fields":[
{
"MIGX_id":1,
"field":"computers",
"caption":"Computers",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"migx",
"configs":"jmcComputers",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":3,
"field":"printers",
"caption":"Printers",
"inputTV":"jmcPrinters",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":2,
"field":"networkEquipment",
"caption":"Network Equipment",
"inputTV":"jmcNetworkEquipment",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
}
]
},
{
"MIGX_id":4,
"caption":"Networks",
"fields":[
{
"MIGX_id":1,
"field":"networks",
"caption":"Networks",
"inputTV":"jmcNetworks",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
}
]
},
{
"MIGX_id":5,
"caption":"Global Notes",
"fields":[
{
"MIGX_id":1,
"field":"serviceNotes",
"caption":"Service Notes",
"inputTV":"jmcServiceNotes",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":2,
"field":"otherNotes",
"caption":"Non Tech Notes",
"inputTV":"jmcServiceNotes",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
}
]
}
],
"contextmenus":"",
"actionbuttons":"",
"columnbuttons":"",
"filters":"[]",
"extended":{
"migx_add":"",
"formcaption":"",
"update_win_title":"",
"win_id":"jmcOrganizations",
"multiple_formtabs":"",
"extrahandlers":"",
"packageName":"",
"classname":"",
"task":"",
"getlistsort":"",
"getlistsortdir":"",
"use_custom_prefix":"0",
"prefix":"",
"grid":"",
"gridload_mode":1,
"check_resid":1,
"check_resid_TV":"",
"join_alias":"",
"getlistwhere":"",
"joins":"",
"cmpmaincaption":"",
"cmptabcaption":"",
"cmptabdescription":"",
"cmptabcontroller":""
},
"columns":[
{
"MIGX_id":1,
"header":"Address",
"dataIndex":"address1",
"width":"",
"sortable":"false",
"show_in_grid":1,
"renderer":"",
"clickaction":"",
"selectorconfig":"",
"renderoptions":"[]"
}
]
}
jmcComputers:
{
"formtabs":[
{
"MIGX_id":1,
"caption":"Computers",
"print_before_tabs":"0",
"fields":[
{
"MIGX_id":1,
"field":"brand",
"caption":"Brand",
"inputTV":"jmcBrands",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":2,
"field":"model",
"caption":"Model",
"inputTV":"text",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":9,
"field":"nickname",
"caption":"Nickname",
"inputTV":"text",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":10,
"field":"hostname",
"caption":"Hostname",
"inputTV":"text",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":3,
"field":"identifiers",
"caption":"Identifiers",
"description":"",
"description_is_code":"0",
"inputTV":"",
"inputTVtype":"migx",
"configs":"jmcIdentifiers",
"sourceFrom":"config",
"sources":"[]",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":4,
"field":"physicalLocation",
"caption":"Physical Location",
"inputTV":"text",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":5,
"field":"ipAddress",
"caption":"IP Address",
"inputTV":"text",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":6,
"field":"purchaseDate",
"caption":"Purchase Date",
"inputTV":"dateTime",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":7,
"field":"warrantyThrough",
"caption":"Warranty Through",
"inputTV":"dateTime",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
},
{
"MIGX_id":8,
"field":"jmcServiceNotes",
"caption":"Service Notes",
"inputTV":"jmcServiceNotes",
"inputTVtype":"",
"configs":"",
"sourceFrom":"config",
"sources":"",
"inputOptionValues":"",
"default":""
}
]
}
],
"contextmenus":"",
"actionbuttons":"",
"columnbuttons":"",
"filters":"[]",
"extended":{
"migx_add":"",
"formcaption":"",
"update_win_title":"",
"win_id":"jmcComputers",
"multiple_formtabs":"",
"extrahandlers":"",
"packageName":"",
"classname":"",
"task":"",
"getlistsort":"",
"getlistsortdir":"",
"use_custom_prefix":"0",
"prefix":"",
"grid":"",
"gridload_mode":1,
"check_resid":1,
"check_resid_TV":"",
"join_alias":"",
"getlistwhere":"",
"joins":"",
"cmpmaincaption":"",
"cmptabcaption":"",
"cmptabdescription":"",
"cmptabcontroller":""
},
"columns":[
{
"MIGX_id":1,
"header":"Brand",
"dataIndex":"brand",
"width":"",
"sortable":"false",
"show_in_grid":1,
"renderer":"",
"clickaction":"",
"selectorconfig":"",
"renderoptions":"[]"
}
]
}
seems to work great. This is the result:
Array
(
[MIGX_id] => 1
[address1] => address1
[address2] =>
[city] =>
[state] =>
[zip] =>
[website] =>
[contacts] =>
[computers] => [{"MIGX_id":"1","brand":"brand1","model":"","nickname":"","hostname":"","identifiers":"[{\"MIGX_id\":\"1\",\"identifierType\":\"\",\"identifier\":\"test\"},{\"MIGX_id\":\"2\",\"identifierType\":\"\",\"identifier\":\"identifier2\"}]","physicalLocation":"","ipAddress":"","purchaseDate":"","warrantyThrough":"","jmcServiceNotes":""},{"MIGX_id":"2","brand":"brand2","model":"","nickname":"","hostname":"","identifiers":"[{\"MIGX_id\":\"1\",\"identifierType\":\"identifier3\",\"identifier\":\"\"}]","physicalLocation":"","ipAddress":"","purchaseDate":"","warrantyThrough":"","jmcServiceNotes":""}]
[printers] =>
[networkEquipment] =>
[networks] =>
[serviceNotes] =>
[otherNotes] =>
[_alt] => 0
[_first] => 1
[_last] =>
[idx] => 1
[property.tvname] => jmcOrganizations
)
Array
(
[MIGX_id] => 2
[address1] => address2
[address2] =>
[city] =>
[state] =>
[zip] =>
[website] =>
[contacts] =>
[computers] => [{"MIGX_id":"1","brand":"brand1","model":"","nickname":"","hostname":"","identifiers":"[{\"MIGX_id\":\"1\",\"identifierType\":\"\",\"identifier\":\"test\"},{\"MIGX_id\":\"2\",\"identifierType\":\"\",\"identifier\":\"identifier2\"}]","physicalLocation":"","ipAddress":"","purchaseDate":"","warrantyThrough":"","jmcServiceNotes":""},{"MIGX_id":"2","brand":"brand2","model":"","nickname":"","hostname":"","identifiers":"[{\"MIGX_id\":\"1\",\"identifierType\":\"\",\"identifier\":\"identifier4\"},{\"MIGX_id\":\"2\",\"identifierType\":\"\",\"identifier\":\"identifier5\"}]","physicalLocation":"","ipAddress":"","purchaseDate":"","warrantyThrough":"","jmcServiceNotes":""}]
[printers] =>
[networkEquipment] =>
[networks] =>
[serviceNotes] =>
[otherNotes] =>
[_alt] => 1
[_first] =>
[_last] => 1
[idx] => 2
[property.tvname] => jmcOrganizations
)
I'm using the latest MIGX - version from github. Not sure, if the version can be an issue.