{"id":24220,"date":"2024-02-15T14:53:34","date_gmt":"2024-02-15T22:53:34","guid":{"rendered":"https:\/\/docs.extraview.com\/v25\/book\/attachment-migration-1\/"},"modified":"2025-04-23T09:43:12","modified_gmt":"2025-04-23T16:43:12","slug":"attachment-migration-1","status":"publish","type":"page","link":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/","title":{"rendered":"Attachment Migration"},"content":{"rendered":"<p>This appendix describes an ExtraView command-line utility that moves file attachments from internal storage within the database, to the file system.<\/p>\n<p>By default, file attachments uploaded to ExtraView are stored as binary objects in the database. The ExtraView Administrator has the choice to configure the system to store some or all of the uploaded attachments to a file system accessible by the application server.<\/p>\n<p>Within ExtraView, the program keeps track of where all particular attachments are located. Prior to the conversion, all attachments are marked as being stored \u201cinternally\u201d \u2013 within the database. As part of the migration process, as each individual file is extracted and copied to the final location on the external file system, the system marks that attachment as now being stored \u201cexternally\u201d. This allows the migration process to be done as a background task, without impacting the availability of ExtraView or its attachments to the end users.<\/p>\n<p>This provides flexibility \u2013 the Administrator can choose to have all files stored internally in the database, all files stored externally in the file system, or have a mixture of some file types stored within the database, and some file types stored on the file system.<\/p>\n<h3>Configuring External Storage<\/h3>\n<div class=\"textGreyBg\"><strong>Note<\/strong>: It is strongly recommend that you back up your database prior to performing any of the procedures described below.<\/div>\n<p>To configure attachment storage options, log in to ExtraView with the Administrator role. Click on the <b>Admin<\/b> navigation button, then the <b>System Controls<\/b> tab, then select <b>All Behavior Settings<\/b>, and edit the following settings:<\/p>\n<ul>\n<li><b>ATTACHMENT_REPOSITORY_OPT<\/b> &#8211; This setting controls whether attachments, document field and image fields are stored internally within the database, externally on the file system, or in some combination of the two methods.If the value of this setting is <b>INTERNAL<\/b> (the default value), then all attachments, document fields and image fields are stored internally within the database. If the value is set to <b>EXTERNAL<\/b>, then all the attachments, document fields and image fields are stored on the external file system.Alternatively, you may provide a comma separated list of file extensions and then all files with these extensions are stored in the database while all others are stored externally in the file repository.\n<p>For example, if you set the value of this setting to <b>txt, doc, docx, htm, html<\/b> then files of these types will be stored within the database. This strategy leaves the files stored internally in the database, while image and video files with extensions such as <b>jpg<\/b> and <b>mp4<\/b> are stored externally.<\/p>\n<p>Regardless of the setting, ExtraView will continue to store dynamically generated thumbnail-sized image files in the database as these are relatively small files and for performance reasons must be more readily available.<\/li>\n<li><b>ATTACHMENT_REPOSITORY_ROOT<\/b> \u2013 This setting defines the location outside the database where attachments, document fields and image fields will be stored. You must ensure that the path is valid from the application server(s) that are running ExtraView and that you have all the permissions to read and write to the storage. In a clustered or load-balanced environment, you must ensure that all instances of ExtraView can read and write to the same file system using this path.Please note \u2013 if you change this setting, new attachments, document field and image fields will be saved to the new location, and existing attachments, document fields and image fields will still reference the old location. You will need to ensure that the previous file path is still accessible by the ExtraView instance, or these existing attachments will not be available to end users.Set up a separate backup method for this external storage as backing up your database will no longer backup the file attachments<\/li>\n<li><b>ATTACHMENT_REPOSITORY_DMAX<\/b> &#8211; This setting defines the maximum number of files or directories that will be created under one node of the external directory structure. The default for this value is 999. It is not likely that this value needs to be altered.<\/li>\n<\/ul>\n<h3>Sizing the file system<\/h3>\n<p>You should ensure that there is adequate space for future growth when sizing the file system to be used for storing attachments externally. To do this, have your DBA connect to your ExtraView database using Query Analyzer (MSSQL) or SQL Plus (Oracle) and run the following queries:<\/p>\n<p><span class=\"fixedWidthFont\">&#8212; bring back the total size of the attachments stored in the database, in bytes. <\/span><br \/>\n<span class=\"fixedWidthFont\">select sum(file_size) from attachment; <\/span><br \/>\n<span class=\"fixedWidthFont\">&#8212; bring back the number of attachments in the database<br \/>\nselect count(*) from attachment; <\/span><\/p>\n<h3>Migration Utility Options<\/h3>\n<p>There are several forms of the <span class=\"fixedWidthFont\">doAttachmentMigration<\/span> command. The utility is found in the directory named <span class=\"fixedWidthFont\">WEB-INF\/data<\/span>. All require one or more parameters passed as part of the ExtraView command line utility:<\/p>\n<ul>\n<li>Move a single attachment by providing a single attachment ID:<span class=\"fixedWidthFont\">doAttachmentMigration instanceName -id 10000<\/span><\/li>\n<li>Move a batch of attachments by providing a range of attachment IDs:<span class=\"fixedWidthFont\">doAttachmentMigration instanceName -from 10000 -to 50000<\/span><\/li>\n<li>Move attachments according to their content type:<span class=\"fixedWidthFont\">doAttachmentMigration instanceName -type <em>content-type<\/em> &#8230;<\/span>The content type may contain valid database wildcard characters. This typically means that a percentage sign (%) will match multiple characters and an underscrore (_) will match a single character. Further, you can specify multiple <span class=\"fixedWidthFont\">-type<\/span> parameters in a single command. For example, the following will migrate all the files that contain <b>binary<\/b> and <b>zip<\/b> within their content types:\n<p><span class=\"fixedWidthFont\">doAttachmentMigration instanceName -type %binary% -type %zip%<\/span><\/li>\n<li>Migrate a list of attachments, from a file containing the list of ID&#8217;s:<span class=\"fixedWidthFont\">doAttachmentMigration instanceName -id_list <em>filename<\/em> <\/span>The filename contains a list of the IDs that are to be migrated.<\/li>\n<\/ul>\n<p>Attachment ID values can be found by having your DBA run the following SQL query against the ExtraView database:<\/p>\n<p><span class=\"fixedWidthFont\">select min(attachment_id), max(attachment_id) from attachment;<\/span><\/p>\n<p>Optional parameters can be added inside the double quotes:<\/p>\n<p><span class=\"fixedWidthFont\">-report &lt;filename&gt;<\/span> &#8211; Generates a specific location for the report file. By default the report will be dumped into ExtraView log file.<\/p>\n<p><span class=\"fixedWidthFont\">-delete<\/span> &#8211; If specified, deletes the attachment content blob from the database after migration. We would not generally recommend this if you have a large number of attachments, as it is much more efficient to simply have your DBA truncate the table when you have completed the migration and you have validated your results.<\/p>\n<p><span class=\"fixedWidthFont\">-testOnly<\/span> &#8211; This allows a dry run migration of the attachments without any modification to the database or the repository.<\/p>\n<p><span class=\"fixedWidthFont\">-noValidation<\/span> &#8211; This prevents the CRC-32 check on the stored migrated attachments, and will be somewhat faster. Use of this parameter is not recommended, because the extra time to validate the file content vis-\u00e0-vis the blob content is nominal, and the consequences of storing a blob in the file system incorrectly due to I\/O error or network error could include a loss of valuable data. If the CRC-32 validation fails, the attachment is not migrated and an error is posted to the log and\/or report file.<\/p>\n<h3>Running the Migration Utility<\/h3>\n<p>The migration command line utility is included in the ExtraView application package. It requires Java be installed on the application server to run. We provide shell and batch file scripts that you can use to run the utility.<\/p>\n<p>If you have deployed ExtraView in a WAR\/EAR file, you will need to set up an exploded directory to run this script. The scripts are located in the <span class=\"fixedWidthFont\">evj\/WEB-INF\/data<\/span> folder on your application server.<\/p>\n<h4>Microsoft Windows with Apache Tomcat<\/h4>\n<p>Edit the <span class=\"fixedWidthFont\">doAttachmentMigration.bat<\/span> file<\/p>\n<p>Locate the lines<\/p>\n<p><span class=\"fixedWidthFont\">set JAVA_HOME=C:\\ExtraView\\java\\jdk1.7.0<br \/>\nset TOMCAT_HOME=C:\\ExtraView\\Tomcat7.0<br \/>\nset EV_BASE=C:\\ExtraView\\Tomcat7.0\\webapps\\evj<\/span><\/p>\n<p>and modify the paths to match your installation<\/p>\n<p>Save and exit the edit session.<\/p>\n<p>Open a Command window in the <span class=\"fixedWidthFont\">evj\\WEB-INF\\data<\/span> folder and type the following command:<\/p>\n<p><span class=\"fixedWidthFont\">doAttachmentMigration instanceName &#8220;parameters&#8221;<\/span><\/p>\n<p>where <span class=\"fixedWidthFont\">&#8220;parameters&#8221;<\/span> is a double-quote enclosed list of parameters as per the options listed above.<\/p>\n<h4>Linux \/ Unix with Tomcat<\/h4>\n<p>Edit the <span class=\"fixedWidthFont\">doAttachmentMigration.sh<\/span> file<\/p>\n<p>Locate the lines<\/p>\n<p><span class=\"fixedWidthFont\">TOMCAT_HOME=\/usr\/local\/extraview\/tomcat<br \/>\nJAVA_HOME=\/usr\/local\/extraview\/java<br \/>\nEV_BASE = $TOMCAT_HOME\/webapps\/evj<\/span><br \/>\nSet <span class=\"fixedWidthFont\">TOMCAT_HOME,<\/span> <span class=\"fixedWidthFont\">JAVA_HOME <\/span>and <span class=\"fixedWidthFont\">EV_BASE<\/span>\u00a0to the correct paths for your installation.<\/p>\n<p>Save and exit the edit session.<\/p>\n<p>At the command prompt, type the following command:<\/p>\n<p><span class=\"fixedWidthFont\">sh doAttachmentMigration.sh instanceName &#8220;parameters&#8221;<\/span><\/p>\n<p>where <span class=\"fixedWidthFont\">&#8220;parameters&#8221;<\/span> is a double-quote enclosed list of parameters as per the options listed above.<\/p>\n<h4>For All Platforms<\/h4>\n<p>Run the script you just edited.\u00a0 You must provide some additional parameters as shown here:<\/p>\n<pre>REM required:\nREM -from (the starting attachment id for the migration) and -to (the ending attachment \nid for the migration)\nREM or\nREM -id (an attachment id for the migration)\nREM or\nREM -type content_type [-type content_type2[ ...]] (content type may be a wild card using\n database wild cards -- i.e. '%')\nREM or\nREM -id_list &lt;file&gt; (the name of a file containing attachment id's - one per line)\n\n<\/pre>\n<p>If you do not know the attachment IDs you may run this query:<\/p>\n<pre>select min(attachment_id), max(attachment_id) from attachment;<\/pre>\n<p>You might also simply substitute 1 and a very high number.<\/p>\n<h3>Validation and Completion<\/h3>\n<p>While the migration utility runs, it will print out information to the console. It will also write detailed log entries to a file in the <span class=\"fixedWidthFont\">evj\/WEB-INF\/log<\/span> folder or to the file defined in the <span class=\"fixedWidthFont\">-report<\/span> parameter option. Once the process has completed, you can check the log file to determine if there were any problems.<\/p>\n<p>If all attachments were migrated, you can verify that the attachments are available to download and view through the ExtraView web interface. Once you are satisfied, you can have your DBA remove the binary attachments from the database.<\/p>\n<p>If you have selected the option to have all attachments stored in the file system, your DBA can simply run the command<\/p>\n<p><span class=\"fixedWidthFont\">update attachment set thumbnail_id = null where thumbnail_id is not null;<br \/>\ntruncate table attachment_content;<\/span><\/p>\n<div class=\"textGreyBg\"><strong>Note<\/strong>: this will remove all thumbnails. The thumbnail will be regenerated dynamically the next time the attachment is referenced, e.g., as part of a detailed report.<\/div>\n<p>If you have selected the option of having some types of file stored in the database and some files stored externally, your DBA will need to run some variant of<\/p>\n<p><span class=\"fixedWidthFont\">delete from attachment_content<br \/>\nwhere attachment_id in<br \/>\n( select attachment_id from attachment where STORED_INTERNAL = &#8216;N&#8217; );<\/span><\/p>\n<div class=\"textGreyBg\"><strong>Note<\/strong>: We strongly recommend that you back up your database prior to performing any of the procedures described above (particularly before deleting any attachments). Please contact support@extraview.com if you would like assistance with this step.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>This appendix describes an ExtraView command-line utility that moves file attachments from internal storage within the database, to the file system. By default, file attachments uploaded to ExtraView are stored as binary objects in the database. The ExtraView Administrator has the choice to configure the system to store some or all of the uploaded attachments&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":24211,"menu_order":11,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_lmt_disableupdate":"no","_lmt_disable":"","_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"class_list":["post-24220","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Attachment Migration - Product Documentation<\/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:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Attachment Migration - Product Documentation\" \/>\n<meta property=\"og:description\" content=\"This appendix describes an ExtraView command-line utility that moves file attachments from internal storage within the database, to the file system. By default, file attachments uploaded to ExtraView are stored as binary objects in the database. The ExtraView Administrator has the choice to configure the system to store some or all of the uploaded attachments...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Product Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-23T16:43:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/\",\"url\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/\",\"name\":\"Attachment Migration - Product Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#website\"},\"datePublished\":\"2024-02-15T22:53:34+00:00\",\"dateModified\":\"2025-04-23T16:43:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/docs.extraview.com\/v25\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ExtraView 25\",\"item\":\"https:\/\/docs.extraview.com\/v25\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Administration Guide\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Appendices &#8211; Admin Guide\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Attachment Migration\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#website\",\"url\":\"https:\/\/docs.extraview.com\/v25\/\",\"name\":\"ExtraView Product Documentation\",\"description\":\"ExtraView Documentation\",\"publisher\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/docs.extraview.com\/v25\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#organization\",\"name\":\"ExtraView Corporation\",\"url\":\"https:\/\/docs.extraview.com\/v25\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png\",\"contentUrl\":\"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png\",\"width\":512,\"height\":512,\"caption\":\"ExtraView Corporation\"},\"image\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Attachment Migration - Product Documentation","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:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/","og_locale":"en_US","og_type":"article","og_title":"Attachment Migration - Product Documentation","og_description":"This appendix describes an ExtraView command-line utility that moves file attachments from internal storage within the database, to the file system. By default, file attachments uploaded to ExtraView are stored as binary objects in the database. The ExtraView Administrator has the choice to configure the system to store some or all of the uploaded attachments...","og_url":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/","og_site_name":"Product Documentation","article_modified_time":"2025-04-23T16:43:12+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/","url":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/","name":"Attachment Migration - Product Documentation","isPartOf":{"@id":"https:\/\/docs.extraview.com\/v25\/#website"},"datePublished":"2024-02-15T22:53:34+00:00","dateModified":"2025-04-23T16:43:12+00:00","breadcrumb":{"@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/attachment-migration-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/docs.extraview.com\/v25\/"},{"@type":"ListItem","position":2,"name":"ExtraView 25","item":"https:\/\/docs.extraview.com\/v25\/"},{"@type":"ListItem","position":3,"name":"Administration Guide","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/"},{"@type":"ListItem","position":4,"name":"Appendices &#8211; Admin Guide","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/administration-guide-1\/appendices-6\/"},{"@type":"ListItem","position":5,"name":"Attachment Migration"}]},{"@type":"WebSite","@id":"https:\/\/docs.extraview.com\/v25\/#website","url":"https:\/\/docs.extraview.com\/v25\/","name":"ExtraView Product Documentation","description":"ExtraView Documentation","publisher":{"@id":"https:\/\/docs.extraview.com\/v25\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/docs.extraview.com\/v25\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/docs.extraview.com\/v25\/#organization","name":"ExtraView Corporation","url":"https:\/\/docs.extraview.com\/v25\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/","url":"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png","contentUrl":"https:\/\/docs-stg.extraview.com\/wp-content\/uploads\/2024\/03\/favicon.png","width":512,"height":512,"caption":"ExtraView Corporation"},"image":{"@id":"https:\/\/docs.extraview.com\/v25\/#\/schema\/logo\/image\/"}}]}},"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"carl.koppel","author_link":"https:\/\/docs.extraview.com\/v25\/author\/carl-koppel\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/comments?post=24220"}],"version-history":[{"count":1,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24220\/revisions"}],"predecessor-version":[{"id":29750,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24220\/revisions\/29750"}],"up":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24211"}],"wp:attachment":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/media?parent=24220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}