A few ideas. First I'm assuming that your also going to use SQL2000 
(which
is good). But spectra will be able to handle the object size as well as 
any
other database schema handling that much data. In other words be 
prepared to
do some custom index's and special tuning, but the dB can handle it.

Spectra will handle it by breaking the wddx packet into 64k chunks, and 
it
will also rebuild it automatically when it does a get. Also you should 
be
aware that spectra 151 does it's own version of server caching storing
objects in the server scope. Because of the size of the objects you 
will
probably need to disable this (I believe the code you'll need to change 
is
in the cfa_contentObjectGet and cfa_contentObjectGetMultiple). 
Otherwise
you'll see CF taking hundreds of megs of space.

As for your object design I would create a simple embedded object
(simplePage). And then in your Article object create an array of these
embedded objects mapping a single array position for each virtual page 
of
yours. I'm attaching a visio of the object model, might be easier to
understand then my description. This will allow you to create a simple
PLP/edit handler that let's you jump between pages (maybe use a book
metaphor for your UI). This way your HTMLEditor will only have to load 
a
single page (array element) at a time and you shouldn't have any 
problems
with size of text in your form. 

As for searching, if you think you might ever do SQL likes against the 
text
make the property searchable. But your best bet, for the large text is 
to
create a custom verity collection that will return both the objectid, 
and
array position of the results. then you can jump to the right page for 
the
results using a URL param in your display handler. A possible problem 
you'll
need to decide is what happens if your search returns multiple pages 
from
the same objectid, which page do you display in the search results. 

Also just in case you end up with really large objects and do 
experience
large retrieval times that you can't speed up with dB tuning. as a last
resort, You can do something different. Whenever you update the object
create/update a physical file (example: <objectid>.xml). And then 
whenever
you want to get the object. Just override the system get method to read 
it
from the file and desearlize it, instead of getting it from the dB. 
You'll
still be able to call methods against it and schedule it. Spectra won't 
know
the difference if done right..

Hope this make sense and helps.
---nimer




-----Original Message-----
From: Stephen Collins [mailto:[EMAIL PROTECTED]]
Sent: Sunday, September 23, 2001 7:23 PM
To: Spectra-Talk
Subject: Managing "Large" documents


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'm looking for advice here...

We are embarking on a project for a client who has strongly expressed
the desire to be able to manage "large" documents on their site in
the interests of accessibility.  In managing these documents, the
following factors are relevant:

1.  They desire to present "large" documents, where large is anything
over 3-4 single spaced A4 pages and perhaps as large as 500 A4 single
spaced pages as HTML (stored as Spectra objects), with the concept of
"virtual paging", i.e. only presenting a manageable chunk on the
screen at any one time;

2.  These "large" documents need to be authored using customised
versions of the Spectra content management tools (e.g.
cfa_htmleditor) no matter how large they are;

3.  The idea of presenting a pr�cis and then linking to an
alternative form (PDF, Word, etc.) that could be read by appropriate
software is presently not on their agenda;

4.  Searching should find the appropriate target phrase in the
appropriate virtual page when a search result link is clicked, and;

5.  For both authors and clients, speed is a major factor.

Any ideas?

I would appreciate any clues as to technical limitations of Spectra
object sizing, capabilities of the editor as to byte size of editable
content, etc.

We will be using Spectra 1.5.1 and CF Server 5 on Windows 2000.

Steve
 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
------------------------------------------------------------------------------
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/spectra_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to