Now that LaSalleMart 1.0 is a reality and on its first live site, time to convert LaSallemart to work on Joomla 2.5.
Refresher: LaSalleMart is a fork of Tienda 0.8.2. There is no Tienda version for Joomla 2.5.
Late last week, I finally sat down to start the conversion. First thing to convert: admin’s “General Configuration”.
Within 20 minutes of sitting down, I was digging into Joomla 2.5 itself. Within an hour, I knew I’d be using FoF sooner than later.
Last night, just after 2:00am, I finished my proof-of-concept of the “General Configuration” admin using FoF in Joomla 2.5.
The notion of somehow “porting” to Joomla 2.5 is out the window. No dress rehearsal, this is the real thing. We’re essentially converting Tienda to Joomla 2.5 by doing some immediate re-writes in the admin.
And, we’re doing something else: we’re doing the theory in practice! We’re chopping up the admin into a bunch of separate components — and into separate repos. The theory is not bullshit! All that talk about “Moneyball” is for real. We’re really doing it, and I love it!
The “Framework on Framework” (FoF) by AkeebaBackup.com was something I was going to look at for LaSalleMart at some point. Well, the future is now!
Interjection: Nicholas emailed me that I’m wrong. There’s more to the history of FoF than what I know. Here’s his verbatim email reply he asked me to publish:
FOF is NOT “my own version of Nooku Framework”. It’s not “a distillation of what attracted us to the Nooku Framework in the first place”. FOF is based on my ideas about a framework extension which predate my involvement with Nooku by two years. FOF began its life in August 2009 as a set of three base MVC classes written for my own use, with the goal of simplifying my life. Since then, these classes had made it into two custom projects for clients, as well as ARS and Admin Tools, all predating my involvement with NF. The repos are out there to prove my word. Naturally, I had to evolve this to a full blown library once I realised that NF wouldn’t deliver. Naturally, I implemented some conventions which are common with NF as I wanted to make Akeeba Subscriptions work without NF as soon as possible. So, no, FOF is definitely not “my own version of NF”. It’s a different kind of fruit with a similar taste.FOF’s goals are very different to those of NF. I am aiming for stability, backwards compatibility, extending (not replacing) Joomla! Platform and giving you something which doesn’t get in your way when you want to override it. All of that while focusing on what matters to developers in the real world: quick turnaround and minimal code maintenance.
Why don’t I enable comments on this blog, nor on my Media site? Because I hate moderating public forums. Because I’m contrarian.
I’m leaving my incorrect history-of-FoF intact below, so you know what Nicholas is responding to.
Thank you, Nicholas, for taking the time to send me your email. And, thank you for making FoF available as a FOSS Joomla library.
Another email exchange:
the initial classes upon which FoF is based predate my involvement with Nooku Framework by 2 years. Nooku Framework did exist as a private project at that time. When NF was first presented publicly in JaB10 (April 2010 if memory serves) I had already been working on those classes for a year and I had already written ARS based on them
Less code, speed up turnaround. That’s what I want from FoF. And that’s what I get. On top of that, there are extra kickers that are kick-ass. But, the fundamental value of FoF is (1) LESS CODE; (2) FASTER TURNAROUND.
This is, of course, the promise of the Nooku Framework. As you know, once I started programming with the NFW for my Tienda Distro, I concluded that I could not use it! Here’s my podcast announcing my un-using NFW.
Nicholas was coming to the same conclusion, as I mention in my podcast. Naturally, Nicholas wrote his own version of the Nooku Framework. He called it FoF. You’ll hear me say on occassion that a pearl is created from irritation. Well, FoF is a gem, although its genesis is frustration. FoF is a distillation of what attracted us to the Nooku Framework in the first place. The number one thing that attracted us was the promise of not having to code 50% to 80% of the normal Joomla code for a standard normal component. FoF delivers.
FoF is just a handful of PHP files in one single solitary folder. When I first saw it, I thought I had overlooked it! I kept digging for the plugin! Oh, boy, you know, the FoF version of the “koowa” plugin that remained intact after I uninstalled a NFW component and crashed my site. So, naturally, I’m searching for the FoF plugin.
Forget it. No plugin, no modules, no mimicking the Joomla folder structure. Whew, I assumed “FoF” stood for “Files upon Folders”. Nope. One folder, one handful of files. FoF is a wonderful distillation that delivers as promised.
My “General Configuration” proof-of-concept is weird. There’s a controller folder, but no files in it. Same for the model folder. I spent how long trying to find out how to create the component’s main links at the top — studying Akeeba Subs looking for the elixer! Then, light-bulb! FoF “just does it” when I stick to the naming conventions. It’s the first time I programmed something in Joomla by not doing anything. Totally my cup of tea!
Nicholas, thank you for:
- writing FoF;
- converting it to a Joomla library;
- making it FOSS;
- creating a wonderful Assembla space for FoF;
- creating a wonderful sample component for FoF — which uses Phing!
It’s a gem!
And an integral aspect of LaSalleMart for Joomla 2.5!