Menu

Very Bad Feature in Freeplane, How to Disable it ?

Milavon
2015-10-03
2019-01-01
  • Milavon

    Milavon - 2015-10-03

    When I open / load a big map in Freeplane that contain a lot of links:
    I noticed that Freeplane (during loading process) start to check these links automatically one by one to see if they are valid links and sometimes, it even changes some Internet links (by its own) to make them valid. And finally Show a message tells that there are some wrong / unvalid links in the map, before opening the file.

    How can I prevent Freeplane from checking links in the maps when opening it at all ?
    I don't want it to check / decide what is valid and what is not, and how to prevent it from (correcting the wrong ones) ?

    This Checking Process consumes a lot of Memory and CPU and takes a lot of time, specially in the huge maps with thousands of links. Also causing unwanted changes in the links even if they are not right .

    NOTE: I noticed that this function is not included in Freemind, it is only in Freeplane

     

    Last edit: Milavon 2015-10-03
  • Volker Börchers

    Strange. I can't think of any mechanism that causes the behavior you describe. The only link checking happening on startup is the up-to-date check for add-ons and for Freeplane itself. Have a look at the installed add-ons if you have something related (although I know of such an add-on).

     
  • Milavon

    Milavon - 2015-10-03

    Unfortunately, It happens

    I will upload you a map as an example (within 5 minutes),
    First: open the map with Freemind to see the original links,
    and then open it with Freeplane, it will tell you that it contains a bad links
    Then try to save the map in Freeplane, Open it again you will see that some links has changed. .
    (Corrected)

     

    Last edit: Milavon 2015-10-03
  • Milavon

    Milavon - 2015-10-03

    this map contains 3 links

     
  • Dimitry Polivaev

    Freeplane loads links as URI objects when the map is parsed. If a link has wrong format it can not be parsed and an exception is thrown (org.freeplane.features.link.LinkController.loadLink). Sometimes links are adapted e.g. spaces are replaced by %20 characters like browsers do it.

    In your case if parsing of many links cause a significant delay the code could be changed so that links are internally saved as strings and parsed lazily as they are used. In this case it were possible to keep badly formatted links without changing them if a map is saved. I think it is not difficult to implement.

     

    Last edit: Dimitry Polivaev 2015-10-03
  • Milavon

    Milavon - 2015-10-03

    Thanks Dimitry

    I also noticed that some links with valid characters are excluded too (not parsed), such as links that contain "[" or "]", However, they are a valid characters, included in some web pages & read by web browsers without any problem.

    As far as I understand your suggestion to solve this issue:
    I have to edit the source code by modifying the source file: LinkController.java and then rebuilding a new version of Freeplane that loads links as text / string.

    I hope it is not very difficult, I will try.

    Thanks

     

    Last edit: Milavon 2015-10-03
  • Dimitry Polivaev

    I was not going to suggest that you fix it yourself. But if you like to do so it were great and you could share the fix with us, probably you manage to do it faster than we would come to it.

    The idea is to change implementation of org.freeplane.features.link.NodeLinks as follows:

    • member nonLocalHyperlink should become String
    • setHyperLink(final URI hyperlink) should become setHyperLink(final String hyperlink)
    • URI getHyperLink() should be renamed to URI getHyperLinkURI() and create URI from the string
    • It should be called only when URI should be parsed and accessed.
    • A new method String getHyperLink() should be non checking the hyperlink content should be used in all other cases.

    Regards

     
  • Luigi Kang

    Luigi Kang - 2019-01-01

    Is the link loading behavior still the same today?