1/31/06
Version 5.00
* Increased the maximum opi nesting from 10 levels to 25 levels.
* When placing keyed ads, ClassPag places full column keyed ads
first to ensure that they fit on the page.
* The scan for keyed ads now accounts for unplaced normal display ads.
This fixes a problem where ClassPag would place keyed ads too early
in the edition.
* Increased pagination limits.
Increased the maximum number of ads from 80,000 to 100,000.
Increased the maximum number of classes from 10,000 to 15,000.
Increased the maximum number of pages from 400 to 2,500.
Increased the maximum number of columns from 3,200 to 10,000.
These changes increase the virtual memory usage to 64 MB
per ClassPag process. A typical session of 50 pages still
needs only 16 MB of physical memory. This update does not
require hardware updates to the server, but it might require
tuning the operating system to allow users to request more
virtual memory.
* Included Chris' update to the 172x44 window.
The dialog in the upper right-hand corner is suspendable, meaning
that you can click back into the ad list or the page area.
The dialog has more details about the selected ad.
NOTE: This version has 5285 lines of changes from version 4.98.
2/1/06
Version 5.01
* When ClassPag creates separations for pages with background colors
under ads with a background color request, it no longer generates
knock-outs in the background color under the ad text unless the
ad has a logo request and the logo contains color.
* The product configuration screen "Additional PostScript"/
"PostScript adicional" has a new field "Bkg color under logos"/
"Color bajo logos" to control whether ClassPag draws a color
background under logos of ads with both background color and
logo requests. ClassPag used to draw the background color
under the logo. With this change, ClassPag draws the
background color only if this field is set to "Y".
The default value of "N" does not draw the background
color under the logo.
This option applies only to logo requests in the sort file.
It has no effect on logos within the ad.
* Fixed a problem where ClassPag would not sometimes not place
a banner on a square-off when there were other square-offs on
the page.
* When you drag a square-off to the right side of the page,
if the square-off database does not specify a width,
ClassPag used to use the width of the default banner.
If that width is too large to fit in the column,
ClassPag now tries to build the square-off to the
available number of columns. ClassPag used to ignore
the column request.
* Included Chris' update to the 172x44 window.
The dialog in the upper right-hand corner appears when the
pagination session starts. It closes with the pagination window.
It shows some details for ads selected from the page area.
NOTE: This version has 2114 lines of changes from the previous version.
2/3/06
Version 5.02
* The product configuration screen "Ad Images"/"Imagenes de Avisos"
has a new field "Document comments required for color"/"Comentarios
DSC requeridos para color" to control how ClassPag treats EPS files
without a DocumentProcessColors comment when creating separations.
ClassPag used to treat these EPS files as color and write them onto
all plates. The default value is now to require a color comment
to treat EPS files as color. To continue treating EPS files without
color comments as color, set this field to "N".
Adding this field required splitting the "Ad Import Restrictions" window.
The second half of the window is now in the "Ad Images" windows.
* Fixed a problem in separations where EPS files that did not set
an initial drawing color could have their text appear on all plates.
NOTE: This version has 1690 lines of changes from the previous version.
2/6/06
Version 5.03
* When ClassPag creates separations for pages with EPS blocks that
contain ClassPag pages with ads with background color requests,
ClassPag no longer generates knock-outs in the background colors
under the ads in the EPS block.
* Added a new "BACKCOLOR" ad context to set the display color of
ads with background color requests. The default is to take the color
specified by the "REQUESTED" ad context for ads with generic requests.
* The screens of the control record now show the screen number.
The control record currently has three screens.
* Added a "chain" option to cronbuild.sh to start a build on another system.
* Fixed a problem where the CPagCurrentAd folios were not always
available in banner macro expressions.
2/6/06
Version 5.04
* ClassPag now supports a user-definable number of ads,
classes, pages, columns and image.
The product configuration has a new screen "Limits"/"Limites"
to specify the values.
The defaults are 40,000 ads, 10,000 classes, 400 pages,
3,200 columns, and 20,000 images which corresponds to
the limits in version 4.99.
The maximums are 500,000 ads, 100,000 classes, 4,000 pages,
32,000 columns, and 32,000 images.
ClassPag initializes to the default values.
When you switch to a product that needs a larger size
of a given table, ClassPag increases the table.
Increasing the sizes of the tables increases the memory
requirements for ClassPag to run.
* The product configuraion has a new F12 function
to show the currently configured and used entries
of the user-definable tables.
You can use this to tune the number of entries
in the product configuration.
* Included Chris' change to creates a pie chart
of Ad Statistics inside the 172x44 window.
To enable this, you need to install SCSSimpleChart$MyErrorHandler.class
and SCSSimpleChart.class in /u/cpag and gnujaxp.jar, jcommon-1.0.0.jar,
jfreechart-1.0.1.jar, junit.jar and servlet.jar in /usr/share/java/jfreechart.
NOTE: This version has 4874 lines of changes from version 5.02.
2/10/06
Version 5.05
* Improved the control over knock-outs of color backgrounds under ads.
The product configuration screen "Additional PostScript"/"PostScript
adicional" has new fields "Background colors... Knock-outs for text"/
"Colores para fondo... Knock-outs para texto" and "Knock-outs for logos"/
"Knock-outs para logos". If you request knock-outs for text, you
currently always also have knock-outs for logos. If you make an EPS
block that you place in another session, you should make the block
with the same knock-out settings for these fields as you will use
to print the completed page.
* The Request field in the agate ad database can have the
new value "B" to mark ads with a background color request.
* Fixed a problem with the postscript for preventing knock-outs
in version 5.03 that could cause postscript errors in ads with
logos or xml headers.
NOTE: This version has 1304 lines of changes from the previous version.
3/2/06
Version 5.06
* Added spice list filters. From any list, you can now
right-click on a column heading to open a form to specify
rules for which items to show.
To use list filters, you need to update the version of the SCS 4GL
to an install kit made on Feb 15, 2006, or later. If you have an
older version, you can temporarily copy pkfilter.xfm, lspopup.xfm
and filters.scr to /u/scs/tools/tbin, and if you do not have
/u/scs/tools/data/filters.dat, you can create it with
cd /u/scs/tools/data; $TOOLS/makerecs filters=../tbin/filters
* ClassPag now provides an easy method of modifying the
composed text in a banner. The "Edit ad" toolbar button
and "Cmd->Ads->Edit the ad data" now work on banners.
If the banner has exactly one active text entry of either
type "T" (for composition text) or "E" (for macro expressions
that produce composition text), ClassPag opens an editor
window with the text or the expression. Otherwise, if the
banner has any text entries, ClassPag opens a list of them.
Finally, if the banner has no text entries, ClassPag opens
a list of its images.
If you change a text item, ClassPag will ask if you
recompose the banners to recompose the updated item.
If you change an image record, ClassPag will ask if
you want to reload the ads.
* Folio text items have a third start column, end column,
and omit if overlap field. This allows you to define more
complicated tests for placing folios.
* The classification records and the classification sequencing
records have a new field "Match Len"/"Comparar" to set the
length that sort keys must match when doing the look ahead.
The default value of all spaces uses the value in the product
configuration. You can use this field to set the optimal
match length of each class. Before this change, you had
to set the match length field in the product configuration
to the largest value required by any class.
* The box information for class headers now shows the match
length of the class if the match length is not the default
and it the class does not have an infinite look-ahead.
* The list of legal classes in the second product configuration screen
now has additional fields to set the match length for a class and all
of its subclasses. Setting the match length in one place in this
list is easier than entering it in a range of classes in the class
sequencing table, especially if classes have sort key suffixes that
change every day.
* ClassPag has new algorithms for placing display ads in
classification. To enable it, set the product configuration
field "Dummy Ads by Page" to "A". This value works similarly
to "C" to try to place display ads as close as possible to
their line ads, but it looks deeper into the list of display
ads to pack pages tighter.
* Improved the placement of keyed ads. When a page has line
ads of all of the same class, ClassPag looks further ahead in
the list of keyed ads when filling the page.
* When ClassPag finds a one-column non-keyed display ads in
a class with keyed ads, it now tries to place the ad in the
current column instead of on an empty column. This prevents
the display ad from taking space that could be used by keyed ads.
* Fixed a problem where ClassPag could place keyed ads in
the last class on the last page of the session instead of
on the last used page.
* The class translation database has a new field "Keep Suffix"/
"Copiar sufijo" to specify whether ClassPag should append the
suffix of the old class to the new class. The default is "N"
to ignore the suffix. The value of "Y" copies the suffix.
If you use this option, you can help ClassPag locate the suffix by
setting the product configuration fields "Class Suffix Length" (on
the screen "Ad and Class Conversions") and "Min Base Length" and
"Max Suffix Length" (on the screen "Outext Export (Continued)").
* Improved the control over knock-outs of lines and boxes in
color backgrounds under ads. The product configuration screen
"Additional PostScript"/"PostScript adicional" has new a field
"Background colors... Knock-outs for lines"/"Colores para fondo...
Knock-outs para lineas". The default is Y to create knock-outs
for lines and boxes. When you select the option to eliminate
knock-outs, keep in mind that if the graphic design program
converted any text or images into vectors, their knock-outs
might be eliminated also.
* The loaddb.sh script, which rebuilds databases during ClassPag
upgrades, now uses "oupdate" instead of "update /s". This makes
it run about 50% faster.
* ClassPag can now handle wrapped line ads in Word 5 format.
Some front-ends that use Word as their composition system
can not pass line ads longer than about 22 inches due to
limitations in Word. Word wraps ads longer than that depth
into multiple legs. ClassPag can now scan the Word EPS
to find the length and horizontal offset of each leg.
The product configuration screen "Legal and Segmented Ad
Specifications"/"Especificaciones de Avisos Legales y Segmentados"
has a new field "Unwrap Folded Ads"/"Enderezan" with the values
"T", "F", "C", and "P". The default value of "F" skips
the scan for multiple legs. The values "T" and "C" scan
for multiple legs and glue them together when writing the
page using a scheme similar to manual cut-and-paste.
The value "P" also scans for multiple legs, but it glues
them together using a special postscript prolog.
You should use the "C" option instead of the "P" option
because the "P" option can not handle arbitrary postscript.
You must always print pages with the same option that you
used when you imported the ads.
* When ClassPag is configured preserve external Word files or
to ignore the bounding box in a given ad, it no longer tries
to center or rotate the ad image.
* Update maketarw.sh to use the new account when sending
files to SCS. We closed the old anonymous ftp account
for security reasons.
* Changed setup.sh to avoid more X setup if BATCH is "yes".
This makes some database administration scripts run
faster over remote connections.
* Fixed a problem where black and white logos would show black
on all plates instead of writing black on the black plate and
creating knock-outs on the other plates. This problem was a
side-effect of a fix in version 3.40 for a problem where
black and white logos would not appear on any plate.
Testing with ral-12jan06-background and ral-09feb06-knockout
shows that the logos drop out with the original version,
show black on all plates with the previous version and
separate correctly with the new version.
Testing on the AI8 files 0074510029 and sd-toy-dcs.eps
showed correct separations with the original, previous
and new versions of the separation code.
* Included Bob's changes to the readnac interface program.
The style comment for a readnac local format has a new option:
f<font>
<font> is the name of the PostScript font from the last <f> tag in
the xtag style from which the local format is derived. readnac uses
this font as the base PostScript font when interpreting <B>, <P>, <I>
(bold, plain, italic) tags in the ad markup.
When readnac sees a <B>, <P>, or <I> tag, it generates a cf command to set
the SCS font as follows:
The code in fonttable.c uses the suffix of each font in the composition
shared environment to determine bold/italic settings for the font, which
it records in the table it builds from the shared environment.
Use the last PostScript font from the 'f' option in a local format or
from an 'f' tag in the ad markup as the indicator of the font family.
For a <B>, <P>, or <I> tag, readnac uses fonttable.c to find the font
in that family that has the bold/italic settings indicated by the tag.
That technique is nothing new. What is new is that the font family used to
be obtained only from the last 'f' tag in the markup. Now there is an f option
in the local format that is set according to an 'f' tag in the style tag from
which the format is derived. Thus <B>, <P>, or <I> tags can be interpreted
even if there is no preceding 'f' tag in the markup, provided there is one
in style tag invoked in the markup and the local format derived from that
style tag uses the f option in the style comment to specify that font.
* Included Bob's changes to the readnn.c and mapclass.frm interface
programs to handle five digit class numbers.
1. The Advision interface config file <site>.cfg has a new tagged line:
ClassDigits=
If ClassDigits is 4 or unspecified, the behavior is the same as before.
If it is 5, it handles 5-digit classification numbers.
2. For Newport News, if we are using 4-digit classes, the segmented classes
are hard-coded as 4500-4850 as before. For 5-digit classes, the segmented
classes are in the SegmentedClassList file from the config file.
3. For Newport News, if we are using 4-digit classes, each class that is
a multiple of 100 is the parent of all classes in that group of 100. If
we are using 5-digit classes, readnn does not implement a class hierarchy.
4. If classifications are more than 4 digits, the first 4 digits are written
to the 4-character classification fields for adtext, adcls2, and classes.
The full class number is written to the long class field. mapclass.frm
has already been changed to use the long class field instead of the 4-digit
class field if the long class field is non-empty and contains a number.
Internally, the classification arrays are dimensioned to 100000 so they are
large enough for 5-digit classifications. But when testing that a class
number is in range or when looping through valid class numbers, the upper
limit is in a variable max_class_number, which is 9999 if ClassDigits is 4
and 99999 if it is 5.
NOTE: This version has 8042 lines of changes from the previous version.
3/6/06
Version 5.07
* The mergeint program (which the ClassPag import uses to combine
interface files in "merge" subdirectories) now handles interfaces that
do not pass eps files. The new (default) option -e supports merges
where either or both of the eps files is not present. If either
interface contains an eps file, mergeint will produce a merge file.
The new option +e requires that the main and merge directories all
contain both sort and eps files.
* The mergeint program now works better with interfaces that write short
headers in the sort file. The sort file specifications require a sort
file header of 512 bytes. The mergeint program copies the run date and
edition information of the second sort file to columns 62 through 79
(counting from 0) to the merged sort file. If the header of the
original sort file is shorter than 80 characters, mergeint no longer
tries to copy the additional run date and edition information.
* The Import->Read step no longer runs the importmerge.sh
interface script if the "import command" starts with "CALL",
even when the "process merge directories" configuration
parameter is enabled.
You should enable the "process merge directories" parameter
only when the interface writes files (marked-up text, for
example), that ClassPag must process to convert into sort
and eps files. In that case, the "import command" should
be a command line that runs the conversion program,
usually mapclass.sh.
For interfaces that write standard sort and eps files,
the "process merge directories" configuration parameter
should always be "N" or empty.
* The Import->Read step now does merges for interfaces
that send only sort files. It used to ignore merge
directories without eps files.
* The items under the page preview Cmd->Ads menu now say
"kill" and "unkill" instead of "unselect" and "select".
This makes it clearer that they are killing and restoring ads.
* Fixed a problem with color-separated spreads where the
second page of the spread would not always show on color
plates if the first page used all of the colors on the
second page.
* Added Chris' changes to the ad request window.
NOTE: This version has 1205 lines of changes from the previous version.
3/15/06
Version 5.08
* Increased the target ad length in ad records from 6 to 16.
* Added Chris' rapid entry form for ad requests.
To enter the new form:
1. Click on "Paginate".
2. Press Escape.
3. Click the "Ad Requests" button.
4. In the Display Ads window, there is a new toolbar button named
"Add Requests", next to "Edit Page Number". There is also a new
menu item "Add Requests". Click either one.
To use the new form:
Enter a valid Ad Number, then the request(s).
Click Add or press Enter to commit the change.
When you are finished entering requests, click Back.
The Ad Requests window will refresh and show your new requests.
* Added Bob's update to the readnn interface.
The interface now handles `` as an ASCII double quote.
3/21/06
Version 5.09
* The product configuration screen "Display Ad Dummying Style
(Continued)"/"Estilo de DiagramaciĆ³n de Avisos Destacados (continuado)"
has a new field "Keyed ad placement"/"Colocar avisos clavados" with the
values "P" and "C". The default of "P" uses the placement algorithm
from version 5.08. The value of "C" uses a new placement algorithm that
takes longer to run but should be more accurate.
* The product configuration screen "Display Ad Dummying Style
(Continued)"/"Estilo de DiagramaciĆ³n de Avisos Destacados (continuado)"
has a new field "Initial pagination passes"/ "Paginaciones iniciales" to
specify a number extra paginations to run when you first open a session.
For example, "2" would run three pagination when you open a session.
After that, each time that you click on "Flow", ClassPag does a single
pagination as before. The default is 1 for sessions with keyed ads and
0 otherwise.
* Changed maketar.sh for MacOS X.
* Added Chris' changes to pass more ad details from ClassPag to formula.
Completed the display of ad flags and conflicts on the wide-screen
Information dialog (wideinfo.ifm).
* Added Chris' change to add units of measurement to cpag.ps's CP2O comments.
* Added Bob's change to the mapclass interface.
If mapclass cannot find a set size percentage that puts the depth from
composition within the allowable range around the depth from AdVision,
mapclass uses the smallest set size percentage that makes the ad as
large or larger than the AdVision depth. Thus an ad should never come
out too small. The problem was in the computation of the smallest set
size ratio that makes the ad large enough.
Added -f option to the readnn command line.
After -f, put the name of the .cfg file to use for the readnn configuration.
The name should not include the directory path or the extension.
For example, for
readnn -f la5
the configuration file is /u/advision/la5.cfg.
The default configuration file is still /u/advision/<site>.cfg where
<site> is the site from the -n option (nn if -n is not specified).
In order to allow mapclass to determine whether five-digit
classifications are present, readnn writes the file classdig.fil
to the work directory, where it is read by mapclass. The contents
of classdig.fil is either a 4 or a 5, depending on whether readnn
was configured for 5-digit classifications.
NOTE: This version has 6110 lines of changes from version 5.07.
3/29/06
Version 5.10
* Fixed an inconsistency where a page with a big display ad
that left almost exactly enough space to flow a class header
and line ads above it would have the line ads flow if no
ads were above the display ads but would have fillers if
there was another ad over the display ad.
* Fixed a check for class headers under display ads in
column balanced classifications. ClassPag now places
headers according to the "Flow under display ads"
product configuration field on the "Classified Heading
Placement" screen.
* The loaddb.sh script, which rebuilds databases during ClassPag
upgrades, now uses "oupdate" instead of "update /s". This should
make the loadtape.sh procedure run faster. The change in 5.06
still ran the normal update program.
* Added Chris' changes to the 172 column window.
Opens an ad list at the beginning of the pagination session.
Made the ad lists in dsk_cpag.ifm share more common fields.
The Information dialog shows the current ad's size and requests.
If the user double-clicks on an ad in the Ad List,
the Information dialog shows details for that ad.
Enhanced the 172-column window's Information dialog.
The ad size is converted from centipoints to default units.
Paper statistics are initialized, to quell pop-up error messages.
The Ad List stays open, and does not refresh.
This makes for less surprises.
* Added Chris' change to CP2O comments.
In cpag.ps output to CP2O, corrected the format of %%SCSIncludeNeeded comments.
There were unwanted spaces in the AdHeight and PlacedDepth arguments.
In cpag.ps output to CP2O, %%SCSIncludeNeeded comments did not include
the CustomerName field.
* Added Bob's changes to the 172 column window.
Added an "Ad Area" tab to the wideinfo dialog. When the user clicks the tab,
the pie chart of ad area appears. If for some reason the pie chart can't be
made, a table showing the same data appears. This is instead of having the
pie chart appear in a separate window when the user enters "Preview".
* Added Bob's changes to the mapclass interface formula.
Changed the declaration of the class table size from "100000 rows"
to "30000 to 100000 rows grows by 70000".
3/30/06
Version 5.11
* Added a procedure for updating classification numbers
in classification sequencing tables from a spreadsheet.
Before using this procedure, you must create a text file
with a classification table in comma-separated-value format.
If you have the classification data in a spreadsheet,
save it in CSV format.
The CSV file has two required columns, "Old Class" with
the old classification numbers and "New Class" with the
new classification numbers. In addition, the file can
have an optional "Class Name" column with a descriptive
name of the classification. Here is an example:
"Old Class","Class Name","Web Feed","New Class"
1140,"Card & Collectible Shows","Compressor",33810
1150,"Coins & Stamps","Compressor",33850
1160,"Collectibles/Memorabilia","Compressor",33900
To run the procedure, open a pagination session in the
product that you want to modify. After you select
Paginate from the top level menu, ClassPag shows
a list of classifications to paginate.
From this list, use F12 -> View class nestings.
Use the arrow keys to select a sequencing table to modify.
When you have selected an entry, use F12 -> Copy and convert.
Enter a name for the new table.
ClassPag will copy and convert the table that you select
and save it with the new name. This ensures that you can
not destroy any tables by applying an incorrect mapping.
After you enter the new name, ClassPag opens a directory browser.
Navigate to the CSV file that you have prepared and press [Enter]
to select it and then confirm again by selecting [Yes] in
the dialog.
After you select the CSV file, ClassPag will take a few seconds
to parse it. If the file does not contain "Old Class" and
"New Class" columns, ClassPag will tell you and leave without
making any changes.
If ClassPag could parse the file, it will show a dialog with
the number of classifications that it read from the file.
Next, ClassPag will create a new classification sequencing table
by reading entries from the old table and replacing any
class id or parent id that is listed in the CSV file.
This might take about 30 seconds, depending on the number
of classes in the tables.
After ClassPag has built the new sequencing table, it will
show a dialog with the number of entries in the new table.
If the CSV file assigns several old classes to the same
new class, this dialog could show an error for each duplicate.
That is normal if you have duplicates.
If a new class in the CSV file has more than 8 characters
(the current maximum length of a class id), ClassPag will
remove dashes from the class.
If the CSV file has a "Class Name" column, ClassPag will
create class name entries under Setup -> Set Class Names
for any classes that are not already entered there.
* The loaddb.sh script, which rebuilds databases during ClassPag
upgrades, now uses "oupdate" instead of "update /s". This should
make the loadtape.sh procedure run faster. The change in 5.06
still ran the normal update program.
* Improved the logic for handling multi-column segmented ads
from Word when "Unwrap Folded Ads" is "T" or "C" (for ClassPag
to unwrap the ad with cut-and-paste). If the first line at the
top of a new column had an indent, ClassPag would shift the
column to the left.
* Implemented "View Image" in the wide ad information ad tab.
It now works like the "View Box" button.
* Implemented "View Image" in the wide ad information page tab.
It now works like the "View Page" button.
* Added Chris' changes to the 172 column window.
The windows show more information.
Changed the default XFontSize for 1280x800 displays from 10 to 12-point in setup.sh.
Setup.sh defines CLASSPATH using /u/scs/javadef, if available.
* Added Bob's changes to the readnn interface.
I used the -f option for specifying a configuration file name.
It was already used for the "stop at first match" feature. Since the
"stop at first match" feature is not used, the -f option no longer
affects that; it is now used for the configuration file.
Changes to handle classification names that consist 5-digit
classification numbers followed by a hyphen followed by a 3-character
suffix. Since ClassPag limits classification names to eight characters,
readnn strips out the hyphen. When mapclass determines the
classification number using the LongClass field, it uses only the first
five characters of the field. oe_to_es.frm has code to put the hyphen
back in for the E-Tearsheet interface. That code is currently commented
out until an E-Tearsheet interface requires the hyphens to be restored.
NOTE: This version has 3012 lines of changes from version 5.09.
3/31/06
Version 5.12
* setup.sh adds $JAVA_HOME/bin to the PATH is it exists instead
of always adding /usr/java/j2re1.4.2/bin.
* mapclass now add suffixes to 40040 classes similar to what
it does for 8500 classes.
* The mapclass.sh script has a new "readopt" parameter that adds
the next parameter to the READOPT environment variable.
* The makenn.sh script now initializes the site options to the
READOPT environment variable.
* Fixed an initialized variable reference that could cause problems
when printing.
* Added Chris' enhancements to the "Rapid Ad Requests" window.
An ad description appears to the right of the ad number to help
users verify that they have entered the correct ad number.
If the ad number was invalid, the user was caught in a loop, and
could not leave the ad number field. The dialog now advances to
the page request field after the ad number is corrected.
The drop-down list for position request shows a description
instead of a code, so users no longer need to memorize the codes.
If the user entered an invalid position request, they were
returned to the position request field, but were not told why.
They now see a message.
If the user did not enter a page, column, or position request,
they were warned, but ClassPag accepted the blank request and reset.
Now ClassPag gives the user a second chance to enter a request.
NOTE: This version has 1188 lines of changes from the previous version.
4/11/06
Version 5.13
* Banners with layers containing composed text can now have
different text in each work area. Banner text records have
a new field "Location"/"Ubic." with the default value "C"
to store the text in the common "bantext" database as before
and the value "W" to store the value in the new "realtext"
database in the work area.
If the "Location" field is set to "W", when you edit a banner
text macro expression, ClassPag saves the changes in the work
area database. The banner text window has a new command option
to edit the template in the common database. The banner text
window also has new command keys to control whether the list
window shows the macro expression from the common area or from
the work area. If you enter custom text into banners, this
allows you create a template with all of the mark-up codes
that ClassPag automatically copies into the current work area
when you customize it.
When the "Location" field is set to "W", ClassPag also stores
the generated postscript in the work area. If the macro
expression does not require daily customization but its
value depends on the work area, using a Location of "W"
will keep work areas from interfering if two people
rebuild the banners at the same time.
* ClassPag now has a product configuration parameter to control the
placement of cut rules between legal ad segments and space reservations.
The product configurations screen "Legal and Segmented Ad Specifications
(Continued)"/"Especificaciones de Avisos Legales y Segmentados
(continuado)" has a new field "Between Segs and Reservations"/
"Entre Segs y Reservaciones". The default value of "Y" places rules
with the expectation that the reserved space is for display ads or
news that should be separated from the segmented ad. The value of
"N" suppresses the rules.
* mapclass.frm writes a few more lines of log information
to its log file to help identify each step of the
conversion process.
* makeeps.sh now prepends the value of MAKEEPS_OPT to
its command line. You can use this to enable debugging
without modifying any 4GL code in ClassPag.
* makeeps.sh has a new -s option to sleep for 1 second
and a -s10 option to sleep for 10 seconds. These options
provide more time to read the log to the screen.
* Added tarsave.sh to make a tar archive of a saved development area.
NOTE: This version has 3963 lines of changes from the previous version.
4/17/06
Version 5.14
* Square-offs have two new fields "Target"/"Obj." and "Sort"/"Clave".
The Target is the target class to place the square-offs.
It defaults to the square-off class.
The Sort sets the location in the target class.
If the class runs several pages, ClassPag will try to place the
square-off on the page that contains line ads near the sort.
* The box information window now shows the target class and sort key
of square-offs when you click on one of its banners.
* Enhanced the ad position entry dialog.
The dialog starts with the currently ad in the ad list.
This allows you to use list filters to locate ads.
When you enter an ad, the dialog initializes with its requests.
This allows you to modify one request field with rekeying the others.
Increased the number of rows in the column and position list windows.
This reduces the amount of scrolling needed to find entries in the last.
Fixed the ad number lookup to expand the prefix of an ad number
if the user doesn't type the complete ad number.
* Added Chris' change to oe_to_av to support five digit class codes.
* Added default XFontSize for 1680x1050 resolution.
The resolution is used by iMacs with a 20" wide screen.
NOTE: This version has 1563 lines of changes from the previous version.
4/18/06
Version 5.15
* Square-off setup windows now show the target class and sort key.
* ClassPag now reloads the square-offs if you edit the target class or sort key.
* Updated pstoepsf.sh to work better with resolutions other than 72.
Note that almost all applications require 72 dpi previews.
* Added Chris' changes to the wide information screen.
The "More..." button on the Page tab opens a very long window
in the sidebar to show more page information.
This matches the past behavior of ClassPag.
More of the Page information is available.
Colored the ad flags.
The Page tab shows accurate values for Page Range, Total Pages,
and Overflow Pages.
4/21/06
Version 5.16
* The square-off window has a new hotkey to clear both page numbers and columns.
If you want to reset the square-offs and you have been dragging ads,
you need to clear both the page numbers and the columns.
* Square-offs have a new field "Pack in Any Column on Page"/
"Colocar en Cualquiera Col," that works the same as setting
"Overflow Position"/"Posicion de Exceso" field to "P".
Manually positioning square-offs sets the "Overflow Position" field
and can clear the "P" value. Dragging a square-off does not affect
the new field. The default value uses the value from the "Overflow
Position" field. The value of "N" requires ClassPag to place the
square-off on an empty page when possible. The value of "Y"
allows ClassPag to place the square-off on a page with other ads
or square-offs.
Setting "Pack in Any Column on Page" forces ClassPag build
the square-off as if "Overflow Position" were "L".
* ClassPag no longer extends square-off banners over other square-offs.
Before this change, if ClassPag built a page with a small one-column
square-off and a larger square-off that filled the rest of the columns,
ClassPag could expand the banner of the larger square-off over the
entire width of the page (provided the product configuration allowed
expanding banners and if the square-off had a wider banner).
* cronbuild.sh now rebuilds pagename and realpn if any of their idfs
are changed.
4/24/06
Version 5.17
* ClassPag now restores your position requests if you enter position
requests, re-import, select "No" to the question to "Remove old files
before copying the new files".
* The classification selection window and the ad requests
window (on the edition parameters dialog) have a new option
"Copy position requests from save file" to restore saved position
requests. These options can restore position requests even if you
answered "No" to the "Remove old files" question.
4/26/06
Version 5.18
* The "Copy and convert" command in the classification nesting list
now handles leading spaces in class names. ClassPag looks up class
ids in the CSV file as before, but now if ClassPag does not find a
match, it removes leading spaces from the class id and tries again.
* Square-off records now have a second screen to specify the color
of the border. This will be completed in a later release.
4/28/06
Version 5.19
* The product configuration screen "Agate Ad Specifications"/
"Especificaciones de Avisos Agate" has a new field "Warn if under"/
"Advertir si menos que" to specify a minimum size for internal ads
in bytes. The default is 32. If the length of an internal ad
is greater than 0 and less than this size, ClassPag marks the ad
as a "SMALL_INT_AD" conflict.
Ads with this conflict show in the color for generic EPS warnings
specified by the EPSCONF context under Setup -> Set Ad Colors.
* Added Chris' change to the 172 column display to make ad list
columns fit better.
* Fixed some fields tests for the local version of the square-off form.
The tests ran for the common version in the setup but not for the
local version in the current work area.
5/1/06
Version 5.20
* Each square-off can now have a user-definable color for its border.
The square-off form has a second screen with fields for cyan, magenta,
yellow, black, and gray levels. Each level is from 0 to 100 for the
ink percentage. The CMYK values are for color pages, while the gray
value is the black percentage when the square-off is printed to a
black-and-white page (a paper entry with "Create Separations"
set to "GRAY"). The default is a black border. If any of the
five new fields have values, ClassPag uses those values instead
of black. If the gray value is empty, ClassPag uses the standard
conversion of the CMYK values to a gray value. If all of the CMYK
values are empty, ClassPag uses the gray value on color pages.
If some of the CMYK values are empty, ClassPag defaults them to 0.
* Added Chris' changes to the 172 column display.
The Agate Ads list has new columns for the width and the sort key.
* Added new data structures for tracking fillers internally.
The tests for limiting the number of copies of a given filler
on a page and throughout the edition are now 40 times faster.
On sessions with many empty pages, the filler tests were
consuming over 96% of the pagination time.
* Fixed a problem where fillers inside square-offs in rebuilt
pages would not always be assigned to the square-offs which
could cause problems in square-offs with special cut rules.
NOTE: This version has 6832 lines of changes from version 5.14.
5/2/06
Version 5.21
* Fixed a problem where ClassPag would sometimes not place a
main header for a class if the class had no ads and the first
subclass had display ads (which were all manually placed)
but no line ads, but the second subclass had unplaced line ads.
* Added Chris' update to the newshole page of the 172 column display.
5/3/06
Version 5.22
* ClassPag can now place square-off banners with the width specified
in the square-off database, even if the square-off does not contain
enough ads for that width. This can be useful when business rules
require a square-off of a certain width.
The product configuration screen "Display Ad Dummying Style"/
"Estilo de Diagramacion de Avisos Destacados" has a new field
"Expand Square-Offs to Width"/"Ensanchar carteles a ancho"
to control the widths of square-offs. The value "Y" expands
square-offs to the specified width in the square-off database
when possible. The default value of "N" works as before to
leave the square-off smaller than the requested size if it
does not contain enough ads.
NOTE: This version has 2425 lines of changes from version 5.20.
5/8/06
Version 5.23
* Improved the pagination time for editions with many keyed ads.
This change makes the pagination faster without affecting where
ClassPag places the ads.
* When ClassPag places keyed ads, it now considers the heights
of the ads already on the page. It should now stack ads better
than before on pages that already have some display ads.
* When ClassPag places keyed ads, if has keyed ads left over
after flowing all of the line ads, it can now handle them
better even if they don't all fit on the last page.
* The updprod.sh has a new -w option that works the same as the
combination -f -u -q.
* Fixed a problem where ClassPag would not always place second
heads above line ads at the tops of columns with front-to-back
pagination when there was already a display ad at the top of
the column.
* Added outext.c to the cpag source repository. outext.c is
the sample C program for reading outext files that is included
in the manual.
5/11/06
Version 5.24
* ClassPag can now load fillers in the sort line as either agate
fillers, display fillers, both, or neither, instead of always
loading them as agate fillers.
The product configuration screen "Ad and Class Conversions (continued)"/
"Conversion de avisos y clases (continuado)" has two new fields
"Load F lines as agate fillers"/"Cargar tipo F como rellenos agate"
and "display fillers"/"rellenos destacados".
The default is to load filler lines in the sort file as agate fillers
and not as display fillers.
If you choose to load the filler lines as both agate and display fillers,
ClassPag adds "A" suffix to the agate filler copy in order to keep
the names unique.
* Added Bob's changes to the nac interface.
makenac.sh now ensures that its readnac command includes -pNAC unless it
already has two -p options passed to it. That ensures that local formats
for product NAC are loaded into readnac's table, so that formats that are
the same for all products can be created only for the NAC product and need
not be duplicated across all products.
Changed handling of local formats in readnac.c
If a format exists for both the main product (the product in the first
-p command line option) and the alternate product (the product in the
second -p option), we use the one for the main product. This allows the
site to set up all local formats in the default NAC product, adding a
local format for a specific product only if the format for that product
is different from the format for the default product. Since makenac.sh
calls readnac using the import product in the first -p option and NAC in
the second, the format for the specific import product is preferred.
I eliminated the hardcoded formats table. The formats in it are out
of date. If a format is needed, add it to the product configuration.
* Fixed a problem in 5.20 that could cause fillers to be repeated more
times than permitted in the product configuration.
* Fixed a problem in 5.20 that could cause "fill_cnt_ok" log warnings.
NOTE: This version has 4473 lines of changes from version 5.22.
5/12/06
Version 5.25
* Fixed a problem from version 5.06 where ClassPag could dummy small
ads first in front to back pagination, which could leave the larger
ads out of class. The change in 5.06 was to invert the size component
of the sort key when importing display ads from the sort file in a
product that defaults to front to back pagination. The key must be
independent of the pagination direction to make it possible to change
the direction in the middle of a session. I undid the change from 5.06.
Ad dummying for keyed ads and for column balanced ads have their own
sorts, so they should still work, but they should be tested.
5/12/06
Version 5.26
* Fixed a problem where the "Sort by Ad Number, with Customers" function
in the Ad Requests window of the Ad Statistics screen did not work.
5/16/06
Version 5.27
* The square-off window has new tool bar buttons and new F12 functions
to control whether or not ClassPag should place fillers in the current
square-off. This makes it easier to modify the filler flag because
you no longer need to open the square-off form.
* The "Width" column of the square-off window now shows the computed
width of the square-off if it differs from the requested width.
The column contains the requested width as before, and then if
the calculated width differs, a slash and the computed width.
This makes it easier to see the current width of each square-off.
* The "Set Width" button of the square-off window now marks the computed
width with a plus sign "+" if it differs from the requested width or if
the requested width is not set. This helps guide you when you are
changing the width of a square-off.
* The square-off field "Use Fillers" now controls whether ClassPag places
fillers inside square-offs if the field is "Yes" or "No". If the field
was "Yes", ClassPag would still apply other tests before placing fillers.
Now, ClassPag always checks to place fillers if this field is "Yes".
5/17/06
Version 5.28
* The square-off window now shows the calculated width for
square-offs that contain display ads.
* The page number column in the square-off window now shows a slash
and the page range that ClassPag selected if the square-off does
not have a manually assigned page.
* The square-off window has a new button and F12 command key to go
to the page with the square-off. This makes it easier to locate
square-offs on large editions.
5/19/06
Version 5.29
* The product configuration field "Save Work Area on Exit"/ "Guardar
area de trabajo en salir" on the screen "Outext Export (Continued)"/
"Exportar de outext (continuado)" has a new value "L" to ask if you want
to lock all ads or display ads before saving the work area. You have
choices similar to Cmd->Lock->Save Work Area. The value of "T" saves
the work area with the current locks as before. The default value of
"F" does not ask to save the work area.
* The "Final Output Device"/"Rendimiento Final" in the
"Paper Definition" form has a new value "P" to mark paper
entries that should make a page as printed while allowing
a spread that is not scaled at 100%. Here is a table
with the possible values of this field:
T = mark page as printed / force 100%
P = mark page as printed / allow any scale factor
S = do not update page / force 100%
F = do not update page / allow any scale factor
* Editor windows have a new function bound to control-shift-w to
show the word count of the buffer. The function displays the number
of bytes (internal length of the buffer), the number of characters
(scs characters in the buffer), the number of words, and the
number of lines.
* Linked with Bob's updated version of the tiff library.
Quark 3.32 sometimes writes bad tiff files with non-standard headers
and an incomplete final scan line. On these ads, the preview
did not show, and the cpag session log reported
file.eps: Warning, invalid TIFF directory; tags are not sorted in ascending order.
file.eps: Warning, TIFF directory is missing required "StripByteCounts" field, calculating from imagelength.
file.eps: PackBitsDecode: Not enough data for scanline 467.
With this change, the preview shows in the ClassPag page display with
the missing pixels at the end of the incomplete scan line shown in white.
* Fixed a problem where ClassPag would sometimes add leading
above a legal ad segment at the bottom of a column.
* Fixed a problem where clicking on the black X icon to delete an ad
would not work on banners.
NOTE: All sites should check their version of update in $TOOLS,
usually /u/scs/tools/bin and /u/scs_cpag/tools/bin.
Any version from October 2004 through May 18, 2006, should be
replaced with the current version. The current version fixes
a problem that could sometimes drop the last few characters
from blob fields.
5/22/06
Version 5.30
* The list of classes opened by the help key on classification
fields of some forms now shows whether each class is active.
The list also has a new hot key and tool bar button to restrict
the list only to active classes. This makes it easier to select
classes when creating ads.
* Fixed a problem in front-to-back pagination where dragging a line ad
to the bottom of the first column where its class started could cause
ClassPag to place a class header over the dragged ad instead of the
first ad in its class.
ClassPag now recognizes this case and places the class head in the
correct place.
Also, when ClassPag checks to flow a class header, if the ad at the
top of the column has a different class, ClassPag will flow the class
header, if even it has already placed the class header on an earlier
column.
5/24/06
Version 5.31
* Added a new report with ads and sort keys.
From the page display, use Cmd->Reports->Report of Ads by Sort Key
then ClassPag opens a window with most of the columns of the report.
You can click on the column headings to change the sort. When the
report is sorted the way that you want, you can use F12 to generate a
printed report that is sorted in the same order as the on the screen.
* The product configuration screen "Outext Export (Continued)"/
"Exportar de outext (continuado)" has a new field
"Sorted Ad Report Units"/"Unidades para reporte de avisos ordenados"
to control the units in the "Report of Ads by Sort Key".
This field affects only the units in the printed report.
It does not affect the units displayed in the window on the screen.
* The field "Pages To Print"/"Paginas a imprimir" in the "Spread"/
"Chapa" form has two new values "FORCEALL" and "MARKED".
The option "FORCEALL" prints all pages whether or not any pages
are marked.
The option "MARKED" prints only the marked pages. If you have not
marked any pages, it shows a warning and does not print anything.
The old option "ALL" continues to print the marked pages if any
pages are marked and all of the pages otherwise.
* The XML page report now includes the section name in the sequence
<attribute name="AdditionalPageInfo"><Section>B</Section></attribute>
The InsertionDate date field is in YYYY-MM-DD format.
The Xpos, Ypos, Width and Height fields in the XML page reports are
in units of ten-thousandths of mm. 254,000 units are one inch.
The XposColumns field is the leftmost column of the ad counting from 1.
The State field is always "3".
* The outext now contains the final six characters of the ad number
on columns 70-75 of card 1. This makes the outext more useful with
interfaces that pass ad numbers longer than 10 characters.
* The outext ad type field on column 8 of cards 2 now shows "B"
instead of "F" for banners.
* The initscr.sh no longer initializes X so it starts up
faster on slow connections.
5/26/06
Version 5.32
* The Report of Ads by Sort Key is now almost twice as fast opening.
* ClassPag now validates and implements the list function on the
Class and Target Class fields in square-off forms.
* ClassPag no longer warns about internal ads that start with a
line of percents instead of the usual "%!". At sites that require
merges from different front-ends, ClassPag prepends the prolog to
the ads. This change allows ClassPag to accept merged ads from
a front-end that start their prolog with a line of percents.
5/31/06
Version 5.33
* The Report of Ads by Sort Key has an option to produce the
report in postscript.
* The product configuration screen "Screen Display Preferences"/
"Preferencias de Visualizacion" has a new field "PostScript preview
scale Reports"/"Escala para PostScript ver Reportes" to set
the initial ghostview magstep for showing reports.
The default is currently 0.
* Optimized the class translation procedure so that it is about
ten times faster for the case where all entries are non-numeric
and all have no last class. In this case, ClassPag can look up
the class directly in the class translation table. If any entry
has a range or a numeric value, ClassPag must still scan the
entire table each time that it translates a class.
* maketar.sh and maketard.sh now include sts files.
NOTE: The new reports of ads by sort key require a version
of report writer from May 5, 2006, or later. Report writer
now includes exx, mer, dor, styparse, tag2ols, and ols2ps.
6/1/06
Version 5.34
* The fast ad request form now shows a column with the fill
percentage of the requested page. You can use the percentage
to check when you have over-sold a page.
* The form to edit ad records now shows a warning after you
enter a page request if the page had other ads and would now
be almost full.
* The list window to view ad requests has a new tool bar button
to switch whether the list shows all ads or only display ads.
* The list window to view ad requests has a new tool bar button
and a new command key option to show the percentage that the
page requested by the current ad is filled.
* Fixed a problem where ClassPag would not rescan to find
segmentable ads after applying a class nesting table if
an entry made a class segmentable ("Randomize" of "L" or "G")
but no entries changed any other class fields.
6/7/06
Version 5.35
* The square-off list has a new command option and toolbar button to
clear the page numbers and column position of the current square-off.
* On gray scale pages (printing with a paper entry that specifies
"Create Separations" of "GRAY"), ClassPag now converts custom colors
to gray scales.
* The "Create Separation" value of "AURORA" now separates eps files
that use custom colors. Custom colors used to show in color on all
plates. When possible, you should create separation with the "YES"
option instead because it supports more color features.
* Included Chris' enhancement to the Unordered Filler Statistics
Report under Cmd -> Reports. The item now prompts you to write
the filler statistics before running the report. This fixes
a problem where the report would be empty if you had not yet
written the filler statistics.
6/9/06
Version 5.36
* The list window to view ad requests has a new tool bar button
and a new command key option "Show page fill report"/"Mostrar
reporte de porcentajes de paginas llenadas" to show a list of
the page requests and the fill percentage of each page. This list
provides an easy way to check if any page of the edition is oversold.
You can select or click on any of the page requests in the list
to open a second list that shows the ads requesting that page.
* Fixed a problem where ClassPag would not place square-off
banners over line ads if manually placed ads caused the line
ads to take more space than ClassPag had calculated.
* Fixed a problem where ClassPag could place overflow line ads
of square-offs on a new page instead of on a new column when
manually placed ads made the square-off larger than ClassPag
had calculated.
6/14/06
Version 5.37
* ClassPag now supports composition help in den screens.
All den screens now define the help system name of "C:$CPAG_HELP/denhelp".
* The ClassPag setup script now creates the $CPAG_HELP directory
if it does not exist. Also, if the denhelp database does not
exist but the tbin hlp_comp screen is present, the script creates
an empty database.
* The menprof.sh and runcpag.sh scripts now have a new "helpdir"
parameter that takes an argument with the name of the help directory.
This is only for SCS internal use to maintain help files.
This option sets HELPEDIT to "yes" and HELPDIR to the specified name.
For example, "/u/cpag/menprof.sh helpdir /u/cpag/helptemp" would
run ClassPag with help enabled and the help work directory of
"/u/cpag/helptemp". ClassPag releases can include new help files.
You should use these parameters only on the designated system
at SCS or else changes that you make to help text could be lost
the next time that you update ClassPag.
* Fixed a problem where classes with display ads but no
line ads would not show page numbers in a live index if
they were in a square-off.
NOTE: All den screens have recompiled for this release.
Using the new help will require updating to the current
version of the spice tools.
6/15/06
Version 5.38
* Included Bob's update to support sort keys in the nn interface.
The LA Times provides sort keys for the ads in an AdVision dump
by placing a text file called sortinfo.fil in
/u/cpag/root/scratch/SortInfo/<date>, where <date> is the run date
for the dump in yymmdd format.
The file is a text file. Any line in the file that begins with ! is a
comment line that the SCS interface ignores. Other lines have an ad
number followed by a tab followed by a sort key. The sort key could be
empty.
The SCS interface determines the directory for the file using the date
found in the line in times.fil that says:
For the <product> to run on <date>
<date> is interpreted in mm/dd/yyyy format and converted to yymmdd to
form the directory name.
If times.fil cannot be located or the above phrase cannot be found in
it, the SCS interface uses the current date in yymmdd form.
If sortinfo.fil is found in that directory, it is renamed to
sortinfo.cpy. Renaming the file allows the Times to place a new
file there while SCS is processing one placed previously. The file
sortinfo.cpy is then copied to the work directory. That copy is read by
the SCS interface programs as the source of sort keys for the ads in the dump.
If sortinfo.fil is not found in the directory but sortinfo.cpy is, the
SCS interface uses sortinfo.cpy. This can happen if the interface is
run a second time with no new sortinfo.fil placed in the meantime.
If both sortinfo.fil and sortinfo.cpy are found, the SCS interface
renames sortinfo.fil to sortinfo.cpy if its creation time shows that it
is newer than sortinfo.cpy. This happens if the Times places a new
sortinfo.fil in a directory where one was placed and found previously.
If neither file is found, the SCS interface reports the problem in
lasort.log in the work directory.
The Times can control the classifications/products for which the SCS
interface uses the sort keys in the file instead of the sequence number
sort key that SCS generates by default. This information is specified
in a text configuration file called /u/advision/latimes/pst/sortclass.lis.
The format of that file is similar to the format for the file that
contains the list of classifications/products for which ads may be
segmented. Lines that begin with # are comment lines that the
interface programs ignore.
Other lines consist of:
a class number or two class numbers separated by a hyphen
optionally followed by a colon and a list of product ids separated by commas
If the line has two class numbers separated by hyphen, the first number
should be lower than the second, so that the specification is interpreted
as a range of classifications. The SCS interface uses the sort keys
from the sort key file for ads in all classifications in the range.
If a colon and product list are specified, the SCS interface uses the
sort keys from the sort key file for ads in the given class or range of
classes only if the product being imported is one of the products in the
list. If no product list is specified, the SCS interface uses the sort
keys from the sort key file for all ads in the given class or range of
classes, regardless of product.
If the sort key configuration file is missing or has nothing but blank
and comment lines, the SCS interface uses the sort keys from the sort
key file for all ads in all classes for all products.
As mentioned above, the condition that SCS interface can't locate
the sort key file is reported in lasort.log in the work directory.
If the sort key file can be located, but one or more of the ads in the
dump is either missing from the sort key file or has an empty sort key
in the sort key file, a popup occurs at the end of the import informing
the user of this. The list of ads with missing or empty sort keys is
written to the file emptykey.log in the work directory.
This feature is implemented by new functionality in the programs readnn,
mapclass.xfm, and makenn.sh, all of which are installed in /u/cpag/interface.
makenn.sh does the sort key file location, renaming, and copying.
The only change to readnn is that it has an option where it reads times.fil
and returns the date for makenn.sh to use as the directory name.
The reading, interpretation, and application of the sort key file and
the sort key class configuration file for the purpose of setting sort
keys in the SCS sort file is done in mapclass.xfm.
* Improved the sec interface, local formats now work.
6/16/06
Version 5.39
* Editor commands invoked from the ad list menu of the mapclass interface
formula now do nothing instead of showing a warning about an invalid session.
* Rebuilt the ad reports under Import Ads->Ad Size Report.
They needed to be rebuilt due to the ad database change in 5.34.
6/21/06
Version 5.40
* ClassPag now keeps a database of duplicate ads. This database
contains ads that were duplicate insertions during Import->Read.
You can view the database from the ad statistics screen using
Ads -> Display Ads -> F12 -> Show duplicated ads
or from the page preview screen using
Cmd -> Ads -> Show duplicated ads
* When ClassPag writes XML page reports, it looks up each ad in
the duplicate ad database. For each copy in the duplicate ad
database with a zone that matches the current zone, it writes
an additional XML record similar to the record for the original
ad but with the insertion id and booking id of the duplicate ad.
* When ClassPag writes XML page reports, it now writes ad state
"3" for "Released" instead of "10" for "Published".
* The interface directory has a new script scanxmlpage.sh
to resend saved XML reports with a final status.
For each XML page report that should be closed, the script
sends a finalized copy of the report to an output directory
and moves the original report to a save directory.
The script has the options:
-d YYYYMMDD
The current date. Only process files from before this date.
Defaults to today's date.
-i directory
The input directory with the XML report files.
The files must end with the extension .xml.
Defaults to the current directory.
-s directory
The save directory for holding the original XML report files.
Defaults to the input directory + "/save".
-o directory
The output directory to write the final XML report files.
Defaults to the first of the list below that exists and is writable.
/c2/In/XMLPaginationReport /*/In/XMLPaginationReport XMLPaginationReport
* Changed the name of the Paper database field "Print Command"
to "Printer Name" to make it clearer that this field matches
the "Printer Name" field of the Printer database.
* ClassPag now validates the "Printer Name" field on the Paper screen.
If you leave the field empty or enter a value that does not match any
printer, ClassPag opens a list of printers.
You can open the list at any time while you are on the "Printer Name"
field using the list key (often F1 or Ctrl+F,L).
The printer list initially shows only the active printers for the
current system. The list has a new command option "Show/Hide Inactive
Printers" if you are setting up entries for other systems and need
to see inactive printers also.
* Folio macro expressions can now access ads in columns by setting
O_CPagFindAd to a value with the format "p:#,c:#,t:#" or "p:#,c:#,b:#".
The "p" value is the page number in the session (the page number
from the edition parameters as if there were no book size entries).
The "c" value is the column number on the page with 1 as the leftmost
column, or if the value is negative, from the right with -1 as the
rightmost column. The "t" or "b" value is the ad from the top or
bottom of the page, with t:1 taking the top ad, t:2 the second ad from
the top, etc. When the expression sets O_CPagFindAd, ClassPag sets
I_CPagCurrentAd to the selected ad (or to an empty string if
there is no ad in that position), and you can read from the various
O_CPagCurrentAd... variables to extract information about the ad.
* Folio macro expressions can now check whether the current ad
has more segments following it through the boolean variable
I_CPagCurrenAdHasSegsBelow. For example, to print a continuation
message if the last column ends in the middle of a segmented ad, use
O_CPagFindAd := "p:" // PageNumber // ",c:-1,b:1";
"<dc 200e><cc 1c,hvb,6,6,6>" //
(I_CPagCurrentAdHasSegsBelow? "Continued": "") //
"<ql>"
* Folio macro expressions can now access the column width in centipoints
through I_CPagColumnWidth and the gutter width (between columns)
in centipoints through I_CPagGutterWidth. This makes is easier
to generate fixed spaces to align text under columns. For example,
to right-justify text under the third columns, use
"<dc 200e><cc " //
((3 * I_CPagColumnWidth + 2 * I_CPagGutterWidth) * 72 / 7227) //
",hvb,6,6,6>" //
"Continued" // "<qr>"
* Folio macro expressions can now access the title of the class
of the current ad with the variable I_CPagCurrentAdClassTitle.
* Folio macro expressions can now access the first word of an
ad with the variable I_CPagCurrentAdFirstWord. If the current
ad is segmented, the variable returns the first word fo the
first segment. Expressions also can now access the first line
with I_CPagCurrentAdFirstLine and the second line with
I_CPagCurrentAdSecondLine.
* Folio macro expressions can now access the first word of the
class header of the class with the current ad with the variable
I_CPagCurrentAdClassFirstWord. Expressions also can now access
the first line with I_CPagCurrentAdClassFirstLine and the
second line with I_CPagCurrentAdClassSecondLine.
* Folio macro expressions can now access the first word of the
class header of the top class with the current ad with the
variable I_CPagCurrentAdTopFirstWord. Expressions also can
now access the first line with I_CPagCurrentAdTopFirstLine and
the second line with I_CPagCurrentAdTopSecondLine.
* The product configuration screen "Classified Heading Placement"/
"Ubicacion de Encabezados de Clasificaciones" has a new field
"Flow wide headers"/"Fluir cabezales anchos" to control what ClassPag
does with multi-column headers. The default value of "N" saves
multi-column headers for placement over multi-column display ads
but does not flow them in-column unless the class has line ads
of that width. The value of "Y" flows multi-column headers even if
the class has a one-column class header and only one-column line ads.
This option works only for front-to-back pagination.
ClassPag does not check that there are enough ads to flow under
all columns of the header.
* The editor command window has a new option to edit local formats.
This can be useful when writing formats in the mapclass interface.
* More updates to the sec interface.
* Changed the default hyphenation language in the "nac" version
of mapclass.sh to Spanish.
NOTE: When creating ads that will be segmented by SCS Composition,
avoid composition sequences that affect more than one segment.
This includes color and grayscale changes because the foreground
is reset to 100% black before each segment.
NOTE2: This version has 10806 lines of changes from version 5.24
plus 4462 lines of new programs.
6/27/06
Version 5.41
* The XML page report now contains entries for PublicationSystem
and XposColumns.
* Fixed a problem where a live index could sometimes show the
wrong page number for a class.
6/30/06
Version 5.42
* The scanxmlpage.sh interface script now sends files on or before
the specified date instead of only before the date. The script has
a new -b option to restore the old behavior of sending files before
but not on the specified date.
* The rcpuniq.sh script has new -binary and -ascii options
to control the ftp mode. The default is still -binary.
-ascii can be useful when sending text reports to Windows systems.
* You can now configure the inclusion of the PublicationSystem
and XposColumns attributes in the XML page report through a version
number in the "junkxml" file. Version 1 omits those attributes.
Version 2 and higher includes them. If the file is empty or 0,
ClassPag writes the highest supported version (currently 2).
ClassPag reads this file each time that it writes a report,
so changes take effect immediately, even inside open sessions.
* Added Bob's change to the makenn.sh interface script to handle
sort files named sortfile.fil instead of sortinfo.fil.
* Added Bob's changes to makenn.sh and readnn.c for finding sort files.
The directory name for the LA sort file is in yyyymmdd form, not yymmdd
form, as originally specified.
So now readnn -r outputs yyyymmdd. And makenn.sh is compatible with a
readnn that outputs yymmdd; if it finds a 6-character date, it prepends 20.
makenn.sh was insisting on the existence of sortfile.fil in the directory.
It is enough that sortfile.cpy exists.
7/5/06
Version 5.43
* Increased the number of merge directories in Import->Read
from 5 to 20.
* The Import->Read command now shows a list of merge directories and
the run date and the creation date of the sort and cardex file in the
main directory and in each merge directory. The list has check boxes
that you can click to select the directories that you want to merge.
(Interfaces that run mapclass in merge directories in batch mode
do not have this option.)
* The Import->Read and Import->Copy lists have a new command
"Show merge directories" that shows the run date and the
creation date of the sort file and cardex file in the main
directory and in each merge directory.
If a directory has a times file and a galley file but no sort file,
ClassPag shows the run date and creation date of the times file.
* The product configuration screen "Ad Loading"/"Cargar de Avisos"
has a new field "Scan Internal Ad EPS... For Color"/
"Comprobar avisos internos... para color" to request ClassPag
to scan for color comments in internal ads during Import->Read.
When the internal ads appear to have been created by SII,
ClassPag scans for the first sequence of comments within the
initial buffer that it reads. This allows ClassPag to generate
separations for internal ads with color logos.
* Added Bob's changes to the mapclass interface formula.
mapclass now specifies KY for the position request field for LA Times
display ads in class 40040 (employment). On ads with KY requests,
ClassPag interprets the string following the filename as a sort
key instead of as an ad description.
* Changed mergecard.sh so the output cardex starts with the header
and ads of the main cardex.
* The importmerge.sh interface script now copies but does not process
merge directories with sort files but without any files that match
the listed extensions. This allows merges to combine directories
with normal sort and eps files with directories with files that
need processing with mapclass.
* The importmerge.sh and mergeall.sh interface scripts now support
up to 20 directories.
NOTES: The import procedures have been completely rewritten.
7/6/06
Version 5.44
* The cleandir.sh script now removes double-digit merge directories.
* Import->Read now shows the list of merge directories only if
the import directory has merge directories.
* Fixed a problem where Import->Copy would show the list of merge
directories and attempt merges. Only Import->Read shows the list
and does merges. Import->Copy always takes a copy of the main area.
* Added a new "call PreCopyFiles" option for the "Copy Command"
field of the "Ad Loading" screen of the product configuration.
PreCopyFiles shows the same list as "call CopyFiles" except that
it shows the merge list and does merges.
In general, you should use "call CopyImportFiles".
CopyImportFiles shows import directories sorted by date.
CopyFiles and PreCopyFiles show all directories sorted by directory name.
CopyImportFiles and PreCopyFiles prepare for an import and do merges.
CopyFiles copies files without preparing for an import or merging.
* Fixed a problem with DIDIMPORTMERGE when doing copies.
7/7/06
Version 5.45
* The product configuration screen "Ad Importing"/"Importacion de Avisos"
has a new field "Default merge count"/"cuento def" to set the usual
number of merge directories that contain files. The control database
has a new field "Merge Count Def"/"Merge Def" to override the default
count for a given import area. The Import->Read procedure now shows
a warning if the number of merge directories does not match the
default count.
* The control record has a new field "Merge Count... Current"/
"Merge... Actual" that contains the number of directories merged
into the main directory when this area was imported.
* The lock database now includes a date and time.
ClassPag now updates lock entries and purges old lock entries
in more places to keep the lock database more current.
The "InUse" column of the Import->Read and Import->Copy,
which uses the lock database, is now more accurate.
* The Spread field "Show Display Ad Images"/"Ver imagenes de destacados"
has new values "YES", "NO", and "REL".
"YES" is like "T" to show all external EPS files.
"NO" is like "F" to treat all external EPS files as if they were missing.
The new value "REL" shows EPS files with relative paths and treats
EPS files with absolute paths as if they were missing.
When generating pages for the CP2O system (with "Show Missing Images As"
set to "INC"), you should use "REL" instead of "NO" because the files
with relative paths, typically jump boxes or live indices, are transient
and will be overwritten when you start a new pagination session.
* If the product configuration fields "Scale width and depth equally"
and "Shrink depth ... for leading" (on the "Ad Image Scaling" screen)
are both set, ClassPag now logs a warning and ignores "Shrink depth ...
for leading". This fixes problems where ClassPag could compress
long, thin ads. The compression was visible in class headers with
reverse backgrounds.
* Fixed a problem introduced in 5.35 where Cmd->Ads->ViewRunStats and
ViewFillerStats wrote the database but did not open a window to view it.
7/12/06
Version 5.46
* The classification "Randomize" field has a new value "X" to mark
classes as expendable. ClassPag has a new option under
Cmd -> Ads -> Remove expendable classes
to remove the next expendable class. ClassPag takes the smallest
expendable class larger than the current overflow, and if all classes
are smaller than the overflow, it takes the largest class.
ClassPag opens a dialog with the class and gives you the option
to remove it. If you still have overflow pages after removing
the class, you can rerun the command until you have removed
all of the expendable classes. When you remove an expendable
class, you also remove all classes under that class.
ClassPag has a new option
Cmd -> Ads -> Restore expendable classes
to restore the expendable classes.
* Fixed a problem with the new help system on servers with multiple
versions of the tools. setup.sh now looks for hlp_comp.scr in
$SCS_ALL_ROOT/tools/tbin instead of $SPICE_TBIN
7/16/06
Version 5.47
* The product configuration screen "Classified Heading Placement"/
"Ubicacion de Encabezados de Clasificaciones" has a new field
"Can copy super head from grandparent"/"Poder copiar de abuelo" to
control how ClassPag searches for headers when placing parent headers
at the tops of columns. If this field is the default value of "N",
ClassPag searches for headers as before. If this field is "Y", and
a class has no headers, and both its parent and grandparent have
headers, ClassPag will take the headers from the grandparent.
This helps ClassPag find super heads in products with suffixed classes.
* The elp interface can now substitute ad text using tables in
a text file. It looks for readtxt.in in the interface directory,
and if that file does not exit, it tries readtxtdef.in.
The syntax of each line of the file is
" <pattern> " { spaces } " <replacement text> "
Also, if the last character of the pattern is #, the pattern must
be followed by a number.
For example, to replace the text Tel. with a telephone dingbat, use
" Tel. #" " \% "
You can use < and > in the replacement text for open and close
composition marks, and | for ><.
Lines that start with # are comments.
* Fixed the directory of hlp_comp.scr in another place in setup.sh.
* Setup.sh now prepends $JAVA_HOME/bin to the path. On systems
with more than one jvm installed, this helps ClassPag find the
jvm that matches the CLASSPATH.
* Updated the makeclas.sh interface script to work with the current
class database and the makecls2.sh interface script to work with the
current adcls2 database. The scripts now use awk to write /h format
transactions instead of using cut to write fixed field transactions,
so they should no longer be affected by changes to class and adcls2.
* If maketarw.sh finds that "temp" is a file instead of a directory,
it attempts to removes the file and create a directory. This allows
the send-to-scs command to work after doing updates on systems where
someone has created a file called "temp".
* Included Bob's fix for makenn.sh with shells that do not support -nt.
7/23/06
Version 5.48
* The mapclass.sh interface script now supports the options 80,
112 and 172 to set the screen size.
* mapclass has a new command to view the conversion log (the junk.log
file created by some interface scripts). The command is in the F12
menu, and in selected interfaces (currently only the elp interface)
the command is also on the main screen.
* mapclass has a new "elpdir" command line parameter to run the elp
interface with a direct class mapping.
* The mapclass ad list window now shows the logo names if you view
an ad with missing logos.
* Enhanced dumpdbf to take the syntax
-m dbfname[:[start][:[length]]] trnname
to write /h format transaction files with the data in the
field "dbfname" written to the transaction file as "trnname".
The start location is a 1-based location in the field.
A negative start means that many characters from the end.
The start defaults to 1, and the length defaults to the field length.
Here is a sample command line
dumpdbf -m NUMERO AdNumber -m NUMTARJETA:1:6 Position < enviar.dbf
* The makeclas.sh and makecls2.sh scripts for the elp interface
now use the dumpdbf -m option to support changes to the layout
and field lengths of the dbf interface files.
* The readtxt program of the elp interface now inserts a
fitline command on lines that contain only an email address.
* The index style window now has a hot key to copy styles from
another product.
* The hot key in the banner text window to load a barrios file
has a new option to load a rubros files. The file should have
lines with the format of a class id, a tab, and a class title.
The load option generates an initial style, a page style for
each class, and a final style at the end. The special classes
9999 and 9998 generate initial1 and initial2 instead of page.
The first of a group of initial1 or initial2 lines is preceded
by a space line. The last of a group of initial1 or initial2
lines is followed by a space2 line.
* The list under Cmd -> Misc -> View Class Results is now sortable.
* setup.sh now defaults to 80 columns if the screen resolution
is 640x480 or 800x600.
* testind.sh has a -debug option to write a spice debug log,
a -vg option to run through valgrind, and a -spice option to run
an alternate spice.
* Banner text items can use the new variable MaxLastPageNumber
which contains the largest last page number of the edition
parameters of all work areas with the current product,
date, edition and zone. If you are building an edition of
several books with a book in each session, you can use this
variable to write the total page count in a banner.
* If the "Local classes" field of the "Folios and Banners"
field is not "Y" and if you rebuild the banners from inside
a pagination session, ClassPag uses the current class locations
instead of the values in the local classification database.
This eliminates the need to write the class database if you
are not posting the class information to a common area.
* The banner list now has a view command on F2 that shows
the default image. This allows you to view banners
images without opening the image list.
* The list to paste a banner now has a view command on F2
that shows the default image.
* When you rebuild banners with debugging, ClassPag now
writes the PCC in addition to the input and output.
Also, the last item on the dialog to view each section
now ends with Continue instead of Quit so that you can
let the "c" autorepeat to step through both this dialog
and other warnings that have Continue buttons.
* Fixed a problem where Cmd -> Ads -> Edit Ad In Interface
would not find ads that began with letters.
* Fixed a problem where ClassPag would dummy line ads
with square-off page requests instead of flowing them.
* Fixed a problem where ClassPag would not always place headers
under square-off banners when specified in the square-off record.
* Fixed a problem with square-offs where ClassPag would not
place a wide display ad over ads of incompatible classes.
It should not matter as long as the ads have the correct headers.
7/24/06
Version 5.49
* Changed loadtape.sh to set the BATCH flag. This makes it
start up faster, especially when switching to root clears DISPLAY.
* Changed cleandir.sh to treat .dbf files like .txt files.
* Changed script.sh to pass its command line to scanps.sh.
* Changed Import->Copy to remove the report.txt file from the
source directory before running the copy. The import procedure
writes the script in report.txt, and it can fail if is overwritten
during the copy. This could cause problems when copying from an
open session.
* The command in the banner text window to load a barrios file
now maps class 9990 to the style "next". You can set "next"
to "<ec>" to allow the text file to specify column breaks.
* Fixed a problem where the first view of a page on products
that rebuild banners from posted classes could show the
error "Current page not found".
7/25/06
Version 5.50
* The product configuration screen "Page Numbers"/"Numeros de Paginas"
has a new field "Folios use long class titles"/"Folios usan titulos
largos de clases" to specify whether the folios should look up class
titles in the class name database (under Setup->Set Class Names) if they
appear to have been truncated to fit in the class database in the work
area. Setting the field to "Y" enables the lookup. You should set
this field if you use class titles in the folios and you have classes
longer than 15 characters. The lookup can be expensive, so the default
value of the field is "N" to take the class titles from the class
database in the work area.
* Fixed problems with the calculations of the various first and last
classes in the folios.
* Fixed the mirror script so that the test for rsync works
on servers without track.
8/1/06
Version 5.51
* The agate filler, display filler, and banner windows have a new
command "Update sizes from EPS"/"Actualizar tamanos de EPS" to update
the sizes in the databases from the sizes from the BoundingBox of the
EPS files. In the banner window, the command touches only banners with
file names starting with a slash and without text segments, and it has
an option to restrict the scan to class headers. If you have modified
the EPS of fillers or banners but have kept the names the same, these
commands can be useful to update the sizes. You should not use this
command if you have intentionally entered fillers or banners with
incorrect sizes.
* The example gs script in gs4-dist/gs4 now switches to /usr/bin/gs
if it is running inside CUPS. This fixes problems with versions
of CUPS that find the gs in /usr/local/bin before the one in /usr/bin.
If CUPS finds the gs in /usr/local/bin, the CUPS lp command accepts
files to laserjet print queues and passes the file through the queue,
but nothing ever happens on the laserjet, and the CUPS log file
/var/log/cups/error_log shows errors about an unknown "ijs" device.
The script also passes the fonts.site directory so pages with site
specific fonts will print.
* When you select the option to drag a square-off, and the square-off
that you drag has no square-off entry, ClassPag now shows a warning.
The drag option is a visual short-cut for entering a new page number
in the square-off record. If the square-off has no record, the drag
will not work.
* The sort file position request (columns 102 to 107 counting from 0),
has a new value "OR" to mark agate ads that must flow in sort order.
The look-ahead scan to fill columns will not shift ads around an ad
with this flag. If a class has groups of ads that can not be mixed
(for example, a class with apartments for sale grouped by the number
of rooms), you can mark either the first or last ad of each group
with this flag. This can be useful in classes where the sort key
has a variable format (for example, starting with the name of the
area of the apartment).
* When you specify the -auto option to auto-login with ftp, if
$CPAG_HOME/.netrcdef exists, rcpuniq.sh copies it to the user's
private .netrc in $HOME/.netrc. This can simplify setting up servers
where users have their own accounts and ClassPag sends pages or reports
through the auto-login option of rcpuniq.sh. Users will have their
.netrc files unconditionally overwritten with the copy in
$CPAG_HOME/.netrcdef every time that they send a file, so system
administrators can make changes that affect all users in a single place.
System administrators should be careful that if they log into ClassPag
with their personal accounts and run rcpuniq.sh, their personal .netrc
file will be overwritten. To help recover from accidents, rcpuniq.sh
saves $HOME/.netrc to $HOME/.netrc- before overwriting it, and
rcpuniq.sh does not touch the .netrc of root.
The .netrc file should contain lines with the format
machine X login Y password Z
For more information on .netrc files, use "man netrc".
* The mapclass cla interface now takes the fourth parameter of
the CLSAD line as an ad position request. For example, the line
</CLSAD/5543/TestSmall/OR>
sets the OR request for ad "TestSmall".
* If the default display ads directory in the product configuration
is an expression and if the expression evaluates to a directory that
exists, when you import ads, ClassPag now asks if you want to use
that directory before showing the list of display ads directories.
If you answer "yes" to use the directory computed by the expression,
ClassPag takes that directory and does not show the list.
This reduces the risk of selecting the wrong directory.
Before, ClassPag would show the directory computed by the expression
only if you closed the list of directories without selecting anything.
Note that the expression is evaluated using the previously opened
session and not the session that you are going to open, so if you
use RunDate in the expression, ClassPag will use the RunDate of the
previously opened session and not of the new session, which is probably
not what you want. You can use the ImportDir variable which contains
the name of the import area that you copied from.
* Fixed a problem in mapclass that could give a warning about an
undefined variable in the class field of the request database form.
* Fixed a problem where the procedure to load class headers from
files in a directory could give "error 20" on classes with more
than one header.
NOTE: This version has 93302 lines of changes from version 5.40.
8/4/06
Version 5.52
* When you drag ads inside a square-off, ClassPag now checks
to place headers using the parameters for the square-off instead
of the parameters for normal ads in the product configuration.
* Changing the per-page leading now has a larger effect.
8/4/06
Version 5.53
* Fixed a problem where ClassPag could shift a one-column ad
and an adjacent one-column filler below a banner.
* Fixed a problem where ClassPag could remove class headers
below the banner when dragging ads in a square-off that
requests headers under the banner but not over display ads.
* Fixed a problem where ClassPag would not place all of the
required class headers in square-offs which flowed display
ads but not line ads.
8/10/06
Version 5.54
* When you remove a banner using the black remove button "Delete ad
from paper", ClassPag now removes the banner from the page in addition
to setting the insertion count to 0. The insertion count sets the
number of times that ClassPag should place the banner automatically.
ClassPag always places manually-positioned banners, even if they
have an insertion count of 0. This change fixes a problem where
deleting a manually-positioned banner would not make it go away
because setting the insertion count to 0 is not enough.
* The Spread->Banners window now has toolbar buttons to activate
banners and to set their page numbers.
* The Spread->Banners window now shows page numbers correctly
for banners with long names.
* The product configuration screen "Request Checking"/
"Comprobar Solicitudes" has a new field "Show Other Conflicts
in Conflict Color"/"Mostrar otros conf. en color" to control
how ClassPag shows ads with conflicts not related to classifications.
The field above this field, now called "Show Class Conflicts
in Conflict Color"/"Mostrar conf. clase en color", controls
how ClassPag shows ads with classification-related conflicts.
Both of these fields default to "Y" to show ads with conflicts
in the conflict color instead of in the color for their class.
If you set both fields to "N", ClassPag will show all ads in
their class color, no matter what conflicts they have.
* The product configuration screen "Additional PostScript"/"PostScript
adicional" has a new field "Do deep scan for SII color"/"Buscar para
color SII" to control how far ClassPag scans into SII ads looking for
EPS document structuring comments in internal ads. The comments should
start immediately in EPS files that contain comments, but some
interfaces write a "translate" command before the comments, so the
default scan length is 100 characters. If this field is "Y", when
ClassPag detects an SII ad, it does a much longer scan, currently as
far as 8000 characters. SII does not write comments, but the long scan
allows ClassPag to see the color comments of the first logo.
Note that the longer scan was added unconditionally for SII ads in
version 5.43. This new field returns the default to the short scan,
and if you depended on the long scan from version 5.43, you must now
set the new field to "Y".
* Included Bob's update to the pagination display.
* Added Chris' changes to the command to view the manuals.
The viewer now opens the manuals on SCS's web site instead
of local copies on the ClassPag server. This ensures that
you always see the most recent version of the manuals.
The viewer now uses firefox when it is present.
* The command to view the manuals has a new "View Local"
option to view the local copies of the manuals for sites
where the ClassPag server does not have http access to
the internet.
* Fixed a problem from version 5.20 where ClassPag would
write a DocumentProcessColors comment for full process color
on pages with square-offs. When ClassPag saw a square-off,
it should have added only the colors specified for the border,
but it was adding full color. Also now on grayscale output,
ClassPag no longer adds in any colors for the border.
* ClassPag now saves the first set of folio temporary files
when you use Cmd -> Misc -> Create folios -> SetPosition,
and then select F12 -> Set folio debugging -> Yes
followed by F12 -> Recompose The Folios
The saved files have the format
"TempFolio" "Expr/In/Out/PCC" "-" FolioId "-" SectionName PageNumber ".txt"
"Expr" is the macro expression.
"In" is the composition sequence produced by the evaluated macro expression.
"Out" is the composition output which shows any warnings generated by the composition engine.
"PCC" is the generated photocomposer code.
* Banners text items can use the new variable TotalPageCount
which contains the total page count for all sections with
the current product, date, edition and zone.
ClassPag checks for the all of the sections and then takes
the maximum and minimum page numbers for each section
to find the page count for the that section.
The TotalPageCount is the sum of the page counts of each section.
For example, an edition paginated as four parts with
section A pages 1-10, section A pages 11-20, section B pages 21-30,
and section C pages 1-10 would have a TotalPageCount of 40.
For comparison, MaxLastPageNumber from version 5.48 would be 30.
* Banner text items can now use the numeric variables FirstPageNumber
and LastPageNumber to access the page range from the editions
parameters screen.
8/15/06
Version 5.55
* Created a new product configuration screen "Class Loading"/
"Cargar de Clases" from the last half of the screen "Ad Loading"/
"Cargar de Avisos".
* The product configuration screen "Class Loading"/"Cargar de Clases"
has a new field "Rebuild Class Areas After Import"/"Rehacer areas
despues de importacion" to control whether ClassPag recalculates
the areas of the classifications after loading a new sort file
in Import->Read. The default is "N" because the rebuild is not
necessary if the interface passes ads in order by classification
or if you always load a class nesting table and have set field
"Rebuild Class Areas ... After Load"/"Rehacer areas despues ...
de cargar" (previously called "Always Rebuild Areas"/"Rehacer areas").
* If you use the scr option of runcpag.sh in a "save" subdirectory,
runcpag.sh now uses the parent directory.
* The list of directories under Import->Read and Import->Copy now
shows the area that the directory was copied from. This makes it
easier to see the source of the files in each work area. If the
area was copied from a copy, the column shows the last copy, a slash,
and the original copy. ClassPag shows the new column only in
windows larger than 80x24.
* The "In Use" column in the list of directories under Import->Read
and Import->Copy now shows a slash and a user name for directories
that are not in use but have a copy that is in use.
* The "Auto Segment Ads" field on the "Legal and Segmented Ad Specifications"
screen of the product configuration has a new value "MAC" for Mactive ads.
Mactive ads contain "%%LongLiner" comments every several lines.
The "SIIB" option will work, but it misses most of the break points.
The new "MAC" option reads the postscript to find the break points
and adjusts them using the values in the comments.
* maketarw.sh now checks for "grep" in $TOOLS if it is not in /usr/local/bin.
* Fixed another problem from version 5.20 where ClassPag would
treat treat pages with square-offs as if they had full color.
8/16/06
Version 5.56
* The maketarw.sh now parses the control file with awk if grep does
not work. Solaris sites no longer need to install gnu grep, although
Solaris sites should continue to install gnu grep if possible.
* Removed extra code in the class translation procedure that
wrote a line to the cpag log file for every class it processed.
Class translation should now run faster.
* ClassPag is more accurate in placing square-offs when the target
class is the first class in the paper.
* ClassPag now uses the target class of square-offs even if the
target sort is not set.
* When ClassPag places square-offs that can be packed in any column,
ClassPag will now place the square-offs over other ads.
* Fixed a problem in sessions with square-offs with target classes
and keys where normal line ads could have a "Page Name" placement
reason and unflow from locked pages.
* Fixed a problem where ClassPag would sometimes widen a square-off
banner to cover a display filler adjacent to the square-off.
* Fixed a problem where ClassPag could flow square-offs with target
sort requests in-line if the target request class came before the
class with the square-off.
8/17/06
Version 5.57
* Fixed a problem where ClassPag would not always extend
outer vertical rules in square-offs into the leading between
the bottom ad and the bottom banner.
* Fixed a problem where partial page square-offs with line ads
would not always build correctly when dragged to pages with
other ads.
* Fixed a problem where ClassPag would not always place a
banner over a square-off sitting on a wider normal banner.
* When ClassPag now sinks one-column fillers when a stack
of ads is over a wide ad. When a square-off with line ads
is over a wide ad, if ClassPag places agate fillers,
the fillers should now go to the bottom of the square-off,
the same as when the square-off has nothing below it,
instead of sitting at the top just below the banner.
* ClassPag no longer unflows dummied display fillers
(display fillers with a repeat count greater than zero).
Display fillers now behave more like display ads.
ClassPag places display fillers and normal banners with repeat
counts before placing square-offs. When you dragged a square-off,
if you happened to drag it over a dummied display filler,
the square-off would look bad, but since the square-off drag
command unflows ads after moving the square-off, you would
have no way to know that a display filler had been there.
* Fixed a problem where dragging an ad onto a page could
cause ClassPag to remove class headers over line ads.
This could happen when dragging ads to pages with
square-offs that contain line ads.
* Fixed a problem where dragging an ad on a page with sequences of
consecutive but different class heads for the same class could cause
ClassPag to remove all but the bottom class head of each sequence.
NOTE: The changes to square-offs in this version and the previous
version should be tested carefully.
8/21/06
Version 5.58
* Moved the Print Pagination Statistics, the Filler Statistics,
and the Run Statistics entries from Cmd -> Ads to Cmd -> Reports.
This makes them easier to find and reduces the size of the Ads menu.
* Import Ads -> Ad Size Report and Cmd -> Ads -> Scan Images have
a new option to show the list of duplicated ads in the sort file.
* Ad segmentation now works with merged extractions from SII and CCI.
When switching from a SII extraction to a merged SII / CCI extraction,
leave the segmentation parameters as they were for SII. ClassPag will
auto-detect the CCI ads and segment them according to CCI rules.
When merging SII extractions with extractions from other interfaces,
the SII extracion should always be in the main directory.
Ads in SII extractions have postscript errors that ClassPag can fix
as it generates pages, but if an SII extraction is in a merge area,
the bad postscript is encapsulated by the merge in a way that
ClassPag can no longer correct it.
When merging SCS extractions, the SCS extraction can be in the merge
area because SCS extractions show the segment depths in the sort
file so ClassPag does not need to parse the EPS.
When merging Atex extractions (and extractions from other interfaces
that pass all ads as external files), the Atex extractions should be
in the merge area because an empty ceps.out file is easy to merge.
* Fixed a problem where square-offs would build correctly the first
time in a session but if you dragged a square-off, the display ads
would not follow along.
* Fixed a problem where repeated drags of square-offs with
in-line display ads could cause the square-off to build with
the full page width.
* Fixed a problem where ClassPag would extend banners over
columns with more than just fillers if a filler was at the top.
* Fixed a problem where class headers entered in the setup as banners
for classes contained in square-offs would stay on the page if you
dragged the square-off and the page had been locked.
* Fixed a warning about the "M" value of the banner split overflow flag.
8/24/06
Version 5.59
* Changed creator.frm to pass the width of postscript character 235
(ordmasculine) in SCS composition position 189. This makes it easier
to compose this character at Spanish sites. Note that in composition
input, you must use alt-104 which can not be entered in the editor.
The alt-104 character shows as {||} in the editor. Composition
ignores the ISO character 186 which shows as the masculine ordinal
in editor windows.
* ClassPag releases now include new context-sensitive help files.
maketar.sh includes the denhelp database in the help directory.
* Fixed a problem introduced in the previous version where ads
could be marked in the wrong square-off.
8/29/06
Version 5.60
* ClassPag now captures session information. To view the
session logs, use Setup -> Log Files -> session logs
* The privilege database has a new attribute to control
access to the session logs. The privilege level for session
logs defaults to the level for access logs.
* The option to enable the automatic screen refresh under
Setup -> Log Files -> access logs and session logs now
shows new records as they are added. System managers
can use these options to review configuration changes
as they are made.
* Import -> Read now checks the display ads directory in the
control record of the import area. If the ads directory is
set and is present on the server, ClassPag uses it instead of
checking default ads directory in the product configuration.
If some import areas have special ads directories, entering
the directory in the control record of the import area could
be easier than creating a macro expression in the product
configuration.
* The cronbuild.sh script creates a lock file called
cronbuild.tmp to prevent two builds from running at once.
* Included Bob's fix to the readnac interface program where
it could fail with too many open files.
NOTE: This version has 8495 lines of changes from version 5.51.
9/6/06
Version 5.61
* The "Log Files" menu has a new item to view the fonts used
by SCS Composition generated by "fontdef -l". This allows
you to check the fonts without opening a command line.
* Changed the way that ClassPag does vertical justification in
a column that ends with a range of sections of a segmented ad.
If the column had extra space, ClassPag used to place the space
below the top segment. It now places the space below the final
segment.
9/14/06
Version 5.62
* Improved integration with SpiceRAQ.
The SpiceRAQ application is a report and query tool for creating
reports from other SCS applications. SpiceRAQ must be purchased
separately from ClassPag.
The "View Log Files" command and the Cmd -> Reports menu both
have new options to run SpiceRAQ.
The ClassPag setup script now sets RPTW_DATA and RPTW_DICT to the
rptw/data and rptw/dict directories of the top level cpag directory.
If the top level cpag directory does not have a rptw subdirectory,
the setup script sets the variables to subdirectories of /u/cpag.
ClassPag contains a new script loadspiceraq.sh that updates the
database definitions in SpiceRAQ to match the current version of
ClassPag. The script runs builddd.sh with "-a cpag" to mark the
databases as part of the cpag application. If you use SpiceRAQ,
you must currently run this script manually from the top level
ClassPag directory each time that you update ClassPag.
To set up SpiceRAQ for the first time:
Start ClassPag and then use Setup -> Start a shell
Check that you have installed spiceraq.tar
Check that there is a rptw/src directory
cd /u/scs/rptw; mkdir src
Check the SpiceRAQ setup file
In /u/scs/rptw/exe/setrptw.sh, check that RPTW_ROOT=/u/scs/rptw
Run the SpiceRAQ setup file
. /u/scs/rptw/exe/setrptw.sh
Make the SpiceRAQ data dictionary directories
mkdir /u/cpag/rptw
cd /u/cpag/rptw; mkdir data dict
export RPTW_DICT=/u/cpag/rptw/dict
export RPTW_DATA=/u/cpag/rptw/data
Check that cpag can write the directory /u/scs/rptw/app/cpag and the file /u/scs/rptw/app/cpag
Initialize the "cpag" application area in SpiceRAQ
$RPTW_EXE/rptwinit cpag /u/cpag/rptw/data /u/cpag/rptw/dict
Make yourself a privileged user so you can see the databases
sudo $RPTW_EXE/breport.sh
Maintenance -> Modify User Info -> F12 -> Edit User Info -> [check Privileged]
Enter the ClassPag databases into the SpiceRAQ data dictionary
cd /u/cpag; ./loadspiceraq.sh
Test running SpiceRAQ
$RPTW_EXE/breport.sh
You will need a version of SpiceRAQ (or at least of breport.sh
and setrptw.sh) and a version of makespc (in $TOOLS)
from Sep 15, 2006, or later.
* The screens under Cmd -> Ads -> Check for Conflicts
now show page numbers sorted numerically when you click
on the page number field heading.
* When mapclass has an initial ad as a parameter,
if it doesn't find that ad, it tries prefixes of it.
This allows Cmd -> Ads -> Edit ad with interface
to work on ads with segment suffixes.
* Added a purge by date option to Cmd -> Reports -> View Run Stats.
* The purge by date option in Cmd -> Reports -> View Filler Stats
now closes the calendar before scanning for old records.
* Changed the banner database field "Request Name" to "Square-off".
* Changed the pagename database title from "Page Names" to "Square-offs"
9/18/06
Version 5.63
* Improved merges that combine folded ads from different front-ends.
The product configuration screen
"Legal and Segmented Ad Specifications (Continued)"/
"Especificaciones de Avisos Legales y Segmentados (continuado)"
has new fields "Auto Seg Clip Adjustment... Above CCI Segments"/
"Adjuste Clip Para Auto Sg... Arriba de segmentos CCI" and
"Below CCI Segments"/"Debajo de segmentos CCI" to set the clipping
adjustment of segmented ads from CCI. If these fields are empty,
they default to the normal clipping adjustments for segmented ads.
To pick a good starting value, find the clipping region margin
from the "Ad Images" screen. The CCI clipping above should be
-margin-0.6pt and the CCI clipping below should be -margin+0.5pt.
* The product configuration screen "Display Ad Dummying Style (Continued)"/
"Estilo de Diagramacion de Avisos Destacados (continuado)" has a new
field "Can Scan Backwards"/"Poder buscar paginas al reves" to control
how ClassPag places display ads with front-to-back pagination.
When ClassPag places display ads, it starts at the current column
and scans backwards and forwards until it finds a place for the ad.
The default value of "P" allows ClassPag to look backwards as far
as it looks forwards. In front-to-back pagination, all of the
pages towards the front of the paper are usually completely full.
If a class on an earlier page has long line ads, it is possible
that one of the long ads could block the flow if it doesn't fit
over a display ad, and there might be enough space for the current
display ad. The value of "P" allows ClassPag to use that space.
The value of "C" allows ClassPag to use the space only if it
is on the same page as the current column.
The value of "N" prevents ClassPag from using the space.
The risk of not using the space is that ClassPag will have to
place the ad towards the back of the paper even further away
than the column towards the front of the paper.
* ClassPag now handles recursive includes better with PCI OPI calls.
ClassPag used to leave an empty space, but now it embeds the
low resolution file.
* ClassPag now shows errors due to recursive or too deeply nested
OPI calls in the list of missing images when you view a page,
and those errors now count to the reported number of missing images.
* Changed the pagename database field "Request Name" to "Square-off Name".
* Fixed the formatting of the classification selection window.
The column with pages was centered instead of right justified.
* Fixed a test that would use the wrong class when checking not to
convert long line ads in auto-segmentable classes to display ads.
The test be wrong class if the product configuration field
"Sort File Has Nested Classes" was Y or empty.
9/19/06
Version 5.64
* ClassPag now ignores requests to start new pages or new columns
for classes (as specified by the fields "Start Request" and
"Full Cols Needed") if the classes do not contain any ads to flow.
If a session had unused classes at the end (for example,
for a group of classes that runs only some days of the week),
if one of the unused classes had a starting request, ClassPag
could have left the last column of the last page empty or created
an empty overflow page.
9/22/06
Version 5.65
* The menprof.sh and runcpag.sh scripts have a LOGNAME parameter
to set the user name. If several users log in using the same
account on the server, you can use the LOGNAME parameter to
assign them different user names in ClassPag.
* Fixed a problem where marking ranges of pages would not work
if the paper name in the product configuration was less than
ten characters long or contained a space in the tenth character.
* Fixed a problem where square-offs that used the option
to remove class headers ("Place Headers Under Banners"/
"Cabezales Debajo De Carteles" values of "KIL", "TKIL",
"SUB" and "TSUB") would not restore the headers if the
square-off was smaller than the minimum size specified
by the product configuration.
9/26/06
Version 5.66
* Each square-off can now have its own threshold for the minimum
area or number of ads required. The second screen of the square-off
form has new fields "Minimum Ad Area"/"Area minima de avisos" and
"Minimum Ad Count"/"Numero minimo de avisos" to set the limits.
If either field is empty, it defaults to the corresponding value
in the product configuration.
To make a temporary change for the current pagination session,
use Cmd -> Edit square-off ranges.
To make a permanent change for new pagination sessions,
modify the template with Setup -> Set Square-offs.
* The product configuration screen "Additional PostScript"/"PostScript
adicional" has a new field "Remove SCS DocumentNeededProcSets comments"/
"Borrar comentarios SCS DocumentNeededProcSets" to disable instances
of the line "%%DocumentNeededProcSets: SCSProcs 1.0".
Every EPS segment created by SCS Composition contains this
comment because the EPS segments require the SCS procedure set.
The comments confuse some EPS scanners even though ClassPag
writes the SCS procedure set when required.
* Included Bob's updates to the utility program checkbb and the
interface programs readcla, readdewl, readnac, readnn, readsec and
readtxt to use a shared routine for finding the bounding box of
eps files. Each of these programs had different code.
This fixes problems where some of the programs could not find
the bounding box of Adobe Illustrator files or of files with
tiff previews.
* Improved the formatting of several warning messages in
the procedure to rebuild banners.
* Fixed a problem since the introduction of square-off styles
in version 3.55 where "Cmd -> Pages -> View square-off results ->
F12 -> Edit" would sometimes not find the square-off record.
* Fixed a problem where the statistics screen page menu
option "List position requests" would show the wrong
value in the "Side" column.
9/28/06
Version 5.67
* Fixed a problem where class headers entered as banners
with "split overflow" set to "C" would not be copied to
subclasses even if the product configuration parameter
"Repeat heading of parent class" was set to "COPY".
* Fixed a problem where the routine to redummy a page could return
that it was successful even if it didn't place all of the ads.
10/3/06
Version 5.68
* The window "Setup -> Set Square-offs" to configure square-off
templates has a new hotkey to copy new square-offs from another
product and another new hotkey to copy new square-offs from
another product and to update current square-offs.
These hotkeys can be useful when setting up new products or
synchronizing old products.
These hotkeys do not affect the square-offs in your current
work area. To see the new square-offs, you must either
re-import the ads or else use Cmd -> Edit Square-off Ranges ->
F12 -> Restore square-offs from templates.
* Added Chris' changes to setup.sh for NoMachine.
Changed the order of the ports that setup.sh scans
for font servers so that it checks 7100 before 7000.
* Fixed a problem where the reports of conflicts, of missing ads,
of missing ads with names, and of incorrectly sized ads under
Cmd -> Reports would sometimes be empty because they did not
rebuild the conflict database or the ad size database.
The conflict report uses the fastest option under
Cmd -> Ads -> Check for conflicts.
10/5/06
Version 5.69
* ClassPag now accepts KY requests only on display ads.
ClassPag ignores KY requests on other types of ads.
* The cronbuild script now cleans up old files before starting
the build to reduce the number of files in the build directory.
* The cronbuild script now has a trap handler to remove the
lock file if the build is killed.
* Added a timer to prevent ClassPag from spending an
excessive amount of time on pages with KY ads.
* Fixed a log warning about POSTSCRIPTFILTERPROCSETBLOB.
10/13/06
Version 5.70
* Fixed a problem in equalize columns where ClassPag would
sometimes not place the main head in front-to-back pagination
if you free the column with the main head and equalized
other columns.
* Fixed a problem where ClassPag could leave the ads assigned
to a square-off unplaced if the square-off had a target class
and sort request but did not have enough ads to satisfy its
minimum ad count or ad area.
* The box information window no longer marks ads as square-off
conflicts if the ads flowed in column because the square-off
didn't have enough ads to satisfy its minimum ad count or ad area.
* Included Chris' fix for the "View Manuals" toolbar button.
"View" and "View Local" no longer both do the same thing.
10/22/06
Version 5.71
* Changed not and bar versions to plain not and bar in casemap.ext.
This fixes a problem where an IBM Extended ASCII underscore at
position 169 would convert to "not2" instead of "_".
This affects the cla, elp and seg interfaces, all of which use
the fixset utility to import marked-up text in IBM Extended ASCII.
* Included Chris' change to maketarf.sh to remove spice-toolkits
from the cpag-start kit.
* Fixed a problem in the readtxt program for the elp interface
where it could skip the line following a line terminated with
LF instead of CR LF.
* Fixed warning in the log file starting "cmd, addhdr" from
Cmd->Position->AddHeaders.
* Fixed a problem where Cmd->Position->AddHeaders would not place any
headers if the class had a wide header but not a one column header.
It now places a single copy of the wide header.
* Fixed a problem where Cmd->Position->AddHeaders would not
place headers entered as banners for the parent class of
the current ad.
* Recompiled the dumpdbf utility used by the elp interface.
Some servers had an old version without the -m option.
* Included Bob's fix to the code to find the bounding box of
an EPS file. This corrects a problem introduced in the update
included in version 5.66 where the code would not find a
bounding box if the tiff preview was under 4K bytes.
* NOTE: ClassPag expects to have a one column version of class headers.
The commands to place class headers automatically on display ads and
the command Cmd->Position->AddHeaders place one column headers and
then replace sequences of adjacent one column headers with a single
wide header.
* NOTE2: ClassPag on Solaris requires the installation of the
libxml2, libiconv, and libz shared libraries. Versions of the
SCS 4GL built on or after Oct 22, 2006, should install the
libraries. If you are upgrading ClassPag and have an older
version of the SCS 4GL, you will need to obtain copies of
the libraries from SCS. ClassPag searches for the libraries
as /usr/local/lib/libxml2.so.2, /usr/local/lib/libz.so,
and /usr/local/lib/libiconv.so.2.
ClassPag on Linux does not require the installation of
any additional libraries because the required libraries
are part of Linux.
ClassPag on SCO Unix does not require the installation of
any additional libraries because the SCS 4GL currently does
not use the xml libraries under SCO.
10/30/06
Version 5.72
* Changed the order that ClassPag checks square-off parameters
for square-offs with both square-off records and banner records
so that the values for "split overflow" and "overflow position"
come from the square-off record. If a field in the square-off
record had its default value, ClassPag used to take the value
from the banner record but now ClassPag leaves the default value.
This fixes a problem where you could not turn off some options
in the square-off record if you had entered them in the banner
record.
* ClassPag now uses jdk1.5.0_09 instead of jdk1.5.0_06 when
it is installed. ClassPag will eventually use the jdk
specified by a future version of /u/scs/javadef.
* Included Chris' change to show the filler report under
Cmd->Reports->FillerReport in a wider window when you view
it in the editor.
* Included Chris' fix for the "init, warning, var ... is too long"
messages in the log file. Changes for the 172 column screen
in version 4.98 triggered the warnings.
* Square-off view changes:
. Level pages inside a square-off view has a new "DEF" option
to level the partial page of the square-off.
. The square-off width and the column position now apply to
all pages when "Justify" is "MULT" or "MEXP". For other values
of "Justify", the width and column apply to the partial page.
. The page range of the square-off comes from the entry in the
square-off database.
If the entry does not have a page range, the range comes from
the pages used by the square-off when you open the view. and
if you place an ad outside the range, the square-off range grows.
To reduce the square-off range, use Cmd -> "Edit square-off ranges"
-> F12 -> "Reset page range". It does not matter what square-off is
currently under the cursor. Return to the page display and reflow.
The width of the partial page is set by the square-off width and
then by the width of the default banner. If you place an ad on the
partial page outside the width, the ad will not fit when you reflow.
NOTE: This version has 10695 lines of changes from version 5.60.
10/31/06
Version 5.73
* Fixed a problem where ClassPag would not place a class header if
a class had no line ads but did have a manually placed display ad,
and the product configuration parameter "Place if no ads in class"
was "D", even if the class had subclasses with unplaced line ads.
11/2/06
Version 5.74
* The banner image list under Setup -> Banners -> F12 -> Edit Banner Images
has a new command "Create bottom banners"/"Crear carteles para abajo"
to create bottom banners. The window shows a list of possible EPS files
for the banner including an all white image, an all black image,
and other bottom banners in the current product.
Square-offs placed from the top require a bottom banner to separate
them from the other ads on the page.
This command simplifies the process of creating bottom banners.
* Directories in the product configuration "Alternate Ad Directories"
field can now be suffixed by an exclamation "!" to indicate that
ClassPag should preserve the final element of the path when
prepending the directory. For example, supposed that most of the ads
are in /u/ads, but some of the ads are in a subdirectory of /u/eps.
If you make the default ads directory /u/ads, and if the ad in
/u/eps/01/234 comes in the sort file as "01/234", ClassPag will start
by combining the default ads directory with the name in the sort file
to produce "/u/ads/01/234".
If you enter "/u/eps" in the alternate directory list, ClassPag
will try "/u/eps/234", while if you enter "/u/eps+" in the alternate
directory list, ClassPag will try "/u/eps/u/ads/01/234".
Neither of these will find the ad.
With the new option, you can enter "/u/eps!" in the alternate
directory list, and then ClassPag will try "/u/eps/01/234",
which is the correct path to find the ad.
This can be useful in cases when you are merging extractions
from several front-ends that write eps files to subdirectories.
* You can now include an extension in the "Ad list name" of printer
records. This can be useful if are creating an XML report and
you want the extension to be .xml instead of .txt.
In order to remain compatible with existing scripts, if you do
not include an extension, ClassPag uses .txt, even for XML files.
Previous versions of ClassPag removed the extension and added .txt.
* The printer database has a new field "Keep Attr"/"Attr" to
control how ClassPag copies the ad list file. The default
value of "Y" runs "cp -pv" to preserve the attributes
(mode, owner and time stamps) of the ad list file.
This can be helpful when tracing ad list files back to work areas.
If the ad list directory is an NFS mount or an import directory
of another application, the copy command might have access to
copy the file but not to update all of the attributes.
In this case, you can set the new field to "N" to tell ClassPag
to run a plain copy with "cp" and no options.
11/7/06
Version 5.75
* Added a test version of square-off dragging.
Use Cmd -> Position -> Move square-off
and then drag the banner or any ad from the
square-off to the new page.
If the square-off is a single page, the square-off
will start in the column where you dropped the ad.
If the square-off has more than one page, the square-off
will shift by the number of pages that you dragged the ad.
You do not need to unlock the original pages with the square-off.
The new pages can not have any locked ads that will
interfere with the square-off.
This command drags square-offs as a whole unit and
preserves manually placed ads and fillers.
* Changed the order that ClassPag loads the banner database.
ClassPag used to load banners in order by name, but now
it loads edition-specific banners before generic banners.
ClassPag takes the first banner of each width that it finds,
so ClassPag might now use edition-specific banners where it
used generic banners before.
In addition, ClassPag always took the last default banner
image that it found. If a banner has both an edition-specific
version and a generic version, if the edition-specific banner
has an image the same width as the default image of the generic
banner, ClassPag will now take the edition-specific image even
if it is not the default image.
When possible, you should avoid entering both edition-specific
and generic banners for the same square-off or class header.
* The "Restart" option on the bottom of the Statistics window
now asks if you want to reload the ads when you change the edition.
If you have edition-specific banners, you need to select the
reload option in order for ClassPag to load them.
* Included Chris' change to makeesc6.sh to map pub code 3 to EMP.
11/8/06
Version 5.76
* The "Auto Segment Ads" field on the "Legal and Segmented Ad Specifications"
screen of the product configuration has a new value "DTI" for DTI ads.
These ads should have eps lines containing "DTlineInfo".
The EPS seems to start high in the bounding box, so the "Clipping Regions
for Display Ads" on the "Ad Images" product configuration screen should
be at least 1 point.
As usual, the "Auto Seg Clip Adjustment" on the "Legal and Segmented Ad
Specifications (Continued)" should be the negative of the clipping region.
* The display ads and agate ads windows from the classification list
when you start a pagination session now show the full ad number on
monitors with larger screens.
* ClassPag now autosegments external ads with the page request "S/E"
although it is better to pass segmentable ads with an empty page request.
Except for "S/E", ClassPag will not autosegment ads that have a non-empty
page request.
11/9/06
Version 5.77
* ClassPag pages can now recover from EPS files that leave a mark
on the stack.
11/9/06
Version 5.78
* When a line ad is at the top of a column and the product configuration
specifies placing a class header at the top of the column, ClassPag now
shows the line ad as a conflict, even if the class has no headers or if
the ad is the only ad in its class.
* Fixed a problem where ClassPag would not always place second heads
when the main heads were entered as banners with "Split Overflow"
type "M".
11/15/06
Version 5.79
* Included Bob's update to mapclass and makeeps to handle
text extractions that do not contain any internal ads.
If mapclass does not produce a pcc file, makeeps now
renames tmpsort to classsrt and makes an empty ceps.
* Included Chris' fix for a problem where entering a value
on the last field of a den form (the "Active" field in the
"Printer Definition" form for example) and then clicking on
the "Save" tool bar icon at the upper left could open a
print screen dialog after saving the den form.
* Fixed a problem where ClassPag could advance to a new column
too soon if the current class had large killed line ads.
* Fixed a problem placing segmented ads that could generate
an error for "sb_ok" in the log file.
11/20/06
Version 5.80
* The tool bar button to "Position a square-off" now drags
the square-off as a unit (Cmd->Position->Move square-off)
instead of only changing entries in the square-off record
(Cmd->Position->Position square-off). As before, click
on the button and then drag any ad in the square-off.
The drag preserves manually positioned ads and fillers.
The square-off moves by the number of pages that you drag
the ad. For a single-page square-off, the square-off
additionally moves by the number of columns that you drag
the ad. If you drag a square-off within a stack of ads,
ClassPag compares the bottom of ads on the page with the
center of the ad that you have dragged to determine which
ads should be above or below the square-off.
ClassPag updates the page numbers in the square-off
record to the new pages.
* ClassPag can now use the sort key and description to help
remove the suffix from classification numbers in the outext.
The product configuration screen "Outext Export (Continued)"/
"Exportar de outext (continuado)" has a new field
"Suffix is Sort Key"/"sufijo es clave".
When the field is set to "Y", ClassPag checks if the end of
the class matches the sort key. If they match, ClassPag trims
the matching section from the class. If the ad is a display ad
and the class has line ads, ClassPag uses the sort key of the
first line ad. If the ad is external and the sort key doesn't
match, ClassPag tries again with the ad description.
If any of the tests match, ClassPag will not remove any more
of the class. If none of the tests match or if the new field
is empty or set to "N", ClassPag continues with the tests that
it did before.
The new test can produce better results when you have translated
classes and the old class happens to contain the new parent class.
For example, if an ad has an original class 51510PRO and a sort
key of PROPERTY, and you map the class to 515PRO, ClassPag used
to trim the original class to 515 because the parent of 515PRO
is 515, but with the new field enabled, it will trim the original
class to 51510 because the PRO suffix matches the sort key.
* ClassPag can now use the digits and letters in class
numbers to remove the suffix from class numbers in the outext.
The product configuration screen "Outext Export (Continued)"/
"Exportar de outext (continuado)" has a new field
"Suffix is Letters"/"sufijo es alfa".
If the field is "Y" and a class is a sequence of at least
"Min Base Length" digits followed by a sequence of at most
"Max Suffix Length" non-digits, ClassPag removes the non-digits.
ClassPag applies this test after the "Suffix is Sort Key" test
and before the tests that it did before.
If the new field is "N" or empty, ClassPag does not apply
the test.
This test can be useful to catch ads that fall through the
new sort key test. This test will not trim numeric suffixes
(for example, 645123 where 645 is the class and 123 is the suffix),
and it can trim letters that are part of the class (for example,
645BACC where 645B is the class and ACC is the suffix).
* Included Chris' fix for "Save" tool bar icon in additional forms.
NOTE: This version has 3510 lines of changes from version 5.72.
NOTE2: The new square-off drag should be tested.
NOTE3: The form handler of the version of the 4GL of Nov 20
does not move the cursor correctly on multi-screen forms.
11/21/06
Version 5.81
* On a single-page square-off, the square-off view takes the
width from the range of columns with ads in the square-off.
You can increase the width by dragging an ad outside the
current column range. To reduce the width, empty the columns
that you want to remove and use Cmd -> Edit square-off ranges ->
F12 -> Reset page range.
* The square-off view now checks square-off banners when
setting the size of a square-off. You can now increase the
size of a square-off by pasting a banner in a new column
if you do not have a display ad to move.
When reducing the size of a square-off, remember to remove
unused banners before using "Reset page range".
* When you close a square-off view and select the lock option,
ClassPag locks the line ads. If you reopen the square-off and
want to reflow the line ads, unlock the line ads with "$".
* Improved the handling of multi-column Word5 legal ads with
"Unwrap Folded Ads" of "P". If the "move" command that started
the new column follows a "roll" and the next "move" command
is slightly more to the right, ClassPag adjusts the column shift
to the new position. This fixes a problem where the text in
columns after the first could be clipped on the right because
the first "move" at the start of new columns was to set up
a clipping region to the left of the column.
11/24/06
Version 5.82
* ClassPag has a new tool bar button to open a square-off view.
To open a square-off view, click on any ad in the square-off
or any ad with no request on the page with the square-off
and then clock on the new button.
To close the square-off view, click on the button again.
* The "Repaint the screen" tool bar button now recalculates the
page range when you are inside a square-off view for a square-off
that does not have a page range entered in the square-off database.
ClassPag scans the range of columns that have ads from the square-off.
If you want the range to include columns that are currently empty
because you have unflowed the line ads, you can paste a banner
over the columns.
* When you import from a directory with merge area, if you unselect the
main directory, ClassPag now shows a warning and returns to the merge
selection list. You must always leave the main directory selected.
* ClassPag now tracks the client address in the lock database.
The client address is the node name or IP address of the workstation.
To find the client address, ClassPag first checks SSH_CLIENT, then
DISPLAY, and finally the node name. This can help to identify
sessions when pagination users share the same account.
* You can now view the lock database with "Import Ads ->
Edit the Lock Database". Previously, you had to view it from
the F12 command menu under "Import Ads -> Copy ClassPag Files".
* The "Setup -> Cancel Printing" list now has F12 functions
to view the control database and the lock database.
This allows you to cross-reference the databases when
deciding whether to kill a session.
This also allows you to view the control and lock databases
from inside a pagination session.
* The lock window now shows the user, process, and terminal
columns in the same order as the cancel printing window
to make the lists easier to compare.
* Fixed a problem where dragging a square-off with fillers
could hang.
* Fixed a problem where ClassPag would not run in text mode
since the addition of ad tips.
* Fixed a space calculation problem that could happen when
the liner flow depth was less than the column depth.
11/29/06
Version 5.83
* The product configuration field "Remove SCS DocumentNeededProcSets
comments"/"Borrar comentarios SCS DocumentNeededProcSets" on the
screen "Additional PostScript"/"PostScript adicional" now disables
instances of the line "%%DocumentProcSets: SCSProcs 1.0" in addition
to the line "%%DocumentNeededProcSets: SCSProcs 1.0".
* Changed the readcla interface to enter main headers like
</CLSHD/C0230/0230/OTRAS VIVIENDAS/2 ALQ.OF/>
in the top level class instead of in a suffixed class.
This should make merges of extractions with common classes
work better.
* Enhanced the mergeint program to handle ceps files with
no nulls and an empty trailer. This makes merges of
Mactive extractions work better.
* Enhanced the support for automatic square-offs under
wide headers (type "W" banners).
. ClassPag now places column headers below the banner if the
first line ad has a different class than the banner and the
product configuration requests placing headers under banners.
. If the product configuration allows ClassPag to flow one
column display ads in-column, ClassPag now includes those
display ads in the square-off.
* Added Bob's change to readnac for the La Nacion Sociales product
to keep AGaramond-Italic letters with long descenders from extending
into the gutter. The local format used for Sociales (FC110) must
indicate that the font is AGaramond-Italic, for example,
<co style(m3,qm,fAGaramond-Italic)><sb 683,1024,3072,3809,9999,9999>
<cf AGDI><cp 10,10,12><pm ,2><if 18>
12/4/06
Version 5.84
* Added a command to place a wide header and to square-off
the ads above and below it. Enter the wide header under
"Setup -> Banners" the same as for other headers (Type "P",
Split Overflow "C", "R", "P" or "M", etc.) except with
the default count of "0" so ClassPag does not place it
automatically. To place the header, use "Cmd -> Position ->
Paste a wide header"/"Cmd -> Posicion -> Traer cabezal ancho"
and then click in the leftmost column where you want to
place the header. When you click on the page, only the
column matters. It doesn't matter where you click in the
column or whether you click on an ad because ClassPag
creates column locks and square-offs the columns based
on the class and width of the header. ClassPag uses the
pagination direction to determine whether to square-off
the ads above the header (for front-to-back pagination) or
the ads below the header (for back-to-front pagination).
* ClassPag no longer sets the "TOP" flag on type "W" banners.
* The equalize columns command will now take one-column display
ads if the product configuration specifies both "Flow one column
display ads if possible" on the "Display Ad Specifications (Continued)"
screen and "Unflow In-Column Display Ads" on the "User Preferences"
screen and the display ad has a compatible line ad above it.
* Changed the prompt before copying into your work directory
from "Remove old files before copying the new files?" to
"Clear your current work area before copying the new files?"
You should almost always answer "Yes" to this question.
The main reason to answer "No" is if you want to preserve
your work if you have been paginating an edition and you
need to load an updated sort file (with late ads, for example).
If the updated sort file will always have the same run date,
you should set the product configuration field "Remove Old
Files if New Date" on the "Ad Importing" screen to tell
ClassPag to ask you the question only when the run date
of the new sort file matches the current run date.
* Fixed a problem where ClassPag could place a group of extra
class headers at the bottom of a column if you used the equalize
column command and then removed all of the ads from the page.
* Fixed a vertical cut rule calculation when printing pages
that could show a warning in the log,
* Added Bob's updated to readnac for some more AGaramond-Italic
characters that extend into the gutter.
Fixed the following characters that extended into
the right gutter: s, R, l, e, d, i, E, y
Fixed the following characters that extended into
the left gutter: J, M
12/7/06
Version 5.85
* The command to place a wide header adjusts the position
of the header if you don't paste it in the starting column
of its class. This keeps the command from creating empty
columns if you place the header away from its class.
You paste the header into a column where there isn't enough
space on the page for the header and the current ads,
ClassPag will warn that the ad doesn't fit.
* Changed the way that the unflow command calculates
the total area of placed ads.
* Fixed a problem in front-to-back pagination where
ClassPag could place a second main head for a class
with locked line ads but an unlocked banner.
12/8/06
Version 5.86
* Fixed a problem where opening a square-off view of a single
page square-off with overflow position "P" would sometimes
reserve all of the columns of the original pag and place
the square-off on an overflow page.
12/9/06
Version 5.87
* When you open a square-off view, if the default level pages
of the square-off is empty, ClassPag now defaults to "INIT"
or "LAST" (depending on the overflow direction) instead of "NO".
This should make the square-off in the square-off view look more
like it did in the full view.
* Improved the width calculation in the square-off view
on square-offs with justify set to MULT or MEXP.
12/15/06
Version 5.88
* When you open a square-off, if the square-off has any unlocked
ads, ClassPag asks if you want to lock them. This can be useful
with square-offs where ClassPag packed most of the pages well
with display ads.
* If you open a square-off with no width entered in the square-off
record, ClassPag no longer sets the width to the width of the
default banner.
* When ClassPag places banners in a square-off view, if a banner
does not fit with leading, ClassPag retries without leading.
* Added Chris' changes to improve the CP2O interface.
When converting a printer for CP2O,
rcpuniq.sh's -xterm option is removed from the Includer Comment.
CP2O prints pages in a non-interactive context, and the -xterm
option could cause errors.
* The reports of missing ads and missized ads (for both all books
and for the current session) under Cmd -> Reports now rescan all EPS
files, so the reports now show the current state of all of the ads.
* Fixed the ad description field in reports of missing and missized ads.
* Fixed a problem in column-balanced classes where ClassPag would
mark all external one-column line ads with a depth less than the
line ad threshold as flowing keyed. The test should apply only
to classes with type 2 columns balancing. ClassPag applied the
test correctly to internal line ads.
12/22/06
Version 5.89
* In the square-off view, if the first or last columns of a
square-off have only an automatically placed banner and agate
fillers, ClassPag removes those columns. This should make it
easier to reduce the range of a square-off. If you move ads
on a page, ClassPag will lock the banner and not change it.
If you have a banner that is the wrong size because you have
changed the width of the square-off by dragging ads, remove
the banner from the page and reflow to make ClassPag place
a new one.
* Fixed a problem where keyed display ads would not unflow.
* Fixed a problem where CP2O would not increase the width
of widened banners.
12/25/06
Version 5.90
* When you drag an ad to make a square-off range larger,
ClassPag now automatically places a wider banner, even
if the current banner was manually placed.
* The scanxmlpage.sh interface script has a new -p # option
to purge all files in the save directory # days or older,
where # is a number of at most five digits.
You can use this option to keep large numbers of files
from accumulating in the save directory.
Anyone using the scanxmlpage.sh script should
consider adding the new -p # option.
1/1/07
Version 5.91
* ClassPag now tracks square-offs that you have locked by opening
them in a square-off view and then closing them with the lock option.
If you click on the banner of a locked square-off, ClassPag will
show the flag "Locked" set to "Yes".
* ClassPag can now show locked square-offs in a user-definable color.
To set the color, use "Setup -> Set Ad Colors" and then create entries
for the new context "LOCKEDSQR". If you create "LOCKEDSQR" entries
for some types of ads, other types of ads in locked square-offs use
the "REQUEST" color.
If no entries have the "LOCKEDSQR" context, ClassPag shows square-offs
as before without using a special color if they are locked.
* When you open a square-off view, ClassPag now creates reservations
to block out the positions of other square-offs and placed ads.
This prevents you from expanding a square-off into the space
used by another square-off or ad.
* If a reservation in the square-off view covers a square-off or
an ad, the name of the reservations starts with a dash and then
the name of the square-off or ad. This helps you know what is
behind the reservation in the full view.
* Session logs now capture the ClassPag version number and the
number of conflict.
The version number allows you to compare statistics before and
after installing a new version or to compare merged data from
systems running different versions. The version number is a
numeric value scaled by 100, so version 5.91 would show as 591.
The conflict count provides an approximation of the quality
of the pagination.
1/6/07
Version 5.92
* The dialog to close a square-off view now shows options to lock,
unlock or preserve the lock state of the square-off plus a "close"
button to close the square-off (using the selected lock option)
and a "cancel" button to return to the square-off view.
* ClassPag can now prevent you from accidentally changing locked square-offs.
The product configuration screen "User Preferences"/"Preferencias de
Usuarios" has a new field "Preserve locked square-offs"/"Preservar
encuadrados bloqueados" that strengthens square-off locks so that you
can not drag or remove ads in locked square-offs from the full view.
When this field is "Y" or blank, in order to change a square-off, you must
open the square-off in the square-off view and make the changes inside
the square-off view or close the square-off with the "unlock" options.
If you always want to be able to drag square-off ads from the full view,
set the field to "N".
* If you close a pagination session from a square-off view,
ClassPag now asks you if you want to close the square-off before
asking other questions about the session. You must close the
square-off to continue closing the session. If you close the
square-off, ClassPag now updates the pagination statistics window.
* Updated the dates in reports to 2007.
* When a class has only two line ads, ClassPag used to look
for a column with enough space to place both ads together.
ClassPag now checks for enough space for both ads only
when either ad is less than the minimum widow depth.
This improves the appearance of classes that have two line
ads, both of which are at least the minimum widow depth.
* Fixed problems writing messages to the debug log when placing
fillers and when initializing color contexts.
1/10/07
Version 5.93
* You can now move a block of a square-off with
Cmd -> Position -> Move square-off page
(currently near the end of the list, use page-down).
Select the command and then drag any ad in the square-off block.
You can shift the block on the page or move the block to
another page.
If the square-off block does not fit in the new position,
ClassPag will not move any ads and will show an "excess depth"
message corresponding to the first ad that didn't fit.
* The class color window under Setup -> Set Class Colors
and the ad color window under Setup -> Set Ad Colors
now show the preview boxes with colors so you can see
the color without opening the record.
* Each square-off can now have its own color when it is locked.
The second screen of the square-off record has new fields
to set the box color, text color and border color.
As with the colors for class names and for ad contexts,
you can set a name and optional red, green and blue values.
If you leave a square-off color empty, the color defaults
to the color specified by the LOCKEDSQR context.
The conflict color has priority over the locked color
so that you can see conflicts like missing EPS files
for ads in locked square-offs.
* maketarw.sh now saves transactions of the printer, paper
and spread databases in an "all" subdirectory of the
transaction directory. These databases can be useful
when diagnosing printing problems. maketarw.sh used to
omit them because they are not keyed by the product id.
maketarw.sh saves the transactions in a new subdirectory
instead of in the main transaction directory so that it
is still safe to update all of the transaction files in
the main directory with *.trn. You should update the
printer, paper and spread transactions with caution because
they could overwrite entries in your current system.
You should unload your current databases first and save
the transactions or else edit the new transactions and
remove every entry except the ones that you need.
By default, updprod.sh unloads the databases before
applying the transactions and uses -a to avoid
overwriting current records. If you load a transaction
file by mistake with updprod.sh, you can restore the
database as long as you have not used -f or -w.
1/11/07
Version 5.94
* The session log under Setup -> Log Files has a new
"Export" function that writes all of the fields to
a spreadsheet. The session log window used to export
only the fields on the screen.
* ClassPag now encloses CP2O objects in clipping regions.
* The form under Setup -> Units Definition now shows
a comment that there are 7227 centi-points per inch.
The value in the field "Centi-Points per Unit" should
be 7227 / (units per inch). For example, there are
14 lines per inch, so the record for lines should
specify 7227 / 14 or 516.214286 centi-points per unit.
* Fixed a problem where fillers pasted from a square-off
view would sometimes go away.
NOTE: To use the new export function, you must have a version
of printlis.xfm in $SPICE_TBIN (usually /u/scs/tools/tbin)
from Jan 10, 2007, or later.
If you use the "Print/View List" button in other SCS
applications, you must also install a version of spice
in $TOOLS (usually /u/scs/tools/bin) from Jan 10, 2007,
or later,
1/23/07
Version 5.95
* When auto-segmenting Word5 EPS files, ClassPag now tracks the font
size better. This fixes problems where logos could be split and where
unwrapped ads could have too much space at the bottoms of the original
columns.
* The edition parameter to set the Agate Scale Percentage now works
better with auto-segmented ads.
* The product configuration parameter "Include... Trailing Segments"
on the "Outext Export" screen now also affects XML page reports.
If the field is set to "N", ClassPag writes only the first segment
of segmented ads to the XML report, and it sets the depth to the
total depth of the ad instead of to the depth of the segment.
To make segmented ads in the XML report match the entries in
the sort file, set "Include... Trailing Segments" to "N"
and then set "Preserve Name" to "Y" on the ""Legal and Segmented
Ad Specifications" screen.
* Removed calls to the preview window in Setup -> Product config, expert.
* Added Bob's changes to the readnac interface program to fixed some
more AGaramondItalic characters that extended into the margins.
1/26/07
Version 5.96
* The product configuration screen "Display Ad Dummying Style (Continued)"/
"Estilo de Diagramacion de Avisos Destacados (continuado)" has a new field
"Place Fillers below Display Ads"/"Poner rellenos debajo de destacados"
to control whether ClassPag can place agate fillers below display ads.
The default is "Y" to allow ClassPag to place fillers below display ads.
Set this field to "N" if you have many one-column display ads and would
prefer ClassPag to place fillers over the display ads.
* ClassPag now writes a few additional comments in the %%Page section
of postscript pages to work around a problem where gv would read
%%PageBoundingBox comments inside ads when the ads were not
wrapped inside %%BeginData/%%EndData comments.
* Added a new toolbar button to run the command "Move square-off page".
This button moves just one page of a square-off.
Renamed the toolbar button that moves every page of a square-off from
"Position a square-off" to "Move square-off" to match the Cmd->Position
command that it runs.
* maketarw.sh now saves transactions of the adcont and units
databases in the "all" subdirectory of the transaction directory.
The adcont database contains the default colors for ad types.
The units database contains custom unit definitions.
2/1/07
Version 5.97
* Improved "MAC" auto-segmentation for Mactive ads. It now does a
better job of not splitting logos, especially when the logos are
on the right with text on the left.
* ClassPag now validates the units database under Setup -> Unit Definitions.
When you open or close the units list window, ClassPag checks
the standard units like inches are entered in the database and
have the correct values. Also, when you open the form for
a standard unit, ClassPag checks that you do not change the
centi-points per inch conversion value.
For example, ClassPag will now warn you if you change
the conversion value for inches from 7227 to 7200.
2/5/07
Version 5.98
* ClassPag now allows you to drag locked square-offs.
You still can not move individual ads of locked square-offs.
* The paper definition has the additional "PS Type"/"Tipo PS" values of
"BGEPS" and "CGEPS" that work like "BREPS" and "CREPS" except that they
include a gutter margin on both sides of the square-off, even if the
square-off is at the left or right of the page.
2/16/07
Version 5.99
* When the product configuration parameter "Place Fillers below Display Ads"/
"Poner rellenos debajo de destacados" is set to "N", ClassPag
no longer places agate fillers under display fillers.
* The minimum ad counts for square-offs now count only agate
and display ads. The counts no longer include class headers.
Anyone using this feature will need to review their ad counts.
* Fixed a problem where opening and closing a square-off view
could cause other square-offs to flow in-column.
* Added Chris' changes for CP2O.
When converting a spread layout for CP2O, "Show Display Ad Images"/
"Ver imagenes de destacados" is changed to "REL".
When converting a printer, spread layout, or paper size for CP2O,
ClassPag appends "-CP2O" instead of "-CPO".
Comments
0 comments
Please sign in to leave a comment.