Monthly report April 2014

Since the FusionForge 5.3 final release, TrivialDev core Team focus his effort on the FusionForge future.

Until now, many users complain about no visible roadmap, no release plan. FusionForge community is a do-ocraty: meaning, the community is not structured around a BDFL or some kind of hierarchy. FusionForge community is based on voluntarism: if a member is ready to do it, then he can do it. Still there are some community core members which try to create a global logic view. By the way, what is a community core member? It’s a long time involved person into FusionForge who has commit rights and a long history of commits. That said, anyone can become community core member.

Last April 18, FusionForge community core members met. Here is a simple report of our discussion: FusionForge April 18, 2014 Meeting report.

So, what users can expect from the next FusionForge version:

  • more responsiveness: FusionForge architecture is based on a frontend written in PHP and a cronjob backend (mostly in PHP too). The idea of cronjob is : doing mass actions. That way FusionForge is able to handle massive deployment. (>5000 projects, >10000 users). The limitation of this approach is the delay between the user request and the treatment. Next version will come with a new way to execute user request.
  • Javascript cleanup: FusionForge uses jQuery UI as standard framework. Still sometime we provide multiple extensions to do the same thing. We will try to avoid that situation as much as possible. Why tipsy while we have jQuery UI tooltip? Why specific code when a jQuery UI widget is available? FusionForge theme should also offer a better integration with jQuery UI theme.
  • Document manager webdav full support: A tricky feature, Webdav is not an easy protocol. Every software client has his own implementation and subtil manner to do Webdav. Due to 3 features currently missing: document version, workflow, webdav write access, many users set up other tools for document management (sometimes without any good reasons…). FusionForge next release will offer webdav write support. Webdav read access is already available in 5.3.
  • Rewrite of the File Release System: FusionForge provides a simple way to publish artefacts. Still the frontend code is old and messy. It need a vast cleanup / rewrite to get the possibility to offer new features such as: SCM release, integration with document manager, create the changelog using the Tasks and Trackers.

Probably other features will be part of the next FusionForge release. Community members agree to release it by the end of 2014. Roadmap available here.

By the way, what will be the release number? 6.0 or 5.4. We do not know yet. It’s still under heavy discussion between community members.

Posted in News | Comments Off

Monthly report March 2014

TrivialDev core team has focus his efforts on one topic this month, the 5.3 release.

Fusionforge 5.3 final release

After 4 release candidates, Fusionforge 5.3 is finally released. The official announcement is here. TrivialDev is proud to be part of this release. Fusionforge 5.3 includes some major contributions from TrivialDev. Here are some highlights of TrivialDev work :

  • The document manager now stores the files on the filesystem. Your database will be lighter. You can monitor a directory and be notice of activities about this directory. A basic reporting is now available. It follows the same standard as the FRS report. New created directories are displayed in the project activity tab. A new widget “Document Project Activity” lands. You can easy see new or updates files, new directories, in the last 4 weeks.
  • The SSH keys management has been rewritten. Some informations are now available such as fingerprint, deploy flag, easy delete action.
  • The FRS report is now available as a graphic.
  • All graphics are now jqPlot based. The old jpgrah php library dependancy has been dropped.
  • The MyArtifacts widget now displays the monitored artifacts as well. It helps to follow your work.
  • Direct access for online browsing your personal clone repositories.
  • SCM activity (commits) are now displayed in the project activity tab.
  • The scmhook plugin has been enhanced superseding old svncommitemail and svntracker email. Git has new hooks: commitTracker and commitEmail too.
  • Basic PHPCaptcha integration thru a plugin.
  • headermenu plugin helps you to create new menu entries in login, main and project tab menus.
  • webanalytic plugin offers the capacity to interact with tools such as piwik.

