Hi Dennis, Thank you for the message. Alot of my frustration deals with the fact that I am working on a widget and there is very little documentation about how it all works. So most of my time was spent researching the existing fieldAnalyzer widget code and the map-widget plugin repo to figure out how things are wired.
Here are some of the things that I feel could use a little more clarity for developers of GrayLog plugins. - I feel the version information should be more straight forward. For example, if you attempt to build a widget using the default guidance, you will pull down the 2.2.0-SNAPSHOT graylog2-server. This will not be compatible if you are attempting to make a widget for a 2.1.X graylog installation. Use the 2.1.3 graylog2-server repo in that case. - What to do if you come across certain errors (vendor manifest not existing, org.graylog-autovalue not being found, userstatistics module version mismatch, graylog2-server version mismatch, common mvn errors, etc.) Regarding Web Plugin Widgets in general, the following information would help ease development for newer developers of GrayLog (or Java and React) plugins. - Basic flow of a widget that conducts a query. - Configuration and storage of the widget configuration, how to access/modify widget configuration? - Coverage of configurationCreateComponent, configurationEditComponent and any other relevant widget properties. - Configuration required for a FieldAnalyzer, setting up a fieldAnalyzer. - What stores are (SearchStore/RefreshStore) and when they are used. - The minimum JAVA configuration that has to be coded to wire a widget (WidgetStrategy) to pull data and update itself. Go over registering the widget in the Plugin. The plugin widget I am working on is a fork of QuickValues widget, with a few additions such as: - Additional "Remove from Search" Button (Will add field with negation to search bar); (WORKING) - Can adjust sort order of the table (d3.descending or d3.ascending). (NOT WORKING - Uses radio buttons in the configuration and I cannot select anything at this point.) - Can adjust table size (Can provide a number higher than 50 if need be) (SHOULD BE WORKING) - Can adjust top values (Currently hard-coded at 5). (SHOULD BE WORKING) The plugin works shows up as a fieldAnalyzer properly in the web dev (scripts/start-web-dev), in a stable environment I get the error I put at start of thread (Uncaught TypeError: Cannot read property 'call' of undefined). Another issue I am having is when I update the search terms in the search bar, the widget doesn't update (other widget, such as quick values widget do update). Something must be off in the fieldanalyzer code I'm guessing, I'm not quite sure the best way to work with the SearchStore to ensure that the refresh is getting enabled for the fieldAnalyzer. Hopefully I'll figure it out today. Hope this feedback is helpful to you guys. I may be able to help with a few doc updates when I'm finally done and have a decent widget plugin understanding. -Bill On Wednesday, February 1, 2017 at 12:57:29 AM UTC-10, Dennis Oelkers wrote: > > Hey Bill, > > could you tell us a bit more about the frustration you had when trying to > build a plugin, so we can either improve the documentation or the build > process? > > Kind regards, > D. > > > On 31.01.2017, at 06:46, Bill Murrin <bill....@gmail.com <javascript:>> > wrote: > > > > Hi everyone, > > > > I'm attempting to build a web plugin that will also act as a Field > Analyzer. > > > > After much frustration and various undocumented errors, I've been able > to build the package successfully! :-) > > > > When I add the plugin, it shows up as a plugin, but does not act > accordingly. > > > > When I look at the Page Code, I see the following: > > > > Uncaught TypeError: Cannot read property 'call' of undefined > > at t (vendor.js:1) > > at Object.<anonymous> > (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:2905) > > at __webpack_require__ > (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:20) > > at Object.<anonymous> > (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:2899) > > at __webpack_require__ > (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:20) > > at _URI (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:139) > > at Object.<anonymous> > (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:147) > > at __webpack_require__ > (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:20) > > at Object.<anonymous> > (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:101) > > at __webpack_require__ > (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:20) > > at Object.<anonymous> > (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:49) > > at __webpack_require__ > (plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:20) > > at plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:40 > > at plugin.<redacted>Plugin.0c250351f8fb2b358bf1.js:43 > > > > I would appreciate any help or suggestions that can be provided. > > > > Thanks in advance. > > > > -Bill > > > > -- > > You received this message because you are subscribed to the Google > Groups "Graylog Users" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to graylog2+u...@googlegroups.com <javascript:>. > > To view this discussion on the web visit > https://groups.google.com/d/msgid/graylog2/635c5eac-620f-4ed1-9cc0-980731a97de8%40googlegroups.com. > > > > For more options, visit https://groups.google.com/d/optout. > > -- > Tel.: +49 (0)40 609 452 077 > Fax.: +49 (0)40 609 452 078 > > TORCH GmbH - A Graylog company > Poolstrasse 21 > 20355 Hamburg > Germany > > Commercial Reg. (Registergericht): Amtsgericht Hamburg, HRB 125175 > Geschäftsführer: Lennart Koopmann (CEO) > > -- You received this message because you are subscribed to the Google Groups "Graylog Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to graylog2+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/graylog2/26b51a02-64e9-4f12-a0e3-5ebc2f3ddcb5%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.