Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

forwards compatibility question

New Here ,
May 31, 2017 May 31, 2017

Hi all,

I want to make a plugin for Indesign CC (release 2017.1) with the Indesign SDK.
I read (confirmation here is also pleasant) that there is no backward compatibility, as in a plugin compiled for CS6 won't work on CS5 etc. That's not a problem.
I am wondering however if a plugin which I now create with SDK and c++ will be compatible with future Indesign versions. So forwards compatibility so to speak.
Couldn't find any information on it, searched a lot, I hope you guys can give me an answer,

Thanks in advance, greetings

TOPICS
SDK
670
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 31, 2017 May 31, 2017

No plugins are not compatible either backwards or upwards, in cases where we have a new version of SDK released for the said versions of InDesign.

The reason i suppose is that each version upgrade come with change in the dev. env. generally and hence the plugins are compiled with different C++ libraries and also compiler change in some cases, these changes are not compatible in C++ and hence would result in issues like crashes.

-Manan

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Mentor ,
May 31, 2017 May 31, 2017
LATEST

If you want cross version compatibility, stick to scripting where that is at least attempted.

Each InDesign Version has a matching SDK that also specifies the matching OS SDK and compiler to use. Just yesterday I had a report that a plugin built for CC2017.1 did not work with CC2017.0 . Therefor I always use the "golden master" initial SDK per major version, and the oldest specified OS. The case yesterday was a debug build. So, forward compatibility yes, but only until the next major version and you better test it for minor versions anyway.

The required compiler may imply the IDE version, the IDE version may only run on specific OS versions. There are non-trivial instructions in the web how to add compilers and OS SDK versions from earlier versions of Xcode. VisualStudio also knows to invoke previous toolsets. Requires a good understanding what's going on, otherwise use virtual machines.

You have to at least recompile, eventually also modify code. Rework icons and widget dimensions to the fashion of the day. Automatic EVE layout or fixed sizes of CS? DarkUI. Retina 200%. Windows 150%. Resizable panels may snap in different steps. Method names changed for the fun of it. #ifdef here and there.

Also projects will vary in a subtle way - modify this or that build setting. Use a different runtime library. Adobe does not work cross version - they just move forward and hand over example projects, they have no provisions for cross version compiling. With some manual effort it is possible to have cross-version projects where you just switch the xcconfig, but you have to figure it out on your own or use separate projects. If you have to ask how, do the latter.

Dirk

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines