Connect vs Connect-Express


#1

This is probably the most newb of newb questions, but I am starting at the very beginning of my tiny hopes to be able to make helpful connect modules for my company to use internally–at least to start (if they end up significantly helpful, I plan to share them , of course! :smiley:) So, for the very beginning, I would like to know, what is the difference between Connect vs. Connect-Express, and what are the reasons someone might choose to develop in one vs. the other? (I am very thankful for any and all responses. It means a ton!)


#2

@criley: connect is the name of the framework which allows developers to create apps for Atlassian Cloud products. It consists of a Javascript API (AP), the very important atlassian-connect.json descriptor file (in which you define your integration points) and a set of JWT/OAuth security rules that allow secure communications between the host product, your app and the end-user.

connect-expess is a starter kit for creating your connect app, a bootstrap/scaffolding project for NodeJS using Express to host your app. It has some nifty Express middleware that takes care of the JWT/OAuth part and some handy templating that will help you get started.

There is no need to use connect-express, you can also roll your own. For instance, many app developers use Java to create their API. There are also plenty examples of people creating completely static apps which are served from S3 and do not require any (Express) server environment.

Either way, all of these apps need to adhere to, and use, the connect framework to be able to integrate with Atlassian cloud products.


#3

Great answer. By the way, how do we use the add-ons we make using Connect after they are finished? Also, will they operate like macros or be in iFrames only? And lastly, is it possible to take an exiting JavaScript/jQuery project and turn it into a Connect add-on (or are there only specific languages that can be used?)


#4

@criley: you can add a custom macro from the Cloud instance add-ons administration page (Jira Settings > Add-ons > Manage Add-ons). If you want to add a private add-on which is not listed on the Atlassian Marketplace you will need to enable Development mode from the Settings modal on the Manage Add-ons page.

The connect framework will be iframe only. If you are developing for Connect, it is also highly recommended to install Webfragment Finder. See https://marketplace.atlassian.com/search?query=web%20fragment%20finder

Yes, you can turn an existing JavaScript/jQuery application into an connect add-on! As the add-on runs in an iframe you can do anything you want. You are only limited by the security context of the iframe (you cannot access the parent window) and host application security considerations.