Kwalitee Issues

meta_yml_conforms_to_known_spec

Take a look at the META.yml Spec at https://metacpan.org/pod/CPAN::Meta::History::Meta_1_4 (for version 1.4) or https://metacpan.org/pod/CPAN::Meta::Spec (for version 2), and change your META.yml accordingly.

Error: License 'Perl' is invalid (license) [Validation: 1.0]

no_files_to_be_skipped

Fix MANIFEST.SKIP or use an authoring tool which respects MANIFEST.SKIP. Note that each entry in MANIFEST.SKIP is a regular expression. You may need to add appropriate meta characters not to ignore necessary stuff.

Error: doc/pubsub/._system_architecture.graffle,plugins/EditInPlace/inc/Module/Install/Makefile

no_broken_auto_install

Upgrade the bundled version of Module::Install to at least 0.89, but preferably to the most current release. Alternatively, you can switch to another build system / installer that does not suffer from this problem. (ExtUtils::MakeMaker, Module::Build both of which have their own set of problems.)

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 (527) does not match dist (528):
  • Missing in MANIFEST: doc/pubsub/._system_architecture.graffle

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: Jifty::Manual::PageRegions, Jifty::Module::Pluggable, Jifty::Plugin::AuthLDAPOnly::Model::LDAPUser, Jifty::Plugin::EditInPlace::Action::FileEditor, Jifty::Plugin::Login::Model::User, Jifty::Plugin::REST::Dispatcher, Jifty::Script, Jifty::Web::Menu, Module::Install::Base, Module::Install::Base

no_pod_errors

Remove the POD errors. You can check for POD errors automatically by including Test::Pod to your test suite.

Error: Jifty-0.61123_01/lib/Jifty/API.pm -- Around line 122: alternative text '/qualify' contains non-escaped | or / Jifty-0.61123_01/lib/Jifty/Manual/Tutorial_de.pod -- Around line 3: Non-ASCII character seen before =encoding in 'Einführung'. Assuming CP1252

valid_signature

Sign the dist as the last step before creating the archive. Take care not to modify/regenerate dist meta files or the manifest.

Error: Old SIGNATURE detected. Please inform the module author to regenerate SIGNATURE using Module::Signature version 0.82 or newer. gpg: Signature made Fri 24 Nov 2006 12:37:16 PM JST gpg: using DSA key 122F5DF7108E4046 gpg: Can't check signature: No public key ==> BAD/TAMPERED signature detected! <==

has_meta_json

Add a META.json to the distribution. Your buildtool should be able to autogenerate it.

no_dot_underscore_files

If you use Mac OS X, set COPYFILE_DISABLE (for OS 10.5 and better) or COPY_EXTENDED_ATTRIBUTES_DISABLE (for OS 10.4) environmental variable to true to exclude dot underscore files from a distribution.

