Skip to content

IntraVox Editor Guide

This guide is for content editors who create and maintain pages in IntraVox.

Prerequisites

To edit content, you need: - A Nextcloud account - Editor permissions (assigned by your administrator) - Access to the relevant IntraVox sections

Editing Basics

Entering Edit Mode

  1. Navigate to the page you want to edit
  2. Click the Edit button (pencil icon) in the toolbar
  3. The page switches to edit mode

Edit Mode Interface

┌─────────────────────────────────────────────────────────────┐
│  [Save] [Cancel]                              Edit Mode     │
├─────────────────────────────────────────────────────────────┤
│  ┌──────────────┐  ┌────────────────────────────────────┐  │
│  │   Widget     │  │                                    │  │
│  │   Palette    │  │         Page Canvas                │  │
│  │              │  │                                    │  │
│  │  [Heading]   │  │   [Row 1]                         │  │
│  │  [Text]      │  │   ┌─────────────────────────┐     │  │
│  │  [Image]     │  │   │  Widget (editable)      │     │  │
│  │  [Links]     │  │   └─────────────────────────┘     │  │
│  │  [Divider]   │  │                                    │  │
│  │              │  │   [Row 2]                         │  │
│  │  [Add Row]   │  │   ┌──────────┐ ┌──────────┐       │  │
│  └──────────────┘  │   │ Widget 1 │ │ Widget 2 │       │  │
│                    │   └──────────┘ └──────────┘       │  │
│                    └────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

Saving Changes

  • Click Save to save your changes
  • Click Cancel to discard changes and exit edit mode
  • Changes are not visible to others until you save

The Save and Cancel buttons stay fixed at the top of the page when you scroll down, so you can always reach them — even on long pages.

Sticky save toolbar

The toolbar stays visible at the top while scrolling through a long page in edit mode

Editing a page in another language. If your intranet has content in several languages, you can edit any page you can open — it saves back to the language it belongs to. You never need to change your personal Nextcloud language setting first. New pages follow the structure you are working in: a sub-page joins its parent's language, and a top-level page is created in the language you are currently viewing. See Language Management.

Page Locking

When you start editing a page, IntraVox automatically locks it to prevent other users from making changes at the same time. Other users see who is editing and cannot enter edit mode until you save, cancel, or the lock expires.

  • Locks auto-expire after 15 minutes of inactivity
  • A heartbeat keeps the lock alive while you are actively editing
  • Locks are released when you save, cancel, navigate away, or close the tab
  • If your lock expires (e.g. lost connection), you receive a warning to save your work

IntraVox Admins can force-unlock a page if a lock was left behind (e.g. after a browser crash). They see an "Unlock" button next to the lock indicator.

Draft and Published Status

Pages have a status: Draft or Published. This controls who can see the page.

Draft and Published status in edit mode

In edit mode, the Draft/Published button is shown in the toolbar. Click it to toggle between Draft and Published.

How it works:

Status Visible to editors Visible to readers In search In RSS feed Via public share link
Published Yes Yes Yes Yes Yes
Draft Yes No No No No
  • Editors are users with write permission on the page folder (IntraVox Admins, IntraVox Editors, and users with write access via GroupFolder ACL)
  • Readers are users with read-only permission (regular IntraVox Users)
  • Within IntraVox, a draft page does not appear for readers anywhere: not in navigation, search results, the page tree, RSS feeds, or public share links

Important — Draft is a visibility filter, not a permission.

Draft controls what IntraVox shows. It does not change the access rights on the underlying file. Every page is stored as a JSON file in the IntraVox Team folder, and that file keeps the folder's normal Nextcloud permissions. Anyone who is allowed to read the folder can therefore still reach a draft page's content through:

  • the Files app or WebDAV (browsing to the page folder directly)
  • Unified Search / Full-text search on the file contents
  • the Activity stream and notifications ("… updated page-x.json")
  • Versions and the Trash bin
  • Collabora/Office if someone opens the file directly
  • desktop and mobile sync clients
  • any MetaVox metadata stored alongside the page

Do not use Draft for confidential content. If a page must genuinely be unreadable for a group of people, restrict access on the folder itself with Team folder (GroupFolder) advanced permissions, or keep the content outside IntraVox until it is ready.

New pages start as Draft. When you create a new page (blank or from a template), it is automatically set to Draft and opens in edit mode. This way you can build your page before making it visible to readers.

