ENGINEERED CODE BLOG

Power Apps Portals: Notes vs Timeline Metadata – Notes Deep Dive

In this series of blog posts, I’m looking at the ways to enable an asynchronous conversation between Dynamics/Power Apps users and portals users. The two most common techniques I see use Entity/Web Form Metadata – either the Notes or Timeline metadata option. This post covers the original way – using notes.

Notes Overview

Notes (schema name of annotation) has been an out-of-the-box entity in Dynamics for a long time (at least since I started working with the platform over 10 years ago). It allows users in Dynamics/Power Apps to add unlimited notes to a record. Notes are comprised of a title, a description (main note text), and an optional file attachment.

When enabled on Power Apps Portals, users can be allowed to view, create, edit, and delete note records, as well as upload files.

Steps to Configure

Microsoft provides step-by-step documentation that covers how to enable notes on your Entity/Web Forms:

I’m not going to rehash those instructions, but I’ll provide a few comments:

  • Ensure that you’ve added the Timeline control to your model-driven form – the Notes metadata functionality is lit up when the Portals code sees the Timeline control in the form XML, and that’s how it knows where to put it. If you don’t have the Timeline control on your form, notes won’t be displayed, even if you’ve configured the metadata and Entity Permissions.
  • Entity Permissions and Entity/Web Form Metadata are only required if you want to enable create/edit/delete functionality. If you just want to display notes from the Common Data Service, all you need to do is put the Timeline control on your form.
  • You can enable the ability to create “private” notes – these notes will only be visible on the Portal to the person who created them.
  • There isn’t a lot of configuration available to control how notes are displayed. If you need to customize, see these other posts:

Internal vs External Notes

The biggest stumbling block I see with notes is that people miss the fact that users in Dynamics/Power Apps need to include the following text in order for a note to appear on the portal: *WEB*.

This allows you to distinguish between notes you want visible to portal users, and notes that are for internal purposes only. By requiring that this unique bit of text appear in a note before it is seen on the portal, you all but eliminate the possibility that internal notes are inadvertently displayed to the public.

Users on the Portal do not see the *WEB* text (except as notes below in the *WEB* Case Sensitivity Issues section). Notes created by users on the Portal automatically have this text included to ensure that they are visible on the Portal.

Note Authorship

The system needs to keep track of which Portal user created the note so that everyone can see who entered the note, and so it can allow editing (if enabled). However, since the Note entity does allow for much/any customization, there is no direct relationship to the portal user’s contact record. Instead, the Name and ID of the contact record is stored as part of the note’s title:

This means that the Portals code relies on string parsing to verify note authorship, which is not ideal as it can be brittle.

*WEB* Case Sensitivity Issues

One quirk with the *WEB* system is what happens if a Dynamics/Power Apps user uses *web* (lowercase) instead of *WEB*. In this situation, the note will appear on the portal, but the *web* text will be visible. This is because the code that looks for *WEB* is case insensitive, but the case that removes it for display purposes is case sensitive. Therefore, for the best user experience, ensure that Dynamics/Power Apps users use the uppercase version.

In my next post, I’ll take a deeper dive into the Timeline metadata option.

Guest Contributors

I’d like to acknowledge the individuals who have provided invaluable assistance to this series of posts, including providing their comments, insights, experiences and review:

One response to “Power Apps Portals: Notes vs Timeline Metadata – Notes Deep Dive”

  1. Alex says:

    Hi Nicholas !

    Really appreciate your article.

    I am facing an issue with showing Notes on a Portal Entity Form. I have configured it on my entity form with “Notes” displayed by default.
    I also configured Portal Comments on portal (following your article) so portal users can add a comment on records.

    However I am not able to see Notes created on Dynamics 365 side, even with *WEB* tag whereas I can see portal comments from both sides.
    Entity permissions are configured on global scope for activity pointer, Annotation (note) and for my custom entities, scope is on contact. I also tried the parent scope for activity and note but result is same (message “There is no activity to show”).

    What did I do wrong ?

    Regards

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact

Engineered Code is a web application development firm and Microsoft Partner specializing in web portals backed by Dynamics 365 & Power Platform. Led by a professional engineer, our team of technology experts are based in Regina, Saskatchewan, Canada.