How the UIs work

The Collection Zone and Resource Manager User Interface (UI) functions are served via Zope.

Most data in the CZ/RM UIs are provided by routers.

  • Routers perform actions based on JSON objects they receive
    • Some of these are get actions to display data
    • Some of these are set actions to modify data in the Zope Object Database (ZODB)

What happens when a user loads a page?

  1. The user's browser receives HTML, CSS, images, and some JavaScript
  2. That JavaScript code is then executed by the browser
  3. Much of this JavaScript renders things in the UI, and it populates data shown on the web page by making calls to various router methods

Using browser developer tools to see a page-load in action

You can use developer tools in most modern browsers to see router requests being made.

Key takeaways

  • It's heavily JavaScript driven
  • Most ZODB data shown in the UI comes from a router response
  • Most actions performed in the UI leverage a router
  • Routers are exposed to provide an external API
  • Routers invoke underlying code (facades)