Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2011-09-26 21:47:31

Destry
Member
From: Haut-Rhin
Registered: 2004-08-04
Posts: 4,909
Website

CSV export feature for Articles panel table

As any content strategist (or good IA worth beans) will tell you, content audits are an essential starting point for any new relaunch project that wisely puts content first. As it so happens, I’ve been working on a lot of content inventories/audits lately for sites powered by Txp, and it occurs to me that the inventory part of the assessment could be facilitated greatly if one could open the article panel, click an “Export CSV” link and have all articles exported exactly as structured in the panel’s table. ID, Title, Author, Date, URL (this would have to be front-side URLs)…these are often some of the very data types collected in inventories, and to have those columns already filled would be fantastic.

Even better would be if you could dynamically add another column and insert the categories (and a second column for keywords from a plugin table, if used) that were associated to a given article. Capturing the terms in context to articles would provide a huge step closer to the next phase; creating (or augmenting an existing) taxonomy.

Could this be a plugin? It could, and feel free to move this thread to plugin requests if it doesn’t have a chance in hell here.

This would be an attractive feature for content professionals, to be sure, and when the rest of the world catches up with the “content first” mentality, it’s value will be self-evident to enlightened site owners.

Something like this could be useful for the images, links, and files panels too.

Offline

#2 2011-09-27 00:11:33

MattD
Plugin Author
From: Monterey, California
Registered: 2008-03-21
Posts: 1,254
Website

Re: CSV export feature for Articles panel table

There is a jquery plugin that will export html tables to csv. I could throw something together in a day or to that does what you want I think.


My Plugins

Piwik Dashboard, Google Analytics Dashboard, Minibar, Article Image Colorpicker, Admin Datepicker, Admin Google Map, Admin Colorpicker

Offline

#3 2011-09-27 01:48:59

MattD
Plugin Author
From: Monterey, California
Registered: 2008-03-21
Posts: 1,254
Website

Re: CSV export feature for Articles panel table

It’s not as simple as I thought because of all the extra stuff in the table. Check it out and see what I mean.

