{"id":24504,"date":"2024-02-15T14:53:34","date_gmt":"2024-02-15T22:53:34","guid":{"rendered":"https:\/\/docs.extraview.com\/v25\/book\/extraview-internals-1\/"},"modified":"2024-02-15T14:53:34","modified_gmt":"2024-02-15T22:53:34","slug":"extraview-internals-1","status":"publish","type":"page","link":"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/","title":{"rendered":"ExtraView Internals"},"content":{"rendered":"<h3>\n\tMetadata<\/h3>\n<p>Metadata is data that resides within the ExtraView database. Metadata describes other data items. For example, the description for fields and their characteristics is metadata that is contained within the data dictionary. The following examples represent some of the types of metadata within ExtraView:<\/p>\n<ul>\n<li>\n\t\tData Dictionary<\/li>\n<li>\n\t\tUDF Permissions<\/li>\n<li>\n\t\tTitle Mapping for localized data<\/li>\n<li>\n\t\tLayouts for screens.<\/li>\n<\/ul>\n<p>Metadata drives a very significant amount of functionality within ExtraView. Very little in the way of data relationships or field definitions is hard-coded within ExtraView.<\/p>\n<p>For example, when you define a new User Defined Field, ExtraView does not create a new column in a database table. Metadata is created in a number of tables that describe the new field and its behavior; if the field is one of the list display types, pointers are set up to the members of the list where the values are stored.<\/p>\n<p>The traditional method of setting up parent child relationships between fields in a database is to use foreign key constraints. While ExtraView makes extensive use of foreign key constraints, they are not used to manage the parent child relationships that you create yourself, between two or more of your fields. Instead, ExtraView uses metadata to describe these &#8220;Allowed Values&#8221;. This avoids the need to modify the database. It is interesting to note that every single ExtraView customer has the identical schema to its database. This avoids many of the headaches that application building companies have had in the past, when different customers had different schemas.<\/p>\n<h3>\n\tIssue Data<\/h3>\n<p>Issue data is the data stored within your system that contains the values of data. For example, issue data contains the text within an issue, or the value of the status of an issue. Sample issue data includes:<\/p>\n<ul>\n<li>\n\t\tThe item table which stores the key information about an issue<\/li>\n<li>\n\t\titem UDF\u2019s. These are the values of the user defined fields within an issue<\/li>\n<li>\n\t\tproduct table information. This is where the product information is stored<\/li>\n<li>\n\t\tmodule table information. This is where the module information (which is a child of product information) is stored<\/li>\n<li>\n\t\tRepeating row records. These are structures that are dependent upon the issue data, and which can be repeated for different values within the issue.<\/li>\n<\/ul>\n<h3>\n\tReports<\/h3>\n<p>Report data holds key information about reports held within ExtraView. For example, a report consists of a layout, filters, a title and description. There are several types of reports within ExtraView:<\/p>\n<ul>\n<li>\n\t\tQuicklist \u2013 this is a built-in report format, used as a default layout for reports, when summary report information is required<\/li>\n<li>\n\t\tDetailed Report \u2013 this is a built-in report format, displayed when the user wants a complete detailed record of their issues<\/li>\n<li>\n\t\tColumnar Reports \u2013 these are designed by the user, and can display any set of fields (assuming the user\u2019s role has permission) with a given set of filters<\/li>\n<li>\n\t\tSummary Reports \u2013 these allow the summarizing of counts of issues of up to four fields, for a given set of filters<\/li>\n<li>\n\t\tMatrix Reports \u2013 these allow the production of a table of information using two different fields, one as the count on the X axis and one as the count on the Y axis<\/li>\n<li>\n\t\tAging Reports \u2013 These provide information that summarizes the number of issues within different statuses, according to the time the issues selected by the filters for the report, have spent within the statuses. A drilldown allows the user to see the time each issue spent in all statuses up to the current point in time<\/li>\n<li>\n\t\tCharts \u2013 these display information in a pie, line or bar chart form. Unlike other reports, they can display information for any date in history, up to the current date<\/li>\n<li>\n\t\tCustom Report \u2013 allow an entry on the report menus for reports designed using techniques discussed in this document, and reports which cannot be built using the standard ExtraView reporting tools<\/li>\n<li>\n\t\tLayouts for Existing Reports \u2013 These allow the user to combine the results of summary and other reports together and to create a style that is used to place the results on a layout. This layout is then rendered to PDF output when the layout is placed within a Container report<\/li>\n<li>\n\t\tContainer Reports \u2013 These are used to take the output from a Layout and place the output into a PDF file. Multiple layouts can be placed on a single Container report.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Metadata Metadata is data that resides within the ExtraView database. Metadata describes other data items. For example, the description for fields and their characteristics is metadata that is contained within the data dictionary. The following examples represent some of the types of metadata within ExtraView: Data Dictionary UDF Permissions Title Mapping for localized data Layouts&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":24503,"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-24504","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 Internals - 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\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ExtraView Internals - Product Documentation\" \/>\n<meta property=\"og:description\" content=\"Metadata Metadata is data that resides within the ExtraView database. Metadata describes other data items. For example, the description for fields and their characteristics is metadata that is contained within the data dictionary. The following examples represent some of the types of metadata within ExtraView: Data Dictionary UDF Permissions Title Mapping for localized data Layouts...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Product Documentation\" \/>\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=\"4 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\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/\",\"url\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/\",\"name\":\"ExtraView Internals - Product Documentation\",\"isPartOf\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/#website\"},\"datePublished\":\"2024-02-15T22:53:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-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\":\"User Custom Guide\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Java Interface\",\"item\":\"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"ExtraView Internals\"}]},{\"@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":"ExtraView Internals - 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\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/","og_locale":"en_US","og_type":"article","og_title":"ExtraView Internals - Product Documentation","og_description":"Metadata Metadata is data that resides within the ExtraView database. Metadata describes other data items. For example, the description for fields and their characteristics is metadata that is contained within the data dictionary. The following examples represent some of the types of metadata within ExtraView: Data Dictionary UDF Permissions Title Mapping for localized data Layouts...","og_url":"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/","og_site_name":"Product Documentation","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/","url":"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/","name":"ExtraView Internals - Product Documentation","isPartOf":{"@id":"https:\/\/docs.extraview.com\/v25\/#website"},"datePublished":"2024-02-15T22:53:34+00:00","breadcrumb":{"@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-1\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/extraview-internals-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":"User Custom Guide","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/"},{"@type":"ListItem","position":4,"name":"Java Interface","item":"https:\/\/docs.extraview.com\/v25\/extraview-25\/user-custom-guide-1\/java-interface-1\/"},{"@type":"ListItem","position":5,"name":"ExtraView Internals"}]},{"@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\/24504","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=24504"}],"version-history":[{"count":0,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24504\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/pages\/24503"}],"wp:attachment":[{"href":"https:\/\/docs.extraview.com\/v25\/wp-json\/wp\/v2\/media?parent=24504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}