Monthly report June 2013

Bugs & cleaning code

Fusionforge inherits code from first implementation of SourceForge, back in 1999. Code has been rewritten object oriented in 2004. Still, a vast part of the code does not follow same coding rules. Undeclared variable, undefined index in array, unused variables, wrong variables used are common errors. Cleaning such code takes time. After 3 years of efforts, fusionforge code is cleaner, still bugs exist.

2 major bugs have been reported and fixed in docman this month. Moving folders to trash implementation was incomplete. People with submit right in docman was not able to submit files. These two bugs are fixed in master. Another minor bug fixed: wrong computation of upload size limit.

jqplot implementation

Most graphs are implemented. Old jpgrah code has been drop. Tests are being done using data coming from the community Fusionforge site. Here is a preview of same graphs using jqplot and jpgraph.

The Project management graphs are not implemented yet. The gantt chart will probably be the most difficult to implement. Some other graphs are still missing, such as the survey result graphs. You can grab and test the code here. Any feedback welcome.

Posted in News | Comments Off

Monthly report May 2013

Another monthly report. Our coreteam were focus on 2 items.

scmhook

As presented here, scmhook is a complete solution for handling hooks in your scm repository. Currently, scmhook support subversion, mercurial and git. scmhook aims to replace older plugins such as svntracker, svncommitemail. Well, now, it’s done. Our coreteam fixed the commitTracker hook for svn and published migration script from svntracker and svncommitemail to scmhook. Time for upgrading your db and test. Please report any bug you may find. This update is in Fusionforge master branch.

jqplot

Fusionforge jqplot integration has been announce a while ago now. Things are moving slowly. You can follow development in this specific public branch. This branch is based on master. Current status is :

  • full support in project view. In project pages, all graphs are using jqplot. If you disable javascript, the fallback is the old jpgraph implementation. Attention, some jpgraph implementations are buggy. jqplot implementation may differ slightly.
  • all forge admin graphs are still using jpgraph. That part is under jqplot implementation.

Some screenshots of jqplot implementation are published on our tumblr blog. This public branch will be merge in fusionforge master when all graphs are implement. Stay tune.

About Tumblr blog, it will be used to publish fusionforge screenshot of any new work in progress.

 

Posted in News | Comments Off

Monthly report April 2013

TrivialDev core members were focus to reorganize, triage bugs, features requests and patchs review available on Fusionforge trackers. TrivialDev closed 15 patchs. Some were easy to merge (one line diff), some are (and still are) quite difficult to merge. But where is the difficulty about merging a patch ?

Usually a patch is a one file containing source code unified diff for one feature, but sometimes, surprise! there is multiple files fixing multiples bugs, adding a feature, changing the display, … Sometimes, the patch is not a unified diff, meaning you do not know what original source code file has been patched.

Fusionforge Patch Policy

To avoid such surprise, any opensource community usually define a patch policy. Since Friday, April 26, Fusionforge community do have a clear patch policy. This patch policy defines 3 mandatory rules and one optional rule.

  1. Your patch must be available for the last stable branch (current stable branch is 5.2) . If you want to provide your patch against master, that’s very nice of you but it’s not an obligation.
  2. Your patch file must be a unified diff. The unix diff command is your friend here, git provides a command to create an unified diff : git diff
  3. Your patch must do one thing at a time. Do not mix bugfix and enhancement. Do not mix multiple features in one patch.
  4. Naming your patch according to the branch you hacked and the fix/enhancement you’ve done. This rule is optional.

Where to contribute your patch

Fusionforge has 3 trackers. each tracker has his own purpose.

  1. Bugs is dedicated to raise an new issue about Fusionforge.
  2. Features request name is clear enough. You need a new feature? Create a new entry.
  3. Patches is dedicated to enhancement of existing features.

You can publish your patch into any of these 3 trackers, i.e. if you fixed a bug, create an entry in the Bugs tracker and add your patch file as attachment.

How, when your patch will be merge ?

Fusionforge community developpers will take care of your patch. If you patch complies with the rules above, your patch will be review, maybe directly merge. Sometime, your patch will be enhance, rewritten. To be honest, sometime your patch is rejected. Fusionforge community deveoppers may refuse your patch based on their analysis.  Your patch will be merge at a time.

