From 78ed12063bf290ffea513c76f0aa000810d0f93c Mon Sep 17 00:00:00 2001 From: Angelo Naselli Date: Fri, 17 Jul 2015 09:56:43 +0200 Subject: Updated --- Changes | 1 + MODULE_HACKING | 17 +++++--- README.md | 4 ++ extras/ModuleTemplate.pm | 101 ----------------------------------------------- extras/mana_mt | 35 ---------------- 5 files changed, 17 insertions(+), 141 deletions(-) delete mode 100644 extras/ModuleTemplate.pm delete mode 100755 extras/mana_mt diff --git a/Changes b/Changes index 03b34a6..315cf39 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,4 @@ + - Added a module template to extras/module_template - Shared::urpmi_backend::DB first attempt to write a urpmi backend once and for all (porting of open_db - Shared::Locales fixed iconv undef value warning diff --git a/MODULE_HACKING b/MODULE_HACKING index 4ed3af1..55c8d25 100644 --- a/MODULE_HACKING +++ b/MODULE_HACKING @@ -65,6 +65,12 @@ Said that you have to: Some share code is into ManaTools::Shared modules, such as Locales to manage localization or Module back-ends for instance. +A module template example is into extras/module_templete/ directory, where +extras/module_templete/mana_mt is the example script that use and run +the module, while the module itself is +extras/module_templete/ManaTools/Module/ModuleTemplate.pm +The module just show a MessageBox and exit. + - ManaTools configuration (how to run a module) mpan can be run using a "name" parameter and eventually by forcing a configuration @@ -93,12 +99,12 @@ _______________ --------------- Layout can change in future though. -Let's see an example +Let's see an example of a category configuration Hardware /usr/share/icons/configuration_section.png - ManaTools::Module::AdminMouse + ManaTools::Module::Services Module name @@ -107,7 +113,8 @@ Let's see an example -First module is a perl ManaTools::Module extension (AdminMouse), -latter is an external one, as you can see could be a script -as well as an executable command. +First module is a perl ManaTools::Module extension (Services), +latter is an external one, called "module" and with a full pathname. + +As you can see it could be a script, as well as an executable command. Look at settings.conf and categories.conf for details. diff --git a/README.md b/README.md index 9926673..4e1ca07 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,10 @@ perldoc command. perldoc ManaTools +# CONTRIBUTING # + +Read MODULE_HACKING to understand how to write a Module. +Contact authors or Mageia team (http://www.mageia.org/en/contribute/) # EMBEDDED MODULES # diff --git a/extras/ModuleTemplate.pm b/extras/ModuleTemplate.pm deleted file mode 100644 index 19a2514..0000000 --- a/extras/ModuleTemplate.pm +++ /dev/null @@ -1,101 +0,0 @@ -# vim: set et ts=4 sw=4: -#***************************************************************************** -# -# Copyright (c) 2015 Angelo Naselli -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2, as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -#***************************************************************************** - -# Use the right name space simplified for testing -#package ManaTools::Module::ModuleTemplate; -package ModuleTemplate; - -use Moose; - -use yui; -use File::ShareDir ':ALL'; - -use ManaTools::Shared; -use ManaTools::Shared::Locales; -use ManaTools::Shared::GUI; - -extends qw( ManaTools::Module ); - - -#uncomment this and set the right icon -#has '+icon' => ( -# default => File::ShareDir::dist_file(ManaTools::Shared::distName(), 'images/ModuleTemplate.png'), -#); - -has '+name' => ( - lazy => 1, - builder => '_nameInitializer', -); - -sub _nameInitializer { - my $self = shift; - - return ($self->loc->N("Module template tools")); -} - - -=head1 VERSION - -Version 0.0.1 - -=cut - -our $VERSION = '0.0.1'; - -# sh_gui to use Shared/GUI object -has 'sh_gui' => ( - is => 'rw', - init_arg => undef, - builder => '_SharedUGUIInitialize' -); - -sub _SharedUGUIInitialize { - my $self = shift(); - - $self->sh_gui(ManaTools::Shared::GUI->new() ); -} - -#============================================================= - -=head2 start - -=head3 INPUT - - $self: this object - -=head3 DESCRIPTION - - This method extends Module::start and is invoked to - start host manager - -=cut - -#============================================================= -sub start { - my $self = shift; - - $self->sh_gui->msgBox({ - text => $self->loc->N("Hello world, I am the beautiful module template") - }); - -}; - - -1; diff --git a/extras/mana_mt b/extras/mana_mt deleted file mode 100755 index baeac12..0000000 --- a/extras/mana_mt +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/perl -# vim: set et ts=4 sw=4: -# Copyright 2015 Angelo Naselli -# -# This file is part of manatools -# and it is a script to test the module template -# -# mana_mt is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# mana_mt is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with ManaTools. If not, see . - -#Run as "perl -I$PWD mana_mt" to find the module here - -# Use the right name space simplified for testing -#use ManaTools::Module::ModuleTemplate; -use ModuleTemplate; - -use yui; - - -my $mt = ModuleTemplate->new({ -}); - -$mt->start(); - -1; -- cgit v1.2.1