|Version 11 (modified by szabgab, 4 years ago) (diff)|
Project ideas for people who want to get involved in Padre.
(TODO: connect them to tickets)
Initial list created for Google Summer of code 2011
Full Perl 5 Debugger Integration with Padre
Padre already has a debugger but it has lots of short comings as it is a first-generation implementation. It is connecting to the built-in debugger of perl itself via the Debug::Client module.
In this project one will need to improve the Debug::Client making sure it works well on all major operating systems and on all version of perl from 5.6 till 5.14 (to be released soon). There are several tickets opened with a number of feature requests.
The debugger should be fully integrated into the IDE (e.g. Java debugger in Netbeans), where you can inspect values by hovering variables, set breakpoints, etc all from the GUI without a deeper knowledge of the perl debugger (for simple tasks at least).
Possible mentor: Gabor Szabo (original developer of the Debug::Client and the current debugger integration)
Enlarging automated test suite using Win32::GuiTest?
Padre has a number of internal unit-tests but as it is a GUI project most of the testing should be done on the GUI itself. We have a very limited - I'd say experimental - set of test using the Win32::GuiTest? module from CPAN. These test can be found in the t/win32 in the Padre source code.
In the meantime we have started to write test-cases for manual testing.
The task is to implement about 30 test-cases covering most of the central features of Padre with automated test.
Possible mentor: Gabor Szabo (original developer of Padre, once maintainer of Win32::GuiTest?)
Enlarging test suite using the actions system
Instead of adding events directly to menu items Padre has a separate Action system. Each action then can be added to the menu or the toolbar or to the right-click pop-up window or probably elsewhere. Padre also has a way to automatically execute a set of actions that were given to it on the command line. This enables us to write certain automated test. An example for such test can be found in the xt/actions.t file in the Padre source code.
The task is to add about 30 test cases to provide a good coverage of Padre via the actions system. As this has never been tested full probably the action system itself will need further extension to be able to test various important features of Padre.
Implementing automated tests using Dogtail
As a companion to the test running on windows that are using the Win32::GuiTest? perl module we would like to have automated tests on Linux systems as well. Dogtail is a GUI test tool and automation framework written in Python. http://en.wikipedia.org/wiki/Dogtail
The task in this project is to implement a good coverage of automated test for Padre using Dogtail.
Code::Explain is a module that will implement all the capabilities of the context sensitive help of Padre. It will have an API to be used within Padre. It will also have a command line interface to make it usable by any editor that is capable of calling external commands such as vim. It will also have a web interface and will be usable as part of an IRC chatbot.
There is a prototype of all this on CPAN but there is a lot of work to be done.
The project is to factor out and greatly enhance the code analysis capabilities that Padre already has.
Possible mentor: Gabor Szabo (original developer of Padre, developer of Code::Explain)
Perl 6 regex editor
Padre already has a regex editor (Tools / Regex Editor)
Adding a Perl 6 regex editor to Padre and making improvements to the existing Perl 5 regex editor.
GUI CPAN installer for Padre
Padre has a prototype of CPAN installer that is mostly broken.
The following tasks are in this project:
- Fix and enhance the CPAN installer of Padre.
- Integrate it with the plugin manager.
- Make it work with external perls as well (and not only with the one Padre is running on).
The results of an earlier GSOC project called wxcpan ( http://code.google.com/p/wxcpan/ or CPANPLUS::Shell::Wx on CPAN) can be reused.
Padre is written in Perl and uses Wx-Widgets (OS independent). Nevertheless, there is considerable work needed to bring Padre on MacOSX on the same level as MS Windows and GNU/Linux.