January 12, 2023
David Durieux: email@example.com
FusionSuite is a free software for IT service management, but also more generally:
FusionSuite is made up of 2 parts:
The backend is the part managing the data, stored into database.
It's made of:
The frontend is the web interface:
The project has 1 year!
Several means of communicating with people have been implemented in recent months.
Several means of communication have been set up:
Each month, or sometimes every 2 months, I write, on the website, the report of the month on what is happening around the project:
This is the base, so a lot of time has been spent on it.
The backend is written in PHP and composed of:
Add a cli for many operations like configure database, generate security keys, reset the database...
The databases supported:
The item management has been implemented.
You can attach properties to them with many different types (string, integer, link to another item...).
The items can the tree, with mutliple root or not. It can have also unique name.
Organizations has been implemented to store data in organizations.
Organizations are hierarchical.
The organizations are items like other objects, and it's possible to add properties ;)
The users has been implemented.
It's items too, so users have minimal properties (can't be deleted in this case), but you can add properties (for example manager, location, matricule...).
You can have on all items (view, create, update, soft delete, delete) or only on some of them.
When you have view on item, you can too have permission to view and/or update each properties of the item.
Example: a user can view property serial number of a laptop, another user will not see it.
All connections (success and failed) and write operations (create, update, delete) are written in an audit database table.
All errors in backend are too written in it.
All modifications are stored in changes.
The changes are sent when you get one item.
For the moment, 3 action scripts has been written:
Will require a little more work, will have more scripts and will be used with rules
The frontend will be able to display many things customized by admin and/or user.
The properties in items, the menu... It's stored in the backend in a special place, it's separate from the data.
The REST API is documented in the code. For each merge of new code, the documentation is updated on API REST documentation online.
The backend must be super strong, I added a lot of tests, we are near 2200 tests, it represent about 42000 database queries, all in 2 minutes only ;)
It's the user interface.
The frontend is written in Typescript and composed of:
The frontend is developped to be responsive, it looks different:
With Probesys partner, we have explored some possible designs and we have choose it (you will see on the demo).
It can still evolve in the coming months.
The menu is customizable (submenu, items, icons) and have 2 main parts:
The item page is currently in a design I want.
The page is composed by panels and items on this panels (customizable)
There are 2 types of display:
End to end tests have started to be written, it simulates a user in front of website and do same actions and check the behavior is the same.
Rule management to finish to code in backend and add interface into frontend.
Example of what it might look like (inspiration):
The provisionning can be done with REST API, but want add the possibility to do too with LDAP directory.
The connection will be possible with SSO (SAML2, OpenID, Azure connect...) for strong and centralized authentication.
The FusionInventory integration must be done on backend and frontend:
The search engine must be implemented. Several tracks have been considered but not yet chosen for that. We aim to have something very simple but can be used for complex user needs.
The properties and items can be created manually. It's cool but need to have something more industrial (export, import).
We will launch before the release a website where the community will post their templates of configuration. We will propose too some templates like incident management, FusionInventory assets...
With (or without) the help of FusionInventory agent send the softwares, I want to manage a central database of softwares and the versions, will be hosted on FusionSuite server (with website). This database will be imported / updated into FusionSuite (perhaps with action scripts) and you will be able to see your softwares that are not up to date.
Some researches has been made last year to plan how to retrieve new versions of software on internet.
Time will be used to test the performances and optimize everything possible.
Security has begun to be tested and will continue until release.
The documentation will be filled for:
The interface already has the mechanism for translating fixed texts.
People will be able to translate it on dedicated tool.
If you (user or company) want to join us to contribute to FusionSuite project, contact me!
Thank you for following this presentation.