Website

Sivut ja lomakkeet

MarkkinapaikkaSisältö ja asiakirjatVersio 0.2.0manifest

Mihin se on tarkoitettu ​

Hold the content of a public website: pages, menus, blog posts and the form submissions visitors send. This app stores and organises content; something else renders it. Publishing needs approval.

Mitä paketti tekee ja mitä ei ​

Content for a public website: pages with a slug and a draft, published, archived flow, navigation menu items, blog posts with a byline and a publish date, translations of both, and the form submissions visitors send in. When the instance runs with the public site enabled it serves the published content to visitors as a server-rendered website with SEO and no login; only the fields marked public are ever visible to them. Publishing makes content public and needs a human approval, agents may only propose it. Senders are personal data and are never public.

Mallit ​

website_page ​

A page of the website

Lukuryhmä: website.user. Kirjoitusryhmä: website.user.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
titletextnoneeiwebsite.userselkoisenaPage title
slugtextnoneeiwebsite.userselkoisenaURL path of the page without slashes at the ends, lowercase with dashes, for example about-us. The page with slug home is the front page
bodylongtextnoneeiwebsite.userselkoisenaPage content in Markdown (a safe subset: headings, lists, links, emphasis, code, quotes, tables)
seo_titletextnoneeiwebsite.userselkoisenaTitle shown in search results; empty means the page title
seo_descriptiontextnoneeiwebsite.userselkoisenaDescription shown in search results
published_ondatenoneeiwebsite.userselkoisenaDay the page went public (YYYY-MM-DD)
stateselect (draft, published, archived)noneeiwebsite.userselkoisenaPage status: draft, published, archived

website_menu_item ​

An entry of the site navigation

Lukuryhmä: website.user. Kirjoitusryhmä: website.manager.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
labeltextnoneeiwebsite.userselkoisenaText shown in the menu
urltextnoneeiwebsite.userselkoisenaWhere the entry leads: a page slug starting with a slash or a full address
parent_idref → website_menu_itemnoneeiwebsite.userselkoisenaThe entry this one is nested under; empty for a top-level entry
sequencenumbernoneeiwebsite.userselkoisenaOrder among its siblings, lowest first
visibleboolnoneeiwebsite.userselkoisenaWhether the entry is shown
new_windowboolnoneeiwebsite.userselkoisenaWhether the link opens in a new window

website_blog_post ​

A blog post

Lukuryhmä: website.user. Kirjoitusryhmä: website.user.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
titletextnoneeiwebsite.userselkoisenaPost title
slugtextnoneeiwebsite.userselkoisenaURL part of the post, lowercase with dashes
author_nametextpublic_directorykylläwebsite.usermaskattuName of the author, for the team's own records
bylinetextnoneeiwebsite.userselkoisenaAuthor line shown publicly, for example the team or brand name; use a name here only if the person agreed to it
summarytextnoneeiwebsite.userselkoisenaTeaser shown in listings
bodylongtextnoneeiwebsite.userselkoisenaPost content in Markdown (a safe subset: headings, lists, links, emphasis, code, quotes, tables)
tagstextnoneeiwebsite.userselkoisenaComma-separated tags, for example news,product
published_ondatenoneeiwebsite.userselkoisenaDay the post is dated (YYYY-MM-DD)
stateselect (draft, published, archived)noneeiwebsite.userselkoisenaPost status: draft, published, archived

website_form_submission ​

A message a visitor sent through a form on the site

Lukuryhmä: website.user. Kirjoitusryhmä: website.user.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
form_nametextnoneeiwebsite.userselkoisenaWhich form it came from, for example contact
sender_nametextinternalkylläwebsite.usermaskattuName the visitor gave
sender_emailtextinternalkylläwebsite.usermaskattuEmail address the visitor gave
sender_phonetextinternalkylläwebsite.usermaskattuPhone number the visitor gave
messagelongtextinternalkylläwebsite.usermaskattuWhat the visitor wrote
source_pagetextnoneeiwebsite.userselkoisenaSlug of the page the form was on
submitted_ondatenoneeiwebsite.userselkoisenaDay of the submission (YYYY-MM-DD)
consent_givenboolnoneeiwebsite.userselkoisenaWhether the visitor ticked the consent box for being contacted
stateselect (new, handled, spam)noneeiwebsite.userselkoisenaHandling status: new, handled, spam

