<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Date: Tue, 11 Apr 2017 04:41:32 -0700 (MST)<br>
From: Tom Chadwin <<a href="mailto:tom.chadwin@nnpa.org.uk">tom.chadwin@nnpa.org.uk</a>><br><br>
Yes, I mean that all models are made up of discrete algorithms, and those<br>
algorithms will only really work as intended if chained together as in the<br>
model. Nevertheless, the algorithms will appear in the Processing toolbox,<br>
so users could try to use them in isolation, and have difficulty forming the<br>
required inputs. Or do you prevent the individual algorithms appearing in<br>
the Processing toolbox?<br><br></blockquote><div><br></div><div>I believe there is always the option to turn a model into an algorithm using the Export as Python script functionality of the model editor.</div><div><br></div><div>The underlying algorithms still need to be available but could be in their own group ('advanced', 'atomic', 'dangerzone :)') and the integrated algorithm could be named accordingly as well ('runme :)').</div><div><br></div><div>But in the end it comes down to making more universally (perhaps within the problem domain) useful algorithms and providing good documentation ( which is pretty easy using the built-in help system ). For example, I came to the conclusion that is useful to have a very basic algorithm 'write string to file' as a basic building block of models using algorithms which output strings and digest files.</div><div><br></div><div>I had similar concerns and started to think that it should be possible to 'compile' a script (recursively) which uses processing.runalg down to a script which only uses 'native' api functionality and 'native' algorithms. Effectively, patching in the called script source (perhaps as a function?). The 'compiler' could perhaps be an algorithm itself. This way it would be easy to provide just a single algorithm which is not depending on other custom algorithms.</div><div><br></div><div>-Andreas</div><div><br></div><div> </div></div>
</div></div>