The last few weeks I have been looking at Atlassian (i.c. Confluence) plugin development and I am feeling uncertain about developing for Confluence Data Center
I have noted that Atlassian has given LTS for Data Center versions, and I think this shows some commitment. A Datacenter version is also unavoidable I guess — there will be all kinds of organisations that will want to have strict control over their data, either because of the nature of the organisation (NSA/CIA/etc. in Atlassian Cloud? I think not) or because of the sensitivity of the data (Atlassian Cloud for the wikis and issues surrounding security issues that still need to be fixed? Your actual designs in the security space? Many organisations will not want this — this is the highest sensitivity class).
So, both Public Cloud and Data Center versions are here to stay I think (hope).
Now, I have been looking at using the Confluence platform to create something 'really cool’™ (I actually think Confluence is probably the only platform I would be able to create this in). I am currently in the research stage of this approach. But I do know that If I develop something it will have to work on Datacenter (or Datacenter and Cloud). And I noticed a few things:
- There is a lot of learning stuff (self-paced online training) for using and admin of Confluence, but nothing on training for developing. You need to dig in the documentation and you can go to community support.
- Atlassian pushes you to Cloud and within Cloud to forge for development. Forge is a nice development environment. It took me a few days to get this set up and it looks fine. But…
- Cloud and Datacenter have completely different development setups (e.g. JSX etc. versus Java, the sandboxing approach also seems fundamentally different).
- Datacenter development was quite a different experience compared to forge. I was able to install a development setup on my machine (macOS) but only after a bit of trouble.
The whole SDK setup gives me a ‘neglected/deprecated’ vibe, e.g.:
- documentation not quite up to date (beginner examples, tutorials, basic pages more than 4 years not updated)
- information very hard to find (constantly trying to find stuff for Confluence and being directed to Jira)
- the SDK you can download is still Confluence 6 and Java 8, instead of Confluence 7 and Java 11.
Basically, I get the feeling that current Datacenter plugin development is in a practical sense ‘deprecated’ until Datacenter will become some sort of ‘self-hosted Cloud’, at which point plugins for both variants will be developed using forge (which seems a strategy I could understand as obvious from Atlassian’s PoV — the current mix seems a bit of a mess).
So, how to read this? I would like to create a long term Data Center plugin, but, while the future for Cloud seems clear: forge, the development setup for Data Center feels ‘iffy’.