XenForo Feedback & Addons Framework

Ajaxboy

Active member
I really didn't want to post this, as I felt scared you guys might think I am crazy lol. But I want to be honest and tell you how I really feel about Xenforo.

The quick answer is, I like it. I like it a lot, the interface is very clean and is a very fast application, it seems that it is going on the right direction and I feel very comfortable with it.

But there is one thing that really makes me think what were you guys thinking?. I have been a developer for 8+ Years and I am very proficient in front-end applications and I can tell you right away when something is done right or not done right, and I think in the over all , you have done a wonderful job on the first beta release, and I am sure it will only get better.

Ok so going back to the topic, what I really dislike about Xenforo is the the addon development framework. It is honestly not really coder friendly, and it requires a lot of front end interaction, and user interface interaction. When I know very well everything your addons do can be done from the back-end solely. And the main reasons I think that, is because it asks for references to classes in the admin front-end, so the motive I am sure is not to make it more "user friendly" and at the same time coding; if that is what you thought, it is obviously not right. When if I user doesn't have any idea how a class works, they would probably be lost on the spot.

So, as suggestions I would say, how about make the front-end switches and inputs that addon usually require, into a HTML renderer class, that can produce elements such as those; spin-boxes, inputs, check boxes, etc. I think this would make it a breeze, and give developers a brake also. I mean, I am not saying is too hard, but I am giving a general prospective of what I think, and giving you feedback for it.

All these, references, callbacks, function/methods overwrite, filters , all that stuff could be done from the back end,without having to go into the administration. All these elements on the admin should be able to be produced/renderer also from the back-end, just about everything if not everything.

Or at-least not replace the current addon system but, should be able to do it, right up from the back end as well. It slows down core coders as how it is now, and these that like to go straight to the point.
I hope my feedback matters and that you don't think I am crazy :D
 
I'm not sure I've completely understood your message. Are you saying that you want to be able to use ACP template syntax, such as <xen:textboxarea ... /> and <xen:form ... /> etc. in the front-end, public-facing templates?
 
I'm not sure I've completely understood your message. Are you saying that you want to be able to use ACP template syntax, such as <xen:textboxarea ... /> and <xen:form ... /> etc. in the front-end, public-facing templates?

No no no... what i am saying is that everything you do on the admin, as is creating buttons and settings for addons that connect directly to addons, such call backs should be able to be done within the code, I am talking about php code, as for example:


lets take this example from signature mod on the example addon:

public function actionSignature()
{

if (!XenForo_Visitor::getInstance()->canEditSignature()) {
return $this->responseNoPermission();
} else {
$visitor = XenForo_Visitor::getInstance();

$options = XenForo_Application::get('options');

if ($visitor['message_count'] < $options->sigmessageCount AND
(!$visitor['is_moderator'] AND !$visitor['is_admin'])) {

$applytogroups = $options->siglimitGroups;

if (empty($applytogroups)) {
$applytogroups = array(2); // default it to Registered group
}

$belongstogroups = $visitor['user_group_id'];

if (!empty($visitor['secondary_group_ids'])) {
$belongstogroups .= ','.$visitor['secondary_group_ids'];
}

$groupcheck = explode(',',$belongstogroups);

unset($belongstogroups);

$sigcheck = true;

foreach ($groupcheck AS $groupId) {
if (in_array($groupId, $applytogroups)) {
$sigcheck = false;
break;
}
}

if (!$sigcheck) {
return $this->responseNoPermission();
}

}
}

return $this->_getWrapper(
'account', 'signature',
$this->responseView(
'XenForo_ViewPublic_Account_Signature',
'account_signature'
)
);

}

Is pretty sweet, but then all the settings you use need to be set in the admin, that is also nice, that is what I am talking about.

But then having to actually create "options" for addons, in the admin, that is just not for developers if you ask me. These kind of options should be able to be created in a specific control within the addons.

In order to show you in a more simplified way, I am going to be a little graphical...


look.webp
nightmare.webp

Although there are tons of ways of approching this, I am just going to give a small example of one way, that could simplify the process ALOT.

This elimites almost the whole "create addon page"

addon_settings.webp

Why go to the admin to do this?

unistall.webp


I am going to get a little creative and, generate an imaginary example of how the the options could be created by an addon, rather than doing it through the admin interface, although there could also be tons of ways to approach this within the code.

View attachment 4826


I hope this clears up the message a bit. But I could also be more specific
 
So in other words, addons should have the less interaction in the admin as possible, but gotta love the code events/events listeners listed on the admin for reference, that is one of the things that should actually be there, along with the addon management page/functionality to install/uninstall/enable/disable addons, most everything else should be in the code. Maybe load the addons and cache their settings, and only load addons that are actually enabled, from the start, so that addons can take advantage of the everything else, also addons should be able to replace templates, so that the admin/user don't have to manually do that. And so on.

I mean addons should be powerful enough to make real impact and additions/improvements to already feature in the software, that is just how I see it. But I know is alot of work, one or two weeks at least to come up with something really cool that starts to take shape. But Just having this kind of feedback I think should help a little get the idea, what developers really want , and that is they want to mess with the code, not with the interface as much. Addons should be focused in "developer friendly" not "user friendly" as much in the development part at least, does this make any sense?.

Custom modifications for the users-end should be very minimal if any at all. Addons should have real power and be straight forward, but it does take time to develop side components such us the html renderer class, and the addon class itself improved to handle real power within the addons, and some times developers are so focused on what they are doing, or other parts of the software that they get carried away and some times feedback is really important. I wish I had as much feedback when I was doing my most recent addon system, and I did get feedback, but I had to beg people to give me feedback LOL. :D

So anyways, if you need feedback on how to go about something in specific I can definitely help, just start conversation and I can provide with in-depth feedback if needed. But Also, I know there are always priorities so , I don't think that is gonna happen :p unless this is in your short term TO-DO list, or in your priorities and also If what I have said makes any sense to you.
 
Top Bottom