YToxMTp7czo0OiJuYW1lIjtzOjIyOiJtc2RfYWRtaW5fdGFibGVfZXhwb3J0IjtzOjY6ImF1dGhvciI7czowOiIiO3M6MTA6ImF1dGhvcl91cmkiO3M6MDoiIjtzOjc6InZlcnNpb24iO3M6MzoiMC4xIjtzOjExOiJkZXNjcmlwdGlvbiI7czowOiIiO3M6NDoiaGVscCI7YjowO3M6NDoiY29kZSI7czo0OTk1OiIjIyMjIyMjIyMjIyMjIyMjIyMNCiMNCiMJbXNkX2FkbWluX3RhYmxlX2V4cG9ydCBmb3IgVGV4dHBhdHRlcm4NCiMJdmVyc2lvbiAwLjENCiMJYnkgTWF0dCBEYXZpcw0KIwlodHRwOi8vcGhvdG9ncmFwaGRhZGR5LmNvbQ0KIw0KIyAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KIyAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KIyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcg0KIyAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KIw0KIyAgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyAgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIw0KIyAgICBBIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvLg0KIw0KIw0KIyAgICANCiMjIyMjIyMjIyMjIyMjIyMjIyMNCmlmIChAdHhwaW50ZXJmYWNlID09ICdhZG1pbicpIHsgDQpyZWdpc3Rlcl9jYWxsYmFjaygibXNkX2FkbWluX3RhYmxlX2V4cG9ydCIsImxpc3QiKTsNCnN3aXRjaChncHMoJ21zZF9hZG1pbl90YWJsZV9leHBvcnRfanMnKSkgew0KCWNhc2UgJ3RhYmxlMkNTVi5qcyc6DQoJCW1zZF90YWJsZTJDU1ZfanMoKTsNCgkJYnJlYWs7DQoJZGVmYXVsdDoNCgkJYnJlYWs7DQp9DQp9IA0KDQoNCmZ1bmN0aW9uIG1zZF9hZG1pbl90YWJsZV9leHBvcnQoJGV2ZW50LCAkc3RlcCkgew0KICAgZWNobyA8PDxKUw0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iP21zZF9hZG1pbl90YWJsZV9leHBvcnRfanM9dGFibGUyQ1NWLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCi8qbXNkX2FkbWluX3RhYmxlX2V4cG9ydCovDQpmdW5jdGlvbiBtc2RfZXhwb3J0X2Nzdigpew0KJCgnI2xpc3QnKS50YWJsZTJDU1YoKTsNCg0KfQ0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQokKCdpbnB1dC5zbWFsbGVyYm94JykuYWZ0ZXIoJzxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSJFeHBvcnQiIGlkPSJtc2RfZXhwb3J0IiBvbmNsaWNrPSJtc2RfZXhwb3J0X2NzdigpOyIvPicpOw0KfSk7DQo8L3NjcmlwdD4NCkpTOw0KfQ0KDQpmdW5jdGlvbiBtc2RfdGFibGUyQ1NWX2pzKCkNCnsNCgl3aGlsZShAb2JfZW5kX2NsZWFuKCkpOw0KCWhlYWRlcigiQ29udGVudC1UeXBlOiB0ZXh0L2phdmFzY3JpcHQ7IGNoYXJzZXQ9dXRmLTgiKTsNCgloZWFkZXIoIkV4cGlyZXM6ICIuZGF0ZSgiciIsIHRpbWUoKSszNjAwKSk7DQoJaGVhZGVyKCJDYWNoZS1Db250cm9sOiBwdWJsaWMiKTsNCiRjb2RlID0gJ2FsRjFaWEo1TG1adUxuUmhZbXhsTWtOVFZpQTlJR1oxYm1OMGFXOXVLRzl3ZEdsdmJuTXBJSHNOQ2lBZ0lDQjJZWElnYjNCMGFXOXUNCmN5QTlJR3BSZFdWeWVTNWxlSFJsYm1Rb2V3MEtJQ0FnSUNBZ0lDQnpaWEJoY21GMGIzSTZJQ2NzSnl3TkNpQWdJQ0FnSUNBZ2FHVmgNClpHVnlPaUJiWFN3TkNpQWdJQ0FnSUNBZ1pHVnNhWFpsY25rNklDZHdiM0IxY0NjZ0x5OGdjRzl3ZFhBc0lIWmhiSFZsRFFvZ0lDQWcNCmZTd05DaUFnSUNCdmNIUnBiMjV6S1RzTkNnMEtJQ0FnSUhaaGNpQmpjM1pFWVhSaElEMGdXMTA3RFFvZ0lDQWdkbUZ5SUdobFlXUmwNCmNrRnljaUE5SUZ0ZE93MEtJQ0FnSUhaaGNpQmxiQ0E5SUhSb2FYTTdEUW9OQ2lBZ0lDQXZMMmhsWVdSbGNnMEtJQ0FnSUhaaGNpQnUNCmRXMURiMnh6SUQwZ2IzQjBhVzl1Y3k1b1pXRmtaWEl1YkdWdVozUm9PdzBLSUNBZ0lIWmhjaUIwYlhCU2IzY2dQU0JiWFRzZ0x5OGcNClkyOXVjM1J5ZFdOMElHaGxZV1JsY2lCaGRtRnNhV0pzWlNCaGNuSmhlUTBLRFFvZ0lDQWdhV1lnS0c1MWJVTnZiSE1nUGlBd0tTQjcNCkRRb2dJQ0FnSUNBZ0lHWnZjaUFvZG1GeUlHa2dQU0F3T3lCcElEd2diblZ0UTI5c2N6c2dhU3NyS1NCN0RRb2dJQ0FnSUNBZ0lDQWcNCklDQjBiWEJTYjNkYmRHMXdVbTkzTG14bGJtZDBhRjBnUFNCbWIzSnRZWFJFWVhSaEtHOXdkR2x2Ym5NdWFHVmhaR1Z5VzJsZEtUc04NCkNpQWdJQ0FnSUNBZ2ZRMEtJQ0FnSUgwZ1pXeHpaU0I3RFFvZ0lDQWdJQ0FnSUNRb1pXd3BMbVpwYkhSbGNpZ25PblpwYzJsaWJHVW4NCktTNW1hVzVrS0NkMGFDY3BMbVZoWTJnb1puVnVZM1JwYjI0b0tTQjdEUW9nSUNBZ0lDQWdJQ0FnSUNCcFppQW9KQ2gwYUdsektTNWoNCmMzTW9KMlJwYzNCc1lYa25LU0FoUFNBbmJtOXVaU2NwSUhSdGNGSnZkMXQwYlhCU2IzY3ViR1Z1WjNSb1hTQTlJR1p2Y20xaGRFUmgNCmRHRW9KQ2gwYUdsektTNW9kRzFzS0NrcE93MEtJQ0FnSUNBZ0lDQjlLVHNOQ2lBZ0lDQjlEUW9OQ2lBZ0lDQnliM2N5UTFOV0tIUnQNCmNGSnZkeWs3RFFvTkNpQWdJQ0F2THlCaFkzUjFZV3dnWkdGMFlRMEtJQ0FnSUNRb1pXd3BMbVpwYm1Rb0ozUnlKeWt1WldGamFDaG0NCmRXNWpkR2x2YmlncElIc05DaUFnSUNBZ0lDQWdkbUZ5SUhSdGNGSnZkeUE5SUZ0ZE93MEtJQ0FnSUNBZ0lDQWtLSFJvYVhNcExtWnANCmJIUmxjaWduT25acGMybGliR1VuS1M1bWFXNWtLQ2QwWkNjcExtVmhZMmdvWm5WdVkzUnBiMjRvS1NCN0RRb2dJQ0FnSUNBZ0lDQWcNCklDQnBaaUFvSkNoMGFHbHpLUzVqYzNNb0oyUnBjM0JzWVhrbktTQWhQU0FuYm05dVpTY3BJSFJ0Y0ZKdmQxdDBiWEJTYjNjdWJHVnUNClozUm9YU0E5SUdadmNtMWhkRVJoZEdFb0pDaDBhR2x6S1M1b2RHMXNLQ2twT3cwS0lDQWdJQ0FnSUNCOUtUc05DaUFnSUNBZ0lDQWcNCmNtOTNNa05UVmloMGJYQlNiM2NwT3cwS0lDQWdJSDBwT3cwS0lDQWdJR2xtSUNodmNIUnBiMjV6TG1SbGJHbDJaWEo1SUQwOUlDZHcNCmIzQjFjQ2NwSUhzTkNpQWdJQ0FnSUNBZ2RtRnlJRzE1WkdGMFlTQTlJR056ZGtSaGRHRXVhbTlwYmlnblhHNG5LVHNOQ2lBZ0lDQWcNCklDQWdjbVYwZFhKdUlIQnZjSFZ3S0cxNVpHRjBZU2s3RFFvZ0lDQWdmU0JsYkhObElIc05DaUFnSUNBZ0lDQWdkbUZ5SUcxNVpHRjANCllTQTlJR056ZGtSaGRHRXVhbTlwYmlnblhHNG5LVHNOQ2lBZ0lDQWdJQ0FnY21WMGRYSnVJRzE1WkdGMFlUc05DaUFnSUNCOURRb04NCkNpQWdJQ0JtZFc1amRHbHZiaUJ5YjNjeVExTldLSFJ0Y0ZKdmR5a2dldzBLSUNBZ0lDQWdJQ0IyWVhJZ2RHMXdJRDBnZEcxd1VtOTMNCkxtcHZhVzRvSnljcElDOHZJSFJ2SUhKbGJXOTJaU0JoYm5rZ1lteGhibXNnY205M2N3MEtJQ0FnSUNBZ0lDQXZMeUJoYkdWeWRDaDANCmJYQXBPdzBLSUNBZ0lDQWdJQ0JwWmlBb2RHMXdVbTkzTG14bGJtZDBhQ0ErSURBZ0ppWWdkRzF3SUNFOUlDY25LU0I3RFFvZ0lDQWcNCklDQWdJQ0FnSUNCMllYSWdiWGx6ZEhJZ1BTQjBiWEJTYjNjdWFtOXBiaWh2Y0hScGIyNXpMbk5sY0dGeVlYUnZjaWs3RFFvZ0lDQWcNCklDQWdJQ0FnSUNCamMzWkVZWFJoVzJOemRrUmhkR0V1YkdWdVozUm9YU0E5SUcxNWMzUnlPdzBLSUNBZ0lDQWdJQ0I5RFFvZ0lDQWcNCmZRMEtJQ0FnSUdaMWJtTjBhVzl1SUdadmNtMWhkRVJoZEdFb2FXNXdkWFFwSUhzTkNpQWdJQ0FnSUNBZ0x5OGdjbVZ3YkdGalpTQWkNCklIZHBkR2dnNG9DY0RRb2dJQ0FnSUNBZ0lIWmhjaUJ5WldkbGVIQWdQU0J1WlhjZ1VtVm5SWGh3S0M5YklsMHZaeWs3RFFvZ0lDQWcNCklDQWdJSFpoY2lCdmRYUndkWFFnUFNCcGJuQjFkQzV5WlhCc1lXTmxLSEpsWjJWNGNDd2dJdUtBbkNJcE93MEtJQ0FnSUNBZ0lDQXYNCkwwaFVUVXdOQ2lBZ0lDQWdJQ0FnZG1GeUlISmxaMlY0Y0NBOUlHNWxkeUJTWldkRmVIQW9MMXc4VzE1Y1BGMHJYRDR2WnlrN0RRb2cNCklDQWdJQ0FnSUhaaGNpQnZkWFJ3ZFhRZ1BTQnZkWFJ3ZFhRdWNtVndiR0ZqWlNoeVpXZGxlSEFzSUNJaUtUc05DaUFnSUNBZ0lDQWcNCmFXWWdLRzkxZEhCMWRDQTlQU0FpSWlrZ2NtVjBkWEp1SUNjbk93MEtJQ0FnSUNBZ0lDQnlaWFIxY200Z0p5SW5JQ3NnYjNWMGNIVjANCklDc2dKeUluT3cwS0lDQWdJSDBOQ2lBZ0lDQm1kVzVqZEdsdmJpQndiM0IxY0Noa1lYUmhLU0I3RFFvZ0lDQWdJQ0FnSUhaaGNpQm4NClpXNWxjbUYwYjNJZ1BTQjNhVzVrYjNjdWIzQmxiaWduSnl3Z0oyTnpkaWNzSUNkb1pXbG5hSFE5TkRBd0xIZHBaSFJvUFRZd01DY3ANCk93MEtJQ0FnSUNBZ0lDQm5aVzVsY21GMGIzSXVaRzlqZFcxbGJuUXVkM0pwZEdVb0p6eG9kRzFzUGp4b1pXRmtQangwYVhSc1pUNUQNClUxWThMM1JwZEd4bFBpY3BPdzBLSUNBZ0lDQWdJQ0JuWlc1bGNtRjBiM0l1Wkc5amRXMWxiblF1ZDNKcGRHVW9Kend2YUdWaFpENDgNClltOWtlU0ErSnlrN0RRb2dJQ0FnSUNBZ0lHZGxibVZ5WVhSdmNpNWtiMk4xYldWdWRDNTNjbWwwWlNnblBIUmxlSFJCY21WaElHTnYNCmJITTlOekFnY205M2N6MHhOU0IzY21Gd1BTSnZabVlpSUQ0bktUc05DaUFnSUNBZ0lDQWdaMlZ1WlhKaGRHOXlMbVJ2WTNWdFpXNTANCkxuZHlhWFJsS0dSaGRHRXBPdzBLSUNBZ0lDQWdJQ0JuWlc1bGNtRjBiM0l1Wkc5amRXMWxiblF1ZDNKcGRHVW9Kend2ZEdWNGRFRnkNClpXRStKeWs3RFFvZ0lDQWdJQ0FnSUdkbGJtVnlZWFJ2Y2k1a2IyTjFiV1Z1ZEM1M2NtbDBaU2duUEM5aWIyUjVQand2YUhSdGJENG4NCktUc05DaUFnSUNBZ0lDQWdaMlZ1WlhKaGRHOXlMbVJ2WTNWdFpXNTBMbU5zYjNObEtDazdEUW9nSUNBZ0lDQWdJSEpsZEhWeWJpQjANCmNuVmxPdzBLSUNBZ0lIME5DbjA3JzsNCgkJZWNobyBiYXNlNjRfZGVjb2RlKCRjb2RlKTsNCmV4aXQoKTsNCn0iO3M6NDoidHlwZSI7czoxOiIzIjtzOjU6Im9yZGVyIjtzOjE6IjkiO3M6NToiZmxhZ3MiO3M6MToiMiI7czozOiJtZDUiO3M6MzI6ImMwZGQ5NmQ3YWYzZTIzMGE1ZTU1OTJkMzVlOGU0ZGYzIjt9

