Usman Assignment About MENTIS

download Usman Assignment About MENTIS

of 14

Transcript of Usman Assignment About MENTIS

  • 8/14/2019 Usman Assignment About MENTIS

    1/14

  • 8/14/2019 Usman Assignment About MENTIS

    2/14

    MantisAdministrationGuideCopyright2008TheMantisTeam

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND

    CONTRIBUTORS "ASIS"ANDANYEXPRESS OR IMPLIED WARRANTIES,

    INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF

    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

    DISCLAIMED. INNOEVENT SHALL THE COPYRIGHT OWNEROR

    CONTRIBUTORS BELIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT

    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

    LOSSOFUSE, DATA, ORPROFITS; ORBUSINESS INTERRUPTION) HOWEVERCAUSED AND ON ANY THEORY OF LIABILITY, WHETHER INCONTRACT,

    STRICTLIABILITY, (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN

    ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVENIFAD VISED OF THE

    POSSIBILITY OF SUCH DAMAGE.

    What is it?

    Mantis is a web based bugtracking system. It is currently in development and is

  • 8/14/2019 Usman Assignment About MENTIS

    3/14

    considered a beta.

    It is written in the PHPscripting language and requires a MySQLdatabase and a

    webserver. Mantis has been installed on Windows, MacOS, OS/2, and a variety of Unix

    operating systems. Any web browser should be able to function as a client. It is released

    under the terms of the GNU General Public License (GPL).

    Mantis is free to use and modify. It is free to redistribute as long as you abide by the

    distribution terms of the GPL.

    Features and Benefits

    Free

    Easy to install

    Web based

    Platform independent

    Multiple projects

    Multiple languages Emailing

    Simple Search

    Viewing filters

    PHP4

    Goals

    The goals for this project are to produce and maintain a lightweight, simple bugtracking

    system. Additions of complexity/features are modular so that users can be shielded from

    unwanted clutter. Thus, much of the package has a simple version of a feature along with

    a more fully developed version.

    In the 'core' package the goal is to have the most important, most used, most time saving

    portions of a bugtracking system. The product is designed to be easily modifiable,

    customizable, and upgradeable. Anyone with intermediate PHP and MySQL experience

    should be able to customize Mantis to suit their needs.

    Guidelines

    Here are some of the guidelines that are followed in Mantis:

    Quick access to "What I want to do"

    Simple navigation

    Layered complexity

    Consistency

    Scale to browser window size

    Minimal clutter

    Minimal graphics

    No frames

    No animations

    No Javascript

    http://www.php.net/http://www.php.net/http://www.mysql.com/http://www.mysql.com/http://www.gnu.org/copyleft/gpl.htmlhttp://www.gnu.org/copyleft/gpl.htmlhttp://www.php.net/http://www.mysql.com/http://www.gnu.org/copyleft/gpl.htmlhttp://www.gnu.org/copyleft/gpl.html
  • 8/14/2019 Usman Assignment About MENTIS

    4/14

    Versioning

    The release numbering convention we use is major.minor.micro (eg. 0.15.8).

    Major - Indicates a very large change in the core package. Rewrites or major

    milestones.

    Minor - Significant amount of feature addition/modification. Anything that requries an

    ugprade script.

    Micro - Mostly bug fixes or minor features

    We will release a new version for a significant bugfix as often as daily.

    Currently, Mantis is considered beta software. Version 1.0.0 will be used when we

    consider Mantis to be production quality. This means it should be feature full and

    stable enough for full production use.

    About mantis name

    Description

    When initially seeking to name this project Ken ran into a problem every programmer

    encounters. What is a good name?

    It has to be descriptive, unique, and not too verbose. Additionally having multiple

    meanings would be a nice touch or the perceptive.

    Quickly ruled out were php*Something* names which, incidentally, although popular,

    do not seem to be condoned by the PHP Group developers.

    Drawing inspiration from Open Source projects like Apache, Mozilla, Gnome, and so

    forth resulted in two eventual choices: Dragonfly and Mantis. Dragonfly was already

    the name of a webmail package. So the name became Mantis.

    Praying Mantis are insects that feed primarily on other insects and bugs. They are

    extremely desirable in agriculture as they devour insects that feed on crops. They are

    also extremely elegant looking creatures.

    So, we have a name that is fairly distinctive and descriptive in multiple ways. And that

    is how the project was named.

    BACKGROUND

    Kenzaburo Ito and a friend originally created a bugtracker as an internal tool for their pet project. A

    search for good, free packages came up with nothing suitable so they wrote their own.

    After a rewrite and cleanup it was made available to the public via the GNU General

    Public License (GPL). The GPL was chosen partly because of his belief thatdevelopment tools should be cheap or free.

    In 2002, Ken was joined by Jeroen Latour, Victor Boctor and Julian Fitzell to be the

    administrators and the core development team of Mantis. This marks a new era in

    Mantis lifetime where it is now a team project.

    Minimum Requirements

    Last Modified: May 20, 2005 19:05PM (0.18.0) Description

  • 8/14/2019 Usman Assignment About MENTIS

    5/14

    Mantis runs on Windows, MacOS, OS/2, Linux, Solaris, the BSDs, and just about

    anything that supports the required server software.

    Mantis has modest software and hardware requirements. You need a computer to run the

    server software. All of the required software is free for commercial or non-commercial

    use.

    The computer can be a shared public web server or a dedicated co-loc box. It can even

    run on an office machine. Any Pentium class computer should be adequate for moderate

    usage. You'll just need enough diskspace for the database to grow and enough memory to

    avoid virtual memory thrashing

    Diskspace

    Mantis requires about 6MBs of diskspace for file storage. MySQL will require additional

    diskspace to store the issues. A typical installation with 2,000 issues and light file upload

    usage should take up around 10-20MBs of disk space. Attachments will inflate the size

    required according to their size.

    Software

    PHP 4.0.6 and higher

    MySQL database 3.23.2 and higher (alternate database support is planned for 2.0)

    Web server (Apache, IIS, etc.)

    Cost

    Mantis is free. The net cost to use Mantis is the time to download, install, and configurethe software plus any potential hardware costs. Continued maintenance should be

    minimal unless you are tweaking the package.

    Time

    If you've done this sort of thing before it will probably take about 5-60 minutes. If not,

    plan on around 1-8 hours depending on the problems you run into. If you're unlucky then

    plan on more, or just give up now *wink*.

    PHP

    You don't have to know a thing about PHP to use Mantis, unless something goes wrong.

    Then it helps to be able to tinker with PHP scripts (when there's a little bug or you want to

    tweak something).

    PHP is a simple scripting language and syntacticaly resembles C. It is very easy to pickup

    and learn. In fact, it makes normally difficult tasks so ridiculously easy that you'll want to

    use it for lots of simple tasks (like washing dishes).

    The PHP Manual is phenomenal. If you ever have a question about a PHP function then

    run to it. The user comments always shed light into issues that others like you haveexperienced.

    http://www.php.net/http://www.mysql.com/http://www.apache.org/http://www.php.net/manual/en/http://www.php.net/http://www.mysql.com/http://www.apache.org/http://www.php.net/manual/en/
  • 8/14/2019 Usman Assignment About MENTIS

    6/14

    There are many sites that offer basic tutorials for learning PHP and/or MySQL (DevShed|

    WebMonkey).

    MySQL

    Basic administration of MySQL is necessary. At a minimum you should be able to:

    Login

    Create a new user

    Give the user permissions

    MySQL.com has excellent documentation. It is also highly recommended to usephpMyAdminto

    administer your MySQL database. You can create a new database and edit tables with

    this excellent package. All you need to do beforehand is setup the database user(s).

    Webserver

    The webserver needs to be configured to handle PHP files. In Apache, thismonumental task requires all of one line in the configuration file. There are also

    instructions for IIS, iPlanet/Netscape, Xitami, and more. All listed at thePHP Manual.

    http://www.devshed.com/http://www.devshed.com/http://www.webmonkey.com/http://www.mysql.com/doc/http://www.phpmyadmin.net/http://www.phpmyadmin.net/http://www.php.net/manual/en/http://www.php.net/manual/en/http://www.php.net/manual/en/http://www.devshed.com/http://www.webmonkey.com/http://www.mysql.com/doc/http://www.phpmyadmin.net/http://www.php.net/manual/en/
  • 8/14/2019 Usman Assignment About MENTIS

    7/14

    Summary: This document attempts to provide a overview and introduction to the management

    with Mantis. It proposes specific guidelines for reporters of change requests, members

    of Technical Bodies or Specialist Task Force, and CTI members for the use of this

    tool.

    Table of Contents

  • 8/14/2019 Usman Assignment About MENTIS

    8/14

  • 8/14/2019 Usman Assignment About MENTIS

    9/14

  • 8/14/2019 Usman Assignment About MENTIS

    10/14

    Summary of Goals of Defect Tracking Tools

    Tool Design Goal

    Bugzilla It is focused on dependency tracking and graphing,milestone tracking, detailed bug reporting, resource

    description, developer assignment, granular priority

    description and attachment capabilities

    Bug Crawler Simple to use is the main objective of this tool. It is

    specially designed for multi-layered projects.

    Codestriker It main goal is online code reviewing. It is design to

    integrate with many source code control systems, including

    CVS, Subversion, Clear case, Visual Source Safe.

    ITracker The main goal of this project is to design an issue-trackingsystem that will support multiple projects with independent

    user bases.

    Jitter bug It is designed to track bugs found in samba which is an

    application that allows file sharing between Windows and

    UNIX platforms.

    Mantis It is designed to produce and maintain lightweight, simple

    bug tracking system, which can run on any platform and

    database.

    Request Tracker

    (RT)

    A tracking tool, which allows custom extension, is the main

    goal of Request Tracker. It offers customizable scripts that

    allow to modify workflow notification and resolution

    behavior.

    Roundup It is specially designed to allow issue assignment on

    multiple databases.

    XCVS This tools is designed to extract information from CVS

    repository.

    Redmine This tool is developed to support multiple projects and to

    have a flexible role based access control system.

    GNATS It is developed to allow problem report management and

    communication with users via various means.

    DITrack The goal of this tool is to provide a solution that would

    allow one to start tracking issues almost instantly, i.e.

    without requirements for complex backend infrastructure.

    CVSTrack This tools is designed to integrates with the CVS version

    control system.

  • 8/14/2019 Usman Assignment About MENTIS

    11/14

    INTRODUCTION

    Mantis is an open source web-based bug-tracking tool which has been developed by

    Mantis Group. Originally it has been developed for management of bug reports during

    software development. In the software development community it has been widelyaccepted and appreciated for its features.

    This report proposes a way how to use that tool also in the context of TTCN-3 standard

    maintenance by formal change requests (CR). It is not intended to be a general Mantis

    user guide. Plenty of documentation is available for that purpose

    http://manual.mantisbugtracker.com . But since Mantis was designed to be a quite

    flexible tool guidelines for users are needed to minimize the overhead inherent in the CR

    process, i.e., interactions needed to facilitate CRs.

    It is designed as a tool for IT projects with multiple users and roles. It not only allows you

    to track the progress of issue resolution for multiple projects, but it also saves information

    about all issues in a database, allowing you to mine data from past issues and projects to

    gain a wider perspective on the time it takes to resolve certain issues,

    hasten the resolution of similar issues, and

    notice patterns or repetition of issues among multiple projects.

    Our implementation of Mantis can be found at http://%%someurl/mantis. The developer

    homepage for the Mantis project can be found at http://www.mantisbt.org. Mantis has

    been released under the GNU General Public License

    (http://www.gnu.org/copyleft/gpl.html).

    http://manual.mantisbugtracker.com/http://www.gnu.org/copyleft/gpl.htmlhttp://manual.mantisbugtracker.com/http://www.gnu.org/copyleft/gpl.html
  • 8/14/2019 Usman Assignment About MENTIS

    12/14

    2.USERROLESFollowing is a list of user roles and partial lists of the actions that they can perform within

    Mantis. This serves as an overview of the most important functionality of Mantis, and

    should not be taken as an exhaustive list. These user-action associations are the Mantis

    defaults and can be customized.

    User Roles

    Privileges: Viewer Reporter Updater Developer Manager Administrator

    View issues X X X X X X

    View summary X X X X X X

    Viewattachments

    X X X X X X

    Report issues X X X X X

    Monitor issues X X X X X

    Send reminderto another

    user

    X X X X X

    Upload bugfile

    X X X X X

    Add bug note X X X X X

    Add profile X X X X X

    Update bugs X X X X

    View privatenews

    X X X

    Reopen bug X X X

    Close bug X X X

    Handle Bug X X X

    Leave privatenote

    X X X

    Update bugnote

    X X X

    Delete bug X X X

    Move bug X X X

    Show monitorlist

    X X X

    Upload projectfiles

    X X

    Manageproject

    threshold

    X X

    Manage newsthreshold

    X X

    Add users toproject

    X X

    Create project X X

    Delete project X

    Manage users X

    Managecustom fields X

  • 8/14/2019 Usman Assignment About MENTIS

    13/14

    1 CREATINGA PROJECTMantis Administrators can create projects. Log in as an Administrator, then click

    Manage Projects. Click Create New Project. Fill in a project name. Choose a status.

    For View Status, select Public if you want every user to see the project, or Private

    if youd like to assign specific users only to the project. For upload path, just type .\doc.

    We could also specify a documentation directory on a network drive; this would involve

    ensuring that the web server has write access to the given network path. Type a

    description in the Description field.

    Click Manage Projects again, and click the project that you just created. Here you will

    be able to set up bug categories, user access, and version information.

    Set up bug categories for the project by typing a category name, then clicking Add

    Category. You may want to simply copy Categories from an existing project; this will be

    handy for similar projects. Setting up categories is key to organizing the types of issues

    that will be entered. For example, generic categories might be feature request, bug, or

    nice to have. You can then click the edit link next to the category name to

    automatically assign issues associated with it to a particular user.If the project is private, scroll to the bottom of the page and choose users to give access

    to. Private projects are viewable only by Administrators and anyone who has been given

    access to the project. You can also grant a specific access level for each user; so if

    someone is normally a developer, but youd like that person to be able to do more than

    just work on bugs (such as post documentation), you would grand him/her Manager

    rights.

  • 8/14/2019 Usman Assignment About MENTIS

    14/14

    2 REPORTING, TRACKING, ASSIGNING, & RESOLVING ISSUESThe thrust of Mantis functionality lies in organizing the process of issue resolution. These

    concepts complement the day-to-day workflow of ongoing projects.

    2.1 ReportingA user who is a Reporter and above can report issues to any project that is public, or thatis private and to which s/he has access. Report an issue by clicking Report Issue. The

    fields are relatively self-explanatory. If you are browsing Mantis in an All Projects

    context, youll be forced to pick a project to report an issue for.

    One excellent feature is the ability to upload files related to an issue. So a user can upload

    a screenshot if there is an error alert, or if there is a layout issue.

    2.2 TrackingThere are several ways of tracking an issue. As indicated in the Views section above,

    you can view several issues in several different ways. You can also click on an issue

    number and choose Monitor Issue. This will put the issue into the Monitored by Mesection of My View. Youll also receive an email any time a change is logged for that

    issue (somebody updates the status, adds a note, etc.

    Any time a user clicks on an issue number to view the issue details, s/he can view and add

    notes to an issue, and change the status. This is a handy way for project managers to do a

    quick-check on an issue if they need an answer for a client.

    There is also a project-level news tracking mechanism called RSS. This feature is

    supported in Firefox- and Netscape-type browsers and is also known as a live

    bookmark. In effect, you can subscribe to the news of a project, which creates a

    bookmark-type folder within your browsers sidebar, containing dynamically generated

    shortcuts to recent project news items. Each time an item is added to that projects news,

    it is also added to your browsers sidebar.

    2.3 AssigningIssues can be assigned to particular users who are Developers or above. When you assign

    an issue to a user, s/he receives an email notification. Managers and administrators can

    then send reminders for any given issue to the person to whom the issue was assigned.

    Also, as mentioned above in Creating a Project, you can automatically associate an

    issue category to a specific user.

    2.4 Resolving

    A Developer can change the status of an issue to Resolved. A manager or administratorcan mark it as Closed. By default, Resolved issues show up in most views. Closed

    issues do not.