Subscribe to this thread
Home - General / All posts - script documentation
lionel

995 post(s)
#12-Jul-17 21:18

since software are not cristall ball where i can find in case the message return by manifold is not clear enough for me to know which step i have to follow to make the things work !!

Here a capture screen of all kind of script language available inside manifold V8 with map v8 content and manifold V9 ( aka radian) with map V9 content .

V8 Script http://www.georeference.org/doc/scripts.htm

V9 script http://manifold.net/doc/radian/scripts.htm

In the capture screen you can see that python and ironpython don't work ! but python 2.7.13 (anaconda 32 bit 4.4.0) and ironpython 2.7.7rc2 (.NET 32 bit 4.0.30319 ) using command line work !!

It seem there is no information about how manifold detect the python and ironpyhton that are install in my OS ( window 10 home) . I can confirm python and ironpython work and run and are available from any "launch" path using cmd.exe executable.

No information about script 32 / 64 bit and manifold 32 /64 bit compatibility .

No information about .NET version supported .... .

The documentation should be more explicit about language supported by default without install any third application and script that need third application to be install !!

In a way when read the script header for python script ( in V9 map and software) since python item don't appear in V8 map/Software .... i can read

# PythonScript

#

# Note: running script requires ActivePython

Does it mean that package python installer like python(x,y) , sage , anaconda ll not work with manifold

Same for javascript ., i ll expect to see in properties some information about the javascript syntax engine runtime version but nothing and it don't find until now an easy way to use javascript ( duck duck way ?) to know on wich engine it ll be compile run !! many microsoft developper go to javascript using typescript use by google angular . I see during creation of script inside v9 a input form for give a path ( file os path ) . Does it mean manifold support script from the OS file system and not only the manifold project pane ?

If the message windows pop up is can't create script engine because it is not installe i think for me that the message give the best informatin to know what to do. When I read Can't create script engine I really don't know what can i do to resolve the issue !

Hope all this question about version number make sense !!

Regard's

Attachments:
manifold_script_test.png


Book about Science , cosmological model , Interstellar travels

Boyle surface fr ,en

lionel

995 post(s)
#13-Jul-17 22:13

the list of language that need install is in the documentation ( http://manifold.net/doc/api/scripts-net.html#_net___com_languages ) without comment about 32 or 64 bit ( i have to read more perhaps to find the information ...) .

After the documentation , the name version fo the supported framework is 4+ ( i think it mean 4.5 4.6 .47 at this time ). Don't know how microsoft manage the FW Does among all the .NET version already install locally , the last number higher one is set and enable by default ?

regard's


Book about Science , cosmological model , Interstellar travels

Boyle surface fr ,en

lionel

995 post(s)
#14-Jul-17 00:24

after some javascript test and reading i think the javascript engine is chakra ES6 .

for brower IE https://kangax.github.io/compat-table/es6/

git project https://github.com/Microsoft/ChakraCore/wiki/Roadmap

debug https://www.microsoft.com/en-us/research/project/javascript-time-travel-debugger/#

microsoft OS is itselft a portable runtime call now Windows 10 Universal Application Platform (UAP) !!

microsoft js runtime https://docs.microsoft.com/en-us/scripting/chakra-hosting/javascript-runtime-hosting


Book about Science , cosmological model , Interstellar travels

Boyle surface fr ,en

adamw


10,447 post(s)
#14-Jul-17 09:45

We are using V8. It is very similar to Chakra.

adamw


10,447 post(s)
#14-Jul-17 09:44

We agree we should improve the documentation particularly on requirements. We will do this.

In the meantime (everything below applies to both Radian and Manifold Viewer, I am labeling them both as 'Radian'):

If the script engine is 32-bit you can only use it from the 32-bit Radian. If the script engine is 64-bit you can only use it from the 64-bit Radian. This is mostly relevant to COM engines, older ones are mostly 32-bit only.

The required version of .NET is .NET 4+. (I believe this bit is in the documentation.)

The PythonScript engine is for ActivePython, as the default script says in the comments. This is a fairly old implementation of Python from ActiveState, distributed as a COM engine. To use it, install it (the COM engine will write where it is installed into the registry, the usual COM stuff), then launch Radian of the right bitness (likely 32-bit), then use the script.

The other Python engine, IronPython is a modern one, based on .NET. Currently, you have to perform additional steps to use it from Radian after installing. Nothing big, but you have to do some additional wiring (and we completely agree it should be documented, we will do this) - see this post from Tim for details.

The Javascript engines are even more numerous than Python, there are three of them. JScript is an old COM engine that comes with Internet Explorer. It exists everywhere. JScript.NET is a .NET version of Javascript. It exists everywhere where there is .NET. JavaScript is the name we use for the V8 Javascript engine. It is built into the Radian core, is much faster than the counterparts and has numerous other benefits. It uses a specialized object model which we are in the process of documenting - it is somewhat similar to the .NET object model which is documented quite extensively now, but there are small differences.

I see during creation of script inside v9 a input form for give a path ( file os path ) . Does it mean manifold support script from the OS file system and not only the manifold project pane ?

No. You run scripts from the Project pane (or from a script window, or portions from a command window, or you can link or import a file and run the resulting script component, etc) just fine. The paths that you saw in the script comments are references for .NET scripts. When a .NET script tries to use an object defined in some assembly, we have to know where that assembly is located and the script provides the path in the comments via the $reference syntax.

Thanks a lot for your notes, we will try to make it all clearer and more discoverable.

Manifold User Community Use Agreement Copyright (C) 2007-2021 Manifold Software Limited. All rights reserved.