GithubHelp home page GithubHelp logo

kitware / paraviewweb Goto Github PK

View Code? Open in Web Editor NEW
160.0 22.0 50.0 241.05 MB

Web framework for building interactive visualization relying on VTK or ParaView to produce visualization data

Home Page: http://kitware.github.io/paraviewweb/

License: BSD 3-Clause "New" or "Revised" License

JavaScript 97.48% C 0.80% CSS 0.62% HTML 0.19% Shell 0.48% Dockerfile 0.29% Jinja 0.15%
deprecated

paraviewweb's Issues

How can I set this up on a react app made with create-react-app?

Trying to make paraviewweb components for processing massive data sets that Im converting to vtk files. This is a pretty perfect library for this, but Im honestly out of my depth on how to use it.

Im honestly looking for resources that I can use to teach myself how to use this, because the docs dont go into detail on how to set it up in react specifically and I keep encountering problems like this:
image

it happens when I try to configure my webpack config like this

'use strict';

const autoprefixer = require('autoprefixer');
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');
const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin');
const WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeModulesPlugin');
const eslintFormatter = require('react-dev-utils/eslintFormatter');
const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
const getClientEnvironment = require('./env');
const paths = require('./paths');
const rules = require('./node_modules/paraviewweb/config/webpack.loaders.js');
var vtkRules = require('vtk.js/Utilities/config/dependency.js').webpack.v2.rules;

var entry = path.join(__dirname, './src/index.js');
const sourcePath = path.join(__dirname, './src');
const outputPath = path.join(__dirname, './dist');
const styles = path.resolve('./node_modules/paraviewweb/style');

// Webpack uses `publicPath` to determine where the app is being served from.
// In development, we always serve from the root. This makes config easier.
const publicPath = '/';
// `publicUrl` is just like `publicPath`, but we will provide it to our app
// as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in JavaScript.
// Omit trailing slash as %PUBLIC_PATH%/xyz looks better than %PUBLIC_PATH%xyz.
const publicUrl = '';
// Get environment variables to inject into our app.
const env = getClientEnvironment(publicUrl);

// This is the development configuration.
// It is focused on developer experience and fast rebuilds.
// The production configuration is different and lives in a separate file.
module.exports = {
  // You may want 'eval' instead if you prefer to see the compiled output in DevTools.
  // See the discussion in https://github.com/facebookincubator/create-react-app/issues/343.
  devtool: 'cheap-module-source-map',
  // These are the "entry points" to our application.
  // This means they will be the "root" imports that are included in JS bundle.
  // The first two entry points enable "hot" CSS and auto-refreshes for JS.
  entry: [
    // We ship a few polyfills by default:
    require.resolve('./polyfills'),
    // Include an alternative client for WebpackDevServer. A client's job is to
    // connect to WebpackDevServer by a socket and get notified about changes.
    // When you save a file, the client will either apply hot updates (in case
    // of CSS changes), or refresh the page (in case of JS changes). When you
    // make a syntax error, this client will display a syntax error overlay.
    // Note: instead of the default WebpackDevServer client, we use a custom one
    // to bring better experience for Create React App users. You can replace
    // the line below with these two lines if you prefer the stock client:
    // require.resolve('webpack-dev-server/client') + '?/',
    // require.resolve('webpack/hot/dev-server'),
    require.resolve('react-dev-utils/webpackHotDevClient'),
    // Finally, this is your app's code:
    paths.appIndexJs,
    // We include the app code last so that if there is a runtime error during
    // initialization, it doesn't blow up the WebpackDevServer client, and
    // changing JS code would still trigger a refresh.
  ],
  output: {
    // Add /* filename */ comments to generated require()s in the output.
    pathinfo: true,
    // This does not produce a real file. It's just the virtual path that is
    // served by WebpackDevServer in development. This is the JS bundle
    // containing code from all our entry points, and the Webpack runtime.
    filename: 'static/js/bundle.js',
    // There are also additional JS chunk files if you use code splitting.
    chunkFilename: 'static/js/[name].chunk.js',
    // This is the URL that app is served from. We use "/" in development.
    publicPath: publicPath,
    // Point sourcemap entries to original disk location (format as URL on Windows)
    devtoolModuleFilenameTemplate: info =>
      path.resolve(info.absoluteResourcePath).replace(/\\/g, '/'),
  },
  resolve: {
    // This allows you to set a fallback for where Webpack should look for modules.
    // We placed these paths second because we want `node_modules` to "win"
    // if there are any conflicts. This matches Node resolution mechanism.
    // https://github.com/facebookincubator/create-react-app/issues/253
    modules: ['node_modules', paths.appNodeModules].concat(
      // It is guaranteed to exist because we tweak it in `env.js`
      process.env.NODE_PATH.split(path.delimiter).filter(Boolean)
    ),
    module: {
    rules: [
     { test: entry, loader: "expose-loader?MyWebApp" },
    ].concat(rules),
  },
    resolve: {
      alias: {
        PVWStyle: styles,
      },
    },
    devServer: {
      contentBase: './dist/',
      port: 9999,
    },
    // These are the reasonable defaults supported by the Node ecosystem.
    // We also include JSX as a common component filename extension to support
    // some tools, although we do not recommend using it, see:
    // https://github.com/facebookincubator/create-react-app/issues/290
    // `web` extension prefixes have been added for better support
    // for React Native Web.
    extensions: ['.web.js', '.mjs', '.js', '.json', '.web.jsx', '.jsx'],
    alias: {

      // Support React Native Web
      // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
      'react-native': 'react-native-web',
    },
    plugins: [
      // Prevents users from importing files from outside of src/ (or node_modules/).
      // This often causes confusion because we only process files within src/ with babel.
      // To fix this, we prevent you from importing files out of src/ -- if you'd like to,
      // please link the files into your node_modules/ and let module-resolution kick in.
      // Make sure your source files are compiled, as they will not be processed in any way.
      new ModuleScopePlugin(paths.appSrc, [paths.appPackageJson]),
      new HtmlWebpackPlugin({inject: 'body',}),
    ],
  },
  module: {
    strictExportPresence: true,
    rules: [
      // TODO: Disable require.ensure as it's not a standard language feature.
      // We are waiting for https://github.com/facebookincubator/create-react-app/issues/2176.
      // { parser: { requireEnsure: false } },

      // First, run the linter.
      // It's important to do this before Babel processes the JS.
      {
        test: /\.(js|jsx|mjs)$/,
        enforce: 'pre',
        use: [
          {
            options: {
              formatter: eslintFormatter,
              eslintPath: require.resolve('eslint'),

            },
            loader: require.resolve('eslint-loader'),
          },
        ],
        include: paths.appSrc,
      },
      {
        // "oneOf" will traverse all following loaders until one will
        // match the requirements. When no loader matches it will fall
        // back to the "file" loader at the end of the loader list.
        oneOf: [
          // "url" loader works like "file" loader except that it embeds assets
          // smaller than specified limit in bytes as data URLs to avoid requests.
          // A missing `test` is equivalent to a match.
          {
            test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
            loader: require.resolve('url-loader'),
            options: {
              limit: 10000,
              name: 'static/media/[name].[hash:8].[ext]',
            },
          },
          // Process JS with Babel.
          {
            test: /\.(js|jsx|mjs)$/,
            include: paths.appSrc,
            loader: require.resolve('babel-loader'),
            options: {

              // This is a feature of `babel-loader` for webpack (not Babel itself).
              // It enables caching results in ./node_modules/.cache/babel-loader/
              // directory for faster rebuilds.
              cacheDirectory: true,
            },
          },
          // "postcss" loader applies autoprefixer to our CSS.
          // "css" loader resolves paths in CSS and adds assets as dependencies.
          // "style" loader turns CSS into JS modules that inject <style> tags.
          // In production, we use a plugin to extract that CSS to a file, but
          // in development "style" loader enables hot editing of CSS.
          {
            test: /\.css$/,
            use: [
              require.resolve('style-loader'),
              {
                loader: require.resolve('css-loader'),
                options: {
                  importLoaders: 1,
                  modules: true,
   localIdentName: "[name]__[local]___[hash:base64:5]"
                },
              },
              {
                loader: require.resolve('postcss-loader'),
                options: {
                  // Necessary for external CSS imports to work
                  // https://github.com/facebookincubator/create-react-app/issues/2677
                  ident: 'postcss',
                  plugins: () => [
                    require('postcss-flexbugs-fixes'),
                    autoprefixer({
                      browsers: [
                        '>1%',
                        'last 4 versions',
                        'Firefox ESR',
                        'not ie < 9', // React doesn't support IE8 anyway
                      ],
                      flexbox: 'no-2009',
                    }),
                  ],
                },
              },
            ],
          },
          { test: entry, loader: "expose-loader?MyWebApp" },
          { test: /\.html$/, loader: 'html-loader' },
          // "file" loader makes sure those assets get served by WebpackDevServer.
          // When you `import` an asset, you get its (virtual) filename.
          // In production, they would get copied to the `build` folder.
          // This loader doesn't use a "test" so it will catch all modules
          // that fall through the other loaders.
          {
            // Exclude `js` files to keep "css" loader working as it injects
            // its runtime that would otherwise processed through "file" loader.
            // Also exclude `html` and `json` extensions so they get processed
            // by webpacks internal loaders.
            exclude: [/\.(js|jsx|mjs)$/, /\.html$/, /\.json$/],
            loader: require.resolve('file-loader'),
            options: {
              name: 'static/media/[name].[hash:8].[ext]',
            },
          },
        ]
      },
      // ** STOP ** Are you adding a new loader?
      // Make sure to add the new loader(s) before the "file" loader.
    ].concat(vtkRules),
  },
  plugins: [
    // Makes some environment variables available in index.html.
    // The public URL is available as %PUBLIC_URL% in index.html, e.g.:
    // <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
    // In development, this will be an empty string.
    new InterpolateHtmlPlugin(env.raw),
    // Generates an `index.html` file with the <script> injected.
    new HtmlWebpackPlugin({
      inject: true,
      template: paths.appHtml,
    }),
    // Add module names to factory functions so they appear in browser profiler.
    new webpack.NamedModulesPlugin(),
    // Makes some environment variables available to the JS code, for example:
    // if (process.env.NODE_ENV === 'development') { ... }. See `./env.js`.
    new webpack.DefinePlugin(env.stringified),
    // This is necessary to emit hot updates (currently CSS only):
    new webpack.HotModuleReplacementPlugin(),
    // Watcher doesn't work well if you mistype casing in a path so we use
    // a plugin that prints an error when you attempt to do this.
    // See https://github.com/facebookincubator/create-react-app/issues/240
    new CaseSensitivePathsPlugin(),
    // If you require a missing module and then `npm install` it, you still have
    // to restart the development server for Webpack to discover it. This plugin
    // makes the discovery automatic so you don't have to restart.
    // See https://github.com/facebookincubator/create-react-app/issues/186
    new WatchMissingNodeModulesPlugin(paths.appNodeModules),
    // Moment.js is an extremely popular library that bundles large locale files
    // by default due to how Webpack interprets its code. This is a practical
    // solution that requires the user to opt into importing specific locales.
    // https://github.com/jmblog/how-to-optimize-momentjs-with-webpack
    // You can remove this if you don't use Moment.js:
    new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
  ],
  // Some libraries import Node modules but don't use them in the browser.
  // Tell Webpack to provide empty mocks for them so importing them works.
  node: {
    dgram: 'empty',
    fs: 'empty',
    net: 'empty',
    tls: 'empty',
    child_process: 'empty',
  },
  // Turn off performance hints during development because we don't do any
  // splitting or minification in interest of speed. These warnings become
  // cumbersome.
  performance: {
    hints: false,
  },
};

