{"id":598,"date":"2011-11-28T10:30:15","date_gmt":"2011-11-28T14:30:15","guid":{"rendered":"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/?p=598"},"modified":"2011-11-28T10:30:15","modified_gmt":"2011-11-28T14:30:15","slug":"file-system-abstraction-in-dotnetnuke","status":"publish","type":"post","link":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/2011\/11\/28\/file-system-abstraction-in-dotnetnuke\/","title":{"rendered":"File System Abstraction in DotNetNuke"},"content":{"rendered":"<p>The slides for my recent presentation (on file system abstraction) at DotNetNuke World 2011 are <a href=\"http:\/\/blogs.law.harvard.edu\/brandonhaynes\/files\/2011\/11\/File-System-Abstraction-and-Folder-Providers-in-DotNetNuke.pdf\">located here<\/a>. \u00a0Note that there are several changes here that are not realized in the slides available through the <a href=\"http:\/\/dotnetnukeworld.dotnetnuke.com\/\">conference site<\/a>, though these are primarily pedagogical\u00a0in nature.<\/p>\n<p>I will be releasing the source for the <a href=\"http:\/\/dnnsymboliclinks.codeplex.com\/\">cross-portal symbolic link folder provider<\/a> later this week. \u00a0Note that, for URIs that are processed via the link-click handler, this provider relies upon a <a href=\"http:\/\/support.dotnetnuke.com\/issue\/ViewIssue.aspx?id=18376&amp;PROJID=2\">yet-unreleased fix in 6.1.2<\/a>. \u00a0For ordinary direct-access URIs the provider functions as expected.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The slides for my recent presentation (on file system abstraction) at DotNetNuke World 2011 are located here. \u00a0Note that there are several changes here that are not realized in the slides available through the conference site, though these are primarily pedagogical\u00a0in nature. I will be releasing the source for the cross-portal symbolic link folder provider [&hellip;]<\/p>\n","protected":false},"author":1933,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[142],"tags":[],"class_list":["post-598","post","type-post","status-publish","format-standard","hentry","category-technology"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts\/598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/users\/1933"}],"replies":[{"embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/comments?post=598"}],"version-history":[{"count":4,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts\/598\/revisions"}],"predecessor-version":[{"id":603,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/posts\/598\/revisions\/603"}],"wp:attachment":[{"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/media?parent=598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/categories?post=598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/archive.blogs.harvard.edu\/brandonhaynes\/wp-json\/wp\/v2\/tags?post=598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}