Skip to content

AnsCodeLab/mantis-kanban-board

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Kanban Board Plugin for MantisBT

A modern, feature-rich Kanban board plugin for MantisBT that provides a visual overview of bugs and tickets with drag-and-drop functionality, advanced filtering, and parent-child ticket support.

Kanban Board Screenshot

Features

🎯 Core Functionality

  • Visual Kanban Board: Clean, modern interface inspired by Jira
  • Drag & Drop: Move tickets between status columns with visual feedback
  • Real-time Updates: Status changes are saved immediately
  • Auto-assignment: Automatic ticket assignment when moving to certain statuses

🔍 Advanced Filtering

  • Jira-style Filter Panel: Two-panel filter system with categories and options
  • Multiple Filter Types:
    • Assignee: Filter by user assignments (including unassigned)
    • Priority: Filter by ticket priority levels
    • Status: Filter by ticket status
    • Parent Ticket: Show only child tickets of specific parent tickets
    • Search: Real-time text search across ticket content
  • Active Filters Display: Visual tags showing currently applied filters
  • Filter Management: Remove individual filters or clear all at once
  • URL Parameters: Filter states are saved in URL for sharing and bookmarking
    • Shareable filtered views via URL
    • Automatic filter application from URL parameters
    • Bookmark specific filter combinations

👨‍👩‍👧‍👦 Parent-Child Relationships

  • Parent Ticket Selection: Choose parent tickets to view only their children
  • Hierarchical View: Focus on specific ticket relationships
  • Seamless Integration: Parent filtering integrated into the main filter system

🎨 User Interface

  • Modern Design: Clean, professional interface matching Jira aesthetics
  • Responsive Layout: Works on desktop and mobile devices
  • Visual Feedback: Loading states, success messages, and error handling
  • Accessibility: Keyboard navigation and screen reader support

⚙️ Technical Features

  • Performance Optimized: Efficient database queries and DOM manipulation
  • Security: Proper permission checks and data validation
  • Extensible: Well-structured code for easy customization
  • MantisBT Integration: Seamless integration with existing MantisBT workflows

Installation

Requirements

  • MantisBT 2.x or higher
  • PHP 7.4 or higher
  • Modern web browser with JavaScript enabled

Install Steps

  1. Download the Plugin

    cd /path/to/mantisbt/plugins/
    git clone [repository-url] SimpleKanban
  2. Install via MantisBT Admin Panel

    • Login as administrator
    • Go to Manage → Manage Plugins
    • Find "Simple Kanban Board" in the available plugins list
    • Click "Install"
  3. Configure Plugin (Optional)

    • Access plugin configuration in Manage → Manage Plugins
    • Adjust settings as needed

Usage

Accessing the Kanban Board

  1. Main Navigation: Go to View Issues → Kanban Board from the main menu
  2. Project Context: The board automatically shows tickets for the current project
  3. All Projects: Select "All Projects" to view tickets across all accessible projects

Moving Tickets

  1. Drag & Drop: Click and drag any ticket card to a different status column
  2. Visual Feedback: Cards show loading state during status updates
  3. Success Confirmation: Green success message confirms the change
  4. Auto-assignment: Tickets may be automatically assigned based on workflow rules

Using Filters

Opening the Filter Panel

  • Click the Filter button in the top-right corner
  • The filter panel will slide out from the right side

Filter Categories

  1. Assignee

    • View unassigned tickets
    • Filter by specific team members
    • Search through assignee list
  2. Parent Ticket

    • Show all tickets (default)
    • Select specific parent tickets to view only their children
    • Useful for epic/story relationships
  3. Priority

    • Filter by priority levels (None, Low, Normal, High, Urgent)
    • Visual priority indicators
  4. Status

    • Filter by any status in your workflow
    • Supports custom status configurations

Search Functionality

  • Use the main search box for real-time text filtering
  • Search within filter categories using the category search boxes
  • Search terms are highlighted in results

Managing Active Filters

  • View Active Filters: Blue filter tags appear above the board
  • Remove Individual Filters: Click the × on any filter tag
  • Clear All Filters: Use the "Clear All" button
  • Filter Persistence: Filters remain active during navigation

Parent-Child Workflows

Viewing Child Tickets

  1. Select Parent Ticket from the filter categories
  2. Choose a parent ticket from the list
  3. The board will show only child tickets of that parent
  4. The header will update to show the current parent context

Working with Hierarchies

  • Use parent filtering to focus on specific epics or features
  • Move child tickets through your workflow independently
  • Return to "Show all tickets" to see the full project view

URL Parameters & Filter Sharing

Shareable Filter URLs

The Kanban board automatically saves filter states in the URL, enabling:

  • Bookmarking: Save specific filter combinations for quick access
  • Sharing: Send filtered views to team members via URL
  • Deep Linking: Link directly to filtered board states from other tools

URL Parameter Format

Filter parameters are automatically added to the URL:

/kanban.php?assignees=5,12&priorities=40,50&search=urgent&parents=123

Supported Parameters:

  • assignees: Comma-separated user IDs (empty string for unassigned)
  • parents: Comma-separated parent ticket IDs
  • priorities: Comma-separated priority values (10,20,30,40,50,60)
  • statuses: Comma-separated status IDs
  • search: URL-encoded search text

Examples

# Show tickets assigned to users 5 and 12
/kanban.php?assignees=5,12

# Show high and urgent priority tickets
/kanban.php?priorities=40,50

