{"id":22620,"date":"2024-02-15T14:48:40","date_gmt":"2024-02-15T22:48:40","guid":{"rendered":"https:\/\/docs.extraview.com\/v22\/book\/extraview-extraview-peer-instance-integration\/"},"modified":"2024-02-15T16:32:16","modified_gmt":"2024-02-16T00:32:16","slug":"extraview-extraview-peer-instance-integration","status":"publish","type":"page","link":"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/","title":{"rendered":"Extraview &#8211; ExtraView Peer Instance Integration"},"content":{"rendered":"<p>The ExtraView &#8211; ExtraView peer daemon&nbsp;synchronizes issues between two or more ExtraView servers in near real time.&nbsp; The configuration allows issues with specific criteria to be synchronized.&nbsp; For example, you may synchronize all issues within&nbsp;a Business Area, or all issues within a Business Area that have a specific Status value.&nbsp; To support this, specific metadata between the ExtraView instances can be mapped, for example creating values in the target instance that do not exist in the source instance.&nbsp;<\/p>\n<p>The configuration is accessed and managed via an ExtraView task which must be configured and be running before the synchronization operates.&nbsp; More than one integration task may be configured, if your requirement is to synchronize more than two ExtraView instances.&nbsp; You may even configure more than one task to synchronize the same two databases, for example with different tasks being used to map issues between different business areas.<\/p>\n<p>The&nbsp;synchronization supports all field types stored in the database with issue data, including file attachments. Relationships and repeating row records may also be&nbsp;synchronized. &nbsp;The daemon synchronizes&nbsp;specific metadata objects such as list values and allowed values combinations.&nbsp; However,&nbsp;metadata information such as field definitions, layouts, rules&nbsp;and other metadata is not synchronized \u2013 these objects are the domain of the XML export \/ import feature.&nbsp; Overall, issue data plus metadata that directly supports the issue data is replicated between two ExtraView instances.<\/p>\n<h3>\n\tGeneral Features<\/h3>\n<ul>\n<li>\n\t\tThe administrator is able to map user defined fields (UDFs)&nbsp;and their values between two ExtraView instances.&nbsp; It is not essential for the instances to have identical configurations<\/li>\n<li>\n\t\tIt is possible to use the integration to synchronize issues from one ExtraView business area to another business area within the same instance<\/li>\n<li>\n\t\tList values for UDF\u2019s are replicated only when necessary. If a list value for a mapped list field does not exist in the target, the list value\/title will be added to the target metadata for that field but not otherwise<\/li>\n<li>\n\t\tInbuilt field metadata is not synchronized. The issue data for inbuilt fields is moved, but the metadata values are not replicated, e.g., new STATUS field values are not inserted in a target instance.&nbsp; The built in fields affected by this limitation are AREA, CATEGORY, MODULE_ID, PRIORITY, PRODUCT, PRODUCT_LINE, PROJECT, RESOLUTION, SEVERITY_LEVEL, and STATUS<\/li>\n<li>\n\t\tAllowed values on UDF\u2019s are replicated only when necessary.&nbsp; If field metadata changes are made to the target, these changes will be reflected in the allowed values, if any, for that field. For example, if a new list value is added, and it is a child of an allowed value, then a new allowed value is added to the allowed value type<\/li>\n<li>\n\t\tRelationship groups may be mapped between source and target instances. Mapped relationship groups must be replicated on the source and&nbsp;target instances. The daemon may be configured to move relationship group issue relationships even if underlying issues are not touched<\/li>\n<li>\n\t\tAttachments may be mapped between source and target instances. &nbsp;Attachments&nbsp;are then&nbsp;replicated on the target instance. The daemon&nbsp;moves attachments even if the underlying issues are not touched<\/li>\n<li>\n\t\tRepeating row types may be mapped between source and target instances. Since repeating record types are defined by Layout Types, this in essence consists of a mapping of Layout Types<\/li>\n<li>\n\t\tAn important aspect of the synchronization is that all updates over time to an issue are synchronized, not just the current values within an issue<\/li>\n<li>\n\t\tTo support both SECURITY_USER_ID matches&nbsp;with a potentially different LOGIN_ID there is matching on the LOGIN_ID as well as the SECURITY_USER_ID when replicating a user to a target. The problem is that a target instance may have a user with the same SECURITY_USER_ID representing a different human being. This limitation is not implemented at this time<\/li>\n<li>\n\t\tField security is enforced on issue updates at the target. Fields that are not writeable by the role under which the daemon is executing may not be changed by the daemon and will generate an error<\/li>\n<li>\n\t\tThe ID field is not mapped from the source to the target instance.&nbsp; Each instance keeps track of its own unique ID field values with all issues<\/li>\n<li>\n\t\tALT_ID across all instances: the daemon supports the transference of a common ALT_ID that refers to the same issue across all connected instances. This primarily means that the ALT_ID is set by the source issue and not automatically generated in the target. Maintaining uniqueness will be largely the responsibility of the administrator, e.g. by configuring unique prefixes for IDs within the different instances<\/li>\n<li>\n\t\tErrors and warnings may be reported from the daemon via email to a specific person or a user role<\/li>\n<li>\n\t\tMapping configuration properties generally use regular expressions (regex\u2019s)<\/li>\n<li>\n\t\tFilters for defining which issues to replicate are configured using an expression language that uses substitutable variables<\/li>\n<li>\n\t\tIssues are migrated at the approximate rate of one per second, dependent upon the speed of the hardware and the complexity of the records being synchronized.&nbsp; For most purposes this is perfectly adequate to keep multiple databases synchronized in near real-time.&nbsp; However, take this time into account if the requirement is to use the task to perform the initial population of masses of data from one instance to be integrated into another separate instance<\/li>\n<li>\n\t\tThere is the capability within the task manager for the integration to start or restart the synchronization from any time in the past.<\/li>\n<\/ul>\n<h3>\n\tCaveats<\/h3>\n<ol>\n<li>\n\t\tEach instance should have all the same locales defined.&nbsp; if the target does not have a locale that exists in the source, then the update of that localization does not occur,&nbsp;but updates of all other localizations that&nbsp;do exist are made.&nbsp; It is good practice to have the same locales within each instance.<\/li>\n<li>\n\t\tSynchronization of behavior settings is not supported<\/li>\n<li>\n\t\tAll databases must have ALT_ID defined if the <em>single ALT_ID<\/em> feature is required<\/li>\n<li>\n\t\tMapped entities must have metadata predefined on each instance. The daemon does not replicate metadata except for list values required for the synchronization along with the required allowed values to support these values<\/li>\n<li>\n\t\tAny issue that is currently being held on the source instance within the <a href=\"\/actions\/\">SAVE POINT<\/a> feature is not mapped to the remote instance, as there is no certainty that the transaction will be completed<\/li>\n<li>\n\t\tThe integration process does not support the moving of rankings between installations.<\/li>\n<\/ol>\n<h3>\n\tThe Integration Process<\/h3>\n<ol>\n<li>\n\t\tUpon initialization of the daemon and at the time the configuration is saved, all list value mappings are checked and validated in order to avoid transaction failures.&nbsp; With each issue update or add transaction from the source instance, metadata updates shall be performed first, followed by the issue data synchronization<\/li>\n<li>\n\t\tThe ExtraView integration daemon&nbsp;is not limited by the default Area and Project concept when validating mapped fields based on the Add, Edit, and Detailed Report layouts of the user accounts used to access the two ExtraView instances.&nbsp; Any accessible valid field in Data Dictionary is allowed to be mapped<\/li>\n<li>\n\t\tThe ExtraView URL setting (the EVURL_FIELD) that is currently required with other integration daemons is optional<\/li>\n<li>\n\t\tThe same ExtraView instance can be specified as both the source and target instances in order to synchronize records between different business Areas and \/ or Projects<\/li>\n<li>\n\t\tAn administration tool within the Task Management utility configures the integrations.&nbsp; There is the ability to create multiple integration daemons, so that integrations between multiple ExtraView instances is supported.&nbsp; Key fields for the integration, such as the sign on credentials for each instance, the frequency of running the integration and the mappings of fields and values are managed within this tool<\/li>\n<li>\n\t\tGiven the integration runs as a background process, there are email notifications for errors encountered during the integration.&nbsp; These inform administrators of problems that need to be addressed.&nbsp; Optional emails may be generated to indicate successful synchronizations.&nbsp; All of these notifications are logged in the SYSTEM_LOG table as well as the application server log file<\/li>\n<li>\n\t\tWhen the integration is processing issues that contain relationships to other issues which may themselves be processed and mapped to a second server, the parent issues are migrated before the related issues.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>The ExtraView &#8211; ExtraView peer daemon&nbsp;synchronizes issues between two or more ExtraView servers in near real time.&nbsp; The configuration allows issues with specific criteria to be synchronized.&nbsp; For example, you may synchronize all issues within&nbsp;a Business Area, or all issues within a Business Area that have a specific Status value.&nbsp; To support this, specific metadata&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_lmt_disableupdate":"","_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-22620","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>Extraview - ExtraView Peer Instance Integration - 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\/v22\/extraview-extraview-peer-instance-integration\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Extraview - ExtraView Peer Instance Integration - Product Documentation\" \/>\n<meta property=\"og:description\" content=\"The ExtraView &#8211; ExtraView peer daemon&nbsp;synchronizes issues between two or more ExtraView servers in near real time.&nbsp; The configuration allows issues with specific criteria to be synchronized.&nbsp; For example, you may synchronize all issues within&nbsp;a Business Area, or all issues within a Business Area that have a specific Status value.&nbsp; To support this, specific metadata...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/\" \/>\n<meta property=\"og:site_name\" content=\"Product Documentation\" \/>\n<meta property=\"article:modified_time\" content=\"2024-02-16T00:32:16+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=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/\",\"url\":\"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/\",\"name\":\"Extraview - ExtraView Peer Instance Integration - Product Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/docs.extraview.com\/v22\/#website\"},\"datePublished\":\"2024-02-15T22:48:40+00:00\",\"dateModified\":\"2024-02-16T00:32:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/docs.extraview.com\/v22\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Extraview &#8211; ExtraView Peer Instance Integration\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/docs.extraview.com\/v22\/#website\",\"url\":\"https:\/\/docs.extraview.com\/v22\/\",\"name\":\"ExtraView Product Documentation\",\"description\":\"ExtraView Documentation\",\"publisher\":{\"@id\":\"https:\/\/docs.extraview.com\/v22\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/docs.extraview.com\/v22\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/docs.extraview.com\/v22\/#organization\",\"name\":\"ExtraView Corporation\",\"url\":\"https:\/\/docs.extraview.com\/v22\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/docs.extraview.com\/v22\/#\/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\/v22\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Extraview - ExtraView Peer Instance Integration - 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\/v22\/extraview-extraview-peer-instance-integration\/","og_locale":"en_US","og_type":"article","og_title":"Extraview - ExtraView Peer Instance Integration - Product Documentation","og_description":"The ExtraView &#8211; ExtraView peer daemon&nbsp;synchronizes issues between two or more ExtraView servers in near real time.&nbsp; The configuration allows issues with specific criteria to be synchronized.&nbsp; For example, you may synchronize all issues within&nbsp;a Business Area, or all issues within a Business Area that have a specific Status value.&nbsp; To support this, specific metadata...","og_url":"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/","og_site_name":"Product Documentation","article_modified_time":"2024-02-16T00:32:16+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/","url":"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/","name":"Extraview - ExtraView Peer Instance Integration - Product Documentation","isPartOf":{"@id":"https:\/\/docs.extraview.com\/v22\/#website"},"datePublished":"2024-02-15T22:48:40+00:00","dateModified":"2024-02-16T00:32:16+00:00","breadcrumb":{"@id":"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/docs.extraview.com\/v22\/extraview-extraview-peer-instance-integration\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/docs.extraview.com\/v22\/"},{"@type":"ListItem","position":2,"name":"Extraview &#8211; ExtraView Peer Instance Integration"}]},{"@type":"WebSite","@id":"https:\/\/docs.extraview.com\/v22\/#website","url":"https:\/\/docs.extraview.com\/v22\/","name":"ExtraView Product Documentation","description":"ExtraView Documentation","publisher":{"@id":"https:\/\/docs.extraview.com\/v22\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/docs.extraview.com\/v22\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/docs.extraview.com\/v22\/#organization","name":"ExtraView Corporation","url":"https:\/\/docs.extraview.com\/v22\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/docs.extraview.com\/v22\/#\/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\/v22\/#\/schema\/logo\/image\/"}}]}},"taxonomy_info":[],"featured_image_src_large":false,"author_info":{"display_name":"carl.koppel","author_link":"https:\/\/docs.extraview.com\/v22\/author\/carl-koppel\/"},"comment_info":0,"_links":{"self":[{"href":"https:\/\/docs.extraview.com\/v22\/wp-json\/wp\/v2\/pages\/22620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.extraview.com\/v22\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.extraview.com\/v22\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v22\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v22\/wp-json\/wp\/v2\/comments?post=22620"}],"version-history":[{"count":0,"href":"https:\/\/docs.extraview.com\/v22\/wp-json\/wp\/v2\/pages\/22620\/revisions"}],"wp:attachment":[{"href":"https:\/\/docs.extraview.com\/v22\/wp-json\/wp\/v2\/media?parent=22620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}