# HG changeset patch # User Sebastien Jodogne # Date 1421080949 -3600 # Node ID 7442097b41c9f1a7e084b923d14a3a890114e021 # Parent 83d8b3eacf49cf9d7fa739c0163b3d678272e6bc Scan of folders for plugins diff -r 83d8b3eacf49 -r 7442097b41c9 NEWS --- a/NEWS Fri Jan 09 17:23:02 2015 +0100 +++ b/NEWS Mon Jan 12 17:42:29 2015 +0100 @@ -1,12 +1,20 @@ Pending changes in the mainline =============================== +General +------- + +* Instances without PatientID are now allowed +* Support of Tudor DICOM in Query/Retrieve +* Fix issue 25 (AET with underscore not allowed) + +Plugins +------- + * Introspection of plugins * Plugins can extend Orthanc Explorer with custom JavaScript * Plugins can get/set global properties to save their configuration -* Instances without PatientID are now allowed -* Support of Tudor DICOM in Query/Retrieve -* Fix issue 25 (AET with underscore not allowed) +* Scan of folders for plugins Version 0.8.5 (2014/11/04) diff -r 83d8b3eacf49 -r 7442097b41c9 Plugins/Engine/PluginsManager.cpp --- a/Plugins/Engine/PluginsManager.cpp Fri Jan 09 17:23:02 2015 +0100 +++ b/Plugins/Engine/PluginsManager.cpp Mon Jan 12 17:42:29 2015 +0100 @@ -226,6 +226,18 @@ void PluginsManager::RegisterPlugin(const std::string& path) { + if (!boost::filesystem::exists(path)) + { + LOG(ERROR) << "Inexistent path to plugins: " << path; + return; + } + + if (boost::filesystem::is_directory(path)) + { + ScanFolderForPlugins(path, false); + return; + } + std::auto_ptr plugin(new Plugin(path)); if (!IsOrthancPlugin(plugin->GetLibrary())) diff -r 83d8b3eacf49 -r 7442097b41c9 Resources/Configuration.json --- a/Resources/Configuration.json Fri Jan 09 17:23:02 2015 +0100 +++ b/Resources/Configuration.json Mon Jan 12 17:42:29 2015 +0100 @@ -35,7 +35,9 @@ // List of paths to the plugins that are to be loaded into this // instance of Orthanc (e.g. "./libPluginTest.so" for Linux, or - // "./PluginTest.dll" for Windows). + // "./PluginTest.dll" for Windows). These paths can refer to + // folders, in which case they will be scanned non-recursively to + // find shared libraries. "Plugins" : [ ],