Every page here is an ordinary artifact page in an iec-portal project. The site just says which page lives at which address.
Build the pagesWrite them as artifacts in the portal, or ask JCI to: create_page type:"artifact".
Make the siteIn the HypeSites tile, or with create_site: mount pages at paths, and grant the table columns the site may use.
PublishPublishing freezes the pages as a version. Edit freely afterwards; nothing public changes until you publish again, and any earlier version can be restored.
Collect and show dataHypeSite.data('features') reads rows; HypeSite.submit('waitlist', row) adds one. Only the columns you ticked are ever exposed.