<div dir="ltr"><div dir="ltr"><div dir="ltr">Greg,<div>OpenXTalk is a rapid application development environment.</div><div>Drag and drop buttons, fields, graphics, menus with super easy scripting.</div><div>Scribus is page layout is drag and drop fields, buttons, graphics with some scripting for PDF</div><div><br></div><div>BUT, it could also make applications with the OpenXTalk engine, it could also be </div><div>easily scriptable to make web pages from the page content, and or to create </div><div>GUI based extensions for the program.</div><div>For instance if you wanted to build a quick access visual library from SVG Fonts</div><div>The Font is converted from XML to JSON , by online converter, just so I didn't have to code that part </div><div>Then this button script loads the JSON</div><div><p><b><font color="#000000">on</font></b><font color="#000000"> mouseUp pMouseButton<br></font><b><font color="#7F7F00">local</font></b><font color="#000000"> tFile, tData, tArray<br></font><b><font color="#7F7F00">answer</font></b><font color="#000000"> </font><font color="#7F007F">file</font><font color="#000000"> </font><font color="#00007F">"Choose a JSON file to load"</font><font color="#000000"> </font><font color="#7F007F">with</font><font color="#000000"> </font><b><font color="#7F7F00">type</font></b><font color="#000000"> </font><font color="#00007F">"JSON|json|JSON"<br></font><font color="#000000"><b>if</b> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#7F007F">result</font><font color="#000000"> </font><font color="#7F007F">is</font><font color="#000000"> </font><font color="#7F007F">not</font><font color="#000000"> </font><font color="#00007F">"cancel"</font><font color="#000000"> <b>then<br></b></font><b><font color="#7F7F00">put</font></b><font color="#000000"> it </font><font color="#7F007F">into</font><font color="#000000"> tFile<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">url</font><font color="#000000"> (</font><font color="#00007F">"file:"</font><font color="#000000"> & tFile) </font><font color="#7F007F">into</font><font color="#000000"> tData<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> JSONToArray(tData) </font><font color="#7F007F">into</font><font color="#000000"> tArray<br></font><b style="color:rgb(0,0,0)">end</b><span style="color:rgb(0,0,0)"> </span><b><font color="#000000">if<br></font></b><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> SVGArray </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">this</font><font color="#000000"> </font><font color="#7F007F">stack</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> tArray<br></font><b><font color="#000000">end</font></b><font color="#000000"> mouseUp</font></p>
<p></p></div><div>Then this button script displays the data in a Tree View, like a desktop directory structure</div><div><p><b><font color="#000000">on</font></b><font color="#000000"> mouseUp<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> SVGArray </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">this</font><font color="#000000"> </font><font color="#7F007F">stack</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> tArray<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> arraydata </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">widget</font><font color="#000000"> </font><font color="#00007F">"Tree View"</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> tArray<br></font><b><font color="#000000">end</font></b><font color="#000000"> mouseUp</font></p><p><font color="#000000">Then this button script massages the JSON font data to only the SVG image data</font></p><p><b><font color="#000000">on</font></b><font color="#000000"> mouseUp<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> SVGArray </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">stack</font><font color="#000000"> (</font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">mainStack</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">this</font><font color="#000000"> </font><font color="#7F007F">stack</font><font color="#000000">) </font><font color="#7F007F">into</font><font color="#000000"> svgD<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> svgd[</font><font color="#00007F">"svg"</font><font color="#000000">] </font><font color="#7F007F">into</font><font color="#000000"> array1<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> array1[</font><font color="#00007F">"defs"</font><font color="#000000">] </font><font color="#7F007F">into</font><font color="#000000"> array2<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> array2[</font><font color="#00007F">"font"</font><font color="#000000">] </font><font color="#7F007F">into</font><font color="#000000"> array3<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> array3[</font><font color="#00007F">"glyph"</font><font color="#000000">] </font><font color="#7F007F">into</font><font color="#000000"> tIcon<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> SVGArray </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">stack</font><font color="#000000"> (</font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">mainStack</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">this</font><font color="#000000"> </font><font color="#7F007F">stack</font><font color="#000000">) </font><font color="#7F007F">to</font><font color="#000000"> </font><span style="color:rgb(0,0,0)">tIcon<br></span><b><font color="#000000">end</font></b><font color="#000000"> mouseUp</font></p><p><font color="#000000">I could then make a big (or small) grid of SVG widgets to pick the icons visually</font></p><p><font color="#000000">But for simplicity this slider script quickly displays the SVG one by one</font></p><p><b><font color="#000000">on</font></b><font color="#000000"> scrollbarDrag<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">thumbposition</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">me</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> N<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> hilitedElement </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">widget</font><font color="#000000"> </font><font color="#00007F">"Tree View"</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> tElement<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> arrayData </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">widget</font><font color="#000000"> </font><font color="#00007F">"Tree View"</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> tArray<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> tArray[N] </font><font color="#7F007F">into</font><font color="#000000"> tSubArray<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> tSubArray[</font><font color="#00007F">"_d"</font><font color="#000000">] </font><font color="#7F007F">into</font><font color="#000000"> tSVGpath<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> iconPath </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">widget</font><font color="#000000"> </font><font color="#00007F">"SVG Icon"</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> tSVGPath<br></font><b><font color="#000000">end</font></b><font color="#000000"> scrollbarDrag</font></p><p><font color="#000000">So now I can quickly view and access the data of any SVG Icon in the font.<br>Passing that to Scribus is what I can't do yet, but let's say hypothetically they are bridged</font></p><p><font color="#000000">Then  Scribus is considered a Stack by OpenXTalk each open document is considered substack of that Mainstack<br>The SVGlibrary I've just described could pass the data something like this by clicking the displayed SVG icon</font></p><p><font color="#000000">we'd probably want to store this as a global before using any palettes</font></p><p><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">long</font><font color="#000000"> </font><font color="#007F7F">name</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#7F007F">focusedObject</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> gActiveDocument</font><font color="#000000"><br></font></p><p><font color="#000000">-- that would store the entire path of the currentDocument as far as OpenXTalk is concerned like this</font></p><p>card id 1002 of stack "[Document-1]" of stack "C:\Program Files (x86)\Scribus 1.4.8\Scribus.exe"</p><p>Then when we click the icon:</p><p><b><font color="#000000">on</font></b><font color="#000000"> mouseup<br></font><b><font color="#7F7F00">do "copy</font></b><font color="#000000"> </font><font color="#7F007F">widget" && </font><font color="#000000"> quote & </font><font color="#00007F">"SVG Icon" & </font><font color="#000000"> quote && "</font><font color="#7F007F">to</font><font color="#000000"> </font> <span style="color:rgb(0,0,0)">gActiveDocument"</span><br><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">width</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> it </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#00007F">120<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">height</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> it </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#00007F">120<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">topLeft</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> it </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#00007F">20</font><font color="#000000">,</font><font color="#00007F">20<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">foregroundColor</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> it </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#7F007F">white<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">dropShadow</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> it </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#7F007F">true<br></font><b><font color="#000000">end</font></b><font color="#000000"> mouseUp</font></p><p><font color="#000000">Now what you have is basically a Scribus Scrapbook, but it's instant access to maybe 200 or or more graphics in a few clicks.</font></p><p><font color="#000000">You can do similar with a whole folder of all formats of image files, although OpenXTalk current has no way to manage Adobe Illustrator, EPS.</font></p><p><font color="#000000">Another example: I took all my child's digital art 100+ images and converted it to PDF in a couple clicks and sent it off to the printer:</font></p><p><font color="#000000">As soon as I open the stack (or built binary app) it requests a folder to find images in :</font></p><p><font color="#000000">   <b>on</b> OpenStack<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">width</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#7F007F">templateImage</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#00007F">550<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">height</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#7F007F">templateImage</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#00007F">720<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">loc</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#7F007F">templateImage</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#00007F">310</font><font color="#000000">,</font><font color="#00007F">390<br></font><b><font color="#7F7F00">local</font></b><font color="#000000"> tRatio, tHeight,tWidth<br></font><b><font color="#7F7F00">answer</font></b><font color="#000000"> </font><font color="#00007F">"Select a folder to load images from"</font><font color="#000000"> </font><font color="#7F007F">with</font><font color="#000000"> </font><font color="#00007F">"OK"<br></font><b><font color="#7F7F00">answer</font></b><font color="#000000"> </font><font color="#007F7F">folder</font><font color="#000000"> </font><font color="#00007F">"IMAGE FILES :"<br></font><font color="#000000"><b>if</b> it </font><font color="#7F007F">is</font><font color="#000000"> </font><font color="#7F007F">not</font><font color="#000000"> </font><font color="#7F007F">empty</font><font color="#000000"> <b>then<br></b></font><b><font color="#7F7F00">put</font></b><font color="#000000"> it </font><font color="#7F007F">into</font><font color="#000000"> tFolder<br></font><b style="color:rgb(0,0,0)">else<br></b><b style="color:rgb(0,0,0)">exit</b><span style="color:rgb(0,0,0)"> openStack<br></span><b style="color:rgb(0,0,0)">end</b><span style="color:rgb(0,0,0)"> </span><span style="color:rgb(0,0,0)"><b>if<br></b></span><font color="#000000">clearCards<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">folder</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> tFolder<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#7F007F">files</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> tFiles<br></font><font color="#000000"><b>repeat</b> </font><font color="#7F007F">for</font><font color="#000000"> </font><font color="#7F007F">each</font><font color="#000000"> </font><font color="#7F007F">line</font><font color="#000000"> F </font><font color="#7F007F">in</font><font color="#000000"> tFiles<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> tFolder &</font><font color="#00007F">"/"</font><font color="#000000"> & F </font><font color="#7F007F">into</font><font color="#000000"> tFile<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#007F7F">fileName</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#7F007F">templateImage</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> tFile<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">char</font><font color="#000000"> </font><font color="#00007F">1</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> -4 </font><font color="#7F007F">of</font><font color="#000000"> F </font><font color="#7F007F">into</font><font color="#000000"> tName<br></font><b><font color="#7F7F00">lock</font></b><font color="#000000"> </font><font color="#007F7F">screen<br></font><b><font color="#7F7F00">create</font></b><font color="#000000"> </font><font color="#7F007F">image</font><font color="#000000"> tName<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">long</font><font color="#000000"> </font><font color="#007F7F">name</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">image</font><font color="#000000"> tName </font><font color="#7F007F">into</font><font color="#000000"> pImageID<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#00007F">550</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> pWidth<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> (</font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">formattedWidth</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> pImageID) / pWidth </font><font color="#7F007F">into</font><font color="#000000"> tRatio<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> (</font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">formattedHeight</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> pImageID) / tRatio </font><font color="#7F007F">into</font><font color="#000000"> tHeight<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">width</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> pImageID </font><font color="#7F007F">to</font><font color="#000000"> pWidth<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">height</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> pImageID </font><font color="#7F007F">to</font><font color="#000000"> tHeight<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#00007F">720</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> pHeight<br></font><b style="color:rgb(0,0,0)">if</b><span style="color:rgb(0,0,0)"> </span>tHeight<span style="color:rgb(0,0,0)"> > </span>pHeight<span style="color:rgb(0,0,0)"> </span><b style="color:rgb(0,0,0)">then<br></b><b><font color="#7F7F00">put</font></b><font color="#000000"> (</font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">formattedHeight</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> pImageID) / pHeight </font><font color="#7F007F">into</font><font color="#000000"> tRatio<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> (</font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">formattedWidth</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> pImageID) / tRatio </font><font color="#7F007F">into</font><font color="#000000"> tWidth<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">width</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> pImageID </font><font color="#7F007F">to</font><font color="#000000"> tWidth<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">height</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> pImageID </font><font color="#7F007F">to</font><font color="#000000"> pHeight<br></font><b style="color:rgb(0,0,0)">end</b><span style="color:rgb(0,0,0)"> </span><b style=""><font color="#000000">if<br></font></b><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">loc</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> pImageID </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#00007F">310</font><font color="#000000">,</font><font color="#00007F">390<br></font><b><font color="#7F7F00">unlock</font></b><font color="#000000"> </font><font color="#007F7F">screen<br></font><b><font color="#7F7F00">create</font></b><font color="#000000">  </font><font color="#7F007F">card<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">number</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">cards</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">this</font><font color="#000000"> </font><font color="#7F007F">stack</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> N<br></font><b><font color="#7F7F00">go</font></b><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#7F007F">card</font><font color="#000000"> N<br></font><b style="color:rgb(0,0,0)">end</b><span style="color:rgb(0,0,0)"> </span><b style=""><font color="#000000">repeat<br></font></b><b><font color="#7F7F00">delete</font></b><font color="#000000"> </font><font color="#7F007F">card</font><font color="#000000"> N<br></font><b><font color="#7F7F00">go</font></b><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#7F007F">card</font><font color="#000000"> </font><font color="#00007F">1<br></font><span style="color:rgb(0,0,0)">printcards<br></span><b><font color="#000000">end</font></b><font color="#000000"> OpenStack</font></p><p><font color="#000000">## Prints to PDF opens the PDF when done</font></p><p></p><p><b><font color="#000000">on</font></b><font color="#000000"> printCards<br></font><b><font color="#007F00">## Path to the pdf file we want to create<br></font></b><b><font color="#7F7F00">answer</font></b><font color="#000000"> </font><font color="#00007F">"Printing Cards to PDF"</font><font color="#000000"> </font><font color="#7F007F">with</font><font color="#000000"> </font><font color="#00007F">"OK"<br></font><b><font color="#7F7F00">set</font></b><font color="#000000"> </font><font color="#007F7F">itemDel</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> </font><font color="#00007F">"/"<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">item</font><font color="#000000"> -1 </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">folder</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> tName<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">item</font><font color="#000000"> </font><font color="#00007F">1</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> -2 </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">folder</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> tPath<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">specialFolderPath</font><font color="#000000">(</font><font color="#00007F">"documents"</font><font color="#000000">) & </font><font color="#00007F">"/"</font><font color="#000000"> & tName & </font><font color="#00007F">".pdf"</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> tPDFPath<br></font><b><font color="#7F7F00">open</font></b><font color="#000000"> </font><font color="#7F007F">printing</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> pdf tPDFPath<br></font><font color="#000000"><b>if</b> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#7F007F">result</font><font color="#000000"> </font><font color="#7F007F">is</font><font color="#000000"> </font><font color="#00007F">"Cancel"</font><font color="#000000"> <b>then<br></b></font><b><font color="#007F00">## The user has cancelled printing<br></font></b><b style="color:rgb(0,0,0)">exit</b><span style="color:rgb(0,0,0)"> printCards<br></span><b style=""><font color="#000000">else<br></font></b><b><font color="#007F00">## Print the cards into the printable area<br></font></b><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">the</font><font color="#000000"> </font><font color="#007F7F">number</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">cards</font><font color="#000000"> </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">this</font><font color="#000000"> </font><font color="#7F007F">stack</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> N<br></font><font color="#000000"><b>repeat</b> </font><font color="#7F007F">with</font><font color="#000000"> I = </font><font color="#00007F">1</font><font color="#000000"> </font><font color="#7F007F">to</font><font color="#000000"> N<br></font><b><font color="#7F7F00">print</font></b><font color="#000000"> </font><font color="#7F007F">card</font><font color="#000000"> I </font><font color="#7F007F">of</font><font color="#000000"> </font><font color="#7F007F">this</font><font color="#000000"> </font><font color="#7F007F">stack</font><font color="#000000"> </font><font color="#7F007F">into</font><font color="#000000"> </font><font color="#00007F">0</font><font color="#000000">,</font><font color="#00007F">0</font><font color="#000000">,</font><font color="#00007F">611</font><font color="#000000">,</font><font color="#00007F">792<br></font><b><font color="#7F7F00">print</font></b><font color="#000000"> </font><b><font color="#7F7F00">break<br></font></b><b style="color:rgb(0,0,0)">end</b><span style="color:rgb(0,0,0)"> </span><b style="color:rgb(0,0,0)">repeat<br></b><b style="color:rgb(0,0,0)">end</b><span style="color:rgb(0,0,0)"> </span><b style=""><font color="#000000">if<br></font></b><b><font color="#7F7F00">close</font></b><font color="#000000"> </font><font color="#7F007F">printing<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#00007F">"start"</font><font color="#000000"> && </font><font color="#7F007F">quote</font><font color="#000000"> & </font><font color="#7F007F">quote</font><font color="#000000">  && tPDFPath </font><font color="#7F007F">into</font><font color="#000000"> tCmd<br></font><b><font color="#7F7F00">put</font></b><font color="#000000"> </font><font color="#7F007F">shell</font><font color="#000000">(tCmd) </font><font color="#7F007F">into</font><font color="#000000"> openThePDF<br></font><b><font color="#000000">end</font></b><font color="#000000"> printCards</font></p><p><font color="#000000">------------------------------------------------------------------------</font></p><p><font color="#000000">That same process could be used if say you were printing 200 playing cards, or greeting cards.<br>you could modify that script above quickly and visually </font><span style="color:rgb(0,0,0)">for the loading of images and placement into the page on a galley<br>or with some extra scripts it could be an iPhone/Android app from the same folder of images<br>or with some template CSS and Javascript or Hyperscript it could be a web sites worth of content</span></p><p><font color="#000000">Now the trick is to get OpenXtalk and Scribus to talk together</font></p><p><font color="#000000">A layout in Scribus would be understood as a layout in OpenXtalk seamlessly.<br>Making new GUI extensions of Scribus would be easy.<br>A graphic designer could make an application for desktop, mobile or web as easily as making a business card.</font></p><p><font color="#000000">Everything you can do with Python, but with more features like drag and drop GUI, syntax highlighting, built in documentation, error checking in the script editor,<br>It's already in the package, just needs to be adapted. OpenXTalk current uses Cairo for UI and Skia for the web browser widget.<br>You'd probably want to wrap your QT implementation.</font></p><p><font color="#000000">That's just the start. I'm sure there are more use cases like job tracking, scheduling, billing, proofing, client contact info etc that could all be <br></font><span style="color:rgb(0,0,0)">scripted into the productivity environment of Scribus at the end user level or as </span> add<span style="color:rgb(0,0,0)"> ons made available to all.</span></p><p><font color="#000000">Here's a list of quarkxpress Xtensions from back in the 90s,<br></font><a href="https://macintoshgarden.org/apps/63-quarkxpress-xtensions-utilities-the-90s">QuarkXPress XTensions & Utilities from the 90's - Macintosh Garden</a></p><p><span style="color:rgb(0,0,0)">Most of this stuff is default in every page layout app now. They all were created with the same kind of 'scriptable page layout program' concept.<br>There was no visual editor then, which was baffling, you have a page layout program but can't layout a graphical user interface from a graphic user interface?<br>So the big idea is to finally end that silly paradox.</span></p><p><span style="color:rgb(0,0,0)">Hope that illustrates the concept better.</span></p><p><span style="color:rgb(0,0,0)">Regards,<br>Beth<br></span><span style="color:rgb(0,0,0)"> </span></p><p><font color="#000000"><br></font></p><p><br></p><p><font color="#000000"><br></font></p><p><font color="#000000"><br></font></p>
<p></p></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Nov 21, 2021 at 5:01 AM <<a href="mailto:scribus-request@lists.scribus.net">scribus-request@lists.scribus.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Send scribus mailing list submissions to<br>
        <a href="mailto:scribus@lists.scribus.net" target="_blank">scribus@lists.scribus.net</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
        <a href="http://lists.scribus.net/mailman/listinfo/scribus" rel="noreferrer" target="_blank">http://lists.scribus.net/mailman/listinfo/scribus</a><br>