website_page_translation ​

A page translated into another language; the public site shows it to visitors who read that language

Lukuryhmä: website.user. Kirjoitusryhmä: website.user.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
page_idref → website_pagenoneeiwebsite.userselkoisenaThe page this translates
langselect (en, de, fr, pl, fi, sv, es)noneeiwebsite.userselkoisenaLanguage of the translation: en, de, fr, pl, fi, sv or es
titletextnoneeiwebsite.userselkoisenaTranslated page title
bodylongtextnoneeiwebsite.userselkoisenaTranslated page content in Markdown
seo_titletextnoneeiwebsite.userselkoisenaTranslated title shown in search results
seo_descriptiontextnoneeiwebsite.userselkoisenaTranslated description shown in search results
publishedboolnoneeiwebsite.userselkoisenaWhether the translation is shown; it is only reachable while its page is published

website_blog_post_translation ​

A blog post translated into another language

Lukuryhmä: website.user. Kirjoitusryhmä: website.user.

KenttäTyyppiTietoluokkaHenkilötietoRyhmäAgentit näkevätKuvaus
post_idref → website_blog_postnoneeiwebsite.userselkoisenaThe post this translates
langselect (en, de, fr, pl, fi, sv, es)noneeiwebsite.userselkoisenaLanguage of the translation: en, de, fr, pl, fi, sv or es
titletextnoneeiwebsite.userselkoisenaTranslated post title
summarytextnoneeiwebsite.userselkoisenaTranslated teaser
bodylongtextnoneeiwebsite.userselkoisenaTranslated post content in Markdown
publishedboolnoneeiwebsite.userselkoisenaWhether the translation is shown; it is only reachable while its post is published

Työnkulut ​

website_page ​

ToimintoSiirtääKuka voi suorittaaHyväksyntä
website_page.publishstate: draft → publishedwebsite.managerkyllä
website_page.unpublishstate: published → draftwebsite.managerei
website_page.archivestate: published → archivedwebsite.managerei

website_blog_post ​

ToimintoSiirtääKuka voi suorittaaHyväksyntä
website_blog_post.publishstate: draft → publishedwebsite.managerkyllä
website_blog_post.unpublishstate: published → draftwebsite.managerei
website_blog_post.archivestate: published → archivedwebsite.managerei

website_form_submission ​

ToimintoSiirtääKuka voi suorittaaHyväksyntä
website_form_submission.handlestate: new → handledwebsite.userei
website_form_submission.mark_spamstate: new → spamwebsite.userei

Käyttöoikeusryhmät ​

Tämän sovelluksen käyttämät ryhmät:

  • website.manager
  • website.user

Hyväksyntävaiheet ​

Vaiheet, joita agentti voi vain ehdottaa:

  • website_page.publish
  • website_blog_post.publish

Mitä agentit voivat ja eivät voi tehdä ​

Agentti voi lukea, hakea, luoda ja päivittää tämän sovelluksen tietueita sekä suorittaa toiminnot, jotka eivät vaadi hyväksyntää, tunnisteensa käyttöoikeusryhmien rajoissa.

Se voi vain ehdottaa näitä vaiheita, ja ihmisen on hyväksyttävä ne: website_page.publish, website_blog_post.publish, website_page.delete, website_menu_item.delete, website_blog_post.delete, website_form_submission.delete, website_page_translation.delete, website_blog_post_translation.delete.

Henkilötiedot maskataan paikkamerkeiksi: website_blog_post.author_name, website_form_submission.sender_name, website_form_submission.sender_email, website_form_submission.sender_phone, website_form_submission.message.

Riippuvuudet ​

Ei ole.

Asennus ​

Asenna se Customize-sovelluksesta (Marketplace) tai komentoriviltä:

bash
obop modules install-from website

Vaatii tietokannan ja ylläpitäjän oikeudet.

Tee oma ​

Moduulioppaassa näytetään, miten tällaiset sovellukset kirjoitetaan