Proposed Projects
Table of Contents
- CPAN Governance
- PAUSE
- CPAN clients
- Module metadata
- Build & install systems
- Module testing
- Automated testing
- Quality metrics and assessment
- Benchmarking
- Documentation
- Perl 5 Core
- Perl 6 CPANish client and ecosystem
- YAML Ecosystem
CPAN Governance
- Discuss and hopefully form a body with a mandate to act as a last-ditch-effort protecting the fragile CPAN ecosystem from PAUSE authors. Currently there isn't an actual hard proposal. At this point all that is being gauged is interest in the broadest sense possible.
— by ribasushi +1, user:garu, Karen Etheridge (Ether), Neil Bowers (NEILB), Aristotle, Olivier Mengué (dolmen), Leon Timmermans (leont), others???
PAUSE
Improve Web UI
- Port mod_perl1 interface to PSGI
- Make it easier to change permissions for those who maintain a lot of modules.
— by Kenichi Ishigaki (charsbar), Aristotle, (Tatsuhiko Miyagawa (miyagawa) is happy to help on PSGI related) others?
Other PAUSE issues
Check https://github.com/andk/pause/issues
- Finally kill off the remnants of the module list (website pages, underlying code, supporting tables)
— by ???, Aristotle, ???
CPAN clients
Improve CPAN::Testers::Common::Client (hopefully fixing most/all reports) and make CPAN::Reporter and cpanminus-reporter use it more thoroughly.
— by user:garu
Work on an extremely light, dependency-free script to send (or at least gather) reports on smoker boxes that can't have Metabase and Test::* pre-installed.
— by user:garu, H.Merijn Brand (Tux)?
cpanm
Big improvement/rewrites to make cpanm a regular CPAN module (and extract useful bits as standalone modules as well). This will also include hooks and plugins, although that might be a bit too ambitious for even a 4-day project.
Support for distroprefs.
Carton/Carmel
Work on https://github.com/miyagawa/Carmel and release 1.0, to make it a successor of Carton. Also need to close a bunch of outstanding issues on Carton, some of which would be problematic in Carmel as well.
Module metadata
Build & install systems
Module::Build replacement
Finish various components of a planned Module::Build replacement, including
- Finish Build::Graph, a dependency engine that doesn't suck
- Write a plugin architecture that doesn't suck, this will probably require some kind of IOC.
— by Leon Timmermans (leont), Aristotle
Module::Install
- Fix META generation: make v2 META (to have properly split build/test requires)
- Inject Module::Install and plugins as develop/requires prereqs
— by Olivier Mengué (dolmen)
Compilation and Linking tools
Portable yet flexible (cross) compilation/linking tools are most welcome.
by: Leon Timmermans (leont), H.Merijn Brand (Tux), Jens Rehsack (Sno)
Installed module database / Packlists replacement
Start writing that .packlist replacement we discussed in Lancaster.
— by Leon Timmermans (leont), Jens Rehsack (Sno), Aristotle, Tatsuhiko Miyagawa (miyagawa) others?…
Static cpan installation
Our current installation mechanism is very flexible (in a Turing complete way), but most of the time that isn't necessary. It could be useful if this dependency on shelling out to Makefile.PL/Build.PL could be eliminated where possible.
— by Leon Timmermans (leont), miyagawa
PPM::Make
PPM::Make could use other toolchain modules/services to gather package information.
— by Kenichi Ishigaki (charsbar)
Module testing (not automated testing )
Update Modules for Test-Stream
Find popular/common test modules on cpan (Test::Fatal, Test::exception, etc) that do not utilize Test::Stream. Update them to take advantage of Test::Stream enhancements when possible. In most cases this means working fine on old versions of Test-Simple while using new features when they are present already. For some modules the author and users may be fine with bumping the minimum Test-Simple version, but that will not be assumed.
This project should generate a lot of pull requests, and will also require a lot of communication with authors of the modules we update. With any luck most authors will be present!
-- by Chad Granum (Exodist)
Automated testing (not module testing )
Travis CI
Travis CI GmbH has their HQ in Berlin (Rigaer Straße 8) and I have a few friends working there (although most of them are remote). If someone wants to work on better build environments for perl, I'd be happy to connect with them. -- Tatsuhiko Miyagawa (miyagawa)
Benchmarking
Based on earlier work (and a new release of Tapper) I plan to resurrect my Perl::Formance project about measuring Perl 5 performance.
In addition, I would like to incorporate benchmarking from other sources into Tapper, maybe from Perl6, Parrot releases, or CPAN module tests. In contrast to earlier years, this year I want to have my Tapper release work finished before arriving, so that I have time to talk to others about how to cooperate with existing projects.
If you are interested in any kind of performance evaluation related work, please talk to me at the hackathon.
— by Steffen Schwigon (renormalist)
CPAN Testers
- Add MessageQueue to reports feed
- Add MessageQueue to page builder
- Fix Admin process for alerting tester to accept marked reports
- Add Admin process to re-attribute a report to a different distro
— by Barbie.
Quality metrics and assessment
CPANTS metrics
Add and improve some metrics, both for uploaded distributions, and for local projects that use Test::Kwalitee, Module::CPANTS::Analyse
and its friends.
— by Kenichi Ishigaki (charsbar), Karen Etheridge (Ether), others?
CPANTS Web
- Make it analyze more frequently so that people can check the analysis just after they upload.
— by Kenichi Ishigaki (charsbar)
Dashboard / Adoption / PRC
I have three different systems in various stages of production, all based off data assembled from various places. I'm working on a unified design for a public & open system which covers all 3. Would like to talk to CPANTS, CPAN Testers, MetaCPAN etc on interface model.
CPAN dependency graph in Neo4j
Experiment with building a graph database of CPAN dependency
information. Initially looking at distributions, but then possibly
looking at modules too.
P5 TAP::Harness parallel testing on Win32
I made a crude prototype of parallel testing on Win32 https://rt.perl.org/Public/Bug/Display.html?id=120330 but TAP::Harness, which is extensively OO designed, but it needs serious work to fit a different, non-select() based event loop into it. I can do the Win32 side of things, but I looking for someone who is willing to call themselves the "architect" of TAP::Harness to help me.
— by bulk 88
Visualisations
Visualisations using D3.js:
- profiling data using Devel::NYTProf, beyond its native visualisations
- distribution and module dependencies
- coverage using Devel::Cover
- benchmarks using Benchmark::CSV
— by user:2277
Documentation
Being a good CPAN author
It's clear from my mailbox at the moment that we don't have very good documentation on the toolchain / CPAN development process for new authors. I'd like to sketch out a guide that takes someone from complete n00b to reliable CPAN contributor. I'll start this before the QAH, but the QAH is a great opportunity to get guidance & input.
revise perlguts
perlguts is seen by some community members as impossible to understand. Most of it was written between 1997 and 2000. After 2000, it has only received narrow scoped quick fly-by patches. Senior XS/C developers dont use perlguts, since they already know how to do things from experience. Amateurs say it is too difficult to understand and use Inline::C or FFI solutions or not Perl. XS tutorial talks often pop-up at YAPCs because of this. A meeting of some senior XS/C devs to write answers and some amateurs to provide questions and criticism about the layout of the document I think would be useful.
— by bulk 88
Perl 5 Core
Perl 6 CPANish client and ecosystem
Discuss the architectureal big picture
Currently things are not much documented, and some parts of the toolchain have serious deficiencies. A roadmap on how to tackle that would be most welcome.
— by Leon Timmermans (leont)
Finish TAP::Parser
Current list of open issues:
- Parallel console outputting
- Rule based parallel scheduling
- SourceHandlers other than ::Perl6
- Various prove arguments
- Serialize/deserialize YAMLish
— by Leon Timmermans (leont)
YAML Ecosystem
Make significant progress on these goals:
- Comprehesive shared YAML test suite
- Pegex YAML grammar
- YAML.pm parser Pegex based
- YAML.pm and YAML::Tiny shared cores
- YAML{.pm,::{XS,Tiny,Syck}} convergence
version 38 saved on 26/02/15 00:51 by Chad Granum (Exodist)
Home | Tags | Recent changes | History