# Show children of ticket #1234 assigned to user 5
/kanban.php?parents=1234&assignees=5

# Search for "bug" in high priority tickets
/kanban.php?search=bug&priorities=40

Usage Tips

  • URLs automatically update as you change filters
  • Copy the URL anytime to share the current filtered view
  • Bookmark frequently used filter combinations
  • Use in documentation or team communications for direct board access

Configuration

Status Configuration

The plugin automatically adapts to your MantisBT status configuration:

  • Reads status values from $g_status_enum_string
  • Supports custom status names and workflows
  • Handles missing or custom statuses gracefully

Auto-assignment Rules

Configure automatic assignment behavior in your MantisBT workflow:

  • Set up status transition rules
  • Define assignment policies for specific statuses
  • The plugin respects existing MantisBT assignment logic

Permissions

The plugin respects all MantisBT permission levels:

  • View Access: Users can only see tickets they have permission to view
  • Update Access: Users can only move tickets they have permission to update
  • Project Access: Filtering respects project-level permissions

Customization

Custom Status Colors

Add custom status colors in your config_inc.php:

$g_status_colors['custom_status'] = '#FF5722';

Custom CSS

Override default styles by adding custom CSS:

/* Custom ticket card styling */
.kanban-card {
    border-left: 4px solid #your-color;
}

/* Custom column styling */
.kanban-column[data-status="your-status"] {
    background: #your-background;
}

JavaScript Extensions

Extend functionality by adding custom JavaScript:

// Custom drag behavior
document.addEventListener('DOMContentLoaded', function() {
    // Your custom code here
});

Troubleshooting

Common Issues

Board Not Loading

  • Check database connectivity
  • Verify plugin installation
  • Check browser console for JavaScript errors

Drag & Drop Not Working

  • Ensure JavaScript is enabled
  • Check for browser compatibility
  • Verify user permissions for ticket updates

Filters Not Applying

  • Clear browser cache
  • Check for JavaScript errors
  • Verify database queries in MantisBT logs

Performance Issues

  • Check database indexes on bug table
  • Monitor PHP memory usage
  • Consider project-based filtering for large datasets

Debug Mode

Enable debug logging in your config_inc.php:

$g_log_level = LOG_PLUGIN;
$g_log_destination = 'file:/path/to/mantisbt.log';

File Structure

plugins/SimpleKanban/
├── README.md                     # This file
├── SimpleKanban.php             # Main plugin file
├── pages/
│   └── kanban.php              # Main Kanban board page
├── css/
│   └── kanban.css              # Stylesheet
├── js/
│   └── kanban.js               # JavaScript functionality
└── lang/
    └── strings_english.txt     # Language strings

Contributing

Development Setup

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

Code Standards

  • Follow MantisBT coding standards
  • Use meaningful variable names
  • Comment complex logic
  • Test across different browsers

Testing

  • Test with different MantisBT versions
  • Verify across different project configurations
  • Test permission levels and user roles
  • Validate mobile responsiveness

Changelog

Version 1.0.1 - Initial Release (November 10, 2025)

🎉 First Public Release

This is the initial release of the Simple Kanban Board plugin for MantisBT, providing a modern, feature-rich visual interface for managing tickets and bugs.

✨ Core Features

  • Visual Kanban Board: Clean, modern interface inspired by Jira with drag-and-drop functionality
  • Drag & Drop: Move tickets between status columns with visual feedback and real-time updates
  • Auto-assignment: Automatic ticket assignment when moving to certain statuses
  • Status Management: Automatic adaptation to MantisBT status configuration

🔍 Advanced Filtering System

  • Jira-style Filter Panel: Two-panel filter system with categories and options
  • Multiple Filter Types:
    • Assignee filtering (including unassigned tickets)
    • Priority-based filtering
    • Status filtering
    • Parent ticket filtering for hierarchical views
    • Real-time text search
  • Active Filters Display: Visual tags showing currently applied filters
  • Filter Management: Remove individual filters or clear all at once
  • URL Parameters: Shareable filtered views via URL with automatic filter application

👨‍👩‍👧‍👦 Parent-Child Relationships

  • Parent ticket selection to view only child tickets
  • Hierarchical ticket view for epic/story relationships
  • Seamless integration with the main filter system

🎨 User Interface

  • Modern, professional design matching Jira aesthetics
  • Responsive layout for desktop and mobile devices
  • Visual feedback with loading states and success/error messages
  • Accessibility features including keyboard navigation

⚙️ Technical Implementation

  • Performance-optimized database queries and DOM manipulation
  • Security with proper permission checks and data validation
  • Extensible, well-structured code for customization
  • Seamless MantisBT integration respecting existing workflows and permissions

📦 Installation & Compatibility

  • Compatible with MantisBT 2.x or higher
  • Requires PHP 7.4 or higher
  • Works with modern web browsers with JavaScript enabled
  • Easy installation via MantisBT admin panel

🔧 Customization Options

  • Custom status colors configuration
  • Custom CSS styling support
  • JavaScript extension capabilities
  • Respects MantisBT permission levels and project access

License

This plugin is released under the same license as MantisBT.

Support

  • Issues: Report bugs and feature requests via the issue tracker
  • Documentation: Check the MantisBT plugin documentation
  • Community: Join the MantisBT community forums

Credits

Developed for MantisBT with inspiration from modern project management tools like Jira and Trello.


Made with ❤️ for the MantisBT community

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors