Introducing Pix PMS

For the past weeks, I’ve been writing my own gallery script, which I tentatively named Pix Picture Management Software or Pix PMS (my slogan is Pix PMS — Gallery script with an attitude — get it? PMS? Attitude?).

While I initially started writing it about a year ago, I had only gotten to the part where the admin login and interface was up and you could upload pics. The pictures couldn’t be shown yet, and it pretty much didn’t do jack shit. Being as smart as I usually am, I made a major change to the structuring and screwed everything up (I didn’t make a backup) just because of a stupid sleep(1) statement that I wanted to add. I was fed up and never tried rewriting it or fixing what I had messed up.

In January of 2005, I started again and I used text files to store the picture. The gallery script was starting to shape up nicely. You could add galleries, upload pictures, they were then resized automatically and added to the category of your choice. I was impressed with the progress I had made in such little time. By using text files, it was getting harder and harder for me to manage, and I started having a lot of redundant code and some things seemed too complicated (and some things didn’t work at all like I wanted them to).

Then I finally got MySQL 4.1 to work on my laptop (For some reason, PHP couldn’t ever connect and there were also problems with the password hashing scheme or whatever). So I started playing around with MySQL. I set up a test database and tables and started writing a MySQL class for the script. In the end, I had successfully converted from text files to MySQL. I was proud and happy.

One of my motivations for this project was to write it using Object Oriented Programming. Ever since I started taking Java classes at the University of West Florida, I fell in love with Java and OOP. So I decided to apply my OOP knowledge to this particular project. I quickly found out some of the limitations in PHP 4.3’s OOP model (I’ve looked at PHP 5 examples and it seems to ressemble Java a lot –so that’s pretty promising — but I’m not going to start programming for PHP 5 yet). The gallery script is something that could also easily be written in OOP. For example, I have the following classes: gallery.class.php, category.class.php, and picture.class.php. This made the project much more interesting to me, and the work seemed to be divided in a way that made a lot of sense. It become more manageable and features were easier to add.

Another turning point was when, through WordPress, I discovered the ezSQL database class for MySQL. I played around with it, and when I discovered the debug() function, I converted instantly. I rewrote part of the gallery and dumped my own MySQL class. Now I’m using a slightly modified version of ezSQL.

I’ve revised my current code so many times, and have rewritten a lot. I’m constantly looking for the simplest and fastest way possible. I’m constantly optimizing.

Here is what I’m trying to accomplish with Pix PMS:

  • Fast, small and simple while still having all of the basic features a gallery needs.
  • Nice admin interface (My graphic skills suck, so someone might need to help me with this part
  • Easy templating

I have so many features in mind for what a gallery script can do, but it’s hard when you want to keep it simple. So right now I’m looking at getting the basics done, and have a solid base to build upon. I’m not sure yet if I’ll be releasing it. If I do it will probably be free and open source. Right now, I’m going to use it to power the pix page.

One Response to “Introducing Pix PMS”

  1. July 27th, 2011 | 9:22 am

    Just to let you know that I got a book mark to your weblog from Christian Dillstrom, the mobile & social media marketing specialist, so you must be doing a sweet job.

Leave a reply