22
Sun, Dec
3 New Articles

TechTip: Mantis/400, a Mature, Open-Source Issue-Tracking Application in PHP

Development Tools
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Yes, we all have source code for many commercial applications. Once we license them, that is. How about source code for free? How great is that?

 

Spoiler Alert: At the end of this TechTip is the "Ultimate Solution" to PHP databases on the System i.

 

The PHP community of programmers has long been a bastion of the open-source movement. This business model is based on the free distribution of the code and applications. Normally, "community" support is readily available on forums via the users of the software, with a modicum of help from the authors.

 

The debate over the readiness of open source for enterprise use will not continue here. What we will expose is the huge benefit of learning from open source. Having a fully operational program with easily readable source code is absolutely the best way to learn a language. And if that app can do some things that you actually need done, all the better.

 

This author became enchanted with PHP from an open-source application, Mantis Bug Tracker, which was spearheaded by Kenzaburo Ito from 2000–2002 and then Victor Boctor since 2002. Read the details at Wikipedia. Mantis has become so popular that it's included with Debian, Ubuntu, Fedora, Gentoo, Frugalware, and several other Linux distributions.

Three Flavors

Back in 2003, Curbstone had the need for three web-based systems for our geographically distributed developers. Speed of development, ability to customize, and rapid deployment were the priorities. We decided to take that open-source "bug-tracking" application and, using its extensive support for language customization (currently supporting 49 languages), turn it into the three flavors of tools we needed. The undertaking of customization was in late 2003 on a beta version of Mantis that was a "release candidate." In our case, at that time, we ran it on our Linux server that handled our marketing websites.

 

Number 1: Customer Issue Tracker

The first requirement was a bug tracker, exactly what Mantis was written to do. What we found particularly attractive was the e-mail updates that Mantis generated to the reporting customers when a tech updated the bug. We prefer, of course, to call them "issues," hence the name: Issue Tracking System (ITS). The system is also capable of segregating the issues so each customer login sees only the issues they reported.

 

030714Chandler 01

Figure 1: Issue Tracking System (ITS)

 

Number 2: Internal Implementation Log

The next was an internal implementation database to collect step-by-step details of the installation, configuration, testing, and go-live process for each of our customers. This required that the primary "record" would be the Customer, so we had one record per customer, as opposed to one record per bug report. Then the time-stamped comments would be entered by our technicians to retain the valuable details of the implementation.

 

030714Chandler 02

Figure 2: Internal Implementations Database

 

Number 3: Internal Software Design Change Requests

The third use was to help manage the development process by tracking Design Change Requests (DCRs). This had one design change per "record," and the techs could comment on it. The steps in the configurable life cycle would take the change from concept to code to customer.

 

030714Chandler 03

Figure 3: Design Change Requests

 

Customization

Since the Mantis software used configuration files to control all of the text components of the screen, customizing the app to look like three different ones was relatively easy.

 

030714Chandler 04

Figure 4: Life Cycle Customization for Each Flavor

 

The Database Challenge

The Mantis PHP application code is written on top of ADOdb, a database abstraction layer. Since PHP is often hosted on a Linux operating system, we have several high-quality, equally free, open source, relational databases from which to choose. The most popular include MySQL, Informix, ODBC, DB2, and Postgres. Were we to write an application for broad distribution as open source, we would want it to support as many independent databases as possible. And a dream come true, the ADOdb open-source effort provides that compatibility.

 

ADOdb

ADOdb is a layer of softwarea database class library, specificallythat provides a powerful SQL interface for PHP programs. This SQL superset is able to translate this standardized version of SQL to any one of the flavors the end user prefers. In fact, the ADOdb team and other contributors now support about 40 databases: Access, ADO, ADO Access, ado_mssql, borland_ibase, DB2, fbsql, Firebird, iBase, Informix, Informix72, LDAP, MS SQL, mssqlpo, MySQL, MySQLi, mysqlt ormaxsql, Netezza, oci8, oci805, oci8po, ODBC, ODBC_DB2, ODBC_MS SQL, ODBC_Oracle, ODBTP, ODBTP_Unicode, Oracle, PDO, Postgres, Postgres64, Postgres7, Postgres8, Postgres9, SAP DB, SQL Anywhere, SQLite, SQLitepo, Sybase, and Visual FoxPro.

 

ADOdb is so well-designed that the library also works under the Python programming language.

 

DB2/400

Given our familiarity with DB2, our company was glad to join the PHP experts from Zend and IBM, along with Alan Seiden, to work on Mantis. The goal was to modify the ADOdb abstraction layer to support the particular flavor of SQL used in DB2 on the AS/400 (DB2/400), aka System i (the name you have to type twice in order to ensure the "i" stays lowercase). Prior to the 1990s, IBM produced a platform-specific version of DB2 for each major operating system.

 

The Team

In late 2006, we undertook to enhance ADOdb in the Mantis code to support DB2/400. And the team including Alan Seiden (alanseiden.com), Victor Boctor (MantisBT.org), Jim Dillard and Edward Kietlinski (Zend.com), Jon Rush and John Paris (IBM), this author (Curbstone.com), and othersattacked the pre-release Mantis code. The result is posted at the Mantis400.com website.

 

The result was completely operational and informative, and it worked. However, we were expecting a new product from Zend that might make the effort merely a valuable technical exercise.…

 

The Ultimate 2014 Solution: ZendDBi

