def create_composite_content_view(entity_type, org_id, cv_label, cv_description, cvs)
return nil if cvs.empty?
if cvs.size == 1
return cvs.to_a[0]
else
cv_versions = []
cvs.each do |cv_id|
cvvs = list_server_entities(:content_view_versions, {:content_view_id => cv_id})
cvvs.each do |c|
cv_versions << c['id']
end
end
cv = lookup_entity_in_cache(entity_type, 'label' => cv_label)
if cv
info " Content view #{cv_label} already created, reusing."
else
cv = create_entity(
entity_type,
{
:organization_id => org_id,
:name => cv_label,
:label => cv_label,
:composite => true,
:description => cv_description,
:component_ids => cv_versions
},
cv_label)
info " Publishing content view: #{cv['id']}"
publish_content_view(cv['id'], entity_type)
end
return cv['id']
end
end