Author Topic: Throttling Automation from an external script  (Read 3050 times)

chadp

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
  • Scribus User
Throttling Automation from an external script
« on: July 20, 2013, 10:00:34 pm »
I am just starting in on Scribus, and I'm diving straight in for the python.

Are there any great ways to maintain python driven workflows, without having to interact with scribus manually between the consecutive jobs (I want to see as little of scribus as possible once I start grinding).

What I need is a way to script the Scribus python console using something like a bash script (or another python process). I am surprised is there is not a command line option when launching scribus that lets you override the startup file location pragmatically.

Then I can issue pre-made job lists in a nice clean factory-like fashion. When a single job queue is finished, I kill scribus, and relaunch it with a different startup-script and dataset. Even if there is not a command-line option for this, how about a plugin/extension with similar motives.

If anybody knows how I can do this using existing solutions, I would much appreciate the advice. I am willing to spend money on commercial solution, if that is what it takes. I have been in and out of Jaspersoft-server and indesign, struggling to scale the automation.

Thanks a bunch.

chadp

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
  • Scribus User
Re: Throttling Automation from an external script
« Reply #1 on: July 20, 2013, 10:13:55 pm »
I realize that many efforts go into the GUI aspects of Scribus, and I do applaud that success. But with the use of Master Pages, Templates, and that Scripter API (coupled with an externally driven data source), I think I could let Scribus run for a month and have no need to touch a mouse or keyboard! (unless the scripter is buggier than I suspect, but so far it seems stable enough).

GarryP

  • Hero Member
  • *****
  • Posts: 1600
  • Karma: 25
  • Scribus User
Re: Throttling Automation from an external script
« Reply #2 on: July 25, 2013, 03:59:39 pm »
chadp, I've read your post a few times and I'm still a bit confused by what you're trying to do.

It sounds like you want to set-up a bunch of scripts, each one of which will perform a load of Scribus functions to create/modify a document without any human intervention. Also, you want to be able to set-up some kind of "batch job" (apologies for the old-timer nomenclature) where you can just throw a bunch of scripts at Scribus and it'll go away and create/modify a whole load of documents in one go.

Does that sound a bit like what you want?

I'll be up-front in saying that I don't think I can help with any of this, I'm just curious as to what you want to do and why.

I can imagine why someone might want to have a kind of "throw a load of text and images at Scribus and get it to create a standardised document" kind of thing - e.g. catalogues in different languages - but, unless you've got a massive number of documents to create over and over again, the effort to get all of the batch scripting working just right may be more than just doing stuff manually. However, I could be very much wrong about this.

Essentially I'm curious about what you're doing because it sounds like a very interesting use of Scribus and I'd like to know more.

chadp

  • Newbie
  • *
  • Posts: 3
  • Karma: 0
  • Scribus User
Re: Throttling Automation from an external script
« Reply #3 on: July 26, 2013, 06:29:54 am »
"throw a load of text and images at Scribus and get it to create a standardised document" --- thats the ticket!

Around three years ago, I published a few manuals with Scribus, and I was pleased with the results. So I know it is a capable publishing system. But my primary hurdle ended up being "team collaboration" with my co-workers (small manufacturing company). We needed tighter Word/Excel imports, AutoCAD imports,... I eventually shifted to Adobe Suite for my Publishing workstation (Indesign was what sold me).

In the last year, our sales efforts have taken off, and now I can't keep up with everyday things like BOM reports, Quotations, Product Spec sheets. InDesign is no longer the tool for the job, and I refuse to spend more than 10 minutes in Excel at a time (even then I would be struggling).

Enter Scribus. The GUI is a huge bonus for tuning/finalizing professional documents. But manually entering data is just not a good option for the types of documents I need. Even if you manage to get a rythym, typos and double/triple checking become the problem.

I have already worked out how python is going to populate the documents. But this really needs to be done from outside of Scribus (since 80% of the data source is database driven). The issue is feeding data from an outside python process, into the internal scripter-python. There are no mechanisms to assist this at all. Its just surprising, because the developers pushed python internally to amazing depths. With just a little more love, I am quite sure it would become an invaluable platform for any python developer.


GarryP

  • Hero Member
  • *****
  • Posts: 1600
  • Karma: 25
  • Scribus User
Re: Throttling Automation from an external script
« Reply #4 on: July 28, 2013, 09:46:21 pm »
That sounds very interesting.

You're not the first person to ask about this kind of thing on the forum but I can't remember what the other person was doing off the top of my head. I think it was for a catalogue but I can't be sure.

I think it would be a great boon to Scribus if it could do "database publishing" to a degree that made more people come over from commercial products. It would be a great extra "selling point" and help the community to grow.

Anyway, I hope that someone can help you with this and, if you get something working well, you might be able to publish some kind of guide either here or on the wiki. I know that other people would be very interested too.