Printing Via LPR

If you have a Python app, or almost any kind of app, the accepted manner for printing is to use some kind of subprocess to invoke some command-line utility to submit the print job. Of course this requires that the underlying subsystems are aware of printers [and thus run a printer subsystem]. It also assumes the name of the command-line utility, the permissions are adequate to execute it, and all manner of other things. To put it simply: this is terrible! Why does my web server, workflow server, etc... need to run a print service?

SQLAlchemy & Upcoming Birthdays

OpenGroupware Coils uses SQLAlchemy as it's ORM. One of the desired features was a Logic command that efficiently returns contacts with upcoming birthdays. In raw SQL this query would be very simple to write - but how to do it in SQLAlchemy? The answer: sql.expression.extract which will create an expression column equivalent to EXTRACT. With EXTRACT it is possible to compare to the year-of-day represented by a date. The Python code looks like:

XSLT Transform to TXT, with LXML

Maybe this should be obvious, but it wasn't to me. I've got an XML document and an XSLT stylesheet. But that stylesheet just produces text, not XML; it is essentially a template for an e-mail. So I was extending OIE's transformAction for performing XSLT transforms that produce other than XML... but the documentation is a bit thin and every example is XML results. The trick is pretty simple, just

unicode(result)

and make sure [of course] that you have

Changing Terminal Services License Mode

You are provisioning a Window 2008R2 server for remote desktop service; you've configured the terminal services license manager in one mode [ device | user ]. But when you receive the license documentation you discover that the CALs purchased were for the other mode. Then the Windows terminal license server manager tells you to change the mode of the license server.... but there is no obvious way to change the mode [because Windows is user-friendly!]. One option is to go old-school - hack the registry!.

zOGI Now In ZideStore

The main branch of zOGI is now included in Zidestore (as of r1995). So if you use nightly builds the next time you update you should automatically have the zOGI protocol bundle - no installation required. The Google Code repository will now be used as the experimental branch; those wanting a stable zOGI should use the one included in ZideStore. For now the documentation remains on the Google Code Wiki.

BIE is dead and gone.

Sadly, it appears that the BIE project is now dead and gone. The sourceforge project has been deleted, and so the mailing list is also gone. The BIE GPL site is also gone. So it appears the slate has been swept clean and Open Source has lost a truly one-of-a-kind solution. Shame upon the new owner, or un-owner, of the BIE code for this train wreck.

UPDATE: There is now OIE! The OpenGroupware Integration Engine can run many BIE BPML routes with drag-n-drop compatibility. And Python instead of Java.

Tags: 

End Of BIE's Limbo In Sight

BIE's legal limbo appears to be finally drawing to a close. Mr. Fruetel has posted to the bie-developer list that the BIE product has been sold by Brunswick and that the new owner is interested in seeing the project go forward. I hope to be able to post more good news soon. You can see Mr. Fruetel's message in the rest of this story.

Tags: 

Resetting An Account's BIE Password

BIE users and their passwords are stored in the USERS table of the internal Hypersonic database. If you happen to end up with an account that is locked out of BIE because they forgot their password or tried the wrong time too many times you can reset their status and password by modifying the database. The login is stored in the "USERNAME" field, the passphrase is stored encrypted in the "PASSPHRASE" field, and there is also a "STATUS" field that must be "ACTIVE" for the user to be able to login. So to reset an account's BIE password:

Tags: 

The Hypersonic Client

Within BIE is an internal Hypersonic database that contains configuration, state, and audit information. The actual messages and data used by workflows is stored in an internal eXist database. It is occasionally useful to access the internal Hypersonic database to perform maintenance or correct an error; fortunately BIE contains an embedded GUI Hypersonic client.

Before starting the database client you should shut down BIE. Hypersonic in BIE operates in an in-memory mode and does not support multiple connections. Then to start the client -

Pages

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer