Appearance
Build a website - pages, members, content and checkout
The real problem
Northwind needs a public website with a product catalogue, a sign-in for customers, some pages only members can read, and a checkout that takes orders. It must work on phones, and marketing should be able to change it without a developer.
The Website Designer in Studio builds this. A website is a set of pages made of sections and blocks. Every page is saved as a version, so publishing and going back are safe.
The idea in one minute
- A website holds the site-wide settings: theme, languages, members, checkout, cookie banner, network rules.
- A page is built from sections, and each section from blocks. Pages have drafts and published versions.
- Templates give a good start: corporate, portfolio, online store, restaurant and SaaS. When a template gets a newer version, you see a banner and can apply the changes as drafts. Nothing goes live by itself.
- CMS collections hold repeating content such as articles or products. A listing block can search, filter and sort a collection. Fields marked private are never shown or searched.
- Members register and sign in on the site. Pages, sections and blocks can require a membership tier or a role, and the server removes anything the visitor may not see before the page is sent.
- Checkout lets a visitor pick how to order: pay online through a payment connector, request a quote, or pay later by bank transfer or cash.
Designer path (Studio)
- Open Websites from Home, the Explorer tree or the command palette, then New and pick a template or describe the site and let the AI draft it.
- Edit pages on the canvas. Click what you want to change; the side panel shows its properties. A free-form grid mode is available when you need exact placement.
- Languages: pick the languages and use Add translation. A coverage table shows what is translated.
- Membership: switch on sign-in, choose the sign-in options (password, emailed code, emailed link, authenticator app, text message), add agreements that members must accept, and set a cookie banner if you need one.
- Checkout: add the options, tax, shipping methods, address collection and discount codes. Orders appear in the site's orders list.
- Preview as: choose a tier or role and see which pages and sections that visitor would get. The answer comes from the server, so it matches the live site.
- Publish. Review comments on pages can be assigned and resolved before you do.
Code path (CLI and MCP)
Log in once with erp login. Then:
bash
erp plugin op website-members # signed-up members
erp plugin op website-page-views --website northwind
erp plugin op website-feedback --website northwind
erp plugin op website-domain --website northwind # custom domain and its state
erp artifact list --type website
erp artifact get --type website --id 12A website and its pages are normal artifacts, so a plugin can ship them. Settings that depend on the environment, such as the domain, are not carried over when you install.
Safety and limits
- Gated content is removed on the server. Hiding it on the page is never the only protection.
- Sign-in has lockout after repeated failures, an optional bot check, and rate limits per address.
- Network rules (allow and deny lists of addresses) can be set per site.
- Members can download their data and delete their account from their account page.
- Orders are saved in the Website application's own tables. Every order change publishes an event that other plugins can subscribe to.
What is not built
- Live typing and cursor sync between two editors (merging happens on save).
- Live carrier rates, inventory checks and stackable promotions in checkout.
- Refund connectors other than Stripe.
Seeing what happened
- Studio shows page views, visitor feedback, orders and review comments per website.
- Member sign-ins and failures are recorded with the reason.
- For a server-side error, an AI coding agent can read the backend log with the
erp_tail_logstool.