Thank you very much for your time and continuous support and dedication.

vtk file rendering?

Is it possible to visualize a vtk file using paraviewweb. Im currently working out of react and I need to use something that can visualize vtk files and this looks like it might be the right tool for the job. If its not possible you should consider this a feature request, because it would be useful in the library

I combed through the api and docs and I cant find a clear way of using anything. Can I get some help to get pointed in the right direction or get started with this library.

Using paraviewweb within Angular

Hi,
I am trying to test the NativeUI/Canvas/RemoteRenderer example on my local machine. I created a new Angular application and imported all libraries that are mentioned here: http://kitware.github.io/paraviewweb/docs/setup.html , especially these ones:

$ npm install paraviewweb  --save
$ npm install kw-web-suite --save-dev
$ npm install normalize.css --save-dev
$ npm install monologue.js --save-dev

Unfortunately, I am receiving warnings when I want to import classes necessary the RemoteRenderer example:

WARNING in ./src/app/pv/pv.component.ts
23:27-39 "export 'SmartConnect' was not found in 'wslink/src/SmartConnect'

WARNING in ./src/app/pv/pv.component.ts
25:28-45 "export 'ParaViewWebClient' was not found in 'paraviewweb/src/IO/WebSocket/ParaViewWebClient'

WARNING in ./src/app/pv/pv.component.ts
30:31-45 "export 'RemoteRenderer' was not found in 'paraviewweb/src/NativeUI/Canvas/RemoteRenderer'

WARNING in ./src/app/pv/pv.component.ts
32:12-22 "export 'SizeHelper' was not found in 'paraviewweb/src/Common/Misc/SizeHelper'

WARNING in ./src/app/pv/pv.component.ts
35:12-22 "export 'SizeHelper' was not found in 'paraviewweb/src/Common/Misc/SizeHelper'

Could you provide me any hint to solve it? :-)

[EDIT]
Solved. I used wrong import notation:

Wrong: 
import {SmartConnect} from "wslink/src/SmartConnect";
Correct:
import SmartConnect from "wslink/src/SmartConnect";

There is one more thing one has to do in order to make it work. It is necessary to install setimmediate module and import it in the component (*.ts file) where paraviewweb is used.
Installation of the module:

npm install setimmediate --save

Importing the module:

...
import { Component, OnInit, ViewChild } from '@angular/core';

import 'setimmediate';     <-- IMPORT
import SmartConnect from "wslink/src/SmartConnect";
import RemoteRenderer from "paraviewweb/src/NativeUI/Canvas/RemoteRenderer";
...

MouseHandler should only prevent default on bound events

I'm using MouseHandler using the following pattern:

const queryDataModel = new QueryDataModel(this._indexJson, `${getApiRoot()}/${this._basePath}`);
const mouseHandler = new MouseHandler(container);

queryDataModel.onDataChange((data, envelope) => {
    container.innerHTML = '';
    container.appendChild(data.image.image);
});
queryDataModel.fetchData();
mouseHandler.attach(queryDataModel.getMouseListener());

The QueryDataModel I'm using only handles drag events, it does not do anything with scroll events. However, scrolling on the container has its default action (scrolling the page) prevented. It would be great if this behavior could be disabled by default, or if not by default, then by a constructor option to MouseHandler.

InlineToggleButtonWidget doesn't handle non-square images very well

@jourdain I found an annoying issue with InlineToggleButtonWidget in paraviewweb. I was making Patrick's alternate UI for lightviz and I decided to see what it would look like if I made the colormaps use this widget. But the colormaps are 1 pixel high and 256 pixels wide. So when it forces the image to the right height, the width gets scaled too... and the result is a very long horizontal scroll bar. I was looking at fixing it, but I'm not really sure what the right fix should be. A maximum width for the images similar to the height field on the widget? I was able to get a nice look for this widget if I manually edited the CSS in firebug to set max-width to about 80 pixels. I have a branch that add this option, but I don't know how to build lightviz against it to test.

lightviz-toggle-widget-cmap-bug

ParaViewWeb Multi-user Setup : Apache as a Front-end

