Web Application Versioning Alpha Release

I released version 0.1 of the PHP web application versioning web application. The first release is rough around the edges and needs to be modified in a few places. I do think it has always been a good start and also has been very useful for what I needed it to do. However, as I move forward I want to position it for other projects besides WordPress and it needs to be polished. Also, since it is open to the world, it needs some better quality controls attached to it, so I don’t cringe whenever my name is associated with it.

What it is Lacking?

It is lacking inline documentation, test cases, solid installation script, decoupling of WordPress, support for more than uploading zip files, and a bunch of other requests. I’m going to work on the quality assurance parts first while decoupling support for WordPress.

The issue currently is that I really only support SQLite, but I’m going to finish support for MySQL also. This should hopefully ease up on the time it takes to search and load the pages.

Version 0.2 Features

I think these central features need to be addressed for the version 0.2 tag and release.

  1. AJAX searching.

    Version 0.2 will work on AJAX searching instead of displaying all of the functions. I’ve found that it takes an long time to load pages and what I really need is to just search for the elements I want the version info for.

  2. Better installation script.

    The current installation script is extremely basic and doesn’t allow for any configurations. The goal for supporting both SQLite and MySQL is to allow for creating the needed components for getting them to work. SQLite needs its own directory to hold the database file and this directory needs protection against people downloading the file. Well, it isn’t that important to protect, but no one should be accessing the directory anyway.

  3. Extensible library architecture.

    I want to use some patterns, which will hopefully enable extending the functionality later in the development. This also includes reworking the directory structure. The web application shouldn’t be that difficult or that much to it, but it should allow for ease of extending later also. It probably will change later when everything is worked out and better packaging of the script needs to be done.

  4. MySQL support.

    I know MySQL better and can optimize the code for it. I’ve found that I’ve learned how to optimize the table structures for SQLite better to where they aren’t as slow. However, I believe that MySQL support should probably give some users a boost over SQLite for some large databases. It may extend the period for which development and testing is needed to complete this feature. If I can’t finish it, then really I’m going to focus on the other features first.

  5. Versioning look up support.

    In version 0.1, there is only one way to look up the versioning information for the web application and that is uploading a zip file. You have to do it every time and it does get to be a pain after some time. I want to extend support to accessing the already uploaded files instead of having to reupload them every time. I also want to support traversing directories and getting the versioning information from those files.

  6. Quality Assurance

    There isn’t currently any quality assurance in the web application and I really need to change that. Right now the script isn’t that complicated or large, but going forward, I don’t want to be hypocritical with writing a script meant for finding the information for the @since phpdoc tags. It looks bad to write a script for helping those that write inline documentation and neglect inline documentation. I’m also going to work on unit tests for various parts of the library. It will help in reducing the amount of bugs. I doubt I’ll finish the test cases in this version, but over the course, I’m going to work on it more. I’m not going to release the final version until all of the unit tests are written.

Purpose

The web application versioning purpose is to record the various elements in PHP that can be documented. Mainly functions, classes, class attributes, methods, constants, and limited global variable support (must be declared in a function as global). For web applications that neglect @since tag information, this web application will be helpful in finding that information. Since it was built for WordPress, it also supports filter and action API version information.

Possibly Related Posts:


Tags:

Comments are closed.