You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<p>The components of the Interface Database System are shown below. They are briefly described here, with more details provided in subsequent sections.</p>
177
177
<p>The workflow proceeds from left to right.</p>
178
178
<p><imgsrc="../images/overview/fig1.jpg" /></p>
179
-
<p>The TIO developer, using Common Software for his/her components, creates component model files. These files are validated and ingested into the ICD Model File Database using either the <code>icd-db</code> command or a web application called <code>icdwebserver</code>. These were developed to work with the ICD Model File Database and provide the functionality the users of the system need. The model files are stored and published in Git repositories on GitHub. The <code>icd-git</code> application can be used to sync the local database with the published versions on GitHub. The icd web app also gets its information from the published versions on GitHub, in addition to any unpublished versions that a developer is working with locally. The <code>icd-viz</code> command line application can be used to generate a graph of component or subsystem relationships. This feature requires that <ahref="https://graphviz.org/">graphviz</a> is installed and is also available in the icd web app. The <code>icd-fits</code> command can be used to view information about FITS keywords and their source events.</p>
179
+
<p>The TIO developer, using Common Software for his/her components, creates component model files. These files are validated and ingested into the ICD Model File Database using either the <code>icd-db</code> command or a web application called <code>icdwebserver</code>. These were developed to work with the ICD Model File Database and provide the functionality the users of the system need. The model files are stored and published in Git repositories on GitHub. The <code>icd-git</code> application can be used to sync the local database with the published versions on GitHub. The icd web app also gets its information from the published versions on GitHub, in addition to any unpublished (uploaded) versions that a developer is working with locally. The <code>icd-viz</code> command line application can be used to generate a graph of component or subsystem relationships. This feature requires that <ahref="https://graphviz.org/">graphviz</a> is installed and is also available in the icd web app. The <code>icd-fits</code> command can be used to view information about FITS keywords and their source events.</p>
<p>The <code>icd-db</code> program exists to validate and ingest model files into a local ICD Model File Database. When creating or modifying the models, this feature can be used to incorporate working versions of the files into the database system. The <code>icd-db</code> program also allows some informative queries to be performed directly on the database, showing what subsystem and components exist in the database, and information about them such as data rates, data types, and units used. Note that these operations only work on the models that exist in the local version of the database, and do not access the released models on the GitHub repository.</p>
<p>The <code>icdwebserver</code> web application provides the IDBS user application interface. The browser-based user interface allows the ingesting of model files, publishing them, and displaying versioned APIs for each component. An API is defined as all the functionality of a component or subsystem including inputs and outputs. An ICD is produced by taking the intersection of two subsystem API documents.</p>
184
184
<p>The IDBS browser provides the ability to browse the APIs for both published and unpublished models. The published APIs are constructed from models obtained from the git repository which stores the released versions, and the unpublished APIs are constructed by accessing the models stored in the local database that have been ingested using the icd-db program or the web app.</p>
185
185
<p>The current version of the IDBS browser user interface includes the following features:</p>
186
186
<ul>
187
-
<li>Allows browsing all the subsystems and their components (including previously published versions as well as unpublished working versions).</li>
187
+
<li>Allows browsing all the subsystems and their components (including previously published versions as well as uploaded, unpublished working versions).</li>
188
188
<li>View the API for a subsystem or an individual component.</li>
189
189
<li>Browse interfaces between subsystems, or components within subsystems.</li>
190
190
<li>Upload directories containing the model files for a subsystem API</li>
<p>If the web server is running on your own machine, go to <ahref="http://localhost:9000">http://localhost:9000</a>. The empty website is shown in the following figure. The upload button is shown circled in red (the red circle does not appear in the UI!)</p>
<p>The icd web app automatically ingests the most recently released APIs and ICDs on startup by downloading any missing versions from the GitHub repos under <ahref="https://github.com/tmt-icd">https://github.com/tmt-icd</a>. Older versions of APIs are downloaded from GitHub and ingested automatically as needed. You can preload the local database to include all versions of the subsystem APIs using the icd-git command line app before starting the icd web app: <code>icd-git --ingestAll</code>.</p>
193
-
<p>You can also upload any directories containing model files that you are working on. These will be the considered the “working version” or “*” in the subsystem version menu. The "*" version is either the last version uploaded, or the latest published API version, if there was no uploaded version, or if a more recent version was published (Note: This may change in a future release to be only the uploaded version). </p></div>
193
+
<p>You can also upload any top level directories containing subsystem API model files that you are working on. These will be the considered the “uploaded” or working version (“uploaded” in the subsystem version menu).</p></div>
194
194
<h2><ahref="#procedure-for-uploading-files" name="procedure-for-uploading-files" class="anchor"><spanclass="anchor-link"></span></a>Procedure for Uploading Files</h2>
195
195
<ol>
196
196
<li>Select the upload button in the web app. The following figure shows the web page after selecting the upload button:</li>
<p>A couple of things to note: The area to the left shows a number of links. This area has one link for each component in the subsystem.</p>
220
220
<p>The content area displays all the components for the subsystem. Clicking on one of the component links jumps to the given component’s information.</p>
221
-
<p>The displayed API is constructed from the current versions of the models in the database, and is therefore considered an unpublished working version. Although APIs are published by Systems Engineering, the system allows the viewing of all versions of published APIs as well as the working version as shown above (Note: the published versions of the APIs are ingested directly from the GitHub repository, whereas the unpublished models are obtained only from the local database). To do this, select the desired version number in the dropdown menu next to the subsystem name.</p>
222
-
<p>Note that “master” also appears in the list of versions and is linked to the contents of the master branch of a subsystem on GitHub. The contents of the master branch are automatically uploaded to the icd database (if there was a change) whenever you refresh the web app or when running the command: <code>icd-git --ingest</code>.</p>
221
+
<p>The displayed API is constructed from the current versions of the models in the database. Although APIs are published by Systems Engineering, the system allows the viewing of all versions of published APIs as well as uploaded (working versions) as shown above (Note: the published versions of the APIs are ingested directly from the GitHub repository, whereas the unpublished (uploaded) models are obtained only from the local database). To do this, select the desired version number in the dropdown menu next to the subsystem name.</p>
222
+
<p>Note that “master” also appears in the list of versions and is linked to the contents of the master branch of a subsystem on GitHub. The contents of the master branch are automatically uploaded to the icd database (if there was a change) whenever you select “master” in one of the subsystem menus.</p>
<h2><ahref="#create-and-view-an-icd" name="create-and-view-an-icd" class="anchor"><spanclass="anchor-link"></span></a>Create and View an ICD</h2>
246
246
<p>An ICD is formed by taking the intersection of the APIs of two TMT subsystems. That means in order to create an ICD there must be at least two subsystems in the database. The TCS API is created from various subsystem to TCS ICDs that exist and the TCS CODR SDD. The definitive TCS API will be a product of the TCS work packages.</p>
247
-
<p>It is possible to view ICDs with working/unpublished versions, with one unpublished version and one published version, or two published versions. ICDs can only be published between two published APIs.</p>
247
+
<p>It is possible to view ICDs with uploaded (working/unpublished) versions, with one unpublished version and one published version, or two published versions. ICDs can only be published between two published APIs.</p>
248
248
<p>This example will show how to view a working ICD between the published version 1.12 of the TCS API and the unpublished M1CS subsystem API.</p>
249
249
<ol>
250
250
<li>
251
251
<p>Upload all the working versions of the APIs needed to form an ICD.</p></li>
252
252
<li>
253
-
<p>First select the version of the subsystem for the ICD. In the figure below the menu to the right of the subsystem shows the available versions. Version 1.12, the version published previously is selected. (To get back to the working version, select the asterisk in the menu.) Note that the content area says API for TCS 1.12 rather than the unpublished label.</p></li>
253
+
<p>First select the version of the subsystem for the ICD. In the figure below the menu to the right of the subsystem shows the available versions. Version 1.12, the version published previously is selected. (To get back to the uploaded working version, select “uploaded” in the menu.) Note that the content area says API for TCS 1.12 rather than the “uploaded” label.</p></li>
<p>The components of the Interface Database System are shown below. They are briefly described here, with more details provided in subsequent sections.</p>
177
177
<p>The workflow proceeds from left to right.</p>
178
178
<p><imgsrc="../images/overview/fig1.jpg" /></p>
179
-
<p>The TIO developer, using Common Software for his/her components, creates component model files. These files are validated and ingested into the ICD Model File Database using either the <code>icd-db</code> command or a web application called <code>icdwebserver</code>. These were developed to work with the ICD Model File Database and provide the functionality the users of the system need. The model files are stored and published in Git repositories on GitHub. The <code>icd-git</code> application can be used to sync the local database with the published versions on GitHub. The icd web app also gets its information from the published versions on GitHub, in addition to any unpublished versions that a developer is working with locally. The <code>icd-viz</code> command line application can be used to generate a graph of component or subsystem relationships. This feature requires that <ahref="https://graphviz.org/">graphviz</a> is installed and is also available in the icd web app. The <code>icd-fits</code> command can be used to view information about FITS keywords and their source events.</p>
179
+
<p>The TIO developer, using Common Software for his/her components, creates component model files. These files are validated and ingested into the ICD Model File Database using either the <code>icd-db</code> command or a web application called <code>icdwebserver</code>. These were developed to work with the ICD Model File Database and provide the functionality the users of the system need. The model files are stored and published in Git repositories on GitHub. The <code>icd-git</code> application can be used to sync the local database with the published versions on GitHub. The icd web app also gets its information from the published versions on GitHub, in addition to any unpublished (uploaded) versions that a developer is working with locally. The <code>icd-viz</code> command line application can be used to generate a graph of component or subsystem relationships. This feature requires that <ahref="https://graphviz.org/">graphviz</a> is installed and is also available in the icd web app. The <code>icd-fits</code> command can be used to view information about FITS keywords and their source events.</p>
<p>The <code>icd-db</code> program exists to validate and ingest model files into a local ICD Model File Database. When creating or modifying the models, this feature can be used to incorporate working versions of the files into the database system. The <code>icd-db</code> program also allows some informative queries to be performed directly on the database, showing what subsystem and components exist in the database, and information about them such as data rates, data types, and units used. Note that these operations only work on the models that exist in the local version of the database, and do not access the released models on the GitHub repository.</p>
<p>The <code>icdwebserver</code> web application provides the IDBS user application interface. The browser-based user interface allows the ingesting of model files, publishing them, and displaying versioned APIs for each component. An API is defined as all the functionality of a component or subsystem including inputs and outputs. An ICD is produced by taking the intersection of two subsystem API documents.</p>
184
184
<p>The IDBS browser provides the ability to browse the APIs for both published and unpublished models. The published APIs are constructed from models obtained from the git repository which stores the released versions, and the unpublished APIs are constructed by accessing the models stored in the local database that have been ingested using the icd-db program or the web app.</p>
185
185
<p>The current version of the IDBS browser user interface includes the following features:</p>
186
186
<ul>
187
-
<li>Allows browsing all the subsystems and their components (including previously published versions as well as unpublished working versions).</li>
187
+
<li>Allows browsing all the subsystems and their components (including previously published versions as well as uploaded, unpublished working versions).</li>
188
188
<li>View the API for a subsystem or an individual component.</li>
189
189
<li>Browse interfaces between subsystems, or components within subsystems.</li>
190
190
<li>Upload directories containing the model files for a subsystem API</li>
0 commit comments