Customizing WordPress to work like Confluence

The image shows a smooth transition from the blue and white confluence logo, which consists of two overlapping circles and a letter C, to the blue and white wordpress logo, which consists of a stylized W inside a circle. The image conveys the idea of changing from one platform to another, or integrating them together.

At Homeville, when we started active product development, JIRA and Confluence were our go to tools. As the technology team grew from a 4 member team to a 65+ member team, one of the things that became a slow burn for me was to see the monthly user-wise licensing model for both of these tools.

JIRA was free for the first 10 users, then for the next 40 odd users that we added, we were paying roughly 400 USD per month! Similarily, Confluence was free for the first 10 users, but at a team of 40 or so, our bills from Atlassian was matching our bills from AWS!

Shifting from Atlassian

One of the quickest shifts we did was to find an open source self hosted version of JIRA. OpenProject was the perfect solution. The benefit of self hosting these systems was that access to all the proprietary analysis and research in the form of features and requirements was now within our AWS account and thus in a much more secure environment. The added benefit of localization within the country also meant any form of regulatory compliance was also much better aligned.

It took some scripting, but using a python script to connect to JIRA and OpenProject (OP) both, we were able to import the projects, tickets and sprint informations from JIRA to OP.

Wiki or independent system

One of the key decision that we had to undertake was to see if the documentation was to be done within the OP, or was it to be hosted separately? One option was to continue with Confluence albeit under a smaller user base.

We finally decided to try things with a self-hosted WordPress. However, we did tweak quite a lot of things, listing all of these.

Customizing WordPress

Going into this project, I knew that this would be a continuous evaluation and test work. Sort of a rinse and repeat exercise. Hence, choosing WordPress was the obvious choice.

Custom Taxonomies

We setup PODs because of its ability to quickly add custom post types, custom taxonomies and easy relationships between the two. Using this we could easily keep a separate taxonomy for our credit platforms and systems.

Authorization and Access

Since we were on Microsoft o365, we setup an active directory plugin to enable tech team users to login using their o365 credentials. This also seamlessly created their user ids on WordPress and enabled access without the trouble of invites and importing users.

We also wanted a login gate to enable authorized access to our content. Thus a simple membership plugin to restrict content access was setup.

Similarly, we also setup a plugin that disabled the REST API so that the content wasnt available over unauthorized REST API calls.

We also setup a NACL rule on our AWS to prevent access to the system outside the office premises.

Integration with OpenProject

We also setup easy shortcodes that would pull data from OpenProject agile sprints and display those within a post, allowing for product teams to create east release notes followed by the sprint backlog with links to the OpenProject stories.

This was done using a custom plugin integration that we wrote. Obviously this could not have been possible without OP not having a REST API.

Document Templates FTW

This entire process would not have been successful without the new WordPress editor and its ability to create document template types within the post.

We took our most commonly used Confluence templates and set them up exactly in the same manner in WordPress. This enabled our product teams to seamless shift from Confluence to WordPress.

The fact that most discussions can also be captured as minutes with the exact time of publishing as the time when the meeting occurred also meant that we could also have a temporal view of our product development.

Thus with these simple and easy tweaks we shifted from Confluence to a self hosted WordPress.

WordCamp Ahmedabad 2023

After attending WordCamp Mumbai this year, I decided to keep attending more WordCamps throughout India. As luck would have it, Ahmedabad was just around the corner and I did my booking. WordPress is also used as a quick fix for landing pages in advertising, and hence I thought it would be a good exercise for Harshaja to attend, hoping that she meets some competent (and affordable) WordPress agency to handle the development side of things at 13 Llama‘s end. That, and the super interesting schedule that Ahmedabad had put up.

Getting to Ahmedabad

We chose to take the early morning flight to Ahmedabad. That just meant that the day of the event would be super long for us. Since we hardly knew any folks in the city, this was an easy decision to make. I personally wanted to stay and do some site seeing in this city, but no harm – we could always hop by on one of our annual trips to Vadodara.

The flight was short and getting off the airport and into the cab was one of the smoothest exits we have had. Carrying everything in an overnight handbag does have its advantages!

Venue: Babasaheb Ambedkar Open University

One of the supercool things that struck me during this event was the way Babasaheb Ambedkar Open University (BAOU) was setup. Within a 30 minute drive from the airport, the venue is a sprawling university campus that had access to multiple halls, classrooms, and a great open space where the attendees could congregate in.

I honestly cant imagine the cost of such a large sized venue in Mumbai.

Attendees

We thought that instead of checking-in at the hotel, we would directly attend the event and during the breaks in the afternoon do a quick run to the hotel and finish the checkin process. Thus we directly stopped over at the BAOU campus.

At a little bit earlier than 8am, I was expecting the organizers to be just about gathering and deciding on how they want to execute the rest of the day. To my surprise, there was the beginnings of a crowd already gathering.

