ISP owners, managers, administrators and technical staff.Operation Audience
Technical managers, technical administrators and technical staff with linux tc/iptables/htb and mySQL skills. Understanding of basic routing, QOS and firewall concepts may also come in handy.Purpose
Introduce then explain the use and scope of mysqlIPM application.IntroductionmysqlIPM summary: In a nutshell keep your IP space, quality of service and firewall rules organinzed and centralized in a single place. This place should be useful for all equipment and be SQL data for easy migration and the addition of per ISP special tools.
mysqlIPM is an industrial RAD developed cgi/webconsole interface to mySQL tables and data, that help organize ISP (or other similar establishment, large company, school, university etc.) IP space.Installation and Initial SetupmysqlIPM also allows complex linux based accounting and quality of service (QOS) rules to be centrally mySQL located and then used for production in many servers across your network.
See INSTALL fileLicensing
GPL Licensed or specially licensed to companies, educational institutions that require warranties and/or specific service level agreements (SLAs.)Interface UseSee LICENSE file
The mysqlX RAD interface although slightly industrial in look and feel and rough around the edges. Allowed for quick deployment of a webconsole (web browser) based interface to mySQL based applications. It permits a standardized tool to many different ISP tools. With it's flaws and all it is more efficient to standardize and keep all interface bugs in one place.You login to the interface with a case sensitive login which can have spaces, for example: John Smith. And a password. This should be done in most cases via an SSL httpd (https) instance for security and then you can go to normal http for normal data manipulation to keep server load down and response times low.
Once you have logged in you will be at the main (post) page. The top right area will have numerous links to the different tables. The links viewed may change depending on the permission level of the login.
Every table page has 3 areas (below the top common header), of which 2 are usually the only ones in use. The left and the right side panels. The right side panel has the schema based form interface, and the left panel has the schema independent application interface or interfaces to other related table data. Usually the left panel will also provide navigation links into other application specific areas or just into the table records. The 3rd area is the bottom panel which is used mostly in the mysqlBind application for the zone resource records.
Most table pages will have a record navigator along with the typical New/Modify/Delete buttons. Most buttons should have the yellow tool tip pop-ups that explain the function briefly. Most operations are two step based, for example: [Delete] then [Confirm Delete.] Keeping things somewhat safe for casual use. Also a simple mySQL recommended "record locking" replacement scheme has been implemented to keep multiple users from modifying the same record in parallel. This is done by simply checking the modification date against the (stateless) cgi form information. This may be a cause for confusion when using the browser BACK feature and then trying to modify a record.
Another cause for confusion is the cgi stateless model itself that may show data in the browser that has changed or is not correct. Unixservice's ism|5 native GTK+ and Win32 applications overcome this problem without resorting to Java or other such non standard HTML extensions. The KISS principle has been used throughout and the open source community motto "Release early and often" has been followed for good or for "temporary until next release 'worse.'"
Some field checking and manipulation is used via the RAD, and in some cases has created strange problems. Many layers of cgi security and permission level access to New/Mod/Delete and field operations are in place allthough not debugged and in many instances not yet in sync with the applications needs. The use as Root is then in some cases the only way to go, especially with earlier versions of the application.