Re: [Zope] Some tough questions about zope... (long)
Again, another lengthy one, with some details of word conversions and XML musings. Fingers over 'd' key...
Some background: I'm one of the web developers here, with a remit to implement a curriculum database that can; (a) support the Medical Faculty here (b) get rolled out to three other Medical-related sites, each with their own 'look and feel' (c) possibly implement a University-wide curriculum database> Sounds fantastic!
Absolutely. One of the reasons I applied for the job is that the potential for it is so great!
The curriculum database is essentially delivering online study guides (over 100 for each Faculty) whose source is originally from very well marked up Word Documents. In addition, we include multiple choice
This is really weird, it just reminded me of a (rather pathetic) dream I had last night. I dreamt that someone created a Python module that would read Word files.
Ouch!, what we do is save the word docs as RTF. A free program (written in Omnimark) called RTF2XML then trundles through it and creates well-formed and valid XML. I then pass it through another Omnimark program that I wrote that turns it into XML that is more suited to what we want.
I've been awfully interested in XML in the last few days. Can you describe what user-visible benefits PHP delivers due to its integrated XML parser?
Background:... PHP is a (non OO) server-level scripting language, usually delivered as an Apache module, that has it's roots in C, but with some of the arcane bits removed. It's database integration is very good. The authors have recently built the (almost XML-industry standard) parser Expat into it. ...
From my point of view, having the XML parser in PHP meant that (a) I didn't need to call Perl CGIs (with all that overhead), (b) I'd understand the code a bit (I *cannot* do Perl!), (c) there might be a performance boost from having the parser in the Apache Module and (d) I'd be able to map XML elements such as <topic> ... </topic> into HTML <div> ... </div> tags or RTF control codes (all of which would be read from a user-defined database) - thus leading to the 'Holy Grail' (ouch!) of being able to render the documents into whatever form the end-user wanted. As well as that, using XML means that I can select all <topic> .. </topic> tags that match a certain criteria (eg, all first-year study guides that mention cell biology) from *all* our study guides and create a 'composite' document that would be passed through the XML 'converter' to get custom HTML and RTF docs.
Of course, once I 'got into' XML I found out that just having the Expat parser around didn't necessarily mean I was going to get all that for free...ie how 'do' you 'search' an XML document to get those matched <topic> tags (and possibly their children). Enter XQL and it's friends, DOM and XSL. XQL (Perl module based on a W3C recommendation) works, but it's slow. In short, I was at an impasse. The level of work needed to incorporate XQL into PHP (as a CGI) or (gulp) rewriting it as PHP was just too much. I installed the XML-Config product for Zope and my appetite was whetted. I read about the XML-sig and downloaded the XML-0.5 toolkit from python.org. I tried one or two examples out ... and my jaw literally fell open. By the time I'd looked in the 'dom' directory I was almost gibbering. This was something I felt I might be able to understand (and definitely use). Ooops...I'll shut up as I'm waay of topic.
Additionally, we are working on Zope searching for a consulting project right now. Actually it is Zope Cataloging. It's still a consulting-only option, but plans are that eventually it will go "below the line".
That would be most welcome!
I found out about Zope Monday morning, dl'ed it, installed it, got one or two things working... and have been worried sick ever since.
Ahhh, you too, eh? Did you have the dream about the chimp and the External Method where...oh, nevermind. :^)
No, but I've spent the last week muttering 'ok, I can use UserDB to authenticate against our StaffDB and allow per-user access to the file upload area', 'yeah, should be able to rewrite my PHP Multi-Choice Question engine in this DTML gubbins', 'ok, I'll pull in the Perl script that does xxx by using a redirect' and the like ... which is probably more scary!
My problem? is that I can see how Zope can do so much for us, but it seems to need a hell of a gut-wrench to do so.
I *think* I have some good news to report on this, but before I squawk, could you detail this gut-wrench a bit more?
Simply this: Zope seems to do just about everything I need (which is basically to provide a *framework* for the Electronic Curriculum - others will fill in *and manage* the content). I can then concentrate on providing features that people need and 'rolling them out' to the users of the systems, confident that they will integrate into the whole system. I think it's a paradigm-shifty thing more than anything else. Everyone in our group *knows* that an .htaccess file allows access to the files in that directory. They all have at least a basic grasp of CGI programming and all recognize the mapping between files in a unix file structure and their representations as web pages. People using Zope will have to break that habit of logging in to change a file ('cos it ain't there!). (for the time being, I've desubscribed from the PHP-lists to give me more room to think!...)
c) Is there any way of using the XML documents that I'm creating into the database and parsing them to produce either HTML or RTF output?
I'd like to have this as well. I've been doing a lot of thinking about this lately. It is a bit more complicated than expected, though...
This would be extremely useful to have.
d) I know that this a terrible question to ask... but is Zope likely to 'remain' open-source (we're worried about getting stuck with a proprietary system)?.
This is the main reason I replied.
Having Zope as a free and Open Source(tm) platform is the heart of our business plan. A closed Zope would basically mean we start over completely as a different company. Thus, closing Zope is roughly equivalent to closing our company.
phew! well I suppose that answers *that* question!
Earning the community's enthusiasm is pretty simple, I think. Unfortunately we aren't doing a good job right now, though we are trying damn hard. But we'll keep trying...
Seems to this newbie that you're doing a pretty *good* job!
e) Can I 'point' an Apache virtual server to run a Zope cgi (ie dropping the :port requirment).
Yep, the zope.org machine has five virtual hosts.
great.
h) We also need resources such as QuickTime movies, images PowerPoint slides etc. to be uploaded - would they sit in the database or can they be held somewhere else (and what happens about file name conflicts)?
We put them in the database. The 3 Mb Zope binaries are served out of the database, the PDF files are served out of the database. This works so well I don't even think about it any more.
great again. Thanks for the reply Paul, (and thanks to the others that replied too - I'm not able to reply in person yet...) Cheers, tone.
participants (1)
-
Tony McDonald