What ended up as a small crowd quickly grew to a large congregation, with over 1100 attendees, the WordCamp Ahmedabad 2023 was the second largest WordCamp in Asia, second only to WordCamp Asia!!

I could not help but compare this large audience to what we had in Mumbai. This was more than double the audience of Mumbai and then some!

Talks and Speakers

One thing that always strikes me is that every WordCamp I learn something new. Something that helps me in the future years. Even this time, one of the highlights of the event was the last talk by Nirav Mehta. This one was on public speaking and one of the reasons why I had made sure that the both of us were there to attend.

Some of the other notable talks were on Link Building by an agency owner, Custom Blocks by Amartya Gaur, Yoast’s acquisition by Chaya Oosterbroek. It’s uncanny that even when my functional domain has completely changed, I still took a bunch of learning back from the event!

Ahmedabad, you beauty!

As the day came to an end, I could not help but get overwhelmed with the vibrant PHP developer community that I could see in Ahmedabad. It’s definitely larger and more vocal than the Mumbai community and thus would always be one of the factors for us if we were to open a secondary development office. In fintech, I am seeing more companies shift their technical operations to T2 and T3 cities like Ahmedabad and how!

આવજો

WordCamp Mumbai 2023!

Back in 2015, when Mumbai WordPress meetup was kicked off with enthusiasm, I did not dream of this thing catching on and becoming something special. It was a good gathering of some pretty cool folks enthusiastic about WordPress. In 2014, my own understanding of WP was pretty smattering and thus it was with a bit of trepidation that I decided to attend a meetup in 2014.

This was our second year at 13 Llama, and it was pretty much the time when we had chosen to focus on WordPress as our primary stack. Earlier, we had done some development projects which were all over the place – Node, Core PHP, Smarty, Yii, Cake … we were all over the place and having found WP, it really did feel like home.

Mumbai WP Junta

Over the period of a decade, there are some familiar faces which have remained as part of this WordPress meetup. Some who have moved on and some who have faded into oblivion. But there are those few who have been a steady set of community leaders and built this friendly community of WordPress fanatics.

A whole lot of them are directly working with WP, but a bunch of these cool people just happen to use WP and have built some pretty cool things with it.

The hiatus

After we closed down 13 Llama Studio and the development arm, one of the things that I did miss is the conversations around WordPress and this community. Over the years, as I was busy in building out the technology at Homeville, I steered away from WP. At Homeville, we were using WordPress as a headless content management system (CMS). That’s it.

As our CMS requirements grew more complex, we kept stretching what WordPress could do for us. Over the next 5 years or so, a strong solid conviction grew that having a headless CMS is pretty much a no-brainer for most product organizations. It saves so much of time!

After COVID, most of the meetups and WordCamps had come to a stand still, however, this year the community reached out and setup a meetup and the organization for Mumbai WordCamp 2023

Mumbai WordCamp 2023

Coming back to attending WordCamps after so long was a great experience. Most of the organizers and regulars are known faces and thus, catching up with them after close to a decade was like meeting old friends and making some new ones!

The one thing that this community has taught me is that there are so many things to learn about a topic that you would want to include pretty much everyone in the conversation instead of just speaking to the devs! I remember the early days of this community when there used to be some pretty heated debates on who is better – the maker or the user! Thankfully people have matured :)

This year, I thought I would speak about our headless CMS and the pros and cons for the same. The talk went well – honestly, I thought that this topic would be considered a done and dusted kind of thing, however, much to my surprise a fair number of attendees were hearing for this for the first time.

Always learning

One great thing that I love about attending WordCamp is that you always get to learn something new! This time around, there were discussions on template parts, custom templates, how to contribute to WordPress without writing a single line of code, how to do public speaking (super useful!) and also an insight into the recent DPDP Act of India!

Seeing this trend continue, I decided to ensure that instead of focusing on financial technology only, attending these events and then applying the learning would help!

My slides on headless CMS

Now on to WC Ahmedabad!

How to setup Microsoft Word to post to WordPress

For those bloggers who publish directly to WordPress, life has been good. Especially after the Gettysburg editor, users got a live site, rich text editor which just worked. The user experience is very much like the much loved Medium editor and for quite some time this was the default mode in which I used to publish. Not that I write frequently these days! In fact, this post is after an hiatus of more than a year! One pet peeve I have with the existing WordPress editor is that in the aim of making writing easy, a lot of the advanced options have been hidden. Somehow it ticks me off and I haven’t been able to write as much as I wanted to.

Perhaps it was writers block, or a busy schedule, or just being plain lazy. I have no excuses for this and in future will try and be much more regular. However, this post is not about my lack of writing, its about this cool feature that I recently found about in the MS Office suite. Microsoft Word has always been a major editor for most individuals (be it a student or a professional). Would it not be super cool if we can somehow directly publish to our blog from MS Word? Let’s find out how!

Step 1: Create a new document

Open your MS Word (as long as its higher than version 2007), and search for a new document type – blog post. You will find this in templates and more if you haven’t earlier done this. Once you find the template, you will notice that there is a Create button.

When you set this up, Office will prompt you to setup your blog. Click on Register Now. This is where its going to get a bit technical, but don’t panic.

Step 2: Register your blog

In this list, choose WordPress. Now, you need to know the URL of your self-hosted or WordPress.com website as well the username and password that you use.

Add these details and make sure to click the Remember Password, else every time you try to publish to your WordPress site, you will be asked to key in the password.

Step 3: Write a draft

You are now done! Start writing your blog post, and once you are done, hit publish!

The post would then be submitted to your WordPress site with your credentials. That’s all there is to it.

AMP and Advertising

Mobile Content

This blog is a modest small-tier blog. It does not get too much traffic (much to my chagrin) and therefore expecting the blog to monetize is too much. However, I have steadily written my thoughts and opinions on this … for the past 7-8 years now.

Looking at such a long time range allows me to study how blogging and blog monhersetization has changed over the years. Especially now with mobile form factors being the main devices that users tend to consume content with.

Continue reading “AMP and Advertising”

How to Clean an Infected Site — WordPress.tv

If you have been playing with WordPress themes or providing WordPress based web builds as part of your business, then you would have installed a nulled theme in your life.

What’s a Nulled theme?

A nulled theme is a premium theme that’s released by someone in the wild. There are multiple such sites.

Wait, isn’t that piracy?

I consider it so. But this is where two different ideals are conflicting. That’s space for another post.

So what happens when you do install a nulled theme … chances are it might contain a malware.

An infected site

This is a nightmare to handle. The worry is not at the technical front, the worry is the grief the publishing team feels … as someone who regularly writes – I would feel bad if my blog were to get compromised.

Here’s a methodical way to sort yourself out.

https://videopress.com/embed/4vjvbhOr?hd=0

Immensely passionate about technology, Owen has built his career on his innate ability to understand and dissect organisational challenges and apply timely and effective solutions, typically focusing on emerging techniques and systems. Owen has been using WordPress since version 2 and runs a number of sites for himself and his clients. He is a Certified Ethical Hacker (CEH) and tries to learn everything about the WordPress security scene. His talk is on ‘Keeping WordPress secure, how sites get infected and how to clean them when they do.’ He decided to talk about malware in WordPress, because it’s a problem that effects a lot of people. he explained malware is just code, code in the same type of code that WordPress is, if you understand what it does and how it does it then there are steps you can take to avoid it.

via Owen Cutajar: How WordPress Malware Works and How to Clean an Infected Site — WordPress.tv

Taking a look at Jetpack Stats

Let me state upfront that I love Google Analytics. I use it at work in 13 Llama Interactive to measure the effectiveness of the campaigns that my team runs.

That being said, I will try and not be too biased about comparing Jetpack Stats to Google Analytics. As a marketer, the way I look at an analytics package is from an ability to extract a fair amount of data.

However, Jetpack Stats is on top of WordPress and available to all WordPress based sites which are connected to the WordPress.com site. This makes Jetpack Stats primary user base as bloggers.

Let’s see what Jetpack Stats has to offer.

The wp-admin Dashboard Integration

Jetpack Stats puts a nice pretty looking graph on the wp-admin Dashboard. This is how it looks like for my site –

Jetpack-Stats-on-wp-admin-Dashboard

Now, this is fairly similar to the Audience Overview you get when you check out Google Analytics.

Google-Analytics-Dashboard

Straight off the bat, I prefer Jetpack Stats overview as opposed to the one given by Google Analytics. Jetpack Stats also provides me with how my posts have performed this day, this report would be available in GA witin the Behavior section, the Site Content report.

The Top Searches that you see in the screenshot would have been helpful had it been accurate. Unfortunately, Google accounts for the majority of organic traffic on my site, and most of that traffic is encrypted. Thus, these keywords that you see (really, I rank for ‘big ass girl dunes’) are not a complete set!

Jetpack Stats does not talk to Google Webmaster Tools, which now is the only source of this keyword data.

Jetpack Stats Posting Activity

One awesome feature about Jetpack Stats is the posting activity screen –

Jetpack-Posting_Activity

This data is shown with a correlation of average traffic per day as well as traffic per month. You could always get this data in Google Analytics (here is a useful post I had written some time back – Google Analytics for Content Marketers).

It’s just this kind of insights that makes me keep Jetpack around for my measurement requirements.

Jetpack Stats vs Google Analytics

Jetpack Stats is a very lightweight tool and it would be useful for a simple blog. However the minute we enter the realm of finding user engagement and performance marketing, Jetpack simply does not have those features yet.

This is where Google Analytics shines through with its Event tracking.

Having said that, Jetpack Stats is an apt solution for a user who is more focused on the publishing process.