My Plugins

Piwik Dashboard, Google Analytics Dashboard, Minibar, Article Image Colorpicker, Admin Datepicker, Admin Google Map, Admin Colorpicker

Offline

#4 2011-09-27 07:02:00

jakob
Admin
From: Germany
Registered: 2005-01-20
Posts: 4,726
Website

Re: CSV export feature for Articles panel table

Two other ideas:

  • you can export the “textpattern” table directly from the DB to CSV with phpmyadmin
  • An even simpler way to get your custom output is to create a section and page template to do that. That gives you ultimate control, e.g.
"ID";"Posted";"Title";"Section";"Category 1";"Category 2"
<txp:article_custom limit="999">
"<txp:article_id />";"<txp:posted format="%d %b %Y %T" />";"<txp:title />";"<txp:section title="1" />";"<txp:category2 title="1" />";"<txp:category1 title="1" />"
</txp:article_custom>

You’ll probably need to shift the opening and closing txp:article_custom to the end of the line before to avoid blank lines in your output. You can then save the resulting output from the browser to a csv file.

You could probably spruce the above up with mg_setheader to set a text/csv content type and adi_gps and a variable to switch between comma-separated, semicolon-seperated and tab-separated output via an url variable. You may also need to make use of the escape attribute to avoid content from tripping out the quotes or comma/semi-colon separations…


