25
$\begingroup$

After installing Mathematica 11.2, the first time I searched for something in the help center a pop-up appeared and then disappeared. It didn't appear on a subsequent search, even if I restarted Mathematica. What was that pop-up?

$\endgroup$
28
$\begingroup$

Version 11.2 features a completely rewritten documentation search system. This version is incompatible with the search indices created by previous versions, nor can previous versions read the new indices. And for reasons of performance, the new system will generally ignore the old indices. Internal packages have been rewritten to produce both types of indices (package developers will see a new TextSearchIndex next to the Index directory in the package layout) for maximum compatibility.

In order to not break all currently existing external packages, in the first search in each session the new doc search will scan for packages which only have old-style indices, load the old search code, and generate new-style indices from the old ones. A popup will appear explaining what is happening and listing the affected packages. We've found the time to generate the indices is highly variable--from a second or two to as much as 30 seconds. Also, in certain rare cases another open dynamic can trigger an update at just the wrong instant, which may cause a momentary freeze and the content of the pop-up to fail to render.

In general, you will only see the pop-up once. It will only appear a second time if a new package with only old-style indices is installed. In addition to the popup, the packages being updated will be also be logged in the file $UserBaseDirectory<>"/Logs/DocumentationSearch/MissingIndexCreation.m". This log will contain one list for each time in history that the pop-up appeared, again typically once. The list will be the list of "Documentation" directories in which a new index was created. If the pop-up is for whatever reason unreadable, simply Geting this file will give you the most recent list of updated directories. (You can use Import[file, "ExpressionList"] to get the complete history.)

For package developers: until the Workbench plugin is updated to create both types of indices, you can use this pop-up as a way to self-update your packages for 11.2 compatibility. I.e you can install a copy of your package in $BaseDirectory, do a search in 11.2 to create the new index, and then distribute that updated package. Your users then will not see this popup if they install your package.

$\endgroup$
  • 5
    $\begingroup$ Thanks for the heads up. It is much appreciated. $\endgroup$ – Szabolcs Sep 14 '17 at 12:59
  • $\begingroup$ Would you be able to help with this, or point me in the right direction? $\endgroup$ – Szabolcs Sep 17 '17 at 11:51
  • $\begingroup$ And here is another one. I am trying to update my LTemplate package, and I need to support 10.0, while wanting to have access to newer features when available. I am also interested in practical considerations for compiling LibraryLink-based packages in such as way as to maintain compatibility with multiple versions. This is also related. Or maybe I should ask on Wolfram Community? $\endgroup$ – Szabolcs Sep 17 '17 at 17:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.