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
PIM beta catalogue display discussion #3473
Comments
This about the built-in, system plugins. For some reason the core fails to identify them as such when using the Beta catalog. I'll take a look into this later. For now, the obvious work-around is to not try to do anything besides activating/deactivating these four plugins WMM, ChartDowloader, GRIB and Dashboard. In particular, they should not be updated. |
The obvious question: which version of OpenCPN is being used when these errors occur? |
after my answer at point 7 is the version of O & o.s. |
absolutely agreed with your answer |
While I can reproduce this on 5.8.4 the problem is seemingly not present on a build from current master at d6c4868. This is not a big surprise, there has been some work in these areas since 5.8.4. There is a copy of my build at https://dl.cloudsmith.io/public/alec-leamas/opencpn/raw/files/opencpn_5.9.0-0+d6c4868ff_setup.exe if anyone more could test. This would be very much appreciated. |
Hi Leamas, thanks, of course, as you could understand I'm testing at home, not in in my boat, just for safety reasons and not making a parallel installation. the PIM issue in beta catalogue doesn't happens. I'll test further if happens also with beta versions higher than master version and what is shown in master catalogue versioning, for such situation I'll need some beta plugin with higher version than master and check availability in master catalogue, to see how it would be displayed? |
It will be displayed the same way. The four system plugins this is all about are not really managed as other plugins, they are part of the opencpn build and are more or less as-is until next OpenCPN release. In particular, they are not really part of the catalog and they cannot be updated. |
BTW: thanks for testing! I tend to think that this issue should be closed since we for better or worse close issues which are fixed in master. I really miss the opportunity to close with a specifed resolution like "FIXED-NEXTRELEASE" or so. OTOH, the culture here is that @rgleason as the original reporter makes this decision. |
e.g. just for example:
when switch to beta catalogue of course won't be any update to plugin because installed latest beta version. |
Will close with "FIXED-NEXTRELEASE" when testin/discussion is done. Thanks to you both! |
This has been discussed in #3438. It's basically a question about updating the plugins so the core can get the version from the plugin interface rther than the catalog. Which means that this is not really about core OpenCPN which is the target for any issue filed here. |
Okay, so the problems should be pretty much fixed for the TP plugins, as they are all API117 now (or 118) |
@rgleason : Yes, as long as you have added the functions described in point 6 in the shipdriver API 18 README |
Have intended to add version_patch and version_tweak to all tp pi in the last major push along with api 117 changes. Next version of o it might be better. But I ask, is O working between pi catalogs the way we want it to? I have just used the catalogs and not thought about it much. |
The important thing is that you add the methods, like
These must be defined, otherwise the plugin most likely won't load or run into runtime errors. The could return anything, but they must exist. |
Gernerally, for TP plugins, we have: in [plugin]_pi.cpp
in [plugin]_pi.h
I could have missed one plugin. |
If compare to the list above you'll notice that there are missing functions in both plugins. You must add them, even if they just return "". |
Nice, so you'd have me rebuild all the plugins and deploy and then push to plugins because
There is no way, I don't have enough credits. Too bad I was not informed about this when I did it. |
I have pointed you to the shipdriver update page multiple times, all this is there. You obviously cannot return While you are on it: All the definitions in [plugin]_pi.h are duplicates of ocpn_plugin.h. They should be removed, it's at best confusing. ocpn_plugin.h is the only source of truth for these. |
Okay, using https://github.com/rgleason/AISradar_pi Re ... okay so what does it return? Also I can't know all this stuff about plugin_pi "[cruft]" seems to be a new word thrown about... How would I know or keep track of various changes made in shipdriver? I get all the Issue messages, I didn't see anything about this major feature that you and the rest of us would very much like to have work. Verfy glad we are having this come to light now. When you just try to push the issue away down to plugins, because it is not related to OpenCPN, and the issue is the interrelatedness of plugins with opencpn and the versioning that is shown in OpenCPN, that does not really help get to the nub. |
I'll try make a PR. MY assumptions:
Correct me if I'm wrong in any of these |
This is challenging, most of the plugin methods are wrong. Will take while. |
Alec, I am sorry about this. I won't be able to get to it until end of December (see my email). I defer to @bdbcat re your questions. You can take some time to do the PR. Thank you! |
This has morphed to something else. It should be closed since the original issue is solved. We could continue anyway. |
Alec...
Hints? How used? |
They are more straight forward parts from the https://semver.org specification, the pre-release and build metadata paragraphs. In shipdriver, the GetPlugInVersionPre is usually empty, but in particular radar_pi uses a workflow where versions get a part like "beta1" or beta2" which then is reflected here. For GetPlugInVersionBuild() shipdriver generates a build identification like 123.deadbee where the first digits is the build number and the rest a git commit. I have made a quick look into this for aisradar, but TP don't have these available in the build, they are defined when uploaded. The minmum is to just return an empty string |
There is a PR against AISRadar_pi which fixes the minimum |
Actually, I think we do not need to implement this at all, if we do not want to right now.
No TP plugin has trouble loading now due to missing these functions. So the core default implementations appear to be being used. So, what will be functionally broken in OCPN PIM management if these functions return ""? |
nothing, my bad. I did everything right when I wrote it, now it's all forgotten (: |
Thanks Alec, very much appreciated!. Also Dave. |
Can I close now? |
No i cant OP has to close |
Or I. Closing. @Corsair-63 Sorry for hijacking your issue for unrelated discussions! |
never mind, thanks a lot |
Describe the bug
PIM beta catalog display is inconsistent. This needs to be improved and may need some discussion about how to handle it.
https://www.cruisersforum.com/forums/f134/pim-beta-catalogue-display-280643.html#post3833686
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Screenshots
https://www.cruisersforum.com/forums/f134/pim-beta-catalogue-display-280643.html#post3833686
Desktop (please complete the following information if applicable):
All OS
Perhaps this should be converted to a discussion.
The text was updated successfully, but these errors were encountered: