[Zope] XML Content Mgmt. Questions

Sean Upton sean@sltrib.com
Sun, 26 Dec 1999 01:38:10 -0700


Hi,

I'm new to the list; I've been using Zope for various functions internal to
my company for the last few months.  I work for a digital asset management
company, and I've been considering using Zope to develop a web-based
replacement for some desktop digital asset management software that my
development team produces.  I have a few questions for those who feel that
they might be able to provide some advise on possibly porting the
application to Zope.  There are two scenarios for porting of such an
application, likely the first followed later by the second.  Sorry, this is
somewhat long...

----------------------------------------------------------------------------
--
Scenario 1 - Use Zope for Content Repository Backend for our existing
repurposing software
First, we work with an XML DTD developed as an open standard in our industry
(publishing).  Our current product uses this data format internally, and
exports (repurposes) the content to non-XML formats for use in various
repositories, including Nextpage (formerly Open Market) Folio products (for
searching), as well as other proprietary (industry-specific) databases.  So
my first question is how Zope would/could work as an additional repository
that our current Windows based application could export it's data to?  In
other words, I am wondering if it is practical/possible to export data (via
some protocol) from a proprietary app into Zope via http.  The data is all
text/xml and would potentially require some attached binary files (such as
images, PDFs).  The goal would be to use a ZCatalog to make the data
searchable.

-What approaches could be used to upload the data into Zope objects?  Our
program is already designed to do FTP uploads already, which seems like the
preferred route to get the data into Zope, but then what?

-Can the XMLDocument product be used for automated uploads to Zope?

-How practical is this if we are dealing with searching several gigabytes of
information at once?

-I know that ZCatalog now has relevancy ranking, which is an important
feature - what other features are planned for addition in the near future?

-In terms of creating a portal product, could content be sorted into folders
based upon certain metadata in the XML tags?

-Also, how fast (for anyone who might know) would this be in comparison to
using a Folio infobase in Folio Views (or LivePublish)?

----------------------------------------------------------------------------
--
Scenario 2 - Post a Windows-based desktop Digital Asset Management app to
Zope

I've been thinking that our exiting product would be better geared as a web
application running on a server that is more tightly controlled than a
desktop, or traditional client-server app.  With this in mind, I was
thinking that Zope might be appropriate.  The only 2 drawbacks that I can
think of are:

-first, that HTML forms present user interface problems for one (and only
one) component of our system, where lots of user input is required.  If this
was to be a web application, I would want this one step in the workflow of
the product to be running as a Java applet (DHTML, forms, etc aren't enough
:(  ). How would one get a Java applet to repost data to Zope objects.  I
assume that one would simply use http from within the applet - simple
enough, but what if the content is stored in XML using the XMLDocument
product?  Is the XML read only?  How would one create a front end for
fielded modification (like a database form) of XML in Zope.  If such
functionality doesn't exist within the XMLDocument or other products, how
easy would it be to modify such products to add the ability to modify the
data.  I don't even care if the XML is reverse engineered (imported) into
Zope objects, and re-exported to the same XML DTD - the only thing is that
the data should only be value added; it cannot lose ANY of it's content
along its lifespan.  Any thoughts?

-secondly, interfacing with legacy code, which is written primarily in ANSI
C using LEX, that reformats text to and from hundreds of different formats
(text filters).  I would prefer to write this part as a separate server
component that the interface/storage layer (Zope) could communicate with.
How practical would it be to use XML-RPC (in its current incarnation in
Zope) for such a beast?  I don't have anything more than a surface
understanding of the protocol.  I prefer to write such a server in perl or
lex/c, given my comfort level with those for text processing.  Or, if that
wouldn't work, I could always write a Python module interfacing to the code.
Any advise in this matter is appreciated...

I've been working on my own embedded XML-based DBMS server outside of my
employment, which prompts me to think that perhaps if the above is not
practical, I could always write a DA and use Zope as middleware to such a
database, but I would prefer to keep the data in the Zope object-store...

----------

Sorry if I am showing my ignorance here; my experience with Zope primarily
scratches the surface of its capabilities and features.  Answers to these
questions are really appreciated in helping me make design decisions.  If
certain functionality needed is missing, but someone sees easy and practical
ways to add it, I guess I could always contribute to the development of
other products (or contract needed changes out) that would make my life
easier for such a product...

I really like Zope for what I have used it for already, but I'm wondering
how I could make it work for this larger problem.  Any advise on the use of
Zope for either scenario above (or both) would be really appreciated.  Such
advise might be helpful in determining if our company should use Zope for
some of our core products; I will be out of town until Tuesday afternoon,
but any replies to the list or backchanneled to me would be greatly
appreciated.

Thanks,

Sean Upton
The Salt Lake Tribune / Tribune Solutions
Office: (801) 257-8816	-	sean@sltrib.com (work)
Mobile: (801) 918-7490	- 	sean.upton@m.cc.utah.edu (personal mailbox)