I've actually used quite some CMS's, last one used being OnClick CMS, developed by the swedish company I previously worked for.
My current issue:
For example, we have 2 websites, which uses Silverstripe. Website 2 needs to update the treemenu module, which we currently have on Website 1. I added the new externals, and updated the treemenu. Now it doesnt load Silverstripe because it's missing 2 templates (TreeMenuFooter.ss and TreeMenuDefault.ss), which did not come with the update of the module. So, previously using an older version of the treemenu on Website 2, my boss told me there had to be templates somewhere for ~Footer and ~Default. I do not find any treemenu templates at all.
When looking at Website 1, the templates are located in /themes/TEMPLATE_NAME/templates/Includes/Menu/. This is obviously not a default template folder for the treemenu module, so I looked in the module code to find some kind of configuration declaring the custom template folder, without result. How does the module know that custom folder path, and why did the developer put them there, rather then in the actual treemenu module template folder? What was his reason for that?
I tried to copy the /themes/TEMPLATE_NAME/templates/Includes/Menu/ folder to Website 2, in the same path. But the module doesn't find it. My boss told me there might be a "decorator" somewhere else in all the hundred folders, where it declares the custom template path for the treemenu module. Why is the treemenu decorator in a complete other folder, how does this logic work? Why not just collect everything related to one module, in that modules folder? How do I know where to find an external decorator belonging to a module, if it's not in that modules folder? Do I have to read the 12´000 rows manifest?
Don't take me wrong please, I know I sound very pessimistic, but I really want to learn the logic of Silverstripe... you say it's so simple to find stuff, related files etc... but it's not, not for me or my 3 new developer colleagues. We all struggle to understand Silverstripe, and 3 of us have our own CMS we're working on, with many years knowledge of different CMS's (not complete rookies in the CMS field).
All I want is a guide/documentation, that explains the "logics" of Silverstripe, focusing on the architecture and structure of the functionality of this CMS.
PS. I know there are documentations, that briefly explains some basics of the Silverstripe architecture, but it's not complete enough to explain all of the logics. This is where we struggle. Everything else is very easy, code wise etc.