Skip to content

The Design and Structure of SQLFlow.org

Yi Wang edited this page Sep 25, 2019 · 2 revisions

SQLFlow.org is the Web page of the project SQLFlow.

I bought the domain name SQLFlow.org on Google Domains. And I set on Google Domains to make SQLFlow.org points to the URL https://sql-machine-learning.github.io/.

The URL https://sql-machine-learning.github.io/ is rendered by Github Pages from the content in the repo https://github.com/sql-machine-learning/sql-machine-learning.github.io, which is referred to by the name Web site repo or site repo.

In the root directory of the site repo, there are some Git submodules, including

elasticdl @ 27dc918	
gohive @ 7240393
gomaxcompute @ 1972bac
pysqlflow @ d6f96ac
sqlflow @ 575353d

Each submodule points to a Github repo. For example, sqlflow refers to a version of https://github.com/sql-machine-learning/sqlflow. We refer to a repo pointed by a submodule by the name submodule repo.

In the root directory of a submodule repo, there is a file index.html, which contains HTML redirect directives. For example, https://github.com/sql-machine-learning/sqlflow/blob/develop/index.html redirects to https://github.com/sql-machine-learning/sqlflow.

All the above mechanisms form a redirect path:

  1. Suppose that users type URL https://sqlflow.org/sqlflow in the Web browser,
  2. the DNS redirects it to https://sql-machine-learning.github.io/sqlflow.
  3. Github Pages renders this URL using content in https://github.com/sql-machine-learning/sql-machine-learning.github.io/sqlflow/index.html, which
  4. is actually https://github.com/sql-machine-learning/sqlflow/blob/575353d451ae5b4bdb27ebbd281860e3847c227f/index.html, which
  5. contains the redirect directive to https://github.com/sql-machine-learning/sqlflow.
  6. So, the user has the Github repo displayed in her Web browser.

With the above redirection chain, users can access https://github.com/sql-machine-learning/sqlflow with a short name https://sqlflow.org/sqlflow. Similarly, we have sqlfow.org/gohive, sqlflow.org/gomaxcompute, sqlflow.org/pysqlflow, etc.

Clone this wiki locally