Hello everyone.It's me again.I spent the last few months building a light weight course component and I plan to start building structured learning paths using the Joomla! documentation and YouTube.However while building the component I went off on a tangent and built out a single task controller systems that I though might be something to look into for Joomla! 4.I've given up on learning git for the moment (I plan to try again once I get back to the states and buy some books), so I uploaded it to Google Drive for the time being
@Amy
Thanks! I'm glad you like it. I'm going to figure out this contributing thing eventually =^DRegarding the component inheritance, one of the major sellers for this method is that components won't have to inherit from the core controllers anymore, however if they want to override the functionality they could just create their own controller for that task, or even inherit from the core task controller and do some thing like.
--
You received this message because you are subscribed to a topic in the Google Groups "Joomla! CMS Development" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/joomla-dev-cms/a5nU71UKrw8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to joomla-dev-cm...@googlegroups.com.
To post to this group, send email to joomla-...@googlegroups.com.
$this->setMessage( JText::_(($lang->hasKey($this->text_prefix . ($recordId == 0 && $app->isSite() ? '_SUBMIT' : '') . '_SAVE_SUCCESS')? $this->text_prefix: 'JLIB_APPLICATION') . ($recordId == 0 && $app->isSite() ? '_SUBMIT' : '') . '_SAVE_SUCCESS'));
but I asked what advantages a multi-task controller system has compared to this system. = but I haven't asked ...
Combinatorial explosions like under JControllerSave are probably best saved by a Strategy pattern.
Thanks for the keen eyes. These controllers actually came from a custom lib that I built for the Babel-U-Extensions family. They used to have names like Babelu_libControllerJoomla{TaskName}.
I actually use Eclipse PDT at the moment. I thought about using PHPStrorm, but since I build commercial extensions, it didn't feel right to use the free licence they offer for Joomla contributors and when I did the trial version, I didn't see anything that justified the extra expense. Of course the diagrams are a big ++, so I'll have to revisit this decision now that I'm a full time extension developer.
As for JControllerSave branch, I though about a strategy pattern and tried a few variations, but the benefits didn't seem worth the added complexity. If it is easy to think about, it is easy to remember, it is easy to use and it is easy to customize. That is really my hope for the future of Joomla!
--
--
Combinatorial explosions like under JControllerSave are probably best saved by a Strategy pattern.
BTW: Controllers can be seen a Strategy of Views.
I'm looking at ways to divide some parts (like query-command-separation) and then combine the dispatchment of tasks to make the whole easier and more compact.
I welcome a lot Matthew's efforts to simplify things, but I also think that the same simplification of default controllers can be implemented independently of being single-task controllers.
--
Honestly the reason you don't see the benefit is because you still haven't grasped the principal concept here. That isn't your fault, I obviously haven't communicate it's significance accurately.
Also the question of creating (almost) empty shells of controller files isn't tied to single-task vs multi-task. It depends on the upstream logic where Joomla will look for a task method.
I have currently full control over what tasks are available for a given view. Namely only those available in my controller. I will not have this control with single task controllers as each task is available for each view.
It depends on the model then, basically moving controller logic into the model how I see it.
Personally, I don't think the problem is with your proposal itself. It's more in the way you communicate your idea. You tend to tell people who critice your proposal that they just don't understand it, or that they fear new things, and similar threats.
You'd better listen carefully to his (Herman) comments and watch your words when discussing.
if not for his experience and knowledge, then at least out of respect of the other (certainly older!) person.
Your trying to set a new fundamental way of how Joomla works, and if you truly want to achieve this, you need to get as much support for it as you can. For that you need to be polite to the potential supporters.
--
--
Any progress reports on those multitask POC's?
Looking forward to seeing your solution Herman.
Since arguing for a solution that works NOW against a TO BE ANNOUNCED IN THE YET UNDETERMINED FUTURE solution that might work isn't a productive use of any of our time.
I've decided to let you all do your thing.
Herman Peereen, I do hope that you keep your word and provide the solution that you promised to create. After all accountability is JUST as important as memorizing GOF pattern definitions.
Happy Joomla!ng
After carful consideration I've decided to withdraw this proposal.Since arguing for a solution that works NOW against a TO BE ANNOUNCED IN THE YET UNDETERMINED FUTURE solution that might work isn't a productive use of any of our time.
--
I hear you. Working in Node now has changed my perspective on this.
For what it's worth, I'd be looking at PHP Traits to decorate
controllers with behaviours (which probably means tending back towards
a multi-task controller - but I still think the work you have done is
not wasted).
Yeah, it's pretty inane. I got the same reaction when we first
released 1.6 - "oh how terrible it is - look at all the duplicate
code". Well duh - the goal was to make all the code consistent and we
didn't realise how much duplication there was until we made all the
code consistent. A rather obvious chicken and egg problem but
whatever.
I think we are at a tipping point. My gut feeling is that new
architectural improvements are really wasted on the 3.x tree. From a
developers-driving-development point of view, the better path is to
start rebuilding the CMS from scratch under the banner of a 4.x dev
tree. I would ignore backward compatibility until the last minute.
Hopefully the code is so impressive, 3PD's will get on board and then
you start a project to provide a j3-to-j4 compatibility layer so dev's
write for j4 but can still market to j3.
Anyway, that's what I'd do but any attempt to sell that idea over the
past few years has failed :)
While I can't representative the entire PLT, as we haven't discussed this specific topic, I would fully support something like this and would imagine other PLT members would as well. That being the case, I've initiated this request and hope to have an answer very soon.
Thanks all, this is exactly the kind of thing Joomla needs!
Best,
Matt Thomas
203.632.9322
http://betweenbrain.com/
Sent from mobile. Please pardon any typos or brevity.
--
You received this message because you are subscribed to the Google Groups "Joomla! CMS Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-cm...@googlegroups.com.
However any mention of decline in the popularity of Joomla is met with denial and delusion. If we could get past that denial and accept that Joomla is losing ground, then we could move on to finding the reason that it is losing ground and address those issues. But instead, everyone seems content to live in their bubble and have faith that more features will save the day.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-cms+unsubscribe@googlegroups.com.
To post to this group, send email to joomla-dev-cms@googlegroups.com.
> To unsubscribe from this group and all its topics, send an email to joomla-dev-cms+unsubscribe@googlegroups.com.
> To post to this group, send an email to joomla-dev-cms@googlegroups.com.
To unsubscribe from this group and all its topics, send an email to joomla-dev-cm...@googlegroups.com.
To post to this group, send email to joomla-...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "Joomla! CMS Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-cm...@googlegroups.com.
--
Regards,
Andrew Eddie
--
You received this message because you are subscribed to a topic in the Google Groups "Joomla! CMS Development" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/joomla-dev-cms/a5nU71UKrw8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to joomla-dev-cm...@googlegroups.com.
To post to this group, send an email to joomla-...@googlegroups.com.
class Babelu_libControllerCategories extends Babelu_libControllerCms
'index.php?option=com_weblinks&task=categories' // used to be 'index.php?option=com_categories&extension=com_weblinks'
JRoute::to(ControllerClass,array('option' => 'com_weblinks','id' =>$item->id));
Regardless of this proposal or not, who ever coded the JLayout layouts, please re-factor so that you are not using the JViewLegacy interface in the layouts!This just limits JLayouts capabilities for no good reason.
--
You received this message because you are subscribed to the Google Groups "Joomla! CMS Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-cm...@googlegroups.com.
<?php/** * @package Joomla.Cms * @subpackage Layout * * @copyright Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */
defined('JPATH_BASE') or die;
$form = $displayData->getForm(); //$displayData is instance of JViewLegacy
$title = $form->getField('title') ? 'title' : ($form->getField('name') ? 'name' : '');
?><div class="form-inline form-inline-header"> <?php echo $title ? $form->renderField($title) : ''; echo $form->renderField('alias'); ?></div>
$displayData->fieldset = $name; //line 75echo JLayoutHelper::render('joomla.edit.fieldset', $displayData);
> The important point to this design was I didn't change anything, that wasn't
> already in my component directory.
Sure, but if we are going to change things, would it be better to go
for the best solution? (just asking)
Soren Beck Jensen
Director
Phone: +34 958 82 82 01
--
You received this message because you are subscribed to the Google Groups "Joomla! CMS Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-cm...@googlegroups.com.
You received this message because you are subscribed to a topic in the Google Groups "Joomla! CMS Development" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/joomla-dev-cms/a5nU71UKrw8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to joomla-dev-cm...@googlegroups.com.