Skip navigation
Currently Being Moderated

How to ignore a missing plug-in?

Jul 12, 2012 12:35 AM

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

 
Replies
  • Currently Being Moderated
    Jul 12, 2012 2:13 AM   in reply to AidySun

    Hello,

     

    I think you need to look at resource IgnoreTags ,kImplementationIDSpace and kClassIDSpace.

     

    P.

     
    |
    Mark as:
  • Currently Being Moderated
    Jul 13, 2012 9:33 AM   in reply to AidySun

    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

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points