getEditNormalPage = async (req, res, page) => {
  // set fixed states in page directly for legacy builds
  traverseSync(page.layout, {
    view(s) {
      if (s.state === "fixed" && !s.configuration) {
        const fs = page.fixed_states[s.name];
        if (fs) s.configuration = fs;
      }
    },
  });
  const options = await pageBuilderData(req, page);
  const builderData = {
    options,
    context: page,
    layout: page.layout,
    mode: "page",
    version_tag: db.connectObj.version_tag,
  };
  res.sendWrap(
    {
      title: req.__(`%s configuration`, page.name),
      requestFluidLayout: true,
    },
    wrap(renderBuilder(builderData, req.csrfToken()), true, req, page)
  );
}
open the builder
@param {*} req
@param {*} res
@param {*} page