XenPorta 2 for XenForo 2 to be released on New Years!

DragonByte Tech

Well-known member
Nice video, what screen recording software do you use that can add censorship bars like that?

I'll type out some feedback on the demo itself as I see it:

1. Why is the ACP navigation not like any other ACP navigation area?
If someone wants to access the articles, they have to remember it's in the "add-ons" pane, click to expand it, click the mod then click articles. If this was using the normal ACP menu groups, it would only be a matter of click to expand then click articles. Less clicks is always better :)

2. If you are able to pull attachments into a drop-down, why not implement attachment management directly from the ACP screen?
The add/edit/delete attachments interface you find elsewhere in XF can be dropped into the ACP without issue, and would be a more user-friendly approach :)
Similar with icons, the icon upload functionality can easily be added to the ACP. Hit me up if you need example code, I've done this already for my next project so I can share the code with you if you need it.

3. I'm not sure if it'll materialise later in the video, but it would be grand if you could add an option to switch between infinite scroll and button click to load the next set of posts. I personally despise infinite scrolling with every fibre of my being (although in its defence, InfScroll is much worse on vBulletin as important links are in the footer), so if it was an admin option as well as a per-user override, that would be awesome.

4. Regarding the custom article layout box; I would recommend making use of <xf:dependent>
Here's a quick example of how it would work:
Code:
<xf:checkboxrow>
    <xf:option name="fieldName" value="{$value}" selected="{$selected}"
        label="Enable custom article layout">
        <xf:dependent>
            <xf:checkbox>
                <xf:option name="fieldName2" selected="{$selected2}">Phrase 2</xf:option>
            </xf:checkbox>
            <xf:checkbox>
                <xf:option name="fieldName3" selected="{$selected3}">Phrase 3</xf:option>
            </xf:checkbox>
            <xf:checkbox>
                <xf:option name="fieldName4" selected="{$selected4}">Phrase 4</xf:option>
            </xf:checkbox>

        </xf:dependent>
    </xf:option>
</xf:checkboxrow>
If you do it this way, it's clear to the user that the options do not apply if the custom article layout box isn't ticked. PHP wise, there's literally no difference between your current way and this way, it's just a minor HTML change that improves usability :)

All of that moaning aside, I really like the look of this system. A site I admin (not own) is looking at upgrading to XF2 in the future, and they make heavy use of the vBulletin 4 CMS. Would you consider creating an importer from the vB4 CMS? I don't know how the importer in XF2 deals with the CMS as-is, but if it imports them to threads, maybe it would be possible to convert threads to articles? :)

