wiki:ProjectIdeas

Version 17 (modified by szabgab, 3 years ago) (diff)

link to Features/RegexEditor

Project ideas for people who want to get involved in Padre.

TODO

  • connect them to tickets
  • list potential mentors
  • list required background

Initial list created for Google Summer of code 2011 ( http://epo.means.no/gsoc2011/ideas )

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).

Related #928, #929, #930, #931, #1005, #1036, #1083, #1085, #1086

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.

Implementing Code::Explain

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) that is quite good but lacks certain features and it only supports Perl 5.

The regexes in Perl 6 are substantially different from those in Perl 5.

This project is divided into two major tasks

The first task is to enhance the Perl 5 regex editor by adding features showing the matches of capturing parentheses and regex related variables. It is also required to provide an English explanation of the regex being edited.

The second task is to add Perl 6 support to the regex editor of Padre. This requires understanding the regex dialect of Perl 6.

We started to write a description for the Regex Editor Features/RegexEditor

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.

Related #501, #1031, #1044, #1045

MacOSX Support

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.

Enhanced VCS integration

SVN, Git and maybe others

Social plugins

Various plug-ins such as Social plugins (GUI for Twitter, Identi.ca, Buzz, etc)

Keyword driven testing

GUI for keyword driven testing (wrapping WWW::Mechanize and similar modules)

GUI for the PerlTidy?

GUI for the Perl Critic