After upgrade from Tridion 5.3 to Tridion 2011 SP1, we found that we are not able to access Flash folder from Tridion GUI. Whenever we click on that folder it throws below error and do not display any content, in fact there are more than 100 flash files in that folder.
(80040000) ' ' is an unexpected token. The expected token is ';'. Line 1, position 50.Unable to get list of SDL Tridion Content Manager items.
System.Xml.XmlTextReaderImpl.Throw(Exception)
System.Xml.XmlTextReaderImpl.Throw(String,String[])
System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(String,String)
System.Xml.XmlTextReaderImpl.ThrowUnexpectedToken(Int32,String,String)
System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean,EntityExpandType,Int32&)
System.Xml.XmlTextReaderImpl.ParseAttributeValueSlow(Int32,Char,NodeData)
System.Xml.XmlTextReaderImpl.ParseAttributes()System.Xml.XmlTextReaderImpl.ParseElement()
System.Xml.XmlTextReaderImpl.ParseElementContent()System.Xml.XmlTextReaderImpl.Read()
System.Xml.XmlLoader.LoadNode(Boolean)System.Xml.XmlLoader.LoadDocSequence(XmlDocument)
System.Xml.XmlLoader.Load(XmlDocument,XmlReader,Boolean)
System.Xml.XmlDocument.Load(XmlReader)
System.Xml.XmlDocument.LoadXml(String)
Tridion.ContentManager.Data.AdoNet.ContentManagement.ItemDataMapper.CreateBinaryContentData(IdentifiableObjectData,FieldDictionary)
Tridion.ContentManager.Data.AdoNet.ContentManagement.ComponentDataMapper.ReadPost(TcmUri,FieldDictionary)
Tridion.ContentManager.Data.AdoNet.IdentifiableObjectDataMapper.Read(TcmUri,IDataRecord,IDictionary`2)
Tridion.ContentManager.Data.AdoNet.ContentManagement.OrganizationalItemDataMapper.GetListItemsPost(IDataReader,TcmUri,OrganizationalItemItemsFilterData)
Tridion.ContentManager.Data.AdoNet.ContentManagement.OrganizationalItemDataMapper.Tridion.ContentManager.Data.ContentManagement.IOrganizationalItemDataMapper.GetListItems(TcmUri,OrganizationalItemItemsFilterData)
Tridion.ContentManager.ContentManagement.OrganizationalItem.GetListItemsData(OrganizationalItemItemsFilter)
Tridion.ContentManager.ContentManagement.OrganizationalItem.GetListItemsStream(OrganizationalItemItemsFilter)
Tridion.ContentManager.BLFacade.ContentManagement.OrganizationalItemFacade.GetListItemsXml(UserContext,String,ListFilter,ListColumnFilter)
Tridion.ContentManager.BLFacade.ContentManagement.OrganizationalItemFacade.GetListData(UserContext,String,EnumListKind,ListColumnFilter,String)Folder.GetListItems
This is a tricky one, probably best served by SDL Customer Support. However, if you have access to the server directly, I would try pasting the URI of the folder in question into Internet Explorer (this must be on the CMS server itself). This should give you the XML representation of the folder, and may give you some clues. Perhaps you can post that XML in your question also.
We encountered this error when we upgraded from SDL Tridion 2009 to SDL Tridion 2011.
The resolution that worked for us was removing the Linked Schema from the Folder, refreshing and then re-attaching the linked schema.
Related
One of my application was upgraded from SiteEdit 1.3 SP2 to SiteEdit 2009.Now i am upgrading it again to Tridion UI 2012. I restored both the DLL's cm_SiteEdit.dll and cc_SiteEdit2.dll.
In code inside the templates,objects "SiteEdit" and "SiteEdit2" are accessibly used.Object "SiteEdit2" is initialized properly and object "SiteEdit" is throwing below error -
Error 424 occurred while rendering the page Object required:
'SiteEdit'.
Is it possible to go with this implementation to save the development efforts ? if yes , please help to resolve the issue. otherwise your valuable suggestions/inputs would be most welcomed.
This error is typically thrown because you haven't registered "SiteEdit" as a Script Extension in the SDL Tridion Content Manager configuration. From your description, I gather that it should point to the 1.3 script extension.
Once you do, be sure to restart the Tridion COM+ package for the change to take effect.
Peter has already answered your question still I would like to recommend not to use old SiteEdit object. You should update the template code as per Tridion UI 2012.
I am running Tridion 2011 SP1 and am getting the following warnings in my cd_core.xxxx.xx.xx.log file.
2012-10-17 12:37:50,298 WARN FSTaxonomyDAO - TaxonomyDAO is set to File System, which is not supported. Check your bindings settings and/or license file.
I have removed the following element from the cd_deployer_conf.xml
<Module Type="TaxonomyDeploy" Class="com.tridion.deployer.modules.TaxonomyDeploy"/>
but I am still getting warnings.
I think this problem is causing many of my multimedia components to fail when publishing. If fixing the cause of these warnings doesn't help then I'll have at least narrowed it down.
edit
I forgot to mention that I am using the File System as the Content Data Store
The storage bindings are in cd_storage_conf.xml. You need to check in storage config and should be storage to db. Also you should not remove from deployer if you are using taxonomy.
Update:
Taxonomy storage to file system bindings is not supported as far as I Know it can be only to DB, it is the same from release 2009 and What you are seeing is the WARNING message that you are using non supported. I am not sure if you can disable this binding.
Also, Metadata stored on the local file system is deprecated as of SDL Tridion 2011 SP1, in favor of storage of metadata in the database. SDL Doc reference link.
We did a upgrade from Tridion 5.3 to Tridion 2011 SP1. While checking the Broker database tables we have found that structure and name of BINARIES table is changed.
In Tridion 5.3 we had table called BINARIES with columns PATH and URL, But when we check the same in Tridion 2011 SP1 we cannot find the BINARIES table, rather we have table BINARY which don't have column PATH and URL. In which table we can find PATH and URL columns. Which table is updated when we publish Binary content from Tridion.
The PATH and URL columns are now in the BINARYVARIANTS table.
But be careful of introducing such dependencies on the database structure. SDL publishes an API for accessing the Content Delivery database and most use-cases can be met by using this API.
One of the main advantages of sticking to this public API is that your code will largely be insulated from upgrade problems as the one you are experiencing here. SDL spends considerable effort to keep the API kept backwards compatibly between product releases, while the database structure is changed "at will".
After adding my existing Tridion 2009 event DLL's (compiled on 2011 server) to bin directory and registering DLL in Content Manager Config file the GUI now returns the error below. I have checked event logs, Tridion logs etc for more details on the 'missing dependency' anyone any ideas?
Could not load file or assembly 'Tridion.Extensions.Events, Version=1.0.20.521,
Culture=neutral, PublicKeyToken=ecb60dbe3cbb7440' or one of its dependencies.
The system cannot find the file specified.
Unable to get LangID of User (tcm:0-2851-65552). Initialization of the extension
'C:\Program Files (x86)\Tridion\bin\Tridion.Extensions.Events.MDO.dll' failed.
System.Reflection.RuntimeAssembly.GetExportedTypes(RuntimeAssembly,ObjectHandleOnStack)
System.Reflection.RuntimeAssembly.GetExportedTypes()
Tridion.ContentManager.Extensibility.TcmExtension.LoadExtensions()
Tridion.ContentManager.Extensibility.TcmExtension.LoadExtensions()
Tridion.ContentManager.Extensibility.TcmExtension.InitializeExtensions()
Tridion.ContentManager.Extensibility.EventSystem.DeliverEvent(IEnumerable`1,TcmEventArgs,EventDeliveryPhase)
Tridion.ContentManager.Extensibility.EventSystem.DeliverEvent(IdentifiableObject,TcmEventArgs,EventDeliveryPhase) Tridion.ContentManager.IdentifiableObject.Load(LoadFlags,Boolean)
Tridion.ContentManager.IdentifiableObject.Load(LoadFlags)
Tridion.ContentManager.BLFacade.IdentifiableObjectFacade.Read(UserContext,String,XMLReadFilter) XMLState.GetPropertyElem XMLState.GetProperty User.LangID
It looks like you have two assemblies: Tridion.Extensions.Events.dll and Tridion.Extensions.Events.MDO.dll. Since you refer to TcmExtension DLLs by their full path in the Tridion.ContentManager.config, you cannot have one that depends on another in the same directory.
The solution is to put the "shared library" (probably Tridion.Extensions.Events.MDO.dll for you) in the GAC.
Fortunately, .NET assemblies contain all the dependency information you need in their metadata. Faced with this problem, I would generally try to open up the assembly with a tool that can read this, for example, ILDASM, or IlSpy. That gives you a concrete list of things to look for, instead of the vague and mysterious "or one of its dependencies".
An alternative approach is to use FUSLOGVW to monitor where the .NET runtime is looking for assemblies.
I am trying to use Alex Klock's solution with regards to querying the publishingqueue to see if in item is already still in it. His post about it is here: http://www.codedweapon.com/2012/03/tridion-publishengine/
I am using Tridion 2009 SP1, but it seems I don't have PublishTransactionsFilter available in my code abse. In the top of my file I did include: using Tridion.Contentmanager.Publishing;
Any exmaple on how to get something similar to work in Tridion 2009? Especially the PublishEngine.GetPublishTransactions method. I can't find a similar method in the 2009 API. Only methods which need a specific TCMUri or XML.
You will need to use the ManagementInfo Class which is documented in the 'Templating and Customization Manual TOM 2009 SP1.chm' help file that comes SDL Tridion 2009.
To quote:
The ManagementInfo object supports the following methods:
GetListPublishQueue Gets a list of items in the publishing queue(s) or
scheduler. GetListPublishTransactions Gets a list of publish
transactions
GetListPublishQueue:
Summary - Gets a list of items in the publishing
queue(s) or scheduler.
These classes and methods are contained in the COM version of the TOM DLL so you will need to use Interop to access this from Microsoft.NET
Yes you found it yourself but indeed just to confirm, the GetPublishTransactions method is specific to SDL Tridion 2011.
The code on the link you provided is using the 2011 API of looking into the queue.