⚡️ Introducing Custom UI: Static HTML/CSS/JS frontends on Forge

@danielwinterw It’s far more important to think about real use cases instead of specific bundle sizes. @jmort mentioned one of them: embedding a video - for example as a part of onboarding experience.

An idea for You on how to discover those use cases: try to re-implement some of Confluence/Jira features as Forge apps.

As a data point, the FE build for one of our apps comes in at 20MB and several hundred files. The app consists of a SPA settings management app in a connect general page, several issue panels and glances built using AtlasKit. The bulk of the weight comes from Atlaskit and its dependencies along with assets and a large 3rd party library.

3 Likes

@daniel @jmort @Grzegorz.Tanczyk @naiara while we continue to gain feedback on the topic of platform limits, we’ve made an increase to them based on our early readings.

We’ve also released some methods similar to AP.request to reduce the complexity when making client-side calls.

We’d love to get your feedback on these changes :slight_smile:

3 Likes

@danielwinterw is there any difference between UI kit and Custom UI from a mobile compatibility perspective? Do we need to do any extra work to make Custom UI work in Jira/Confluence mobile?

Hey @dzagorovsky—I think it’s worth clarifying a few points.

Connect UIs only support a single extension point in the native apps—the Jira issue glance. This is the only place where any app can be viewed on native apps right now. That means that UI kit and custom UI also don’t support native apps at all.

We don’t have any concrete plans to support the native apps right now other than a broad intention to do it eventually.

Hello @huw ,

I’m hitting a road block trying to create an integration with a custom UI. Due to the restrictive CSP, I am not allowed to put iframes to other websites (like an embedded youtube video for example) into the custom UI.

Would it be possible to have a more permissive frame-src in the CSP, seeing as how they are already isolated? I suppose that allowing all hosts might be contrary to the goal of preventing XSS, but maybe we could have a way to define explicit exceptions?

Cheers,
Tobias

3 Likes

Hey @tobitheo,

Thanks for your feedback! :slight_smile:

We are currently exploring ways to increase the flexibility of Custom UI CSP policies whilst at the same time maintain our security and trust goals with Forge. At this point, we can’t provide any concrete answers, although know that it is actively being worked on.

If you’d be interested in talking about your use case in more detail with my team, we can set something up. We’d love to hear more about what you are trying to accomplish.

1 Like

Hey All,

Just a heads up that the Forge macro module now has support for custom UI. See the December 22 2020 heading in https://developer.atlassian.com/platform/forge/changelog/.

Wishing everyone a safe and happy holiday season :christmas_tree:

7 Likes

@danielwinterw I am curious if there is a way to get the context from Custom UI without making a call to a resolver?

I just re-watched some of the sessions from Developer day and it seems Pete’s example (screenshot below, lines 26-27) is reading the context from window.location.search. Is there any documentation on this?

3 Likes

@danielwinterw I was happy to see the announcement form Dec. 22: Forge macro supports Custom UI!

I tried forge create and couldn’t see any template with fits to this. :frowning:
Did I miss anything or isn’t there no template available?

Could you please provide a sample for Macro with Custom UI.
Thanks a lot!

Client side context is on our roadmap :slight_smile: We hope to have an update soon, although the only current supported way is via a backend resolver.

1 Like

Thanks for notifying us of this! I’ve just added the template now :slight_smile:

Hi,

Will there be a jiraPage module soon? I need a dedicated page for my app.
The modal from atlaskit is trapped in the issuePanel module iframe.

Will there be something like this available? Or can I open the atlaskit modal dialog “full screen” somehow?

thanks

2 Likes

Hi @clouless,

We are working on an approach for full-screen modals currently. We should have an update this quarter.

A full-page Jira extension point is also in exploration I believe, although I have no timeline for that. @vpetrychuk can you provide any more info on that?

1 Like

I think a possibility to show fullscreen Custom UIs (adminPages, jiraProjectPages or at least a fullscreen modal) is urgently needed. Confluence offers this for Atlassian Connect and Forge Custom UI. Currently Jira Custom UI does not offer a single possibility to show larger configuration pages for complex add-ons or a fullscreen page for like project-summaries.

My guess is that adminPage and projectPage (both available in Connect) are the key features that will prevent many Connect apps from migrating to Forge:

  • Simply from a UI perspective the available Forge modules are just to small. Missing space for complex configurations.
  • All available Custom UI modules in Jira are just “issue-scoped” (IssueGlance, IssuePanel, IssueAction…) – no possibility to allow project-summary-like features.
  • The available Custom UI modules are visible for everyone. No admin-pages. No conditions (whether to show a menu item).

Given that Forge Custom UI is the future for AMP apps, I think these are the key roadblocks for many vendors. The most popular marketplace apps rely on the mentioned Connect-modules which are currently missing a Forge-alternative.

4 Likes

Noticed this also. He is parsing the browser window url, retrieving the search parameters and using the issue key from there.

More info here:

When it comes to Forge Apps configuration we are working on Admin Global Full Page. We are going to release it ~at the end of February assuming we will not discover any major roadblocks. It should cover app configuration use cases.

4 Likes

Update, work on Admin global full page is going well. We have decided to schedule work on the Project page for end-users - we plan to release Beta it at the end of March.

5 Likes

Awesome! @JakubMierzewski
We are really looking forward to use these features :slight_smile: