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