Due to a bug in the resource update processor, if you show any TVs in the NewsPublisher form, any TVs *not* shown in the form can have their values deleted or changed to the TV's default value. This affects NewsPublisher 1.2.0 and earlier.
I've just released Version 1.2.1-pl, which has a workaround for the bug. If you use TVs in your NewsPublisher forms, please update to the current version.
If you prefer to patch the current file, you can change the code at line 1217 of the core/components/newspublisher.class.php file from this:
1217 if (!empty($this->allTvs)) {
to this:
if (!empty($this->allTvs)) {
if ($this->existing) {
$t_resourceTVs = $this->resource->getMany('TemplateVars');
$t_resourceId = $this->resource->get('id');
foreach ($t_resourceTVs as $t_tv) {
$t_tvId = $t_tv->get('id');
$t_value = $t_tv->getValue($t_resourceId);
$fields['tv' . $t_tvId] = $t_value;
}
unset($t_resourceTVs,$t_resourceId,$t_tvId,$t_value);
}
FYI, Other code that uses the resource update processor to save resources and sends some, but not all, TVs in the call may also run into this bug. This does not affect the creation of new resources, just updating existing ones.