Error:

  • doc/pubsub/._system_architecture.graffle

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: plugins/AuthLDAPLogin/lib/Jifty/Plugin/AuthLDAPLogin.pm, plugins/AuthLDAPLogin/lib/Jifty/Plugin/AuthLDAPLogin/Action/LDAPLogin.pm, plugins/AuthLDAPLogin/lib/Jifty/Plugin/AuthLDAPLogin/Action/LDAPLogout.pm, plugins/AuthLDAPLogin/lib/Jifty/Plugin/AuthLDAPLogin/Dispatcher.pm, plugins/AuthLDAPOnly/lib/Jifty/Plugin/AuthLDAPOnly.pm, plugins/AuthLDAPOnly/lib/Jifty/Plugin/AuthLDAPOnly/Action/LDAPLogin.pm, plugins/AuthLDAPOnly/lib/Jifty/Plugin/AuthLDAPOnly/Action/LDAPLogout.pm, plugins/AuthLDAPOnly/lib/Jifty/Plugin/AuthLDAPOnly/CurrentUser.pm, plugins/AuthLDAPOnly/lib/Jifty/Plugin/AuthLDAPOnly/Dispatcher.pm, plugins/AuthLDAPOnly/lib/Jifty/Plugin/AuthLDAPOnly/Model/LDAPUser.pm, plugins/EditInPlace/lib/Jifty/Plugin/EditInPlace.pm, plugins/EditInPlace/lib/Jifty/Plugin/EditInPlace/Action/FileEditor.pm, plugins/EditInPlace/lib/Jifty/Plugin/EditInPlace/Dispatcher.pm, plugins/EmailErrors/lib/Jifty/Plugin/EmailErrors.pm, plugins/EmailErrors/lib/Jifty/Plugin/EmailErrors/Dispatcher.pm, plugins/EmailErrors/lib/Jifty/Plugin/EmailErrors/Notification/EmailError.pm, plugins/LetMe/lib/Jifty/Plugin/LetMe.pm, plugins/LetMe/lib/Jifty/Plugin/LetMe/Dispatcher.pm, plugins/Login/lib/Jifty/Plugin/Login.pm, plugins/Login/lib/Jifty/Plugin/Login/Action/ChangePassword.pm, plugins/Login/lib/Jifty/Plugin/Login/Action/ConfirmEmail.pm, plugins/Login/lib/Jifty/Plugin/Login/Action/Login.pm, plugins/Login/lib/Jifty/Plugin/Login/Action/Logout.pm, plugins/Login/lib/Jifty/Plugin/Login/Action/RecoverPassword.pm, plugins/Login/lib/Jifty/Plugin/Login/Action/ResetLostPassword.pm, plugins/Login/lib/Jifty/Plugin/Login/Action/SendAccountConfirmation.pm, plugins/Login/lib/Jifty/Plugin/Login/Action/SendPasswordReminder.pm, plugins/Login/lib/Jifty/Plugin/Login/Action/Signup.pm, plugins/Login/lib/Jifty/Plugin/Login/CurrentUser.pm, plugins/Login/lib/Jifty/Plugin/Login/Dispatcher.pm, plugins/Login/lib/Jifty/Plugin/Login/Model/User.pm, plugins/Login/lib/Jifty/Plugin/Login/Notification/ConfirmAddress.pm, plugins/Login/lib/Jifty/Plugin/Login/Notification/ConfirmLostPassword.pm, plugins/Nothing/lib/Jifty/Plugin/Nothing.pm, plugins/Nothing/lib/Jifty/Plugin/Nothing/Dispatcher.pm, plugins/ProfileBehaviour/lib/Jifty/Plugin/ProfileBehaviour.pm, plugins/ProfileBehaviour/lib/Jifty/Plugin/ProfileBehaviour/Dispatcher.pm, plugins/EditInPlace/inc/Module/AutoInstall.pm, plugins/EditInPlace/inc/Module/Install.pm, plugins/Login/inc/Module/Install.pm, plugins/EditInPlace/inc/Module/Install/AutoInstall.pm, plugins/EditInPlace/inc/Module/Install/Base.pm, plugins/Login/inc/Module/Install/Base.pm, plugins/EditInPlace/inc/Module/Install/Can.pm, plugins/Login/inc/Module/Install/Can.pm, plugins/EditInPlace/inc/Module/Install/Fetch.pm, plugins/Login/inc/Module/Install/Fetch.pm, plugins/EditInPlace/inc/Module/Install/Include.pm, plugins/EditInPlace/inc/Module/Install/Makefile.pm, plugins/Login/inc/Module/Install/Makefile.pm, plugins/EditInPlace/inc/Module/Install/Makefile/Version.pm, plugins/EditInPlace/inc/Module/Install/Metadata.pm, plugins/Login/inc/Module/Install/Metadata.pm, plugins/EditInPlace/inc/Module/Install/Share.pm, plugins/Login/inc/Module/Install/Share.pm, plugins/EditInPlace/inc/Module/Install/Win32.pm, plugins/Login/inc/Module/Install/Win32.pm, plugins/EditInPlace/inc/Module/Install/WriteAll.pm, plugins/Login/inc/Module/Install/WriteAll.pm

use_warnings

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

