--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
To post to this group, send an email to joomla-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/joomla-dev-general?hl=en-GB.
For more options, visit https://groups.google.com/groups/opt_out.
+1 seems to be about the quickest way to add a lot of nice possibilities including HMVC and a very nice abstraction level building on a rock solid library.
And the best part is that its non-excluding and does not introduce dependancies in the CMS.
...
- How do we keep it updated?
- Who's job is it to update and maintain?
- How do we deal with extensions that already have an FoF dependency? What if they depend on an older version than what's included? Do we now just break their code by including an up to date version in core?
- Is it enabled by default (available globally), or must developers include the FoF boostrap? (If so, that MIGHT solve #3)
- Will core components transition to using FoF?
6. How well documented is the actual code (on a development level)?
7. Is it simply a library added or is it part of the CMS project now and stored/maintained in Github?
8. Is there any need to unit test it?
I'm eager to see how we can add HMVC and some of the other benefits into Joomla! and look forward to moving this along.
--
First, Happy Birthday, Nic.
I'm going to ask the tough questions and this will be my one and only post.
Paul - when you say "include as a library", do you mean like phpMail, where that project maintains the software, and Joomla simply distributes it? In the past, the libraries included have been directed at users, not developers. Why does it have to be in core? What percentage of people do you think will use this?
Also, Paul, in your feature request, you mentioned that the inclusion of this software as a library will "encourage more people to get involved with Joomla and drive more innovation, both for extension development as well as the Joomla core." I know this question puts you on the spot, but, how do you see that happening? How can that much needed enthusiasm and involvement be built without including it in core?
In the past, we removed developer support software, like the sample plugins, modules and the package samples, and placed those files into the github repo. If I remember correctly, the rationale was twofold: 1) concern over the size of the distro which is closing in on 40 mb 2) the thinking that developers know where to locate the materials and that end users do not need developer "raw materials" in the distro. So, how is this different?
When we added the JXtended library, we did so with a commitment of working that software into the core extensions. In this manner, it became the new standard for development and core served as the examples devs could use to get started. If there is a strong desire to get it into core, then are people also committed to migrating core to the FOF approach? If not for all, perhaps at least for the new tags component?
It needs to be acknowledged that Nooku is in the top-10 of the Idea requests. http://ideas.joomla.org/forums/84261-joomla-idea-pool/suggestions/1850251-nooku-fm-integration To the best of my knowledge, FOF is not mentioned. What message does that send?
Are there concerns that adding platform advancements in the CMS at the time that the platform is revitalizing, might send mixed messages and create confusion as to overall project confusion? If so, how can that be clarified?
All of these individual efforts are working towards the same goal of revitalizing the project and regenerating the developer community. Is it possible that will only happen when there is a more unified approach?
....
--
FOF 2.0 will only work on Joomla! 2.5 and 3.x. This is a strategic change. I am not at liberty to explain why, but I hope that by March I will be able to share the reasoning with you and you'll understand the untypical secrecy. Thank you for not asking (I won't tell you a thing if you do ask me).
What's the reason for the secrecy? If / when this does get merged into core, I would hope this wouldn't continue.
IF it's that great - then let's rewrite the CMS to use those classes. Developers know where to find resources. And FOF development is open to pull requests, I don't see how it benefits END USERS to include it in the core. Dev's know where to find their resources.
On Wed, Feb 20, 2013 at 10:38 AM, Ronni KC <ron...@gmail.com> wrote:
I think you fail to understand the importance of the collaborate efforts behind us doing this together - and the signal value it has to add FOF into the CMS.
Adding FOF to Joomla (whatever way it happens) makes it alot more interesting to utilize for a lot of people - exactly the same reasoning and argument could you set for Boostrap et al.
FOF offers an instant solution to some of the many short comings there is in the CMS.
Beyond that some of the most popular extensions for Joomla on the planet is already built on FOF and one of the most respected 3rd party developers in our community is behind it.
So in my book its not a hard choice.
Den onsdag den 20. februar 2013 15.40.54 UTC+1 skrev Donald Gilbert:Let me rephrase: If it's not included in the Joomla distribution, you will not use it? Why? You do know how easy it is to package 3rd party libraries with your code, right? Don't limit your resources to only code included with the Joomla download.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
But if you read the thread Brian, the consensus is to NOT rewrite the core onto FOF.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsubscribe@googlegroups.com.
To post to this group, send an email to joomla-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/joomla-dev-general?hl=en-GB.
For more options, visit https://groups.google.com/groups/opt_out.
Andrew:
So future commits to the CMS is on par with requirements for the platform onwards? Is this new policy from the PLT or an opinion? (just clarifing).
@Ronni, I'm not sure why you and Brian keep comparing this to integrating the Twitter Boostrap lib - it's 100% different.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
I 100% dont see the difference but I'm not going to waste my time. You've clearly made your decision and are just creating imaginary barriers that need to be overcome. At which point you will probably create more imaginary barriers.
Hello all,
First of all let me be absolutely blunt and perfectly honest. FOF is licensed under the GPLv3 or later. By agreeing to include it with the Joomla! CMS I get to relicense it under GPLv2 which I don't like (especially because GPLv2 lacks the patent protection offered by GPLv3). I will overlook this issue for the benefit of the community. If it does end up being distributed with the Joomla! CMS I also get to lose a lot of my business' flexibility. So far, if I needed to implement a new feature in my software which required a new feature in FOF I could simply code it in and distribute it with the next version of my software. By agreeing to distribute it with the Joomla! CMS I lose that privilege and I have to wait for about 6 months. So, please, all of you, do understand that including FOF in the Joomla! CMS only has major drawbacks for me personally which I am willing to overlook for the benefit of the community. It's not like I want to force it down your throat.
This was the context of my replies to your queries which follow below.
@Andrew:
> In terms of the code offering, I would treat it no less than a new contribution to the Platform.
Why is that and not the case for each and every other third party library included in the CMS? Please don't tell me "because we know the other third party libraries work". I can counter-argue that we already know that FOF does work within the same level of confidence as with other third party libraries. With a major difference. Joomla! cannot influence the development of, say, PHPmailer and its developers are not so keen to listen to our feedback. Joomla! can influence the development of FOF and I am very keen to listen to the Joomla! developer community's feedback. But that's a load of bull and I won't claim this is a serious argument. I agree that everything you mentioned is desirable.
If that is required I can definitely work on code style (I've already done a lot of work in that area). I will provide better documentation anyway. The plan is to provide a developer's guide for FOF, dealing with both the big picture and each class in particular, initially based on what we have on the wiki already. It's something I'm planning on doing no matter if it's distributed with the CMS or not. I didn't do it yet because my first priority was to develop, document and test new versions of my existing extensions and two new extensions. I did that because that's the only way for me to test FOF given the lack of unit tests. It's Catch-22, isn't it? :)
Now, why no unit tests? I can't do unit testing because I don't have the experience and there are no MVC unit tests in the CMS that I could use as a starting point. I am lost. I admit that I have no idea whatsoever how to do unit testing of the MVC classes. Lacking the experience, I am afraid that my unit tests will be utter crap and useless (no point covering 80% of the code with tests that can't possibly fail because I have no idea what to test against, right?). If someone can come up with the initial unit tests I can study them (I learn quickly!) and add to them. But I can't do it by myself. Please, please, PRETTY PLEASE, if anyone out there CAN write unit tests and is willing to help me, PLEASE contact me. I beg you! I've been saying that since JaB12. I've had a few people say they would contact me, but none did. So, PLEASE, help me in this area. There's a limit to what I can do.
> I'm not against adding it per se, but it seems that we could equally argue to drop in Symfony, Cake, Fuel, or any other external framework along the lines of "you don't have to use it if you don't want to". It's grating on my inner-architect and I don't see any compelling reason why it can't be just treated as an installable library - we set the installer up to handle this kind of case.
The answer lies in the question itself. Symfony, Cake, Fuel or whatever is not extending from Joomla! and follows a completely different mentality regarding application architecture. Trying to use them for a Joomla! extension is like using a large hammer to force a square peg in a round hole. On the contrary, FOF doesn't depart from the Joomla! architecture and mentality. It extends, it doesn't replace. You have to use it to understand this point. I deliberately stuck with Joomla! CMS conventions. Judging from the feedback of the dozen or so developers already using FOF who have contacted me I guess it was a good idea that leads to its easier adoption.
@Don and Ronni:
> We could built everything FOF offers in Joomlas Core - but realisticly (please) we are talking CMS 4 atleast to get close.
This pretty much tells the story. Refactoring complex components requires a dedicated developer and 2-3 months for each one. Given our abundance of core components and shortness of time and developers we can't realistically say that core components can be rewritten to use FOF for FOF to be distributed with the core. We could begin such a process and do progressive refactoring. IIRC, core components were not updated overnight to the Joomla! 1.6/1.7/2.5 architecture. It took two (or was it three?) releases to get there.
> Does it then become the goal of CMS v4 to build itself on FOF?
It doesn't make sense to convert all components. Even though you can, there's no point. I am not in favour of change for change's sake. I don't see the merit of converting com_login to FOF. I do see a huge merit converting com_users and com_content to FOF for third party developers and, by extension, end users of the CMS. Should such a conversion be the goal of CMS 4.0? I can't answer that because I would be seen as trying to force something down everyone's throat.
> Or is it then the goal to integrate FOF code into the core (it would no longer remain FOF, it would become J code)?
Well, given my loss of flexibility even if it's just integrated into the core either way is fine with me. I would love to have the final say on architecture but I'm willing to lose that privilege if that would somehow benefit the Joomla! community.
> Does FOF offer everything that we want the CMS to become for v4? Or is it merely offering an advanced v3?
Neither and both. The major feature it has is that it allows developers –even those starting up with CMS extensions development– to roll out extensions fast. My vision is eventually providing a component builder. Unlike existing component builders it will not churn out epic amounts of ill-documented, impossible to read code. I envision a component builder which generates stark amounts of code using FOFForm and XML to render the component's interface and which can be easily extended by an outsourced developer with basic Joomla! and FOF knowledge. That's my end game, if you want.
> Could we use FOF? Yes we could but without the formal inclusion it would not be an easy choice.
> Would we use FOF if included in Joomla? Yes 100% - and we would add to it too.
I do see your point, Ronni, but I don't "buy it". No matter if it's distributed with the CMS or standalone it's the same library.
> Again, I'm not sure why you wouldn't use the "best tool for the job" - it shouldn't matter if FOF is "blessed" by including it the core, and thus perception is different. Nick has already guaranteed that FOF will be around and supported for a long time, so - again I'm not sure why you would have reservations of using it just because it wasn't included in core.
I agree with Don on that one.
> @Ronni, I'm not sure why you and Brian keep comparing this to integrating the Twitter Boostrap lib - it's 100% different.
Not 100% different, just 50% :) In theory, Bootstrap should be unit tested. Actually, Selenium-tested to make sure that all core components output valid Bootstrap markup. Obviously, lacking actual PHP code, you can't do unit tests on the non-existent PHP code and we don't do JS unit testing anyway.
@Rouven:
> 1. Is Nick submitting his code or are we just including it?
A bit of both. Developers using FOF thought that it would be a good idea to include that in the CMS and kicked off this discussion. Since my code is GPLv3 I have to relicense it, essentially having me submit my code. As I have signed the developer agreement (sorry, I can't remember the exact title of the document) any code I submit is licensed under the proper J! license. Does that make sense?
> 2. What license will the code be? To my knowledge FOF is currently GPL3+. Would that change?
Yes. Even though I am not a fan of GPLv2 I am willing to bite the bullet and relicense it.
Best regards,
Nicholas K. Dionysopoulos
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
Hello Bakual,
I would appreciate it if you had spend 5 minutes to read my first posts on this thread before offering your opinion based on false assumptions.
> I think a main question would also be what happens if Nic updates his FoF.
The Joomla! CMS project will include it in the next release, whenever that is. If I do a minor update it can be included in the next subminor Joomla! version. If I do a major update we will have to cooperate, evaluate the impact (which is guaranteed to range from minimal to non-existent because backwards compatibility is the primary feature of FOF) and decide when to include it.
> If we include it as a regular library in /libraries/fof like it is today, it could be overwritten by any extension who includes another version of it. So this option probably is bullshit as any extension including a different (older or newer) version of it could possibly break other extensions using it. That would be a nightmare.
I will say it again, in bold capital letters to catch your attention: ALL FOF VERSIONS ARE BACKWARDS COMPATIBLE WITH THE SAME MAJOR VERSION AND THE MAJOR VERSION PRECEDING IT. I said it in my first posts on this list. The only "bullshit" I see in your option is that it won't happen. Even if a lazy developer forgets to check for Joomla! 3.1+ and proceeds with the FOF installation code, the currently installed version is checked and an older FOF version cannot be installed. So, old versions cannot be installed and new versions do not cause a problem (see bold letters). Please read https://akeeba.assembla.com/spaces/fof/wiki/3_Installing_FOF_with_your_component Let me reiterate that even if what you mention does happen it doesn't cause any issues because I've gone to great lengths to make sure newer FOF versions are backwards compatible (see bold letters above).
> So FoF would need to be included into /libraries/cms/fof or something. But then it will probably only be updated on the bigger Joomla updates since it's an external library and needs proper testing before an update happens. Kind of like when we update Bootstrap.
See above.
> Now what happens if Nic updates his FoF: I'm sure he doesn't want to wait till the CMS takes over his changes, and he will not be able to rely on new code since he doesn't know what version of Joomla (and thus FoF) is installed. He will include his current release of FoF in his extensions like he did so far, maintaining /libraries/fof like he always did. Other developers will do the exact same. I don't see a gain here.
Wrong assumptions leading to FUD.
1. I will not be able to rely on my new code. See #3.
2. I don't know what version of Joomla (and thus FOF) is installed. OK, I will take that as a joke. Of course I do know because they both let you know of their exact version and date of release. Hints: JVERSION and FOF_INCLUDED constants (not to mention the #__extensions table).
3. I will include the current release of FoF in my extensions. No, I won't (after 2.5 is out of comission). In the meantime I will include FOF with my extensions and install it only on Joomla! 2.5. It's rather trivial. If I have to rely on a feature found in an interim version of FOF not included in Joomla! yet I can, at installation or run time, detect an old version of FOF (because we always know the installed versions) and tell the user to install the new version of FOF using an downloadable, installable package. I can do that without hesitation because of what I wrote in the bold letters above. As a result this will have no ill effect on other extensions using FOF. That's exactly why I put all the extra work to ensure backwards compatibility and have rejected patches which would break it: upgrading FOF (within the same or the next major version) is supposed to not break existing extensions. That's non-negotiable. It's a requirement. Backwards incompatibility is a bug.
That's why we would ideally need unit testing for FOF, so that any change is guaranteed (by unit testing) that it has no adverse effect on existing extensions. Again, if anyone can help with unit testing please do.
> I'd rather see Joomla including some of the improvements FoF makes into the core. That could be done by adding the classes to the CMS or by improving existing ones with the added functionality. As long as it doesn't break backward compatibility I don't see an issue with this. And developers can rely on the classes and functions being available in a specific Joomla version.
Which is pretty much the same as including it in the CMS distribution because you will know which classes and methods are available on each CMS release. Just like we have to do if(version_compare(JVERSION, '3.0', 'ge') { ... } with existing extensions. If you have written extensions compatible with at least two versions of Joomla! with the same codebase you know perfectly well what I mean. Not to mention that unlike Joomla! (which can include backwards incompatible changes between major versions) FOF can't. I could easily break BC in FOF 2.0. Instead, I spent a week working around BC issues, even though I could rewrite my own extensions to the new standards. But doing so would mean that I'd break the extensions Jurian, Davide and other developers have made based on FOF. That's what drove me away from Nooku and I'd be damned if I did the same mistake with FOF!
> And I would like to see a way to register an extension to a library version. So let's say my extension uses FoF 1.3 and my extension ships with it. Then I would like to tell Joomla that my extension uses this version and Joomla should not allow other extensions to overwrite the library with a different version which probably breaks my extension. So Joomla would be allowed to install for example a FoF version 1.4, but not FoF 2.0 (assuming major versions have backward compatibility breaks) and not FoF 1.2 (assuming older versions miss functionality). Currently I would never rely on such a library myself if it's installed in the global /library path. I just don't have control over it.
No, no, no! See the bold letters above. In the worst case scenario you can check which FOF version is installed and ask the user to install a newer version in the same or the next major version. If something works on FOF 1.3 it works on FOF 2.0. The only thing I removed was FOFQueryAbstract because it was a fork of JDatabaseQuery. That was necessary for Joomla! 1.5 extensions, but it makes no sense maintaining it for FOF 2.0 which only runs on Joomla! 2.5 and 3.x. I could have easily included a stub class FOFQueryAbstract extends JDatabaseQuery but it made little sense (and it wasn't really being used by other developers). That's the only BC issue and I did check that it didn't screw other developers before ultimately deciding not to bother maintaining this forked class.
Is this abundantly clear why I am treating backwards compatibility as king? I thought of the issues you mentioned about 18 months before you did and solved them. I don't want MY extensions to need extensive rewrites. I don't want MY extensions to break one another when one of them is updated (and updates FOF) and the other one is not. I don't want MY extensions to break YOUR extensions. So, backwards compatibility is king. It's really as simple as that.
> A main issue is that FoF also looses a main feature if it's included into Joomla: It will no longer be possible to use FoF as an easy way to support multiple Joomla versions in your extensions. In the end you would face the same issue we already have with the Joomla core. You would have to support multiple FoF versions in your extension, or you just raise the minimal Joomla version for your extension.
False assumption, see above. Not to mention it's not a major feature, it's a corollary.
> As I understand it one main improvement of FoF is that you can develop Joomla extensions for Joomla 1.5 up to Joomla 3.0 without using different code and switch statements.
Wrong assumption. You still need to use switch statements. If you don't believe me search Akeeba Backup for JVERSION. 136 matches in the component and 15 matches in the modules and plugins.
> You can even use bootstrap on Joomla 2.5
That's not FOF. That's Akeeba Strapper, a library which uses FOF but is not part of the FOF library itself. I happen to bundle both, but it's not necessary.
> or query builder on Joomla 1.5
This is a removed feature as FOF 2.0 does not run on Joomla! 1.5, at all.
> That will not work onward from today if it gets included in Joomla 3.1, you will not be able to use new FoF or Joomla features on a Joomla 3.1 installation.
Wrong assumption. Akeeba Strapper is an unrelated library which you can use on your components. It's not required on Joomla! 3.x unless you want to use Bootstrap styling on templates which do not provide Bootstrap styles. You wouldn't be able to use the query builder with FOF 2.0 on J! 1.5 because FOF 2.0 doesn't run on 1.5. And since we're talking about J! 3.1, it doesn't need the query builder, it has one of its own. Besides, FOF would be included as-is, with the version switch statements (all 52 of them).
> Since the features just will not be present in the installed library.
Wrong assumption, see above.
> One big thing about FoF is that you ship it with your extension and you know what will be available, and that you can use it on any Joomla installation using the same code.
That was the idea behind putting it in Joomla!. You won't have to ship it any more with your extension.
> 1. Is Nick submitting his code or are we just including it?
A bit of both. Developers using FOF thought that it would be a good idea to include that in the CMS and kicked off this discussion. Since my code is GPLv3 I have to relicense it, essentially having me submit my code. As I have signed the developer agreement (sorry, I can't remember the exact title of the document) any code I submit is licensed under the proper J! license. Does that make sense?
> 2. What license will the code be? To my knowledge FOF is currently GPL3+. Would that change?
Yes. Even though I am not a fan of GPLv2 I am willing to bite the bullet and relicense it.
Can I just ask a quick question?WHat is this FOF and will I have to rewrite my J3.0 extension that I've already invested $50k in development to that it will work for the next release of Joomla?Or, because my extension works with J3.0 already, will it be ok?
From: joomla-de...@googlegroups.com [mailto:joomla-de...@googlegroups.com] On Behalf Of Donald Gilbert
Sent: Thursday, February 21, 2013 12:18 AM
To: joomla-de...@googlegroups.com
Subject: Re: [jgen] Re: New tracker item: add Framework on Framework to Joomla 3.1@Brian - My comment was why is the consensus to NOT rewrite it onto the core if FOF is so great? Why wouldn't we use it?I'm really where Andrew is at with the whole thing. I'm not 100% against it, I just want to be sure all avenues are explored, rocks are unturned, and questions are answered. So in a year, when someone asks questions we have something to point them too so they can see why / what decisions were made, and who made them.
On Wed, Feb 20, 2013 at 11:11 AM, brian teeman <joom...@googlemail.com> wrote:
On Wednesday, 20 February 2013 16:54:40 UTC, Donald Gilbert wrote:But if you read the thread Brian, the consensus is to NOT rewrite the core onto FOF.YEs I read that - I was answering you specific comment which also ignored the previous statements about the core
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
To post to this group, send an email to joomla-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/joomla-dev-general?hl=en-GB.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
Is there any reason why it can't be included, at least for now, as an optional plugin?
Just exploring options :-)
Best,
Matt Thomas
Founder betweenbrain™
Lead Developer Construct Template Development Framework
Phone: 203.632.9322
Twitter: @betweenbrain
Github: https://github.com/betweenbrain
Composed and delivered courtesy of Nexus 7.
Sorry, I meant as an optional plugin that ships with Joomla core.
Best,
Matt Thomas Founder betweenbrain™ Lead Developer Construct Template Development Framework Phone: 203.632.9322 Twitter: @betweenbrain Github: https://github.com/betweenbrain
I fully agree with Matt on this one - what is lost by doing atleast that?
Having just watched Nicholas' JWC FOF presentation, I can honestly say that I haven't been this excited about Joomla in quite a while. I realise that this isn't necessarily quantitative input, but this is the kind of thing that can help invigorate growth and innovation within a project.
If it's not in core, I'll certainly pursue using it. But, it does seem like an good opportunity that the project can benefit from.
Best,
Matt Thomas
Founder betweenbrain™
Lead Developer Construct Template Development Framework
Phone: 203.632.9322
Twitter: @betweenbrain
Github: https://github.com/betweenbrain
Composed and delivered courtesy of Nexus 7.
@Andrew:
> In terms of the code offering, I would treat it no less than a new contribution to the Platform.
Why is that and not the case for each and every other third party library included in the CMS?
Please don't tell me "because we know the other third party libraries work".
I can counter-argue that we already know that FOF does work within the same level of confidence as with other third party libraries.
With a major difference. Joomla! cannot influence the development of, say, PHPmailer and its developers are not so keen to listen to our feedback. Joomla! can influence the development of FOF and I am very keen to listen to the Joomla! developer community's feedback. But that's a load of bull and I won't claim this is a serious argument. I agree that everything you mentioned is desirable.
If that is required I can definitely work on code style (I've already done a lot of work in that area). I will provide better documentation anyway. The plan is to provide a developer's guide for FOF, dealing with both the big picture and each class in particular, initially based on what we have on the wiki already. It's something I'm planning on doing no matter if it's distributed with the CMS or not. I didn't do it yet because my first priority was to develop, document and test new versions of my existing extensions and two new extensions. I did that because that's the only way for me to test FOF given the lack of unit tests. It's Catch-22, isn't it? :)
Now, why no unit tests? I can't do unit testing because I don't have the experience and there are no MVC unit tests in the CMS that I could use as a starting point. I am lost. I admit that I have no idea whatsoever how to do unit testing of the MVC classes.
Lacking the experience, I am afraid that my unit tests will be utter crap and useless (no point covering 80% of the code with tests that can't possibly fail because I have no idea what to test against, right?). If someone can come up with the initial unit tests I can study them (I learn quickly!) and add to them.
But I can't do it by myself. Please, please, PRETTY PLEASE, if anyone out there CAN write unit tests and is willing to help me, PLEASE contact me. I beg you! I've been saying that since JaB12. I've had a few people say they would contact me, but none did. So, PLEASE, help me in this area. There's a limit to what I can do.
The answer lies in the question itself. Symfony, Cake, Fuel or whatever is not extending from Joomla! and follows a completely different mentality regarding application architecture. Trying to use them for a Joomla! extension is like using a large hammer to force a square peg in a round hole. On the contrary, FOF doesn't depart from the Joomla! architecture and mentality. It extends, it doesn't replace. You have to use it to understand this point. I deliberately stuck with Joomla! CMS conventions. Judging from the feedback of the dozen or so developers already using FOF who have contacted me I guess it was a good idea that leads to its easier adoption.
This pretty much tells the story. Refactoring complex components requires a dedicated developer and 2-3 months for each one. Given our abundance of core components and shortness of time and developers we can't realistically say that core components can be rewritten to use FOF for FOF to be distributed with the core. We could begin such a process and do progressive refactoring. IIRC, core components were not updated overnight to the Joomla! 1.6/1.7/2.5 architecture. It took two (or was it three?) releases to get there.
It doesn't make sense to convert all components. Even though you can, there's no point. I am not in favour of change for change's sake.
If you all think it's going to be great, it should go in. I have only one concern -- and that is configuring this in a way that Nic and the Platform team are set into a collaborative role, not in a role of conflict since both have been given the same responsibility and authority.
Now, I am pretty sure no one is picking up on something that I believe is encouraging and it dovetails nicely with this and that is Andrew's post last week https://groups.google.com/d/msg/joomla-dev-platform/yXS9fVE-93M/PbLu-O9293AJ
Hello Don,Don't hold your breath on unit testing. For the last 9 months I have received promises that people would help... and nothing. At the same time Joomla! itself does not have unit tests for the MVC classes. Somehow I am required to do what nobody else has done even for core code to have FOF shipped with Joomla!.
Nic, please read what people are saying (often more than once). The new MVC is fully tested. The old, legacy MVC has some tests (not none) but it's poor coverage at best.
"Today" you are required to provide unit tests and basic documentation for all new work in the Platform. This was not the case over 2 years ago when the legacy MVC's were being worked on in earnest. As for writing tests - I can't say this any other way but you need to invest some time in learning. Don't put it off like I did for far too long. Once you master the art of test driven development, it will pay dividends (wholly cow - the code "just works" in situ).
Let's say it again - the Platform "currently" requires this, the CMS, sadly in my opinion, does not. I would very much like to see the rules applied equally across Platform and CMS. This is a good thing to aim for. I have raised the same point amongst those doing the tags component if it makes you feel any better (I would be wanting to see unit tests on library level files). You'll probably also remember I raised it with the upgrade checking code (that, and its unit tests, are complete).
Your FoF looks more like something that would be added to the Platform (as compared to a CMS extension) so I (alone, singular, me) have suggested the same rules that we apply to the Platform are appropriate here. Everyone here is free to ignore that advice and pass the technical debt on to undisclosed future souls.
This is not a mandate from the PLT. The final decision is not up to me at all.
Your code doesn't suck, but I'm not convinced it's ready to just copy from your Assembla repo into the CMS. A little peer review would be in order don't you think? It's not a trivial amount of code to examine.
--
And here we are again.
New ideas come up, they're ready to use, but burocracy stops them.
--
Help out with some tests or documentation and push the process along. I imagine you cracking open a beer and slumping back in your easy chair after hitting send on that one. Did it feel good?
Sent from my iPhone
And here we are again.
New ideas come up, they're ready to use, but burocracy stops them.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
--
When the wright brothers built the first plane, there were no safety guides to follow for passenger protection, but today there are hundreds and thousands of tests an airplane design must pass before it flys. :) So, should Boeing complain to the FAA that since Wilbur and Orville never had to pass tests that they shouldn't either?!? NO! That would be absurd. New times bring new standards, and that's that.
*sigh* if you overlooked the part where I said I personally unit tested part of the "legacy" MVC, then I see no reason in offering any more opinions on the matter.One last proven statistic, and I'll be gone: Test Driven Development takes 40% more time, but results in 90% fewer bugs. That's something I'd be willing to learn.
On Thu, Feb 21, 2013 at 8:20 AM, Nikolaos K. Dionysopoulos <niko...@gmail.com> wrote:
Since the Joomla! CMS is determined to follow double standards and allow all other code except mine to be included without unit testing and documentation I hereby retract my support for this proposal. I am no longer willing to change the license of my code or contribute to the project in any other way. If Joomla! ever decides to adopt a clear contribution process which applies to everything and everyone I might reconsider. I don't see why I should be wasting my time with a process which has a predetermined result (if you're not "one of them" you can't contribute) and fending off snarky replies with zero substance to my questions.If you want to figure out why contributing to Joomla! is perceived as being so damn hard take a look in the mirror. It's you, people. As a developer I expect to be treated respectfully and receive constructive feedback. I ask for help with unit testing and I'm told that I should learn how to do unit testing and I'll like it. That's not what I asked and I don't appreciate being patronised like that. I asked why other code BEING ADDED THIS WEEK TO JOOMLA! 3.1 is accepted without unit tests and I was given an idiotic simile with Boeing and long-extinct plane makers. What the hell?! That's not what I asked! I asked why the "legacy" MVC isn't tested and I was told that it's kinda tested (it's really not) and that I should unit test my code. That's not what I asked! I asked how to test my code, in the unlikely case someone could give a useful idea, and all I got in return was that I should test that it works. You don't say? Wow! And I thought I have to test if the Controller can make me a cup of coffee... You are either an idiot or you think that I am an idiot. If you're treating contributors who ask for your help and clarifications with contempt you get no contributors. So, screw all of this. I'll go about my business and you get to do whatever you want. I can't be bothered any more and I don't care any more.So long and thanks for all the fish.Nicholas K. Dionysopoulos
On 21 Φεβ 2013, at 16:06 , Davide Tampellini <tamp...@gmail.com> wrote:
No, I'm here, working, since I have to bring food on my table.
I already help with FOF development (as you can see by merge requests on Assembla) and I created stubs and skeletons for FOF unit tests (if you want I can forward a mail dated 2012-11-19 between me and Nicholaos).
I rarely speak, but I never say stupid things (at least I try).
On Thursday, February 21, 2013 2:17:39 PM UTC+1, Donald Gilbert wrote:
Help out with some tests or documentation and push the process along. I imagine you cracking open a beer and slumping back in your easy chair after hitting send on that one. Did it feel good?
Sent from my iPhone
And here we are again.
New ideas come up, they're ready to use, but burocracy stops them.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsubscribe@googlegroups.com.
To post to this group, send an email to joomla-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/joomla-dev-general?hl=en-GB.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
To post to this group, send an email to joomla-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/joomla-dev-general?hl=en-GB.
For more options, visit https://groups.google.com/groups/opt_out.