I implemented a nice extension in jBPM which makes it possible to add custom attributes to jBPL by using a custom namespace
becomes possible then, which can be used in the api by VariableAccess.getExtension(task, prefix, attribute). This does not require db changes since it is retrieved from the processdefinition xml file
Maybe the method should move, but the idea is generic. It would even be possible to add jbpm/jpdl attributes without (initially) requiring db changes. E.g. the attribute 'evaluate="always|once(default)" on a swimlane could be implemented in a real method but retrieving the value from the processdefinition.
This would limit using these attributes when designing a process with the api, but for adding functionality in between releases it would be ideal.