Hi,
I am trying to set up PVW Multi user setup.
As mentioned here (https://kitware.github.io/paraviewweb/docs/multi_user_setup.html), I am working on to set up Apache as User front-end. I am following this tutorial for Apache installation (https://kitware.github.io/paraviewweb/docs/apache_front_end.html).
In the process of Adding a virtual host I am getting error while restarting apache2.
Before that, while executing these commands
$ sudo a2enmod vhost_alias
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_wstunnel
$ sudo a2enmod rewrite

I got this message after every command execution:
"Enabling module proxy.
To activate the new configuration, you need to run: systemctl restart apache2"

At the end while executing $ sudo service apache2 restart, also I am receiving the same error message. I tried to execute systemctl restart apache2 and I got error "FAILED TO START THE APACHE HTTP SERVER".
Here I have added the snapshot of the same.
apache_virtualhost_enablingmoduleshttperror2

Also I have added below snippet of my 001-pvw.conf :
001-pvw conf

Please help me with this.

Thanks in advance!

Add tags for 'last commit that works with ParaView X.Y'

@jourdain I thought of this when I had to update light-viz's ParaView version this weekend and build from master to get the new colormap protocols. We should probably tag paraviewweb versions as the last version that will work with each ParaView release. It would help people know what to version of ParaView they need for their application.

Can I use VTK remote renderer example with node JS?

Thank you guys for putting up all these projects. Great work!

Trying to put a VTK js backend for remote rendering example with Node js and I am struggling to connect ends.

Heavily inspired by paraview desktop client user setting that allows user to configure size treshold to switch between server side and client side rendering, I am trying to add this switching capability to a VTK backend in ITK-VTK client side viewer project.

Is there an example or a project that dies this kind of thing already. If not can you tell me if it is possible with current set of tools in kitware universe?

Error installing ParaViewWeb with npm install paraviewweb --save

Hi! I'm trying to install paraviewweb in windows, I have the latest version of nodejs and git. When I run npm install paraviewweb --save, the process fails. I'm sorry about the formatting, I didn't find a way to print verbatim. Do you know what might be happening?

Thanks!

D:\pww>npm install paraviewweb --save
npm WARN deprecated [email protected]: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.

[email protected] install D:\pww\node_modules\paraviewweb\node_modules\ws\node_modules\utf-8-validate
node-gyp rebuild


D:\pww\node_modules\paraviewweb\node_modules\ws\node_modules\utf-8-validate>if not defined npm_config_node_gyp (node "D:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
D:\pww\node_modules\paraviewweb\node_modules\ws\node_modules\utf-8-validate\build\validation.vcxproj(20,3): error MSB4019: The imported project "D:\Microsoft.Cpp.Default.props" was not found. Confirm th
at the path in the declaration is correct, and that the file exists on disk.
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (D:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "D:\Program Files\nodejs\node.exe" "D:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd D:\pww\node_modules\paraviewweb\node_modules\ws\node_modules\utf-8-validate
gyp ERR! node -v v4.4.4
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok

[email protected] install D:\pww\node_modules\paraviewweb\node_modules\ws\node_modules\bufferutil
node-gyp rebuild

D:\pww\node_modules\paraviewweb\node_modules\ws\node_modules\bufferutil>if not defined npm_config_node_gyp (node "D:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin....\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
D:\pww\node_modules\paraviewweb\node_modules\ws\node_modules\bufferutil\build\bufferutil.vcxproj(20,3): error MSB4019: The imported project "D:\Microsoft.Cpp.Default.props" was not found. Confirm that t
he path in the declaration is correct, and that the file exists on disk.
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (D:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:276:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "D:\Program Files\nodejs\node.exe" "D:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "rebuild"
gyp ERR! cwd D:\pww\node_modules\paraviewweb\node_modules\ws\node_modules\bufferutil
gyp ERR! node -v v4.4.4
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm WARN optional dep failed, continuing [email protected]
npm WARN optional dep failed, continuing [email protected]

[email protected] postinstall D:\pww\node_modules\paraviewweb
fix-kw-web-suite || true

'fix-kw-web-suite' is not recognized as an internal or external command,
operable program or batch file.
'true' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! Windows_NT 10.0.10586
npm ERR! argv "D:\Program Files\nodejs\node.exe" "D:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js" "install" "paraviewweb" "--save"
npm ERR! node v4.4.4
npm ERR! npm v2.15.1
npm ERR! code ELIFECYCLE

npm ERR! [email protected] postinstall: fix-kw-web-suite || true
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script 'fix-kw-web-suite || true'.
npm ERR! This is most likely a problem with the paraviewweb package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! fix-kw-web-suite || true
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs paraviewweb
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls paraviewweb
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! D:\pww\npm-debug.log

D:\pww>

Twisted receiving a SIGTERM signal.

Hi!

I'm trying to run the example projects that comes with ParaViewWeb 5. I'm running Linux and ParaView (the app) runs flawlessly. I've copied ParaView to /opt/paraviewweb and run the server with:

/opt/paraviewweb/bin/pvpython /opt/paraviewweb/lib/paraview-5.0/site-packages/vtk/web/launcher.py /opt/paraviewweb/conf/launch.json

launch.json can be found here: http://pastebin.com/SzjCiYB9

The server starts without any messages (as expected) and I can access http://localhost:8080/apps/FileViewer/ without issues. The problem is when the client tries to connect to the ParaView server. A ParaView window opens with an empty render (just the blue background and the axis) and suddenly closes. Then the client shows an alert box with the message "Session did not start before timeout expired. Check session logs".

I've reviewed the log and found that twisted is receiving a SIGTERM signal. Here's the log:

2016-05-12 19:16:10+0000 [-] Log opened.
2016-05-12 19:16:10+0000 [-] Site starting on 9003
2016-05-12 19:16:10+0000 [-] Starting factory <twisted.web.server.Site instance at 0x7febe9323128>
2016-05-12 19:16:17+0000 [-] Received SIGTERM, shutting down.
2016-05-12 19:16:17+0000 [twisted.web.server.Site] (TCP Port 9003 Closed)
2016-05-12 19:16:17+0000 [twisted.web.server.Site] Stopping factory <twisted.web.server.Site instance at 0x7febe9323128>
2016-05-12 19:16:17+0000 [-] Main loop terminated.

Do you have any ideas on what might be happening? I'm stuck at this point and couldn't make it work.

Thanks!!
Rodrigo

Engines field

node:
0.12.x?
If we're using any un-babel'ed arrow functions or basic es6 features we should require โ‰ฅ 4.0

npm
uncertain

How to run the example of the paraviewweb in the dva-cli?

I want to run the every example components of the paraviewweb so that I can decide which component is I need.Therefore, I want to use the dva-cli as the framework.How can i run the paraviewweb in the dva-cli?Waiting for your answer.

Module not found: Error: Cannot resolve module 'shader'

I'm taking my first steps with VTK-js and I'm trying to do setup as described on the VTK-js website.
After creating all the files I tried to run "npm run build" I get the follwing error message

ERROR in .//babel-loader?presets[]=es2015,presets[]=react!.//string-replace-loader?{"multiple":[{"search":"v
tkDebugMacro","replace":"console.debug","flags":"g"},{"search":"vtkErrorMacro","replace":"console.error","flag
s":"g"},{"search":"vtkWarningMacro","replace":"console.warn","flags":"g"}]}!./src/index.js
Module not found: Error: Cannot resolve module 'html-loader' in /home/pvandriessche/MyWebProject/src
@ .//babel-loader?presets[]=es2015,presets[]=react!.//string-replace-loader?{"multiple":[{"search":"vtkDebu
gMacro","replace":"console.debug","flags":"g"},{"search":"vtkErrorMacro","replace":"console.error","flags":"g"
},{"search":"vtkWarningMacro","replace":"console.warn","flags":"g"}]}!./src/index.js 47:18-46
ERROR in .//vtk.js/Sources/Rendering/OpenGL/ImageMapper/index.js
Module not found: Error: Cannot resolve module 'shader' in /home/pvandriessche/MyWebProject/node_modules/vtk.j
s/Sources/Rendering/OpenGL/ImageMapper
@ ./
/vtk.js/Sources/Rendering/OpenGL/ImageMapper/index.js 44:21-58
ERROR in .//vtk.js/Sources/Rendering/OpenGL/PolyDataMapper/index.js
Module not found: Error: Cannot resolve module 'shader' in /home/pvandriessche/MyWebProject/node_modules/vtk.j
s/Sources/Rendering/OpenGL/PolyDataMapper
@ ./
/vtk.js/Sources/Rendering/OpenGL/PolyDataMapper/index.js 36:21-58
ERROR in .//vtk.js/Sources/Rendering/OpenGL/ImageMapper/index.js
Module not found: Error: Cannot resolve module 'shader' in /home/pvandriessche/MyWebProject/node_modules/vtk.j
s/Sources/Rendering/OpenGL/ImageMapper
@ ./
/vtk.js/Sources/Rendering/OpenGL/ImageMapper/index.js 48:21-58
ERROR in .//vtk.js/Sources/Rendering/OpenGL/PolyDataMapper/index.js
Module not found: Error: Cannot resolve module 'shader' in /home/pvandriessche/MyWebProject/node_modules/vtk.j
s/Sources/Rendering/OpenGL/PolyDataMapper
@ ./
/vtk.js/Sources/Rendering/OpenGL/PolyDataMapper/index.js 40:21-58

Anyone who can help me with t his?

Thanks

Do not require babel preset react for all src imports

I'm using a couple of files (MouseHandler and QueryDataModel) in a downstream project. Because the .babelrc file in the package lists the react preset, my project cannot build without me installing babel-preset-react as a dev dependency. Is there a way we could make this not be a hard dependency if we want to use parts of pvw that do not use JSX?

Does the rendering happen at user end? Scability issue?

Dear ParaviewWeb community,

I'm looking for a way to host 2d and 3d cfd simulation datasets and allow users to visualize them within the web browser. Scalability is an issue so I wonder if the 2d/3d rendering occur at user end? Will it be suitable for multiple users to access our database simultaneously? Is it possible to do slicing and clipping, striding etc (my quick check of the examples did not show clear instructions).

I also came across other projects like plotly and bokeh. It seems to Paraveeweb is the only one that has good 3d large data visualization capability thus very useful for cfd. This is great work.

Best,
Liang

Cannot read property 'style' of null

The following html results in the error Cannot read property 'style' of null when loading:

<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-Type" content="text/html; charset = UTF-8">
  <script type="text/javascript" src="ParaViewWeb.js"></script>
</head>

<body>
</body>

</html>

It seems to be originating from this line: src/InfoViz/Native/HistogramSelector/index.js#L42. It does load successfully if I move the script tag into the body.

Installing ParaViewWeb

Hello all,

I am trying to install ParaViewWeb on my linux virtual machine.
I followed the steps mentioned here (https://kitware.github.io/paraviewweb/docs/setup.html).
My node version is v8.10.0 and npm is 6.2.0.
I installed Git using sudo apt-get install git-core successfully.
Now, the issue is:

  1. When I tried to install paraviewweb using npm install paraviewweb --save it shows this npm warnings. Please refer the snippet below for more details.

pvw_error1

  1. I successfully cloned github repository using the command git clone https://github.com/kitware/paraviewweb.git. While following the next command npm install, console shows errors. Please refer the snapshot below.

pvw_error2

I have tried installing paraviewweb in home directory and in the root directory as well.
I am not getting an idea of what's going wrong.

Can anybody help me find the cause and fixing it?

Thank you in advance!!!

Regards,
Sagar

Vagrant up fails when only 1 CPU

When trying to create a VM using vagrant, there is a problem on machines with only 1 cpu.
Indeed in VagranFile cpus = cpus / 2 will return 0 which seems to be problematic for vagrant

Cannot `npm install` outside of kitware network

computer:paraviewweb tristan$ npm i
npm WARN deprecated [email protected]: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
npm WARN deprecated [email protected]: This package has been merged with the 'mapbox-gl-style-spec' package
npm WARN deprecated [email protected]: This project has been renamed to mapbox-gl-supported. Install using mapbox-gl-supported instead.
npm WARN deprecated [email protected]: This module has moved: switch to @mapbox/unitbezier
npm WARN deprecated [email protected]: This module is now under the @mapbox namespace: install @mapbox/shelf-pack instead
npm WARN deprecated [email protected]: This package has been merged into the 'mapbox-gl-style-spec' package
npm WARN deprecated [email protected]: This package has been replaced by @mapbox/mapbox-gl-style-spec
npm WARN deprecated [email protected]: This module is now under the @mapbox namespace: install @mapbox/geojson-area instead
npm ERR! fetch failed http://www.kitware.com/in-situ-data/npm/tonic-arctic-sample-data-1.2.2.tgz
npm WARN retry will retry, error on last attempt: Error: fetch failed with status code 404
npm ERR! fetch failed http://www.kitware.com/in-situ-data/npm/tonic-arctic-sample-data-1.2.2.tgz
npm WARN retry will retry, error on last attempt: Error: fetch failed with status code 404
npm ERR! fetch failed http://www.kitware.com/in-situ-data/npm/tonic-arctic-sample-data-1.2.2.tgz
npm ERR! Darwin 15.6.0
npm ERR! argv "/Users/tristan/.nvm/versions/node/v7.0.0/bin/node" "/Users/tristan/.nvm/versions/node/v7.0.0/bin/npm" "i"
npm ERR! node v7.0.0
npm ERR! npm  v3.10.8

npm ERR! fetch failed with status code 404
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/tristan/Documents/work/paraviewweb/npm-debug.log

VTK vs. PV rendering for web?

Hello and Happy New Year!

I just started to tour ParaviewWeb, VTK, Visualizer and Light-Viz as well as its documentation so I apologize in advance if my question sounds stupid.

Here is a bit of background for you to understand where my question is coming from

(feel free to skip to here is the real question section below)
I got to a point where I can render a display in the web browser Visualizer from a PV server (which happen to be both on my local machine for now). I followed the documented steps on Apache Front End + Python Launcher and everything seems to work just fine:

  • my launcher.config is pointing to PV Visualizer
  • I start the launcher script (no surprise)
/path/to/pvpython /path/to/vtk/web/launcher.py /path/to/my/launcher.config
  • then I connect to http://localhost:8080, which triggers the graphic display rendered and the Visualizer web app to show in the browser: beautiful (thank you by the way)
  • I even tweaked a bit the Visualizer dist/index.html to have extra keys so that data are loaded at the time the visualizer shows up in the browser. I launch the webapp with http://localhost:8080/?data=my_data and here is my launcher.config apps section:
  "visualizer": {
    "cmd": [
      "${python_exec}", "-dr", "./server/pvw-visualizer.py",
      "--port", "${port}", "-f", "--authKey", "${secret}"
      "--data", "/path/to/data/dir", "--load-file", "${data}"
    ],
  "ready_line" : "Starting factory"
  }

Once again, it works beautifully (so thank you again for making it available).

In the meantime, I was successfully playing with the VTK remote rendering example (e.g. the Webcone one), so I figured, well I just need to add an app to my launcher.config and plug it to Visualizer. Of course that didn't work for many good reasons and I'll probably need to get my head around between the client connection and the server (the example hardcodes that connection). But one thing stroke me:

here is now the real question :)

Should we be using VTK or PV server? From what I understood and figured out on my own (please correct me if I am wrong):

  • PV allows for parallelization (using mpirun on pvserver): how would that fit in this launcher example? Could we do it with VTK too?
  • To my understanding there is no out-of-the-box equivalent of Visualizer for VTK, is this correct?
  • VTK Python devkit seems more flexible and give more capabilities on graphic manipulation than PV python devkit (I also have hard time reading python doc in general and no problem with C++ so this opinion could be biased on the fact I didn't find what I was looking for)
  • On the other hand, PV seems more rich in terms of Protocols than VTK which allows more interactions/capabilities on the client side.
  • It looks like VTK and PV offer lots of things in common: are there any plan to discontinue one or the other? If so, are the strengths of one ported to the other one?

I am going to start developing a small custom web viewer app that will deal with custom data format, so I am preparing and welcoming any recommendations/opinions before I do.

Thanks a lot and apologies for this long block of text.
cheers
claude

Problems with ParaviewWeb!!!

HI my friends, I have tried to work with paraview on the web I have followed all the steps from the following link: http://paraviewweb.kitware.com/index.html#!/guide/quick_start; but I have serious problems with that. First I have compiled by myself the paraview and then I have downloaded the file from this link http://www.paraview.org/download/ and then I putted these comands :
$ tar xvzf ParaView-4.1.0-Linux-64bit-glibc-2.3.6.tar.gz
$ cd ParaView-4.1.0-Linux-64bit
**$ ./bin/pvpython lib/paraview-4.1/site-packages/paraview/web/pv_web_visualizer.py
--content ./share/paraview-4.1/www
--data-dir /path-to-share/ \

--port 8080 &

=> Then, open a browser to the following URL http://localhost:8080/apps/Visualizer**

Finally the result is that:

root@nesimo-VirtualBox:~/Escritorio/Project/build# ./bin/pvpython lib/site-packages/paraview/web/pv_web_visualizer.py --content ./home/n-esimo/Escritorio/Project/build/www --port 8080 --data-dir ../../home/n-esimo/Escritorio/ParaView-5.0.0/.ExternalData/MD
2016-05-31 14:12:55-0500 [-] Log opened.
pci id for fd 4: 80ee:beef, driver (null)
libGL error: core dri or dri2 extension not found
libGL error: failed to load driver: vboxvideo
2016-05-31 14:12:55-0500 [-] Site starting on 8080
2016-05-31 14:12:55-0500 [-] Starting factory <twisted.web.server.Site instance at 0x7f4e19ffe9e0>
2016-05-31 14:13:14-0500 [HTTPChannel,0,127.0.0.1] "127.0.0.1" - - [31/May/2016:19:13:14 +0000] "GET /apps/Visualizer HTTP/1.1" 404 145 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"

And when I putted http://localhost:8080/apps/Visualizer, the page show the following: No Such Resource File not found.

Please May you help me with this trouble, thanks very much.

WSS Unexpected response code: 400

Hi,

I upgraded my apache server to version 2.4 to enable wss tunnel .... knowing that It works with regular web socket or WS but for secure web socket I got the following error:

WebSocket connection to 'wss://APACHE-SERVER/proxy?sessionId=1378cc8f-1d03-11e6-921d-000d3a10ab7a/' failed: Error during WebSocket handshake: Unexpected response code: 400

Any thoughts how can I troubleshoot this error ???

Log File error:

[Wed May 18 17:58:42.497949 2016] [proxy_wstunnel:error] [pid 4400:tid 1108] [client 197.36.130.82:59033] AH02439: error parsing URL //: Invalid host/port
[Wed May 18 18:01:15.956061 2016] [proxy_wstunnel:error] [pid 4400:tid 1112] [client 197.36.130.82:59090] AH02439: error parsing URL //: Invalid host/port

thanks
Ahmed!

paraviewweb

image
Running the latest paraviewWeb constant error, including MAC Linux platform,

paraview web in windows + apache

Hi.
I followed the instructions described here:
https://kitware.github.io/paraviewweb/docs/windows_10.html

But I cant execute the visualizer on the web browser. When I go to http://paraview/?data=can.ex2
I got this:

[Mon Aug 06 14:41:41.506712 2018] [rewrite:error] [pid 9108:tid 1908] (OS 3)The system cannot find the path specified. : [client 10.3.131.219:23473] AH00655: mod_rewrite: can't open text RewriteMap file C:/xampp/apache/
[Mon Aug 06 14:41:41.506712 2018] [proxy_wstunnel:error] [pid 9108:tid 1908] [client 10.3.131.219:23473] AH02439: error parsing URL //: Invalid host/port

and on the browser's console:
WebSocket connection to 'ws://paraview/ws' failed: Error during WebSocket handshake: Unexpected response code: 404.

Here are my configuration files:

http://www.wepaste.com/httpd/
http://www.wepaste.com/httpd-vhost/
http://www.wepaste.com/laucher/

and my index.html:
http://www.wepaste.com/myIndex/

I appreciate the help!

Thank you.

Color Management not working when selecting Local (VGL) and deprecated

Hello

Paraview-web is working very well using Remote rendering option but it has a rendering issue when using applying color management during Local(VGL) & Deprecated rendering options .... Nothing shown on server side form pvpython logs but console logs on client are shown below as following:

The connection to wss:///proxy?sessionId=19b310e8-d289-11e6-a786-000d3a132570 was interrupted while the page was loading.
Firefox canโ€™t establish a connection to the server at wss:///proxy?sessionId=19b310e8-d289-11e6-a786-000d3a132570.

autobahn.min.js:101 Uncaught session not open
autobahn.min.js:114 WebSocket connection to 'wss://APACHE-SERVER/proxy?sessionId=f4d72bc8-d284-11e6-a786-000d3a132570' failed: Error during WebSocket handshake: Unexpected response code: 503

The same issue raised Google chrome
Distributions: Ubuntu-14.04 LTS & MacOS-Sierra v10.12.2

Thanks,
Ahmed

hexo error

From fresh, naive installation:

=> Serve documentation:


> [email protected] server /Users/tristan/Documents/work/paraviewweb/documentation/www
> hexo server

ERROR Local hexo not found in ~/Documents/work/paraviewweb/documentation/www
ERROR Try running: 'npm install hexo --save'

npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/Cellar/node/5.4.1/bin/node" "/usr/local/bin/npm" "run" "server"
npm ERR! node v5.4.1
npm ERR! npm  v3.5.3
npm ERR! code ELIFECYCLE
npm ERR! [email protected] server: `hexo server`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the [email protected] server script 'hexo server'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the paraviewweb-site package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     hexo server
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs paraviewweb-site
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls paraviewweb-site
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/tristan/Documents/work/paraviewweb/documentation/www/npm-debug.log

Implement video streaming

Hello guys, I just use paraviewweb recently, and I'm wondering could video streaming instead of image be implemented based on the current protocol. Though I read the document and the code, I still can't come up with a solution, hoping get some hits from here.

Thanks for your time.

Current master installation fails on Mac OS X 10.11

Hello,

I am trying to install the latest master version of ParaViewWeb project.
I am following the instruction given in this file: https://github.com/Kitware/paraviewweb/blob/master/README.md

When running npm run build, I got the following error:

> [email protected] build /Users/felixveysseyre/Projects/ParaViewWebTesting
> npm run bin:fix-autobahn && webpack --progress --colors


> [email protected] bin:fix-autobahn /Users/felixveysseyre/Projects/ParaViewWebTesting
> node ./tools/fix-autobahn/patch-autobahn-0.9.6-cli.js

module.js:327
    throw err;
    ^

Error: Cannot find module 'autoprefixer'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/Users/felixveysseyre/Projects/ParaViewWebTesting/webpack.config.js:41:5)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)

npm ERR! Darwin 15.2.0
npm ERR! argv "/opt/local/bin/node" "/opt/local/bin/npm" "run" "build"
npm ERR! node v4.6.1
npm ERR! npm  v2.15.11
npm ERR! code ELIFECYCLE
npm ERR! [email protected] build: `npm run bin:fix-autobahn && webpack --progress --colors`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] build script 'npm run bin:fix-autobahn && webpack --progress --colors'.
npm ERR! This is most likely a problem with the paraviewweb package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     npm run bin:fix-autobahn && webpack --progress --colors
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs paraviewweb
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! 
npm ERR!     npm owner ls paraviewweb
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/felixveysseyre/Projects/ParaViewWebTesting/npm-debug.log

