Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Creating an app

Sebastien Auclair September 24, 2019

Hello,

What is the first approach to creating apps on Confluence ?

Our team members need to manage some internal information and we created a standard relational database schema to represent the data structure. 

We need to deploy this model in a DBMS and make a frontend that we would like to be integrated to our On-Premise Confluence/Jira site.

We need this system to be SQL based or at least be capable of extrating the entire database content to migrate it into some other non Atlassian system in the future. (Possibly)  
So the relational structure must be SQL compliant.

Is there one standard generic way to approach this ?

Thanks !

1 answer

0 votes
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
September 24, 2019

Start at https://developer.atlassian.com/server/confluence/writing-confluence-plugins/

One word of caution on the database side - your app is free to do whatever you want with the databases it needs to access, but do not use SQL to touch the Confluence database.  Use the internal API to read/write Confluence, or you will find yourself with horrible performance killing read SQL queries, and if you were to attempt to write to its data, a broken Confluence, possibly irretrievably.

Sebastien Auclair September 26, 2019

Everything seams to be very "Frontend" oriented... Almost nothing about the data management layer of the plugins... And we do not need to touch any of the Confluence related data or data structures... Our application could even be made into a completely separated DBMS. 

And again, we must implement the relational model we created in such a way that if one day we need to migrate into a new DBMS like SQL Server or MySQL, will be able to export the data and the relations... (We have NtoN relations, One-to-Many, etc)

Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
September 28, 2019

Apps for Confluence are generally about adding functions to it, so there's a heavy focus on working with Confluence.

You can do whatever you want in your code though.  Reading and writing a separate database is absolutely fine, but there's no reason for the Confluence docs to talk about that, as it's nothing to do with Confluence.  You'll want to read docs for the language you are using to write the app ( I would recommend writing apps in something the Confluence system already supports so you don't have to include entire coding language support in your app)

As you are reading and writing data outside Confluence and want to be able to port it, you will need to write export and import methods in your code (and I'd recommend thinking about upgrades too)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events