4

I am trying to import SDL Tridion Reference Implementation using Import.ps1 power-shell script but getting below error because of that reference publication unable to create.

I tried with importing all-publications.zip package using content porter directly as well but still getting same error.

Problem importing file all-publications.zip Import process 'ed003da3312c4b65b6b2d8881b8d195c' is started by 'domain\user'. Import started at 1/27/2015 9:20:09 PM. Building list of items to import and determining required import actions. Unzipping and initializing package for import. Import of system administration items started at 1/27/2015 9:20:13 PM. Import items into publication '000 Empty' started at 1/27/2015 9:20:13 PM. Import items into publication '100 Master' started at 1/27/2015 9:20:38 PM. Tridion.ContentManager.FilterException: The Filter condition 'ForRepository' is invalid. The item tcm:0-68-1 does not exist.

2 Answers 2

8

In the offical documentation under known issues (login not required anymore ;o), it states the following:

Problem: Import fails with following error when importing on a system with ECL installed: Error: Tridion.ContentManager.FilterException: The Filter condition 'ForRepository' is invalid. The item tcm:0-3-1 does not exist.

Solution: Disable the ECL event handler before the import, and re-enable again after the import:

  1. Open the %TRIDION_HOME%\config\Tridion.ContentManager.config in a text editor.
  2. Locate the <configuration><extensions> node.
  3. Comment out the following line using <!-- and -->:

    <!--
    <add assemblyFileName="C:\Program Files(x86)\Tridion\bin\Tridion.ExternalContentLibrary.TcmExtension.dll"/>
    -->
    
  4. Save Tridion.ContentManager.config.

  5. Restart all your Tridion Content Manager services.
  6. Retry the import.
  7. After import, re-enable the ECL event handler again by removing the XML comment tags and restart your Tridion Content Manager services again.

So my first guess would be that you indeed have a CMS with ECL installed, and thus the ECL event handler enabled, which has an impact on transactional imports. The solution as described, temporarily disables the ECL event handler, so that the transactional import can be done, and then you can re-enable the ECL event handler again.

It could however also be another event handler which is in the way, so if you don't have an ECL eent handler enabled and you stil get this same error during import, please update your question with which event handlers you do have enabled. Then we can perhaps figure out which one of those is in the way, and possibly report them to Customer Support and have the documentation of the Reference Implementation updated too.

5
  • Thanks Bart for the solution you pointed, after disabling the ECL RI packages has been imported successfully. While executing the last package i.e. right-permissions I am getting warning for items skipping i.e.WARNING: Skipped, /webdav/100%20Master/Content%20Type does not exist. WARNING: Skipped, /webdav/100%20Master/List%20Sort%20Type does not exist. WARNING: Skipped, /webdav/100%20Master/Navigation%20Type does not exist. Setting None for Site Manager in /webdav/100%20Master/Social%20Networks ... WARNING: Skipped, /webdav/100%20Master/Social%20Networks does not exist.Not sure what could be i Commented Jan 28, 2015 at 10:32
  • It sounds like your categories were not imported - which would be a big problem, as this probably means a lot of dependent stuff was not imported - were there no errors when doing the import?
    – Will Price
    Commented Jan 28, 2015 at 10:54
  • @VivekKwatra Sounds like you either didn't import all-publications.zip or it still didn't go correctly. You should have the Categories Navigation Type and Social Networks in the 100 Master Publication, if you don't perhaps delete those Publications and try the import again? Commented Jan 28, 2015 at 11:03
  • I can see 5 categories were also been imported at 100 Master "Content Classification", Content Type, List Sort Type, Navigation Type, Social Networks and its keywords as well. So I am not sure why these warnings coming up. Addition to this these are just few warnings I showed it earlier whereas these type of warning is appeared to all the CMS items even though those were exist. Commented Jan 28, 2015 at 11:12
  • @VivekKwatra if you see the Categories, then the warnings are a bit strange... You can always try the permissions script again, if it still gives you warnings about non existant locations, it seems the Core Service client might not have sufficient rights... Commented Jan 28, 2015 at 11:35
2

I created a PowerShell script so that the STRI installation can be automated. Here is the code snippet to fix the External Content Library Conflict

# ExternalContentLibrary Conflict with Importer script
#=====================================================
# Comment out the <add assemblyFileName="C:\Program Files (x86)\Tridion\bin\Tridion.ExternalContentLibrary.TcmExtension.dll" />
$cmconf = "C:\Program Files (x86)\Tridion\config\Tridion.ContentManager.config"
[xml]$ContentManagerConf = Get-Content $cmconf
$node = $ContentManagerConf.SelectSingleNode("//add[contains(@assemblyFileName,'Tridion.ExternalContentLibrary.TcmExtension.dll')]")
$commentednode = $ContentManagerConf.CreateComment($node.OuterXml)
$node.ParentNode.ReplaceChild($commentednode, $node)
Format-XML $ContentManagerConf | out-file -Encoding utf8 -filepath $cmconf

# And Finally Install Tridion reference Implementation
#=====================================================

#Import All-Publications
&  '\\devman01\z$\Software\SDL\SDL Tridion Reference Implementation\import\import.ps1' -importType all-publications -cmsUrl "http://localhost:80/"

# Import User rights
&  '\\devman01\z$\Software\SDL\SDL Tridion Reference Implementation\import\import.ps1' -importType rights-permissions -cmsUrl "http://localhost:80/"

# ExternalContentLibrary Conflict with Importer script
# ===================================================
#Uncomment <!--<add assemblyFileName="C:\Program Files (x86)\Tridion\bin\Tridion.ExternalContentLibrary.TcmExtension.dll" />-->
$cmconf = "C:\Program Files (x86)\Tridion\config\Tridion.ContentManager.config"
[xml]$ContentManagerConf = Get-Content $cmconf

$oldnode = $ContentManagerConf.SelectSingleNode("//comment()[contains(.,'Tridion.ExternalContentLibrary.TcmExtension.dll')]")
$newnode = New-Object System.Xml.XmlDocument
$newnode.LoadXml($oldnode.InnerText)
$inode = $ContentManagerConf.ImportNode($newnode.FirstChild,$true)
$oldnode.ParentNode.ReplaceChild($inode, $oldnode)   
Format-XML $ContentManagerConf | out-file -Encoding utf8 -filepath $cmconf

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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