or, via email, send a message with subject or body 'help' to<br>
        <a href="mailto:scribus-request@lists.scribus.net" target="_blank">scribus-request@lists.scribus.net</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:scribus-owner@lists.scribus.net" target="_blank">scribus-owner@lists.scribus.net</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of scribus digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
   1.  OpenXTalk: Open Source Rapid Application Development and<br>
      Scribus (Beth Rains)<br>
   2. Re:  OpenXTalk: Open Source Rapid Application Development and<br>
      Scribus (Gregory Pittman)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Sat, 20 Nov 2021 16:11:07 -0700<br>
From: Beth Rains <<a href="mailto:bethbrains@gmail.com" target="_blank">bethbrains@gmail.com</a>><br>
To: <a href="mailto:scribus@lists.scribus.net" target="_blank">scribus@lists.scribus.net</a><br>
Subject: [scribus] OpenXTalk: Open Source Rapid Application<br>
        Development and Scribus<br>
Message-ID:<br>
        <CA+hNAdSLb+L1U+oWe9-8A07v5rWwzvkwcWk_EMoDh_MgWym=<a href="mailto:AQ@mail.gmail.com" target="_blank">AQ@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
  Hello Scribus!<br>
I'm here to see if there'd be interest in adopting OpenXTalk as a<br>
feature/companion to Scribus.<br>
<br>
At the end of August 2021 Livecode Inc, announced that nobody but their<br>
company was contributing to the source code and most of their users were<br>
using the free Community Edition so without any warning they ended the open<br>
source initiative of their Rapid Application Development environment and<br>
pulled all their free Community Edition installers from their public facing<br>
downloads page.<br>
<br>
Paul McClernan stepped up and created the OpenXTalk project to carry on the<br>
open source dream.<br>
<br>
So here we are, three or six people who can't code C/C++ & Python<br>
which limits our ability to get a rebranded free IDE out to  the public.<br>
I'm stuck with compiler errors and I have no idea how to fix them. We all<br>
come from a background with the IDE: Super simple English-Like scripting,<br>
two or three button presses to compile to binary applications for Linux,<br>
Windows, Mac OSX , Android, iOS and HTML5, so the advantage of  almost two<br>
decades of simplicity has left us at a programming disadvantage. Like being<br>
able to drive real fast, but not build a car from a box of parts..<br>
<br>
Meanwhile, Paul dreams of adding desktop publishing features to the<br>
Livecode/OpenXTalk IDE and I've dreamed of a page layout app that can<br>
produce applications for decades. I even wrote QuarkXpress way back in 1997<br>
with a long winded document all about that, soon after they had an XTension<br>
that made something like super slow Myst experiences, that mutilated the<br>
graphics by using PICT resources, and I had to make apps that were 320x240<br>
just fit on ZIP disks.<br>
<br>
So I got to thinking...what if you could design  desktop, mobile and/or<br>
web applications inside of Scribus? I see you have some Python, which is<br>
not as easy to script as xTalk even though it's insanely popular. It has a<br>
lot of GUI frameworks but doesn't just come prebuilt with one.<br>
I see you have Javascript for PDFS, that's interesting.<br>
They don't seem to work directly in Scribus though?<br>
They only work in Acrobat? No browser seems to take the MouseUp<br>
<br>
But what if you had something even better than Python and Javascript? Well<br>
maybe not better, but just easier and more application ready?.<br>
<br>
You can get the Free Livecode Community Edition Installers at Archive.org<br>
<<a href="https://archive.org/search.php?query=creator%3A%22LiveCode%2C+Inc.%22" rel="noreferrer" target="_blank">https://archive.org/search.php?query=creator%3A%22LiveCode%2C+Inc.%22</a>><br>
You can reach the OpenXTalk group via our forums <<a href="https://openxtalk.org/" rel="noreferrer" target="_blank">https://openxtalk.org/</a>><br>
Or our subreddit  <<a href="https://www.reddit.com/r/openxtalk" rel="noreferrer" target="_blank">https://www.reddit.com/r/openxtalk</a>><br>
You can fork the source on Github<br>
<<a href="https://github.com/OpenXTalk-org/OpenXTalk-Community-DPE" rel="noreferrer" target="_blank">https://github.com/OpenXTalk-org/OpenXTalk-Community-DPE</a>><br>
<br>
Livecode, Inc. doesn't want to associate with the open source at all, so<br>
you'll have to Google for their forums and documentation, or just download<br>
and install the apps and click around in the menus as a shortcut until we<br>
can build our own binaries and replace all that.<br>
<br>
So what I'm hoping for from Scribus as a software group and community is:<br>
1. adoption of the xTalk language for scriptable Scribus<br>
2. maybe some programming support since we are undermanned and<br>
undereducated for this task at the moment<br>
3.featuring the xTalk environment as a product suite with Scribus<br>
4. and community feedback, general interest, cross development<br>
<br>
It might take some time to work out the details but here it is on the table.<br>
OpenXTalk is Paul's project but there's nothing stopping Scribus from<br>
making SuperScriptableScribus from a fork of the GPLv3 code.<br>
<br>
I should also mention that through the mysterious Builder Language<br>
<<a href="https://github.com/livecode/livecode/blob/develop/docs/guides/LiveCode%20Builder%20Language%20Reference.md" rel="noreferrer" target="_blank">https://github.com/livecode/livecode/blob/develop/docs/guides/LiveCode%20Builder%20Language%20Reference.md</a>><br>
it is possible to wrap Python, Javascript, Lua and other libraries to the<br>
IDE. without recompiling the whole project. This also allows for<br>
development of custom widgets, like the web browser widget, SVG importer,<br>
line chart widget, and native smartphone OS controls you can see in the IDE<br>
now.<br>
<br>
I got about 2% into wrapping  rayLib <<a href="https://www.raylib.com/" rel="noreferrer" target="_blank">https://www.raylib.com/</a>>to the IDE<br>
with builder language before my lack of C knowledge stopped me cold. I have<br>
an openGL window open at least. Baby steps.<br>
<br>
One more interesting detail: there is a separate project that is bringing<br>
xTalk to the web: Hyperscript <<a href="https://hyperscript.org/" rel="noreferrer" target="_blank">https://hyperscript.org/</a>> It's very<br>
promising. We could all work together to create a magical page layout,<br>
desktop application, smartphone app, web experience powerhouse.<br>
<br>
 Please enjoy your free copy of Livecode Community Edition on behalf of the<br>
