simonwiles/palladio-webcomponents

Multi-table configurations in `<palladio-map/>`

Opened this issue · 3 comments

Thank you for your hard work and creating this fantastic web component for the community.

I encountered what I think is a bug. I downloaded several Palladio maps that I created using the Stanford Voltaire data set. When I try loading it using , I get a blank base map. I tested this on my own WordPress website and also on the Palladio Web Component Test on codepen.io. Initially I suspect browser incompatibility and/or a Palladio glitch, but it turns out that works just fine with my save files.

It would be great if you could look into this. I'll be happy to provide further details should you need them. You may reach me on Twitter at @javiercha.

Hi @javiercha -- thanks for giving this a try :) I'm sorry (but perhaps not entirely shocked) you hit problems so quickly.

The legacy Palladio save file format is undocumented, and it's a bit untidy and has a fair few unexpected gotchas in there. It seems likely I missed something that your file has going on somewhere.

There's not much to go on here, though -- the best thing by far would be if you could send me the save file in question and then it ought to be very easy to diagnose and approach the problem.

I did DM you on Twitter about this last week, but since I've not heard from you I wanted to bump the topic here.

Thanks!

Thanks so much for sending the files. They use a feature of Palladio that hasn't been fully implemented yet. It's a high priority item on the roadmap, though, so thanks for filing this issue and for providing some suitable examples to develop against. I have a working implementation already -- I'll update and close this issue when I've polished it up, tested it properly, and released a new version.

With apologies for the extended delay, I've just published a pre-release version with the additional functionality required to support those files. If you're in a position to test it, I will be most grateful. You can use the CDN with the tag:

<script type="module" src="https://cdn.jsdelivr.net/npm/palladio-webcomponents@0.6.0-1/palladio-map-component.js"></script>

or grab the compiled assets from the release here.

If it all looks okay, I'll release it as v0.6.0.

Background and Context (as much in note-to-self mode as anything)

The nature of the Palladio .json save files is such that it's not really possible to resolve foreign-key relations between tables in a thoroughly satisfactory way. The changes in v0.6.0-1 do it in an acceptable way for the map component. The same can (and presumably should), I think, be done for the gallery component before a v0.6.0 release is made, but the problem is ill-defined for the graph component. I think this is because the main Palladio interface is such that it's not possible to create network visualizations where foreign-key relations are relevant, although I await someone out there somewhere with a project that proves me wrong :)

The wider context here is that the data model embodied by the .json save files has a number of fundamental inadequacies and presents a number of obstacles that have to be hacked around for the web components to deliver functionality. On the one hand there is a very strong case for redesigning this data model -- this would yield many advantages, and would be table-stakes for a Palladio v2, imo. On the other, as long as the existing Palladio site is the means for creating projects, this would more-or-less necessitate a conversion step, which could probably be made fairly painless but would involve at minimum maintaining a tool (most likely a web service) to make conversion possible, and then requiring an additional step of end-users, somewhat in tension with the motivating impetus of the web components project. More thought required.