2013 Mar 4

Making the Fedora Websites more maintainable for easy fixing

Have you ever felt that something has to be done, that would help your day to day hacking? Lazy programmers spend time to make code that writes the code for you. Isn't that smart? Since I joined the Websites Team, I did many small improvements. And that's where I learned Python. Oh, even Git. And more.

The history

The Websites team is quite wide (45 FAS members), but only few are day to day active contributors (only 10 in a year, and 4 with 10 or more commits in 2012). But as any other active projects, we need help. For each new Fedora release, we need to update the content, make new screenshots, add languages etc.

fedora-web repo stats

There are many simple tasks which are time consuming.

And if we need to add a new feature, or fix a simple bug, there are good chances that it needs to be ported to other files. Yeah, we had plenty of duplicates which were the same original file, copied, and then modified. I am not saying that it was a bad design. It was good if the websites were all on a separate repo. Or for other obscure reasons. But sometimes, you just rewrite what you did before going to bed.

Would you go ask people to join your project if you need to maintain code like this? It was hard to understand the architecture, hard to maintain... Luckily Robert Mayr joined us, stayed, and helped us a lot.

Now, I am happy to announce:

This time is over!

Instead of having one Makefile, one httpd conf, and the python scripts and templates for each websites, all websites are now using the same files. (Ok, there could be other improvements, but make it real, release often).

Here is the summary:

  • one external contributor: Thank you Tomas Radej (we started together at FUDCon Paris 2012).
  • 73 files deleted and 10 added
  • 17183 lines removed and 2063 added

And now, it's time to update our doc and let external contributors help us with our easyfix list. Oh, we also have to update the infrastructure side which is still using 7 different language.conf files... We should make a template for that..

Thanks to all helping us in the websites! It's not only about commits on the repo. It's also through Trac reports, or mailing list answers. We have more contributors on the mailing list. That's nice.

Wanna join us?

Just read that wiki page and start right away! Or come by #fedora-websites on IRC:Freenode and get in touch! Or get to know our repo better by reading this.