[Framework-Team] first comments on plip112-xml-import-export

Raphael Ritz r.ritz at biologie.hu-berlin.de
Wed Sep 20 11:10:33 UTC 2006


Hi framework team, hi Jens,

here's my next review. This is for plip-112 which is about
XML-based import/export of Plone content:

  My test set-up: Python 2.4.3, Zope 2.10.0b2 release on Linux (FC5)

  First impression: still a lot to be done

  Issues noticed so far:

    - there is a hard dependency on elementtree

    - needed fixing of a few currently deprecated things in order
      to get it up and running on Zope 2.10

    - some of these fixes I couldn't commit because the code
      for XMLForest still lives in

        https://svn.biblhertz.it/repos/public/XMLForest

      where I cannot commit. (@Authors (Jens?): please make the
      EXTERNALS explicit in the bundle as this would have shown
      this right away and move the code to one of our repositories
      if possible)

    - I was unable to figure out how this integrates with the
      new 'content_setup' from GenericSetup.

    - I was unable to find any reasonable integration into the
      Plone UI (it puts stuff there that you don't want - the
      demo/testing content types; the configlet only shows the
      site content instead of displaying the upload/download
      form which I could only invoke manually).

    - the upload/download form should do a better job in explaining
      the options offered.

    - I don't know whether I ever succeeded in downloading any
      content from a site. Visuell inspection of the generated XML
      lets me think I didn't.

    - Probably due to the issue above I was never able to upload anything
      into a new target site from what I downloaded before from another
      source site.

    - Maybe this is due to (quote from XMLForest.README.txt):

         The most important command will be::

            tool.export_tree(root_object, directory)

          (not implemented yet)

      (end of quote). Note the "will be" and "not implemented yet" comment.
      The moment I found this, I stopped trying.

    - Maybe it's just me but I was surprized to see::

          bin/zopectl test -m XMLForest

      resulting in::

          [..]
          Running unit tests:
            Running:
          ...........=================================================
          =====================
          ZopeTestCase Interactive Console
          (c) BlueDynamics Alliance, Austria - 2005

          Note: You have the same locals available as in your test-case.

          >>>

      putting me into an interactive Python shell resulting in pdb
      debugging sessions - which after a couple of quits resulted in::

           Ran 11 tests with 1 failures and 0 errors in ... 

  Test Coverage

     XMLForest (which is the main new component in the bundle) does
     have a reasonable doc test coverage but unfortunateley it seems
     they aren't up to date for running on Zope 2.10 and its testing
     framework.

  Code Base

     The implementation is still very much "old-style" Archetypes based.
     No real use of Zope 3's CA. While there is not much to say against
     that in principle, I see at least two issues where this becomes a
     show-stopper from my POV:

      1. non-at-based but rather Zope 3 schema based content types

      2. custom (AT) fields for custom data types

     From my current understanding of the code, these points are
     neither supported nor is there any way to adapt the framework
     to support them. At the very least, the code should be refactored
     such that it becomes possible to extend and adapt Marshall/XMLForest
     to handle the above from 3rd party code (in the end that's what the
     CA is about).

     Finally, it seems like a lot of the code base was generated using
     ArchGenXML which resulted in a lot of spurious code that could
     safely be removed.


  Interim Summary

     It could be just me being stupid and therefore failing misserably
     but taking me as represenative for the average Plone user I'm
     sorry to say that in the current form I have to recommend to not
     consider this plip any futher unless there will be *substantial*
     improvements in terms of Plone (UI) integration and documentation
     about its TTW/TTP usage provided it works at all (on Zope 2.10) in
     the first place.

     Furthermore, considering the refactoring wrt CA adoption that at
     least I would like to see, chances for inclusion are even lower
     unless someone steps up and champions this. This is sad as I
     know this plip is about a much wanted feature and it seems to me
     it's not that far from being a really great addition. (If I could
     afford to put more time into this myself I would but right now I
     just cannot.)

Raphael







More information about the Framework-Team mailing list