SS CMS has a flexible architecture, but as it continues expanding, traceability becomes an issue. Is there a tool or a way for a developer to run it in step-by-step mode such as in .NET? At least, I think it should provide a make-up file so that the developer can see what files are compiled and what are interpreted at the run time.
I think this has improved a ton in 2.3, but still a long way off from having features like breakpoints. If you haven't already, upgrade to the new the latest RC of 2.3. I find the tracing really helpful.
Thanks UncleCheese. How do we trace the code at the run time using the RC of 2.3? Since SS CMS doesn't have an integrated development environment other than the CMS that is mainly for content managers, it is unclear to me how we can bring all the pieces together as one project and test it. Thanks again.
Can anyone elaborate more on the following comment by UncleCheese:
"If you haven't already, upgrade to the new the latest RC of 2.3. I find the tracing really helpful."
I am using the SS 2.2.3, should I upgrade it to SS 2.3? But I don't see it available for downloading. I think SS has been focusing on adding more features, but in my view the core developers should focus on its viability which heavily relies on its maintainability and traceability. For instance, it is nice to run "/db/build" to refresh the underneath database, but for every piece to be added, there must be a way available for clients to remove it from either the database or the files or the both. Without a complete set of tools, SS is heading to a mess and then dies before it matures.
There's currently no way to debug at run time with breakpoints or anything. But if you download 2.3RC2 here http://www.silverstripe.org/release-candidate/ you'll see that the new error reporting shows you the last 10 or 15 functions that ran before it encountered the error, along with the values of the variables at the time. I think that's about as good as you're going to get for PHP debugging -- unless they somehow started implementing XDebug or something, but not everyone has that on their server.
A couple developers have setup XDebug successfully with SilverStripe - have a read of http://devzone.zend.com/article/2930-Debugging-PHP-applications-with-xdebug if you are keen to try installing it for yourself.
Silverstripe is adding developer tools as we need them or see a need for them, after all we are using Sapphire for all our development. Some basic tools are like Debug::backtrace() provide an basic tool for traceability. In 2.3 the new DevelopmentAdmin (/dev/ eg yoursite.com/dev/) means we have a web and cli interface for running unit tests, adding modules (still in development) etc.
If you have any suggestions for developer tools or other features you would like feel free to add a ticket to open.silverstripe.com
It looks like SS is fully aware of its viability, which is indeed encouraging. Is there a tool available for us to clean up the database? If not yet, such a tool is needed. After a while, the site map shown in my CMS is different from my actual website even after I flush both the database and applications several times. I suspect the inconsistency is due to the inability to de-install any modules once they are installed. Is there any remedy for me to fix the inconsistency?