We are planning to migrate to use different CMS (Drupal), what is the best way to take the backup of all publications for future reference?
Can you please recommend the process to migrate content from Tridion to Drupal as well?
Yes, as Nuno mentioned in his comment, Core Service
can be used. And if you ask me, I'll probably use it. Another option, if you plan on just clicking is using Content Porter
.
It can export all items with their references, and you can import them into another Tridion Environment. You can also check the packages it creates. They are self-explanatory with a lot of detailed dependencies. So instead of using core service to export all the data, you can let Content Porter do the work for you, and use these packages as starting point to import into another system.
But Please, Please, do a database backup first.
This is the sample how component content looks when exported using Content Porter:
<PackageItem xmlns:tcm="http://www.tridion.com/ContentManager/5.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.sdltridion.com/ContentManager/ImportExport/Package/2013"> <Data>
<tcm:Data>
<tcm:Title>AIG</tcm:Title>
<tcm:Type>Normal</tcm:Type>
<tcm:Schema xlink:type="simple" xlink:title="Application" xlink:href="/webdav/Master/Building%20Blocks/System/Schemas/System%20Schemas/Application.xsd" IsMandatory="false" />
<tcm:Content>
<Application xmlns="http://doimain/Schemas/Internet/2014/System_Schemas/Application">
<name>aig</name>
<path>/somepath</path>
</Application>
</tcm:Content>
<tcm:Metadata />
<tcm:IsBasedOnTridionWebSchema>true</tcm:IsBasedOnTridionWebSchema>
<tcm:MultimediaType xlink:type="simple" xlink:title="" xlink:href="tcm:0-0-0" />
</tcm:Data> </Data> <Dependencies>
<Dependency dependencyType="Publication" itemUrl="/webdav/Master" linkName="LocationInfo/ContextRepository" />
<Dependency dependencyType="OrganizationalItemFolder" itemUrl="/webdav/Master/Building%20Blocks/Content/Application" linkName="LocationInfo/OrganizationalItem" />
<Dependency dependencyType="Schema" itemUrl="/webdav/Master/Building%20Blocks/System/Schemas/System%20Schemas/Application.xsd" linkName="Schema" /> </Dependencies> </PackageItem>
All the content is in the database. Backup your database, there's your backup.
As for migration, good luck. Blueprinting and content relationships will probably make your life miserable while writing the scripts. CoreService is your friend, I guess.
FYI - And this applies to all migrations. If your content structure is wrong to start with, it will be wrong when you finish as well.