You can download Fusionforge 5.3 here. Any feedback ( is welcome.

Open our creative mind to build the next Fusionforge

Since Fusionforge 5.3 is now released, TrivialDev now focus on new features for next Fusionforge. Some ideas pop up. There are still in rough design. Still here are some tips :

  • the FRS module will be rewritten to offer better integration with SCM and probably artefact repository. (Relation with document manager already lands in the master code)
  • the User Diary feature will be … well … we do not know yet but that could be a rather nice new piece of Fusionforge.
  • the effort on the document management will continue. Webdav ? Maybe. Too soon to tell for sure.

You can also help us and create you own feature requests here.

Posted in News | Comments Off

Monthly report February 2014

Fusionforge 5.3, release candidate

Core Team focused their effort on the forthcoming Fusionforge 5.3. First release candidate was available last February 3th, second release candidate is now available since last February 22th. Next release candidate in schedule for march 7th and final release is schedule to march 21. We still need to focus on the install-ng script, a helper for quickly install Fusionforge with basic configuration. Any feedback is welcome.

Direct link for downloading last release candidate.

New feature : add documents from docman to FRS

TrivialDev is pleased to announce a new feature in the FRS module. You can now add a document from the docman module into a release created thru the FRS. No need anymore to download the file from docman and then publish it into FRS. Here a small screenshot of this feature.

New feature Activity view : PM module integration

The project activity tab is a easy place to find all activities in your project. Still some activities were missing. Now core team add support for the PM (tasks) module.The needed screenshot below.

Bybye Tabber.js

Fusionforge community choose to use jQuery framework as standard js. This time, Fusionforge switchs Tabber.js to jQuery.UI tabs.

Posted in News | Comments Off

Monthly report January 2014

Git Tracker Hook

It’s been a long waited feature. But it’s now full published in the main Fusionforge community repository. The scmhook plugin support now  Git <-> Tracker Hook. To use it, you need to enable Tracker in your project, enable SCM and select Git repository, enable scmhook plugin. Currently, since Fusionforge is only support Git ssh or webdav accesss, you must use ssh to enable the hook. It’s by design limitation. Git does not support hook thru webdav.

Stabilization branch Fusionforge 5.3

Fusionforge 5.2 was released September 2012. It was time to make a new major release. The 5.3 branch open January 14, 2014. TrivialDev Core Team focus their effort on fixing bugs. The first release candidate should be available in couple of days. Stay tune and we need your feedback.

Tracker Vote System

Since 5.3 branch is now open, it’s also time to merge new features in Fusionforge master. A old patchset provided by Evolvis (Fusionforge fork) was waiting. This patch offers the capability to vote for issues in tracker. It extends the role system. You can now set role with “vote” on tracker. Here is a preview of this feature :

Fusionforge 6.0

Since 5.3 branch is open, community agree to start a new round of development. This time, next version should be 6.0. It’s time to open new feature requests. Some new requests are open about Git integration (such as support for smart http), so do not be shy, your contribution is more than welcome.

Posted in News | Comments Off

Monthly report December 2013, a Fusionforge retrospective

Cleaning, fixing code

Our Core Team focused their efforts on the forthcoming Fusionforge 5.3 release, fixing bugs (9 closed this month), cleaning code (indenting, adding PHP documentation).

Fusionforge retrospective

2013 year has been for Fusionforge a stabilization year and a preparation for the next major release 5.3. We released 5.2.1, 5.2.2 & 5.2.3, even the 5.1 branch has a new release 5.1.2. These 4 releases were bugfix oriented.

In 2013, the code base grow by 40k lines (from 520k to 560k). In details, 40k lines of PHP added, 10k of HTML added and 10k of Javascript dropped (moslty due to cleaning javascript multiples libraries mess).

11 contributors worked on Fusionforge this year making 1700 commits, modifying 2900 files. TrivialDev Core Team represent 23% of the contribution.

The master branch looks ready for the new release. We already presented on this blog some of the new features, enhancements include in Fusionforge master. Here is an incomplete list :

  • docman & tracker now store the files on the filesystem. In 5.2, both tools store the files in database.
  • more activity informations : new directory created in docman is display, scmsvn & scmgit support activity too.
  • new plugins appear : headermenu helps you to add links in different Fusionforge menus, captcha based on phpcaptcha, webanalytics offers easy integration with piwik tool
  • some plugins are replaced by extinsting enhanced plugins : scmhook now replaced the old svncommitemail, svntracker.
  • HTML5 start to be use when possible, especially the new options of the <input> tag.

And now what next ?

TrivialDev Core Team will continue to focus on cleaning the Fusionforge backlog (bugs, patchs & feature requests) and work on rewrite some major Fusionforge features, so stay tune.

Posted in News | Comments Off

Monthly report November 2013

During this month, TrivialDev Core Team were focus on 3 points.

Closing issues in the Fusionforge Trackers

8 issues were closed this month. Some were quite old like this one [#353]. TrivialDev Core Team will continue to close, triage, answer to all the open issues. It’s a long effort. We are very sorry that so many issues are still not answer after all these years. Since last February, when TrivialDev start to focus effort on the open issues (features request, bugs, patchs), patches tracker goes from 50 to 16 open issues, bugs tracker goes from 111 to 88. Features tracker is still high : 80 open.

Add support in the “send a message to user” page to phpcaptcha plugin

Fusionforge offers capability to send a email to any Fusionforge registered user by using a dedicated form. Since this form is open to anyone (even not logged user), it’s a perfect place to use phpcaptcha plugin to assure sender is not a bot. This feature is now available in the Fusionforge git master branch. Captcha is only display when not logged user “use the send a message to user” page. Feel free to report any bug.

Git Tracker Hook Status

We still need time to fix issues with the Git Tracker Hook. We hope to publish the code in the Fusionforge git master branch as soon as we can. In the meantime we can follow our work there.

Posted in News | Comments Off

How to configure multiple Fusionforge instances in one single server

There is probably many ways to achieve this. You will find here one solution, probably not the only one.

Why running multiple instances in one single server.

With the current tool, such as lxc or any other virtualization tool like linux kvm, you can easily setup multiple machines. Sometime, especially in development process, running multiple Fusionforge instances is definitely handy.

Fusionforge provides initial configuration files for Apache HTTPD Server and Fusionforge itself. These files are located in the ~/src/etc/ directory. Fusionforge also provides a very basic shell utility to manage the initial Apache HTTPD Server configuration files. You may take a look at ~/src/utils/ shell script for more information.

Prerequisite: multiple Fusionforge instances means multiples FQDN. Yeah, you will need a FQDN per instance. The solution presented is using Apache HTTPD VirtualHosts. Do not forget to declare include httpd.conf.d directories in your main httpd.conf.

Organize your configuration files : Use the ServerName value.

There are many ways to organize your configuration files. Here is a proposition. Put everything in /etc/fusionforge directory. Then create a specific directory per instance. Use the ServerName value to name this specific directory. Then, in each specific directory, copy your config.ini, config.ini.d, httpd.conf.d and plugins directories. Adjust your config.ini and your config.ini.d/*.ini files accordingly to your installation. You can run the same Fusionforge code with specific configuration. This is a fantastic solution for testing ssh or dav access in specific plugin such as Subversion.

The Fusionforge initialization php routine makes multiple checks to find your configuration. First, it tests if the FORGE_CONFIG_PATH is set and if the config.ini file is there, if both are true, Fusionforge will use this config.ini file. Since it uses an environment variable, it is an unique instance solution. Comment the FORGE_CONFIG_PATH in your httpd.conf.d/ file, then Fusionforge initialization php routine will look for /etc/fusionforge/{ServerName}/config.ini file.

Bingo! Multiple instances allowed.

You might need to tweak a little bit your httpd.conf.d/*.inc files. Split your log files, easier to debug.

To run multiple Fusionforge instances you will need multiple databases. Fusionforge needs a PostgreSQL database. 2 Fusionforges will need 2 distinct Fusionforge databases. This will be true for most of integrated tools used. You will need to create specific directories to not mix up data from one to another instance. Think carefully before setting up your multiple instances of Fusionforge.

Just an open question, what are the configuration needed by mailman to run your multiple instances? Think carefully.

Posted in News | Comments Off

Monthly report October 2013

Cleaning Javascript part 2

The #578 request has been closed and merged into the Fusionforge master code. Team focused their efforts on continuing javascript cleaning. Docman component use also jQuery. We decided to use a jQuery plugin to replace our specific div splitter. The new code has been also merged into the Fusionforge master code.

Triage bugs, features requests and patchs

Fusionforge has a long history of old open bugs, patchs and features requests. We spent a lot of time to triage, close old obsolete bugs, apply patchs (thanks to skymix, rhabacker). 10 bugs, patchs or features requests have been fixed, applied or closed. Take a look at Fusionforge activity for all details.

Posted in News | Comments Off

Monthly report September 2013

Bad news this month, one of our core member has a serious crash machine. tiben was working on the next git tracker hook. We thought first we could merge his work during september. With the crash, tiben lost a complete week. His work may land in Fusionforge community source next month.

Cleaning Javascript

Our team worked also on the feature #578. You can find the current code here. During the Coclico project, Fusionforge merged code from other fork. Codendi is one of famous Fusionforge fork. The widget system is codendi code based. But Fusionforge is using jQuery and the widget system is based on Prototype.JS + scriptaculous framework.

Rewriting the code helped us to drop old specific codendi javascript, and probably fix some bugs in the “custom layout builder”. Bybye multiple javascript framework loading. Less code means less bug. You can grab the code here. Any feedback welcome.

Open World Forum 2013

TrivialDev Founder was invited to the last Open World Forum 2013, for the opening Cocktail. It was a friendly time to meet other major opensource actors.

Posted in News | Comments Off

Monthly report July – August 2013

Bye bye jpgraph, hello jqPlot, Teamwok Gantt and jQuery

A long time effort made by TrivialDev has been finally merged into Fusionforge master branch community repository. Old jpgraph code has been drop and replaced by javascript jqPlot library. jqPlot is a jQuery based plotting library. All informations about jqPlot are available here. Really easy to use. Here is an example of the new jqPlot graphic.

Even in the Task module, the old jpgraph based Gantt has been rewritten in javascript. This time, Teamwork Gantt library is used. Teamwork Gantt library is also jQuery based. Task module now offers dependencies tracking in Gantt view.


Enjoy ! Any feedback is welcome.

Phpcaptcha plugin

A long waited requested feature is now implemented in Fusionforge. You can now activate at Forge level a small captcha (currently image only) in the new account register page. This plugin will help you to secure your public Fusionforge instance against spam robot. Phpcaptcha plugin is available in Fusionforge master branch.

To use this plugin, you need to install phpcaptcha on your server. Just download last version of phpcaptcha, uncompress the archive in any directory you want, set this path in config.ini  and files. Reload your httpd server. Enable the plugin in your Fusionforge instance. And there it is !

Posted in News | Comments Off