New Documentation Engine
Documentation is a key aspect of IT projects. Most developers like us don't like to spend to much time writing documentation even though we complain every time something is not documented. The key challenges for documentation are:
- make it easy to write/publish
- make sure it is up to date with the software version
- make it easy to find the right information
- enable multi-language support
Until now we used a solution we built ourselves. It takes markdown files and generates a static website. The reached a limitation in terms of navigation and search. We used the right bits of technologies but we recognize that others have done a better job. We looked at and tested various solutions. The best we could find that would be close to our existing solution and that would fit our needs is Retype. It doesn't change much for your own documentation. The only impact is the location of your files (they have to move during the upgrade process) and the fact that for diagrams and flowcharts you have to use the mermaid syntax.
Search is operated by the same library(lunr) but the result is much better.
Before
After
Maintenance & usability tweaks
As we already mentioned, Ganister relies on a variety of open source libraries for which one of our main task is to make sure they are maintained and up to date. Every now and then we need to upgrade them and make sure it doesn't break things in Ganister. When Ganister is impacted we need to adapt our code to the new version. This is a time consuming task and we try to do it as often as possible.
We also try to improve the usability of the application. We have a lot of feedback from our users and we try to implement the most relevant ones. We also try to make the application more intuitive and easier to use.
One recent example is the size of the popup window when you attach a node to another (adding a part in a BOM for example). We made it bigger in the past but we realized that it was hiding the result of the selection and users could not clearly see if their operation worked, so we reduced it a little bit to make sure the result is visible.
Change Log
- [Main Client] Reduce relationship windows width to better see relationship creation
- [Main Client] Allow saving filters for assignment widget
- [Main Client] Keep mandatory values if operation is cancelled on node creation
- [Main Client] Enable nodetype ordering in nodetype List side menu
- [Ganister Server] Reduce signin time and user history content sent back
- [Ganister Server] Migrate all neo4j queries to transactions
- [Ganister Server] Remove deprecated subscribe functions
- [Ganister Server] Optimize lifecycle assigments and Reverse ECOs queries
- [Documentation] Migration from in-house engine to Retype
- [Dependencies] Update outdated dependencies
- [Dependencies] Support Neo4j driver v5"
SolidJs
Just a quick word for the front-end technology enthusiasts. We are currently spending a lot of time on the futur front-end of Ganister and we are very excited about the new possibilities. We work a lot with SolidJs, so if you are interested in this technology and want to join us on this journey, please contact us.