<br />
<b>Deprecated</b>:  YoastSEO_Vendor\Symfony\Component\DependencyInjection\Container::__construct(): Implicitly marking parameter $parameterBag as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/symfony/dependency-injection/Container.php</b> on line <b>60</b><br />
<br />
<b>Deprecated</b>:  YoastSEO_Vendor\League\OAuth2\Client\Provider\AbstractProvider::authorize(): Implicitly marking parameter $redirectHandler as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/league/oauth2-client/src/Provider/AbstractProvider.php</b> on line <b>416</b><br />
<br />
<b>Deprecated</b>:  YoastSEO_Vendor\GuzzleHttp\Client::getConfig(): Implicitly marking parameter $option as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/Client.php</b> on line <b>181</b><br />
<br />
<b>Deprecated</b>:  YoastSEO_Vendor\GuzzleHttp\ClientInterface::getConfig(): Implicitly marking parameter $option as nullable is deprecated, the explicit nullable type must be used instead in <b>/home/nubelus/sharedove/adisjugo/wp-content/plugins/wordpress-seo/vendor_prefixed/guzzlehttp/guzzle/src/ClientInterface.php</b> on line <b>77</b><br />
{"id":47,"date":"2008-03-28T08:56:13","date_gmt":"2008-03-28T07:56:13","guid":{"rendered":"http:\/\/blog.sharedove.com\/sharedoveblog\/?p=47"},"modified":"2008-03-28T08:56:13","modified_gmt":"2008-03-28T07:56:13","slug":"moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists","status":"publish","type":"post","link":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/","title":{"rendered":"MOSS, Sharepoint Object Model and CAML: Recursive search (search in subfolders) in document libraries and lists"},"content":{"rendered":"<p>One of the nice features in SharePoint Object Model is querying lists and document libraries with CAML queries with GetItems method. One of the overloads of this method allows (a part of a) CAML query as parameter SPList.GetItem(SPQuery), meaning everything inside <where>&#8230;<\/where> element &#8211; basically &#8211; you don&#8217;t pass the whole <query>element, just it&#8217;s <where>child.<\/p>\n<p>You&#8217;ll notice that when you execute such a query, all items which would match the criteria, but are placed in the subfolders of the list\/library, are not returned in the resulting SPListItemCollection.<\/p>\n<p>  <!--more-->  <\/p>\n<p>The reason for this is simple: <queryoptions>Element, which can contain <viewattributes>element <viewattributes scope=\"Recursive\" \/>is the same level as <where>element &#8211; it&#8217;s also a direct child of the <query>element. So, because GetItems() method wants to see only <where>element, we can&#8217;t pass the <queryoptions>.<\/p>\n<p>So, would it mean that GetItems() cannot search recursively? No. There is a way around &#8211; and it&#8217;s such a typical SharePoint way around \ud83d\ude42<\/p>\n<p>SPQuery object, which you pass as the parameter to the GetItems() method has a string property &quot;ViewAttributes&quot;. This property contains already some default values and you have to check if one of them is already &quot;Scope&quot;. Means, string parsing. If not, you can just add the following to the ViewAttributes property:<\/p>\n<p>SPQuery.ViewAttributes += &quot; Scope=&quot;Recursive&quot;&quot;;<\/p>\n<p>If the scope attribute is already present in ViewAttributes property, with some other value, you&#8217;ll have to change it to the Recursive. As I said, &quot;ViewAttributes&quot; is just a string so you won&#8217;t get around string parsing.<\/p>\n<p>Happy coding \ud83d\ude42<\/p>\n<div class=\"fb-background-color\">\n\t\t\t  <div \n\t\t\t  \tclass = \"fb-comments\" \n\t\t\t  \tdata-href = \"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/\"\n\t\t\t  \tdata-numposts = \"59\"\n\t\t\t  \tdata-lazy = \"true\"\n\t\t\t\tdata-colorscheme = \"light\"\n\t\t\t\tdata-order-by = \"time\"\n\t\t\t\tdata-mobile=true>\n\t\t\t  <\/div><\/div>\n\t\t  <style>\n\t\t    .fb-background-color {\n\t\t\t\tbackground:  !important;\n\t\t\t}\n\t\t\t.fb_iframe_widget_fluid_desktop iframe {\n\t\t\t    width: 100% !important;\n\t\t\t}\n\t\t  <\/style>\n\t\t  ","protected":false},"excerpt":{"rendered":"<p>One of the nice features in SharePoint Object Model is querying lists and document libraries with CAML queries with GetItems method. One of the overloads of this method allows (a part of a) CAML query as parameter SPList.GetItem(SPQuery), meaning everything inside &#8230; element &#8211; basically &#8211; you don&#8217;t pass the whole element, just it&#8217;s child. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[11],"tags":[25,55],"class_list":["post-47","post","type-post","status-publish","format-standard","hentry","category-development","tag-caml","tag-sharepoint"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MOSS, Sharepoint Object Model and CAML: Recursive search (search in subfolders) in document libraries and lists - Adis Jugo blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MOSS, Sharepoint Object Model and CAML: Recursive search (search in subfolders) in document libraries and lists - Adis Jugo blog\" \/>\n<meta property=\"og:description\" content=\"One of the nice features in SharePoint Object Model is querying lists and document libraries with CAML queries with GetItems method. One of the overloads of this method allows (a part of a) CAML query as parameter SPList.GetItem(SPQuery), meaning everything inside &#8230; element &#8211; basically &#8211; you don&#8217;t pass the whole element, just it&#8217;s child. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/\" \/>\n<meta property=\"og:site_name\" content=\"Adis Jugo blog\" \/>\n<meta property=\"article:published_time\" content=\"2008-03-28T07:56:13+00:00\" \/>\n<meta name=\"author\" content=\"adis.jugo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"adis.jugo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/\",\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/\",\"name\":\"MOSS, Sharepoint Object Model and CAML: Recursive search (search in subfolders) in document libraries and lists - Adis Jugo blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#website\"},\"datePublished\":\"2008-03-28T07:56:13+00:00\",\"author\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.sharedove.com\/adisjugo\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MOSS, Sharepoint Object Model and CAML: Recursive search (search in subfolders) in document libraries and lists\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#website\",\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/\",\"name\":\"Adis Jugo blog\",\"description\":\"The Southern Side\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.sharedove.com\/adisjugo\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c\",\"name\":\"adis.jugo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g\",\"caption\":\"adis.jugo\"},\"url\":\"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/author\/adisjugo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MOSS, Sharepoint Object Model and CAML: Recursive search (search in subfolders) in document libraries and lists - Adis Jugo blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/","og_locale":"en_US","og_type":"article","og_title":"MOSS, Sharepoint Object Model and CAML: Recursive search (search in subfolders) in document libraries and lists - Adis Jugo blog","og_description":"One of the nice features in SharePoint Object Model is querying lists and document libraries with CAML queries with GetItems method. One of the overloads of this method allows (a part of a) CAML query as parameter SPList.GetItem(SPQuery), meaning everything inside &#8230; element &#8211; basically &#8211; you don&#8217;t pass the whole element, just it&#8217;s child. [&hellip;]","og_url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/","og_site_name":"Adis Jugo blog","article_published_time":"2008-03-28T07:56:13+00:00","author":"adis.jugo","twitter_card":"summary_large_image","twitter_misc":{"Written by":"adis.jugo","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/","url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/","name":"MOSS, Sharepoint Object Model and CAML: Recursive search (search in subfolders) in document libraries and lists - Adis Jugo blog","isPartOf":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/#website"},"datePublished":"2008-03-28T07:56:13+00:00","author":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c"},"breadcrumb":{"@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/2008\/03\/28\/moss-sharepoint-object-model-and-caml-recursive-search-search-in-subfolders-in-document-libraries-and-lists\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.sharedove.com\/adisjugo\/"},{"@type":"ListItem","position":2,"name":"MOSS, Sharepoint Object Model and CAML: Recursive search (search in subfolders) in document libraries and lists"}]},{"@type":"WebSite","@id":"https:\/\/blog.sharedove.com\/adisjugo\/#website","url":"https:\/\/blog.sharedove.com\/adisjugo\/","name":"Adis Jugo blog","description":"The Southern Side","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.sharedove.com\/adisjugo\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/a5ca63552094ce9d5a0440f3a1ac9a4c","name":"adis.jugo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.sharedove.com\/adisjugo\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cc5a23cf1bd0b9d8401c9dd65c6c141041ec0c6e37eedbb511779e4a40a198fd?s=96&d=mm&r=g","caption":"adis.jugo"},"url":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/author\/adisjugo\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/posts\/47","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/comments?post=47"}],"version-history":[{"count":0,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/posts\/47\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/media?parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/categories?post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.sharedove.com\/adisjugo\/index.php\/wp-json\/wp\/v2\/tags?post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}