Platform portals
Portals are essentially external-facing web applications built using the same components as standard Platform applications. Portals typically run on a corporate website or intranet. You can create portal pages to display dynamic lists of records, to allow creation of records through custom forms, and to invoke triggers and custom business logic.
For a video tour of creating a portal, see "Creating a Public Web Portal for a Progress Platform Application".
You can create any number of portals for an application and publish them as a part of the application XML. For information on publishing applications, see Publishing and distributing applications.
Portals are different from normal Platform applications in three significant ways:
- Portals can be accessed by anyone with internet access, although a portal can require users to register and/or log in. See Portal security for more information.
- Portals do not run within the normal Platform environment, which typically displays application objects in a tabbed interface. Instead, they consist of a set of pages that are linked together to form a cohesive website.
- Portals can adopt the look and feel of any existing website in which they are embedded. See Creating a custom header and footer for more information.
The following graphic illustrates the differences between Platform application and portal usage:
Portal visitors
A portal can allow authenticated or non-authenticated visitors:
- Portals for authenticated visitors include a login page. When you create a Login
Form portal page, you select which type of user account to support. Each
Login Form only accepts logins from one type of user account:
- Users - accounts created for your tenant as Platform User records.
- Platform object records - accounts created for objects with the Portal User attribute. This allows users who do not have Platform accounts to use a portal as authenticated portal visitors. For more information about this type of user account, see Creating a portal user.
- Portals for non-authenticated visitors do not include a login page.
Because portal users cannot select their own language, date format, and time zone the way regular users do, portal-level settings apply to all portal visitors.
For more information about portal visitors and accounts, see Portal security.
Planning and building portals
In addition to portal-level settings, a portal consists of a set of portal pages interconnected by links in any order you prefer. Portal pages can be shared among different portals in your tenant. When you create a new page from a portal's view page, the new page is automatically assigned to the selected portal. Later, you can share that page with other portals. See Assigning pages to a portal for more information.
Portals give you greater flexibility than is available with normal Platform application pages. However, developing a portal also carries a greater responsibility, so planning your portal strategy in advance is important. It is often a good idea to start with a diagram that shows how visitors can navigate through the portal pages you intend to create.
For example, the following diagram shows a simple portal that searches for and displays records:
You also need to identify the type of user(s) who can access the portal, determine the types of records they can access, and specify the appropriate permissions. Setting permissions for portals requires careful planning to ensure that portal users can access information they are supposed to access and that they cannot access information they are not supposed to access. Even portals without authentication require setting permissions. See Creating portals without authentication and Creating portals with authentication for examples.
Building a sophisticated and easy-to-use portal often requires significant knowledge of web design, HTML, CSS, and JavaScript.
Steps to create a portal
Follow these steps to create a portal for a Platform application:
- Create the portal.
- Modify the portal's initial page. Platform creates this page when you create the portal.
- Add other pages to the portal. Portal pages can be shared between different portals.
- Optionally create a custom header and footer for the portal.
- Configure portal security.