What is coming in Beta 9

I have been releasing Media Manager quite frequently in an attempt to stay on top of bugs. But the time between Beta 8 and Beta 9 is likely to be longer than usual. You see I started something in Beta 9 I have been putting off for sometime because it will touch many aspects of the plugin and will therefore be a pain in the arse to test. Tsk tsk. But the changes are necessary and I am sure will be very welcome.

First, I am rearchitecting how Media Manager's data is stored. It currently uses MT::PluginData, but storing data there makes it very difficult to search and filter... at least to do so quickly. Under Beta 8's implementation every single time your queue is accessed, the entire system-wide list of Media Manager entries is loaded. The app itself performs the sort, limiting and offsetting features. This approach was easy to implement, but the consequence is that it can be quite slow in large systems. So I am migrating everything over to use native database tables. This means that the database will do filtering, sorting, limiting and offsetting, thus making Media Manager significantly faster.

Of course, the new Media Manager database tables need a quick and easy way to be created, and then someway to migrate your BookQueue and BookQueueToo data into the new system. Creating a BookQueue upgrade process provides me the opportunity to clean up a few data integrity problems that were introduced along the way due to a bug or two in previous versions of BookQueueToo (specifically: normalizing date formats, and making sure every item belongs to a catalog).

An import note: No data will be lost during the upgrade process. If the upgrade doesn't work, roll back to previous version of Media Manager and report the problem you experienced. When I release a fix, you will be able to re-run the upgrade process again.

Here is another dirty little secret: MediaManager does not use MTAmazon32's caching mechanism. This also introduces quite a bit of latency. So I plan to fix that. The end result should be a version of Media Manager that flies. But remember, this is no simple development task. It will take me a couple of days at least to wrap everything up. So stay tuned.

Comments

Thank you, thank you, thank you! I was wondering why the data wasn't being stored in the database -- I know it's a greater challenge for architecture, but it allows for greater flexibility when accessing the data. MM is easily turning into my favorite plugin next to BigPapi!

Keep up the great work!

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About Majordojo

"Majordojo" is the name under which Byrne Reese releases the software he writes. Byrne Reese is a father, a product engineer, an open source hacker and an employee of Six Apart.

 Subscribe to this site's feed

View Byrne Reese's profile on LinkedIn

Recent Comments