# New module system landing soon

**URL:** https://discourse.paraview.org/t/new-module-system-landing-soon/1094
**Category:** Development
**Created:** [January 2, 2019, 9:32pm UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094 "2019-01-02T21:32:21Z")
**Posts on this page:** 11
**Page:** 2

<div class="post-metadata">

### Author: ![Joachim\_Pouderoux](https://discourse.paraview.org/user_avatar/discourse.paraview.org/joachim_pouderoux/32/38_2.png) [@Joachim\_Pouderoux](https://discourse.paraview.org/u/Joachim_Pouderoux)
#### Post date: [January 24, 2019, 6:41pm UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/21 "2019-01-24T18:41:18Z")

</div>

Another boring thing: it looks like plugins embedded documentation is generated (and thus failed if you don’t have related tools installed) even if `PARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION` is turned OFF.

I guess this is because in `ParaViewPlugin.cmake:502`, documentation is turned ON and the global flag is not tested at line 583 (nor in `paraview_client_documentation()` function definition)?

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [January 24, 2019, 6:46pm UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/22 "2019-01-24T18:46:14Z")

</div>

`PARAVIEW_ENABLE_EMBEDDED_DOCUMENTATION` is for `ParaView` the application (and is only really usable underneath `Applications/ParaView` anyways). Plugins shouldn’t care about that flag. In any case, global options should _not_ affect the CMake API ParaView provides.

---

<div class="post-metadata">

### Author: ![Joachim\_Pouderoux](https://discourse.paraview.org/user_avatar/discourse.paraview.org/joachim_pouderoux/32/38_2.png) [@Joachim\_Pouderoux](https://discourse.paraview.org/u/Joachim_Pouderoux)
#### Post date: [January 24, 2019, 6:47pm UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/23 "2019-01-24T18:47:58Z")

</div>

Then this is a difference with previous version of PV (this flag also had effect on plugins). And then, it means we cannot compile plugins without `xmlpatterns` tool.

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [January 24, 2019, 6:51pm UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/24 "2019-01-24T18:51:57Z")

</div>

We can move it to the top-level and the plugins ParaView ships with understand it. We can put it in `paraview-config.cmake` as well so that other plugins can also follow it. However, that ParaView doesn’t have embedded documentation doesn’t mean a plugin can’t. For example, ModelBuilder is another application build just like ParaView with its own set of plugins it cares about (provided by SMTK). It should not be locked out of embedded documentation just because `paraview.exe` doesn’t have it enabled.

---

<div class="post-metadata">

### Author: ![Joachim\_Pouderoux](https://discourse.paraview.org/user_avatar/discourse.paraview.org/joachim_pouderoux/32/38_2.png) [@Joachim\_Pouderoux](https://discourse.paraview.org/u/Joachim_Pouderoux)
#### Post date: [January 24, 2019, 6:53pm UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/25 "2019-01-24T18:53:27Z")

</div>

It makes sense too but there should be a way do disable the compilation of all documentations - for instance if you don’t have tools or don’t need it at all.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 25, 2019, 10:12am UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/26 "2019-01-25T10:12:14Z")

</div>

@ben.boeckel : Looks like I can’t have a XML file at top level, any idea why ?

```
paraview_add_plugin(BagPlotViewsAndFilters
  REQUIRED_ON_SERVER
  VERSION "1.0"
  SERVER_MANAGER_XML BagPlotViewsAndFilters.xml
  MODULES BagPlotViewsAndFilters::BagPlotViewsAndFiltersFilter)

```

it fails with :

```
CMake Error at CMake/ParaViewServerManager.cmake:155 (message):
  The `FILES` argument is required.
Call Stack (most recent call first):
  CMake/ParaViewServerManager.cmake:112 (paraview_server_manager_process_files)
  CMake/ParaViewPlugin.cmake:550 (paraview_server_manager_process)
  Plugins/BagPlotViewsAndFilters/CMakeLists.txt:25 (paraview_add_plugin)

-- Configuring incomplete, errors occurred!
```

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [January 25, 2019, 3:22pm UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/27 "2019-01-25T15:22:00Z")

</div>

That error comes from the module itself not having any XML files; it hasn’t even gotten to the `SERVER_MANAGER_XML` part. I guess we can skip the processing of the files if the modules passed in have no XML files which I think is reasonable.

---

<div class="post-metadata">

### Author: ![ben.boeckel](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/b/ea5d25/32.png) [@ben.boeckel](https://discourse.paraview.org/u/ben.boeckel)
#### Post date: [January 25, 2019, 3:22pm UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/28 "2019-01-25T15:22:55Z")

</div>

Oh, the problem there is then there’s no target… If you remove the check that `FILES` is non-empty, do things still work?

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 25, 2019, 3:31pm UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/29 "2019-01-25T15:31:51Z")

</div>

I indeed removed the xml from the module.

If I remove the FILES check, it works perfectly.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 29, 2019, 10:59am UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/30 "2019-01-29T10:59:12Z")

</div>

UI\_RESOURCES now seems to work when loading, but the icons in the resource can’t be loaded anyway.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [September 16, 2019, 2:23am UTC](https://discourse.paraview.org/t/new-module-system-landing-soon/1094/31 "2019-09-16T02:23:31Z")

</div>

[https://vtk.org/Wiki/VTK/Module\_Development](https://vtk.org/Wiki/VTK/Module_Development) : This need deletion / update.

[Previous page](https://discourse.paraview.org/t/new-module-system-landing-soon/1094.md?page=1)
