I know things appear to have been quiet around here for the last long times, but I can assure you, not a day goes by that Hazaar MVC doesn’t get something added/fixed/whatevered to it. So that and working as a full time PHP developer, MMA cage fighter AND doing two subjects a semester at uni trying to get my masters, is really making life hectic! I have been holding off on the next official release for quite some time now (at least a year) because I haven’t been quite sure where I want to take HMVC next.
So this is just a quick update to let you know that I may be on to something.
It had always been my intention to create some sort of “Hazaar ecosystem” that will allow developers to download and use only the parts of HMVC that they actually need. Much in the same way that languages like Ruby, or even PHP with it’s own PEAR system. Till now I’ve been struggling with how I want to manage this from the developers perspective. Obviously they need a tool to do this, but what kind of tool?
Until now, that tool has been the “Hazaar Tool” which was originally a PHP script that did some stuff. Currently it is a python script that get’s compiled and distributed as an executable binary. Neither of these approaches really worked too well for various reasons.
- They are both command line only tools.
- The PHP tool was designed only to work on Linux hosts.
- The Python tool never really got the full subset of features the original tool had.
- Neither really worked too well on all platforms as they were both developed on Linux.
Since developing the last version of the Hazaar Tool I have changed jobs and I’m now developing PHP code using a Windows workstation. This has meant that a bit more work has been done on HMVC to get it working nicely on Windows, but it also meant that I had a chance to really think about the differences between developing on Linux and Windows and what it’s going to take to build my ecosystem in a platform independent way.
Then it hit me! Build it into the framework!
We currently have an interface built into the framework for monitoring and managing the Warlock signalling server, so why not do that for a project and package manager? It’s so obvious I feel a bit stupid.
The down sides:
- Getting the framework up and running will be a bit more of a manual process. The latest version of the Hazaar Tool was REALLY good at getting you up and running with all the bits you needed. It even allowed you to install the example application with a single command. This will probably have to change. But maybe not. It might be easier. I don’t know I’m really just spit-balling right now.
- That’s probably it. I actually can’t think of any down-sides. Really, as long as you get the framework up and running on your web server, you should be good to go
The up side(s):
- There will be a “pretty”, platform independent graphical user interface for managing everything about your application. From creating new empty applications to adding controllers, models, views, new modules, downloading projects from the “platform server”.
- Managing Warlock will also be in the same interface.
- Multiple applications on the same frame work.
- Simple framework updates. This will be tricky as we will need to think about write permissions and such. May have to look into privilege elevation and if that’s at all possible.
- Managing databases, including configuring schemas, running migrations, writing migration scripts or maybe even adding/removing tables from the database and automatically modifying the schema files. Who knows!
So yeah, as you can see I have my work cut out for me. All of this is just spit-balling ideas, but I think it’s the way to go. That way at the end of the day the only thing you need to install is “the framework” and not a bunch of tools to manage it as well.
Stay tuned and I shall try and be a bit better at keeping you all updated on the progress!