Incompatible change in 4.4.5 breaks existing activation work items 
-------------------------------------------------------------------

                 Key: MAGNOLIA-3837
                 URL: http://jira.magnolia-cms.com/browse/MAGNOLIA-3837
             Project: Magnolia
          Issue Type: Bug
      Security Level: Public
          Components: activation, core, workflow
    Affects Versions: 4.4.5
            Reporter: Grégory Joseph
            Assignee: Philipp Bärfuss
            Priority: Blocker
             Fix For: 4.4.6


The code change introduced for MAGNOLIA-3693 makes it impossible to deserialize 
existing workitems which were created with 4.4.4 or earlier versions. 

As such, just looking at the workflow "inbox" generates tons of exceptions. 
What's worse, proceeding with such work items will have (currently) 
unpredictable results (current state of testing seems to indicate paragraphs 
might not be removed, but no content should be lost either) (!) TODO: update 
this issue as soon as we know more.

Possible track for patching this up:
Since we can't *just* revert the {{Rule}} class (because users might have 
started activations with the new class structure), we'd need to hook into the 
unserialization process. Something along those lines should work:
{code}
    private void readObject(ObjectInputStream ois) throws 
ClassNotFoundException, IOException {
        final ObjectInputStream.GetField field = ois.readFields();
        final Object o = field.get("allowedTypes", null);
        // here, if o is a String[], push into a Set, otherwise do nothing ...
    }
{code}

As a side note, I'd suggest we remove the {{serialVersionUID}} - had it not 
been there (or modified when code was changed, as it should have), the error 
log *might* have been a little cleared. I'd also suggest we don't "just" log 
the exception when unserializing the rule.

Classes and methods to look at:
* {{info.magnolia.cms.core.version.ContentVersion#init}}
* {{info.magnolia.cms.core.version.BaseVersionManager#getUsedFilter}}
* {{info.magnolia.module.exchangesimple.ReceiveFilter#handleChildren}}


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.magnolia-cms.com/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira




----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to