Copy link to clipboard
Copied
I have two plug-ins A and B.
In plug-in A, it just invoke the interfaces defined in plug-in B. There is no class/implement changes the document data, in other words, it matches the condition descripted in the programming guide "If your plug-in does not store data in documents, you do not need to take any special precautions." .
I saved some documents using plug-ins A and B.
And now, i remove the plug-in A in InDesign. There will be "Missing Plug-ins" warning dialog when opening the documents saved before. It requires plug-ins A. What happened?
I tried to add bellowing code in my B.fr, it doesn't help.
resource DirectiveList(1) {
{
{
IgnorePlugin
{
{
kMyAFirstMajorFormatNumber,
kMyAFirstMinorFormatNumber
},
kMyAPluginID
}
},
}
};
Did i miss anything?
I tried to set the plug-in A to be ignored in code, but the "Missing plug-ins" dialog appears before the responding kDuringOpenDocSignalResponderService, and in kBeforeOpenDocSignalResponderService, i can no nothing because IDocument* is nil at the monment.
It can be resolved by selecting the checkbox "Don't show again for these plug-ins" on the Missing plug-in dialog at the first time.Is there any i can do that in code?
Any suggestion to ignore the plug-in A in code?
---------------------------------------
PS: the IDML cannot help because there is some customize data in my plug-in B which will be lost if using IDML.
Thanks a lot,
AidySun
I have never used IgnorePlugin, but this has to be added to the plugin to be ignored. Hence in your case, you need to add it to the plugin A and not plugin B's fr file. The same applies to the ignoretags resource. I would recommend the following
Copy link to clipboard
Copied
Hello,
I think you need to look at resource IgnoreTags ,kImplementationIDSpace and kClassIDSpace.
P.
Copy link to clipboard
Copied
Thanks for your reply.
In the plug-in A, there are only some UI related things.
Classes:
kMyDialogBoss
kMyActionComponentBoss
Implements:
kMyActionComponentImpl
kMyDialogControllerImpl
kMyDialogObserverImpl
No other classes and implements, all of these don't have any ReadWrite().
Of couse i tried to add them in IgnoreTags, but it didn't help.
Copy link to clipboard
Copied
PS: the IDML cannot help because there is some customize data in my plug-in B which will be lost if using IDML.
@AidySun – I'm not a plug-in developer, but writing scripts in JavaScript, so I want to ask if you could implement something in plug-in B that would write the customized data of plug-in B to a string and inject it with the JavaScript method insertLabel("KeyString","ValueString") in the document.
This label information will be stored into IDML and is still present, if you open the IDML in InDesign. Then you could extract the string with the method extractLabel("KeyString") and maybe write it back to plug-in B.
Uwe
Copy link to clipboard
Copied
Thanks Laubender.
What you say can be a practical solution for many cases, but not suitable for my case. Because the data saved in my plug-in is not independent, it may relate to docboss, workspaceboss or some page items and so on.
The solution i want to find is one that is practical base on the current situation. Just remove the info/data of plug-in A in the document.
E.g. just do some code change in plug-in B and then it can open the document (saved before with both plug-ins A and B) without the missing plug-in dialog.
Thanks,
Aidy
Copy link to clipboard
Copied
I have a similar issue. We regularly get InDesign files from customers that have 3rd party programs. Each time I open one, I have to do a Save As... and overwrite previous. It get's tiring. I want to completely remove and reference to missing plug-ins from all documents. Any thoughts?
Thanks,
David
Copy link to clipboard
Copied
I have never used IgnorePlugin, but this has to be added to the plugin to be ignored. Hence in your case, you need to add it to the plugin A and not plugin B's fr file. The same applies to the ignoretags resource. I would recommend the following
One of the above suggestions would work for you.
Note that in order to test always create a new document with the plugin loaded, save it, then remove the plugin and reopen the document. Old documents with absent or different ignore settings may still result in missing alert. In other words even when you have added the ignore functionality to your plugin, the documents created henceforth using the plugin would not show the missing alert, however the older documents would still show the alert.
Hope this helps to get you move ahead.
-Manan
Copy link to clipboard
Copied
Manan,
I don't know if Aidy is still viewing this 5 year old discussion, but perhaps you can help me (an end user, not a developer). Is there a way to remove a reference to a missing plug-in from an InDesign document?
Thanks,
David
Copy link to clipboard
Copied
Hey David,
Apologies i did not look at the date of original posting of the discussion, it popped up in the list of queries so i replied on it. Well for the issue you are facing without any development support on the original plugins, the only way out is opening the document exporting it out as IDML and then re save it as INDD, this is a cumbersome process which i suppose would not be ideal for you. Another thing could be to write a script that does a batch save of INDD files present in a folder, you could find pieces of such a script on the internet and integrate it to get it to work for you.
Hope this helps.
-Manan
Copy link to clipboard
Copied
Manan,
Thanks for your reply. You're right, the IDML process would be cumbersome. Adobe has a dialog box about missing plug-ins, and forces users to Save As... (each time the document is opened) I'm disappointed that they don't have a check box to eliminate plug-in data.
David
Copy link to clipboard
Copied
Hi David,
I have created a plugin to strip missing plugin info from the documents, you can try it out at the following location
https://github.com/Manan-Joshi/inexutils
Currently its available only for CC2017 MAC, let me know your thoughts on the product. You will have to Save As only once, the first time you save the document after ignoring the missing plugins using my inexutils plugin and then you are all set to go.
Thanks,
-Manan
Copy link to clipboard
Copied
Manan, that is truly helpful!
Are you in on the upgrade-or-perish trajectory that Adobe demands of its external developers? Meaning, is this target InDesign version -- 2017, Mac -- the only one for which you have a working developers' platform? I gave up trying to keep both my Windows and Visual C versions updated to coincide with Adobe's That Year's State of the Art Development Environment around CS3 (for which I wrote exactly 1 (One) succesfully working plugin).
If you are not: what other combinations of version and platform are you able to handle?
Copy link to clipboard
Copied
Thanks for the response Jongware, well the next platform/version that i would be targeting is CC2017/WIN.
Well the plan is to support future versions of InDesign as setting up the development env. for the new version is inevitable.
For the older versions i can cater to the following
On WIN:- CS4 and above till CC2017
On MAC:- CS5.5 onwards till CC2017
I don't have a working setup for CC2018 so that would take sometime atleast for MAC. However all this depends on the usability and interest folks have on this solution, if someone is interested in an older version i can spin that up else i would prioritise to CC2015 and above version for now.
Let me know if you have any other queries.
I surely agree that maintaining a dev. env. for all the myriad combinations of InDesign version and platforms is a pain but that is something a plugin developer has to live with, so far i am holding on to these old versions, lets see how far till i can hold
-Manan
Copy link to clipboard
Copied
You can use IContentMgr to suppress the warning of missing plug-ins.
Copy link to clipboard
Copied
Not if you are a regular end-user.
Copy link to clipboard
Copied
Manan,
That's fantastic!
I just need to test it a little, and I will return for a star.
Thanks.
David
Copy link to clipboard
Copied
This is the only plugin remover method that works. I have contacted Manan and procured a license for the latest InDesign CC and it works as advertiswed! A true lifesaver. ATTEMPTING SAVES TO IDML AND BACK HAS NEVER BEEN RELIABLE. PERIOD. He also offers a trial so you can try it out. Couldn't be happier.