Through this article I'd like to dissect some components of open source software projects to help everyone better understand the dynamics involved. This understanding is important because all too often we are involved in just one aspect of a project, and therefore may see it from only one perspective.
Show your support for Zikula! Sign up at Github account and watch the Core project!
Continuous Integration is considered to be a mature and essential part of software development. The idea of continuous integration is to continuously test software and apply various other automated checks to ensure quality. We can apply a similar concept to almost any aspect of our daily life, and certainly in project management. Let's call it, “Continuous Review”.
“Continuous Review” simply means to regularly review what you are doing and measure the results. Over time you can easily see what is working and what is not. The consequences of not doing this can be very substantial.
“Not invented here” is an unwillingness to use foreign stuff from outside your own project or company. Many open source projects suffer from this phenomenon, and in the past, so did we. There are many reasons for it: I specifically remember people expressing that if we use 3rd party solutions for stuff on our website for example, that might send the wrong message about what Zikula can and can't do. There's probably a pride issue buried deep in there too. Such a fear comes from complete ignorance.
You may be curious how you can contribute to the Zikula project or any of the module projects now that many of them have moved to Github. The good news is that it is actually pretty easy to do so. We just haven't done a good job of publicizing how it's done. Well, that is what this article is all about!
Writing a custom Zikula module can be relatively fun and easy, provided you follow some basic guidelines and are prepared to invest some discipline. The more complex the module you are writing, the more you will benefit from the strategies laid out in this post.
Submitting bug reports, or "tickets" for Zikula (or any other piece of software) can sometimes be a chore. It is tempting to write a quick ticket that briefly says, for example, "Login is not working", and then let the programmer figure out what's wrong.
Let's remember what the goal of submitting a ticket is, though: get the bug fixed.
As we have extensively upgraded and extended our Cozi recently, I recognized that most of us do use very few features, and might not even be aware what can be done with the beast. I therefore will start a serie of articles about the "hidden secrets of our Cozi" here There will be no special order or weight, I will just write them as they come in my mind.
Personally spoken, I love the style Trac is using Pygments by default to present code in the repository browser view:
I'd like to explain the process of moving and SVN repo to Github. There are limitations in what you can import because git and subversion are fundamentally different. In most cases it will not affect you, but in some circumstance, it will. I have explained the: potential difficulties here (8 minute video).
Importing projects to github.com is relatively easy but there are some important considerations:
This article explains the reasons why, and to answer some common questions that arise from the move.
Firstly, GIT has dozens of advantages over subversion. I'll not get into the techie details, but safe to say, it's a dream to work with, saving time and making complex operations a 'piece of cake'. But there are many other reasons for the move beyond individual developer satisfaction. The big plus with GIT is that it opens up collaboration in ways that are just not possible in subversion.
I made a video about it: here (read more)
The holy grail of content publishing - that's exactly what Pagesetter means to so many people. A little known fact is this multipurpose, do it all module was written on the train, by Jorn - to and from his way to work! Pagesetter is basically a database system, you can configure the schema and generate forms to display that data. With Pagesetter alone, you can do most tasks all with the same module. It's no wonder that that there was great disappointment when Jorn announced he would orphan all his modules due to the birth of his first child.