Kwalitee Issues

has_license_in_source_file

Add =head1 LICENSE and the text of the license to the main module in your code.

manifest_matches_dist

Run a proper command ("make manifest" or "./Build manifest", maybe with a force option), or use a distribution builder to generate the MANIFEST. Or update MANIFEST manually.

Error:

  • MANIFEST (96) does not match dist (94):
  • Missing in Dist: PApp/EditForm.
  • Duplicates in MANIFEST: PApp/Util.pm

prereq_matches_use

List all used modules in META.yml requires

Error:

  • AnyEvent
  • Data::Dump
  • EV
  • HTTP::Date
  • Tie::Cache
  • XML::LibXML
  • XML::LibXSLT
  • XML::XSLT

use_strict

Add 'use strict' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules are strictly written.

Error: PApp::Admin, PApp::Apache, PApp::Apache2, PApp::CGI, PApp::Callback, PApp::Config, PApp::DataRef, PApp::ECMAScript, PApp::Env, PApp::Event, PApp::Exception, PApp::FormBuffer, PApp::I18n, PApp::Lock, PApp::Log, PApp::MimeType, PApp::Prefs, PApp::Preprocessor, PApp::Recode, PApp::Session, PApp::Storable, PApp::User, PApp::UserObs, PApp::Util, PApp::XBox, PApp::XML, PApp::XSLT, PApp::XSLT::LibXSLT, PApp::XSLT::Sablotron

consistent_version

Split the distribution, or fix the version numbers to make them consistent (use the highest version number to avoid version downgrade).

Error: 0.12,2.1,2.18

has_known_license_in_source_file

Add =head1 LICENSE and/or the proper text of the well-known license to the main module in your code.

meta_yml_declares_perl_version

If you are using Build.PL define the {requires}{perl} = VERSION field. If you are using MakeMaker (Makefile.PL) you should upgrade ExtUtils::MakeMaker to 6.48 and use MIN_PERL_VERSION parameter. Perl::MinimumVersion can help you determine which version of Perl your module needs.

meta_yml_has_license

Define the license if you are using in Build.PL. If you are using MakeMaker (Makefile.PL) you should upgrade to ExtUtils::MakeMaker version 6.31.

proper_libs

Move your *.pm files in a directory named 'lib'. The directory structure should look like 'lib/Your/Module.pm' for a module named 'Your::Module'. If you need to provide additional files, e.g. for testing, that should not be considered for Kwalitee, then you should look at the 'provides' map in META.yml to limit the files scanned; or use the 'no_index' map to exclude parts of the distribution.

Error: Agni.pm, PApp.pm, PApp/Admin.pm, PApp/Apache.pm, PApp/Apache2.pm, PApp/Application.pm, PApp/CGI.pm, PApp/Callback.pm, PApp/Config.pm, PApp/DataRef.pm, PApp/ECMAScript.pm, PApp/Env.pm, PApp/Event.pm, PApp/Exception.pm, PApp/FormBuffer.pm, PApp/HTML.pm, I18n/I18n.pm, PApp/Lock.pm, PApp/Log.pm, PApp/MimeType.pm, PApp/PCode.pm, PApp/Prefs.pm, PApp/Preprocessor.pm, Recode/Recode.pm, PApp/SCGI.pm, PApp/Session.pm, Storable/Storable.pm, PApp/User.pm, PApp/UserObs.pm, PApp/Util.pm, PApp/XBox.pm, PApp/XML.pm, PApp/XPCSE.pm, PApp/XSLT.pm, PApp/XSLT/LibXSLT.pm, PApp/XSLT/Sablotron.pm

use_warnings

Add 'use warnings' (or its equivalents) to all modules (this will require perl > 5.6), or convince us that your favorite module is well-known enough and people can easily see the modules warn when something bad happens.

Error: Agni, PApp::Admin, PApp::Apache, PApp::Apache2, PApp::CGI, PApp::Callback, PApp::Config, PApp::DataRef, PApp::ECMAScript, PApp::Env, PApp::Event, PApp::Exception, PApp::FormBuffer, PApp::I18n, PApp::Lock, PApp::Log, PApp::MimeType, PApp::Prefs, PApp::Preprocessor, PApp::Recode, PApp::Session, PApp::Storable, PApp::User, PApp::UserObs, PApp::Util, PApp::XBox, PApp::XML, PApp::XSLT, PApp::XSLT::LibXSLT, PApp::XSLT::Sablotron

meta_yml_has_provides

Add all modules contained in this distribution to the META.yml field 'provides'. Module::Build or Dist::Zilla::Plugin::MetaProvides do this automatically for you.

meta_yml_has_repository_resource

Add a 'repository' resource to the META.yml via 'meta_add' accessor (for Module::Build) or META_ADD parameter (for ExtUtils::MakeMaker).

Modules

Name Abstract Version View
Agni persistent data and objects metacpan
PApp multi-page-state-preserving web applications 2.1 metacpan
PApp::Admin perform various administrative tasks 2.1 metacpan
PApp::Application a class representing a single mountable application 2.1 metacpan
PApp::CGI use PApp in a CGI environment 2.1 metacpan
PApp::Callback a workaround for the problem of nonserializable code. 2.1 metacpan
PApp::Config load configuration settings and configure process 2.1 metacpan
PApp::DataRef reference data stored in scalars, databases... 2.1 metacpan
PApp::ECMAScript make javascript horrors less horrible 2.1 metacpan
PApp::Env communicate between processes and the outside. 2.1 metacpan
PApp::Event catch/broadcast various events 2.1 metacpan
PApp::Exception exception handling for PApp 2.1 metacpan
PApp::FormBuffer a re-blocking buffer for multipart streams 2.1 metacpan
PApp::HTML utility functions for html generation 2.1 metacpan
PApp::I18n internationalisation support for PApp 2.1 metacpan
PApp::Lock manage locks using sql 2.1 metacpan
PApp::Log analyze and expire the state/user databases 2.1 metacpan
PApp::MimeType analyze and normalize mimetypes and extensions 2.1 metacpan
PApp::PCode PCode compiler/decompiler and various other utility functions. 2.1 metacpan
PApp::Prefs manage user-specific data. 2.1 metacpan
PApp::Preprocessor preprocess source like "pxml" 2.1 metacpan
PApp::Recode convert bytes from one charset to another 2.1 metacpan
PApp::SCGI metacpan
PApp::Session manage session-specific data. 2.1 metacpan
PApp::Storable 2.18 metacpan
PApp::User manage users, preferences and access rights 2.1 metacpan
PApp::UserObs manage user and access rights 2.1 metacpan
PApp::Util various utility functions that didn't fit anywhere else 2.1 metacpan
PApp::XBox papp execution environment for perl files 2.1 metacpan
PApp::XML pxml sections and more 2.1 metacpan
PApp::XPCSE metacpan
PApp::XSLT wrapper for an XSLT implementation 2.1 metacpan
PApp::XSLT::LibXSLT wrapper for an XSLT implementation 0.12 metacpan
PApp::XSLT::Sablotron wrapper for an XSLT implementation 0.12 metacpan

Provides

Name File View
Agni::Callback Agni.pm metacpan
PApp::Application::Agni PApp/Application.pm metacpan
PApp::CGI::Connection PApp/CGI.pm metacpan
PApp::CGI::Request PApp/CGI.pm metacpan
PApp::Callback::Function PApp/Callback.pm metacpan
PApp::DataRef::Base PApp/DataRef.pm metacpan
PApp::DataRef::DB_row PApp/DataRef.pm metacpan
PApp::DataRef::Hash::Proxy PApp/DataRef.pm metacpan
PApp::DataRef::Scalar PApp/DataRef.pm metacpan
PApp::DataRef::Scalar::Proxy PApp/DataRef.pm metacpan
PApp::ECMAScript::Layer PApp/ECMAScript.pm metacpan
PApp::I18n::PO_Reader I18n/I18n.pm metacpan
PApp::I18n::PO_Writer I18n/I18n.pm metacpan
PApp::XML::Pod2xml PApp/XML.pm metacpan
PApp::XML::Template PApp/XML.pm metacpan

Other Files

Changes metacpan
I18n/Makefile.PL metacpan
MANIFEST metacpan
META.json metacpan
META.yml metacpan
Makefile.PL metacpan
README metacpan
README.Apache-2.0 metacpan
README.DB metacpan
README.unicode metacpan
Recode/Makefile.PL metacpan
Storable/Makefile.PL metacpan