Toggling the status: 1. Enter edit mode 2. Click the Draft or Published button in the toolbar (with the eye icon) 3. The status changes immediately — save the page to apply

Best practices: - Use Draft to prepare new pages or major updates before publishing - Remember that setting a published page to Draft makes it immediately invisible to readers inside IntraVox - Only editors (users with write permission) can see and change the page status - For genuinely confidential material, rely on folder permissions — not on Draft

Scheduled publishing (Publish on / Expire on)

Instead of publishing by hand, you can let a date decide. If your administrator has configured publication date fields (see News Widget → Publication Date Filtering), every page gets a Publish on and optionally an Expire on field in the MetaVox tab of the details sidebar (the ⓘ button, available in both view and edit mode).

A page is always in exactly one of three states:

State When Visible to readers
Draft No publish date, and you set the page to Draft No
Scheduled The publish date is in the future No — until that moment
Published The publish date has passed, or the page is published with no date Yes

Editors always see the page, with a Scheduled or Expired badge next to the title.

The date wins. As soon as a page has a Publish on date, that date controls publication and the manual Draft/Published button is ignored — the button is replaced by a read-only chip showing the effective state. This prevents the contradiction of a page marked "Draft" whose publish date has long passed.

To go back to manual control, clear the Publish on date. The Draft/Published toggle then becomes active again.

How to schedule a page: 1. Open the page and click to open the details sidebar 2. Go to the MetaVox tab 3. Set Publish on to the date and time the page should go live — fill in both; MetaVox only offers its Save button once the field holds a complete date and time 4. Save the metadata. The page shows Scheduled until that moment, then becomes visible automatically

No background job is needed — the state is evaluated the moment someone looks at the page. The time of day counts: a page scheduled for 15:00 today stays hidden until 15:00.

Administrators — set the instance timezone. Publish and expiration times are naive (they carry no timezone of their own), so IntraVox interprets them in the instance timezone: the logtimezone system setting, falling back to the viewer's Nextcloud timezone and then to the server's. Many servers run on UTC, which means anonymous share visitors — who have no personal timezone — would see a page appear at the wrong local time (two hours late for a CEST office). Set it once so every visitor, logged in or not, gets the same moment:

occ config:system:set logtimezone --value=Europe/Amsterdam

Expiration works the same way in reverse: once the Expire on date has passed, the page is hidden from readers again and shows an Expired badge for editors.

The same caveat as Draft applies: Scheduled and Expired are visibility filters inside IntraVox, not access permissions. The page file remains readable for anyone with access to the folder.

Page Structure

Rows

Pages are organized in rows. Each row can have: - 1-5 columns - A background color - Multiple widgets - Collapsible section (with title, default collapsed/expanded)

Pages can also have a header row (full-width banner at the top) and optional side columns (left or right sidebar).

Adding a row: 1. Click "Add Row" at the bottom of the page 2. Select the number of columns 3. The new row appears at the bottom

Configuring a row: 1. Hover over the row 2. Click the settings icon 3. Change columns or background color

Collapsible Sections

Rows can be made collapsible, allowing users to expand and collapse content sections. This is useful for FAQ pages, long content, or optional details.

Collapsible section settings in edit mode

Edit mode: enable "Collapsible section", set a section title, and optionally check "Collapsed by default"

Setting up a collapsible row: 1. Hover over the row and click the settings icon 2. Check Collapsible section 3. Enter a Section title (displayed as the clickable header) 4. Optionally check Collapsed by default to hide content on page load

Collapsible section in view mode — expanded (left) and collapsed (right)

View mode: users click the arrow to toggle the section open or closed

Best practices: - Use descriptive section titles so users know what to expect - Use "Collapsed by default" for supplementary content that not everyone needs - Keep frequently accessed content expanded by default

Real-world example — FAQ page with multiple collapsible sections:

Collapsible sections in a published page

A typical FAQ-style page: the first section is expanded with content visible, the rest stay collapsed until clicked.

Multiple collapsible rows in the editor

Edit mode: stack several collapsible rows. Each has its own title and "Collapsed by default" setting.

Duplicating a row:

You can duplicate a complete row, including all its columns and widgets.

Duplicate row button in row controls

Click the copy icon in the row controls to duplicate the row

  1. Hover over the row
  2. Click the copy icon (next to the delete icon)
  3. A copy of the row appears directly below, with all widgets duplicated
  4. Edit the copy independently — changes do not affect the original

