Addons Deprecated by Xenforo Updates

That should be the pattern. Taking the most popular add-ons and integrating them into the core.

Things like the tagging (BD Tag Me) should be core
And things like the sidebar (BD Widget) should also be core

I have found myself integrating with those add-ons just because I need to, at that point, it should really be part of the main package

There are, however, some things that are better done by the developers
  • Any platform enhancements to make the system more robust
  • The algorithm for rebuilding styles gets ugly past certain barrier
  • Still no parsed posts, bbcode is parsed every time
  • Mail is still underfeatured
It is nice to have new features, but it is also nice to enable the enablers, and add things that will further give the community the opportunity to create better addons.

.... they introduced post history, I am going to use that in blogs as soon as it is released
.... they introduced TMS, that is a huge win for developers, I will stop asking for hooks (and jumping through hoops)

P.S. Just leave my sitemap add-on alone
 
That should be the pattern. Taking the most popular add-ons and integrating them into the core.

Things like the tagging (BD Tag Me) should be core
And things like the sidebar (BD Widget) should also be core

I have found myself integrating with those add-ons just because I need to, at that point, it should really be part of the main package

There are, however, some things that are better done by the developers
  • Any platform enhancements to make the system more robust
  • The algorithm for rebuilding styles gets ugly past certain barrier
  • Still no parsed posts, bbcode is parsed every time
  • Mail is still underfeatured
It is nice to have new features, but it is also nice to enable the enablers, and add things that will further give the community the opportunity to create better addons.

.... they introduced post history, I am going to use that in blogs as soon as it is released
.... they introduced TMS, that is a huge win for developers, I will stop asking for hooks (and jumping through hoops)

P.S. Just leave my sitemap add-on alone
I'd be lost without your sitemap add on, but it's one of the things I really do think should be part of the core.
 
That should be the pattern. Taking the most popular add-ons and integrating them into the core.

Things like the tagging (BD Tag Me) should be core
And things like the sidebar (BD Widget) should also be core


Tapatalk are looking at supporting tagging in their core, which to support a forum mod is a big deal I guess. All our forum users across two boards love to be able to tag @user - it is as intuitive and useful as xenforo's alerts system and helps build on that immersive xenforo forum experience.

I hope it makes it into the core here.
 
Not sure this is true. xF 1.2 will still rebuild all caches.

The above add-on is unlikely to be core, because it makes an assumption that the only place new templates/phrases etc. will be added is in the XML file, which simply is not true.
I posted it because the title is "Faster Addon Cache Rebuild" which makes average people think "oh it makes rebuilding stuff faster? cool!" installs. Which is what the stuff mentioned in Assorted Small Things also says it's gonna do.
 
The above add-on is unlikely to be core, because it makes an assumption that the only place new templates/phrases etc. will be added is in the XML file, which simply is not true.
That's not true.

It checks which data are added by the addon (templates,phrases, admintemplates,emailphrases,...) and rebuilds only the caches, which needs the rebuild

If the addon contains only templates, it will rebuild only templates
If the addon contains templates,phrases, it will rebuild templates and phrases
if the addon contains only admintemplates, it will rebuild only admin templates


