• Hello Fabrik Community

    Fabrik is now in the hands of the development team that brought you Fabrik for Joomla 4. We have recently transitioned the Fabrik site over to a new server and are busy trying to clean it up. We have upgraded the site to Joomla 4 and are running the latest version of Fabrik 4. We have also upgraded the Xenforo forum software to the latest version. Many of the widgets you might have been used to on the forum are no longer operational, many abandoned by the developers. We hope to bring back some of the important ones as we have time.

    Exciting times to be sure.

    The Fabrik 4.0 Official release is now available. In addition, the Fabrik codebase is now available in a public repository. See the notices about these in the announcements section

    We wish to shout out a very big Thank You to all of you who have made donations. They have really helped. But we can always use more...wink..wink..

    Also a big Thank You to those of you who have been assisting others in the forum. This takes a very big burden off of us as we work on bugs, the website and the future of Fabrik.

CSV Export column order from Menu not respected

Bauer

Well-Known Member
I have a few lists that use the menu configuration to determine which columns get displayed in the list.

The 'Show in list' order is no longer respected.
(The headers are constructed correctly - it's the data that ignores the 'show in list' order.)

This was working fine until the recent Github update I just did - so it got broken within the past few weeks or so. (I can't remember exactly when I last used the csv export and actually checked the data to verify)

And as I've pointed out in other threads, that is the only way you could insert a column in a list (in any order) from am element in a simple one-to-one joined table.

If the export is run without the 'show in list' set, the column order is taken from the order set in the elements table and any joined elements are always processed after the main table - i.e. so they were always put in the final columns on the right.

...And I can't even test the import to make sure it is not broken too - until the export is working correctly again.
 
Last edited:
I'll put it on my list of things to do when I have a minute.

-- hugh
This problem has me at a standstill.
...And it's worse than I originally thought.

The action buttons are never even rendered on any Fabrik list that is using the menu-specific "show in list" option. And that is the case regardless the template used (even the Div).

It's not as if I'm asking for something special just for me - or that I (or anyone else) should be expected to have to pay for support before it gets fixed.
This is a major bug in the Fabrik list model that was just recently introduced - and one would think it should be a high priority.
(Unless maybe I am the only one on the planet using the menu-specific "Show in list" feature?:confused:)

To add to my grumpiness...
I have included 2 series of pull requests at Github for 2 very simple and basic changes - which I made only after asking you - and you agreeing they were good ideas and you would include them. One allows for special images to be used for Yes and No in the Yes/No plugin. And the other allows users to specify which elements should be reset to default values after copy, when using the List (row) Copy plugin. Neither is rocket science code and neither should break existing configurations.

That was 9 and 13 days ago. :(
My php plugins' code relies on those changes and it's a pain in the butt to maintain a special fork with my changes (unless it's something I know you would never approve of). It would be nice to just assume that the latest Github zip is all anyone needs to make things right - but I guess that's only in a perfect world.:rolleyes:
 
It's not as if I'm asking for something special just for me - or that I (or anyone else) should be expected to have to pay for support before it gets fixed.

We've had this discussion before. You seem to have a fundamental misunderstanding about open source software, that somehow it comes with a warrantee, and that I should fix every issue you find, to your timetable, for free. Perhaps you can explain to me why you think I should jump your issue to the top of my mile long To Do list, to do for free, ahead of all the issues I'm working on for people who pay for support? Please include in your answer how you think I pay my bills.

As for your PR, I'm deliberately not merging it until I've got a stable 3.7 install up there, because I don't like adding new features I didn't write just before building a release. Once the various issues with 3.7 are rolled up and 3.7.1 is out and stable (I'm shooting for this weekend), and I know I'll have some time to shake out any issues with contributed code before building another installer, I'll merge it.

-- hugh
 
So should I just consider this 'Show in list' option of the Fabrik List menu type configuration yet another abandoned feature of Fabrik and move on?
Or are you going to just put a big asterisk next to it "* This will only work with non-joined tables"?
Funny how it worked just fine up until about a month ago - and now that it's broken, suddenly no one other than me seems to care.:confused:
 
It'll most likely get fixed when a paid subscriber raises it as an issue.

That said, I just went to work on it for you, and got sidetracked into an issue that the new J! 3.7 router creates, with the CSV download link, if you have SEF enabled. Spent an hour diagnosing / fixing that, which ate up the time I had to look at this for you.

I'll have another go next time I have an hour to spare.

Just to confirm what the issue is ...

I have a few lists that use the menu configuration to determine which columns get displayed in the list.

The 'Show in list' order is no longer respected.
(The headers are constructed correctly - it's the data that ignores the 'show in list' order.)

Are you talking about in the list display itself, or in the CSV export?

I just ran an export on a list with "Show in list", the list displays fine (headers and data), but the CSV export doesn't even look at the menu's "show in list", it just exports everything.

-- hugh
 
[...]Just to confirm what the issue is ...

Are you talking about in the list display itself, or in the CSV export?

I just ran an export on a list with "Show in list", the list displays fine (headers and data), but the CSV export doesn't even look at the menu's "show in list", it just exports everything.

-- hugh
Well, that's partially correct.
Because there are 3 place where the Fabrik code can determine what gets shown in the for a csv export. The 1st is in the List configuration ( Publishing - CSV - Elements ). The 2nd is if the 'Front end options' of the list's csv iconfiguration is set to Yes. And the 3rd is the 'Show in list' of the menu item configuration. The menu item setting will override the list setting. ?I think? In my case I never set any 'Elements' in the List configuration itself. Each 'is done in the 'Show inlist' Fabrik List menu option - because there are 7 different menu items each with a different filter set on the list - and different columns that need to be shown and included in the csv export or import

Just an FYI - As I recall, if there is no 'Show in list' elements in the Menu but there is a 'Show in list' set in the List itself, it always behaved just like it is now behaving when Show in list is configured to include a list of elements to only be shown in the list.

The issue I'm having now is, even though specified otherwise in 'Show in list', any joined elements in the 'Show in list' list are ALWAYS displayed in the last columns.

I remember when I discovered this - posting exact details in this forum as to what triggered the difference in the way the columns got displayed - and I have been looking for that thread for days to no avail.

And as I just now recall, if the cvs export was configured to allow the user to select which columns to include, then it worked correctly and put the columns in the order specified in 'Show in list'- otherwise it always put any element(s) from the joined table(s) in the last column(s).

At that time, I also remember suggesting that the code should be changed so that the same code was being run - regardless whether the front-end user selection of elements was shown/allowed/required or not. (Because with 2 different functions being called - depending on that setting - there were 2 different end-results in the way (order) the elements were displayed in the list.)

So hey, guess what?
After writing that 'memory refresh' stuff above, I double-checked my settings. And sure enough, if I set the 'Front end options' to 'Yes' in the list configuration, the columns get ordered correctly (just as explained above).

The thing is, I don't want the user to be able to change those settings (which are correct without the popup selector). I suppose I can get around all that with css or Javascript. (Again, as I just now recall, that's why I pushed to add class names to those option DIVs - so they could more easily be hidden via css.)

So maybe the problem here was that someone changed that 'Front end options' setting or it somehow got reset to default? Things still aren't 100% perfect, like they were - but I made some real progress here today.

I'll let you know if I get it all working correctly again.
Then maybe I'll update the Wiki to explain this quirk - and how to do this. (i.e. How to include elements in the CSV export in the column order specified in 'Show in list' - even if they are from a joined table.
 
Last edited:
We are in need of some funding.
More details.

Thank you.

Members online

Back
Top