Still, you want to be sure your feature, your fix, or your enhancement will be include Fusionforge community source code at a defined time. TrivialDev company offers such service.

Posted in News | Comments Off

TrivialDev Core Team : official new member

TrivialDev is happy to announce the official nomination as Core Team member Fusionforge contributor Benoît Debaenst also known as tiben. Benoît is co-founder of TrivialDev.

Welcome Benoît !

Posted in News | Comments Off

Monthly report March 2013

During this month, TrivialDev team has worked on 2 topics.

SCMHook plugin enhancement.

Last month, TrivialDev core contributor tiben published in his own public repository scmgit commitemail hook. This feature is now merged into the main master Fusionforge git repository. TrivialDev team is now working on the Commit – Tracker / Task link. It’s a common use to link a commit to a specific tracker or task. scmsvn plugin already has such support in scmhook. Even a dedicated plugin is still available SVNTracker, but obsolete since scmhook aims to offer a common way to handle hooks in every SCM plugin. We hope to get back to you quickly with a fully functional new hook for scmgit.

RBAC and Fusionforge feature dependencies

Fusionforge offers a complete set of features for each project created from tracker to documentation, source management, mailing-list, forums, … All theses features can be activated, deactivated on creation or per use. You may not need forum in your project. Fusionforge uses a role-based access control to handle correctly all privileges per user in any project. The mix of the RBAC system and the Fusionforge features made some error locks. i.e : unable to create a mailing-list if forum feature was not enable among other feature lock situation. It’s now fixed in both Branch 5.2 and master.

Other informations

On the community side, a heavy effort has been made by Yannick Le Ny to reorganize the wiki documentation pages about plugins. Thank to him. The main page has been revamp and reorganize. Each plugin has his own description page. Do hot hesitate to provide your feedback, describe your experience.

Posted in News | Comments Off

Monthly report February 2013

This month was focused on scmgit plugin.

scmgit offers integration for git dvcs. During last community meeting in october 2012, fusionforge tea decided to switch from subversion to git as main scm tool. Last december, TrivialDev team follows the switch and made git as the main scm tool used in TrivialDev company.

This switch shows us some scmgit plugin limitations.

Git http dav support

scmgit can be setup to use git+ssh protocol or http dav protocol (respectively use_ssh or use_dav in the scmgit.ini configuration file). git+ssh authentification is based on nss (Name Service Switch Fusionforge configuration help) http dav authentification is based on mod_dav httpd module.

When using nss authentification, fusionforge checks if your username belongs to the right group to offer you commit rights. With http dav, fusionforge 5.2 just checks if your username has declared in a common AuthUserFile. And this is bad… Any users declared in the AuthUserFile has commit rights on any project even if the user is not a member of the project.

Inspired by this thread, TrivialDev core team publish a specific git branch to support proper http dav authentification. Tests are underway before merge into main fusionforge master git repository. This branch creates one httpd Location per project with one AuthUserFile per project. At least now, http dav Authentification works correctly.

Git and scmhook commitemail

TrivialDev core team member tiben published in his personal fusionforge clone repository another scmhook enhancement offering scmgit commitemail hook. We are currently testing the feature in our lab before merging in the main fusionforge master git repository. Thank tiben for contributing.

Git and activity tab

Project’s activity tab shows what’s new in the project: new forum article, new issue in the tracker, new documents, and new commit. Scmgit plugin supports activity but per default, the activity page did not display the scmgit activity even if the Git commits entry was selected. The bug has been fixed and merge in the fusionforge master. TrivialDev team enhanced also the activity log by displaying the author. This enhancement is based on the require_unique_email flag to match the commit email used and the user email in the database.

Other Fusionforge bugfixes

Based on patches French Ministry of National Education, we fixed some bugs in project-hierarchy plugin, widgets display for project and personal page, docman folders tree.

Extratab plugin has been obsolete by headermenu plugin and so is removed from the tree. Your database needs to be upgrade using the migration script provided.

 

Posted in News | Comments Off