It seems like a Webpack error, but since I do not have any knowledge on this technology I am creating this issue.

Thanks for your help !

dual render

Hi,

Following the RemoteRenderer example, I am rendering two instances in the same webpage.
I doing this in the client side:

`const config = { sessionURL: 'ws://localhost:1234/ws' };
const smartConnect = SmartConnect.newInstance({ config });
smartConnect.onConnectionReady((connection) => {
const pvwClient = ParaViewWebClient.createClient(connection, [
'MouseHandler',
'ViewPort',
'ViewPortImageDelivery',
]);
const renderer = new RemoteRenderer(pvwClient);
renderer.setContainer(divRenderer1);
renderer.onImageReady(() => {
console.log('We are good');
});

window.renderer = renderer;
SizeHelper.onSizeChange(() => {
renderer.resize();
});
SizeHelper.startListening();
});
smartConnect.connect();

const smartConnect2 = SmartConnect.newInstance({ config });
smartConnect.onConnectionReady((connection) => {
const pvwClient = ParaViewWebClient.createClient(connection, [
'MouseHandler',
'ViewPort',
'ViewPortImageDelivery',
]);

const renderer2 = new RemoteRenderer(pvwClient);
renderer2.setContainer(divRenderer2);
renderer2.onImageReady(() => {
console.log('We are good 2');
});

window.renderer = renderer2;
SizeHelper.onSizeChange(() => {
renderer.resize();
});
SizeHelper.startListening();
});
smartConnect2.connect();`

