I'm upgrading an existing 2010 Custom Field Type to work with 2013. Where possible I'm attempting to re-use code from the 2010 version, to avoid duplicate work.
The main problem I'm coming across appears to be a couple of either misunderstandings or bugs with the List View rendering in 2013:
The existing XSL stylesheet (from 2010) appears to be entirely ignored (both header and Text_body modes). When I manually move it from the 14 folder to 15 it's processed (I know this because an error is thrown if it's invalid), but still not used.
I've attempted to use this with both CAMLRendering set to TRUE and FALSE.
When using CAMLRendering TRUE, the DisplayPattern for the body is used in most instances, but appears to be ignored when viewing anything after the first page.
I've confirmed this by viewing the inplview.aspx calls: On the first page the response array contains the CAML-output values as expected, but on the second they're empty strings.
- The actual field's data is empty, as the values are generated b the CAML/XSL.
- The CFT is an actual working product on both 2007 and 2010, using CAML and XSL respectively.
- Using SPField.JSLink isn't currently an option, due to internal constraints.
Are there any workarounds to these problems? Are these known issues/bugs?
The CAML issue with paging appears to be related to the SPField.JSLink being defined:
When it is defined, the CAML output is correct (but HTML encoded by default, e.g. '<' becomes '<').
When it isn't defined, only the first page receives the CAML output (unencoded).
- Edited by Stuart Pegg Thursday, December 13, 2012 5:17 PM
Given the lack of response, I'm guessing this is a case of the Custom Field Type rendering not being backwards compatible again. :/ Oh well.