diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 85b50d7..ec0a8fe 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,7 +31,7 @@ jobs: sudo apt install texlive-latex-base texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended xsltproc latexmk cm-super - name: Build the document - run: make + run: make biblio forcetex - name: Check the output run: | diff --git a/.gitignore b/.gitignore index 0a5de72..572c48e 100644 --- a/.gitignore +++ b/.gitignore @@ -12,7 +12,6 @@ ivoatexmeta.tex *.fls gitmeta.tex *.swp -role_diagram.svg # OS-specific .DS_Store diff --git a/CAOM.tex b/CAOM.tex index 89ed7de..4ed3eda 100644 --- a/CAOM.tex +++ b/CAOM.tex @@ -1,6 +1,7 @@ \documentclass[11pt,a4paper]{ivoa} \input tthdefs \usepackage{todonotes} +\usepackage{caption} \title{Common Archive Observation Model} @@ -188,17 +189,6 @@ \subsection{DeletedArtifactDescriptionEvent} the same entity identifier (Entity.id) and logical identifier (ArtifactDescription.uri) so that other sites can synchronise the event and perform the correct deletion locally. -\subsection{Data Types} -Some of the classes in the model are intended to be used as data types (e.g. columns -types in a database and exposed as such in a TAP service). - -\begin{figure} -\centering -\includegraphics[width=0.9\textwidth]{src/uml/CAOM2datatypes.png} -\caption{CAOM Data Types} -\label{fig:datatypes} -\end{figure} - \subsection{Vocabularies} CAOM uses a mixture of enumerations and vocabulary references. As it has evolved, @@ -206,12 +196,14 @@ \subsection{Vocabularies} when it became clear that the IVOA Vocabularies process was a more appropriate way to support the gradual evolution of set of concepts needed by the community. -\begin{figure} -\centering +\begin{center} +%\begin{figure} +%\centering \includegraphics[width=0.9\textwidth]{src/uml/CAOM3vocabularies.png} -\caption{Enumerations and Vocabularies} +\captionof{figure}{Enumerations and Vocabularies} \label{fig:vocab} -\end{figure} +%\end{figure} +\end{center} \subsection{Entity} @@ -222,17 +214,33 @@ \subsection{Entity} table and one table per entity would be the minimum number of tables required to persist complete instances). -\begin{figure} -\centering +\begin{center} +%\begin{figure} +%\centering \includegraphics[width=0.9\textwidth]{src/uml/CAOM4entities.png} -\caption{CAOM Entities} +\captionof{figure}{CAOM Entities} \label{fig:entity} -\end{figure} - +%\end{figure} +\end{center} % include external generated file so this tex doc is easy to edit \input{generated-caom2.tex} +\section{Data Types Overview} +Some of the classes in the model are intended to be used as data types (e.g. columns +types in a database and exposed as such in a TAP service) and are inherently more reusable. +The types required by the \verb|caom2| data model are specified in the separate \verb|dt| model +below. + +\begin{center} +%\begin{figure} +%\centering +\includegraphics[width=0.9\textwidth]{src/uml/DataTypes.png} +\captionof{figure}{Data Types} +\label{fig:datatypes} +%\end{figure} +\end{center} + \input{generated-data-types.tex} \appendix diff --git a/Makefile b/Makefile index 937de74..be3e99b 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ DOCNAME = CAOM DOCVERSION = 2.5 # Publication date, ISO format; update manually for "releases" -DOCDATE = 2024-09-27 +DOCDATE = 2025-10-31 # What is it you're writing: NOTE, WD, PR, REC, PEN, or EN DOCTYPE = WD @@ -19,18 +19,18 @@ AUTHOR_EMAIL=pdowler.cadc@gmail.com # Source files for the TeX document (but the main file must always # be called $(DOCNAME).tex) -SOURCES = $(DOCNAME).tex +SOURCES = $(DOCNAME).tex role_diagram.pdf # List of image files to be included in submitted package (anything that # can be rendered directly by common web browsers) -FIGURES = role_diagram.svg src/main/resources/draft-CAOM-2.5.png +FIGURES = role_diagram.svg src/uml/CAOM1core.png src/uml/CAOM3vocabularies.png src/uml/CAOM4entities.png src/uml/DataTypes.png # List of PDF figures (figures that must be converted to pixel images to # work in web browsers). VECTORFIGURES = role_diagram.pdf # Additional files to distribute (e.g., CSS, schema files, examples...) -AUX_FILES = generated.tex src/main/resources/CAOM-current-vodml.xml +AUX_FILES = generated-caom2.tex generated-data-types.tex src/main/resources/CAOM-current-vodml.xml src/main/resources/DataTypes-current-vodml.xml -include ivoatex/Makefile @@ -45,4 +45,3 @@ test: vodml: xsltproc --huge --output generated-caom2.tex ivoatex/vo-dml2ivoatex.xslt src/main/resources/CAOM-current-vodml.xml xsltproc --huge --output generated-data-types.tex ivoatex/vo-dml2ivoatex.xslt src/main/resources/DataTypes-current-vodml.xml - diff --git a/role_diagram.pdf b/role_diagram.pdf new file mode 100644 index 0000000..d166278 Binary files /dev/null and b/role_diagram.pdf differ diff --git a/role_diagram.svg b/role_diagram.svg new file mode 100644 index 0000000..cede9c1 --- /dev/null +++ b/role_diagram.svg @@ -0,0 +1,74 @@ + +IVOA Architecture DiagramThis image shows the architecture of the Virtual Observatory + (cf. http://ivoa.net), together with the relevant standards.UsersComputersProvidersRegistryData Access ProtocolsUser LayerUsingResource LayerSharingVOCoreFindingGettingDesktop AppsIn-BrowserAppsUserProgramsData and Metadata CollectionStorageComputationSemanticsDataModelsVO QueryLanguagesFormats + + + Identifiers + + + + + + DALI + + DataLink + SODA + ObsCore + + + + CAOM + + VODML + + + + + GMS + + + + VOUnits + UCD + Vocabularies + + + + diff --git a/src/main/resources/draft-CAOM-2.5.png b/src/main/resources/draft-CAOM-2.5.png deleted file mode 100644 index fef625c..0000000 Binary files a/src/main/resources/draft-CAOM-2.5.png and /dev/null differ diff --git a/src/uml/CAOM.zargo b/src/uml/CAOM.zargo index 103ca9f..fa0a595 100644 Binary files a/src/uml/CAOM.zargo and b/src/uml/CAOM.zargo differ diff --git a/src/uml/CAOM1core.png b/src/uml/CAOM1core.png index 57d81f0..e1cb565 100644 Binary files a/src/uml/CAOM1core.png and b/src/uml/CAOM1core.png differ diff --git a/src/uml/CAOM2datatypes.png b/src/uml/CAOM2datatypes.png deleted file mode 100644 index 0cca9bd..0000000 Binary files a/src/uml/CAOM2datatypes.png and /dev/null differ diff --git a/src/uml/DataTypes.png b/src/uml/DataTypes.png new file mode 100644 index 0000000..193bed5 Binary files /dev/null and b/src/uml/DataTypes.png differ diff --git a/src/uml/merge-uml-pngs.sh b/src/uml/merge-uml-pngs.sh deleted file mode 100644 index 350773e..0000000 --- a/src/uml/merge-uml-pngs.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -## only changes - -pushd src/uml - -magick CAOM1core.png CAOM2datatypes.png CAOM3vocabularies.png CAOM4entities.png \ - -append ../main/resources/draft-CAOM-2.5.png -popd -