And this is my result:

paraviewdual

The problem is the mouse interaction between the two renders. If I rotate the one above, the one below wont update the model. However, if you interact with the one below it will update form the current position of the above render, plus its new transformation.

Is it possible to synchronize both renders ?

Thank you.

Vagrant up fails in Ansible on Debian/Buster

Hi, sorry to bother again but this time it fails in ansible:

<127.0.0.1> (0, '\r\n{"msg": "Failed to validate the SSL certificate for www.paraview.org:443. Make sure your managed systems have a valid CA certificate installed. If the website serving the url uses SNI you need python >= 2.7.9 on your managed machine  (the python executable used (/usr/bin/python) is version: 2.7.6 (default, Nov 23 2017, 15:49:48) [GCC 4.8.4]) or you can install the `urllib3`, `pyOpenSSL`, `ndg-httpsclient`, and `pyasn1` python modules to perform SNI verification in python >= 2.6. You can use validate_certs=False if you do not need to confirm the servers identity but this is unsafe and not recommended. Paths checked for this platform: /etc/ssl/certs, /etc/pki/ca-trust/extracted/pem, /etc/pki/tls/certs, /usr/share/ca-certificates/cacert.org, /etc/ansible. The exception msg was: hostname \'www.paraview.org\' doesn\'t match either of \'*.kitware.com\', \'kitware.com\'.", "failed": true, "exception": "  File \\"/tmp/ansible_eSpk4J/ansible_modlib.zip/ansible/module_utils/urls.py\\", line 1044, in fetch_url\\n    client_key=client_key, cookies=cookies)\\n  File \\"/tmp/ansible_eSpk4J/ansible_modlib.zip/ansible/module_utils/urls.py\\", line 951, in open_url\\n    r = urllib_request.urlopen(*urlopen_args)\\n  File \\"/usr/lib/python2.7/urllib2.py\\", line 127, in urlopen\\n    return _opener.open(url, data, timeout)\\n  File \\"/usr/lib/python2.7/urllib2.py\\", line 410, in open\\n    response = meth(req, response)\\n  File \\"/usr/lib/python2.7/urllib2.py\\", line 523, in http_response\\n    \'http\', request, response, code, msg, hdrs)\\n  File \\"/usr/lib/python2.7/urllib2.py\\", line 442, in error\\n    result = self._call_chain(*args)\\n  File \\"/usr/lib/python2.7/urllib2.py\\", line 382, in _call_chain\\n    result = func(*args)\\n  File \\"/usr/lib/python2.7/urllib2.py\\", line 629, in http_error_302\\n    return self.parent.open(new, timeout=req.timeout)\\n  File \\"/usr/lib/python2.7/urllib2.py\\", line 402, in open\\n    req = meth(req)\\n  File \\"/tmp/ansible_eSpk4J/ansible_modlib.zip/ansible/module_utils/urls.py\\", line 763, in http_request\\n    build_ssl_validation_error(self.hostname, self.port, paths_checked, e)\\n  File \\"/tmp/ansible_eSpk4J/ansible_modlib.zip/ansible/module_utils/urls.py\\", line 591, in build_ssl_validation_error\\n    raise SSLValidationError(\' \'.join(msg) % (hostname, port, \\", \\".join(paths)))\\n", "invocation": {"module_args": {"directory_mode": null, "force": false, "remote_src": null, "owner": null, "follow": false, "client_key": null, "group": null, "use_proxy": true, "unsafe_writes": null, "setype": null, "content": null, "validate_certs": true, "serole": null, "client_cert": null, "timeout": 10, "src": null, "dest": "/var/tmp", "selevel": null, "force_basic_auth": false, "sha256sum": "", "http_agent": "ansible-httpget", "regexp": null, "url_password": null, "url": "http://www.paraview.org/files/v5.2/ParaView-5.2.0-RC4-Qt4-OpenGL2-MPI-Linux-64bit.tar.gz", "checksum": "", "seuser": null, "headers": null, "delimiter": null, "mode": null, "url_username": null, "attributes": null, "backup": null, "tmp_dest": null}}}\r\n', 'OpenSSH_7.6p1 Debian-2, OpenSSL 1.0.2m  2 Nov 2017\r\ndebug1: Reading configuration data /home/LNCMI-G/trophime/.ssh/config\r\ndebug1: Reading configuration data /etc/ssh/ssh_config\r\ndebug1: /etc/ssh/ssh_config line 19: Applying options for *\r\ndebug1: auto-mux: Trying existing master\r\ndebug2: fd 4 setting O_NONBLOCK\r\ndebug2: mux_client_hello_exchange: master version 4\r\ndebug3: mux_client_forwards: request forwardings: 0 local, 0 remote\r\ndebug3: mux_client_request_session: entering\r\ndebug3: mux_client_request_alive: entering\r\ndebug3: mux_client_request_alive: done pid = 12253\r\ndebug3: mux_client_request_session: session request sent\r\ndebug1: mux_client_request_session: master session id: 2\r\ndebug3: mux_client_read_packet: read header failed: Broken pipe\r\ndebug2: Received exit status from master 0\r\nShared connection to 127.0.0.1 closed.\r\n')
The full traceback is:
  File "/tmp/ansible_eSpk4J/ansible_modlib.zip/ansible/module_utils/urls.py", line 1044, in fetch_url
    client_key=client_key, cookies=cookies)
  File "/tmp/ansible_eSpk4J/ansible_modlib.zip/ansible/module_utils/urls.py", line 951, in open_url
    r = urllib_request.urlopen(*urlopen_args)
  File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 410, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 442, in error
    result = self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 629, in http_error_302
    return self.parent.open(new, timeout=req.timeout)
  File "/usr/lib/python2.7/urllib2.py", line 402, in open
    req = meth(req)
  File "/tmp/ansible_eSpk4J/ansible_modlib.zip/ansible/module_utils/urls.py", line 763, in http_request
    build_ssl_validation_error(self.hostname, self.port, paths_checked, e)
  File "/tmp/ansible_eSpk4J/ansible_modlib.zip/ansible/module_utils/urls.py", line 591, in build_ssl_validation_error
    raise SSLValidationError(' '.join(msg) % (hostname, port, ", ".join(paths)))

