WorkThru Frequently-Asked Questions
Description of the page
1 General FAQs
1.1 Does the world really need another application framework?
We think it does. While WorkThru assumes some of the responsibilities of a conventional application-building framework it has special capabilities to handle long-running "collaborative transactions". These are business transactions that may need to be passed among multiple parties (humans or systems) before their work is completed and their data is committed.
WorkThru implements these collaborative transactions by defining and implement WIPs (work- in-progress objects). WIPs are, in effect, intelligent documents that know how to protect themselves, validate themselves, and route themselves as needed among responsible parties.
1.2 Isn't a "collaborative transaction" the same as workflow?
The WorkThru community believes that workflow, while an important component of a collaborative transaction, is only one of several important required ingredients. These transactions almost always need validations, computations or other business rules-- just like their short-running counterparts. They also need a fine-grained access control to manage the visibility and modifiability as the work is being completed--plus logging of who has made what change and when. Finally they need a way to transport unstructured text that travels with the work-in-progress for annotations, warnings or errors.
WorkThru combines all of these responsibilites into a single coherent development model.
1.3 Can I use WorkThru royalty-free in a product I want to sell?
Yes. Under the terms of the Eclipse Public License you can use WorkThru in any software that you create whether for your own use, your company's use or even to sell to someone else.
2 Technical
2.1 Can I use WorkThru with a database other than the currently supported set?
Yes. The ObjectStore interface is designed to be expanded to provide any number of customized adapters for any database system. To get started look at the adapters that already provided for clues on how to proceed. You'll see that if your database is a JDBC-ready DBMS that there's not much to adapt an ObjectStore for your purposes.
If you wish to contribute this adapter to the community it will be welcome. Or you can keep it for your own use.
2.2 Why can't my Jython script/rule find some Java or Jython class?
Jython can interact freely with other Jython classes or Java classes. But it has to be able to find them. You'll need to put their locations onto Jython's 'sys.path'. The sys.path is like Java's classpath. The sys.path can contain file directories, jar files, or zip files.
The current sys.path can be displayed from within a Jython console window by displaying 'sys.path'. Make sure that the sys module has been loaded--WorkThru loads it be default
The sys.path is constructed by setting up using a 'registry' file in the jython home directory, a '.jython' file in the user's home. See http://www.jython.org/registry.html for details.
WorkThru's wipsite.xml file can also contribute to the sys.path with the 'lib' attribute within the 'jython' section.
Finally the sys.path can be dynamically modified by a Jython script.
2.3 How can I find out what's wrong with a failing script, need, or rule?
Probably the most-frequently asked technical question deserves a ScriptDebugging section of its own.
3 Developer
3.1 How do I find out what's in the 'incremental' build I've gotten?
Incremental builds are created anytime there's something interesting that's changed in the code base. The WorkThru components (one for the plugin and one for workthru sources, and miscellany) will have a '_incr' suffix on the zip filename. (e.g. workthru_0.9.5_incr.zip)
Since these files are updated in place you can't tell from the filename what version you have. However each WorkThru component has a 'version.txt' included that gives essential information.
For example, the plugin.version.txt file will contain the build timestamp and the Subversion revision number of the last update included in this build. By inspecting the revision history you can see exactly what features and fixes have been included.
4 Community
4.1 How can I get involved with the WorkThru community?
You can start by using WorkThru and using our issue tracking, mailing list, and other community facilities to let us know of your experiences, report problems, make suggestions.
If you see improvements you would like let us know, or make a patch and send it to us. As we come to know you we may invite you to be a committer to the project.