MantisBT

From Chorke Wiki
Jump to navigation Jump to search

MantisBT makes collaboration with team members & clients easy, fast, and professional. MantisBT is an open source issue tracker that provides a delicate balance between simplicity and power. Users are able to get started in minutes and start managing their projects while collaborating with their teammates and clients effectively. Once you start using it, you will never go back!

Configuration

# change mantis title
sed -i "s/$g_window_title = 'MantisBT'/$g_window_title = 'ChorkeBT'/g" ./bugs/config_defaults_inc.php
# config with media wiki
sed -i "s/$g_wiki_enable = OFF/$g_wiki_enable = ON/g" ./bugs/config_defaults_inc.php
sed -i "s/$g_wiki_engine = ''/$g_wiki_engine = 'mediawiki'/g" ./bugs/config_defaults_inc.php
sed -i "s/$g_wiki_root_namespace = 'mantis'/$g_wiki_root_namespace = 'Bugs'/g" ./bugs/config_defaults_inc.php
sed -i "s/$g_wiki_engine_url = ''/$g_wiki_engine_url = 'http://cdn.chorke.org/wiki/'/g" ./bugs/config_defaults_inc.php
# change database connection
sed -i "s/$g_db_password            = '';/$g_db_password            = 'password';/g" ./bugs/config/config_inc.php
http://cdn.chorke.org/bugs
user: administrator
pass: root

Anonymous

http://cdn.chorke.org/bugs/manage_user_create_page.php
Username    : anonymous
Real Name   : <Leave Empty>
E-mail      : [email protected]
Access Level: [viewer|reporter]
Enabled     : true
Protected   : true

Add following lines in ./bugs/config/config_inc.php

# enable anonymous/guest login
$g_allow_anonymous_login  = ON;
$g_anonymous_account      = 'anonymous';

SMTP Config

Add following lines in ./bugs/config/config_inc.php

# smtp mailer config
$g_phpMailer_method       = PPHPMAILER_METHOD_SMTP;
$g_smtp_host              = 'mail.chorke.org';
$g_smtp_username          = '[email protected]';
$g_smtp_password          = 'mantis/password';
$g_administrator_email    = '[email protected]';
$g_webmaster_email        = '[email protected]';
$g_from_email             = '[email protected]';
$g_return_path_email      = '[email protected]';
$g_from_name              = 'Mantis Bug Tracker';
# $g_log_level            = LOG_EMAIL | LOG_EMAIL_REIPIENT | LOG_FILTERING | LOG_AJAX | LOG_DATABASE | LOG_LDAP;
# $g_log_destination      = 'file:/home/chorke/tmp/mantis/mantisbt.log';

MediaWiki Plugin

Add following lines in ./bugs/config/config_inc.php

# enable media wiki plugin
$g_wiki_enable            = ON;
$g_wiki_engine            = 'mediawiki';
$g_wiki_engine_url        = 'http://cdn.chorke.org/wiki/';
$g_wiki_root_namespace    = 'Bugs';

Update MantisCoreMediaWikiPlugin class of ./bugs/core/classes/MantisCoreWikiPlugin.class.php

/**
 * Basic MediaWiki support with old-style wiki integration.
 */
class MantisCoreMediaWikiPlugin extends MantisCoreWikiPlugin {
    /**
     * Plugin Registration
     * @return void
     */
    function register() {
        $this->name = 'MantisBT MediaWiki Integration';
        $this->version = '0.1';
        $this->requires = array(
            'MantisCore' => '2.0.0',
        );
    }

    /**
     * Wiki base url
     *
     * @param integer $p_project_id A project identifier.
     * @return string
     */
    function base_url( $p_project_id = null ) {
        $t_base = plugin_config_get( 'engine_url' );
        if( !is_null( $p_project_id ) && $p_project_id != ALL_PROJECTS ) {
            $t_base .= urlencode( project_get_name( $p_project_id ) );
        } else {
            $t_base .= plugin_config_get( 'root_namespace' );
        }
        return $t_base;
    }

    /**
     * Wiki link to a bug
     *
     * @param integer $p_event  Event.
     * @param integer $p_bug_id A bug identifier.
     * @return string
     */
    function link_bug( $p_event, $p_bug_id ) {
        return $this->base_url( bug_get_field( $p_bug_id, 'project_id' ) ) . '/' . (int)$p_bug_id;
    }

    /**
     * Wiki link to a project
     *
     * @param integer $p_event      Event.
     * @param integer $p_project_id A project identifier.
     * @return string
     */
    function link_project( $p_event, $p_project_id ) {
        return $this->base_url( $p_project_id );
    }
}

References