Browse Tree customization

1362
3
06-28-2011 12:06 AM
MaxPodolyako
New Contributor
Hello, guys.
I've created a new profile custom-definition.xml. It contains two custom fields "objects" and "categories":

[HTML]
<parameter key="theme.custom_1" meaning="customObject">
<label resourceKey="catalog.custom.1.objects" />
<input type="selectOneMenu" />
<validation required="false" />
<content useSelectForUpdate="true" deleteIfEmpty="true" select="/rdf:RDF/rdf:Description/prime:object">
<codes>
<code key="custom-1-1" resourceKey="catalog.custom.1.1.NPWestSyberia-PacificOcean"/>
<code key="custom-1-1-1" resourceKey="catalog.custom.1.1.1.Tayshet" />
<code key="custom-1-1-2" resourceKey="catalog.custom.1.1.2.NPS-4" />
<code key="custom-1-1-3" resourceKey="catalog.custom.1.1.3.NPS-8" />
<code key="custom-1-2" resourceKey="catalog.custom.1.2.NPProject-BTS-2" />
<code key="custom-1-2-1" resourceKey="catalog.custom.1.2.1.NPS-Unecha" />
<code key="custom-1-2-2" resourceKey="catalog.custom.1.2.2.NPS-2" />
</codes>
</content>
</parameter>
 
<parameter key="theme.custom_2" meaning="customCategory">
<label resourceKey="catalog.custom.2.data.categories" />
<input type="selectOneMenu" />
<validation required="false" />
<content useSelectForUpdate="true" deleteIfEmpty="true" select="/rdf:RDF/rdf:Description/prime:dataCategory">
<codes>
  <code key="custom-2-1" resourceKey="catalog.custom.2.1.I-Geodez"/>
  <code key="custom-2-2" resourceKey="catalog.custom.2.2.I-Geolog" />
  <code key="custom-2-3" resourceKey="catalog.custom.2.3.I-Ecolog" />
  <code key="custom-2-4" resourceKey="catalog.custom.2.4.I-Gidro-Meteo" />
</codes>
</content>
</parameter>
[/HTML]

Then I've created -indexable.xml
[HTML]
<property meaning="customObject" xpath="/rdf:RDF/rdf:Description/prime:object"></property>
[/HTML]

..and I've added few lines to the property-meanings.xml
[HTML]
<property-meaning name="customObject" valueType="String" comparisonType="keyword">
</property-meaning>
[/HTML]

And in the end I've changed browse-catalog.xml
[HTML]
<tree>
<label>name</label>
<identifier>name</identifier>

<!-- Catalog -->
<item>
  <name resourceKey="catalog.browse.toc.browseCatalog"></name>
  <query>searchText=*:*</query>

  <item>
   <name resourceKey="catalog.custom.1.objects"></name>
   <query>
    customObject=custom-1-1-1,custom-1-1-2,custom-1-1-3
   </query>
   <item>
    <name resourceKey="catalog.custom.1.1.NPWestSyberia-PacificOcean"></name>
    <query>customObject=custom-1-1-1,custom-1-1-2,custom-1-1-3</query>
    <item>
     <name resourceKey="catalog.custom.1.1.1.Tayshet"></name>
     <query>customObject=custom-1-1-1</query>
    </item>
    <item>
     <name resourceKey="catalog.custom.1.1.2.NPS-4"></name>
     <query>customObject=custom-1-1-2</query>
    </item>
    <item>
     <name resourceKey="catalog.custom.1.1.3.NPS-8"></name>
     <query>customObject=custom-1-1-3</query>
    </item>
   </item>
   <item>
    <name resourceKey="catalog.custom.1.2.NPProject-BTS-2"></name>
    <query>customObject=custom-1-2-1,custom-1-2-2</query>
    <item>
     <name resourceKey="catalog.custom.1.2.1.NPS-Unecha"></name>
     <query>customObject=custom-1-2-1</query>
    </item>
    <item>
     <name resourceKey="catalog.custom.1.2.2.NPS-2"></name>
     <query>customObject=custom-1-2-2</query>
    </item>
   </item>
  </item>
</item>
</tree>
[/HTML]

All documents are showed on clicking on any item in catalog. So, there is no filtration by customObject field.
What have I missed?

--
BR, Max
0 Kudos
3 Replies
MaxPodolyako
New Contributor
I tried to search in lucene index for "customObject:custom-1-1-1" and there were some documents found. So, new fields have been indexed successfully. Maybe I use wrong query in browse-catalog?..
0 Kudos
MaxPodolyako
New Contributor
Property-meaning.xml: a dc tag added in the property-meaning tag.
[HTML]
...
<property-meaning name="customObject" valueType="String" comparisonType="keyword">
     <dc name="prime:object" aliases="object,prime:object" />
</property-meaning>
...
[/HTML]

com.esri.gpt.control.georss.RestQueryServlet#parseRequest
        ...
        parser.parseRepositoryId("rid");
        parser.parseResponseFormat("f");
        parser.parseResponseGeometry("geometryType");
        parser.parseResponseStyle("style");
        parser.parseResponseTarget("target");
        parser.parseStartRecord("start", 1);
        parser.parseMaxRecords("max", 10);
        parser.parsePropertyIsEqualTo("uuid", "uuid");
        parser.parsePropertyIsLike("searchText", "anytext");
        parser.parsePropertyList("contentType", "dc:type", ",", true);
        parser.parsePropertyList("customObject", "prime:object", ",", true);
        parser.parsePropertyRange("after", "before", "dct:modified");
        parser.parseSpatialClause("bbox", "spatialRel", "geometry");
        parser.parseSortables("orderBy");
        ...


Now it works.
0 Kudos
AlanHanesana
New Contributor
Thanks for sharing.
0 Kudos