3,342  people who donated  ?493,795 to make it open source in 2013. The IDE<br>
should run smoothly for fourteen years or so if old copies on my machine<br>
are any indication.<br>
<br>
I hope to hear your views and would be very pleased for your support in any<br>
capacity.<br>
<br>
Thanks for your attention.<br>
<br>
Regards,<br>
Beth<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.scribus.net/pipermail/scribus/attachments/20211120/682f2d40/attachment.htm" rel="noreferrer" target="_blank">http://lists.scribus.net/pipermail/scribus/attachments/20211120/682f2d40/attachment.htm</a>><br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Sat, 20 Nov 2021 20:17:52 -0500<br>
From: Gregory Pittman <<a href="mailto:gpittman@iglou.com" target="_blank">gpittman@iglou.com</a>><br>
To: <a href="mailto:scribus@lists.scribus.net" target="_blank">scribus@lists.scribus.net</a><br>
Subject: Re: [scribus] OpenXTalk: Open Source Rapid Application<br>
        Development and Scribus<br>
Message-ID: <<a href="mailto:91f85709-0c25-5100-0560-ed4159004cb2@iglou.com" target="_blank">91f85709-0c25-5100-0560-ed4159004cb2@iglou.com</a>><br>
Content-Type: text/plain; charset=UTF-8; format=flowed<br>
<br>
Hi Beth,<br>
<br>
What I'm not getting from your post is what OpenXTalk is or does.<br>
Scribus is a layout application, used to generate PDFs. How does that interact with what OpenXTalk wants to accomplish?<br>
<br>
Greg<br>
<br>
On 11/20/21 18:11, Beth Rains wrote:<br>
>    Hello Scribus!<br>
> I'm here to see if there'd be interest in adopting OpenXTalk as a<br>
> feature/companion to Scribus.<br>
> <br>
> At the end of August 2021 Livecode Inc, announced that nobody but their<br>
> company was contributing to the source code and most of their users were<br>
> using the free Community Edition so without any warning they ended the open<br>
> source initiative of their Rapid Application Development environment and<br>
> pulled all their free Community Edition installers from their public facing<br>
> downloads page.<br>
> <br>
> Paul McClernan stepped up and created the OpenXTalk project to carry on the<br>
> open source dream.<br>
> <br>
> So here we are, three or six people who can't code C/C++ & Python<br>
> which limits our ability to get a rebranded free IDE out to  the public.<br>
> I'm stuck with compiler errors and I have no idea how to fix them. We all<br>
> come from a background with the IDE: Super simple English-Like scripting,<br>
> two or three button presses to compile to binary applications for Linux,<br>
> Windows, Mac OSX , Android, iOS and HTML5, so the advantage of  almost two<br>
> decades of simplicity has left us at a programming disadvantage. Like being<br>
> able to drive real fast, but not build a car from a box of parts..<br>
> <br>
> Meanwhile, Paul dreams of adding desktop publishing features to the<br>
> Livecode/OpenXTalk IDE and I've dreamed of a page layout app that can<br>
> produce applications for decades. I even wrote QuarkXpress way back in 1997<br>
> with a long winded document all about that, soon after they had an XTension<br>
> that made something like super slow Myst experiences, that mutilated the<br>
> graphics by using PICT resources, and I had to make apps that were 320x240<br>
> just fit on ZIP disks.<br>
> <br>
> So I got to thinking...what if you could design  desktop, mobile and/or<br>
> web applications inside of Scribus? I see you have some Python, which is<br>
> not as easy to script as xTalk even though it's insanely popular. It has a<br>
> lot of GUI frameworks but doesn't just come prebuilt with one.<br>
> I see you have Javascript for PDFS, that's interesting.<br>
> They don't seem to work directly in Scribus though?<br>
> They only work in Acrobat? No browser seems to take the MouseUp<br>
> <br>
> But what if you had something even better than Python and Javascript? Well<br>
> maybe not better, but just easier and more application ready?.<br>
> <br>
> You can get the Free Livecode Community Edition Installers at Archive.org<br>
> <<a href="https://archive.org/search.php?query=creator%3A%22LiveCode%2C+Inc.%22" rel="noreferrer" target="_blank">https://archive.org/search.php?query=creator%3A%22LiveCode%2C+Inc.%22</a>><br>
> You can reach the OpenXTalk group via our forums <<a href="https://openxtalk.org/" rel="noreferrer" target="_blank">https://openxtalk.org/</a>><br>
> Or our subreddit  <<a href="https://www.reddit.com/r/openxtalk" rel="noreferrer" target="_blank">https://www.reddit.com/r/openxtalk</a>><br>
> You can fork the source on Github<br>
> <<a href="https://github.com/OpenXTalk-org/OpenXTalk-Community-DPE" rel="noreferrer" target="_blank">https://github.com/OpenXTalk-org/OpenXTalk-Community-DPE</a>><br>
> <br>
> Livecode, Inc. doesn't want to associate with the open source at all, so<br>
> you'll have to Google for their forums and documentation, or just download<br>
> and install the apps and click around in the menus as a shortcut until we<br>
> can build our own binaries and replace all that.<br>
> <br>
> So what I'm hoping for from Scribus as a software group and community is:<br>
> 1. adoption of the xTalk language for scriptable Scribus<br>
> 2. maybe some programming support since we are undermanned and<br>
> undereducated for this task at the moment<br>
> 3.featuring the xTalk environment as a product suite with Scribus<br>
> 4. and community feedback, general interest, cross development<br>
> <br>
> It might take some time to work out the details but here it is on the table.<br>
> OpenXTalk is Paul's project but there's nothing stopping Scribus from<br>
> making SuperScriptableScribus from a fork of the GPLv3 code.<br>
> <br>
> I should also mention that through the mysterious Builder Language<br>
> <<a href="https://github.com/livecode/livecode/blob/develop/docs/guides/LiveCode%20Builder%20Language%20Reference.md" rel="noreferrer" target="_blank">https://github.com/livecode/livecode/blob/develop/docs/guides/LiveCode%20Builder%20Language%20Reference.md</a>><br>
> it is possible to wrap Python, Javascript, Lua and other libraries to the<br>
> IDE. without recompiling the whole project. This also allows for<br>
> development of custom widgets, like the web browser widget, SVG importer,<br>
> line chart widget, and native smartphone OS controls you can see in the IDE<br>
> now.<br>
> <br>
> I got about 2% into wrapping  rayLib <<a href="https://www.raylib.com/" rel="noreferrer" target="_blank">https://www.raylib.com/</a>>to the IDE<br>
> with builder language before my lack of C knowledge stopped me cold. I have<br>
> an openGL window open at least. Baby steps.<br>
> <br>
> One more interesting detail: there is a separate project that is bringing<br>
> xTalk to the web: Hyperscript <<a href="https://hyperscript.org/" rel="noreferrer" target="_blank">https://hyperscript.org/</a>> It's very<br>
> promising. We could all work together to create a magical page layout,<br>
> desktop application, smartphone app, web experience powerhouse.<br>
> <br>
>   Please enjoy your free copy of Livecode Community Edition on behalf of the<br>
> 3,342  people who donated  ?493,795 to make it open source in 2013. The IDE<br>
> should run smoothly for fourteen years or so if old copies on my machine<br>
> are any indication.<br>
> <br>
> I hope to hear your views and would be very pleased for your support in any<br>
> capacity.<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Subject: Digest Footer<br>
<br>
_______________________________________________<br>
scribus mailing list<br>
<a href="mailto:scribus@lists.scribus.net" target="_blank">scribus@lists.scribus.net</a><br>
<a href="http://lists.scribus.net/mailman/listinfo/scribus" rel="noreferrer" target="_blank">http://lists.scribus.net/mailman/listinfo/scribus</a><br>
<br>
<br>
------------------------------<br>
<br>
End of scribus Digest, Vol 164, Issue 7<br>
***************************************<br>
</blockquote></div>