Sunday, May 27, 2012

Started a new PR1 branch

My Question on Support site for LampCMS project

I started working on a new PR1 version.
I created a new branch on github for this.
All new development is done in PR1 branch for now.

New features I am working on:

Support for multi-site. Running more than on site from single Lampcms library. This is already done.
A simple 'define' of the path to Lampcms/lib directory is all that is needed in the new bootstrap.php file

Moved all configuration files to config folder. Got rid of Points.php and Mycollections.php. All these are now in the !config.ini file. Yes !config.ini got bigger in size but I think its better than having too many configuration files.

Also the config directory can be moved to custom location to prevent it from being overridden during the upgrade (this is already pretty well protected because the !config.ini is not even included in distribution and must be created by renaming or copying !config.ini.dist file, same for acl.ini file)
The language translations directory is now a subfolder in the config directory, so moving config directory to a custom location will protect the translations directory from being overridden.

What I'm really working on now, and this may take decent amount of time is to use url routes concept so that rewrite rules will not be necessary. This will be somewhat similar to CodeIgneter's way, but not the same. It will also be a 2-way mapping - if you rename the route the urls will all be updated dynamically in the site. For example, if you want to access your unanswered questions using /noanswer/ then just changing the route name from 'unanswered' to 'noanswer' will do the trick - the links everywhere in the site will be pointing to '/noanswer/'
while the route will point to the same controller.

Also it will be possible and quite easy to install Lampcms in a subfolder of an existing website. For example, maybe in the '/forum/' directory of your site.

So this new url routing feature will take some time to complete and test. Many templates will have to be updated to use placeholders instead of hard-coding the links.

I'm working on it now.

You can still use the master branch for the previous more stable version or wait for the PR1 with all the good features.

I also changed the coding style a bit in a new version, it's more in line with Symfony2 coding style. Not a big change at all, but class and function opening brackets are in the new line now.

I also got this new IDE - PHPStorm. I like it a lot. Thanks to the good people of JetBrains I got a free license for this open source project. It's the best IDE I worked with so far, and I tried many: Eclipse (still using it for some Java coding and for Android code. What I really hate about Eclipse is that so many times I would install some new plugin and suddenly some old feature stops working and I really need that old feature more than the new plugin but uninstalling plugin does not fix the problem), Aptana (crap), NetBeans (not bad), PHPEd (crap)

Debugging with XDebug works right out of the box with PHPStorm, good support for PHPUnit, and for viewing cachegrind files right in the IDE. Also a nice support for Phing - it recognises the Phing's xml file and you can right-click right in the xml to build a target. And lastly nice support for php codesniffer. This is a less important but still a nice feature. Or, and it has a really good support for all the Git features like creating, switching branches, merging, comparing branches and very good tool to resolve occasional merge conflicts.


Earlier this week I attended the MongoDB NYC conference. It was great - their busiest even even - over 900 attendees. It was really crowded but it was worth it, especially since the company paid for the ticket. I lleared a new new tricks, got some new ideas on using Mongo. Also we starting to use MongoDB at work, got a pretty serious multi-server install with sharding and replica sets.

By the way I work for the ADP now. It's a pretty big company, you probably heard of it.

Anyway, I have alot for work to do.


Click here to post your reply


No comments:

Post a Comment