Best practices for developing Data Center apps

Hi dear community!

What is the current way (and tooling) to develop Data Center apps? As far as I see, we can’t use ‘atlas-run’/‘atlas-debug’ for the latest versions of Confluence (since 8.6.x), and Jira (since 9.12.x), so such features as ‘atlas-debug’ and quick reload are not available anymore.

:wave:

I can personally recommend using DCDX (dcdx - npm) which will allow you to start a Jira/Confluence/Bitbucket/Bamboo instance directly from your product (it will read your AMPS maven plugin configuration from the pom). It will rebuild the JAR on changes and upload it to the UPM with QuickReload.

It uses the official Atlassian docker images, but comes with a pre-installed license. It also supports multiple database engines (postgres, mysql, mssql).

In addition, I can also recommend our Atlassian Connect Polyfill for emulating the Connect iframe and AP javascript API on Data Center. This will allow you to adopt a “write once, run both on Cloud & Server” approach if you also have a Connect cloud app.

Finally, we have a set of javascript utility libraries that may be useful: GitHub - collabsoft-net/iapetus: Collection of packages for creating Atlassian apps

This is everything we are currently using to build Data Center apps!

Cheers,

Remie

2 Likes

I’m not the OP, but that’s really interesting, thank you for sharing @remie! I will check those alternatives when I have time.

Personally, I use a script which creates a folder containing:

  • A parent Maven project
  • The app project
  • An Integration Testing project
  • A Docker Compose file with a Confluence or Jira instance that is almost completely configured, and a PostgreSQL instance
    This way I just have to run the Docker Compose file, set up an admin account, and install Quickreload. After that I can do things like connect to the PostgreSQL Database or debug with IntelliJ, everything from outside the Docker container.

Regards,
Ansgar

1 Like

@remie Thank you for sharing!

@AnsgarNell Is it a script from Atlassian or some custom script?

It’s a custom script, but works at best with Mac or Linux. You can see the docker-compose file here, besides some other tips.

I did so that I quickly can start developing on a new project, avoiding repetitive tasks like setting up the icon with our company logo.

1 Like