This is useful for pages with repeating layouts, such as department cards or FAQ sections.

Deleting a row: 1. Hover over the row 2. Click the delete icon 3. Confirm deletion

Columns

Rows can have 1-5 columns:

Layout Description
1 column Full width content
2 columns Split 50/50
3 columns Three equal columns
4 columns Four equal columns
5 columns Five equal columns

Side Columns

Pages can have optional side columns: - Left sidebar - Right sidebar

Enable in page settings.

Widgets

Widgets are the building blocks of page content.

Available Widgets

The widget palette showing all available widget types

Adding Widgets

  1. In the widget palette, click the widget type
  2. Drag it to the desired location on the page
  3. Or click to add to the first available column

Widget Types

Heading

Titles and section headers.

Options: - Level: H1 (largest) to H6 (smallest) - Content: The heading text

Best practices: - Use H1 for page title (one per page) - Use H2 for main sections - Use H3-H4 for subsections

Link to a section. Every heading is also an anchor. Hover a heading (in view mode) and a small link icon appears next to it; click it to copy a direct link to that section — for example …?page=…#h-holiday-schedule. Opening that link loads the page and jumps straight to the heading. This works for headings inside a Text widget too, and in public share links, so you can point colleagues at one specific part of a long page.

Text

Rich text content with formatting.

Formatting options: - Bold (Ctrl+B) - Italic (Ctrl+I) - Underline (Ctrl+U) - Bullet lists - Numbered lists - Links

Dummy text generator (Easter Egg):

Need placeholder text while designing your page? Type a special command on an empty line and press Enter to generate dummy content — inspired by Microsoft Word's =rand() command.

Dummy Text Generator - Dad Jokes

Dad jokes with rich formatting: headings, numbered lists, bold setup and italic punchlines

Dummy Text Generator - Lorem Ipsum

Lorem Ipsum showcase: headings, paragraphs, blockquotes, lists, tables, and inline marks

Command Description Example
=dadjokes() Generate dad jokes =dadjokes(3,5) → 3 sections of 5 jokes
=lorem() Rich Lorem Ipsum showcase =lorem(6,3) → 6 sections with varied formatting

Parameters: =(command)(sections, items) — both optional, default is 3 sections with 3 items each. Maximum is 20 for both values.

How it works: 1. Click in a text widget in edit mode 2. Type =dadjokes() or =lorem() on an empty line 3. Press Enter 4. The command is replaced with generated content

Rich formatting:

Both commands generate richly formatted content that showcases the text widget's capabilities:

=dadjokes() generates: - Section headings (e.g., "Dad Jokes #1", "Dad Jokes #2") - Numbered lists with each joke as a list item - Bold setup text and italic punchlines

=lorem() rotates through 6 formatting patterns to demonstrate all widget features:

Pattern Elements used
Heading + paragraph <h2> heading, bold and italic text
Blockquote Indented quote block
Bullet list <ul> with bold fragments
Table 3-column table with header, bold categories, italic statuses
Ordered list <h3> heading + <ol> numbered list with italic
Mixed inline code, underline, ~~strikethrough~~, bold, italic

With =lorem(6,3) you get one of each pattern — perfect for demonstrating the full text widget to users.

Multilingual support:

Both commands automatically adapt to the user's Nextcloud language:

Language Dad jokes heading Lorem headings
English Dad Jokes Section, Key Points, Overview, Steps, Additional Notes
Nederlands Flauwe Grappen Sectie, Kernpunten, Overzicht, Stappen, Aanvullende Opmerkingen
Deutsch Flachwitze Abschnitt, Kernpunkte, Übersicht, Schritte, Zusätzliche Hinweise
Français Blagues de Papa Section, Points Clés, Aperçu, Étapes, Notes Complémentaires

Each language has its own collection of ~80 dad jokes. Table column headers and status labels are also localized. If no translation is available for the user's language, English is used as fallback.

All content is built into IntraVox (no internet connection required) and is randomly shuffled each time, so you get different content every time.

Image

Photos, diagrams, and graphics with optional clickable links.

Options: - Image source: Select from IntraVox media folder or upload new - Alt text: Description for accessibility - Object fit: Cover, contain, or auto - Link (optional): Make the image clickable - Link to page: Navigate to an IntraVox page - External URL: Open an external website

Image sizes: - Small: Thumbnail size - Medium: Half width - Large: Full width - Custom: Specify pixel width

Best practices: - Use descriptive alt text - Optimize images before upload (< 500KB) - Use appropriate aspect ratios - Use clickable images for navigation cards and banners

Video

Embed videos from external platforms or upload local videos.

Video widget editor with platform detection

Paste a YouTube / Vimeo / PeerTube URL and IntraVox detects the platform automatically. Switch to Local file for an MP4 upload.

Supported platforms: - YouTube (privacy-enhanced mode) - Vimeo - PeerTube instances - Local video upload (MP4)

Options: - Video URL: Paste a video URL from a supported platform - Upload: Upload a video file to Nextcloud storage - Title: Display title above the video - Autoplay: Start video automatically (muted) - Loop: Repeat video when finished

Video widget rendered on a published page

A YouTube embed shown next to other widgets on a published homepage.

Blocked domains:

If the administrator has not whitelisted the video platform you tried to embed, the widget shows a warning placeholder instead of the player:

Blocked video domain placeholder

Ask your administrator to enable the platform under Settings → IntraVox → Video Services.

Best practices: - Use privacy-friendly platforms when possible - Keep uploaded videos under 100MB for performance - Always add a descriptive title - Check that the video domain is whitelisted by your administrator

Collections of links displayed as cards or lists.

Options: - Title: Link title - Description: Short description - URL: Destination (page or external) - Icon: Optional icon - Target: Same window or new tab - Columns: 1-4 columns for card layout

Best practices: - Group related links together - Use descriptive titles - Indicate external links

File

Link to a downloadable file.

Options: - Path: File path within IntraVox storage - Name: Display name for the file link

Best practices: - Use descriptive file names - Keep file paths organized in folders

Divider

Visual separators between content sections.

Options: - Style: Solid, dashed, or transparent - Color: Line color (or inherit) - Height: Line thickness or space height

Spacer

Adds vertical space between content sections.

Options: - Height: 10-200 pixels (default: 20)

News

Dynamic news feed showing the latest pages.

Layout options: - List: Vertical list of articles - Grid: Card grid with configurable columns - Carousel: Auto-scrolling slider

Options: - Limit: Maximum number of articles (default: 5) - Show image, date, excerpt: Toggle visibility - Excerpt length: Characters to show - Sort by: Modified date, created date, or title - Autoplay interval (carousel only): Seconds between slides

For detailed documentation, see NEWS_WIDGET.md.

People

User directory widget showing team members.

Layout options: - Card: Profile cards with avatar and details - List: Compact list view - Grid: Avatar grid with configurable columns

Selection modes: - Filter: Show users matching filter criteria (recommended for portability) - Manual: Select specific users by ID

Options: - Columns: 1-4 columns - Limit: Maximum users to display - Show fields: Toggle avatar, name, role, department, phone, email, etc. - Sort by: Display name, last login, etc.

For detailed documentation, see PEOPLE_WIDGET.md.

Calendar

Display upcoming events from shared Nextcloud calendars with colored date badges and responsive grid layout.

Options: - Calendars: Select one or more calendars (merged view with color coding) - Date range: Future (this week to next year) or past (past week to past 3 months) - Limit: Maximum number of events to display (1-20) - Show time: Toggle event time visibility - Show location: Toggle event location visibility

Features: - Recurring events are automatically expanded into individual occurrences - Events are clickable and open in Nextcloud Calendar - Layout adapts automatically: 1 column in side columns, 2-3 columns in wider areas

For detailed documentation, see CALENDAR_WIDGET.md.

Editing Widgets

  1. Click on a widget to select it
  2. Use the toolbar or properties panel to edit
  3. Changes appear immediately

Moving Widgets

Drag and drop: 1. Click and hold a widget 2. Drag to new position 3. Release to place

Between columns: - Drag widgets between columns in the same row

Between rows: - Drag widgets to different rows

Deleting Widgets

  1. Select the widget
  2. Click the delete icon (trash)
  3. Widget is removed immediately

Working with Media

Uploading Images

Via the Editor (recommended): 1. Add or edit an Image widget 2. Click "Upload" in the image editor 3. Select an image from your computer 4. The image is automatically uploaded to the _media/ folder

Via Nextcloud Files: 1. Open Nextcloud Files 2. Navigate to IntraVox folder > your language > _media/ 3. Upload your image 4. Return to IntraVox and select the image

Selecting an existing image — three tabs:

Selecting from the page's own media folder

The image picker has three tabs: Upload for new files, Page Media for images already in the current page's _media/ folder, and Shared Library for site-wide assets.

Shared Library tab with site-wide assets

The Shared Library keeps reusable assets like backgrounds, icons and logos that should be available across all pages.

Uploading Videos

Local video upload: 1. Add a Video widget 2. Click "Upload video" 3. Select an MP4 file from your computer 4. The video is uploaded to the _media/ folder

External video: 1. Add a Video widget 2. Paste a video URL (YouTube, Vimeo, PeerTube) 3. The video is embedded from the external platform

Media Guidelines

Type Recommended Size Format
Hero images 1920x600 px JPG
Content images 800x600 px JPG/PNG
Icons 64x64 px PNG/SVG
Logos 200x100 px PNG/SVG
Videos 1920x1080 px max MP4 (H.264)

Media Optimization

Before uploading: 1. Resize to appropriate dimensions 2. Compress to reduce file size 3. Use JPG for photos, PNG for graphics 4. Keep image files under 500KB 5. Keep video files under 100MB for best performance

Page Structure

The Page structure panel opens from the button next to the breadcrumb, on the same level as the Details button (ℹ️) and mirrored against it: structure on the left, details on the right. Since 2.2.0 it is a panel beside the content rather than a pop-up, so it stays open while you click from page to page — it is a table of contents, not a dialog you dismiss.

The Page structure panel open beside a page, with the Pages and On this page tabs

The panel stays open while you navigate. The two tabs at the top switch between the page tree and the headings of the page you are reading.

The panel has two tabs:

  • Pages — all your actual pages in a tree. Browse the hierarchy and click any page to open it.
  • On this page — the headings of the page you are currently reading. See On this page below.

Whether the panel is open, and which of the two tabs you last used, is remembered as you navigate and when you reload. On screens narrower than 1024px the panel becomes an overlay over the content instead of pushing it aside.

The details sidebar on the right (the ⓘ button, with the Details, Versions, Translations and MetaVox tabs) behaves the same way since 2.2.0: the button is a real toggle that both opens and closes it, it stays open while you move to another page — following along with the page you are on — and it keeps its position on screen while you scroll.

Switching on Manage structure (available where you have edit rights) turns each row of the Pages tab into a set of controls for organizing the real pages — this is different from Edit navigation, which only changes the links in the navigation bar and their order.

Page structure in manage mode, with per-row controls and the two guidance banners

Manage mode: each page has rename, move, reorder, set-as-homepage, copy and delete controls. The current homepage (badged "Home") cannot be moved or deleted.

What you can do per page

  • Reorder — the up (↑) and down (↓) arrows move a page among its siblings. The arrows are disabled at the top and bottom of a list.
  • Move to another page — the folder arrow opens an inline panel where you choose a new parent, or flip Move to the top level to promote the page to the root. The page's sub-pages move with it. A page cannot be moved into itself or one of its own descendants, and the maximum nesting depth (5 levels) is respected.
  • Rename — the pencil icon opens a small dialog to change the page's title. By default only the title changes, and every link to the page keeps working. Since 2.0.1 the dialog also offers Also rename the page's folder, with a preview of the old and new name: tick it and the folder in the Team folder follows the title, so rights management stays readable. The option is pre-selected while the folder still carries its title-derived name, and off when someone deliberately named the folder something else; the homepage never offers it. Sub-pages, images and files travel along, and links by page ID, share links and version history all keep working — only very old links that use the folder name in the address stop working. If the page's navigation-menu label still matched the old title, it is updated automatically; a label you deliberately set to something else is left untouched. You can also rename the page you are viewing from Rename page in the page actions (⋯) menu.
  • Set as homepage — the house icon makes a page the landing page for the current language. Only top-level pages can be the homepage; to make a sub-page the homepage, move it to the top level first.
  • Copy — duplicates the page as a new Draft titled "… (copy)", with its media, so you can adapt it without touching the original. The copy is an independent page: it starts unlinked, so it is never offered to readers as a language version of the original. To make a version in another language, use the Translations tab instead.
  • Delete — removes the page after a confirmation prompt.

The homepage is protected

The current homepage carries a Home badge and cannot be moved or deleted — reassign the homepage to another page first, then the original becomes an ordinary page you can move or remove. See Configuring the homepage below.

All of these controls respect your permissions: you only see them for pages you may edit, and the server enforces the same rules, so nothing can be reordered, moved, copied or deleted outside your rights. The Manage structure button itself appears whenever you can manage any page in the tree, not only pages at the top level.

Special characters in titles

Page titles can contain any character, including apostrophes and ampersands (Collega's, R&D), quotes, and accented or non-Latin letters (Müller, Café, naïef). The title displays exactly as you typed it, on the page, in the breadcrumb and in the navigation. The page's folder address is derived separately and transliterates accents so the URL stays clean (Müllermuller, Cafécafe).

If you are upgrading from an older version and see a title rendered with a literal HTML entity such as Collega&apos;s or Caf&eacute;, your administrator can clean up the stored data in one step — see Repairing entity-encoded titles in the admin guide.

Duplicate folder names

A folder name only has to be unique among its direct neighbours — the pages sharing the same parent. Two pages in different places may carry the same name, so a "Team" page under About and another under Sales both get the clean address team. When the name really is taken next door, IntraVox appends a number: team-2, team-3.

Because each language is a separate tree, a translation keeps the name of the page it was made from. Titles are never affected — only the folder address, and only when two neighbours would otherwise collide.

On this page

Since 2.2.0. The second tab of the Page structure panel lists the headings of the page you are reading, so a long page gets a table of contents without anyone having to maintain one. Click a heading to jump to that section. The heading you are currently reading is marked, and the marker follows along as you scroll.

Indentation is relative to the page: a page whose highest heading is an H2 starts flush left rather than indented once, so the list shows the shape of the page instead of the level numbers you happened to use.

The list is read from the page as it is rendered, not from the stored layout. That is what makes it complete: IntraVox has two kinds of headings — stand-alone Heading widgets and headings written inside a Text block — and only the rendered page has both, in reading order. Two consequences follow from this:

  • Headings inside a collapsed section stay out of the list until you open that section. You cannot jump to something that is not on screen, so listing it would be a dead end.
  • A version preview shows that version's headings, because the list simply reflects whatever is currently rendered.

Heading widgets are listed at every level (H1 through H6). Headings written inside a text block are listed from H1 through H4 — deeper ones inside a text block are treated as ordinary emphasis and get no anchor to jump to. A page without headings shows a short note saying so.

While you are editing a page, the panel falls back to the Pages tab: headings only get their anchors in the rendered page, so there would be nothing to list. Your tab choice is not forgotten — leave edit mode and the table of contents is back.

Linking to a section

Clicking a heading in the list puts a link to that section in the address bar, which you can copy and share. The address names both the page and the section (#<pageId>#h-<section>), so the link opens the right page and scrolls to the right place.

Links you shared before 2.2.0 used a shorter format that named only the section. Those keep working on the page that is already open, but they cannot name a page on their own — re-copy the link if you want one that survives being shared.

Configuring the homepage

Any top-level page can be the homepage for a language. In Manage structure, click the house icon on the page you want, and it immediately becomes the landing page at …/apps/intravox/. The change is a pointer — the page is never renamed or moved — so existing links keep working.

Editing Navigation

  1. Click Edit Navigation in the toolbar (requires admin permission)
  2. The navigation editor opens
Navigation
├── Home (links to homepage)
├── About
│   ├── Our Company
│   └── Team
├── Departments (dropdown)
│   ├── HR
│   ├── Sales
│   └── IT
└── External Links
    └── Company Website (external URL)

Adding Navigation Items

  1. Click "Add Item"
  2. Enter title
  3. Select destination:
  4. Page: Link to IntraVox page (by uniqueId)
  5. URL: External website
  6. None: Parent menu only
  7. Set target (same window or new tab)
  8. Save navigation

Megamenu: Large dropdown showing all items at once Dropdown: Cascading menus that expand on hover

Best Practices

  • Keep navigation depth to 5 levels maximum
  • Use clear, concise labels
  • Group related items together
  • Test on mobile devices
  1. Click Edit Footer in the toolbar
  2. Enter footer content using Markdown
  3. Save changes

Typical footer includes: - Copyright notice - Links to legal pages - Contact information

Example:

© 2025 Company Name - [Contact](#) | [Privacy](#) | [Help](#)

Creating New Pages

New pages are always created as Draft and open directly in edit mode, so you can start building your content right away. The page is invisible to readers until you set the status to Published and save.

From Navigation

  1. Edit navigation
  2. Add new item with desired title
  3. Leave uniqueId empty
  4. Save navigation
  5. Navigate to the new item
  6. IntraVox creates the page automatically (as Draft, in edit mode)

Page Files

Every page is a folder holding a JSON file of the same name, plus its own _media folder for the images used on it:

IntraVox/
└── en/
    └── section/
        └── new-page/
            ├── new-page.json
            └── _media/

The folder name is the page's address. Sub-pages are folders inside their parent's folder, and each language is a separate tree — so en/ and nl/ can both hold a new-page.

Translations

Since 2.0. A page can be linked to its versions in other languages. Open the page sidebar (the ⓘ button, or … menu → Translations) and use the Translations tab. On a single-language intranet none of this appears.

Creating a page in another language

  1. Pick a language under Create this page in another language
  2. Click Create

The Translations tab: linked versions and create-in-another-language

The content is copied as a starting point — including the page's images — and saved as a draft in the same position in the target language's tree, under the same folder name as the page it was made from. From then on both pages are fully independent: translating one never changes the other. The new page is linked to the source automatically, so readers of either version can find the other.

If parent pages do not exist in the target language yet, the panel says so before you create. The new page still lands in the right place; the missing levels show up in the page tree as grey, non-clickable folder names until you translate those pages too.

A placeholder level in the page tree: grey, italic, not clickable

Linking pages that already exist

Wrote both versions by hand in the past? Link them under Link an existing page as a translation. Only pages that are not already part of another translation set are offered, so linking can never silently pull a page out of an existing set. Linking requires edit permission on both pages.

Unlinking

Unlink detaches this page from its set; the other versions stay linked to each other. Nothing is deleted.

What readers see

The reader notice with its one-click switch

A reader who opens a page in another language gets a short notice above the content — and a one-click Read it in … switch when a version in their language exists. Draft translations are never offered to readers, so an unfinished translation stays yours until you publish it.

MetaVox metadata

The MetaVox tab in the page sidebar

When the MetaVox app is installed, the page sidebar gains a MetaVox tab showing the metadata fields configured for the Team Folder — the same fields, with the same behaviour, as the file's MetaVox panel in the Files app. Save only appears once you actually change something.

A copy or translation of a page starts with empty metadata of its own: metadata describes one page, and a new page has not been described yet. The same applies to comments and reactions.

Best Practices

Content Guidelines

  1. Clear headings: Use descriptive headings
  2. Short paragraphs: Break up long text
  3. Visual hierarchy: Use consistent styling
  4. Call to action: Guide users to next steps
  5. Fresh content: Update regularly

Consistency

  1. Use the same heading levels across pages
  2. Maintain consistent image sizes
  3. Follow your organization's style guide
  4. Use approved terminology

Accessibility

IntraVox meets WCAG 2.1 Level AA requirements. As an editor, you can help maintain accessibility:

  1. Always add alt text to images (describes the image for screen readers)
  2. Use proper heading hierarchy (H1 → H2 → H3, don't skip levels)
  3. Ensure sufficient color contrast
  4. Make link text descriptive ("Read the policy" not "Click here")
  5. Add titles to video widgets

Performance

  1. Optimize images before upload
  2. Don't overload pages with widgets
  3. Use appropriate image sizes
  4. Test load times

Troubleshooting

Can't Enter Edit Mode

  • Check you have edit permissions
  • Refresh the page
  • Contact administrator

Changes Not Saving

  • Check internet connection
  • Try again after a few seconds
  • Check for validation errors
  • Contact IT support

Images Not Appearing

  • Verify image was uploaded to the _media/ folder
  • Check image path is correct
  • Ensure image format is supported
  • Try re-selecting the image

Videos Not Playing

  • Check that the video URL is from a whitelisted platform
  • For local videos: Verify the file was uploaded correctly
  • For external videos: Check the URL is correct and publicly accessible
  • If blocked: Contact your administrator to whitelist the video domain

Widget Not Working

  • Check widget configuration
  • Try removing and re-adding
  • Clear browser cache
  • Report issue to administrator

Keyboard Shortcuts

Shortcut Action
Ctrl+S Save page
Ctrl+B Bold text
Ctrl+I Italic text
Ctrl+U Underline text
Escape Cancel edit / close dialog
Delete Remove selected widget

Getting Help

  • Technical issues: Contact IT support
  • Content questions: Ask your content lead
  • Feature requests: Submit via your organization's process
  • Documentation: See other guides in the docs folder