TXP Builders – finely-crafted code, design and txp

Online

#5 2011-09-27 10:50:58

uli
Moderator
From: Cologne
Registered: 2006-08-15
Posts: 4,306

Re: CSV export feature for Articles panel table

Julian, I chuckled after understanding what your code does. Reading your answers is sometimes like watching someone kneading play dough to form what he needs next for his life: food, sunglasses, a funnel … :))

Last edited by uli (2011-09-27 10:51:53)


In bad weather I never leave home without wet_plugout, smd_where_used and adi_form_links

Offline

#6 2011-09-29 06:36:28

Destry
Member
From: Haut-Rhin
Registered: 2004-08-04
Posts: 4,909
Website

Re: CSV export feature for Articles panel table

Thanks, guys! In this case I’m using my experience to think how it would be useful for other potential content people (non-tech types) of Txp. So the solution would have to have have little to no overhead if it was to be useful in that respect.

That said, Julian, your second idea is interesting as it concerns me, but I’d hate to have to set that up every time on different websites.

I wonder if rss_db_admin (?) could be modified to provide such an export feature in the UI… (just thinking out loud).

Offline

#7 2011-09-29 09:54:32

jakob
Admin
From: Germany
Registered: 2005-01-20
Posts: 4,726
Website

Re: CSV export feature for Articles panel table

… but I’d hate to have to set that up every time on different websites.

Yes, I suppose so, although it’s not all that difficult to set up a section and paste in a generic page template (if you use cnk_versioning it’s just a matter of copying a file). One thing I find is that two sites are rarely identical so there is likely to be some inevitable table cleaning necessary at some point or other. With the customised output method above you’d do that first, with the export everything way, you’d do that in excel, numbers etc.

Another possibility would be to use rah_external_output for all of the above as it does content types too. Must ask Jukka to provide a way of exporting the rah_external_output snippets for easy importing/exporting (like you can do with smd_macro).

I wonder if rss_db_admin (?) could be modified to provide such an export feature in the UI…

Sounds like a plausible solution too.


TXP Builders – finely-crafted code, design and txp

Online

#8 2011-09-29 21:34:38

MattD
Plugin Author
From: Monterey, California
Registered: 2008-03-21
Posts: 1,254
Website

Re: CSV export feature for Articles panel table

No section or page template needed if you use rah_external_output.


My Plugins

Piwik Dashboard, Google Analytics Dashboard, Minibar, Article Image Colorpicker, Admin Datepicker, Admin Google Map, Admin Colorpicker

Offline

Board footer

Powered by FluxBB