Greetings,
I have a Connect app that has been under development for several months that I was hoping to finish up early this year (2025). When I started development on the app I looked into Forge but decided that there were some gaps in Forge and decided to go with Connect and migrate to Forge in the future when it was more mature and some of the gaps were filled in. Seemed like a sensible plan at the time. Fast forward to yesterday when I stumbled across a post stating that Atlassian is planning to start the process of getting rid of Connect. This was a complete shock to me because from what I remembered of my evaluation of Forge several months ago, it didn’t seem ready to fully replace Connect. I decided to keep an open mind so I spent several hours yesterday and late into the night looking at Forge again and looking at the effort it would take for me to migrate to Forge at this point. When I was done my evaluation (around 2:00 am), I was left with some of the same concerns that I had all those months ago. I’ll select just a few of those issues to include in this post.
My first issue is the fact that Nodejs is the only option for your backend. For Connect, Atlassian provides two frameworks for building Connect apps; AC Express and AC Spring Boot. I think that at a minimum Forge should provide at least two options for running your backend, just like Connect. My current backend is built on AC Spring Boot. Migrating to Forge means that I’ll have to re-implement my backend in Node. That’s months worth of work.
Second issue. The maximum storage size of objects in Forge storage is 240KiB. The limit isn’t the problem. I currently use DynamoDB and it has a limit of 400KB for objects. For objects that may exceed this limit I use S3 to store the objects and store a record in DynamoDB that points to the object (a standard AWS pattern). In Forge, there currently isn’t any equivalent to S3. In fact, in Atlassian’s own documentation they list S3 as a workaround for the lack of ability to store large files in Forge (screenshot below):
This means that if I converted to Forge I would need to maintain a backend outside of Forge to facilitate putting and retrieving stuff from S3.
Third issue. The Runs on Atlassian program. If I move to Forge, I want everything running on Forge. I have no desire to be running two separate backends and having to deal with the complexity and overhead that introduces. However, the only way that I can run everything on Forge is if Forge has everything that I need to run my app. If Forge doesn’t have it, then I need to make an external call, which immediately disqualifies my app for “Runs on Atlassian”. As I mentioned in my second issue, even Atlassian is acknowledging there are some gaps in Forge that will require you to use an external workaround. How can you be pushing a “Runs on Atlassian” program when it’s obvious that it might be impossible for some apps to qualify for this program due to limitations in Forge?
Fourth issue. This one is a deal breaker. There is currently no Forge equivalent to the Connect ACT_AS_USER scope. I found an Issue (FRGE-493) dating back to January 2022 where a user flagged this as a blocker for their migration yet here we are more than 3 years later and it’s still marked as “Under Consideration”. My app relies heavily on the ACT_AS_USER scope.
I could continue but I think this post is getting a little too long. The point I’m trying to make in this post is that I think it’s a little premature to start talking about getting rid of Connect.
Thoughts?
TD