I am working with SilverStripe with great enthusiasm, thanks to not just the great software and the ease of adopting and extending ist, but the well-done documentation, which allows, that you are online with your first project in just two days.
Bute yesterday I experienced a very mysterious behavior: I made some changes in the page-type-definitons, and made a mistake, so a function did not deliver the correct return data (news-messages).
After that, the whole site was not available anymore, though I switched back to a backup on this page-type-definitons. I got just error500-pages for the whole site.
After some research in the forums and docs, I found the way for activating the dev-mode, which told me
Method setURLParams not found in class SiteTree
Ok, this was a beginning ;-) Some hours later I understood much more of the SilverStripe-Code, but did not found the problem... After not finding the problem in the files, I took a mySQL-Dump of all data, and found the following:
All pagetype mappings in the SiteTree-Table were lost, all the ClassName-values were just empty - so of course: no page name, no methods.
After setting these pagetypes for about 150 pages manually back to their values, and after publishing the whole site again, everything I checked worked fine again.
The import question for me at this point is: How can this happen, and how can I avoid, that once again all pagetype-mappings get lost? Is this an issue in SilverStripe itself, or just a single but very improbable incidence?
Thank you for any opinions about this case!