> HTTP request is handled by the same Thread, and Sessions are per Thread, we
> cannot store page-save approval workflows into the Session. They actually
> need to be flushed to the persistence layer (=saved to the filesystem), or
> else the workflow won't be there to be approved, unless you're really lucky.
>
> Perhaps this is the reason why things are failing?  Also note that once

No. It really is failing because ContentManager is reporting the node
exists. Which it does, in memory -- it just hasn't been saved to the
persistence layer. ContentManager.pageExists does *not* check whether
the node is new (i.e., unsaved) when it reports back; it only checks
that there's a Node in memory.

We would have found this problem sooner or later -- it's just the the
pre-save Workflow code is the only one so far that's triggered it.

(I agree entirely, by the way, that workflows should be persisted to
the JCR -- that is important. But addressing that without addressing
the inconsistency with pageExists() would not solve the problem.)

> I think it's fine, but we must remember that any WikiPage.save() causes a
> new version in the repository.

Not to be a smartass, does Priha have any version support? The
versioning-related tests seem to fail.

> Anybody want to BTW make sure all our unit tests also run with Jackrabbit?

I've got to duck this one. That is a great idea, though.

Reply via email to