If you ever do a follow-up video, I'd like to see more about the permissions and how article posting works in the front-end. That's going to be especially relevant to that team (they have dedicated newswriter user groups that aren't moderators or admins), so having a video almost dedicated to that I could show them would be smashing.

All in all, it looks really good! :D


Fillip
 

Jaxel

Well-known member
1. Why is the ACP navigation not like any other ACP navigation area?
Before you know it, your ACP navigation menu is 12 miles long with all the addons you have installed, with every addon having it's own grouping. I thought this way would be better in keeping the clutter down.

2. If you are able to pull attachments into a drop-down, why not implement attachment management directly from the ACP screen?
Havent really looked into it. Attachment handling in XF1 was such a pain in the ass, that I didn't even consider it in XF2. Would love to see what you've done on it. Remember, attachments aren't linked to $article, but to $article->Thread>FirstPost

3. I'm not sure if it'll materialise later in the video, but it would be grand if you could add an option to switch between infinite scroll and button click to load the next set of posts.
Done! You can also define a number of pages before requiring a click to load.

4. Regarding the custom article layout box; I would recommend making use of <xf:dependent>
I use that in some places... but in the case of the admin CP, I didn't feel the need to make an entire template, for what is essentially just four checkboxes.
 

kuyenmotdivad

Well-known member
@Jaxel, when XenPorta 2 is released for XenForo 2.x, would I need to purchase is again as I purchaed it for XenForo 1.x with branding Removal?
 

DragonByte Tech

Well-known member
Before you know it, your ACP navigation menu is 12 miles long with all the addons you have installed, with every addon having it's own grouping. I thought this way would be better in keeping the clutter down.
To be honest I think it's better to make it more user friendly than worrying about the people who are addicted to installing add-ons :p

Havent really looked into it. Attachment handling in XF1 was such a pain in the ass, that I didn't even consider it in XF2. Would love to see what you've done on it. Remember, attachments aren't linked to $article, but to $article->Thread>FirstPost
Obviously this is going to be 100% untested, unless you want to hook me up with an FTP and AdminCP account on your test site, but in your articleAddEdit method in the controller, something like

PHP:
        /** @var \XF\Repository\Attachment $attachmentRepo */
        $attachmentRepo = $this->repository('XF:Attachment');
        $attachmentData = $attachmentRepo->getEditorData('post', ($article->Thread && $article->Thread->FirstPost) ? $article->Thread->FirstPost : NULL);
Then add'attachmentData' => $attachmentData to the $viewParams array.

The next bit depends on how you create your thread, but assuming the thread relation is available on postSave of an article:
PHP:
        $form->complete(function() use ($article)
        {
            /** @var \XF\Service\Post\Preparer $postPreparer */
            $postPreparer = $this->service('XF:Post\Preparer', $article->Thread->FirstPost);
            $postPreparer ->setAttachmentHash($this->filter('attachment_hash', 'str'));
            $postPreparer->afterInsert();
        });
In the template, this is the HTML you need
HTML:
            <div data-xf-init="attachment-manager">
                <xf:formrow label="Article attachments">

                    <xf:if is="$attachmentData">
                        <xf:macro template="public:helper_attach_upload" name="upload_block" arg-attachmentData="{$attachmentData}" />
                    </xf:if>
                </xf:formrow>
            </div>
And that should be more or less it.

I use that in some places... but in the case of the admin CP, I didn't feel the need to make an entire template, for what is essentially just four checkboxes.
Why would you need a new template? The code I posted goes in place of your 4 existing checkboxes, you'd just put the 3 new checkboxes inside the <xf:dependent>


Fillip
 

DragonByte Tech

Well-known member
Looks great, thanks :D

I like the Load More button, that's gonna be pretty useful. A few more questions / feedback:

1. Can you add an option to the New Thread page to promote to article?
I understand that your existing promote to article feature requires the thread to already be posted (otherwise loading attachments for the drop-down would be way too much bother to be worth the time, etc), so you could redirect to the promote page after thread save instead of trying to add the options in-line.
(Overlay popups can function as separate pages too, so you won't need any extra coding to support it)

2. If you implement #1, can you also make a per-forum setting that specifies whether new threads have the "promote to article" checkbox ticked by default?

3. If you implement #2, would it be possible to get a "New Article" button on the home page that opens a stripped version of XF2's "Post thread..." button from the forum home page, only listing the forums in which the current user has article promotion powers?
You could simply redirect to the standard XF new thread interface just like the "Post thread..." overlay does.

4. If custom break text is specified, should the ellipsis be shown after the break text?

5. Personally I think it would look better if the break text is shown on a separate line, so there would be a clean line break then an empty line, then the break text, but that's my personal opinion :)

6. I don't know if your beta testers noticed it, but the breadcrumb on the "edit author byline" page is broken, it says $author.author_name instead of the actual user name ;)

7. When managing a feature, would it be possible to use the BB Code Media Site feature (specifically, match_urls) to extract media ID from things like YouTube? From experience I know that asking users to pick IDs out of a URL is like asking them to hold a lecture on quantum physics while speaking Klingon.

PS: I see you too are a man of taste, C.G.P. Grey is awesome :D


Fillip
 

Jaxel

Well-known member
maHvaD ghu'vam focus 2 bang electrons. Heroy'DeS vam discussion, maHvaD ghu'vam chaH pong color
'ej hardness. ngoD empirical, 'e' colors neH observable individually "qIj"
'ej "chIS", poStaHvIS hardnesses neH observable individually "" letwI' "baQa'". pa'
pagh latlh observable lo'laHghach 'e' laH ghaH bang, Hoch vIvoqHa' reH vIbejpu' pagh
vIq lo'laHghach latlh. nuq 'e' 'oH DuH 'e' color 'aD box qar qach HIlegh > pagh
laH inferred hardness 'ej bang 'aD nIv vo' DeSDu' position
baS tlhIS box wa' latlh output pagh.
 

DragonByte Tech

Well-known member
maHvaD ghu'vam focus 2 bang electrons. Heroy'DeS vam discussion, maHvaD ghu'vam chaH pong color
'ej hardness. ngoD empirical, 'e' colors neH observable individually "qIj"
'ej "chIS", poStaHvIS hardnesses neH observable individually "" letwI' "baQa'". pa'
pagh latlh observable lo'laHghach 'e' laH ghaH bang, Hoch vIvoqHa' reH vIbejpu' pagh
vIq lo'laHghach latlh. nuq 'e' 'oH DuH 'e' color 'aD box qar qach HIlegh > pagh
laH inferred hardness 'ej bang 'aD nIv vo' DeSDu' position
baS tlhIS box wa' latlh output pagh.
m8
 

DragonByte Tech

Well-known member
@DragonByte Tech

There is now an option on the "post thread" page:
View attachment 165048

In your admin CP, there is is an addon option to select specific forums. Any forums selected, will have this box checked automatically.

This solves #1 and #2 of your request.
Perfect, thank you :)

Anything to reduce the friction of posting articles is a good thing IMO, once this is released I'll show it to the admin team of the forum I mentioned (along with the video).


Fillip
 
Top