Flow Connect Help
Roadmap
  • ℹ️This is Flow Connect
    • Overview
    • Technical overview
      • System requirements
    • What's new?
      • Change log
  • ▶️quick start
    • Create an application
    • Create an admin access group
  • 🔁working with Connect
    • Connect to systems
      • Connector agents
        • Add agent group
        • Install agent manager
        • Add agent
        • Manage agent
      • Connectors
        • IFS Applications 10
        • Oracle
        • Microsoft SQL Server
        • Send Email
        • REST
          • Microsoft Graph API
          • Infor M3 REST
            • Obtaining Infor ION API file
            • Configure REST Connector with ION API file
          • IFS Cloud
            • IAM Client Registration
            • Obtaining end-point info from IFS Cloud
            • Configure REST Connector for IFS Cloud
        • File System
      • Redirect URIs
    • Create and design
      • Application packages
      • Applications
        • Create
        • Design
        • Test
        • Commit
      • Portal Pages
        • Create Portal Page
        • Design Portal Page
        • Commit Portal Page
      • Components
        • Create component
        • Manage component
      • Modules
        • Create module
        • Manage module
      • Automations
        • Functionality
        • Create Automation
        • Manage Automation
        • Creating Access Key
        • Executing Automations Externally
          • IFS Cloud
          • Salesforce Apex Trigger Example
    • Deploy
      • Environments
      • Deploy
    • Use
      • On mobile devices
      • In web browser - Web client
      • In web browser - Portal
    • Share
      • Share Applications
    • User administration
      • Users
        • Invite a new user
        • Manage users
      • User groups
        • Create user groups
        • Manage user groups
      • Access
        • Manage access
  • ⏸️Reference
    • How-to guides
      • Create User Step controls
        • Header
        • Static text
        • Labelled static text
        • Link
        • Image viewer
        • Text input
        • Numeric input
        • Date input
        • Time input
        • Check box input
        • Binary option input
        • List selection input
        • List multi-selection input
        • Menu selection input
        • Data grid
        • Calendar control
        • Image selection input
        • List presentation
        • Camera Input
      • Dependent controls in User step
        • Variable source
        • Expression source
        • Control visibility (condition to hide)
      • Configure SSO for Microsoft Entra
    • Reference
      • Clients
        • Settings
        • My data
      • Designer
        • Controls
          • Header
          • Static text
          • Labeled static text
          • Link
          • External app launcher
          • Image viewer
          • Text input
          • Numeric input
          • Date input
          • Time input
          • Check box input
          • Binary option input
          • List selection input
          • List multi-selection input
          • Menu selection input
          • Data grid
          • Calendar
          • Image selection input
          • List presentation
          • Camera input
          • File gallery
          • GPS location input
          • Signature capture input
          • Item creation sub task
          • Check list sub task
          • Verb sub task
        • Steps
          • Start
          • User interaction
          • External system
          • Decision
          • Assertion
          • HTTP requests
          • Assignment
          • Table
          • Event listener
          • Checkpoint
          • Script
          • Annotation
          • End
          • Local data resource
      • Portal
        • Design items
          • Portlets
            • Accumulation chart
            • Base chart
            • Circular gauge
            • Custom content
            • Data tree
            • Document viewer
            • Filter
            • Kanban
            • KPI card
            • Link
            • My apps
            • Record
            • Rich text
            • Table
          • Container
          • Common portlet configuration
            • General
            • Events
            • Data
            • Custom buttons
            • Style
        • Portal settings
          • Branding
          • Page
          • Navigation
        • Profile
        • Portlet actions
        • Cache
        • Input to Start Step
      • Diagnostic mode
      • FlowScript
        • Walkthrough
          • Introduction
          • Expressions and programs
          • Anatomy of a program
          • Variables
          • Simple types
          • Nullable types
          • Records
          • Sequences
          • Other types
          • Arithmetic
          • Other expressions
          • Queries
          • Conditionals and loops
          • Function definitions
          • Built-in functions
          • DateTime module
          • Seq module
          • HTTP module
          • CSV module
          • JSON module
          • Trace module
          • Record module
          • XML Module
          • Filesystem Module
          • Custom modules
          • Custom Types
          • Appendix: Subtyping rules
          • Appendix: Escape sequences
          • Appendix: Type checking errors
      • Flowscript Copilot
      • Glossary
    • Flow Connect Downloads
      • Install Flow Connect Designer
    • Migrate from Flow Classic
      • Portal - migrate from Flow Classic
      • Classic vs. Connect Comparison Guide
Powered by GitBook
On this page
  • General
  • Events
  • Data
  • Data source columns
  • Presentation
  • Presentation
  • Section
  • Pagination
  • Style
  • HTML and CSS sanitization guide
  • HTML Sanitization
  • CSS Sanitization

Was this helpful?

  1. Reference
  2. Reference
  3. Portal
  4. Design items
  5. Portlets

Custom content

PreviousCircular gaugeNextData tree

Last updated 2 months ago

Was this helpful?

The Custom content portlet allows users to create a fully customizable portlet using HTML and CSS. It supports images and styled content, enabling tailored presentation to fit specific needs.

