{"id":227,"date":"2026-06-17T10:02:49","date_gmt":"2026-06-17T08:02:49","guid":{"rendered":"http:\/\/www.ia2.inaf.it\/apogeo\/"},"modified":"2026-07-24T14:22:50","modified_gmt":"2026-07-24T12:22:50","slug":"apogeo","status":"publish","type":"page","link":"https:\/\/ia2.inaf.it\/en\/apogeo\/","title":{"rendered":"Apogeo"},"content":{"rendered":"<h1 class=\"wp-block-heading\">IA2 developed Software:<\/h1>\n\n\n\n<h1 class=\"wp-block-heading\">APOGEO<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Contact: S. Zorba<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>APOGEO<\/strong>&nbsp;(<strong>A<\/strong>utomatic&nbsp;<strong>PO<\/strong>rtal&nbsp;<strong>GE<\/strong>nerat<strong>O<\/strong>r) is a tool that automatizes the creation of web interfaces for querying astronomical archives.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An administrator performs a configuration process, guided by a graphical wizard and then the application is able to generate a war package that is ready to be deployed on an application server (like Tomcat or GlassFish).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Generated applications support following features:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Query the astronomical archive retrieving metadata selected by the user;<\/li>\n\n\n\n<li>Enable or not file download to the users according to the configured data access policies;<\/li>\n\n\n\n<li>Asynchronous creation of tar files to allow users downloading multiple files;<\/li>\n\n\n\n<li>Download of tabular data using the VOTable standard;<\/li>\n\n\n\n<li>Interoperability with external applications using the SAMP IVOA standard;<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">All new IA2 archives will be developed using APOGEO.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This tool is currently under development.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How it works<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Configuration process<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A&nbsp;preliminary&nbsp;configuration step consists in creating a TAP_SCHEMA, a particular schema defined in VO Standards for storing&nbsp;metadata about the astronomical archive. This can be done using the&nbsp;<a href=\"https:\/\/old.ia2.inaf.it\/index.php\/13-software\/36-tap-schema-manager\">TAP_SCHEMA Manager<\/a>&nbsp;application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then the portal administrator can use the PortalGenerator Wizard, that guides he or she during the configuration process.&nbsp;The administrator logs in into the PortalGenerator application&nbsp;and then can modify an existing portal configuration or create a new one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The first step consists in defining connection strings for accessing the TAP_SCHEMA and the astronomical archive database, then the user has to select a main table, that will be used by the generated portal in the FROM clause of its SQL queries. The user can also select one or more secondary tables and how should they be joined on the main table.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then it is possible to design the search form interface. This can be done using an interactive grid in which the user can add some components, such text inputs and labels, and positioning them on the grid simply using the mouse. Each HTML input is directly mapped to a database column: in this way the generated portal will be able to build SQL queries based on which fields of the form&nbsp;have been filled and selected by the users.&nbsp;Internally the PortalGenerator stores the portal configuration in a XML format. This XML can also be manually edited, using a JavaScript library providing code syntax highlighting and autocomplete. This allows creating a set of similar form fields simply doing copy and&nbsp;paste and it is useful in all situations like tables renaming or reusing the same layout of&nbsp;an older version of the portal.<br>Each portal needs to have a main grid, but other secondary grids can be added.&nbsp;The secondary grids will be placed into a tabbed panel that can be optionally activated,&nbsp;allowing an advanced search mode. This has been used for implementing searching on&nbsp;single telescope instruments, but a grid isn\u2019t bind to a specific table, so other uses of&nbsp;this feature are possible.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/old.ia2.inaf.it\/images\/images\/software\/apogeo\/grid.png\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/old.ia2.inaf.it\/images\/images\/software\/apogeo\/add_new_component.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Other optional settings include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>specification of\u00a0data access policies (for managing private resources);<\/li>\n\n\n\n<li>logging settings (logs are saved into a dedicated database table);<\/li>\n\n\n\n<li>files retrieval configuration (by path on physical disk \u00a0or by URL);<\/li>\n\n\n\n<li>layout customization (custom JavaScript, CSS and a button for upload custom background image);<\/li>\n\n\n\n<li>login system settings (using a set of LDAPs or Shibboleth\u00a0&#8211;\u00a0this part is currently a work in progress);<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In the final step of the wizard there is a button &#8220;Generate site&#8221; that create a war package. This file can be downloaded and deployed on an application server.<br>Currently we support GlassFish and Tomcat but other application servers can be supported including proper libraries.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Publications<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/dx.doi.org\/10.1117\/12.2232594\">Aided generation of search interfaces to astronomical archives<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>IA2 developed Software: APOGEO Contact: S. Zorba APOGEO&nbsp;(Automatic&nbsp;POrtal&nbsp;GEneratOr) is a tool that automatizes the creation of web interfaces for querying astronomical archives. An administrator performs a configuration process, guided by a graphical wizard and then the application is able to generate a war package that is ready to be deployed on an application server (like [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"asdfghjkl","meta":{"_acf_changed":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-227","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/ia2.inaf.it\/en\/wp-json\/wp\/v2\/pages\/227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ia2.inaf.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ia2.inaf.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ia2.inaf.it\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ia2.inaf.it\/en\/wp-json\/wp\/v2\/comments?post=227"}],"version-history":[{"count":2,"href":"https:\/\/ia2.inaf.it\/en\/wp-json\/wp\/v2\/pages\/227\/revisions"}],"predecessor-version":[{"id":415,"href":"https:\/\/ia2.inaf.it\/en\/wp-json\/wp\/v2\/pages\/227\/revisions\/415"}],"wp:attachment":[{"href":"https:\/\/ia2.inaf.it\/en\/wp-json\/wp\/v2\/media?parent=227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}