Ticket #968 (closed Defect: fixed)

Opened 8 years ago

Last modified 8 years ago

dm4-webclient does not boot due to an "undefined" value in all topcimap renderer

Reported by: Malte Owned by:
Priority: Major Milestone: Release 4.8.1
Component: DeepaMehta Standard Distribution Version: 4.7
Keywords: Cc: jri
Complexity: 3 Area:


Lately, with 4.7, suddenly (and now twice) i had the following state in my DB (i am not sure if my DB triggers this behaviour) which leads to the point that i cannot use the webclient anymore because it crashes on startup so it wont display topicmaps anymore.

When calling "http://localhost:8182/de.deepamehta.webclient" from Firefox 46.0.1 or Chromium Version 50.0.2661.. i get the following error no matter which topicmap i try to request:

Here is the FFOX stacktrace:

uncaught exception: WebclientError: loading script /de.deepamehta.webclient/script/renderers/simple_renderers/search_result_renderer.js failed (parsererror: TopicmapsError: "undefined" is an unknown topicmap renderer)

and upon interactions with the workspace or topicmap menu, subsequently:

uncaught exception: TopicmapsError: "undefined" is an unknown topicmap renderer

I could not figure out how this happened or what this message means (except that something must have tinkered with one or all of my topicmaps topicmap renderer settings...) but i am not so sure how (without writing explicitly a migration or something like that).

Change History

comment:1 Changed 8 years ago by jri

Possibly a topicmap has lost its dm4.topicmaps.topicmap_renderer_uri setting (resp. it's not readable), so it's undefined.
At the moment I have no clue why this could happen. I never had this problem.

You could investigate and repair your Topicmap topics (retrieve them including childs) through the REST API.
Another possibility would be when you send me your DB.

comment:2 Changed 8 years ago by Malte

  • Status changed from new to closed
  • Resolution set to fixed

It turns out i ran some outdated code from the dm4-littlehelpers module which (at one time) wrongly interfered with Topicmap topics model while overriding the preSendTopic-Hook. In that implementation i did not ADD something to the ChildTopicsModel? to be sent over the wire but wrongly replaced all existing VhildTopicModel? values for putting there just one... mine. So the renderer information was still in the DB but did not get delivered to the dm4-webclient because of a bug i introduced while overriding a hook.

The code now allowing to store a custom property on each Topicmap topic meanwhile moved to the stableviews repo and does not use the preSendTopic-Hook anymore but introduced a completely new resource (wrapping and extending the standard /topicmap/ endpoint).

Source Code:

Thanks for your assistance in clearing this up for me :)

comment:3 Changed 8 years ago by jri

Good you find out :-)

Note: See TracTickets for help on using tickets.