General

General data is required for all portlets, see .

Events

To set up an event, see .

Data

To set up a data source, see .

Adding a data source is optional and not required for the Custom Content Portlet. It can be used when dynamic content is needed, but event data and static HTML and CSS can be sufficient for many use cases.

Data source columns

In the data source column, you can change column names and set their types. Click Manage to access a grid view of the configuration.

Click Execute in the data source section to fetch the columns. Each column can be configured with:

  • display name

  • column type

Presentation

The presentation part of the portlet consists of a CSS section for styling and one or more HTML sections for content. Developers can add multiple HTML sections, which can be either static or dynamic based on data source usage. For example, static sections display fixed content, while dynamic sections retrieve and render data at runtime.

Presentation

  • CSS: Defines the styles applied to the content in the portlet. The CSS section allows users to write custom styles to control the appearance of HTML elements within the portlet.

  • Enable Container: Determines whether the content should be wrapped in a container tag. If set to true, a selected container tag will be added around the content. This helps structure the layout and apply consistent styling. Available container tags:

    • DIV – A generic container used for styling and layout.

    • UL – An unordered list, typically used for grouping list items.

    • OL – An ordered list, displaying items in a specific sequence.

    • TABLE – A table structure, useful for organizing data in rows and columns.

    • TBODY – The body section of a table, containing rows of data.

  • CSS Class: Allows users to specify a CSS class that can be applied to the container or elements within the portlet. This enables consistent styling across multiple sections.

Section

A section is an individual block of content within the portlet. Users can add multiple sections, each with its own content and behavior.

  1. Click Add to create a new section.

  2. Enter a name for the section to help identify it.

  3. Select the section type:

    • Static – Creates a fixed content block that does not change.

    • Dynamic – Generates a block that can be repeated multiple times based on data input. This is useful when displaying lists, tables, or other repeating content structures.

  4. Add the HTML code in the Section HTML Content field.

Security Check

When the portlet is previewed or saved, it runs a security check to prevent the use of unsafe code. If disallowed elements or scripts are detected, an error message appears, stating that the code includes restricted elements and cannot be saved.

User Options When an Error Occurs

  • Dismiss – Cancel changes and do not save the section.

  • Auto-Fix – Automatically remove all disallowed code to ensure compliance with security policies.

For details see HTML and CSS sanitization documentation below.

Pagination

  • Enable Pagination: Check this option to enable a pagination footer. You can set the number of items per page and choose whether to display the pagination footer when all results fit on a single page.

Style

HTML and CSS sanitization guide

HTML Sanitization

Allowed HTML Elements

The system permits only specific HTML elements to be used in custom content. These elements are divided into categories:

Document structure elements:

  • header, footer, nav, side, div, section, article, aside, address, details

Text elements:

  • p, span, a, br, h1-h6, strong, em, blockquote, pre, code, b, i, u, s, strike, q, cite, abbr, figcaption, figure, center

List elements:

  • ul, ol, li, dd, dl, dt

Table elements:

  • table, thead, tbody, tfoot, tr, th, td, col, colgroup, caption

Form elements:

  • button, input, textarea, select, option, label, form

SVG elements:

  • svg, g, rect, circle, ellipse, line, polyline, polygon, path, text, use, viewBox

Allowed HTML Attributes

Only the following attributes are allowed:

General attributes:

  • id, class, scope, colspan

Media attributes:

  • href, src, alt

SVG attributes:

  • x, y, width, height, cx, cy, r, rx, ry, x1, y1, x2, y2, points, d, viewBox, fill, stroke, stroke-width, opacity, transform

Form attributes:

  • name, value, type, placeholder, required, disabled, readonly, autocomplete, autofocus, min, max, minlength, maxlength, pattern, step, multiple, checked, selected, accept, size, rows, cols

Always Blocked HTML Elements

The following elements are always blocked for security reasons:

  • style

  • html

  • script

  • body

  • link

Disallowed HTML Attributes

Any attribute not explicitly included in the allowed list will be sanitized, including:

  • Event handlers (like onclick, onload, etc.)

  • Style attributes (style)

  • Script-related attributes (javascript: URLs)

  • Custom data attributes (data-*)

  • Meta attributes (http-equiv, content)

CSS Sanitization

Always Disallowed CSS Properties

The following CSS properties are always disallowed for security reasons:

  • behavior

  • expression

  • binding

  • moz-binding

  • ms-behavior

  • o-behavior

  • zoom

  • pointer-events

  • mask

  • mask-image

  • mask-border

  • appearance

Disallowed CSS Functions

The following functions in CSS are considered dangerous and are disallowed:

  • behavior()

  • attr()

  • url()

  • eval()

  • function()

  • expression()

Default Allowed CSS Functions

The following CSS functions are allowed by default:

  • rgb()

  • rgba()

  • hsl()

  • hsla()

  • calc()

  • var()

  • linear-gradient()

  • radial-gradient()

URL Restrictions

URLs within CSS (url() function) are disallowed.

To configure style, see .

⏸️
General
Events
Data
Style