News:

BB code in posts seems to be working again!
I haven't turned on every single tag, so please let me know if there are any that are used/needed but not activated.

Main Menu

ClipTeleporter

Started by Thomas Winkel, August 19, 2024, 10:17:55 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Thomas Winkel

Not really Visio related, but it is a by-product of the Online Shapes Library because it uses the same techniques.

This application transfers the content of your clipboard to a server.
For each clip a token is generated that you can share with others.
With this token they can receive the content and paste it somewhere.
It's end-to-end encrypted, so only who owns the token can see the content (see details in the readme).

Repo & Description:
https://github.com/ThomasWinkel/ClipTeleporter

Installer:
https://github.com/ThomasWinkel/ClipTeleporter/releases/tag/0.1.0.0
(The installer is not code signed, so it may be tricky / alarming to install.)

Token for a Visio shape:
xYCXeIt7w1#WK2YgKL3gl



There are many clipboard sharing tools, but I did not find one that works with complex objects like Visio or Excel (only text and images).
There are some limits where I can only guess the reason.
So it seems like some clips require access to the original application (where the object was copied) on paste.
Some programs (e.g. EPLAN) do not use the Windows clipboard for copy & paste but have their own solutions for that.
Some data types may require specific implementation for serialization / deserialization.
At the moment I only support String, MemoryStream, Bitmap.

Nikolay

#1
This is a great idea.

Unfortunately, the issue is obvious: one needs to install a third-party add-in for this to work.

I was exploring new custom web formats option, if it's applicable:
https://developer.chrome.com/blog/web-custom-formats-for-the-async-clipboard-api

This (theoretically) could allow you to copy/paste from Visio to a website.
Without having anything installed locally.

Maybe Microsoft will add web custom format support (or just re-exports the current VSDX11 format with "web" prefix), that would be cool.
This could be useful for the Microsoft itself: one will be able to copy shapes from a desktop version of Visio into web version, and vice versa.

Thomas Winkel

Agree, it would be better without installing extra software.
Thanks for the link, web-development is new territory for me.
I never tested Microsofts cloud office. I see some benefits, but I like my offline installation.

Here I don't focus on Visio, but on any software that allows copy & paste objects.
Personally, I have no use for it, but I found it an interesting project :P
Anyway, maybe it is useful in Teams meetings, or in online trainings.

New release:
* Import / export file
* Additional store clips local (offline-use, speed-up, reduce traffic)
https://github.com/ThomasWinkel/ClipTeleporter/releases/tag/0.2.0.0

Nikolay

Yes installation is a pain now.
With an unsigned version, the add-in cannot be even downloaded (browser blocks the download):


Thomas Winkel

I hope that the people in this forum trust me enough to bypass these security measures. Otherwise one can build it oneself without any in-depth programming knowledge.
But of course that is not an option for wide publication.
I am thinking about a business registration and a code signing certificate issued on it. But I'm still afraid of the effort and costs, especially since I don't have a business model yet.

Thomas Winkel

Btw. I used the WiX Toolset v5.0.1 for the installer.
Will this also work with your Extended Visio Addin Project?

Nikolay

#6
Nope.
Porting to Wix 5 turned out to be much bigger than I expected.
They have broken EVERYTHING ;D


Thomas Winkel

;D
Yes, it took me some time to get it running.
There is no installer any more and the VS support is provided as third party extension (FireGiant HeatWave).
Extensions like the UIs are additional NuGet packages.
I tried to integrate your VisioWixExtension, but this does not work.
Have you thought about making this available also as a NuGet package?

Nikolay

#8
That's the whole point. They have migrated everything to .NET CORE (what they call "sdk-style projects")
There is now no other way but to have a NUGET packages as far as I understand.
And everything must be recompiled to .NET CORE.

Anyway what the extension does is filling the COM registration and the Component Publication MSI tables. This can be also done manually, it's just a large amount of non-trivial text to type.

I've spent a couple of days looking at the migration just to figure out that porting will take 2 weeks at least (well, probably).
Still needs to be done, so probably when the rainy autumn comes will fix that.

Thomas Winkel

Wow, two weeks for a migration. This is frustrating. :o

Browser ID: smf (possibly_robot)
Templates: 4: index (default), Display (default), GenericControls (default), GenericControls (default).
Sub templates: 6: init, html_above, body_above, main, body_below, html_below.
Language files: 4: index+Modifications.english (default), Post.english (default), Editor.english (default), Drafts.english (default).
Style sheets: 4: index.css, attachments.css, jquery.sceditor.css, responsive.css.
Hooks called: 311 (show)
Files included: 32 - 1207KB. (show)
Memory used: 1166KB.
Tokens: post-login.
Cache hits: 13: 0.00191s for 26,740 bytes (show)
Cache misses: 3: (show)
Queries used: 17.

[Show Queries]