2024-03-04 - Feature Request - General link

I have described my first feature request at

https://iyf3yt54fl.joplinusercontent.com/shares/aY1yhCSK95IFGC0J2EuOlJ

Is this link sufficient information?

2 Likes

Could I suggest that you make the detail of feature requests (or any other type of post) on the forum itself rather than provide a link to an external page?

The benefits of this are:

  • The post is then searchable for other forum users
  • Parts of the feature request can easily be quoted in replies in this or other threads
  • It does not require a forum user to switch between an external page and the thread to follow what is being posted about
  • Any edits to the post are easily identifiable (like the edit icon in this post)
  • The feature request would not disappear if you decided not to use Joplin Cloud any more
3 Likes

As of 2024-03-04, Joplin uses two types of links:
Markdown link
external link

74e02c439e9f0b82799bb828af716445

A Markdown link works as a direct link to a specific note in both an Android app and a Windows app when you put it manually into the search field of a Joplin app.

An external link only works for the Windows app as a direct jump to a specific note. The external link does not work on an Android smartphone with an Android app.

I suggest that a new type of “General link” is also introduced, which works equally well on an Android smartphone and on a Windows PC and which opens the note immediately in the installed app, regardless of whether Windows, Android or Apple.

I consider such a “General link” to be particularly important for collaboration in Joplin teams that use Joplin Cloud and work with shared folders.

You could post such a general link in a WhatsApp group and tell your team that they should please take a look at this note under this general link without having to worry about who has installed which Joplin app on which operating system.

You can see this kind of general link on Bayerischer Rundfunk’s offering

Example of a General link:

If this link is called up on an Android smartphone on which the BR24 - Nachrichten app is installed, the jump destination is called up directly in the BR24 - Nachrichten app.

If the same link is called up on a Windows PC, the jump destination is opened directly in the standard browser.

The BR24 - Nachrichten app is available at

An external link is not for Joplin but for something external to Joplin. I use it a lot for links between Logseq and Joplin. Since Logseq has similar URL link I can also open Logseq pages from Joplin.

In my example, WhatsApp would be the "external to Joplin" transport medium for a general link. If this link were opened on an Android smartphone, the corresponding note would be opened in the Joplin Android app; if the identical link were opened on a Windows PC, the corresponding note would be opened in the Joplin Windows app.

You probably mean https://logseq.com/
Your answer is the first reference to Logseq that I have received.
At first glance, Logseq looks like it could be interesting for me as well....
Thank you for mentioning Logseq.

1 Like

Perhaps it is possible to further develop the Joplin Android app so that it can also be accessed on an Android smartphone via the external link joplin://x-callback-url/openNote?id=...

A third link type would then not be necessary.

This is already being worked on for both Android and iOS. Check this out: Mobile: Resolves #8639: implement callback url by tiberiusteng · Pull Request #9803 · laurent22/joplin · GitHub

1 Like

Thank you muzhak :handshake:t3:
I love good news :smiley:

This looks exciting and also progressing. However there have been multiple discussions on topics I assume to be similar. Will this bring the implementation of x-callback URL on android and iOS? Or will there be an other format? I have been using such a scheme on Android from different apps like Evernote or Sygic and my links looked like:

  • evernote:///view/note book id/note id

  • com.sygic.aura://coordinate!6.0!40.0!show where ! is the pipe sign

Could not find something similar for Joplin though. Will the feature worked and bring such ability to open a note from any other mobile app? Or do I miss something?

Thanks for the great work anyhow.

@muzak @laurent
What does your gut feeling tell you, from which version this function could be available for the first time?

:innocent:

With release android-v3.0.5 and later, the Android app can now handle callback URLs. When you click on an external link in an app that isn't Joplin, the associated note is opened in Joplin.

1 Like

Thank you for this status update, @muzak :handshake:t3:.

If I use an external link like
joplin://x-callback-url/openNote?id=2a8daf4b6632429ebf104c68ee673de7
from the Windows app and forward it to Android via WhatsApp, I can manually copy this external link to a browser ( e.g. Firefox ) on Android and "send" it. This procedure takes me to the correct note in Joplin 3.0.7 (prod, android).

Unfortunately, the operating system does not recognise this external link as a link, so that I cannot click on it directly. This is too complicated for the people I want to work with efficiently via Joplin.

Is there already a coordinated plan for how to achieve this, so that even technically inexperienced users can click on such a link directly in WhatsApp, for example?

2024-07-06 externer Link nicht anklickbar

Apps I tested recognized external links as links. Clicking them opened the associated note in Joplin.

I don't know why WhatsApp or any other app shows the external link as text. This sounds like a question for those specific apps.

If other Joplin Cloud users click links (not text) that don't open the associated note in Joplin, using the share notebook feature could fix that.

I am an end user and customer of Joplin Cloud Team - I am not familiar with such details. Could it be that it's about the following specialty that I just stumbled across in a quick Google search

I may be wrong but I think in order for this to work it needs to be supported by WhatsApp. Without this I don't think it's possible.
Do you know of any similar links (i.e. not http/HTTPS) working there?

If none of you experts can say whether it is possible to teach an Android to pass a link like
joplin://x-callback-url/openNote?id=ebcd30d052bb46bbb87353beeda96089
to the Joplin app, I suggest a solution in combination with a web server / API in your infrastructure.

Let's say you have a small web application installed under a URL like
https://RedirectJoplin.joplincloud.com
which receives the external link as a parameter via a call like
https://RedirectJoplin.joplincloud.com?joplin://x-callback-url/openNote?id=ebcd30d052bb46bbb87353beeda96089
The web server / API takes this parameter, generates a redirect from it and sends it back to the calling device.

In this example,
joplin://x-callback-url/openNote?id=ebcd30d052bb46bbb87353beeda96089
would be passed to the browser installed there, which would use this value to open the Joplin application installed there. In principle, this solution works on both Windows and Android, and should work on other operating systems as well. I have created a small PoC with a static index.html using this link and have just tested it successfully. The PoC link
https://nodecaffcoff-2023.de/2024-07-10-PoC-GeneralLink
takes me to the desired note on both my Windows PC and my Android.

The index.html has the following content

<html>

<head>
<meta http-equiv="refresh" content="0;URL=joplin://x-callback-url/openNote?id=ebcd30d052bb46bbb87353beeda96089">
</head>

<body>
</body>

</html>
1 Like

I use this client side JS at work.

<!DOCTYPE html>
<html>
    <head>
        <title>Redirect Service</title>
        <script>
            var URI = new URLSearchParams(window.location.search).get("target");
            if (URI) {
                window.location.replace(URI);
            }
        </script>
    </head>
    <body>
        <p>This page should not be visible.</p>
        <p>It may be that the "target" parameter is missing, or that JavaScript is not being executed.</p>
    </body>
</html>

P.S it's been 3 years and I still haven't fixed the fact it doesn't properly handle multiple parameters, this is "left as an exercise to the reader". (More like I wrote it in 5 minutes and coding isn't my job, so it works for them and I never bothered since).

We used it because Power BI wouldn't let us call anything other than HTTP/HTTPS links, so instead we throw unsupported links at a page that will open them if Microsoft won't.

5 Likes

This is clever! I suppose you can even host it on something like github for free.

1 Like