--- Chris Travers wrote: > If we rewrite the entire application at once, I am quite afraid it > will never be completed simply because it is such a big task.
I agree with this, a rewrite with redesign [1] would take way too long for any new or SL user to remain interested in SMB. > Rewriting in Perl gives us the ability to have a useful application > while we are working on it. What about starting by retrofitting tests on the existing application, and getting the community involved at the same time? If perl has something like doctests, and given a thin API around the URL passing syntax, you might be able to attract new users to help: - Find out what works, prevent regressions - Tests help design the API you eventually want SMB to expose - Document edge cases where SL's data integrity can be corrupted - Get non-programming accounting users involved; show how to convert a visible URL to a function call syntax, run and write up as doctest.[2] A well-documented procedure for submitting doctest-like test cases would make for a good Trac ticket type. Each test case, if accepted and merged, would have a name (ticket number) that could follow through subsequent revisions of SMB. Submitting users may take on a sense of ownership about their pet test cases. If a test suite can be brought to critical mass to drive the rewrite/refactoring process: - Fix or replace broken modules first - Define an API deprecation process (e.g. two timed releases) - Update tests' pass-fail assertions for deprecation, breaking or API changes - Test migration of schema changes [1] Just to put in my last two cents on the rewrite issue, a rapid translation specifically avoiding redesign (warts and all) to another language in which the available programming talent feels they would be significantly more productive should be on the table. I think some bugs may become obvious in CGI python, and the restraint exercised in creating Trac tickets to be fixed only after the translation is complete would be a good thing, IMO. [2] If everything in (SMB) is passed by URL query string, I suppose recorded Selenium tests would capture complete test-case information, right? A script (for developers, if not end-users) to convert recorded Selenium tests to API-style calls would really jump-start the process and base of available testing-users. ____________________________________________________________________________________ Get your own web address. Have a HUGE year through Yahoo! Small Business. http://smallbusiness.yahoo.com/domains/?p=BESTDEAL ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Ledger-smb-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ledger-smb-devel
