Hello, welcome at the lightning talks here at Fosterman Brussels.
I want to introduce to you Valerio and with us talk about Unpacked Fabricator
Welcome Forge forking the optionated open source collaboration suite
and give him a warm welcome and applause and the stage is yours.
Thank you so much and so welcome again at Fosterman, it's Sunday morning.
So thank you everybody for your time and there are some well-known communities
loving Forge and I see some community members here from Mozilla, from Wikimedia
and from FreeBSD. So thank you everybody and there are many curious here so
I started as curious as well and so I'm Valerio, I'm a volunteer board director
in Italian Linux society, some Italian members here maybe no maybe not
and Wikimedia Italy take commission volunteer also both maintainer also
volunteer for Wikimedia projects and I love also editing OpenStreetMap
and in my personal life and at work also in Wikimedia indeed I use a fabricator
and Forge intensively and so I would like to share this interest with you
because I know you love Forge or fabricator so by the way why I started
loving Forge in the company I work for they assist production plants about food
indeed also Hazelnuts included so it seems that Italy for some reasons produces
a lot of hazelnuts so if you eat hazelnuts please also thank Forge because
Forge somehow handles management of hazelnuts I don't know why I've put the
screen out in the slide. By the way some of us in me included started handling
in weird ways software management like final version of the directory
final really final really version 2 final really version 3 and indeed also the
Linux kernel started in this way in 1991 it was in that way really then
Bitkeeper was who knows Bitkeeper maybe some users here yeah and Bitkeeper
was started as a proprietary solution to do serious software version control
unfortunately is what it was a proprietary tool so then the interesting thing
is that in 2005 the world exploded with free very interesting and powerful tools
to manage software versioning including Git, Mercurial and GlueBazaar
mostly GlueBazaar for Ubuntu you know and Mercurial is still used nowadays
in some projects can you raise your hand if you use Mercurial in production
for something right one two three four okay it's still alive instead you know
Git it's the backbone for most things popular things and so but most people
nowadays think that there is Git hub and is not aware that the backbones of the
the world is also included in other tools like Mercurial and Subversion and Bazaar
etc and so what about trying to discovering the platforms based on the
the previous tools so it's interesting that source forge you know source forge
was very popular but then Git Hub started spreading in the planet and
focus it just on Git so no Mercurial no Bazaar no Subversion just on Git
so from a fancy interface proprietary indeed you collaborate on software and
also without knowledge of Git actually and then GitLab started as now open
source and you see Fabricator in 2010 was started 14 years ago and so it's
interesting to see that in this historical moment a lot of web platform
for collaboration started to be widely adopted also this is maybe not so much
famous Apache Allura but it was the backbone of source forge and it is
to be honest and then you see forge in more recent years and Git the other
platforms so by the way after the slides there are some links to do to find the
data and this kind of visualization by the way Fabricator in 14 seconds what is
Fabricator Fabricator was started as collaboration platform for a big blue
social network a proprietary social network indeed and as you know this kind
of big projects needs many repositories many software version controls like
Mercurial why not let's use Mercurial and many many many people many
many emails because as you see as you can see source forge started in 1999 but
in the middle of nothing the web was not created GitLab was not created so you
know that also nowadays some teams collaborate with emails so you send
patches of emails somebody receives the email and so it's still something already
done somewhere and also in that period so in 2010 even pricey created Fabricator
to avoid this kind of workflows email based and so let's stop sending emails
everywhere let's start having a web application called Fabricator and so
Fabricator was started and adopted by Facebook Mozilla and Wikimedia
Foundation that is maybe a really really active and lovely platform for looking
at how powerful Fabricator is and unfortunately just to keep this really
really clear and short Fabricator was no longer actively maintained this is
strange for open-source software and sometimes we see companies closing the
project this is not the case just they stopped working on it and so you may
ask okay but why nowadays we should continue to fork Fabricator because they
stopped any contribution so why we should continue this development
why we should create something new called forge and well I would like to say that
forge has a lot of weird features but it's very easy to host if you know how to
install a Jumla or our press for a Drupal you already probably know how to
install forge because it's really a matter of that and also try to install
a GitLab owner Raspberry PI right right I have tried many times it's not you
have you need some computational resources for large platforms like
GitLab or something like that instead forge require minimal resources and
this is really interesting and also attractive for some some some users of
forge and Fabricator because I like that the bug tracker of forge and Fabricator
is non repository centric I mean if you are on GitLab you need first a repository
and then attach issues but on forge instead you just have issues and then you
attach tags I don't know so you have an issue about my computer exploded so you
attach some tags related to infrastructure related to Valerio that has a
dedicated tag or attached a tag dedicated to Linux I don't know and then you
can have a sub task without anything related like let's buy another computer
for this person that has the laptop completely exploded so with a tag like
so I don't know a shopping center for computer materials so this is the
thing you don't need to be a developer to have issues on forge you just need
to file a task and then attach tags and this is really interesting for
companies and for organizations that because it's not really not everything
can be filed in repositories in time and so I like it honestly also a killer
feature is honestly that you can host Git subversion and Mercurial repositories
all in one place you see your history you see your things and I see that this
is also a killer feature in my company we have a couple of Mercurial repositories
very legacy and why not keeping them alive so you can see the history you can
see so we avoid any migration we avoid anything that we just have them there
archived it's amazing also you can another nice thing is somehow different
that nowadays trends is a local linting and local unit testing so your
developer has facilities to have very easy local hints and local unit tests
with results mirrored on the website on the patch page and this is also to speed
up development because we have not to wait for a remote to build there to do
those things in hours I don't know your laptop is often faster for most tasks
sometimes and it encourages forking this is not banal most software like
WordPress like jumella like github like whatever online platform you can think
about with whatever different user use case or is often read only for production
you download it if you have a change you have to download a completely different
copy from git and start doing things instead for has not any difference
between the relays and the development branch you just get pulled the bring the
development branch of forge and that is your production you check out the stable
that it's online you don't have to compile anything or so it's very easy to fork
and people do that and so you may be you may know this this was the first component
of a breakator historically and so people stop it to collaborate over emails
and started collaborating online with this face interface and then they introduce
at the work board so and in gitlab take an inspiration from from a
fabricator to have their interface there is a really nice article from gitlab
if you search for if you look for gitlab and fabricator online on the official
website of gitlab they are very lowly in about describing how they take inspiration
from fabricator so as I already said this is a work board not development oriented
for example this is just about a single tag dedicated to fundraising backlog
related to Wikimedia foundation and not related to a repository so you don't
have to create a dummy repository just to work on like this and another thing
I like of related to forge and fabricator is that you can have custom forms to create tasks
and issues and whatever so you can have a simple form to ask people simple things
and just okay if you know some tags put some tags but or just the title it's maybe
just okay to organize your work or maybe have a nightmare form with a super
detailed the fields about whatever aspect of your of your issue or your idea
maybe you want your task visible only to yourself so you prepare the stub and then
you release the issue so you maybe you want the task disabled just by you and your boss
and your co-workers cannot edit anything this is a bit weird sometimes but it's
very very powerful in in about how to managing permissions visibility and this
kind of things and also another thing I like it is that once in search is really
is really an advanced search so you find all the fields or custom fields if you
added a custom field on your issue tracker you can on forge at the custom field
like a favorite dinosaur I don't know and you find that field on the search engine
indexed and ready to scale so the user has already all the fields on the
advanced search and that you can organize the full search for your teams and
organize all the full searches in your website easy to access and this kind of
things also I like the calendar honestly in the company work for these a lot of
this feature to for example they they had a Google calendar to plan each one
I think if I am on for them I was filing a Google calendar with Valerius on
for them instead now we have whatever calendar each worker has imported in
forge so everyone see each one calendar and integrated in forge and this is also
I think also another powerful tool is a herald herald is a is a strange to have
a definition of herald but it's kind of have conditions and do actions so for
example here you can tell to herald hey herald please in my forge installation
if somebody does a commit please if the branch is my main and if a file is
called foo.txt please send me an email or send or block the commit or add an
auditor or I don't know and you can do really really advanced things like
blocking people with very weird messages and so don't do this please read the
documentation don't push directly master I don't know so also it's really
really extensive as I already said this because it has a component to generate
memes it has no sense but if you are frustrated at work you have 60 seconds
to deploy in production you want to say that their vision is just good so let's
approve their vision and you want just to say seems good to me just to say seems
good to me and generate your automatic meme and so really I cannot describe
all the platform in 15 minutes please visit with foo.txt this is a low platform
to be honest in my opinion we need designers we are not so much skilled
in designing to be honest but we are PHP developers somehow skilled in how well
done PHP application should be done and so if you would like to contribute to
maybe FlatHub or Docker image to speed up the deployment to forge on a
production and development form you are welcome and so thank you for your time
and thank you for your interest in forging for your interest in Xfabricator
and let's continue this journey
okay thank you very much