5

More of a housekeeping task this one.

One of our content editors has created a load of image components and after using them in various content components we've realised that he saved them as the Default Multimedia Schema. Not the end of the world, but we prefer to have our image components created using a specific multimedia schema that we created for the purpose. Some of our Schemas allow the Default Multimedia Schema for component items, some don't, and until today the image components in question had only been used in those that do allow it.

It means we either have to recreate all the image components and amend everywhere that they're used or... is it possible to change a component's schema after it has been saved? I'm sure there are probably good reasons for not doing this as it would potentially invalidate Component Presentations, but if I know that what I'm changing them to is ok, is there a way to do it?

3

You can't do this through the CME interface unfortunately.

This used to be possible using the TOM.Net API. I am not sure whether the same functionality is available through the Core Service.

Update: As Rick mentions in his comment below, this is still possible through the Core Service

As these are multimedia items, you could use WebDav to take them out of the Content Manager and then move them into a Folder that specifies the new Schema

| improve this answer | |
  • 1
    It's possible to do through Core Service API, yes. – Rick Pannekoek Feb 11 '15 at 18:55
  • Super - Thanks for clarifying @RickPannekoek – Jonathan Williams Feb 11 '15 at 19:05
  • Excuse my ignorance, but what is the Core Service API? Or by asking that question have I illustrated why I shouldn't be meddling with it? – ThatITBloke Feb 11 '15 at 21:41
  • I managed to achieve what I needed to do by exporting the items, editing the XML files (making sure to change all the references to the Schema in the file) and then importing them back into the CMS. I've only done it to a test component so far, one which isn't used in any other components, but hopefully the principle is sound and will work when I try doing it in bulk tomorrow. Obviously a bit hacky, but needs must! – ThatITBloke Feb 11 '15 at 23:29
  • The Core Service API gives developers the ability to do anything a user can, but by code via a WCF web service. The main concern with changing the items manually would be losing metadata or missing a reference. If editing XML by hand, it's probably not any faster than using WebDAV (or Upload Multimedia in the CME or the drag-and-drop feature in XPM). Be sure to set a default schema on the folder so it doesn't use Default Multimedia during such uploads. Where Used is your friend. ;-) – Alvin Reyes Feb 13 '15 at 10:14
1

You can do this in few ways:

  1. Create tool using Core Service API. You can read component using Core Service, recreate component and save based on different schema. This will require some of the coding, and I suggest you use this approach.
  2. You can maybe use Content Porter. You can export all your MM component, then update export package by modifying xml files (where you change schema etc.), and then import them back to the system. This is sort of a hack, and anything can go wrong.
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.