Page 1 of 1

Structure Documentation

Posted: Sat Feb 06, 2021 5:18 pm
by scubatricky
As there are lots of bugs within Forma that need fixing, is there a documentation of the FormaLms code structure in existence? Or has it just been added to over time with no documentation?

Re: Structure Documentation

Posted: Sat Feb 06, 2021 7:49 pm
by alfa24
Forma LMS comes from the ashes of Docebo open source, that came from an Italian project called SPAGHETTI Learning.
Why Spaghetti Learning?
Spaghetti code is a pejorative phrase for unstructured and difficult-to-maintain source code.
Spaghetti code can be caused by several factors, such as volatile project requirements, lack of programming style rules, and software engineers with insufficient ability or experience.

Re: Structure Documentation

Posted: Sat Feb 06, 2021 8:11 pm
by max
What alfa24 is referring to may have been true in 2012, it's a bit unfair to say it is so today, after about 20 releases and after that Forma has taken a very different route from the Docebo 4 OS it was forked from. Spaghetti elearning was the product name about 20 years ago, btw. We're in 2021.
Of course Forma still suffers from bugs we inherited from the old and messy code, but
- the code structure has been changed
- many sections now have an MVC model
- many obsolete libraries have been totally replaced
- many sections have been made more rational
- of course we have documentation on how the code is structured

I asked the dev team to provide a more complete and detailed answer to this topic.

Re: Structure Documentation

Posted: Sun Feb 07, 2021 11:16 am
by scubatricky
Thanks Max,

I started in elearning 20 years ago, when all we had was Macromedia Authorware, and Director 1.x :-) Any additional functionality was coded into DLLs with Delphi or C :( Projects tend to become unwieldy when there is no documentation to back them up and pass on to the next developer when the project is handed over.

As per my other thread, there are a few fundamental bugs that I'd like to fix, but to make sure I am not affecting another part of the development a document outline would be useful for each module.

Why no Github repository? Would it not make sense to have a full community of programmers working to better Forma? The corporation I work for has a large budget and a whole team looking to implement Forma, so could push it further with collaboration.