Unintuitive Permission Management of Confluence

We are using both Jira and Confluence and some of our customers also has access to Jira but not have access to Confluence. Our Confluence site is also set to allow anonymous access. The reason for this setup is we want to allow our customers to create Jira tickets but we only allow them to

Read More

Incorrect SSL Reverse Proxy Configuration

One of our customers reported that they can’t create new components within “component versions page”. I could not reproduce the problem in my development environment and we have arranged a Webex meeting. Customer demonstrated the problem and I had change to investigate both server and browser logs. There was no error in atlassian-jira.log file and

Read More

DB Compatibility Issues While Using ORM

For a long time, I have used ORM tools to use databases and I didn’t need to deal differences between different databases much. Until now, I have only beaten by following: Character Limit of Identifiers For example oracle limits table names and column names to 30 characters. I have been using ActiveObjects ORM from Atlassian

Read More

Modifying Atlassian Connect Express Framework

During development of my next cloud app that uses Atlassian’s ACE Framework, I have came to a point where I need to modify ACE Framework code to better suit my needs. ACE uses Ngrok for tunneling between development machine and Cloud Jira instance. It is hard coded to use a free Ngrok tunnel with following

Read More

Browserslist

I was updating babel configuration for my new Atlassian Cloud App project and I was deciding which browsers should I support. I have checked Atlassian’s supported browsers list for Cloud and I have found out it is a really simple list. In short, “Latest version of mainstream browsers” and it doesn’t include IE 🎉. I

Read More

File Upload with Selenium

With Selenium 2 uploading a path is very easy if the page is using standard file upload mechanism of web. Some old pages may still be using Flash or another plugin based technology. In other words, you should have some <input> field defined as follows. <input type=”file” id=”upm-upload-file” name=”plugin” size=”38″> You can automate an upload

Read More

Using Selenium Chrome Driver on Mac OS X

Update (26/06/2015) Previously I have written a function which waits until a specific element is available on the page, doWhenAvailable. I have find out Selenium has already a similar feature build-in. Its element search functions could wait until an element is available on the page. It can be activated in @BeforeClass method: [code language=”java”]driver. manage(

Read More

Automate Native to Ascii Conversion with Gulp

All of my recent projects use Javascript and Java together. Increasing I’m switching from Maven to Gulp for automation. I have now perform native to ascii conversion with gulp instead of maven and native2ascii tool of JDK. [code language=”javascript”]var gulp = require(“gulp”); var n2a = require(“gulp-native2ascii”); var shell = require(“gulp-shell”); gulp.task(“n2a”, function () { gulp.src(“src/main/resources/i18n/reminders*.properties”)

Read More