Indexing an external content type is pretty straight forward.
However I find it very troublesome to figure out the specific "crawl state" of a particular item.
Looking at the "Url View" inside SharePoint CA it shows me all my crawled/indexed items. Unfortunately the url part is nowhere near readable. So I have no clue where to look for my specific item in question.
Example:
bdc3://adventureworksdbtest/Default/00000000%2D0000%2D0000%2D0000%2D000000000000/418/AdventureworksDB/420?s_id=i0QMAAA==&s_ce=0408808680g000g10204000g0o20003s
Guid.Empty?
418?
420?
Some encoded id? (it's not BASE64. i0QMAAA== translates to nothing).
The AdventureWorks product table has a productID (int) and a name (string). In my BDC model I mapped the "Title" column to the product's "Name" column for my Product entity. See below...
<Entity Name="Product" Namespace="Rs.Exp.IndexingConnector.BuiltinDbConnector" Version="1.0.0.1">
<Properties>
<Property Name="OriginalName" Type="System.String">[Production].[Product]</Property>
<Property Name="EntitySetName" Type="System.String">[Production].[Product]</Property>
<Property Name="Title" Type="System.String">Name</Property>
</Properties>
<Identifiers>
<Identifier Name="ProductID" TypeName="System.Int32" />
</Identifiers>
<!-- [...] -->
</Entity>
That's working. However it has no influence on the "index url". Any hints? Something I have to live with? How do you debug this?
Update: DisplayUriField sounds like a good thing to look into. Although all I found so far is not what I am looking for. I'm not looking for a way to provide an url myself (where would I link to anyway?!) - I just want the "generated url" to be more meaningful.
Answering my own question in case anyone else is wondering how this works.
The Method(Instance) Property "DisplayUriField" is in fact providing the desired functionality. As a value you can set the name of a TypeDescriptor which is part of your entity schema.
For example if you have a TypeDescriptor like the one below (make sure your SELECT statement returns the column in question)...
<TypeDescriptor Name="Url" TypeName="System.String">
<Properties>
<Property Name="ShowInPicker" Type="System.Boolean">false</Property>
</Properties>
</TypeDescriptor>
...you can use it as a value for your DisplayUriField property:
<MethodInstances>
<MethodInstance Name="GetAllProducts" Type="Finder" ReturnParameterName="GetAllProducts_Returned" Default="true" DefaultDisplayName="Get All Products">
<Properties>
<Property Name="RootFinder" Type="System.String">x</Property>
<Property Name="LastModifiedTimeStampField" Type="System.String">ModifiedDate</Property>
<Property Name="DisplayUriField" Type="System.String">Url</Property>
</Properties>
</MethodInstance>
</MethodInstances>
My Database Table Url column contains urls like this
http://localhost/adventurworks/catalog/1
http://localhost/adventurworks/catalog/316
http://localhost/adventurworks/catalog/317
[...]
Whatever is in your column will be shown in SharePoints Crawl Log ("Url View").
If your column ("Url") is nullable and does not contain any value BDC will use a default name for that specific item.
Of course after all the custom url is pretty damn useless. However it allows me to figure out whether one specific item has been crawled (successfully) or not because I can relate the shown Url to the ProductID - which I cannot with those bdc3:// urls.
Related
We want to create lists in our tenant on developer site. We want do develope it in our developer site and than deploy on client side using package (maybe sppkg).
We tried to create lists in visual studio 2017 using Sharepoint Add-in and in Visual studio code by using SPFX framework, with tutorials based on microsoft spfx documentation link - https://learn.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/provision-sp-assets-from-package.
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Field ID="{060E50AC-E9C1-4D3C-B1F9-DE0BCAC300F6}"
Name="SPFxAmount"
DisplayName="Amount"
Type="Currency"
Decimals="2"
Min="0"
Required="FALSE"
Group="SPFx Columns" />
<Field ID="{943E7530-5E2B-4C02-8259-CCD93A9ECB18}"
Name="SPFxCostCenter"
DisplayName="Cost Center"
Type="Choice"
Required="FALSE"
Group="SPFx Columns">
<CHOICES>
<CHOICE>Administration</CHOICE>
<CHOICE>Information</CHOICE>
<CHOICE>Facilities</CHOICE>
<CHOICE>Operations</CHOICE>
<CHOICE>Sales</CHOICE>
<CHOICE>Marketing</CHOICE>
</CHOICES>
</Field>
<ContentType ID="0x010042D0C1C200A14B6887742B6344675C8B"
Name="Cost Center"
Group="SPFx Content Types"
Description="Sample content types from web part solution">
<FieldRefs>
<FieldRef ID="{060E50AC-E9C1-4D3C-B1F9-DE0BCAC300F6}" />
<FieldRef ID="{943E7530-5E2B-4C02-8259-CCD93A9ECB18}" />
</FieldRefs>
</ContentType>
<ListInstance
CustomSchema="schema.xml"
FeatureId="00bfea71-de22-43b2-a848-c05709900100"
Title="SPFx List"
Description="SPFx List"
TemplateType="100"
Url="Lists/SPFxList">
</ListInstance>
</Elements>
With SPFX we created webpart and in code we created 2 lists in elemnts.xml and schema.xml. Than we had problem with some content type IDs. So our problem is to create list by code. Can anybody give us advice what and how is best option to develope these lists?
Etc this two simple lists
Employee -name,surename
Vacation -employee, numberOfDays
Unfortunately, documentation for the XML is a bit hard-to-find. Here is an overview of what I've learned thus far working with SPFx:
Fields
Let's start by creating some Fields. If you want to create a SharePoint list, Fields would represent the columns of the list. The basic outline of a Field is as follows (note that the #1 through #5 are for reference purposes only, and should not be included in any final code):
<Field
1 ID="{DAFF97CE-C27D-4D27-9863-4422526CC395}"
2 Name="EmployeeName"
3 DisplayName="Name"
4 Description="Column for the employee's first name."
5 Type="Text"
/>
ID: GUID (Globally Unique IDentifier) for the Field. You need to generate one. Use an online generator such as this one - make sure it is uppercase, with hyphens, and with braces (reference). Visual Studio has a generator built-in, if you are using it.
Name: The Internal Name for the Field. This is the name that exists "under the hood". If you interact with the Field programmatically, this is the name you would use.
DisplayName: The Display Name for the Field. This is the name that is shown in SharePoint. It is usually for presentation purposes only.
Description: A text description of the Field. Useful for remembering what a field is for, but not important otherwise.
Type: This is the important one. It defines what kind of column you will create. As you have likely seen when creating columns in the SharePoint web interface, there are a lot of different types, such as "Single line of text", "Date and time", "Person or group", "Calculated", etc. The Type attribute directly maps to these allowed choices.
Types
The hard part is figuring out what the allowed values for Type are. Thankfully, these are documented in the Field element specification. Scroll down to the row for Type.
Examine the documentation for whether there are other required or optional attributes based on the Type you selected. For example, for a Number type, you can have extra attributes Decimals, Min, and Max. Below, we can specify that for Number Of Days, you can only pick a whole number, cannot take less than 1 day off, and cannot take more than 30 days off.
<Field
ID="{B34A7173-5AB7-4ABC-812B-EF8D0386498F}"
Name="NumberOfDays"
DisplayName="Number of Days"
Description="The number of days employee will take off."
Type="Number"
Decimals="0"
Min="1"
Max="30"
/>
List Fields vs. Site Fields
Once you have created the Fields, you have a choice to make: Should these fields be List Columns or Site Columns?
Fields that are entered into a schema.xml will become List Columns; in other words, limited to that List.
Fields that are entered into elements.xml will become Site Columns.
Keep this choice in mind, and keep the Field definitions you created. We will come back to them.
Lists
Now let's create a List Schema. You will not (and should not) have to create this thing from scratch - look at and copy-and-paste the boilerplate below into your solution (again, numbers on the left are for reference purposes only):
<List xmlns:ows="Microsoft SharePoint"
1 BaseType="0"
Direction="$Resources:Direction;"
xmlns="http://schemas.microsoft.com/sharepoint/">
<MetaData>
<ContentTypes />
2 <Fields></Fields>
<Views>
<View BaseViewID="1"
Type="HTML"
WebPartZoneID="Main"
DisplayName="$Resources:core,objectiv_schema_mwsidcamlidC24;"
DefaultView="TRUE"
MobileView="TRUE"
MobileDefaultView="TRUE"
SetupPath="pages\viewpage.aspx"
ImageUrl="/_layouts/images/dlicon.png"
Url="AllItems.aspx">
<XslLink Default="TRUE">main.xsl</XslLink>
<JSLink>clienttemplates.js</JSLink>
<RowLimit Paged="TRUE">30</RowLimit>
<Toolbar Type="Standard" />
3 <ViewFields>
<FieldRef Name="<FIELD_1>" />
<FieldRef Name="<FIELD_2>" />
<FieldRef Name="<FIELD_3>" />
</ViewFields>
<Query>
<OrderBy>
<FieldRef Name="ID" />
</OrderBy>
</Query>
</View>
</Views>
<Forms>
<Form Type="DisplayForm"
Url="DispForm.aspx"
SetupPath="pages\form.aspx"
WebPartZoneID="Main" />
<Form Type="EditForm"
Url="EditForm.aspx"
SetupPath="pages\form.aspx"
WebPartZoneID="Main" />
<Form Type="NewForm"
Url="NewForm.aspx"
SetupPath="pages\form.aspx"
WebPartZoneID="Main" />
</Forms>
</MetaData>
</List>
BaseType: This represents the type of list you want to create. See this documentation for the allowed values. Generic List (the type you would create if you clicked "Add Custom List" or "Create List" in the SharePoint web interface) would be 0, and is probably most common. Another common option is Document Library, which would be 1.
Fields: If you have chosen to create your Fields as List Columns, this is where you would paste your Field definitions. Field definitions added here will be automatically created in the list, when the list is created. (If you want Site Columns, leave the Fields as-is, and save your Field definitions for later.)
<!-- ... -->
<ContentTypes />
<Fields>
<Field
ID="{DAFF97CE-C27D-4D27-9863-4422526CC395}"
Name="EmployeeName"
DisplayName="Name"
Description="Column for the employee's first name."
Type="Text"
/>
<Field
ID="{AA4D083E-1B32-4AF5-B572-DA06B3996A94}"
Name="EmployeeSurname"
DisplayName="Surname"
Description="Column for the employee's surname."
Type="Text"
/>
</Fields>
<Views>
<!-- ... -->
ViewFields: ViewFields define the columns that will be visible in the View in which it is associated. (Playing around with Views is a more advanced topic for another post.) For now, ensure that you have a FieldRef for each Field that you add to your list. Make sure to specify the Internal Name of each Field. (Always do this, regardless of whether you want List Columns or Site Columns.)
<!-- ... -->
<Toolbar Type="Standard" />
<ViewFields>
<FieldRef Name="EmployeeName" />
<FieldRef Name="EmployeeSurname" />
</ViewFields>
<Query>
<!-- ... -->
Now you have a List Schema which defines everything you need to know about a List.
Note: If you want multiple different lists, you must create multiple List Schema files. Just copy-and-paste the boilerplate schema, and add modifications in the same way as above.
Elements
Finally let's tie everything together. elements.xml is where you tell SPFx every item you want provisioned.
To create a list, you need a ListInstance element. Here is the documentation. Below is an example of an elements.xml file (once again, the numbers on the left are for reference only):
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<ListInstance
1 CustomSchema="schema-employees.xml"
2 Description="List for employee name and surname."
3 FeatureId="00bfea71-de22-43b2-a848-c05709900100"
4 TemplateType="100"
5 Title="Employee Names"
6 Url="Lists/EmployeeNames"
/>
</Elements>
CustomSchema: Name of the List Schema file that we worked on earlier. In this case I have called it schema-employees.xml - you can name it whatever you like, just make sure the names match.
Description: A text description of the list. Not too important.
FeatureId: Recall that earlier in the List Schema we decided that we were making a Custom List with BaseType="0". A Custom List has a corresponding Feature ID, which must match the type of List created. See here for a list of feature IDs. Find the Feature Name for CustomList to double-check that the Feature IDs are the same. If you were provisioning another kind of list, such as a Document Library, you would have to come here to find the corresponding FeatureId.
Template Type: This is another part that must match the type of List created. See here for a list of template types. In this case, see that GenericList maps to a TemplateType of 100. A Document Library would be 101, etc.
Title: Visible title of the list, which will be shown in the Site Contents of a site. Not too important.
Url: This dictates the web URL where you will find this list. Usually, as you may have noticed while creating lists using the SharePoint web interface, Custom Lists are placed under /sites/YOUR_SITE/Lists/. The example above follows this convention, but you can set the URL to other values as well.
That's all for the ListInstance. Additionally, if you had decided to implement your Fields as Site Columns, elements.xml is where you would paste the Field definitions. Just make sure you paste the Fields before the ListInstance, because otherwise SharePoint will not know what Fields you are referring to (they would not have been created yet!).
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Field
ID="{DAFF97CE-C27D-4D27-9863-4422526CC395}"
Name="EmployeeName"
DisplayName="Name"
Description="Column for the employee's first name."
Type="Text"
/>
<Field
ID="{AA4D083E-1B32-4AF5-B572-DA06B3996A94}"
Name="EmployeeSurname"
DisplayName="Surname"
Description="Column for the employee's surname."
Type="Text"
/>
<ListInstance
CustomSchema="schema-employees.xml"
Description="List for employee name and surname."
FeatureId="00bfea71-de22-43b2-a848-c05709900100"
TemplateType="100"
Title="Employee Names"
Url="Lists/EmployeeNames"
/>
</Elements>
Having specified the elements.xml, we have successfully created an XML definition for the Lists we want to create!
A Final Note
Don't forget that in order for SPFx to know about the schema-employees.xml and elements.xml, you must include them as part of a Feature definition in the package-solution.json. This is addressed in the tutorial linked in the original question, but I wanted to make note of it anyway.
thank you a lot for perfect info, it's what we are looking for!
You recommend copy and paste list definition i VS (or other IDE). I would to ask you is there some way to design lists with person, lookup, compute and another "advanced" columns and download XML schema definition to copy and paste into VS because I need on the end package solution to sppkg? It's because I find this way to much faster than code all in VS.
Thank you.
I am customizing the cscockpit for a module Order Search. Presently it shows three fields in the Order Search Result list. This setting is configured in a CockpitGroup.xml file named Order_OrderSearchResult_CockpitGroup.xml (Location: hybris\bin\ext-channel\cscockpit\resources\cscockpit\import\config)
My customized project is at location: hybris\bin\custom
How should I make a custom file of existing CockpitGroup.xml to include my new field?
The contents of Order_OrderSearchResult_CockpitGroup.xml are as below:
<?xml version="1.0" encoding="UTF-8"?>
<list-view unassigned-group-name="Other">
<group name="General">
<property qualifier="Order.creationtime" visible="true"/>
<property qualifier="Order.code" visible="true"/>
<property qualifier="Order.salesApplication" visible="true"/>
</group>
</list-view>
I want to add a new field Order.downloadDate.
I'm assuming you are not asking how to add <property qualifier="Order.downloadDate" visible="true"/> to that xml, and are asking instead how to configure the use of your customised file.
Look at the examples in "projectdata_cscockpit_ui_components.impex" delivered with the yacceleratorcockpits template. This will form part of your Accelerator project after modulegen.
I have two (related) questions:
I am having a puzzling problem with the Advanced Find function. I set up the fields I require, both in the criteria and display section and then hit 'Download Fetchxml'. What I end up with is fields that I never asked for. For example, in my advanced find I asked for All Activities. I changed the results to show me only the Date Created, Activity Type, Subject and Regarding fields. The (truncated) generated fetchXML looks like this:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="false">
<entity name="activitypointer">
<attribute name="activitytypecode" />
<attribute name="subject" />
<attribute name="activityid" />
<attribute name="instancetypecode" />
<attribute name="community" />
<attribute name="createdon" />
<attribute name="regardingobjectid" />
<order attribute="subject" descending="false" />
Why have those extra columns been included? I didn't ask for the 'community' attribute anywhere, for example.
Second question:
What determines the output order of the fields? I ran the above fetchXML through Fetch Tester 3000 (saved my life - thank you!) and the output table bears no relation to the order of the attributes in the xml. This is true also when I use the fetchXML elsewhere.
Thanks in advance for your comments
The FetchXML returned by the button Download Fetch XML is generated internally and in some scenarios it returns extra columns (as you found), for example the primary key field of the entity is always added.
If you remove the additional attributes the FetchXML is still valid and can be executed.
Regarding the order, the tool you used (Fetch Tester 3000) display the fields inside the Table View ordered by their logicalname, inside Dynamics CRM the order of the attributes (subgrids and advanced find results) is defined using another XML definition known as LayoutXML
I have gone through other post of rendering the view using spring3.2.5 & tiles3
in my context-servlet.xml
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass">
<value>
org.springframework.web.servlet.view.tiles3.TilesView
</value>
</property>
In my tiles-servlet.xml
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles/common/tiles.xml</value>
<value>/WEB-INF/tiles/common/base_tiles.xml</value>
<value>/WEB-INF/tiles/common/person_tiles.xml</value>
</list>
</property>
</bean>
In person_tiles.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN"
"http://tiles.apache.org/dtds/tiles-config_3_0.dtd">
<tiles-definitions>
<definition name="new_person" extends="base.definition">
<put-attribute name="body" value="/WEB-INF/xx/xxx/web_person.jsp" />
</definition>
</tiles-defnitions>
It throws below error
javax.servlet.ServletException: Could not resolve view with name 'new_person' in servlet with name 'project'
please help me to solve the issue.
Related issue discussing this "behavior" is SPR-11491 and is specific to Tiles v3.
It comes from SpringWildcardServletTilesApplicationContext.getResources(String) -> URLApplicationResource(String, URL) constructor -> super PostfixedApplicationResource(String localePath) constructor. When there is an underscore in definition filenames, the string after the last underscore is identified as the locale.
The Tiles section of Spring 4.0.3 reference documentation has been updated in order to make this behavior more explicit, and there are ongoing discussion with Tiles development team to get this fixed by checking the locale against Locale.getISOLanguageCodes() in order to get a less surprising default behavior.
After lot of digging I found that tiles is not loading the resources properly.
Here i am not sure whether it is a bug (spring 3.2.5 & tiles 3.0.1) or not:
But I solved this issue by following
here in my tiles-servlet.xml
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles/common/tiles.xml</value>
<value>/WEB-INF/tiles/common/baseTiles.xml</value><!-- Change the base_tiles to baseTiles.xml or base.xml -->
<value>/WEB-INF/tiles/common/personTiles.xml</value><!-- Change the person_tiles.xml to personTiles.xml or person.xml-->
</list>
</property>
</bean>
Here when we have the definitions value as separated with underscore (ex: person_tiles or base_tiles) it is not loading the resource.However tiles.xml the tiles-definitions are accessible.
But I tried with tiles 2.2 & spring 3.2.5 it works correctly. Even though we give as person_tiles or base_tiles.xml.
In tiles-servlet.xml
Change the base_tiles & person_tiles to baseTiles & personTiles, and changed the file names accordingly.
OR
Change the base_tiles & person_tiles to base & person, and changed the file names accordingly.
I hope somebody can find it as useful.
I am trying to use a Content Query Web Part to create a "What's New" page in Sharepoint 2010. The goal of this page is to display any documents that have been uploaded in the last 14 days. The trick is that these documents could belong to any number of lists that are defined in any number of list definitions. These are custom list definitions based on custom content types. We do have a base content type that each of our custom content types inherit from. They are also all part of the same content type group. I have determined that it is not possible to use the SP UI to set up the CQWP to return items from multiple list types, since one of the required query fields is list type. So - I'm attempting to use CAML to define this CQWP and this is where I'm having trouble. My end goal is for the CAML to be defined in a site definition (onet.xml file) but I've also not had any luck with uploading a .webpart file from the SP UI. I have found several articles that explain how this should be done but haven't been able to get the suggested solutions to work. This MSDN article tells me it should be possible using the ListsOverride element. This is how the article tells me to do it:
<![CDATA[
<Lists BaseType="0">
</Lists> ]]>
Since I'm looking for Document Libraries I would use a base type of 1 rather than 0.
I have been unable to determine the syntax for what that would actually look like from within the onet.xml file so I thought I'd start with trying to get it uploaded as a .webpart file.
This is what the ListsOverride element looks like:
<property name="ListsOverride" type="string">
<![CDATA[<Lists BaseType="1"></Lists>]]>
</property>
However - as soon as I upload a .webpart file with this in the CAML and add the webpart to a page I break that page in Sharepoint. This is what I get:
Server Error in '/' Application.
Attempted to use an object that has ceased to exist.
Research on that error points me to code that disposes of an object such as SPContext.Current.Web but I don't even have any code at all here. It almost looks like the CQWP has a bug in it. OR - I'm either not formatting that CAML properly or maybe I need to change something in a different element in the CAML?
I am running Sharepoint 2010 SP1 with all the latest patches. (I believe)
I've tried several other formats but without luck.
I tried getting rid of the embedded CDATA tags like this:
<property name="ListsOverride" type="string">
<Lists BaseType="1"></Lists>
</property>
But then Sharepoint won't let me upload the .webpart file. (Invalid .webpart file)
The format with the embedded CDATA tags seems to be the only way it lets me upload the file.
I've tried (just for the sake of narrowing down my issue) to specify specific lists like this:
<property name="ListsOverride" type="string">
<![CDATA[<Lists><List Id="{5a2f79bb-cc82-4171-88ac-65f20e7b5fa8}" /></Lists>]]>
That doesn't break the page but the webpart gives me less than useful error on the page (Unable to display this Web Part)
I'm not 100% sure that I used the appropriate GUID in that attempt. I got it from looking in the server explorer in Visual Studio (Under Lists and Libraries >> Document Libraries >> My List Type. (I got the GUID from the Id property)
I should mention that I am fairly new with Sharepoint development. I would have hoped that something seemingly so core to what Sharepoint does would be much easier than this.
Can someone please point out what I am doing wrong? Maybe I'm going about the whole thing in the wrong way? I appreciate any help that anyone can give me!
I found that the issue was all the "extra" fields that SharePoint had populated.
In my case, I started by configuring the content query web part on the page and then exporting it to get the xml. Then, I put the XML in my onet.xml file of my site definition. That worked fine initially, but as I tried to configure the base types, it did not behave as expected.
If I removed all the additional fields and just used the few fields that I actually needed to configure, then it started to work. In fact, I didn't even need to use the ListsOverride element, since there is a BaseType property that works just fine. It appears that one of the other properties that I was pulling in was really the cause of my issues.
Here's a webpart definition that I used in my onet.xml:
<AllUsersWebPart WebPartZoneID="WebPartZone" WebPartOrder="1">
<![CDATA[
<webParts>
<webPart xmlns="http://schemas.microsoft.com/WebPart/v3">
<metaData>
<type name="Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart, Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
<importErrorMessage>Cannot import this Web Part.</importErrorMessage>
</metaData>
<data>
<properties>
<property name="Title" type="string">Recently Updated Documents</property>
<property name="ChromeType" type="chrometype">TitleOnly</property>
<property name="ChromeState" type="chromestate">Normal</property>
<property name="WebUrl" type="string">~site</property>
<property name="BaseType" type="string">1</property>
<property name="ContentTypeBeginsWithId" type="string">0x0101008B0856395DCD40F99C9B42B6BF92BDDB</property>
<property name="FilterField1" type="string">{28cf69c5-fa48-462a-b5cd-27b6f9d2bd5f}</property>
<property name="FilterType1" type="string">DateTime</property>
<property name="FilterOperator1" type="Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart+FilterFieldQueryOperator, Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c">Geq</property>
<property name="FilterDisplayValue1" type="string">-14</property>
<property name="FilterValue1" type="string">-14</property>
<property name="SortBy" type="string">{8c06beca-0777-48f7-91c7-6da68bc07b69}</property>
<property name="SortByFieldType" type="string">DateTime</property>
<property name="SortByDirection" type="Microsoft.SharePoint.Publishing.WebControls.ContentByQueryWebPart+SortDirection, Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c">Desc</property>
<property name="ItemXslLink" type="string">~sitecollection/Style Library/DealerPortal/ItemStyle.xsl</property>
<property name="CommonViewFields" type="string">Name,Text;Created,DateTime;Modified,DateTime;Body,Note;DocumentIconImageUrl;OnClickForWebRendering</property>
</properties>
</data>
</webPart>
</webParts>
]]>
</AllUsersWebPart>