Monthly report January 2013

Since December was focus on migration our infrastructure, we add more time to contribute on fusionforge.

Fusionforge offers a plugin system. Sometime contributions create very close plugins in terms of fonctionnality. That was the case of headermenu and extratabs, both wrapper offering new tab in menu. Request 507 has been made to merge these plugins. Well, it’s done ! Fusionforge master has now a full featured headermenu plugin, and extratabs is now obsolete. A migration script is provided. Use the upgrade-db.php will the “headermenu” option.

On the community side, the Facebook Fusionforge group is created. Join us ! And feel free to give your point of view about Fusionforge, share your experience, ask for help.

New stable release are available. These are mostly bugfixes releases. Direct link for download 5.1.2, 5.2.1. Enjoy !

Posted in News | Comments Off

Monthly report December 2012

This month has been focus on migration and preparation. TrivialDev Team migrate from svn to git. All developments done by TrivialDev are now directly available on the Fusionforge community site. TrivialDev core contributors (nerville, tiben) requested their personal git repository, cloned from the Fusionforge master repository. TrivialDev Team is now publishing all their current work in their respective repository. Please find all our works there (nerville personal repository, tiben personal repository).

jqPlot contribution appears in nerville personal repository, a specific branch is dedicated to this integration.

Based on FRS reporting view, docman implements same feature using jqPlot. You can know how many files has been download per month. This feature, available in fusionforge master branch, comes with a db upgrade. If you need a specific docman feature, do not hesitate to create a feature request here (account needed), you can also take a look at this wiki page for the upcoming features.

Fusionforge gets his own google+ community page. Feel free to join. Fusionforge is also available on most social networks (identi.ca, google+, LinkedIn group, facebook).

Posted in News | Comments Off

Monthly report November 2012

November has been a low contribution month from TrivialDev to Fusionforge.

In master branch, docman now stores files in filesystem. This migration can be done using db script published (take a look at src/db directory if you’re not aware of the way we handle db update). Your database will be much lighter. No more blob stores in db. Tracker file attachments are also stored in filesystem. Both tracker and docman are using the same mecanism.

Still few bugs has been fixed in master about docman. The “inject tree” feature is now fully operational. Previously the injection was made wrong. The tree hierarchy created was not as expected. “inject tree” feature allows you to upload a zip file including directories and files. This zip is uncompress and each files and directories are created according the way the zip is. Currently only zip format is supported.

Fusionforge contributors team decided to use only jQuery JS framework. Still old JS is available in the source tree using other and various framework. The master branch jQuery part has been update to the last stable version. jQuery is now 1.8.3, jQuery UI 1.9.2, jQuery SimpleTree 1.5.0.

The scmgit plugin comes with a simple widget which lists your personal cloned repositories. A link has been added to help you to browse your repository online.

jqPlot integration continues. We hope to contribute this part by the end of the year.

 

Posted in News | Comments Off

Monthly report October 2012

From now on, TrivialDev will present a monthly report of his Fusionforge activities. Just a few words on topic such as bug squashing, small enhancements or any other thoughts related to Fusionforge.

Last 10th was the Fusionforge community day. A nice face to face meeting. All major contributors were around the table presenting their work. Major decision is to switch from subversion to git as DVCS. Fusionforge was long time running subversion. Git was behind the hood for a while. Now, decision has been made : Git is our primary SCM tool.

Roadmap feature is now available on fusionforge.org. Easy to follow what is going on and what is planned. This feature will help us to build the next release. We discovered some old hidden forgotten bug reports, patches, feature requests, sorry about this. We will try to do better next time.

Few docman bugs have been fixed in 5.1 branche. Notice mails have been rewritten to be mailman compatible. Easy to include docman notifications into mailing-lists now. Docman search engine should run smoothly now. Supported Mime-type are pdf, odt, odp, doc, text plain or html. All these fixes have been ported to 5.2 and master branches. Don’t forget to reindex your data once you update your installation.

A nasty bug has been fixed in scmhook plugin which could lead to a complete loss of your hooks configuration. Fix available in master.

 

 

 

 

Posted in News | Comments Off