Error: Jifty::Manual::PageRegions, Jifty::Module::Pluggable, Jifty::Plugin::AuthLDAPOnly::Model::LDAPUser, Jifty::Plugin::EditInPlace::Action::FileEditor, Jifty::Plugin::Login::Model::User, Jifty::Script, Jifty::Script::Help, Jifty::Web::Menu, Module::AutoInstall, Module::Install, Module::Install, Module::Install::AutoInstall, Module::Install::Base, Module::Install::Base, Module::Install::Can, Module::Install::Can, Module::Install::Fetch, Module::Install::Fetch, Module::Install::Include, Module::Install::Makefile, Module::Install::Makefile, Module::Install::Makefile::Version, Module::Install::Metadata, Module::Install::Metadata, Module::Install::Share, Module::Install::Share, Module::Install::Win32, Module::Install::Win32, Module::Install::WriteAll, Module::Install::WriteAll

no_unauthorized_packages

Ask the owner of the distribution (the one who released it first, or the one who is designated in x_authority) to give you a (co-)maintainer's permission.

Error:

  • Module::Install

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.01,0.61123_01,0.63,0.64,1,1.03

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

has_separate_license_file

This is not a critical issue. Currently mainly informative for the CPANTS authors. It might be removed later.

has_security_doc

Add SECURITY(.pod|md). See Software::Security::Policy.

security_doc_contains_contact

Add SECURITY(.pod|md) and add a contact address. See Software::Security::Policy.

has_contributing_doc

Add CONTRIBUTING(.pod|md). See https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.

Modules

