Search code examples
google-sites

How Does Google Site Directory Exactly Work?


Google Sites, in my opinion, has the best page arrangement. It has a hierarchical tree-like setting where it has both fast loading time and as well as it is very effective in creating URLs automatically. The user need not think anymore about page categories. It is just simply a list of pages and sub-pages. All you need to do is click and drag and Voila! You get your url!

But, how does the database design exactly work on Google Sites? Is this just pure XML? Is this stored in a Datastore? Is it a file system? is this pulled from a SQL Database? Or Is it just a json file arranged hierarchically?

Can anybody explain how complicated this design is?


Solution

  • Here is my best guess:

    URL Path

    • The unique ID for each page in Google Sites is the URL path.
    • The URL Path is also a dynamic string. It changes through javascript drag and drop. The URL is saved through AJAX on a single table as the primary key.
    • The pages can not be constructed if there is no parent page.
    • The pages URL path are automatically changed in web.xml/app.yaml copied from the Unique ID.
    • Each page contains title, content, etc.

    Hypothesis: Google Sites is stored in BigQuery and/or Datastore. Then, manipulated by AJAX/GWT. (But, I think this can be done in just AJAX Javascript)