And for those of you wondering what we do to use later versions of Mantis that do not have the DB2/400 ADOdb modifications, ever-productive Zend has the perfect answer.

 

While modifying ADOdb to support DB2/400 might sound like a great solution, Zend did one better. Instead of leaving the System i database "non-standard," they created a new software layer that makes the DB2/400 look just like MySQL to PHP applications! This is now available to all V6R1 systems and higher.

 

This is the perfect solution to running and building PHP applications for the IBM i. It takes advantage of the storage of the data in native physical files, while the application thinks that it's using MySQL, the most popular database.

 

Download your free ZendDBi here and run any PHP application that uses MySQL, and store the data natively in physical files!

 

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  • SB Profound WC 5536 Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application. You can find Part 1 here. In Part 2 of our free Node.js Webinar Series, Brian May teaches you the different tooling options available for writing code, debugging, and using Git for version control. Brian will briefly discuss the different tools available, and demonstrate his preferred setup for Node development on IBM i or any platform. Attend this webinar to learn:

  • SB Profound WP 5539More than ever, there is a demand for IT to deliver innovation. Your IBM i has been an essential part of your business operations for years. However, your organization may struggle to maintain the current system and implement new projects. The thousands of customers we've worked with and surveyed state that expectations regarding the digital footprint and vision of the company are not aligned with the current IT environment.

  • SB HelpSystems ROBOT Generic IBM announced the E1080 servers using the latest Power10 processor in September 2021. The most powerful processor from IBM to date, Power10 is designed to handle the demands of doing business in today’s high-tech atmosphere, including running cloud applications, supporting big data, and managing AI workloads. But what does Power10 mean for your data center? In this recorded webinar, IBMers Dan Sundt and Dylan Boday join IBM Power Champion Tom Huntington for a discussion on why Power10 technology is the right strategic investment if you run IBM i, AIX, or Linux. In this action-packed hour, Tom will share trends from the IBM i and AIX user communities while Dan and Dylan dive into the tech specs for key hardware, including:

  • Magic MarkTRY the one package that solves all your document design and printing challenges on all your platforms. Produce bar code labels, electronic forms, ad hoc reports, and RFID tags – without programming! MarkMagic is the only document design and print solution that combines report writing, WYSIWYG label and forms design, and conditional printing in one integrated product. Make sure your data survives when catastrophe hits. Request your trial now!  Request Now.

  • SB HelpSystems ROBOT GenericForms of ransomware has been around for over 30 years, and with more and more organizations suffering attacks each year, it continues to endure. What has made ransomware such a durable threat and what is the best way to combat it? In order to prevent ransomware, organizations must first understand how it works.

  • SB HelpSystems ROBOT GenericIT security is a top priority for businesses around the world, but most IBM i pros don’t know where to begin—and most cybersecurity experts don’t know IBM i. In this session, Robin Tatam explores the business impact of lax IBM i security, the top vulnerabilities putting IBM i at risk, and the steps you can take to protect your organization. If you’re looking to avoid unexpected downtime or corrupted data, you don’t want to miss this session.

  • SB HelpSystems ROBOT GenericCan you trust all of your users all of the time? A typical end user receives 16 malicious emails each month, but only 17 percent of these phishing campaigns are reported to IT. Once an attack is underway, most organizations won’t discover the breach until six months later. A staggering amount of damage can occur in that time. Despite these risks, 93 percent of organizations are leaving their IBM i systems vulnerable to cybercrime. In this on-demand webinar, IBM i security experts Robin Tatam and Sandi Moore will reveal:

  • FORTRA Disaster protection is vital to every business. Yet, it often consists of patched together procedures that are prone to error. From automatic backups to data encryption to media management, Robot automates the routine (yet often complex) tasks of iSeries backup and recovery, saving you time and money and making the process safer and more reliable. Automate your backups with the Robot Backup and Recovery Solution. Key features include:

  • FORTRAManaging messages on your IBM i can be more than a full-time job if you have to do it manually. Messages need a response and resources must be monitored—often over multiple systems and across platforms. How can you be sure you won’t miss important system events? Automate your message center with the Robot Message Management Solution. Key features include:

  • FORTRAThe thought of printing, distributing, and storing iSeries reports manually may reduce you to tears. Paper and labor costs associated with report generation can spiral out of control. Mountains of paper threaten to swamp your files. Robot automates report bursting, distribution, bundling, and archiving, and offers secure, selective online report viewing. Manage your reports with the Robot Report Management Solution. Key features include:

  • FORTRAFor over 30 years, Robot has been a leader in systems management for IBM i. With batch job creation and scheduling at its core, the Robot Job Scheduling Solution reduces the opportunity for human error and helps you maintain service levels, automating even the biggest, most complex runbooks. Manage your job schedule with the Robot Job Scheduling Solution. Key features include:

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • LANSAWhen it comes to creating your business applications, there are hundreds of coding platforms and programming languages to choose from. These options range from very complex traditional programming languages to Low-Code platforms where sometimes no traditional coding experience is needed. Download our whitepaper, The Power of Writing Code in a Low-Code Solution, and:

  • LANSASupply Chain is becoming increasingly complex and unpredictable. From raw materials for manufacturing to food supply chains, the journey from source to production to delivery to consumers is marred with inefficiencies, manual processes, shortages, recalls, counterfeits, and scandals. In this webinar, we discuss how:

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • Profound Logic Have you been wondering about Node.js? Our free Node.js Webinar Series takes you from total beginner to creating a fully-functional IBM i Node.js business application.

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: