-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
plugin is outdated #27
Comments
Issue reports and pull requests welcome. (I am the author of b.s.o.) |
I'm just user who tried to use b.s.o and got weird errors. I pinpointed problem to transaction type maping and then find out that someone has already fixed those problems. Original b.s.o repo was been so long time untouced (abt 2½ year) and fix for this bug has been made over one year ago, so I thought original b.s.o was already dead. |
Since there is no issue raised at b.s.o yet, I'll note this here: But maybe the additional types should be made optional (e.g. config file) instead of fully removing them. Also the fork code is untested on OP corporate CSVs, since I did not have access to these for testing. |
Thanks for explaining, @vukk. AFAIK, ofxstatement is not a tool for ONLY GnuCash, and multiple transaction types (there are almost twenty) are part of the OFX standard. The types are very useful and outright absolutely needed for some other use cases. Therefore, removing functionality is NOT an option in my opinion and this issue here reported by @terokorp should be closed as invalid. However, I do agree that some sort of "compatibility mode" would be a good idea and it's good that this issue of compatibility was brought up. Perhaps the matter does merit its own (new) issue then. BUT - the implementation would have to be supported by all the plugins and driven by the author of ofxstatement... @kedder, what's your thoughts on this? |
I went and added #28 for this. Please let's continue the discussion there? (and close this issue) |
Hm, guys, do you think it would be reasonable to make the output configurable on Would it make both kinds of users happy (ones that use it for GnuCash, and ones that need more precise ofx markup)? |
Configuring the plugin using a settings attribute defined in the base class seems fine to me, if that's what you mean. But please see my suggestion at #28 ... Being able to set a value to settings does not mean the plugin actually implements anything. It should be possible for an user to (programmatically) find out if a functionality (configured using the settings) is supported by the plugin. So please, let's also add something to the base class that plugins can use to advertise the features they support. As far as I am concerned, this could be as simple as having the base class implement a boolean attribute for each feature originally set to False, which each plugin could then override if it implements the feature. The base class in ofxstament:
And the custom plugin:
The above mechanism means that all features have to be managed via ofxstatement. Some would say it's a drawback. But I don't think it is a drawback but rather a good way of making sure everyone uses the same values for the features - which is a MUST. If we instead define a capabilities API similar as to how settings are managed in the base class in ofxstament, we allow plugin authors to choose the capability names and values as they wish:
Now, what if one author decides to say GnuCash OFX support is defined as Users will then not have a single way to determine if GnuCash OFX is supported by the plugins. So whatever mechanism is used, please, @kedder, DO act as a benevolent dictator here, to define the capabilities :) (BTW using a boolean attribute per feature also documents the features nicely) |
(I'm not sure whether #28 is better place for this, but since discussion happens here, responding here as well) @petri, I see some practical problems with this approach (ofxstatement core manages a list of all possible plugin "capabilities").
This is why I would like to leave such features and variances in behaviour to plugins themselves, via their private configuration options. We can invest some effort into making supported configuration options more discoverable by users, but I'd like to have it in informal way (e.g. as docstring), rather than formal (e.g. configuration schemas, interfaces, etc), because complexity of formal approach seems too high for the purpose. |
I already suggested (see above) to continue this on #28 ... but: My suggestion was meant to document the capabilities of plugins for the benefit of users of ofxstatement. To rephrase, I did not mean to treat this as a matter of enforcing strict interface compliance - instead, more like a matter of documentation, really. And perhaps I chose my words badly above when I spoke of "defining capabilities": I would merely hope that ofxstatement / @kedder could perhaps step in to do some arbitration if plugin authors implementing capabilities are doing it in a manner that is causing problems for users of plugins. Which should be a rare occasion. But I am happy even without that - if we could just have some documented, recommended way of documenting the capabilities for the purposes of easily discovering and checking for them? For that, a boolean flag in a capabilities dict is sufficient to me. |
Hi I'm not sure if the existing plugins are really the right place for these features. As I understand them, they are more about converting an arbitrary input to OFX. Some of them are doing filtering. For example, I contributed stuff to merge some lines on some credit card statements. This was probably not the right place to do this but the only place I could added this back then. Maybe a better place would be an additional OFX filter phase, where filter plugins can be registered to work on the OFX data and rewrite them before the output. This would make these features orthogonal to the input parsing and it would be possible to add an 'gnucash' filter which rewrites all the stuff that gnucash don't like. |
Please, @kedder can you close this so we can continue on #28? I changed its title to better reflect the issue at hand, and summarized what's been discussed here. Whereas the title of this issue does not describe the discussion that we got into. Furthermore, this issue is also invalid (there is no bug in the plugin). |
Ok |
Plugin banking.statements.osuuspankki is outdated and dosen't work, but it has one fork which works fine. https://github.com/vukk/banking.statements.osuuspankki
Would it be better to put to plugins list instead of that broken one?
The text was updated successfully, but these errors were encountered: