{"id":152,"date":"2011-08-02T10:26:44","date_gmt":"2011-08-02T10:26:44","guid":{"rendered":"http:\/\/vyapin.com\/blogs\/index.php\/2011\/08\/02\/dockit-rename-folders-files-using-metadata-column-values\/"},"modified":"2021-05-28T11:52:23","modified_gmt":"2021-05-28T11:52:23","slug":"dockit-rename-folders-files-using-metadata-column-values","status":"publish","type":"post","link":"https:\/\/www.vyapinsoftware.com\/blog\/dockit-rename-folders-files-using-metadata-column-values","title":{"rendered":"DocKIT: Rename folders\/files based on patterns using renaming rules"},"content":{"rendered":"<p>In continuation with the previous blog post that deals with the <a href=\"https:\/\/www.vyapinsoftware.com\/blog\/dockit-rename-foldersfiles-based-on-patterns-using-renaming-rules-2\"><strong>folder and file rename options<\/strong><\/a>, here we discuss how to deal with renaming of folders\/files that contain illegal characters.<\/p>\n<p>As said earlier, folders and files residing in legacy systems will have having special characters that are invalid (disallowed) in SharePoint. DocKIT facilitates this renaming by providing folder and file naming rules while <a href=\"https:\/\/www.vyapinsoftware.com\/products\/sharepoint-migration\/dockit\/sharepoint-migration-tools\"><strong>migrating into SharePoint<\/strong><\/a>.<\/p>\n<p>Certain users might also need migration of different versions of a file with their version named with certain patterns. DocKIT also supports this file version history creation seamlessly.<\/p>\n<h3>Rename folders &amp; files using naming rules<\/h3>\n<p>This option is intended \/recommended for renaming folders &amp; files that have characters not accepted in SharePoint as part of their names.<\/p>\n<p>SharePoint disallows certain invalid characters in the folder and file names. In order to overcome this behavior, you need to replace certain characters that appear in Windows folder &amp; file names and are invalid folder \/ file characters in SharePoint libraries, with valid characters (all characters except ~ # % &amp; { } * | : &lt; &gt; \/ ?) in SharePoint.<\/p>\n<p>For this, you can use the &#8220;Folder &amp; File Renaming Rules&#8221; feature in DocKIT. This <a href=\"https:\/\/www.vyapinsoftware.com\/products\/sharepoint-migration\/dockit\/features\"><strong>feature in DocKIT<\/strong><\/a> uses &#8216;Regular Expressions&#8217; technique that is widely used in software applications where character pattern matching is crucial.<\/p>\n<p>Consider the following cases:<\/p>\n<h4>Example 1: Order of entries when constructing renaming rules<\/h4>\n<p>The Folder and File Renaming rule in DocKIT requires the rule entries to be correctly placed for successful and meaningful replacement of invalid characters. The order of the entries (sequence) is important depending on the name of the files and folders. For example, if you want dot and double underscore OR triple dots to be treated as a single entity, then a rule entry with this value has to be given first. After this, you should provide dot and single underscore OR double dots value as entry.<\/p>\n<p><strong><em>Example:<\/em><\/strong><\/p>\n<table border=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td width=\"23%\"><strong>Invalid File Name<\/strong><\/td>\n<td width=\"22%\"><strong>Valid File Name<\/strong><\/td>\n<td width=\"55%\"><strong>Description of the Renaming requirement<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"23%\">Sa&#8230;ple File 1.doc<\/td>\n<td width=\"22%\">Sample File 1,doc<\/td>\n<td width=\"55%\">Replace 3 dots with &#8216;m&#8217;<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#e6eed5\" width=\"23%\">Sam..le File2.doc<\/td>\n<td bgcolor=\"#e6eed5\" width=\"22%\">Sample File2.doc<\/td>\n<td bgcolor=\"#e6eed5\" width=\"55%\">Replace 2 dots with &#8216;p&#8217;<\/td>\n<\/tr>\n<tr>\n<td width=\"23%\">_ample File3.doc<\/td>\n<td width=\"22%\">Sample File3.doc<\/td>\n<td width=\"55%\">Replace_ with &#8216;S&#8217;<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#e6eed5\" width=\"23%\">.Feb Report.xlsx<\/td>\n<td bgcolor=\"#e6eed5\" width=\"22%\">Feb Reprt.xlsx<\/td>\n<td bgcolor=\"#e6eed5\" width=\"55%\">Remove dot if the file name <strong> starts<\/strong> with . (dot)<\/td>\n<\/tr>\n<tr>\n<td width=\"23%\">Jan Report.xls<\/td>\n<td width=\"22%\">Jan Report.xls<\/td>\n<td rowspan=\"2\" width=\"55%\">Remove dot if the file name <strong>ends <\/strong>with . (dot)Replace two consecutive dots with one<\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" width=\"45%\"><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#e6eed5\" width=\"23%\">._March Report.pdf<\/td>\n<td bgcolor=\"#e6eed5\" width=\"22%\">March Report.pdf<\/td>\n<td bgcolor=\"#e6eed5\" width=\"55%\">Replace ._ with empty<\/td>\n<\/tr>\n<tr>\n<td width=\"23%\">.__ April Report.txt<\/td>\n<td width=\"22%\">April Report.txt<\/td>\n<td width=\"55%\">Replace .__ ( dot, two underscores) with empty<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#e6eed5\" width=\"23%\">__ May Report.pptx<\/td>\n<td bgcolor=\"#e6eed5\" width=\"22%\">May Report.pptx<\/td>\n<td bgcolor=\"#e6eed5\" width=\"55%\">Replace __ (two consecutive underscores) with empty<\/td>\n<\/tr>\n<tr>\n<td width=\"23%\">._. June Report.ppt<\/td>\n<td width=\"22%\">justify;line-height:normal;mso-yfti-cnfc:128&#8243;&gt;June Report.ppt<\/td>\n<td width=\"55%\">Replace ._. (dot, underscore,<br \/>\ndot) with empty<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong><em>Equivalent Naming Rules:<\/em><\/strong><\/p>\n<table border=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td width=\"16%\"><strong>Find<\/strong><\/td>\n<td width=\"17%\"><strong>Replace<\/strong><\/td>\n<td width=\"71%\"><strong>Description<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"16%\">&#8230;<\/td>\n<td width=\"17%\">m<\/td>\n<td width=\"71%\">Replace 3 dots with &#8216;m&#8217;<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#e6eed5\" width=\"16%\">..<\/td>\n<td bgcolor=\"#e6eed5\" width=\"17%\">p<\/td>\n<td bgcolor=\"#e6eed5\" width=\"71%\">Replace 2 dots with &#8216;p&#8217;<\/td>\n<\/tr>\n<tr>\n<td width=\"16%\">.*<\/td>\n<td width=\"17%\"><\/td>\n<td width=\"71%\">Remove dot if the file name <strong>starts<\/strong> with . (dot)<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#e6eed5\" width=\"16%\">*.<\/td>\n<td bgcolor=\"#e6eed5\" width=\"17%\"><\/td>\n<td bgcolor=\"#e6eed5\" width=\"71%\">Remove dot if the file name <strong>ends<\/strong><br \/>\nwith . (dot)<\/td>\n<\/tr>\n<tr>\n<td width=\"16%\">.__<\/td>\n<td width=\"17%\"><\/td>\n<td width=\"71%\">Replace .__ ( dot, two underscores) with empty<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#e6eed5\" width=\"16%\">._.<\/td>\n<td bgcolor=\"#e6eed5\" width=\"17%\"><\/td>\n<td bgcolor=\"#e6eed5\" width=\"71%\">Replace ._. (dot, underscore, dot) with empty<\/td>\n<\/tr>\n<tr>\n<td width=\"16%\">._<\/td>\n<td width=\"17%\"><\/td>\n<td width=\"71%\">Replace ._ with empty<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#e6eed5\" width=\"16%\">__<\/td>\n<td bgcolor=\"#e6eed5\" width=\"17%\"><\/td>\n<td bgcolor=\"#e6eed5\" width=\"71%\">Replace __ (two consecutive underscores) with empty<\/td>\n<\/tr>\n<tr>\n<td width=\"16%\">_<\/td>\n<td width=\"17%\">S<\/td>\n<td width=\"71%\">Replace _ with &#8216;S&#8217;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>Figure 1: Naming rule as specified in DocKIT application<\/h4>\n<p><a href=\"https:\/\/www.vyapinsoftware.com\/images\/blogs\/rename-folder-files.png\" data-lbwps-width=\"537\" data-lbwps-height=\"349\" data-lbwps-srcsmall=\"https:\/\/www.vyapinsoftware.com\/images\/blogs\/rename-folder-files.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.vyapinsoftware.com\/images\/blogs\/rename-folder-files.png\" width=\"537\" height=\"349\" border=\"0\" \/><\/a><\/p>\n<h4>Example 2: Usage of reserved characters<\/h4>\n<p>The &#8216;Regular Expressions&#8217; technique used by DocKIT for pattern matching categorizes some of the operators as reserved and has its own meaning for the operators in the pattern syntax. In order to treat the reserved characters as normal characters like &#8216;A&#8217;, &#8216;1&#8217;, you have to use &#8221; (backslash) as an escape sequence character in DocKIT Renaming rule as given below:<\/p>\n<table style=\"border-style: solid;\" border=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td rowspan=\"2\" width=\"25%\"><strong>Invalid file name<\/strong><\/td>\n<td rowspan=\"2\" width=\"25%\"><strong>Valid file name<\/strong><\/td>\n<td rowspan=\"2\" width=\"25%\"><strong>Description<\/strong><\/td>\n<td colspan=\"2\" width=\"25%\"><strong>Naming rule<\/strong><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#dfd8e9\" width=\"13%\">Find<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"12%\">Replace<\/td>\n<\/tr>\n<tr>\n<td width=\"25%\">My File name#.xls<\/td>\n<td width=\"25%\">My File name.xls<\/td>\n<td width=\"25%\">Replace # with empty<\/td>\n<td width=\"13%\">#<\/td>\n<td width=\"12%\"><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Programs &amp; Schedules.docx<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Programs and Schedules.docx<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Replace &amp; with \u2018and\u2019<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"13%\">&amp;<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"12%\">and<\/td>\n<\/tr>\n<tr>\n<td width=\"25%\">My $ File name.docx<\/td>\n<td width=\"25%\">My File name.docx<\/td>\n<td width=\"25%\">Replace $ with empty<\/td>\n<td width=\"13%\">$<\/td>\n<td width=\"12%\"><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">policydoc *74565.xls<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">policydoc 74565.xls<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Replace * with empty<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"13%\">*<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"12%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"25%\">Sample.Doc<\/td>\n<td width=\"25%\">SampleDoc<\/td>\n<td width=\"25%\">Replace . with empty<\/td>\n<td width=\"13%\">.<\/td>\n<td width=\"12%\"><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Sample?File<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">SampleTextFile<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Replace ? with &#8216;Text&#8217;<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"13%\">?<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"12%\">Text<\/td>\n<\/tr>\n<tr>\n<td width=\"25%\">Test^Document<\/td>\n<td width=\"25%\">Testdocument<\/td>\n<td width=\"25%\">Replace ^ with empty<\/td>\n<td width=\"13%\">^<\/td>\n<td width=\"12%\"><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Sample+File<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">SampleTextFile<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Replace plus with &#8216;Text&#8217;<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"13%\">+<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"12%\">Text<\/td>\n<\/tr>\n<tr>\n<td width=\"25%\">Word&lt;Document<\/td>\n<td width=\"25%\">WordDocument<\/td>\n<td width=\"25%\">Replace &lt; with empty<\/td>\n<td width=\"13%\">&lt;<\/td>\n<td width=\"12%\"><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">PDF&gt;Document<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">PDFDocument<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Replace &gt; with empty<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"13%\">&gt;<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"12%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"25%\">[Document<\/td>\n<td width=\"25%\">Document<\/td>\n<td width=\"25%\">Replace [ with empty<\/td>\n<td width=\"13%\">[<\/td>\n<td width=\"12%\"><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Sample]<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">SampleFile<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Replace ] with &#8216;File&#8217;<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"13%\">]<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"12%\">File<\/td>\n<\/tr>\n<tr>\n<td width=\"25%\">(File<\/td>\n<td width=\"25%\">DocumentFile<\/td>\n<td width=\"25%\">Replace ( with &#8216;Document&#8217;<\/td>\n<td width=\"13%\">(<\/td>\n<td width=\"12%\">Document<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">TextFile)<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">TextFile<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\">Replace ) with empty<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"13%\">)<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"12%\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><span style=\"font-family: 'Arial Narrow'; font-size: medium;\">Create file version history by using certain naming patterns<\/span><\/h3>\n<p>We will discuss a situation where certain files in a folder have their names appended with version numbers. If you would like these version numbers to stack up nicely as version history of the file \/ document, this is what you can do.<\/p>\n<h4>Example 1: Uniform file naming pattern for file version<\/h4>\n<table border=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td rowspan=\"2\" width=\"25%\" height=\"38\">Invalid File Name<\/td>\n<td rowspan=\"2\" width=\"25%\" height=\"38\">Valid File Name<\/td>\n<td rowspan=\"2\" width=\"25%\" height=\"38\">Description<\/td>\n<td colspan=\"2\" width=\"25%\" height=\"19\">\n<p align=\"center\">Naming Rule<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#e6eed5\" width=\"13%\" height=\"19\">Find<\/td>\n<td bgcolor=\"#e6eed5\" width=\"12%\" height=\"19\">Replace<\/td>\n<\/tr>\n<tr>\n<td width=\"25%\" height=\"19\">My File name_v1.0.docx<\/td>\n<td width=\"25%\" height=\"19\">My File name.docx<\/td>\n<td width=\"25%\" height=\"19\">Replace underscore, v and version number appended with the parent file name with empty so as to create as respective versions of a file<br \/>\nFirst version<\/td>\n<td width=\"13%\" height=\"19\">*_v??.??<\/td>\n<td width=\"12%\" height=\"19\"><\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#e6eed5\" width=\"25%\" height=\"19\">My File name_v1.1.docx<\/td>\n<td bgcolor=\"#e6eed5\" width=\"25%\" height=\"19\">My File name.docx<\/td>\n<td bgcolor=\"#e6eed5\" width=\"25%\" height=\"19\">Next minor version<\/td>\n<td bgcolor=\"#e6eed5\" width=\"13%\" height=\"19\"><\/td>\n<td bgcolor=\"#e6eed5\" width=\"12%\" height=\"19\"><\/td>\n<\/tr>\n<tr>\n<td width=\"25%\" height=\"19\">My File name_v1.2.docx<\/td>\n<td width=\"25%\" height=\"19\">My File name.docx<\/td>\n<td width=\"25%\" height=\"19\">Next minor version<\/td>\n<td width=\"13%\" height=\"19\"><\/td>\n<td width=\"12%\" height=\"19\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4>Example 2: Random file naming pattern for file version:<\/h4>\n<table border=\"1\" width=\"100%\">\n<tbody>\n<tr>\n<td rowspan=\"2\" width=\"25%\" height=\"38\">Invalid File Name<\/td>\n<td rowspan=\"2\" width=\"25%\" height=\"38\">Valid File Name<\/td>\n<td rowspan=\"2\" width=\"25%\" height=\"38\">Description<\/td>\n<td colspan=\"2\" width=\"25%\" height=\"19\">\n<p align=\"center\">Naming Rule<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#dfd8e9\" width=\"13%\" height=\"19\">Find<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"12%\" height=\"19\">Replace<\/td>\n<\/tr>\n<tr>\n<td width=\"25%\" height=\"19\">My doc_v1.0.doc<\/td>\n<td width=\"25%\" height=\"19\">My doc.doc<\/td>\n<td width=\"25%\" height=\"19\">Replace underscore, v and version number appended with the parent file name with empty so as to create as respective versions of a file<br \/>\nFirst version<\/td>\n<td width=\"13%\" height=\"19\">*_v*<br \/>\n*v??.??<\/td>\n<td width=\"12%\" height=\"19\">v<\/td>\n<\/tr>\n<tr>\n<td bgcolor=\"#dfd8e9\" width=\"25%\" height=\"19\">My docv1.1.doc<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\" height=\"19\">My doc.doc<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"25%\" height=\"19\">Next minor version<\/td>\n<td bgcolor=\"#dfd8e9\" width=\"13%\" height=\"19\"><\/td>\n<td bgcolor=\"#dfd8e9\" width=\"12%\" height=\"19\"><\/td>\n<\/tr>\n<tr>\n<td width=\"25%\" height=\"19\">My docv1.2.doc<\/td>\n<td width=\"25%\" height=\"19\">My doc.doc<\/td>\n<td width=\"25%\" height=\"19\">Next minor version<\/td>\n<td width=\"13%\" height=\"19\"><\/td>\n<td width=\"12%\" height=\"19\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Note: Entries under the Find section should be in the same order as listed.<\/p>\n<h4>Figure 2: File Settings in DocKIT Task Wizard<\/h4>\n<p>To create version history, select \u2018Create new version\u2019 option in \u2018File Settings\u2019 step in DocKIT Task Wizard.<\/p>\n<p><a href=\"https:\/\/www.vyapinsoftware.com\/images\/blogs\/file-settings.png\" data-lbwps-width=\"685\" data-lbwps-height=\"441\" data-lbwps-srcsmall=\"https:\/\/www.vyapinsoftware.com\/images\/blogs\/file-settings.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.vyapinsoftware.com\/images\/blogs\/file-settings.png\" width=\"685\" height=\"441\" border=\"0\" \/><\/a><\/p>\n<p>For more information, please refer the following help sections in the <a href=\"http:\/\/www.vyapin.info\/online-help\/dockit\/index.htm\" target=\"_blank\" rel=\"nofollow noopener noreferrer\"><strong>Dockit online help document<\/strong><\/a>. You can launch the help document from Help menu (Help -&gt; Contents menu) in the application.<\/p>\n<ul>\n<li>DocKIT Features -&gt; Folder &amp; File Renaming Rules<\/li>\n<li>DocKIT Special Cases -&gt; Rename Documents in File System<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In continuation with the previous blog post that deals with the folder and file rename options, here we discuss how to deal with renaming of folders\/files that contain illegal characters. As said earlier, folders and files residing in legacy systems will have having special characters that are invalid (disallowed) in SharePoint. DocKIT facilitates this renaming [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7245,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[144],"tags":[140,175,176],"class_list":["post-152","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","tag-dockit-migrator","tag-rename-files","tag-rename-folders"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/152","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/comments?post=152"}],"version-history":[{"count":9,"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/152\/revisions"}],"predecessor-version":[{"id":8143,"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/152\/revisions\/8143"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/media\/7245"}],"wp:attachment":[{"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/media?parent=152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/categories?post=152"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vyapinsoftware.com\/blog\/wp-json\/wp\/v2\/tags?post=152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}