Name Abstract Version View
Email::Send::Jifty::Test metacpan
Jifty an application framework 0.61123_01 metacpan
Jifty::API Manages and allow reflection on the Jifty::Actions that make up a Jifty application's API metacpan
Jifty::Action The ability to Do Things in the framework metacpan
Jifty::Action::Autocomplete metacpan
Jifty::Action::Record An action tied to a record in the database. metacpan
Jifty::Action::Record::Create Automagic creation action metacpan
Jifty::Action::Record::Delete Automagic delete action metacpan
Jifty::Action::Record::Search metacpan
Jifty::Action::Record::Update Automagic update action metacpan
Jifty::Action::Redirect Redirect the browser metacpan
Jifty::Bootstrap Insert initial data into your database metacpan
Jifty::ClassLoader Loads the application classes metacpan
Jifty::Client Subclass of L<WWW::Mechanize> with extra Jifty features metacpan
Jifty::Collection Collection of Jifty::Record objects metacpan
Jifty::Config wrap a jifty configuration file metacpan
Jifty::Continuation Allows for basic continuation-based programming metacpan
Jifty::CurrentUser metacpan
Jifty::DateTime a DateTime subclass that knows about Jifty users metacpan
Jifty::Dispatcher The Jifty Dispatcher metacpan
Jifty::Event metacpan
Jifty::Event::Model metacpan
Jifty::Everything Load all of the important Jifty modules at once. metacpan
Jifty::Filter::DateTime A Jifty::DBI filter to work with Jifty::DateTime objects metacpan
Jifty::Handle A database handle class for Jifty metacpan
Jifty::Handler Methods related to the Mason handler metacpan
Jifty::I18N Internationalization framework for Jifty metacpan
Jifty::JSON Wrapper around L<JSON> metacpan
Jifty::LetMe A way to expose single-link URLs to your applications metacpan
Jifty::Logger A master class for Jifty's logging framwork metacpan
Jifty::Mason::Halo metacpan
Jifty::Model::Metadata Tracks Jifty-related metadata metacpan
Jifty::Model::Session Jifty session tracking metacpan
Jifty::Model::SessionCollection metacpan
Jifty::Module::Pluggable metacpan
Jifty::Notification metacpan
Jifty::Object metacpan
Jifty::Param Parameters for Jifty actions metacpan
Jifty::Param::Schema Declare parameters of a Jifty action with ease. metacpan
Jifty::Plugin Describes a plugin to the Jifty framework metacpan
Jifty::Plugin::AuthLDAPLogin metacpan
Jifty::Plugin::AuthLDAPLogin::Action::LDAPLogin metacpan
Jifty::Plugin::AuthLDAPLogin::Action::LDAPLogout metacpan
Jifty::Plugin::AuthLDAPLogin::Dispatcher metacpan
Jifty::Plugin::AuthLDAPOnly metacpan
Jifty::Plugin::AuthLDAPOnly::Action::LDAPLogin metacpan
Jifty::Plugin::AuthLDAPOnly::Action::LDAPLogout metacpan
Jifty::Plugin::AuthLDAPOnly::CurrentUser metacpan
Jifty::Plugin::AuthLDAPOnly::Dispatcher metacpan
Jifty::Plugin::AuthLDAPOnly::Model::LDAPUser metacpan
Jifty::Plugin::ClassLoader Autogenerates application classes metacpan
Jifty::Plugin::EditInPlace metacpan
Jifty::Plugin::EditInPlace::Action::FileEditor metacpan
Jifty::Plugin::EditInPlace::Dispatcher metacpan
Jifty::Plugin::EmailErrors metacpan
Jifty::Plugin::EmailErrors::Dispatcher metacpan
Jifty::Plugin::EmailErrors::Notification::EmailError metacpan
Jifty::Plugin::LetMe metacpan
Jifty::Plugin::LetMe::Dispatcher metacpan
Jifty::Plugin::Login metacpan
Jifty::Plugin::Login::Action::ChangePassword Change a password metacpan
Jifty::Plugin::Login::Action::ConfirmEmail Confirm a user's email address metacpan
Jifty::Plugin::Login::Action::Login metacpan
Jifty::Plugin::Login::Action::Logout metacpan
Jifty::Plugin::Login::Action::RecoverPassword metacpan
Jifty::Plugin::Login::Action::ResetLostPassword metacpan
Jifty::Plugin::Login::Action::SendAccountConfirmation metacpan
Jifty::Plugin::Login::Action::SendPasswordReminder metacpan
Jifty::Plugin::Login::Action::Signup metacpan
Jifty::Plugin::Login::CurrentUser metacpan
Jifty::Plugin::Login::Dispatcher metacpan
Jifty::Plugin::Login::Model::User metacpan
Jifty::Plugin::Login::Notification::ConfirmAddress metacpan
Jifty::Plugin::Login::Notification::ConfirmLostPassword metacpan
Jifty::Plugin::Nothing metacpan
Jifty::Plugin::Nothing::Dispatcher metacpan
Jifty::Plugin::ProfileBehaviour metacpan
Jifty::Plugin::ProfileBehaviour::Dispatcher metacpan
Jifty::Plugin::REST 0.01 metacpan
Jifty::Plugin::REST::Dispatcher metacpan
Jifty::Record Represents a Jifty object that lives in the database. metacpan
Jifty::Request Canonical internal representation of an incoming Jifty request metacpan
Jifty::Request::Mapper Maps response values into arbitrary query parameters metacpan
Jifty::Response Canonical internal representation of the result of a L<Jifty::Action> metacpan
Jifty::Result Outcome of running a L<Jifty::Action> metacpan
Jifty::RightsFrom metacpan
Jifty::Script metacpan
Jifty::Script::Action Add an action class to your Jifty application metacpan
Jifty::Script::App Create the skeleton of a Jifty application metacpan
Jifty::Script::Deps metacpan
Jifty::Script::FastCGI A FastCGI server for your Jifty application metacpan
Jifty::Script::Help Show help metacpan
Jifty::Script::Model Add a model class to your Jifty application metacpan
Jifty::Script::Plugin Create the skeleton of a Jifty plugin metacpan
Jifty::Script::Po Extract translatable strings from your application metacpan
Jifty::Script::Schema Create SQL to update or create your Jifty app's tables metacpan
Jifty::Script::Server A standalone webserver for your Jifty application metacpan
Jifty::Server Standalone web server for Jifty applications metacpan
Jifty::Subs metacpan
Jifty::Subs::Render metacpan
Jifty::Test Jifty's test module metacpan
Jifty::Test::WWW::Mechanize Subclass of L<Test::WWW::Mechanize> with extra Jifty features metacpan
Jifty::TestServer Starting and stopping jifty server for tests metacpan
Jifty::Upgrade metacpan
Jifty::Upgrade::Internal metacpan
Jifty::Util Things that don't fit anywhere else metacpan
Jifty::View::Mason::Handler Handler for Mason requests inside of Jifty metacpan
Jifty::View::Static::Handler metacpan
Jifty::Web Web framework for a Jifty application metacpan
Jifty::Web::Form metacpan
Jifty::Web::Form::Clickable Some item that can be clicked on -- either a button or a link. metacpan
Jifty::Web::Form::Element Some item that can be rendered in a form metacpan
Jifty::Web::Form::Field Web input of some sort metacpan
Jifty::Web::Form::Field::Button metacpan
Jifty::Web::Form::Field::Checkbox metacpan
Jifty::Web::Form::Field::Combobox metacpan
Jifty::Web::Form::Field::Date metacpan
Jifty::Web::Form::Field::Hidden metacpan
Jifty::Web::Form::Field::InlineButton metacpan
Jifty::Web::Form::Field::Password metacpan
Jifty::Web::Form::Field::Radio metacpan
Jifty::Web::Form::Field::ResetButton metacpan
Jifty::Web::Form::Field::Select metacpan
Jifty::Web::Form::Field::Text Renders as a small text field 1 metacpan
Jifty::Web::Form::Field::Textarea metacpan
Jifty::Web::Form::Field::Unrendered metacpan
Jifty::Web::Form::Field::Upload File upload field metacpan
Jifty::Web::Form::Link Creates a state-preserving HTML link metacpan
Jifty::Web::Menu metacpan
Jifty::Web::PageRegion Defines a page region metacpan
Jifty::Web::Session A Jifty session handler metacpan
Jifty::Web::Session::ClientSide Session handler for client-side sessions metacpan
Jifty::YAML Wrapper around L<YAML> metacpan
Module::AutoInstall 1.03 metacpan
Module::Install 0.63 metacpan
Module::Install::AutoInstall 0.64 metacpan
Module::Install::Base 0.63 metacpan
Module::Install::Can 0.63 metacpan
Module::Install::Fetch 0.63 metacpan
Module::Install::Include 0.64 metacpan
Module::Install::Makefile 0.63 metacpan
Module::Install::Makefile::Version 0.64 metacpan
Module::Install::Metadata 0.63 metacpan
Module::Install::Share 0.63 metacpan
Module::Install::Win32 0.63 metacpan
Module::Install::WriteAll 0.63 metacpan