fatal: [pvw]: FAILED! => {
    "changed": false, 
    "failed": true, 
    "invocation": {
        "module_args": {
            "attributes": null, 
            "backup": null, 
            "checksum": "", 
            "client_cert": null, 
            "client_key": null, 
            "content": null, 
            "delimiter": null, 
            "dest": "/var/tmp", 
            "directory_mode": null, 
            "follow": false, 
            "force": false, 
            "force_basic_auth": false, 
            "group": null, 
            "headers": null, 
            "http_agent": "ansible-httpget", 
            "mode": null, 
            "owner": null, 
            "regexp": null, 
            "remote_src": null, 
            "selevel": null, 
            "serole": null, 
            "setype": null, 
            "seuser": null, 
            "sha256sum": "", 
            "src": null, 
            "timeout": 10, 
            "tmp_dest": null, 
            "unsafe_writes": null, 
            "url": "http://www.paraview.org/files/v5.2/ParaView-5.2.0-RC4-Qt4-OpenGL2-MPI-Linux-64bit.tar.gz", 
            "url_password": null, 
            "url_username": null, 
            "use_proxy": true, 
            "validate_certs": true
        }
    }, 
    "msg": "Failed to validate the SSL certificate for www.paraview.org:443. Make sure your managed systems have a valid CA certificate installed. If the website serving the url uses SNI you need python >= 2.7.9 on your managed machine  (the python executable used (/usr/bin/python) is version: 2.7.6 (default, Nov 23 2017, 15:49:48) [GCC 4.8.4]) or you can install the `urllib3`, `pyOpenSSL`, `ndg-httpsclient`, and `pyasn1` python modules to perform SNI verification in python >= 2.6. You can use validate_certs=False if you do not need to confirm the servers identity but this is unsafe and not recommended. Paths checked for this platform: /etc/ssl/certs, /etc/pki/ca-trust/extracted/pem, /etc/pki/tls/certs, /usr/share/ca-certificates/cacert.org, /etc/ansible. The exception msg was: hostname 'www.paraview.org' doesn't match either of '*.kitware.com', 'kitware.com'."
}
	to retry, use: --limit @/home/LNCMI-G/trophime/paraviewweb/tools/ansible-deprecated/site.retry

