try { $site_name = "ws-tutorial-wing"; $block_name = "test-metadata"; $parent_folder = $cascade->getAsset(a\Folder::TYPE, "blocks", $site_name); $tb = $cascade->getTextBlock($block_name, $site_name); if (is_null($tb)) { $tb = $cascade->createTextBlock($parent_folder, $block_name, "Some text"); } // the current metadata $old_m = $tb->getMetadata(); // set some fields $old_m->setAuthor("Wing")->setStartDate("2016-09-16T00:00:00")->getHostAsset()->edit(); // the new metadata set and new metadata $new_ms = $cascade->getAsset(a\MetadataSet::TYPE, "My Test Metadata Set", $site_name); $new_m = $new_ms->getMetadata(); // map the wired fields p\Metadata::copyWiredFields($old_m, $new_m); // set both metadata set and metadata $tb->setMetadataSet($new_ms)->setMetadata($new_m); // work with the new metadata $m = $tb->getMetadata(); $field_name = "languages"; if ($m->hasDynamicField($field_name)) { $m->setDynamicField($field_name, array("English", "Spanish")); } $tb->edit()->dump(); } catch (\Exception $e) { echo S_PRE . $e . E_PRE; } catch (\Error $er) { echo S_PRE . $er . E_PRE; }