PHP:
public function getCachesForRebuild($addonId)
{
 
/** @var $phraseModel  XenForo_Model_Phrase */
$phraseModel = $this->getModelFromCache('XenForo_Model_Phrase');
$phrases = $phraseModel->getMasterPhrasesInAddOn($addonId);
if (count($phrases) > 0) {
FasterAddonCacheRebuild_Static::$addonCaches[] = FasterAddonCacheRebuild_Static::CACHE_PHRASE;
}
 
/** @var $adminTemplaetModel  XenForo_Model_AdminTemplate */
$adminTemplaetModel = $this->getModelFromCache('XenForo_Model_AdminTemplate');
$adminTemplates = $adminTemplaetModel->getAdminTemplatesByAddOn($addonId);
if (count($adminTemplates) > 0) {
FasterAddonCacheRebuild_Static::$addonCaches[] = FasterAddonCacheRebuild_Static::CACHE_ADMINTEMPLATE;
}
 
/** @var $publicTemplateModel  XenForo_Model_Template */
$publicTemplateModel = $this->getModelFromCache('XenForo_Model_Template');
$templates = $publicTemplateModel->getMasterTemplatesInAddOn($addonId);
if (count($templates) > 0) {
FasterAddonCacheRebuild_Static::$addonCaches[] = FasterAddonCacheRebuild_Static::CACHE_TEMPLATE;
}
 
/** @var $emailTemplateModel XenForo_Model_EmailTemplate */
$emailTemplateModel = $this->getModelFromCache('XenForo_Model_EmailTemplate');
$emailTemplates = $emailTemplateModel->getMasterEmailTemplatesByAddOn($addonId);
if (count($emailTemplates) > 0){
FasterAddonCacheRebuild_Static::$addonCaches[] = FasterAddonCacheRebuild_Static::CACHE_EMAILTEMPLATE;
}
 
return FasterAddonCacheRebuild_Static::$addonCaches;
}
 
That's not true.

It checks which data are added by the addon (templates,phrases, admintemplates,emailphrases,...) and rebuilds only the caches, which needs the rebuild

If the addon contains only templates, it will rebuild only templates
If the addon contains templates,phrases, it will rebuild templates and phrases
if the addon contains only admintemplates, it will rebuild only admin templates
:oops:

My bad. Sorry.

It still makes an assumption that it is not necessary to rebuild all templates and phrases -- although you are correct, it does do this more thoroughly (albeit slightly less efficiently) than I thought.

I still don't think it is possible to make that assumption. An add-on could include templates/phrases that are not actually assigned to itself. I suppose you could argue that it would be up to the add-on developer to force that template/phrase to be compiled.
 
I suppose you could argue that it would be up to the add-on developer to force that template/phrase to be compiled.
No, it's something for the core, addons shouldn't be responsible for this!

BUT, i don't see any reason why the addon would need to force a compile of templates/phrases and the other elements, if the addon doesn't include & remove any while the installation & deinstallation.


I was scared because of problems, that's why i kept this addon private, but non of the boards where it was installed had any problems, except too fast cache rebuilds;) , i released it:)
 
No, it's something for the core, addons shouldn't be responsible for this!

BUT, i don't see any reason why the addon would need to force a compile of templates/phrases and the other elements, if the addon doesn't include & remove any while the installation & deinstallation.
My point is that this CAN'T be added to the core (at least not the way you have done it) because that assumption cannot be made. For example, I might have an add-on that replaces a template in another add-on (this would have to be done in the PHP installer file, not the XML). Your add-on would not pick that up and would therefore not re-compile it.

Don't get me wrong, I really like your add-on --- I thought about creating something similar, but didn't do so because of the above.

To do this perfectly, there would have to be something that tracks any requests to the phrase/template datawriters and then (re)compiles any phrases/templates that have not been (re)compiled.
 
  • Like
Reactions: Dan
To do this perfectly, there would have to be something that tracks any requests to the phrase/template datawriters and then (re)compiles any phrases/templates that have not been (re)compiled.
Isn't this already done inside the datawriters(if you don't disable the option), but yes i agree, it's dangerous, and wouldn't work IF an addon changes data via an query instead of the datawriters
 
1.2 should not be seen as a bad thing for add-on developers, but add-on developers should be happy they have products that support 1.0 --and 1.1 for those users who decide NOT to upgrade.
 
  • Like
Reactions: Dan
To do this perfectly, there would have to be something that tracks any requests to the phrase/template datawriters and then (re)compiles any phrases/templates that have not been (re)compiled.

Just a thought... wouldn't it be possible to use temporary (memory perhaps, for speed) tables during the full recompilation phase? Once recompilation is done, you could copy/merge the results with the actual tables.
 
Heh, is "deprecated" really the correct term to use here? But maybe I'm looking at it in a different perspective. :p Sadly it seems that some of the addons still carry a little important piece that XF might not have, so not all of these addons can be uninstalled, assuming you don't want to give up that functionality.
 
Top Bottom