PLAY RECAP *********************************************************************
pvw                        : ok=8    changed=3    unreachable=0    failed=1   

Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

I don't know a thing about Ansible, could you help me?

Local Rendering

Dear developers,

I recently started playing with paraviewweb and the visualizer application using the provided docker images in kitware dockerhub. I tried the pvw-visualizer-osmesa-5.5.0 flavor on a windows 10 machine and also the pvw-visualizer-5.5.0 one on a ubuntu-based machine with NVidia GPU (with nvidia-docker engine installed).
In both cases I could make them work by adding "ws://localhost:$SERVER_PORT" (SERVER_PORT being the 8081 port) to the docker run command (and --mesa-llvm for the windows case) and could nicely access the visualizer and load stuff.

My question comes to the "Remote Rendering" checkbox. As soon as I uncheck it I get an exception in the Chrome debugger and the whole scene disappears. Checking it again renders a blank screen. Only way is to refresh the page where I get again the initial state.

Is this supposed to work in any case, or does this work only with some kind of data? I initially thought it might be linked to my OSMesa version under Windows, which is why I tried on Linux, but I get the exact same issue... any hint there?

Thanks,
Sylvain

Weird first visualization

Hello,

Thanks to @jourdain , I was able to build my one visualizer base on ParaViewWeb npm package.
When used on a local computer (both Ubuntu and MacOS), everything is working smootly.

I tried to deploy my project on a g2.2xlarge AWS instance to test performances in real condition.
I had some hard time finding how to install X and nvidia drivers but thanks to this issue I finally succeed.

I tested my project and it seems to works correctly, nevertheless I always get some weird results for my very first connection (after I started the launcher).

Here are two screenshots representing what I got for my first connection and for any other connection:
capture d ecran 2017-01-12 a 16 04 08
capture d ecran 2017-01-12 a 16 04 16

I have looked into ParaViewWeb logs and nothing special appeared.

Here are some test cases:

Test1:

  • Start launcher
  • Start new connection: connection 1 -> weird
  • Start new connection: connection 2 -> OK
  • Start new connection: connection 3 -> OK

Test2:

  • Start launcher
  • Start new connection: connection 1 -> weird
  • Close connection 1
  • Start new connection: connection 2 -> OK
  • Start new connection: connection 3 -> OK

Any idea guys ?

Thanks for your time !

Paraviewweb and JS frameworks

Hi,
I would like to ask about using paraviewweb together javascript frameworks. I see that you are developing new components in ReactJS. Our team is planning to develop a web application using paraviewweb and we definitely want to use some JS framework. We are beginners in this area, thus we do not know which one to choose. We are considering Angular and React. I have been testing integration of paraviewweb with both frameworks and both work. On the other hand, I have tried only one basic example with RemoteRenderer, therefore I am not able to say whether I can get into a situation when one of the frameworks would not support a certain feature. Is there any possible issue with the usage of such frameworks together with paraviewweb? Which one would you recommend me to use in order to have some sort of certainty that the most of the paraviewweb features will work? Thank you.

PropertyGroupWidget property ui visibility not handled correctly

Visibility of Proxy properties with dependencies are not handled correctly.

Take the Contour filter for example, property "Divisions" and "NumberOfPointsPerBucket" has dependency "817:Locator:Uniform Binning:1", they should not be displayed, but in the PropertyGroupWidget, these properties are visible.

