Far from what i expected

Permalink Browser Info Environment
Today i purchased this add-on hoping that i would be able to create any desired link button to system pages on the dashboard toolbar. Unfortunately, that seems to be not as easy as i expected. I was not able to achieve the desired results.

I tried to add a link button pointing to the system page "Express Data Object".

1) Item type "Page" doesn't let me select system pages in the page tree, it seems i can only create links to pages of the sitemap. Actually i wonder why i should ever want to put links buttons to non-system-pages of the page tree on the dashboard toolbar?

2) Item type "Preset" provides 6 most common links to system pages, which is ok, but i want to have a link to "Express Data Object". Would i have to create a preset for that first, in order to be able to select that preset afterwards?

3) Item type "User Defined" asks for a "Controller Handle" where only the default one is selectable and pre-selected, and i have no clue what that means, should i have to create a controller in order to create a link to a system page?

4) Now i tried to put the URL to the desired system page into the field "Place" (backward translation from German translation). The description for that input field says that it's required to start with www. or http:// otherwise all URLs would be treated as internal links. Ok, so i thought, i could put in the relative path to the desired system page. But here again, whatever i tried, i didn't manage to create that link.

For example:
/index.php/dashboard/system/express/entities


resulted in this output:
https://www.my_domain/index.php/dashboard/system/toolbar_designer/items/edit/BASE_URL/test/index.php/dashboard/system/express/entities


The only way it worked, was to put in the complete path, inclusively the domain:

https://www.my_domain/index.php/dashboard/system/express/entities


Well, that's poor. Or maybe i have been missing a special trick how to put in a relative path?

5) Lastly, i was unable to activate a text label for a link button instead of just an icon. What for is there an input field "Label", when no label text can be displayed?

Best,
Michael

Type: Discussion
Status: Resolved
okapi
View Replies:
ramonleenders replied on at Permalink Reply
ramonleenders
Hi there,

Sorry to hear this. I will fix the issues you're having as soon as possible. Of course I will be making that page a preset (for 8.x installs), no problem. Until now no one actually requested/needed it, so haven't thought of it myself either (not using Express that much). So expect that to get added soon.

As for the text label not showing, there is a setting "Enable Toolbar Titles" that you can activate, it's a checkbox. Find it here:

/index.php/dashboard/system/basics/accessibility

Only when that is enabled, text can be shown. I can't do anything about that unfortunately, it's a concrete5 setting/functionality.

Will let you know as soon as I've got the update released (within 2 days).

Kind regards,

Ramon
okapi replied on at Permalink Reply
okapi
Hi Ramon,
thanks for the quick reply!

The problem is, if i enable the concrete5 setting you mentioned, ALL text labels of all buttons will show up, which at least in my case is not wanted because it all takes too much space and is not necessary for default links.

What makes much more sense is a mixture of icons and text, the concrete5 setting set to "don't display labels" in order to have only icons for the default buttons, while custom buttons would show icons or text or maybe both, if desired.

Thank you,
Michael
ramonleenders replied on at Permalink Reply
ramonleenders
Hi Michael,

I've updated Toolbar Designer to version 1.0.0. This update fixes the issue you had with the Location ("Place") field you're having. So you can use internal links in that field now. But since you needed it for the preset, I also added it as a preset (only for concrete5 version 8 and higher, so not available within 5.7 installs). That gives you 2 options to achieve the same, so up to you what you like best.

As for the controller handles, there's a documentation link in the description under this field. You can code in your own things when to show or when not to show a particular item. You could do this based on permissions, user groups etc. etc. That way you can make different toolbars for users (instead of all the same toolbar). Gives you loads of possibilities if you have a complex crm/management of the site.

I do feel the pain of having ALL text labels or NONE text labels. Unfortunately, this is something concrete5 programmed this to be. I have no influence on displaying some WITH and some WITHOUT label. If I could do it, I would. Sadly, I can not overrule this behavior. So you're stuck with this, unless the concrete5 team decides to build in a feature to fix this. Maybe you can post something on GitHub for that?

Hope these updates will change your view on the Add-On.

Kind regards,

Ramon
okapi replied on at Permalink Reply
okapi
Hi Ramon,

thanks a lot for that update and the explanation of the purpose of custom controllers! The presets are also working fine.

Just some notes:

1) If no icon is selected, the default icon "fa-share" is set (why actually this one?). This is also true for presets. Wouldn't it be nice to have the according icons preselected with presets by default?

2) I still don't know how to insert internal paths to system pages:

Let's say, i want to have a link button to "stacks"

which is in my case:
https://www.my_domain/my_installation_dir/index.php/dashboard/blocks/stacks

so i put in:
index.php/dashboard/blocks/stacks

but this results in:
https://www.my_domain/my_installation_dir/my_installation_dir/index.php/dashboard/blocks/stacks

then i try:
dashboard/blocks/stacks

this results in:
https://www.my_domain/my_installation_dir/my_installation_dir/dashboard/blocks/stacks

which means, the installation directory is always doubled. What am i doing wrong, how would i have to put in a path to a system page correctly?

Wouldn't it be possible to add selection of system pages right on the sitemap, with a checkbox "Show system pages" enabled, like in normal page tree view?

3) An issue i have been seeing, when trying to select a page from the page tree in flat view: the progress bar never comes to an end and the spinner turn forever.
To escape, one has to leave the dashboard.

Thanks for your patience,
Michael
ramonleenders replied on at Permalink Reply
ramonleenders
Hi Michael,

1) Presets now have a default icon, showed when there is no icon selected by the user.
2) Internal paths should now be fixed also for installations inside a subdirectory. Indeed, links where incorrect when concrete5 wasn't installed inside the root.
3) The page selector/sitemap selector is somewhat buggy. I do use the concrete5 core class for that, but it's not functioning as it should. So can't really do anything about that, unless cocnrete5 choses to fix that. I have tried to do a "Show system pages", but it wouldn't work. I've messaged the team to try and get this in the Add-On as soon as possible. To be continued!
4) There is an "Always display label" option for each item, which will make it possible to show the label, even when the "Enable Toolbar Titles" is not enabled. So now it's possible to combine text-less with text buttons in the toolbar. It does add some CSS styling, because this is not possible out of the box with concrete5. Nothing to worry about, just saying that what I said before, it's not possible without doing some internal changes/additions of the Add-On. There's a "label-display-always" class on the anchors, if you ever need to do custom styling for that for a specific site.

I think I addressed all your issues now, right?

Kind regards,

Ramon
okapi replied on at Permalink Reply
okapi
Hi Ramon,

wow, that was fast... thank you!

Wish i could correct the harsh headline of my support request ;)

Your support is awsome! And so is Toolbar Designer 1.1.0.

Toolbar designer is now very versatile. I love the option to mix an icon with just a few letters as label, this saves a lot of space for more buttons to be added.

Thanks for your work and for accepting my suggestions!

I just hope you won't eat me now, i think there's a small typo in Preset "Sitemap", because the created link button is giving an error:

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

Thanks again,
Michael
ramonleenders replied on at Permalink Reply
ramonleenders
Hi Michael,

Well, you could add a line to your first post here (at the very top of the post), saying it IS what you expected now haha. That will, hopefully, not scare off others ;-) For sure will help if you can write a little review about the Add-On and how things went from your support ticket up untill now.

Glad it is how you wanted it to be at least. Always open for suggestions, for any of my Add-Ons. Sometimes I can do it, sometimes I can not. Depends on the type of suggestion and in what way I'm able to implement it.

Uhm no, I'm not gonna eat you. I do need some more info though. Where do you get that error and is that the complete error? I don't get any errors selecting that very same preset so not sure where to look. Is it in your console only, or the whole site crashes or...

Kind regards,

Ramon
okapi replied on at Permalink Reply
okapi
Hi Ramon,

the problem is solved now:

There is a table ToolbarDesignerItems which keeps the items data, and it remains in den database even after complete uninstallation of the Toolbar Designer. (Shouldn't it get deleted when Toolbar Designer is uninstalled on the dashboard?)

Maybe today's different versions of Toolbar Designer left over incompatible data, after manually deleting that table and a fresh install of Toolbar Designer, everything was working well again.

Btw, regarding my first post, unfortunately it's not possible to edit anything of it, only subsequent posts are editable.

Kind regards,
Michael
ramonleenders replied on at Permalink Reply
ramonleenders
Hi Michael,

Oh, I did not know it was not possible to edit the first post. Bummer then.

As for removing database tables, I chose not to do that. In case someone uninstalls for some reason and reinstalls afterwards, and I chose to delete the table, everything they entered is gone. This way you don't lose any data. I did add 1 more column to the table, to make a change possible you requested, so maybe you didn't hit the update button but manually extracted the zip file? Normally it should do everything upon update so not sure what was wrong there. But glad you got it without errors now, that's how it should be.

Let me know if you can leave a review here (https://www.concrete5.org/marketplace/addons/toolbar-designer/review... ), would be very much appreciated :)

Kind regards,

Ramon
okapi replied on at Permalink Reply
okapi
Yeah, that makes sense!

concrete5 Environment Information

Concrete5 8.1
PHP 7

Browser User-Agent String

Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101 Firefox/53.0

Hide Post Content

This will replace the post content with the message: "Content has been removed by an Administrator"

Hide Content

Request Refund

You may not request a refund that is not currently owned by you.