Ticket #986 (new Enhancement)

Opened 4 years ago

Last modified 4 years ago

When using the webclient typebuilding feature we need to able to declare a types indexmode

Reported by: Malte Owned by:
Priority: Major Milestone: Release 4.8.1
Component: DeepaMehta Standard Distribution Version: 4.8
Keywords: Cc: jri, JuergeN
Complexity: 3 Area: Data Model
Module: deepamehta-webclient

Description

I just wanted to demo dm4-webclient to one of my customers in conjunction with the the dm4-csv plugin because i experienced a perfect scenario for visualizing three complex co-relating spreadsheet columns.

I could prepare the spreadsheet data quite fast and build an accompanying topic type for importing three columns likewise very fast.

Now the problem occured to me just after having prepared the data - i couldn't navigate and display the topics in their complex relations (and therefore demonstrate the benefit of using a network diagram in case of this table was) due to a missing IndexMode?.KEY. The value (topics, aggregation definition) could not be re-used by the dm4-csv plugin instead the plugin created twenty instances of the topic (exemplary value) "Berlin".

The only way around this and successfully demo these benefits of the dm4-webclient would be to setup, write and build (via maven and jdk) a new dm4-plugin which introduces these four topic types but with an index mode - which (at least in this environment and the time-constraints) would not be feasible.

And, for this scenario, declaring IndexMode?.KEY would be totally enough as the dm4-csv plugin makes use of this.

Ok. I just wanted to note this down.

Change History

comment:1 Changed 4 years ago by Malte

I think a valid hack would be to extend the dm4-csv plugin to listen for any topic type creation, watching for an uri, ending on (or containing) "key". The dm4-csv plugin should be able to add the index mode key then automatically, i guess.

Of course, "key indices where they do not belong" or where they are not intended would be a consequence of such a hack.

comment:2 Changed 4 years ago by Malte

  • Type changed from Defect to Enhancement

So, for the dm4-csv plugin i was wrong. The problem was not a missing IndexMode.KEY but the @Transaction annotation of the resource method. Creating single transactions manually for each new topic created (line in csv) now enables us, for the first time, to build up associations between matching (topic) values which come from within the very same .csv file (resp. import request).

Here you can see the commit which makes this possible:
https://github.com/mukil/dm4-csv/commit/b3dc03eeea543acc84ce9b258fc35e67da9c5e3f

The next version (0.0.7) of dm4-csv will ship with this improvement.

Furthermore i will work on a new dialog allowing us to choose between various Delimiter before uploading their CSV file cause, for example when using Microsoft and Excel users cannot easily (i couldn't believe it but its true) specify the character which separates our "|" delimter when exporting their Spreadsheets. In fact, users of Windows 7 must alter their "System Settings" to change some kind of standard delimiter (the one for "Lists") and therefore need to have administrative privileges or have already LibreOffice? installed. At least all these things were either not available or easily possible in the scenario i referred to above.

Anyways, i just wanted to note the progress and changes (how dm4-csv now relies on fine grained, manual Transaction management) here.

I will leave this ticket open as specifying an IndexMode may become an issue for "type builders".

Note: See TracTickets for help on using tickets.