Another example, the Glyph filter, with Glyph mode set to "Uniform Spatial Distribution", property "Seed" has dependency "1037:GlyphMode:1:1", it should be displayed but it is not.
(I'm using paraviewweb 2.3.2, visualizer 2.1.4, paraview 5.4 RC3)

I did some investigation, but since I don't understand the system, I don't know how to fix it.

I found that the visibility of a property is determined by the show(ctx) method in the object returned from proxyPropToProp(property, ui) function in src/Common/Misc/ConvertProperty/index.js

    show(ctx) {
      if (depId && ctx.properties[depId] !== undefined) {
        return (ctx.properties[depId][0] === depValue) ? depStatus : !depStatus;
      }
      if (ctx.filter && ctx.filter.length) {
        const queries = ctx.filter.toLowerCase().split(' ');
        let match = true;
        queries.forEach((q) => {
          match = match && searchString.indexOf(q) !== -1;
        });
        return match;
      }
      return !!ctx.advanced || !ui.advanced;
    }

I can't understand the following code:

      if (depId && ctx.properties[depId] !== undefined) {
        return (ctx.properties[depId][0] === depValue) ? depStatus : !depStatus;
      }

And I have no idea why Glyph's property "Seed" depends on "1037:GlyphMode:1:1" instead of "1037:GlyphMode:Uniform Spatial Distribution:1". In the paraviewweb server code, this dependency is generated from property hint function genericDecorator(see paraview/web/protocols.py and decorators.py), rather than from proxy property dependency(proxyProp['dependency']).

Please help !
Thanks in advance !

WSS is not supported in paraviewweb 4.1

Dear All,

I have an issue regarding secure web socket or WSS in paraview web 4.1.

I installed paraview web on a windows server. It works when use default web socket or (WS) over Apache proxy on port 80.

The issue occurs when I tried to use HTTPS instead of HTTP protocol, I changed the configuration in launcher.config file "SessionURL": "wss://localhost:/wss". I got the following error:

WebSocket connection to 'wss://localhost:9005/wss' failed: Error in connection establishment: net::ERR_CONNECTION_RESET
Msg:Connection could not be established.

could some one help me out to solve this issue!

please let me know if there any further missing information!

thanks
Ahmed!

fix-kw-websuite command missing?

I get this error when executing npm install paraviewweb --save:

> [email protected] postinstall /Users/dallen/dev/meteor-client-app/app/node_modules/paraviewweb
> fix-kw-web-suite || true

sh: fix-kw-web-suite: command not found

Not sure if it's a problem, but I thought I would mention it.

Advise on new project: react components or native UI component

Hi,

This library is one of the most mature open source implementation I have found so far. Kudos to you for putting it up!

I was looking at remoterenderer example and it seems to use nativeUi renderer component. I see that visualizer is using react rendering component. Will you be maintaining both with feature parity? What would you advise for an app using paraviewweb in angular 6.

I don't also get from API documents or samples,how I can send a request to server. An example of how to change loaded file from UI, how to apply filters with request from UI would also helpful.

If such a thing already exists, please point me in the right direction. I have spent couple of days to see how I can send custom request via wslink and get UI updated with no success.

vagrant complains about missing ansible/site.yml

Next there is no longer any ansible/site.yml when building with vagrant:

==> pvw: Running provisioner: ansible...
`playbook` does not exist on the host: /home/LNCMI-G/trophime/paraviewweb/tools/ansible/site.yml

QueryDataManager + MouseHandler: need to disable default drag behavior on chrome

When dragging the mouse on the img tag of a QueryDataManager view, on chrome it occasionally uses the default browser behavior of attempting to drag the image and make it follow the cursor. The fix I had to apply was to actually put the -webkit-user-select: none style property on the img tag itself, rather than just the parent element. It would be great if the image element generated by the QueryDataModel already had this style property set on it so downstreams don't have to set it themselves.

Set up as multi-user in Paraview

Hi my friends! I have been working with ParaviewWeb very well but when I have tried to set up the Multi-User mode but I really don't now how I have to set up the file :

**<VirtualHost *:80>
ServerName
ServerAdmin [email protected]
DocumentRoot ""
ErrorLog "logs/pv-error_log"
CustomLog "logs/pv-access_log" common

# Have Apache pass these requests to the launcher
ProxyPass /paraview http://localhost:9000/paraview

# Turn on the rewrite engine
RewriteEngine On

# This is the path the mapping file Jetty creates
RewriteMap session-to-port txt:<MAPPING-FILE-DIR/proxy.txt

# This is the rewrite condition. Look for anything with a sessionId= in the query part of the URL and capture the value to use below.
RewriteCond %{QUERY_STRING}     ^sessionId=(.*)$ [NC]

# This does the rewrite using the mapping file and the sessionId
RewriteRule    ^/proxy.*$  ws://${session-to-port:%1}/ws  [P]

<Directory "<MY-DOCUMENT-ROOT">
    Options Indexes FollowSymLinks
    Order allow,deny
    Allow from all
    AllowOverride None
    Require all granted
</Directory>

**

May you help me How Do I have to put in the parts:

  • The ServerName and DocumentRoot.

Thanks very much.

Local rendering vs remote rendering of rectilinear grid dataset incorrect

Using the docker image pvw-visualizer-osmesa-master located at repo I could successfuly start a Visualizer session.

After loading a rectilinear grid dataset (in vtk format), I created a slice viewer.

  • in remote rendering mode it is correct
  • in local rendering mode the rendering is wrong

remote rendering mode:
image
local rendering mode:
image

Set up of files: 001-pvw.conf and launcher.config

Hi!,

I have been trying set up paraviewweb to work with multiple sessions in one machine but I have had problems in how configure these files: 001-pvw.conf and launcher.config. They look this:

==============================================================================
launcher.config
=================================================================================
{
  ## ===============================
  ## General launcher configuration
  ## ===============================
  "configuration": {
    "host" : "192.168.1.8:8080,                           # name of network interface to bind for launcher webserver
    "port" : 8080,                                  # port to bind for launcher webserver
    "endpoint": "paraview",                         # SessionManager Endpoint
    "content": "/.../www",                          # Optional: Directory shared over HTTP
    "proxy_file" : "/home/christian/Escritorio/mapping-file/proxy.txt",  # Proxy-Mapping file for Apache
    "sessionURL" : "ws://192.168.1.8:8080/ws",       # ws url used by the client to connect to started process
    "timeout" : 5,                                  # Wait time in second after process start
    "log_dir" : "/.../viz-logs",                    
# Directory for log files
    "upload_dir" : "/.../uploadDirectory",          # Start file upload server on same port as launcher
    "fields" : ["file", "host", "port", "updir"]    # Fields not listed are filtered from response
  },
  ## ===============================
  ## Resources list for applications
  ## ===============================
  "resources" : [ { "host" : "http://192.168.1.8:8080/apps/Visualizer/", "port_range" : [9001, 9003] } ],
  ## ===============================
  ## Set of properties for cmd line
  ## ===============================
  "properties" : {
    "build_dir" : "/.../build",
    "python_exec" : "/.../build/bin/vtkpython",
    "WWW" : "/.../build/www",
    "source_dir": "/.../src"
  },
  ## ===============================
  ## Application list with cmd line
  ## ===============================
  "apps": {
    "pipeline": {
      "cmd": [
        "${python_exec}", "-dr", "${python_path}/paraview/web/pv_web_visualizer.py",
        "--port", "${port}", "--data-dir", "${dataDir}", "-f", "--authKey", "${secret}"
      ],
      "ready_line" : "Starting factory"
    },
    "visualizer": {
        "cmd": [
            "${python_exec}", "-dr", "${python_path}/paraview/web/pv_web_visualizer.py",
            "--port", "${port}", "--data-dir", "${dataDir}", "-f", "--authKey", "${secret}"
        ],
        "ready_line" : "Starting factory"
    },
    "loader": {
        "cmd": [
            "${python_exec}", "-dr", "${python_path}/paraview/web/pv_web_file_loader.py",
            "--port", "${port}", "--data-dir", "${dataDir}", "-f", "--authKey", "${secret}"
        ],
        "ready_line" : "Starting factory"
    },
    "data_prober": {
        "cmd": [
            "${python_exec}", "-dr", "${python_path}/paraview/web/pv_web_data_prober.py",
            "--port", "${port}", "--data-dir", "${dataDir}", "-f", "--authKey", "${secret}"
        ],
        "ready_line" : "Starting factory"
==============================================================================
```==
==============================================================================
001-pvw.conf
==================================================================================

<VirtualHost *:80>
    ServerName 192.168.1.8:8080
    ServerAdmin [email protected]
    DocumentRoot /home/christian/Escritorio/Proyecto/build/www
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    ### The following commented lines could be useful when running
    ### over https and wss:
    # SSLEngine On
    # SSLCertificateFile    /etc/apache2/ssl/your_certificate.crt
    # SSLCertificateKeyFile /etc/apache2/ssl/your_domain_key.key
    # SSLCertificateChainFile /etc/apache2/ssl/DigiCertCA.crt
    # <Location /home/christian/Escritorio/Proyecto/build/www>
    #   SSLRequireSSL On
    #   SSLVerifyClient optional
    #   SSLVerifyDepth 1
    #   SSLOptions +StdEnvVars +StrictRequire
    # </Location>


    # Rule for ParaViewWeb launcher
    ProxyPass /paraview http://localhost:8080/paraview

    # Rewrite setup for ParaViewWeb
    RewriteEngine On

    # This is the path the mapping file Jetty creates
    RewriteMap session-to-port txt:/home/christian/Escritorio/mapping-file/proxy.txt

    # This is the rewrite condition. Look for anything with a sessionId= in the query part of the URL and capture the value to use below.
    RewriteCond %{QUERY_STRING}     ^sessionId=(.*)&path=(.*)$ [NC]
    # This does the rewrite using the mapping file and the sessionId
    RewriteRule    ^/proxy.*$  ws://${session-to-port:%1}/%2  [P]
    <Directory "/home/christian/Escritorio/Proyecto/build/www">
        Options Indexes FollowSymLinks
        Order allow,deny
        Allow from all
        AllowOverride None
        Require all granted
    </Directory>

</VirtualHost>

I would like to know if this configuration is the correct.

Thank you for your time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.