Provides

Name File View
HTML::Mason::Request::Jifty lib/Jifty/View/Mason/Handler.pm metacpan
Jifty::Model::Metadata::Schema lib/Jifty/Model/Metadata.pm metacpan
Jifty::Model::Session::Schema lib/Jifty/Model/Session.pm metacpan
Jifty::Plugin::AuthLDAPOnly::Model::LDAPUser::Schema plugins/AuthLDAPOnly/lib/Jifty/Plugin/AuthLDAPOnly/Model/LDAPUser.pm metacpan
Jifty::Plugin::Login::Model::User::Schema plugins/Login/lib/Jifty/Plugin/Login/Model/User.pm metacpan
Jifty::Request::Action lib/Jifty/Request.pm metacpan
Jifty::Request::Fragment lib/Jifty/Request.pm metacpan
Jifty::Request::StateVariable lib/Jifty/Request.pm metacpan
Module::Install::Base::FakeAdmin plugins/EditInPlace/inc/Module/Install/Base.pm metacpan

Other Files

MANIFEST metacpan
META.yml metacpan
Makefile.PL metacpan
README metacpan
examples/Chat/Makefile.PL metacpan
examples/Clock/Makefile.PL metacpan
examples/Ping/Makefile.PL metacpan
plugins/AuthLDAPLogin/MANIFEST metacpan
plugins/AuthLDAPLogin/Makefile.PL metacpan
plugins/AuthLDAPOnly/MANIFEST metacpan
plugins/AuthLDAPOnly/Makefile.PL metacpan
plugins/EditInPlace/Makefile.PL metacpan
plugins/EmailErrors/Makefile.PL metacpan
plugins/LetMe/Makefile.PL metacpan
plugins/Login/MANIFEST metacpan
plugins/Login/META.yml metacpan
plugins/Login/Makefile.PL metacpan
plugins/Nothing/Makefile.PL metacpan
plugins/ProfileBehaviour/Makefile.PL metacpan