[BlueBream] XMLWidgets

Paul Harouff pharouff at gmail.com
Thu Mar 25 19:24:11 EDT 2010


Has anyone used XMLWidgets with Bluebream or Zope3? Is it compatible?
How do I download it and add it to my sandbox (adding it to setup.py
doesn't work)?

I have my basic screen template set up: three columns with header and
footer. Now I'm trying to figure out how to define my content and
widgets. Looking at "Hello World" examples isn't much help,
unfortunately.

Basically, I'm trying to find the least painful way to use ZODB as an
XML text repository/CMS. The basic tools I need are:

     1. Database for project objects. My current concept for the
template object hierarchy is:

          Project Object
               + Rules Collection Object
                    + Content Definition Object
                         + DTD
                         + XSLT
               + Task Collection Object
                    + Task Assignment Object
                         + Resource Object (person, place or tool)
                         + Schedule Object (Interactive Gantt)
                         + Earned Value Management Object (idea for
future - evaluate expenses budgeted/spent vs. completion schedule)
               + Content Collection Object
                    + XML Content Object ("blobs"?)
                    + Graphic Content Object ("blobs"?)
                    + Media Content ("blobs"?)
                    + Document Page Object
                    + Interactive Web Page Object
                    + Training Objective Object
                    + Training Presentation Object
                    + Training Evaluation Object
               + Pubs Collection Object
                    + Document Presentation Object (PDF)
                         + Administrative Info Object
                              (Number, Title, Revision, Date, Approval
Status, Classification/Restriction, etc.)
                         + Content Navigation Object
                              + Content List
                    + Interactive Web Object
                         + Administrative Info Object
                              (Number, Title, Revision, Date, Approval
Status, Classification/Restriction, etc.)
                         + Content Navigation Object
                              + Control of popup menu and navigation bar
                              + Content List
                    + SCORM Training Course Object
                         + Administrative Info Object
                              (Number, Title, Revision, Date, Approval
Status, Classification/Restriction, etc.)
                         + Content Navigation Object
                              + Control of popup menu and navigation bar
                              + Content List

     2. Left Frame - Tree Navigation (may be minimized)

          Tabs above the frame select desired Mode

          Management Mode
              - List of all tasks grouped by project object, pub
object, and content object
              - Selecting a task opens a view in the Center Frame with
detailed task information and detailed Gantt schedule
              - Selecting a pub object or content object opens a view
in the Center Frame with development status and summary Gantt schedule
of tasks
              - Selecting a project object opens a view in the Center
Frame with project status and summary Gantt schedule of pubs and
content
          Reports Mode
              (undefined)
          Author Mode
               - List of all content modules grouped by type/subject folders
               - Selecting a folder opens a view in the Center Frame
for adding or deleting content modules
               - Selecting a content module opens a view in the Center
Frame for editing the content, or uploading graphics or media blobs
          Editor Mode
               - List of all content modules grouped by "pages" sorted
in volume, chapter, section folders
               - Selecting a folder opens a view in the Center Frame
for adding or deleting content modules, or changing their order
               - Selecting a content module opens a view in the Center
Frame for viewing the content and providing editorial/approval
comments
          Presentation Mode
               - List of all "pages" grouped by volume, chapter, section folders
               - Selecting a folder jumps to the first "page" (screen
or PDF) of that group

     3. Center Frame - Content

         Tabs above the frame select desired Mode

          Display Mode
               - Display the content
          Add Mode
              - Display form for collecting mandatory attributes
              - Create new database object
              - Select appropriate default template based on content type
              - Switch to Edit Mode
          Edit Mode
               - Launch appropriate widget for modifying the content
based on the content type
          Delete Mode

     4. Right Frame - Auxiliary Content (may be minimized)

          Tabs are available above the frame for other uses.

          Center Frame in Display Mode
               - Display graphic or media resources associated with
text in the Center Frame
               - Display hyperlinked content from Center Frame
               - Display pop-up/interactive forms
               - Display help content
          Center Frame in Edit Mode
               - Display help content or other resources for the widgets

     5. Header - Navigation Bar

          Buttons allow browsing content without tree menu (Back,
Forward, Beginning, Previous, Next, End, Exit, Help)

     6. Header - Pop-up Menu

          Provides many of the same commands as navigation bar
          Provides hyperlinks to view Administrative Info and Help
          Provides hyperlinks to external web sites associated with the content
          Provides certain cookie management commands
              - Ability to save current session and resume later
              - Ability to delete cookies and reload with defaults
          Import/Export publication packages

     7. Footer - Status Bar


I believe that pretty much covers most of my goals. Now I need to
figure out a road map for how to get there from here. I understand the
user interface and presentation, but I need to understand an
architectural framework to put it together. I've looked at the Zope2
documentation, but I have no idea what is applicable to Bluebream and
what isn't.

Anyway, I guess the first burning question is: should I store the XML
data as intelligent records (i.e., the tags are defined as individual
object attributes that are manipulated dynamically) or as blobs (i.e.,
there is only an id attribute, a type attribute and a content
attribute)? The answer to this question determines what kind of
widgets I need for displaying and editing the content.

Using intelligent records means I only need a plain text editing
widget to edit individual tags, but I have to do a lot of programming
to manipulate the database objects. Dumping all the content into a
blob means I need a widget that understands DTDs and can parse XML,
but the widget handles everything. Does such a widget already exist?
Which way is easier?

Any thoughts?

Paul


More information about the bluebream mailing list