Details

    • New Feature
    • Resolution: Unresolved
    • Minor
    • None
    • Professional Edition
    • Web Interface
    • None

    Description

      Requesting feature to have .CSV/.TSV export ability from things such as groups for devices, ports, etc.

      Currently XML only appears to be supported.

      Attachments

        Activity

          [OBS-2760] Feature Request: CSV export of groups

          Hi Adam,

          I'd like to chime in for 2 points:

          1. I agree with your overall statement that Observium is NOT a reporting tool. Maintenance of reporting pages should not be the focus of Observium.
          2. I totally concurr with falz's observations however: non-technical people try to use Observium and expect ( ! ) the 'export-to-xls' button to be there for them in everyday work.

          We built several scripts to help some users. curl + jq works wonders, but uselessly siphons time down an endless drain.

          Having a 'simple' way of extracting the information on screen into CSV would be nice.

           

          arahal Ahmed Rahal added a comment - Hi Adam, I'd like to chime in for 2 points: I agree with your overall statement that Observium is NOT a reporting tool. Maintenance of reporting pages should not be the focus of Observium. I totally concurr with falz's observations however: non-technical people try to use Observium and expect ( ! ) the 'export-to-xls' button to be there for them in everyday work. We built several scripts to help some users. curl + jq works wonders, but uselessly siphons time down an endless drain. Having a 'simple' way of extracting the information on screen into CSV would be nice.  

          Yes, the only way this would be feasible would be basically a call to the existing code/api that generates the table, to just output the data as a csv instead.

          It's still quite a lot of futzing around though, and probably quite a lot of code for something I'm still not sure anyone will use

          adama Adam Armstrong added a comment - Yes, the only way this would be feasible would be basically a call to the existing code/api that generates the table, to just output the data as a csv instead. It's still quite a lot of futzing around though, and probably quite a lot of code for something I'm still not sure anyone will use
          falz falz added a comment -

          This is for day to day non power users - ie that cant write code, don't have access to sql. For example, a non technical team who says 'hey what devices of XXX model do we have and what are their serial numbers'. This is the most common thing.

          They won't know json, won't know api, and right now copy/paste HTML tables and try really hard to get them to get formatted properly in excel or libreoffice. 

          My thought is generally that if there is already a sql query to build the table, couldnt the same sql query be tied to an 'export' button that instead of displaying a table, just downloads a CSV?

          falz falz added a comment - This is for day to day non power users - ie that cant write code, don't have access to sql. For example, a non technical team who says 'hey what devices of XXX model do we have and what are their serial numbers'. This is the most common thing. They won't know json, won't know api, and right now copy/paste HTML tables and try really hard to get them to get formatted properly in excel or libreoffice.  My thought is generally that if there is already a sql query to build the table, couldnt the same sql query be tied to an 'export' button that instead of displaying a table, just downloads a CSV?

          We are obviously not writing a load of code that scrapes the tables, because that would be an absolute ballache to maintain and would break every time the table format was changed, again an unreasonable amount of maintenance for something that realistically probably no ne is going to use.

          adama Adam Armstrong added a comment - We are obviously not writing a load of code that scrapes the tables, because that would be an absolute ballache to maintain and would break every time the table format was changed, again an unreasonable amount of maintenance for something that realistically probably no ne is going to use.

          The problem here is that what you're asking for is a mountain of javascript that a handful of people will use (and will inevitavbly break every 6 months as the javascript libraries break)

          I'm not even sure I understand the utility of this or why it's necessary when API/SQL exists.

          adama Adam Armstrong added a comment - The problem here is that what you're asking for is a mountain of javascript that a handful of people will use (and will inevitavbly break every 6 months as the javascript libraries break) I'm not even sure I understand the utility of this or why it's necessary when API/SQL exists.
          falz falz added a comment - - edited

          Quick note on this as it was requested again in Discord. While Json is fine (and already available via API) the purpose of csv/xls is to allow one to do a quick and dirty 'thing' via a spreadsheet, which is pretty common.

          The format would be many, but not all, of the things that are just in the devices table of observium.

          falz falz added a comment - - edited Quick note on this as it was requested again in Discord. While Json is fine (and already available via API) the purpose of csv/xls is to allow one to do a quick and dirty 'thing' via a spreadsheet, which is pretty common. The format would be many, but not all, of the things that are just in the devices table of observium.
          falz falz added a comment -

          Generally 'groups of devices/ports' can already be downloaded as JSON using the API.

          I'm envisioning something simple to simply download "a table of things on the screen" by using something basic like a client side table scraper / sorter, such as Datatables (https://datatables.net/) or whatever the current hotness is there.

          This type of client side thing could also be used for pagination as well, but that may put excess stress on the client browser if the list of whatever you're looking at has a billion entries.

          falz falz added a comment - Generally 'groups of devices/ports' can already be downloaded as JSON using the API. I'm envisioning something simple to simply download "a table of things on the screen" by using something basic like a client side table scraper / sorter, such as Datatables ( https://datatables.net/ ) or whatever the current hotness is there. This type of client side thing could also be used for pagination as well, but that may put excess stress on the client browser if the list of whatever you're looking at has a billion entries.

          What would the format look like?

          I'd probably prefer to do it as JSON, since that's easily parsed and useful to most people.

          adama Adam Armstrong added a comment - What would the format look like? I'd probably prefer to do it as JSON, since that's easily parsed and useful to most people.

          People

            adama Adam Armstrong
            falz falz
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: