FusionForge

Meetings/2014

From FusionForge Wiki
Jump to: navigation, search

Info

Plan

  • Meet each others :)
  • Talk about everybody's work on forges
  • Plan the roadmap/features for the next FusionForge version, and prepare an announcement, grouping planned improvements by visibility and use Fusionforge tracker to display it (roadmap) :
    • End-user
    • Site-admins
    • Developers

Topics

First, let's continue to discuss issues in the Friday IRC meeting - the IRL meeting doesn't take over all forms of discussions ;)

Let's try to list impacting topics here. Express features, then the implementation details and impact (the ends rather than the means).

  • Improve Ergonomy & accessibility
    • Requirement: use a templating system (Symfony's Twig?)
    • Requirement: or keep using standard Fusionforge HTML and utils helpers; rewrite the feedback / error_msg / warning_msg system using cookie?
    • Involving an ergonomy person
  • Concurrent_WebDAV_and_SSH
    • leads: Gitolite-style single user? Apache-Fuse IPC? SabreDav? Lolando's mod-itk experiment?
  • Responsiveness (create projects & SSH keys immediately)
    • leads: dedicated daemon? Reuse tools like RabbitMQ or Redis, or Fedmsg [1] [2] or re-code? or re-use codendi/tuleap event manager ?
    • Or a job queue and a frequent cron job (every minute? five minutes?) that only runs what's needed (cf. job-server.pl experiment)
  • Release process
    • Make the release cycle *way* shorter, to help void forks (e.g. EvolvisForge stuck on 5.1) ; 5.4 or 6.0
    • Use tracker vote system to adapt our roadmap ?
    • Taking care of the open Features Requests, Patches and Bugs. (20140405: 49 bugs, 15 patches, 85 feature requests)
  • Common installation system & merge/minimize Debian packaging branch
  • Private Git repositories browsing [3]
  • NFS limitations (16 groups/user) - what to recommend? (kernel patch, webdav, iSCSI)
  • GID potential conflicts (user gids start at 20000, is at 39000 at Inria, projects starts at 50000)
  • Planetforge, Forge Ecosystem
  • Continue Docman enhancement Docman_rewrite_proposition

If there's time, we could talk on trolly :

  • Long-term evolution : towards a framework, towards improved internal funcs, towards Drupal...
  • Stats

Ideas that didn't fit the topics above :

  • Under "Improve Ergonomy & accessibility", please explain the link to topic :
    • Using a microframework (Symfony's Silex? )
    • Should we try to share a Common plugin system, or support others? mediawiki ?, drupal ?, ...?
  • Please clarify:
    • Use/make ldap or Idp provider plugin (openid, cas, fusiondirectory, lemonldap, simplesamlphp )?
  • Rewrite FRS: use docman/tracker code model, link with hudson? link with SCM tags? link with artefact repository? FRS_rewrite_proposition
    • Rewrite Diary: make it a blog feature ? => following IRC discussion it appears nerville thinks of a big plan to rewrite PHP objects Diary_rewrite_proposition

Meeting report

Presentations

nerville (TrivialDev, Paris)

  • Works on FF since 2009, TrivialDev co-founder with Benoît
  • TrivialDev manages:
    • HPCForge, linked with CERN (webanalytics (piwik&google-analytics integration) and headermenu plugins, ssh key interface)
    • Université de Savoie
    • A few large corporate groups' forges
    • Current focus on Files Release System (FRS)
    • Plans some work on Continuous Integration
    • Worked as subcontractor of a small swiss company.

tiben (TrivialDev, Paris)

  • Same as nerville
  • Recently worked on git hooks

bredt (TrivialDev, Paris)

  • Work with TrivialDev

Beuc (Inria Rennes)

  • Started working on forges in 2003 following GNU Savannah's compromise
  • Progressively took over GNU Savannah's maintenance - code, sysadmin, support requests, project approvals
  • Got employed by Inria for 2 years to work on FusionForge since January, worked mostly on 5.1->5.3 and Debian 6->7 migrations so far.

Julien Heyman (Atos, Paris)

  • Part of the Cellule Open Source, installed gforge and fusionforge
  • User support, run, patches, GForge -> FusionForge migrations (through 4.8/5.1/5.2)
  • Clients include: internal forges for large groups (public and private)
  • Worked on internal plugins: OWL, Bugzilla (which involved contributing to Bugzilla 4.0 API)
  • Anticipates contributions related to Alfresco plugin, and Bugzilla update for 5.3

Sébastien (Inria, Rennes)

  • Sébastien at Inria since 2007, work ~20% on forge along with 2 other people at ~10% full-time
  • InriaForge since 2005
  • InriaForge is special in 2 ways: mixed public/private projects, and mostly used by researchers

Patricia (Inria, Rennes)

Works with Sébastien, responsible for InriaForge.

Christian (Orange, Grenoble)

  • Started by automating a set of CVS repositories using SourceForge, contributed to Debian packaging
  • Used GForge, then Codendi, then Tuleap at work.
  • Also contributed on free time (e.g. buildbot setup)
  • Interested in forges convergence, in particular FusionForge <-> Tuleap
  • Tuleap imported the Mediawiki plugin from FusionForge
  • FusionForge could import features related to Agile Development (cf. dashboard)

Lo-lan-do (Gnurandal, Montpellier)

  • Works freelance since 2006, mostly on sysadmin and FusionForge jobs.
  • Debian Developer, though decreased implication these days
  • Maintains the following forges: Debian Alioth, Adullact (based in Montpellier), OpenDO (AdaCore)
  • Works from time to time Inria and Iffremer forges.
  • Interested in centralising and integrating all contributions
  • Currently working on Git-over-HTTP
  • Expect to work on templating

obergix (Evry)

  • Maintains https://fusionforge.int-evry.fr/
  • Interested in: integration with other forges, Docker, Documentation
  • Involved in the following plugins: OSLC, ADMS.SW, popups
  • Involved in GForge -> FusionForge migration documentation
  • Mentions that headermenu could be used to automate all the mantis/jenkins/<iframe>/etc lightweight plugins.

Not present

Alain Peyrat and Marc-Étienne Vargenaux (Alcatel-Lucent)

  • Work on Alcatel-Lucent forge - http://open-innovation.alcatel-lucent.com/ which uses a local FusionForge branch
  • Marc-Étienne involved in: translations, URLs encoding (especially for haproxy), phpwiki plugin (current state?)
  • Contributed to tracker (workflow, extracts, activity log)

Mirabilos (EvolvisForge, Germany)

  • EvolvisForge currently stuck on 5.1
  • Responsible for trackersvote

State of FusionForge and forges

  • FusionForge quoted in French Ministry
  • Independent, not linked to one editor
  • Still here after many attempt to rewrite, replace with the One True Forge, etc.
  • Other forges:
    • NForge: Korean fork
    • Université de Rennes
    • Source-Sup - patches to use Sympa userbase
    • Allura : not so active? (incubation status: officially included in Apache on April 1st - and apparently it's not a joke)

Topics

Ergonomy

  • Lo-lan-do: Adullact interested in involving a person specialized in accessibility and ergonomy, though nothing is set in stone yet.
  • Ergonomy would be eased by a templating engine, opportunity to switch.

Templating engine

  • It's important to make the change incrementally
  • Contributions from Atos (bugzilla) and TrivialDev will conflict, so not interested in massive changes right now
  • Use HTML helpers is probably not interested, as templating engine supposed to take over the full View process
  • Priority: low: waiting for Adullact, more urgent topics
  • Points of attention: top menu lines, tooltips, URL prefixes.
  • Client need: themability, including changing the layout (vertical menu vs. horizontal menu, search box position left vs. right, etc.)
  • Beuc willing to implement templating tests on homepage and project page so everybody can better understand the impact of a templating engine

Aside:

  • nerville willing to store feedback message in cookies rather than GET/POST: OK to implement and test

Concurrent HTTP+SSH - single user

  • Inria suggesting relying on a single-user, as in GitLab and Gitolite
  • Beuc warns that this means the end of privilege separation and hence is a security-sensitive topic
  • Lo-lan-do mentions lots of users still rely on SSH access to run jobs, even if that's not exactly meant for it
  • obergix suggests that using a single user could decrease misconfigurations from site admin
  • Sébastien mentions that SSH access is useful for bots access (no need to transmit the account password)
  • Julien suggest maintaining multiple backends for SCMs (http, ssh-multi-users, ssh-gitolite); Beuc recommends unifying the SCM backends so that features can be built independently of the access type, quoting recent fixes in scmhook to widen http-only support
  • Lo-lan-do currently working on mod_itk which supports privilege separation in Apache 2.4; continues working on it, possibly testing dav_svn support

Reactivity

Idea is to apply changes immediately rather than through a cron job.

This involves a queue system.

Beuc suggests keeping the old cron, turning it into a conformity tool. Obergix suggests keeping exclusively on the queue system instead.

Question is raised on the benefits of using an existing queue system vs. using a simple SQL poller:

  • Multi-servers distribution
  • Multi-actions for a single message

Sébastien mentions the Redis tool which implements the Publish/Subscribe paradigm. Beuc warns that it isn't meant for persistence, e.g. queued commands will be lost on reboot. Christian mentions issue if a separate tool (e.g. Mantis) is not up at the time of the message processing, which means message would be missed when using Publish/Subscribe.

Aside: we are considering DB->system replication here, but a message bus may be useful for commit->stats, as well as end-user notifications.

Beuc is willing to implement this, with interest from obergix and christian. Taking into account:

  • Performances: monitoring number of messages per minute/hour
  • Improving current cron'd code error handling
  • Relying on a message queue that is packaged for RedHat 5 and Debian, no language preference
  • Contact Alain to see about using job-server.pl in a first step

This topic is considered most prioritary. Tracker: https://fusionforge.org/tracker/index.php?func=detail&aid=147&group_id=6&atid=114

Release

Everybody agrees that we should release more often, e.g. release 5.4 before the end of the year.

Non-trivial changes should be done on feature branches. Obergix recommend using commit --no-fast-forward for readability. Lo-lan-do willing to start the mod_itk work on a feature branch, and plug it to the buildbot for CI.

Roadmap

Consensus is reached about using the trackers as the primary tools to keep track of features and roadmap.

Beuc willing to document that new contributors should subscribe individually to each tracker to get e-mail notifications (rather than subscribing a mailing list).

nerville urges bug submitters to triage their own bugs (and possibly handle other opened bugs). There's an effort to make on responsiveness, too many tracker items are left open without action for months/years.

Packaging

Beuc recommends (re)implementing the packaging as a thin layer over a set of common Makefile's, to be shared by Debian, RedHat, and others, with support for DESTDIR. Detect features rather than OS (autoconf philosophy).

nerville mentions there are still a few Debian-specific scripts to include upstream, such as patches archival.

Beuc willing to check if Ubuntu support for FusionForge .deb packages (reputably broken) is simple to fix, so we can avoid writing a warning about it in the IRC channel topic. nerville going to remove said warning anyway.

Christian willing to work some more on install-ng.

Planet Forge

Beuc willing to takeover lists moderation from Lo-lan-do, as previously discussed on IRC.

Beuc notes Planet Forge doesn't require much maintenance and will be useful during the work on project import/export.

Docman

nerville mentions improvements to be expected on Docman this year.

He mentions WebDAV support is hard due to discrepancies among clients.

Buildbot

Beuc asks for documentation on the buildbot.

Lo-lan-do mentions it's installed on the 'miromesnil' box, where it was progressively (organically) installed by Christian and he, and could use some documentation indeed.

Beuc mentions the testsuite can also be run from the Vagrant development machine using a dedicated script.

Stats

A little workshop is improvised to peruse the various existing stats graphs.

Some graphs have no meaning, some are interesting. Graphs should be titled and feedback on existing graphs are more than welcome.

Closing

Meeting is closed at 18:00PM due to transportation constraints.

It is suggested we do this again next year :)