Since we launched our own add-ons for Jira (Worklogs – Time reports for Jira, Team Performance Reports and Insights for Jira, Advanced Team Dashboard) the interest around them has been constantly rising.
Our main incentive was to present our products in the best way possible during Atlassian Summit 2018 that took place this September in Barcelona. We have accomplished this mission with a great success – the number of installations went up, we have broadened our social network, made some new business contacts, received interest from Atlassian’s group and increased our brand’s recognition.
Yet, how could we efficiently carry on with our actions without aiming at brand new goals? Willing to meet the consumer’s needs, we released our products for Jira Server as well. The time was a huge motivation for us – it seemed to run faster every day and if you want to keep your users and attract new ones you just can’t waste any precious hour.
AND HERE WE ARE!
Above all, ready rich in another dose of valuable experience, hopefully, wiser and even more professional.
Is an expansion from Jira Cloud to Jira Server all that easy? What was our journey towards the next success? What have we learned from that experience? Where laid the hardest parts?
Below, you will find the answers to those, and probably some other questions you might come up with while reading this article. Please read the relation of people involved directly in creating server versions for our add-ons for Jira.
Sebastian (a Team Leader, originator and co-creator of Advanced Team Dashboard)
“First of all, we had to figure out the best way to share the code between the cloud and server version – the goal was to re-use as much of the code as possible, in order to maintain our add-on easier in the future.”
Our colleague also stated that the solutions that had seemed relatively simple, in fact, wouldn’t work well in our case. When we thought that we had finally managed to achieve our goal, it turned out that some features that were available in Jira Cloud by default in an out-of-the-box manner had to be additionally implemented in Jira Server.
Apart from that, we had to set up a test server in order to test our server version add-on. Sebastian adds: “We configured our builds to build and install the latest version after each code change. Since cloud and server operate on different frameworks, quite some work was put into configuration and ensuring all our libraries from cloud work on the server as well.”
There were several requirements related directly to the approval process as well – one of the major ones was proper handling of the licenses. Users of the Jira server can have various versions installed.
What it meant for us was the need to verify how our add-on behaves on different versions and establish which Jira server versions we are supporting.
Paweł (a Developer, co-creator of Advanced Team Dashboard)
“Since the beginning, the first step was a try to use unofficial JIRA Plugin Converter that allows converting cloud apps to Jira plugins with almost one click. Unfortunately, the tool didn’t meet our needs so we needed to split some common code from the cloud version of the app. In fact, the first version of server plugin uses almost 100% of cloud app code and configs.”
Paweł stresses that quite some work was put into configuration and ensuring that code from the cloud worked on the server, like rewriting some functions from Atlassian Connect (cloud framework for building Jira apps).
Unfortunately, the most advanced features still need additional effort as server framework lacks some cloud-specific features like Dialog Module or Events. Not all the work was so dreadful for developers though. They managed to find some more pleasant and easier tasks to tackle.
We could count on Atlassian’s support in a matter of shared resources, such as the talk from the last Atlas Camp “Fast, Performant and High-Quality Frontend App Development for Jira Server”. They were just enough for starting configuring and compiling the code.
Still, Paweł points out to the biggest challenge the team faced while transforming the add-on to the server version: “The greatest obstacle was not enough documentation and examples for cloud and server code reuse, licensing and building dashboard items with modern frontend tools like React and ES6.”
Another team enters the game
Just like it stands in the introduction, besides the Advanced Team Dashboard, there was one more add-on waiting for a transition between Jira Cloud and Jira Server – Worklogs – Time Reports for Jira. The team working on this app is guided by Paweł – Team Leader and originator of the add-on.
Paweł admits that the slight delay in starting the Worklogs’ transition turned out to be quite a good idea. It gave his team the opportunity to use the experience of colleagues from Advanced Team Dashboard team. We think that there is nothing bad to it but wonder how the ATD team feels about it 😉
Colleagues from ATD team were an active technical support which allowed an efficient transition to Jira Server. As Paweł recalls: “We had a little easier since we started a little bit later than the ATD team. Because of that, we could follow what they were doing, while they took lead.”
Despite this little handicap, members of Worklogs team had to face the process of migrating their add-on. Programming is a profession that doesn’t allow any breaks from products functioning, thus biggest efforts focused on getting things to work and modularizing Worklogs enough for them to be reusable between cloud and server.
In the meantime, Paweł noticed that the Atlassian’s documentation was a bit outdated which definitely increased the difficulty of the transition and extended the time needed for the whole migration. Similarly to the previous story, there were, however, bright sites of the work: “Other than that, using the SDK seems pleasant and is a bit more hassle-free than Jira Cloud, where you need to set up cloud instances to test.”
What are the results?
After acting under the time pressure, dealing with tons of questions about the server versions from the Clients and with couple more factors, today we can proudly announce that we have achieved another goal!
Our products – Advanced Team Dashboard and Worklogs – Time Reports for Jira are already available and run smoothly not only on Jira Cloud but also on Jira Server. We do hope that new versions of SolDevelo’s add-ons will prove a useful response to your needs. We would love to be a part of the improvement to every Jira user’s daily work.