3/31/09
Version 7.00
* The rcpuniq.sh script now checks the -user parameter when
copying with rcp or scp. This can be useful if the destination
account on the remote service is different from the account
running ClassPag or CP2O. The example below logs into rip1
as user "opi":
rcpuniq.sh -scp -user opi -name cpag1.ps rip1:/spool/in cpag.ps
* rcpuniq.sh now has a -rcp option for completeness to match
the -scp and -ftp options. rcp is still the default.
* Fixed a problem where ClassPag would sometimes not place heads
if a class started at the top of a column when the configuration
specified placing parent heads at the tops of columns and copying
parent heads to subclasses, but the heads came from the banner
database instead of from the sort file.
* Included Bob's update to the NWG interface to strip non-digits,
non-decimal-point from the XML values for numeric fields (price,
square feet, bedrooms, baths). This helps with some new values
in a recent XML file.
4/1/09
Version 7.01
* rcpuniq.sh now supports a -i option to pass an identity file to ssh,
for example,
rcpuniq.sh -scp -i ~/.ssh/id_rsa -name cpag1.ps rip1:/spool/in cpag.ps
* Included Bob's update to interfaces using mapclass to set the
strippable flag, house ad flag, long sort key, customer name,
and account number for all types of ads. mapclass would not always
write the fields for internal ads, and if one field was not blank
filled to its full length, the next field could be offset.
* Included Bob's update to the NWG interface to copy the value in the
XML <run-schedule-id> tag to the InsertionID field of the sort file.
4/3/09
Version 7.02
* ClassPag now supports merges of IMP and XML files with the NWG interface.
* Increased the maximum number of import directories from 2000 to 5000.
* The page display is about 20% faster when showing pages with no ad images.
* Increased the class hash table and image hash table from 1024 to 2048.
* Included Bob's updates to the NWG interface.
The interface now supports new 1-image box, 2-image box,
and Spotlight on Homes formats.
The adcontent pattern now has <xi> to cancel indent after the content.
4/4/09
Version 7.03
* Fixed a problem where external auto-segmented would not print
correctly if the agate ad scale factor was set.
* Fixed a problem where ClassPag would sometimes not fill pages
as tightly as possible with segmented ads.
4/10/09
Version 7.04
* The "Start Request" field of the class database has a new
value "D" to start a class on a new column. This value is
similar to "C", except that if the column has a display ad
at the top, "C" will always use the column, while "D" will
use the column only if the display ad is in a class that is
compatible with the class of the line ads.
* makenwk.sh now moves ads with the -u option to mv so that it
does not replace new files with old files if you import from
a previous day.
* Included Bob's changes to the NWG interface.
The interface handles numeric XML fields better.
* Synchronized the page display module with spice.
4/22/09
Version 7.05
* ClassPag has a new XML interface to MerlinOne E-Sheets.
The XML currently should conform to the MerlinOne specifications
Version 4.8 revision 2008-03-31,
The initial ClassPag product configuration screen has new fields
"Corporation"/"Corporacion", "Business Unit"/"Unidad de Negocio",
and "Publication"/"Publicacion". ClassPag copies these fields to
the corresponding fields in the E-Sheets XML.
The printer entry should have "Write ad list" set to "E".
ClassPag builds the pdf_name field from the ad list file name
of the paper entry. You should set the ad list file name to an
expression with "publication date-section name-section letter-
page-zone-business unit-publication-edition-page edition",
for example,
RunDate // "-" // SectionName // "-" // BookName // "-" //
f$format(BookPageNumber."999") // "-" //
((ZoneNum = 0)? "ALL": ZoneName) // "-" // "TCP" // "-" // "LTM" // "-"
// "" // "-" // ".txt"
* The product configuration screen "Ad and Class Conversions (continued)"/
"Conversion de avisos y clases (continuado)" has a new field "Default
ad description to EPS Title"/"Usar titulo de EPS si no hay descripcion"
to control how ClassPag handles external ads with no description in the
sort file. The default value of "Y" sets the ad description to the
%%Title comment of the EPS file. This can be useful to identify ads.
ClassPag sets the sort key of external line ads to the description.
You should set this field to "N" if your interface leaves the sort key
field empty in the sort file and passes all ads as external EPS files.
* Included Bob's changes to the NWG interface to improve the
indentation of 1-image non-box real estate ads.
5/5/09
Version 7.06
* The product configuration field "Flow under display ads"/"Fluir abajo
de destacados" on the screen "Classified Heading Placement"/"Ubicacion
de Encabezados de Clasificaciones" has a new value "COLHDR" to specify
placing only normal class column headers below display ads instead
of placing both parent headers and class headers. When the product
configuration requests placing display ads from the top and requests
placing both parent and class headers, the new "COLHDR" setting tells
ClassPag to create pages with parent headers (aka super heads) at the
top, then display ads, then class headers, then line ads.
* When ClassPag places keyed ads, it is more careful about not looking
ahead for keyed ads past a class with a new column or page start request.
* The command to remove all ads from the current page now shows
the current page number in the dialog.
* When ClassPag creates horizontal grids with the classification
Randomize value of "S", ClassPag now keeps the ads in left-to-right
order even if an ad in one column is a half-grid taller or shorter
than a whole number of grid units. This fixes a problem where
banners or class headers that were not exact grid units could
appear to scramble the order of the ads in the rows below them.
* Fixed a problem where ClassPag would not place keyed ads on a new page
forced by a classification with a new column or page start request.
* Fixed a problem where sorting the list in "Import Ads ->
Read or Copy ClassPag Files" by run date would show areas
with an empty date first instead of last.
* Fixed a problem where right drags would show a big black box
instead of the selected ad.
5/15/09
Version 7.07
* The field "Keyed ad placement"/"Colocar avisos clavados" on the product
configuration screen "Display Ad Dummying Style (Continued)"/"Estilo de
Diagramacion de Avisos Destacados (continuado)" has a new option "A" that
works by ad. This option attempts to place keyed ads in the same column
as line ads with the same sort key without worrying about pyramid styles.
* ClassPag tries harder to place keyed ads if it has already placed a line
ad with a larger key. This keeps display ads closer to their class.
This change and the changes below affect keyed ad placement by column and by ad.
* When ClassPag is placing keyed ads, if it finds a keyed ad larger than the
total of the keyed ads already placed, it will try placing the larger ad.
This allows ClassPag to place full-page and other large keyed ads earlier
in their class.
* When several ads have the same key, ClassPag now places the larger ads first.
This allows ClassPag to place more display ad area earlier in the class to
reduce the chances of running out of display ads.
* Fixed a problem where ClassPag could flow one-column super heads in
the first column of line ads with "Flow under display ads" of "COLHDR".
* The control database contains a new field with the version of ClassPag
that last opened the work area.
* Added Bob's new Job Finder patterns for the NWG interface.
5/21/09
Version 7.08
* When a class starts on a new column with no ads ("Start Request" of "D"),
if a column is empty but a later column has a non-compatible ad, ClassPag
now advances past the non-compatible ad to avoid mixing classes.
* When ClassPag places keyed display ads, it is now more careful
to avoid placing them so that agate ads from a non-compatible class
will flow under them.
* When ClassPag places keyed display ads, it is now more careful to avoid
placing a full-page ad for a class before it has placed any agate ads.
If you lock pages, for this to work, you should lock pages front-to-back.
* Added Bob's change to mapclass: if the Default Composition Format for
Liners field in the product configuration contains "NoFormat" (without
quotes, but case-sensitive), mapclass now passes the empty string for
the format (style) parameter to Composition. For the most part,
products that use mapclass should use this value in the field.
If the default format field in the product configuration is empty,
ClassPag still uses the format "linea". In many installations,
"linea" generates white space, which can cause problems.
Some installations have a "lineanull" format which usually does
not generate any white space.
* Included Bob's update to the NWG interface. The update includes
27 new nwem_ patterns and four new options to makenwk.sh:
-xmljft Job Finder one-line employment ads (tabloid)
-xmljfb Job Finder one-line employment ads (broadsheet)
-xmlemt Help-Wanted employment ads with text (tabloid)
-xmlemb Help-Wanted employment ads with text (broadsheet)
6/10/09
Version 7.09
* Fixed a problem in products that use super heads entered as banners
with legal classes. ClassPag did not always allocate space for the head,
and sometimes the last segment of the last legal ad would not fit.
* Fixed a mapclass calculation for display ad heights in the CLA interface
that was broken by an NWG change in version 6.94.
* Included Bob's updates to the NWG interface.
The new file $CPAG_INT/patterns/emclasses.txt maps subclasses to major classes.
Implemented new method of determining the major class code for employment ads.
Each number in the subclass-code field maps to a class number from 1-5.
The file emclasses.txt contains the mappings.
Each line consists of a class number (1 to 5) followed by a hyphen followed
by a single subclass number or a range of subclass numbers, where a range is
a subclass number followed by a hyphen followed by a larger subclass number.
The line indicates that the given subclass number or all subclass numbers
in the given range map to the given class number.
For the tabbed line on Newark employment ads, I moved the City to the left,
which makes the Company smaller. This was needed to make enough room for
the City to allow for the video camera icon to the right of the City.
Changed the icon dimensions in the zl command from -16, -10 to -18, -8.
The video camera icon in those ads is wider and less tall than the icons
used in real estate ads.
Changed logo dimensions for employment ads to match the specified fixed
size of 1 5/8 inch x 1/2 inch.
Change tabbed lines for NWG employment ads so that if the content of a
tabbed field is too wide to fit in the tab column, instead of force-fitting
the text using space and character compression, we now allow the field to
use more than one line.
The new behavior requires the TD command. The TD command ensures that if
a tabbed field breaks into multiple lines, each line is aligned (left, right,
center, middle) according to the alignment letter used for that column in
the TD command. Before the TD command, composition used to justify all but
the last line, which was aligned according to the tab command following the
content.
The TA command can be used after each tab column to indicate that the content
should be aligned according to the alignment letter in the TD command.
If the TA command has 1 for its optional argument, tab columns always start
on the original top line.
For the XML employment ad interface, added an ah command to specify that
hyphenation should take place at input hyphen characters but nowhere else
(unless blanket hyphenation is needed for a single word that doesn't fit).
This causes the job title OWNER-OPERATORS to be broken as OWNER-/OPERATORS
instead of OWNER-OP-/ERATORS.
6/19/09
Version 7.10
* Composition expressions in banner text items can now use the
variables ClassName and ClassTitle to access the name and title
of the class of the banner.
* The banner list in Setup -> Banners has a new hotkey "Create Class Headers"/
"Crear cabezales" to create class headers based on the currently selected
banner. The banner should be a class header, and the name of the banner
should end with the class id. In addition, the banner images and their
image names should include the class id. The Create Class Headers command
will create a copy of the banner for each class entered in Setup ->
Set Class Names. The command updates the name, class, square-off,
description and default image of the each banner, and it also updates
the ids and external names of each image. If a banner already exists,
the procedure will not touch it. The command prompts you before each
class, so you can control which banners it creates, and at any point,
you can stop the process or continue the process to the end.
* Fixed a test that could have placed extra superheads.
* Fixed a problem in the page display where the box information
window did not always show the ad type.
6/21/09
Version 7.11
* The product configuration screen "Display Ad Specifications (Continued)"/
"Especificaciones de Avisos Destacados (continuado)" has a new field
"Place all display ads by sort key"/"Colocar avisos destacados en orden
por clave" to control how ClassPag imports and places display ads.
When the field is "Y", ClassPag passes the sort key of all display ads
unchanged (without prepending a numeric size code), and ClassPag places
all display ads as if they had a "KY" request.
The default value of "N" treats display ads normally.
* The procedure to rebuild banners generates the ClassName and
ClassTitle variables more efficiently.
* Added Bob's changes to the NN interface.
If mapclass.sh is called with command line options nn and -s, the NN
interface will use the starting content of each liner ad as the sort key.
With nn and without -s, the sort key consists of a four-byte value indicating
the sequence of each ad in galley.fil followed by the start of the ad content.
* Added Bob's changes to the NWG interface.
We now recognize the XML tag specialty as equivalent to the job-title tag.
XML files for "instruction" ads use specialty instead of job-title.
6/23/09
Version 7.12
* Fixed a problem where ClassPag would modify the sort key of agate ads
with a depth greater than the column depth if the "Maximum Sort Depth"
was empty or 0.
* Fixed a problem in the calculation of the value prepended to the sort key
of agate ads with a depth greater than the "Maximum Sort Depth" if the ad
depth was greater than the column depth.
* Included Bob's change to the NN interface to convert the start of
the sort key to uppercase. Also, all interfaces now pass five more
characters in the sort key field.
7/14/09
Version 7.13
* The product configuration screen "Ad Import Restrictions"/
"Restricciones de Importacion de Avisos" has a new field
"Check extensions ... for TIF"/"Probar avisos ... con sufijo TIF".
With the default value of "N", ClassPag does not check for tif extensions.
When the field is "Y", ClassPag checks for ad images with the
extensions .tif and .TIF. ClassPag has supported TIFF ads since
version 2.99. The new field helps ClassPag find TIFFs if the
image name in the sort file has no extension and the TIFF has
an extension of .tif or .TIF.
* Included Bob's change to the XML grid interface to recognize "speciality"
as equivalent to "specialty".
* Included Bob's changes to the STU interface.
getstudmp.sh is a new script that extracts relevant info from the LOG file.
getstudmp.xfm is a new formula that uses that info to decide what dump file
to use or whether we need to issue a warning.
mapclass.xfm now calls getstudmp.xfm and passes its results on the command
line to makestu.sh, which now uses the dump file and publish date determined
by getstudmp instead of trying to figure those out for itself.
* Synchronized the page display module with spice.
* Fixed a warning after emptying the paste list with one-click placement.
7/20/09
Version 7.14
* The product configuration screen "Ad Loading"/"Cargar de Avisos"
has new fields "Scan External Ads For Size... Agate"/
"Comprobar avisos externos para tamano... ag", "Display"/"dest",
"Header"/"cab", and "Filler"/"rell" to control how ClassPag
calculates ad sizes when importing different types of ads.
The default value of "N" takes ad sizes from the sort file as usual.
The value "Y" takes ad sizes from the bounding box of the image file
for the ad. This can be useful if the interface writes incorrect
ad sizes for certain types of ads.
The ad type is currently the resulting type after ad type conversions.
These fields currently apply only to ads in the sort file and not
to ads in the cardex or outext files.
* ClassPag (and other SCS applications) now accept TIFF files with
YCbCr color space.
7/31/09
Version 7.15
* Added a new PS ad position request to preserve the size of ads that
do not fit their reservation. Ads with this request show the flag
"PRESERVE_SIZE" in the box information window.
Both the BB and the PS code leave the ad unscaled. The BB code ignores
the bounding box completely and places the 0 point of the ad at the lower
left of the reservation. The PS code does not resize the ad but still
uses the bounding box to center the ad if the product configuration
requests centering ads horizontally or vertically.
The BB request can be useful for ads built at the lower left of
a template if the bounding box shows the size of the template
instead of the size of the ad.
The PS request can be useful when you want ads resized in general
but you have a specific ad that must print at its original size.
If the ad is smaller than its reservation, the ad will be centered
or placed at the upper left of its reservation depending on whether
the product configuration requests centering.
If the ad is larger than its reservation, the ad will run into other
ads or be clipped, depending on whether the product configuration
enables clipping for external ads.
* rcpuniq.sh now has -lftp and -ncftp options to use the lftp or ncftp clients.
* makeeps.sh now has a -b command line option. If this option is specified,
makeeps.sh sets and exports the environment symbol FORCE_BB_IN_EPS to "yes"
before it calls the PostScript driver. The result of doing that is that
the PostScript driver puts a %%BoundingBox comment in each EPS.
This option requires a version of pcspool from July 28, 2009, or later.
* Changed profile.sh to work better with NoMachine NX Client for Windows.
A connection that specified "/u/cpag/menprof.sh" could sometimes start
three copies of ClassPag. As a result of this change, some connection
scripts that log in without running menprof.sh or runcpag.sh will now
start a shell instead of opening ClassPag.
* Fixed a problem where ClassPag would sometimes split segmented ads
across pages when "Can Cross Pages" was not set if the column ended
with a very small amount of space and the look ahead list was empty.
* A new version of pdftops is available that handles writing patterns
through image masks in level 2 output (testimagemask.pdf), fixes
a problem with slanting text, fixes a problem with color gradients
(1288986.pdf), fixes a problem with font substitution (80698010.pdf), and
fixes the errors about "Illegal entry in bfchar block in ToUnicode CMap".
8/6/09
Version 7.16
* The product configuration screen "Ad Image Scaling"/"Escalado de la
Imagen del Aviso" has a new field "Scale internal leading of pdftops ads"/
"Escalar interlineado de avisos hecho por pdftops" that controls how
ClassPag handles postscript ads created by pdftops (which includes all
PDF ads) that are larger than their reservation. When this field is enabled,
ClassPag will modify the ads on-the-fly to reduce the leading between lines
of text. This can produce better results than shrinking the entire ad
because the fonts and lines retain their size.
* The position request field has a new "PP" two-letter request to preserve
the postscript of ads created by pdftops when "Scale internal leading of
pdftops ads" is enabled. You can set this request to prevent the leading
reduction in a particular ad.
* The product configuration field "Obey TOP/BOTTOM Requests"/
"Obedecer Solicitudes CAB/PIE" on the screen "Agate Ad Specifications
(Continued)"/ "Especificaciones de Avisos Agate (continuado)" now
affects only long requests and two-letter position request components
that concern ad positions like TP and BL while always accepting other
requests like BB and PS. This restores the field to its original
purpose while allowing users to control how ads print.
* ClassPag now uses the -passfonts option with pdftops when pdftops
supports that option.
* The option window on the pagination statistics screen no longer
shows a row count.
8/10/09
Version 7.17
* Fixed a problem where ClassPag would sometimes split segmented ads
across pages when "Can Cross Pages" was not set if the column ended with
a very small amount of space and contained only a filler at the bottom.
8/11/09
Version 7.18
* Fixed a problem where ClassPag would sometimes split segmented ads
across pages when "Can Cross Pages" was not set if the column ended with
a very small amount of space and contained a reservation. Segmented ads
must behave normally under reservations or else the "level pages" could
create bad pages.
8/18/09
Version 7.19
* ClassPag now shows the conflict "SPLIT_SEG_AD"/"AV_DIVIDO" for
segmented ads that skip columns or that have other ads inside them.
ClassPag marks a few segments of the ad around the problem.
The incorrect segment has the conflict "SPLIT_AD"/"DIVIDO"
(which shows in the color of the "SPLIT_CONFLICT" context).
* ClassPag now shows the conflict "SPLIT_SEG_AD"/"AV_DIVIDO" for
segmented ads that cross pages when "Can Cross Pages" is not set.
ClassPag marks all of the segments of the ad. The segments at
the jump have the conflict "SPLIT_AD"/"DIVIDO".
* ClassPag is more careful about keeping very long segmented ads
on a single page when "Can Cross Pages" is not set.
* Fixed a problem that could sometimes leave empty columns when
paginating segmented ads.
* When "Scale internal leading of pdftops ads" is enabled,
ClassPag now reduces the size of logos between 15 and 30 points
a little more than it did before. This fixes problems with
some medium-sized logos that overwrote ad text.
8/27/09
Version 7.20
* When ClassPag imports ads with PDF and other non-EPS images, it
now sets the external file name of the ad to the PDF instead of to
the generated EPS. This allows ClassPag to detect changes to the PDF.
9/4/09
Version 7.21
* ClassPag can now look for agate and display ads in separate places.
The product configuration screen "Display Ad Directories"/"Directorios
para visos" has a new field "Agate Ad Directories"/"Directorios de agates"
that can contain a list of directories separated by commas or spaces.
If this field is empty, ClassPag looks looks for external agate ads
using the same directory list as other external ads.
If this field is not empty, ClassPag looks for external agate ads
only in the directories in the list. ClassPag uses the first entry
on the list as the default location for agate ads.
When ClassPag searches for other types of external ads, it uses the
display ad directory list and does not use the agate ad directory list.
This allows ClassPag to handle display ads and agate ads that
have the same image name without taking an image from the wrong place.
If agate ads contain OPI references, ClassPag continues to use
the display ad directory search list to search for OPI files.
If the product configuration changes the types of ads, ClassPag will
use the directory list for the current type of the ad at the time
that it searches for the image.
9/17/09
Version 7.22
* The parameters "Expand Banners" and "Expand Square-Offs to Width"
on the "Display Ad Dummying Style" screen of the product configuration
now work with both square-offs at the top and at the bottom on pages.
They use to work only with square-offs at the bottom.
* The findformversion.sh interface script has a new -spice option
to show only the version of spice. This can be useful when checking
the version of spice before installing an update.
* The findformversion.sh interface script has a new -allspiceareas option
to show the version of spice in all spice areas.
* Fixed a problem where square-offs that requested placement at column 1
and a width of the entire page could sometimes have line ads overflow
to the first column of the following page.
* Fixed a problem in the logic to place keyed ads by page.
* Included Bob's change to makenwg.sh to use bspice instead of spice.
10/6/09
Version 7.23
* ClassPag now uses multi-column agate fillers in more places.
* Fixed a problem with missing top level class headers in classes tied to
square-offs where the square-off does not use the header of the top level class
but the class still needs the header because it doesn't have enough ads for the
square-off and flows in-line instead.
* Included Charles' change to remove the "Unknown ad" alert in the
oe_to_av formula.
10/8/09
Version 7.24
* The "Screen Display Preferences"/"Preferencias de Visualizacion" screen
of the product configuration has a new field "Can Drag Agate ... Fillers"/
"Poder traer ... rellenos lineales" to control whether you can drag agate
fillers. The default of "N" does not let you drag agate fillers.
If you set the field to "Y", you can drag agate fillers.
10/14/09
Version 7.25
* menprof.sh and runcpag.sh have new options "testmirror" and "overridemirror".
If you are using the standard SCS /etc/mirror scripts, you can add "testmirror"
to your connection script to ask ClassPag to check that you are running on
the primary server. If your connection script goes to a server directly
instead of using the shared IP, using "testmirror" will prevent you from
accidentally running on the backup server. If you really need to access
the backup server, you can temporarily either remove the "testmirror"
option or add the "overridemirror" option to skip the mirroring test.
If you are using the ClassPag mirror scripts distributed in /u/cpag/mirror
or the cpag_mirror scripts distributed in /u/cpag/interface, you should
not use the "testmirror" option. You should also not use the "testmirror"
option if you have an active/active configuration with another SCS application.
* rcpuniq.sh now has a -sftp option to copy files using sftp.
* Fixed a problem where ClassPag would sometimes leave headers at the top
of a column when unflowing ads from a page with an island ad.
* Fixed a problem where ClassPag would sometimes not place class headers
above an island ad at the top of a column.
10/16/09
Version 7.26
* When you edit the ad data of an agate or display ad, if the ad image does
not have a directory path, and if the ad image is not in the alternate ad
directories, ClassPag will now try the display ads directory.
* Fixed a problem where ClassPag would not look in the alternate ad directories
for agate ads even if the "Agate Ad Directories" field (added in version 7.21)
was empty.
10/28/09
Version 7.27
* Fixed a problem where ClassPag would sometimes split segmented ads
across pages when "Can Cross Pages" was not set if the ad flowed to
a second column and the column required a class header.
11/4/09
Version 7.28
* ClassPag now shows class conflicts for headers over ads of an incompatible
class and for display ads with incompatible headers over every columns.
The conflicts show in the page display and on the conflict report.
12/4/09
Version 7.29
* Fixed a problem where repainting the screen to eliminate an overflow
page could sometimes show a second copy of the first page.
12/16/09
Version 7.30
* The product configuration screen "Ad and Class Conversions (continued)"/
"Conversion de avisos y clases (continuado)" has a new field "Sort file
position request position"/"Posicion en sort para pedido de posicion"
to specify a 1-based column location for the position request field.
The field normally starts at column 103. (The sort file documentation
uses 0-based column locations so it says column 102.)
If the sort file has other information in this field, the ClassPag
log will report warnings like the examples below.
load_ads, warning, ad 1 10327276 ignoring requested column 78
load_ads, warning, ad 10316802 has unknown short position option 'NE'
load_ads, warning, agate ad 1258 10316802, ignoring pos req 'NE '
If the data in the field could ever happen to match a valid request,
ClassPag would follow the request, which might cause it to place the
ad in the wrong place.
If the "Sort file position request position" is "0", ClassPag will now
ignore the position request field. If the field is empty, ClassPag will
continue to take the position request from 1-based column 103, and if
the field is a positive number, ClassPag will take the request from
that location.
The product configuration already had a way to tell ClassPag to ignore
all requests, but that prevents you from setting requests manually.
* Added a "fiximage.ps" patch file for use with CCI interfaces to prevent
ads from pulling the "image" operator from the system dictionary.
To use it, set the "Patch After Prolog" to "include fixincclip.ps".
* Fixed a problem where ClassPag would not wrap segmented ads when
the look ahead was 0.
2/5/10
Version 7.31
* This release includes the new Column Selection feature of the SCS Spice 4GL.
On any list window, if you right-click on a column heading, the 4GL opens a
list of options. If you click on "Select columns", you can open a dialog
that allows you to set the order of the columns of the width of each column.
* Increased the maximum number of work areas parsed from 5000 to 20,000.
This fixes a problem where Import->Read and Import->Copy would show only
the first 5000 work areas or would not show all of the dates.
A newspaper that saved three pagination sessions per day could create
1000 save areas per year and could reach 5000 after 5 years.
ClassPag has to read all of the save areas to show the import list,
so import window could take a long time to open on systems with a large
number of save areas.
* Increased the maximum number of files per directory in the directory
browser from 2000 to 20,000. This could be useful when browsing large
directories of ads on a file server.
* Added a new purgezsave.sh interface script to purge old save areas.
purgezsave.sh searches for save areas in /u/cpag/root/scratch that
start z_ or Z_ and end with a date in YYYYMMDD format, for example
"/u/cpag/root/scratch/z_HW-SL-GRID-Sun_20091125".
The script takes a -d # parameter to specify the number of days
of the most recent directory to purge. For example, "-d 1"
removes all of the directories with yesterday's date or older.
By default, the script lists the directories without removing them.
To remove directories, use the -r option.
You can run this script in a cron job with a line like
0 3 * * * /u/cpag/interface/purgezsave.sh -r -d 30 > /tmp/purgezsave.log 2>&1
* If you copy ClassPag to a new server without using loadtape.sh,
first time that it runs, it will now display a welcome screen and
ask for some information.
You should make up values that will be meaningful to you.
For "Company Name", enter the name of the company or newspaper.
For "Company Code", enter a short abbreviation of the Company Name.
If you run ClassPag from several locations, you can track them
by checking "Multi-Site" and then entering a "Site Code" with
a short name for the location.
If you run ClassPag from a single location, leave "Multi-Site"
unchecked and leave "Site Code" empty.
For "Your Name" enter either your name or the name of the
ClassPag administrator.
* Included Bob's change to the readnwg interface formula.
The readnwg formula has a new command line option -s to write the fields of
the adtext, adcls2, and classes records one-per-line to standard output.
The readnwg formula no longer looks for ad attributes in elements with
the name "FieldedDataSet".
* Fixed a problem where setting "Justify Last Column" to "RAISEALL"
would no leave the ads at the bottom.
NOTE: To use the new column selection features in spice, you must update
to a version of the SCS tools from February 4, 2010, or later.
If you have a recent version of the tools, you might be able to copy
a new version of /u/scs/tools/tbin/viselem3.xfm temporarily until you
have a chance to update the tools.
3/9/10
Version 7.32
* When you open or close the list of images for a square-off banner,
ClassPag now shows a warning if any of the images are more than slightly
larger or smaller than the average image depth. When ClassPag builds
square-offs, it must reserve enough space for the largest image.
To make the most efficient square-offs, all of the images for a
square-off banner should have the same depth.
* When ClassPag starts a pagination session, it now writes warnings
in the error log when a square-off banner has images with more than
a small difference in their depths.
* The banner setup windows now have tool bars. This makes it easier
to navigate through the windows using only mouse clicks.
* When a square-off has banners of different depths, ClassPag builds
the square-off to fit under the deepest banner. If the square-off
has only line ads, and if the full width banner is not as deep as
the deepest banner, ClassPag will now try the square-off at the full
page width with the full width banner. This allows ClassPag to fit
some square-offs in a single page where it used to require two pages
if some of the banners are deeper than the full width banner.
* The banner image window now shows inactive images with a "-" prefix.
* Improved the placement for keyed display ads when a session has many
more keyed ads than line ads. ClassPag now places more of the display
ads in sort order.
* ClassPag now reads DocumentSuppliedResources and DocumentNeededResources
document structuring comments in eps files. New versions of applications
from Adobe write these comments instead of DocumentNeededFonts and
DocumentSuppliedFonts.
* When ClassPag writes font comments, it now uses different rules to decide
whether a given font is supplied or needed. ClassPag lists a font as
supplied if ClassPag embeds the font in the page or if all ads that use
the font also supply it. ClassPag lists a font as needed if at least
one ad uses the font without also supplying it.
If all ads that used a font also supplied it and if ClassPag could not
find a copy of the font to embed, ClassPag used to list the font as needed
but ClassPag now lists the font as supplied.
* Included Bob's change to the XML grid interface.
The interface now supports alternate directories for configuration files.
To create an alternate directory, create a subdirectory under /u.
Create .cfg files in that directory that specify your alternate configuration.
Create a new ClassPag product that will use the new configuration.
In the product configuration for that product, change the makenwk.sh import
command line by adding
-xmlc directory
where directory is the name of the subdirectory you created under /u.
For example, if you create the subdirectory /u/abc, add
-xmlc abc
to your import command.
* Included Bob's change to the NN interface.
mapclass.sh and makenn.sh have a new -f config-file-name option.
readnn uses the hard-coded version of RS1 only when the site is NN, the RS
format is RS1, and the defaults file is /u/advision/pst/advision.dft.
This allows NN sites to create alternate configurations.
To create a new product with a different page geometry:
Create a product in ClassPag with the new geometry.
Create a defaults file in /u/advision/pst with RS definitions
with CS commands to specify the new sizes and widths, for example,
/u/advision/pst/web44.dft.
Create a cfg file in /u/advision with a DefaultsFile= line indicating
the new defaults file. For example, call the new file /u/advision/web44.cfg
and add a line "DefaultsFile=/u/advision/pst/web44.dft".
Update the import command to specify the cfg file with the new -f option,
for example, "$CPAG_INT/mapclass.sh nn -f web44".
3/11/10
Version 7.33
* The "Wd X Depth" column in the windows to paste fillers and banners now
sorts numerically instead of alphabetically. This makes sorting by clicking
on the column heading more useful on products with 10 or more columns.
* Sorting by clicking on the column heading now works better on the two-line
view in the windows to paste ads.
* The windows to paste fillers and to paste banners now have new "Total"
and "Page" fields to show the number of times that the filler or banner
image has been placed in the session and on the current page.
List filters can use these fields to hide fillers or banners that have
been placed more than a given number of times.
* rcpuniq.sh has a new -anyftp option that uses ncftp if it finds
/usr/bin/ncftp and uses ftp otherwise. ncftp handles passive mode better
than ftp and reports errors better. The -anyftp option makes it easier
to write scripts that run on servers with different configurations.
* Fixed a problem where rcpuniq.sh would sometimes hang with ncftp.
* rcpuniq.sh now shows a better error message when sending with
ftp and the destination server name does not exist.
* The scan program to scan fonts now parses DocumentNeededResources
and DocumentSuppliedResources lines and has additional command line
options for testing.
3/14/10
Version 7.34
* ClassPag now supports EPS files with the BoundingBox at the end
in the trailer.
* The readcsv interface program has a new -s option to read sj files.
* Fixed a problem where rcpuniq.sh with ncftp could hang if the
destination host was up but was not running an ftp server.
4/3/10
Version 7.35
* When ClassPag flows line ads into a square-off that is sitting on ads,
it is more careful about calculating the height to flow ads. This fixes
a problem in square-offs positioned to the top that contained display ads
at the top of the square-off.
* When a square-off had "Pack in Any Column on Page" enabled and did not
have a first or last page number, ClassPag would change the "Overflow
Position" to "L". ClassPag no longer changes the "Overflow Position"
if the square-off has a value entered in "Before Square-off".
A square-off that comes before another square-off must have an
"Overflow Position" of "F".
* The pie chart in the "Ad Area" tab now uses a gif instead of a jpeg
to show a cleaner image.
NOTE: The spice 4GL now uses "lout" to build the chart in the "Ad Area"
tab of the wide screen version. If you use the wide screen version
of ClassPag, you should install "lout".
4/28/10
Version 7.36
* The product configuration screen "Display Ad Specifications (Continued)"/
"Especificaciones de Avisos Destacados (continuado)" has a new field
"Use display ad cut rules if converted"/"Usar lineas horiz. de avisos
destacados si convertido" to control how ClassPag selects horizontal
rules for external agate ads when the product configuration requests
converting display ads to agate ads. The default value of "Y" continues
to draw rules as if the ads were still display ads. The value "N" draws
rules as if the ads were agate ads.
* When you kill a filler inside a pagination session, ClassPag now
adds the text "killed in session" to the note in the access log file.
This can help identify if an operator removed a filler from a setup
window or by clicking on the "Delete ad from paper" button.
* The readcsv interface program has a new -a option with -p and -s
to make all type 4 and 7 ads into agate ads. By default, readcsv
leaves them as display ads if they are more than one columns wide.
* ClassPag now accepts one and two letter color codes from the sort
file in the first color name field if the color type is "spot" and
the second and third fields are empty.
* Merged the loadkit.sh GUI install script from Layout.
* Fixed a problem swapping saved columns when exchanging pages.
* Added Bob's changes to the NWG interface.
If xx is the product given in the -m option (re, em, jf) and cdir
is the configuration directory given in the -c option and the file
nwxx_pointsize.cfg exists in /u/cdir, readnwg generates nwxx_pointsize.ptn
in /u/cdir/patterns, using generic_genps.ptn as the generating pattern.
The format of each line of nwxx_pointsize.cfg is:
Style=style-number,point-size,slant-percentage,font-name
where style-number is a video mode number from 1-8, point-size is the size in
points for characters in that style, slant-percentage is the amount of slant
for characters in that style, and font-name is the font to use for characters
in that style. Changes to the styles used for text in the tabbed line can be
made by editing nwxx_pointsize.cfg instead of by editing nwxx_pointsize.ptn.
The cfg file is easier to edit, since the values in the ptn file are embedded
in composition markup instead of simply sepearated by commas.
6/3/10
Version 7.37
* When you view an ad, if the "Current Page" spread exists, ClassPag
now hides comments if the "Add PS Comments" field is "HIDE".
The postscript generated by MS Word writes messages to the console
that show in the ghostview message window. Setting "Add PS Comments"
to "HIDE" will now ignore the message when viewing an ad the same way
that ClassPag already ignores the messages when viewing the current page.
* The readcsv interface program has a new -l option to omit the header line.
This makes it easier to write a script that creates a sort file from
several dump files.
* The readcsv interface program has a new -j option to read sjn display
ad files.
* The setbb program has two additional options, -f and -c.
-f reads the bounding box from a %%BoundingBox comment in a file.
When you specify -f, the syntax is "setbb -f bbfile epsfile".
The bb file should contain a complete "%%BoundingBox: # # # #" comment.
The bb file may contain a limited number of other lines.
If the bb file name is "-", setbb reads standard input.
This option is designed to read the output of the gs bbox device.
-c clears other comments like DocumentMedia that appear before the
BoundingBox line in the eps file. Use this option if other programs
that will parse the updated file give priority to the %%DocumentMedia
over the %%BoundingBox.
* ClassPag now includes the loadkit.sh GUI install script from Layout.
loadkit.sh has several advantages over loadtape.sh.
It finds the most recent install file.
It can install a new version of the SCS 4GL (if the ClassPag
installation file includes the SCS 4GL installation package).
The maketar.sh script has a new -toolkit option to make a ClassPag
installation file that includes a copy of the SCS 4GL installation
package for use with loadkit.sh. If you specify this option, maketar.sh
looks in /u/dist/spice-toolkits* and then /u/install/spice-toolkits*
to find the 4GL installation package.
* Expressions for banners, folios, print commands, and outext export
commands can now use the new numeric variable PaperId. PaperId has the
value of the outext publication id if it is non-zero, otherwise it has
the paper number from the first screen of the product configuration if
it is non-zero, otherwise it is 1.
* Fixed a problem with the paper and edition numbers in the outext header.
If the sort file has an empty or 0 paper number, ClassPag now uses
the value from the product configuration instead of writing "1".
If the sort file has an empty or 0 edition number, ClassPag now uses
the edition value from the edition parameters instead of writing "1".
7/6/10
Version 7.38
* Fixed a problem when unwapping WORD5 ads with the "P" option where
lines would sometimes lose words at the end.
* Fixed a problem when unwrapping WORD5 ads with the "C" option where
an ad that started the second leg with an indented line could have
normal lines in that leg shifted too far left.
* The "Write ad list" field in the printer configuration has a new value
"XG" that works like "X" except that it marks all pages as black and
white (the cmyk color field is "0004"). This can be helpful when
sending a page with a color ad to a black & white location in the
editorial system. This value affects only the report. The generated
eps might still contain color.
* The ELP interface now sets the size of the top level logos to the size
of the corresponding /u/logos/logo098*.EPS file instead of hard-coding
the size to 108 postscript points.
* ClassPag scripts now use $SCSRootDir instead of /u. This allows
some parts of the SCS 4GL to be located in an alternate directory.
* setup.sh now ignores SCRATCH if it is set but does not contain "cpag".
This avoid problems with the new /u/scs/spicedef which sets SCRATCH
to ${SCS_ROOT}/scratch.
* Merged loadkit.sh with Layout.
7/13/10
Version 7.39
* Improved the justification of one-column ads between two multi-column ads.
In sequences of three or less ads one-column ads, ClassPag would sometimes
shift the top ad while aligning the bottom ad. ClassPag now keeps both
the top and bottom ads aligned.
* Improved the placement of fillers inside a sequence of one-column ads
between two multi-column ads. If the one-column ads have a large enough
amount of extra space, ClassPag will place a filler.
* Fixed a problem with justification when a segmented ad was above a
multi-column ad.
8/18/10
Version 7.40
* Improved the justification of stacks of multi-column ads of the same width.
ClassPag now adjusts the space equally instead of leaving most of the space
between the higher ads.
* The book name database has a new field "Section Ordinal"/"Ord de sección"
to set a numeric section ordinal for outext records in the field on columns
3-4 of card 4. The value in this field currently has priority over the
product configuration "Section name" parameter on the "Outext Export".
* Added a "redirect" option to runcpag.sh to add standard output to the
log file. This can be helpful when matching diagnostics on standard
output with messages written to standard error. If you use this option,
interactive commands in the background xterm might not work because their
output will go to the log instead of to the screen.
* Added a "test" option to runcpag.sh to paginate and open a page display
with no user intervention, and on closing the page display, to quit without
saving any changes. At the end of the pagination, ClassPag writes a log
which runcpag.sh scans for error messages.
* Added a "testdebug" option to runcpag.sh that is equivalent to the
combined options "cpagdebug" and "test".
* On ext4 filesystems, ClassPag now initializes files internally instead
of running the makerecs utility
* loadtape.sh now checks that the currently installed version of the tools
is recent enough to run the new version.
* loadtape.sh has a new -batch option that works like -yes but does not
ask any questions. -yes will still ask questions if it detects problems.
-batch will cancel the installation.
* Improved the justification of small stacks of one-column ads between
two multi-column ads.
* Improved the justification of stacks of multi-column ads of the same width.
* Fixed a calculation when placing a filler between two multi-column ads.
* Fixed a calculation when lining up ads below a multi-column ad.
* Fixed a calculation placing island ads in products that have
a liner flow depth less than the page depth.
8/23/10
Version 7.41
* The setbb -c option now checks for comments after the BoundingBox.
This fixes a problem where setbb would not change how a file appeared
if it had a HiResBoundingBox comment after the BoundingBox comment.
* testcpag.sh now passes all of its parameters to runcpag.sh.
* Merged rcpuniq.sh with spice version.
* Added Bob's change to the NWG interface.
Added new patterns for the CF product.
Reduced the column width from 122.4 to 122 and the ideal spaceband from 38 to 26
in generic_genps.ftx.
9/29/10
Version 7.42
* The product configuration screen "Vertical Spacing Specifications"/
"Especificaciones de Espaciado Vertical" has a new field "Center"/"Centrar"
to center short stacks of single-column ads between wide ads or the bottom
of the page. For example, if a square-off at the bottom of the page has
one ad below it, ClassPag will normally place the ad at the bottom of the page.
If "Center" is enabled, ClassPag will center the ad between the square-off
banner and the bottom of the page. The "Center" parameter takes precedence
over other parameters to justify or align ads. The default value is "N"
so that ClassPag justifies and aligns ads as before. You must set it to "Y"
to center ads.
* The product configuration screen "Display Ad Specifications (Continued)"/
"Especificaciones de Avisos Destacados (continuado)" has a new field
"Float... to bottom?"/"Hacer flotar hacia la parte... inferior?".
The default value of "Y" places the bottom ad each a column on the bottom edge
of the page, which is what ClassPag always did before. If you set this field
to "N", ClassPag will sometimes place leading below the bottom ad in a column.
* The product configuration screen "Ad Loading"/"Cargar de Avisos"
has a new field "Get Ads Command"/"Comando a Cargar" to specify a
command that ClassPag should run before opening a list of import
directories. If the front-end does not place files in the directories
that ClassPag expects, you can use this command to run a custom
script to move the files.
* The product configuration screen "Display Ad Dummying Style (Continued)"/
"Estilo de Diagramacion de Avisos Destacados (continuado)" has a new field
"Maximum Copies Per Column"/"Copias maximo por columna" to specify the maximum
number of times that the same filler can appear in a column. If you set this
field to "1", ClassPag will not place two copies of the same filler in the
same column. The test counts only the first column of multi-column fillers.
* The product configuration screen "Display Ad Dummying Style (Continued)"/
"Estilo de Diagramacion de Avisos Destacados (continuado)" has new fields
"Maximum Fillers Per Page"/"Rellenos maximo por pagina" and "Per Column"/
"por columna" to specify the maximum number of fillers on a page or on a
column. These fields limit the total number of fillers, while the
"Maximum Copies" fields limit the number of copies of the same filler.
* Fixed a problem in the page display when pressing home or control-a
on an empty page.
* ClassPag now locks out users while updates started by loadkit.sh
are in progress.
* Merged loadkit.sh with Layout.
* Added Bob's changes to the CF product.
Changed style 2 in nwcf_pointsize.cfg to use UNVEB instead of UNVCB.
Created a CityUpper component in readnwg, which is the same as City.
The last four digits of classification for CF ads is no longer 0000.
Now it is the four digits found at the end of the subclass-code tag for the ad.
Changed sort keys for CF ads according to spec sent Sep 15.
* Fixed a problem that could give c-tree internal errors on Linux
with glibc-2.12-3.i686 and a Core2Duo cpu. The database initialization
change from version 7.40 is no longer necessary.
9/30/10
Version 7.43
* When ClassPag searches for the height to flow line ads in a square-off,
it now checks that it is within 1/10 of a point of the best value.
This produces better results with wide square-offs that have only
a few ads in each column.
* Fixed a problem with banner placement when "Expand Square-Offs to Width" was
enabled and a square-off didn't have enough ads to fill its requested width.
If the square-off had a smaller banner, ClassPag would build the square-off
to a smaller size, but it would still place the larger banner.
If a square-off doesn't have enough ads to fill its requested width and if the
expand parameter is enabled, ClassPag now builds the square-off to the largest
width possible.
* When the "Center" justification field is enabled, ClassPag now additionally
centers one-column ads that have a lot more space on one side than on the
other side.
9/30/10
Version 7.44
* When the "Center" justification field is enabled, ClassPag now additionally
centers multi-column ads that have a lot more space on one side than on the
other side.
10/14/10
Version 7.45
* ClassPag can now wrap PDFs when poppler pdftops is installed.
ClassPag used to work only with xpdf pdftops.
* ClassPag now allows PDFs of wrapped ads to be 20% longer than the
reservation in the sort file. ClassPag used to ignore segments
past the reservation (counting from the top down). This allows
ClassPag to work better with front-ends that report incorrect
reservations for long ads.
10/27/10
Version 7.46
* Added Bob's au patterns for the auto class of the CF product.
* The ELP interface now allows C/#### and C##### in the ORDEN field
of the enviar.dbf to specify class numbers of in-column display ads.
The CAB### syntax is still supported, but the new formats allow
longer class numbers. For example, "CAB345", "C/345", "C/0345",
"C345", "C0345", and "C00345" are all equivalent.
* Fixed a problem where ClassPag would sometimes not let you drag ads
on a page with a two-column header on non-divisible column.
* Fixed a problem where dragging a two column ad over a wider ad in
a class that had only two column headers could place an extra header.
11/12/10
Version 7.47
* ClassPag and SCS Composition have improved support for RGB color.
This can be useful when producing pages that will primarily be viewed
rather than printed. It is also useful when producing black and white
pages that contain generated RGB items.
The Composition commands BB (begin background), CM (set cmykg for text,
rules, and spaces) and CN (draw corner) now support RGB in addition to CMYK.
In parameters that usually take "c,m,y,k,g" values, you can now use the
syntax "r:R,g,b,0,g" where the ":R" modifier indicates RGB instead of
CMYK and the fourth component is ignored. The "g" value specifies the
gray level if ClassPag sends the page to a black and white device.
For example, composition command
<cm 0:R,100,0,0,10>
sets 100% green that shows as 90% black on black and white pages.
The :R modifier requires Composition from November 14, 2010, or later.
ClassPag also defines a new postscript operator cp_setrgbgcolor that
is similar to cp_setcmykgcolor. You can use this operator in Composition
PC commands and in hand-coded postscript files.
For example, the postscript command
0 1 0 0.1 cp_setrgbgcolor
sets 100% green that shows as 90% black on black and white pages.
* The command to find matching quotes in the editor now works with < and >.
* rcpuniq.sh has a new -yafc option to use yafc "yet another ftp client".
http://yafc.sourceforge.net/
* rcpuniq.sh -x now shows more trace information.
* Fixed the syntax of the lftp command to enter passive mode in rcpuniq.sh.
* Added Bob's updated interface for the auto class of the CF product.
12/12/10
Version 7.48
* ClassPag now warns about PDF files that are not usable for color separations.
Ads linked to these PDFs will show the flag "BAD_PDF".
When ClassPag generates a color separation containing these PDFs, it will
warn about the PDF as a missing image. The missing image list will show
the ad with the comment "(BADPDF)".
The new warning does not affect the postscript that ClassPag writes.
ClassPag will place the PDF on the page, as it did before.
The warning only shows that the ad might render incorrectly.
This feature requires a version of the pdftops program with the enhancement
attached to https://bugs.freedesktop.org/show_bug.cgi?id=31926
to report rendering issues by writing a "HasColorPattern" comment
in the trailer of the generated postscript.
* Updated the reports in the page preview under Cmd -> Reports... to work
better with 16 character ad numbers. The "Report of Killed Ads, All Books",
"Report of Missing Ads with Names, All Books", "Report of Conflicts",
"Report of Missing Ads", "Report of Missing Ads with Names",
"Report of Incorrectly Sized Ads", and "Report of Position Requests"
now show the full ad number.
This should be helpful with interfaces that pass ad numbers with more than
ten characters.
* The Cmd -> Reports... window now stays open after you select a report.
This makes it easier to view or print several reports in sequence.
You can close the window by pressing the left arrow or the escape key
or by clicking on the close box at the upper right.
* The "Column Balancing" screen of the product configuration (currently #20)
has two new fields "Reduce display ads... and from"/
"Reducir avisos destacados... y desde" and "to"/"a" to specify a second range
to reduce ads. If any ad has a depth less than or equal to the "from" value
and greater than the "to" value, ClassPag reduces the ad to the "to" value.
These new fields work the same way as the previous "from" and "to" fields
except that if an ad matches the range in the first set of "from" and "to"
fields, ClassPag does not test it again with the second set of "from" and
"to" fields. As an example, the first set of fields could be used to reduce
ads that are close to the full height of the page, and the second set of
fields could be used to reduce ads that are slightly more than half of the
height of the page.
* ClassPag now sets a better window size on consoles of systems running
recent versions of Fedora Linux. setup.sh detects that the X server
returns the vendor "Fedora Project" and treats it like X.Org.
1/18/11
Version 7.49
* The "Create Separations"/"Crear Separaciones" field of the
"Paper Definition"/"Definicion de Papel" now treats empty values
and the value "F" as "NO" instead of as "PLATE".
This makes the values match their names and fixes some problems
with PDF files. "PLATE" generates separations only when at least
one of the ads on the page has a DCS PlateName section.
Since this format is used very rarely, "PLATE" appears to work
the same as "NO", except that when a page has a PDF, ClassPag
writes a Level 1 EPS with "PLATE" but a Level 2 EPS with "NO".
The conversion to a Level 1 EPS can sometimes drop PDF features
like masks made from color patterns that are not directly supported
in Level 1. Treating an empty value as "NO" instead of as "PLATE"
allows ClassPag to use a Level 2 EPS which will produce better
results on pages with PDF files.
* ClassPag no longer clips ads with the "bleed" flag set. You can set the bleed
flag at column 132 of the sort file or with the two character code "BD" in the
position request field at columns 102-107 of the sort file.
* The banner setup screen has a new "Bleed" field to specify that a banner
bleeds outside its bounding box and should not be clipped. The value "Y"
specifies that the banner bleeds. An empty value or the default value of
"N" specifies that the banner does not bleed.
* pdftops from poppler-0.15.3 is available. It has all of the SCS patches
from the June 30 snapshot plus three more changes.
When generating Level 1 separable output, when it finds a color image mask
(which is currently not implemented for Level 1 output), it writes the comment
"% HasColorPattern" in the trailer. ClassPag 7.48 checks for this comment and
warns you that the ad might be bad.
It has support for black & white image masks with Level 1 and Level 1
separable output.
The loops that write bitmaps for Level 1 and Level 1 separable output were
rewritten, and pdftops processes some files almost 10 times faster than before.
The pdftoppm now has an option for tiff output.
The new pdftops and pdftoppm require CentOS 4.8, RHEL 4, Fedora Core 3
or higher.
* Updated the ESC interface.
Added Brian's esc_data_transfer.sh script to copy PDF files from /lo_ads/DD
(where DD is the two-digit day of the month) to EPS files in /u/cpag/root/cache.
Added Brian's esccln.sh script to remove old *.ps files from /u/cpag/root/cache/
Updated makeesc6.sh with Gary's changes to the "pag" script.
* Included Bob's fix for auto ads in the CF interface.
1/27/11
Version 7.50
* Fixed a problem that would sometimes would not place enough segmented ads
in a column with classes that required sort key matching.
* Improved the packing of classes that have many segmented ads that are longer
than a column but none longer than two columns.
2/2/11
Version 7.51
* The "Paper Definition"/"Definicion de Papel" screen has a new field
"Gray"/"Gris" to force gray scale pages depending on the color requests
of pages. (The color requests are the values that users enter on pages
and not the colors of the ads on the page.) If you have both color and
black and white versions of headers and banners, this option allows
ClassPag to select the appropriate versions of the headers and banners
depending on the color assigned to the page. Before this change,
you had to be aware of the color on the page and print color pages with
a paper entry with "Create Separations" of "NO" and black and white
pages with a paper entry with "Create Separations" of "GRAY".
With the new "Gray" field, ClassPag can make this decision automatically.
ClassPag makes the decision on each page, so you can use this option
to generate a PDF an the entire edition, which was not possible before.
The "Gray" field can have the values "NO", "REQNOCOLOR", and "REQNOFULL".
"NO" is the default and works as before to create normal pages.
"REQNOFULL" uses the -BW versions of images and the gray versions of
setcmykgcolor and setrgbkcolor if the page does not request full color.
Use this option for pages with banners or class headers that have
variants for color and gray scale when the banners or class headers
have full color and need the gray scale versions on pages with spot
color or one or two process colors. With this usage, display ads
should not have -BW variants.
"REQNOCOLOR" uses the -BW versions of images and the gray versions
of setcmykgcolor and setrgbkcolor if the page has no requested color.
Use this option for pages with banners or class headers that have
variants for color and gray scale on pages that will be printed
in black and white.
With both options, if the page has no requested colors, ClassPag also
redefines some color operators to gray scale versions, which should
prevent most color text and some color images from passing through.
* When ClassPag looks for gray scale versions of files for ads, it first
looks for the normal color version of the file and appends "-BW".
If it does not find a gray scale file, and if the original name had an
extension, it now also tries placing the "-BW" before the extension.
For example, if the image for ad 123 is "123.eps", ClassPag used to look for
"123.eps-BW". If that file does not exist, ClassPag now tries "123-BW.eps".
This allows gray scale files to have normal extensions.
When ClassPag checks for a -BW file, it starts with full path to the
normal file and adds -BW. The -BW file must be in same directory as
the normal file. ClassPag does not do a new search through the list
of ad directories, since that can be expensive, especially if the
ad directories are network mounts.
ClassPag also tries placing -BW before the extension when resolving
OPI references that have a unix path name like
%SCSInclude: /u/displayads/logo.eps
* When the last page of the edition parameters is not set, ClassPag now
sets it to an estimated size using the same calculation as the "Area"
hotkey in the classification selection window.
* The "Copy or Link from directories" fields on the "Ad Importing" screen
of the product configuration now all default to "C" to copy files.
The import option used to default to "L" to link files.
On older systems, linking was faster and saved a small amount of disk space,
but on current systems, the difference is not worth the risk of modifying
the original file through the link.
NOTE: The changes for gray scale pages required changing the order that
ClassPag writes some of the objects on pages.
2/7/11
Version 7.52
* The "Folio Text"/"Texto de folio" screen has a new field "Use Display Ad
Classes"/"Usar Clases de Avisos Destacados" to control whether the
First/Last-Class-Name/Title variables of folios check all of the ads on
the page or only the sequence of agate ads. If the field is checked,
ClassPag looks at all of the ads on the page. If the field has its
default value of unchecked, ClassPag looks at only the line ads.
This field can be useful on products where many classifications are
entirely display ads.
* The classification list has a new command option
"Update Class Titles From Class List"/"Actualiza titulos de clases desde
la lista de clases" to update the class titles using the values from
the classification list in Setup->Set Class Names.
This can be useful when printing folios that use classification titles
when the interface file does not pass useful titles.
* The color lists in the "Set Class Colors" and "Set Ad Colors" in the
ClassPag setup now show a column with a preview of the color and a column
with the luminance.
* Folio text items now have a "Side" with "BOTH" in addition to "ODD" and
"EVEN". Each "BOTH" item works as if they were additional "ODD" and "EVEN"
items. For example, if odd and even pages have identical templates, you
can create a single TEMPBOTH item instead of TEMPEVEN and TEMPODD items.
Using the BOTH version of items when possible reduces the amount of folio
setup and maintenance.
* Folios can now locate the largest square-off on a page.
To request the largest square-off on a page, set the variable
O_CPagUserPageNumber to the absolute page number (the page number
that would show if there were no books). Then the variable
I_CPagMainSquareOffOnUserPage will return the name of the
largest square-off or an empty string if the page has no square-offs.
For example, a folio expression could start
O_CPagUserPageNumber := PageNumber;
and then use
(I_CPagMainSquareOffOnUserPage = "")?
"":
("Square off: " // I_CPagMainSquareOffOnUserPage)
* Folios can now identify the position of a square-off from the lower
left corner of a page. To request the position of a square-off,
set O_CPagUserPageNumber to the absolute page number of the page and
O_CPagUserSquareOffName to the name of the square-off. Then the variables
I_CPagUserSquareOffMinX, I_CPagUserSquareOffMaxX, I_CPagUserSquareOffMinY,
and I_CPagUserSquareOffMaxY will contain the location of the square-off in
centi-points (units of 7227 per inch). For example, the expression below
will show the page number and the square-off, and if the page has a square-off,
it will show the position of a square-off and then write the square-off's name
inside the square-off with the letters scaled to fill the square-off.
Since you can not move up or left from the starting point of the composition
block, you should position the folio text item at the upper left of the page
so that you can use <el> to move down and <fs> to move to the right.
The variable I_CPagColumnDepth contains the column depth in centi-points,
which can be useful when calculating the parameter to <el>.
If you test the example, note that folios use the photodef "eps" device,
and the maximum point size and set size (list as "Pt Size" and "Set Size"
under "Command Parameters") are often 500 points. Before testing this example,
increase them to 2000 points or at least to the page size.
O_CPagUserPageNumber := PageNumber;
O_CPagUserSquareOffName := I_CPagMainSquareOffOnUserPage;
"<dc 20i><cc 1c,hv,20,20,0>Page " // BookPageNumber //
" SquareOff " // I_CPagMainSquareOffOnUserPage //
((I_CPagMainSquareOffOnUserPage = "")?
"":
" " // I_CPagUserSquareOffMinX // " " // I_CPagUserSquareOffMaxX //
" " // I_CPagUserSquareOffMinY // " " // I_CPagUserSquareOffMaxY // "<ql>" //
"<el " // ((I_CPagColumnDepth - I_CPagUserSquareOffMinY) / 100) // ">" //
"<fs " // (I_CPagUserSquareOffMinX / 100) // ">" //
"<cf hv," //
((I_CPagUserSquareOffMaxY - I_CPagUserSquareOffMinY) / 100) // "," //
((I_CPagUserSquareOffMaxX - I_CPagUserSquareOffMinX) /
(100 * f$length(O_CPagUserSquareOffName))) // ",0>" //
O_CPagUserSquareOffName
) //
"<ql>"'
2/14/11
Version 7.53
* If a square-off includes both line ads and display ads, if the square-off has
any multi-column line ads, ClassPag now packs them as if they were display ads.
2/16/11
Version 7.54
* The "Page Numbers"/"Numeros de Paginas" screen of the product
configuration has a new field "Rebuild in preview"/"Rehacer en prever".
If "Rebuild in preview" is "Y" (the default value), when you view a page
in the page preview screen, if ClassPag detects that the folios are old,
it rebuilds them or asks to rebuild them, depending on the setting of
"Rebuild folios automatically".
If "Rebuild in preview" is "N", ClassPag does not rebuild folios until
you run "Cmd -> Print pages".
* The "Page Numbers"/"Numeros de Paginas" screen of the product
configuration has a new field "Warn if folios not made for ads"/
"Avisar si los folios no se hacen por avs".
If "Warn if folios not made for ads" is "Y", ClassPag considers that the
folios are old if you have flowed ads since the last time that the folios
were built. You should use this option if the folios show information
that depends on the classifications or the square-offs on pages.
The default value is "N". You should use "N" if the folios depend only
on items like the section names and run date and are independent of the
ads on the page.
* The "User Preferences"/"Preferencias de Usuarios" screen of the product
configuration has a new field "Unflow... Converted Display Ads"/"Desfluir...
destacados convertidos" to control whether ClassPag unflows display ads
that have been converted to agate ads when the product was imported.
The "Box Info" window shows the type of these ads as "DISPLAY_AD/AGATE_AD".
The default is "N" to unflow these ads, which is what ClassPag always did
before. The value "Y" keeps these ads.
When these ads are set not to unflow, when you remove them from a page,
ClassPag adds them to the paste list. Since the ads are agate ads in
the database, the field "Paste ad list... Show Agate Ads"/
"Comando para traer avisos... Mostrar lineales" should be set to "Y".
This allows you to drag and paste these ads as if they were display ads
without changing how ClassPag treats normal agate ads.
2/17/11
Version 7.55
* The commands "Cmd -> Pages -> Redummy the page" and
"Cmd -> Pages -> Redummy the page flat" now support pages with
converted display ads when converted display ads are set not to unflow.
Using the command on pages with converted display ads used to return a
warning that the converted display ads prevented redummying.
* The "Start Request"/"Iniciar Solicitud" of the classification database and
the classification fixup database has a new value "P" to start on a new page.
It is similar to "T", except that it allows compatible ads on the page, while
"T" searches for an empty page. If the class has display ads and you usually
adjust the position of the display ads, when you reflow the line ads, on a
class with a start request of "P", ClassPag will place the line ads over
manually placed display ads of the same class, while on a class with a start
request of "T", ClassPag will advance to a page with no ads in the first column.
* If two different classes have no class headers in the class or in any
parent classes and if either class has a request to start on a new page or
a new column, ClassPag no longer considers that the classes are compatible.
Since most products have class headers and since few products use start
requests, this should affect very few products.
* Fixed a problem where ClassPag would sometimes report that a class header
was a CLASS_PG conflict when it was above a header of a child class.
2/23/11
Version 7.56
* The "Randomize"/"Aleatorio" field of the classification database has a
new value "J" to pack ads as tightly as possible. It takes all agate
and display ads in the class.
* Fixed a problem with the justification of multi-column ads that could
sometimes lead to overlapping ads,
* Included Bob's changes to the NWG RE and CF products.
nwkimage.sh now takes a "-density [ density-value ]" option.
readnwg now supports ad-content in RE ads created in early 2011.
The ad content is everything between an XML tag that specifies
the Swiss721BT-Roman font and the ensuing </font> tag.
<br>'s results in quad lefts, as in CF.
<b> changes to bold, and </b> returns from bold.
The new RE code loads a table from a text file and uses the
table to derive the ad type from the XML tag and value.
2/28/11
Version 7.57
* The "Ad and Class Conversions (continued)"/"Conversion de avisos y clases
(continuado)" screen of the product configuration has a new field
"Partial page filler class"/"Clase de rellenos para paginas partiales"
to set a classification that should be used when filling partial pages created
when a class finishes and the next class has a request to start on a new page.
Ads in the subclasses of the filler can also be used as fillers.
ClassPag will run each ad only once. When ClassPag reaches the page where
the filler class would fall, it places all of the remaining ads that have
not already been used as fillers.
* Banners can have a new "Split Overflow"/"Partir Exceso" value of "B"
to specify a banner that should be used as a bar to separate main
classes from partial page filler ads on partial pages.
In the banner record, set
Banner Number to a unique name, preferably containing the class id
Type to "P"
Class to the partial page filler class
Square-off to the partial page filler class
Default Image Id to any image id of the banner
Default Count to "1"
Position to "E"
Overflow to "F"
Split Overflow to "B"
Overflow Position to "P"
The other fields can be empty.
* Packing with "Randomize" value "J" now places more color ads
on color pages.
* Packing with "Randomize" value "J" now includes all subclasses.
All of the ads are combined into a single pool. If the ads in subclasses
must remain separate, use the class nesting to move the subclasses.
* Included Bob's changes to the NWG RE product.
New XML tags used are contact-no, attn-grabber, co-logo, ear-call.
There are two formats, one with text below 0-4 photos and the other with text
to the right of 1 photo. The choice of formats and the maximum number of
photos is determined by tags and values specified in the configuration file
esadtypes.txt in /u/newark.
The photo URLs are obtained by parsing the ad-content tag, looking for strings
that start with http://view and ending with .JPG outside of HTML tags.
The ad text is obtained by parsing the ad-content tag, looking for text
between <font face="Swiss721BT-Roman" size=2 color="#000000"> and </font>.
Any <br> tag becomes a quad left; any text between <b> and </b> becomes
bold; otherwise, HTML tags are ignored and HTML escape sequences are made
into the text that they stand for.
Major classifications come from the class-code tag, but the mapping from
tag values to class numbers is not hard-coded; instead, it is specified
in the configuration file esclasses.txt.
Minor classifications come from the number in the subclass-code tag.
The sort key is town/price, with price descending. Ads with empty values
are put last in the sort order.
The conversion for attention-getter, company logo, and ear images does
not use -density 72.
makenwk.sh has a new -xmles option for the new es product.
3/2/11
Version 7.58
* Added a "Bar" comment after the "Split Overflow" field in the banner form.
* When classes with Randomize "J" have segmented ads, ClassPag now saves them
for the end instead of mixing the segments with the other ads.
* Fixed a problem where classes with Randomize "J" would not go to a new page
if they had no line ads.
3/7/11
Version 7.59
* The page display menu under Cmd -> Position has two new options
"Position class after" and "Position class before".
After selecting one of these options, if you drag any ad from one class over
any ad from another class, ClassPag will change the order of the classes to
make the first class flow after or before the second class.
* The "User Preferences"/"Preferencias de Usuarios" screen of the product
configuration has a new field "Enable... Drag class button"/
"Habilitar boton... para traer clases". The field defaults to "N".
If the field is set to "Y", ClassPag shows a "Drag a class"/"Traer clase"
button on the tool bar of the page display. Clicking on the button is
the same as selecting Cmd -> Position -> Position class after.
* Ads packed in classifications with "Randomize" of "J" now show
a placement reason of "Dummied Class" instead of "Auto".
* The "Display Ad Dummying Style"/"Estilo de Diagramacion de Avisos Destacados"
product configuration screen has new fields to place left and right ears on
odd and even pages. This is currently implemented only for classes with
"Randomize" of "J".
3/14/11
Version 7.60
* ClassPag now assigns pages to classes with a Start Request value of "P" and
a Randomize value of "J" in order to place all of the color ads on color page.
If you touch any page with one of these classes, you should lock all pages
that contain ads from the class.
* The "Start Request"/"Iniciar Solicitud" of the classification database and
the classification fixup database has a new value "N" to start on a new page.
"N" works like "P", except that classes appear in order, while classes with
a Start Request of "P" and a Randomize value of "J" may appear in whatever
order is necessary to satisfy color requests.
* ClassPag now shows banners with class bars with the flag "CLASS_BAR".
This helps to separate them from normal banners.
* Class bar banners no longer go away when you unflow ads.
* The "From" and "To" classes in the page information window are now more
accurate for top level classes that have only display ads and for the user
filler class and the partial page filler class.
* The "Color Pages" list and the "Page Information" list have a new hot key
to set the current page to full color.
* The "Color Pages" list and the "Page Information" list now have tool bars.
The "Color Pages" list is now on the left instead of the right to move the
list closer to the tool bar.
* Included Bob's updates to the NWG RE interface.
3/17/11
Version 7.61
* Folios can now locate the largest class on a page and the largest
top-level class on a page through a new set of variables similar
to the variables for square-offs added in version 7.52.
To request the largest class, set O_CPagUserPageNumber to the
absolute page number. Then the variable I_CPagMainClassOnUserPage
will return the largest class on the page (the class with the most
area) and I_CPagMainTopClassOnUserPage will return the largest
top-level classification.
To locate a class on a page, set O_CPagUserPageNumber to the
absolute page number and set O_CPagUserClassName to the class.
Then the variables I_CPagUserClassMinX, MaxX, MinY, MaxY: Number
* ClassPag can now place column headers for classes that are
packed with Randomize "J". The class should have a header for
each possible width, and the headers should all be the same height.
+---------------------------[ Banner Ad Setup ]-----------------------------+
| Banner Number H1000_____ |
| Type P Primary (Page Top), Base (Page Bot), Request Page, |
| Secondary (Service Directory), Wide (A Head) |
| Description Dining Class Head_____________ |
| Class 1100____ Square-off 1100 Include Liners _ Displays _|
| Default Image ID 1____________ Edition __ Place below heads _|
| Default Count __1 Page Number ____ From _ Col Number __ Ord _|
| Position E First, Every, Anywhere once, Last, Template Spacer _ |
| Overflow F Split next page, Full next page |
| Split Overflow C Hor, Vert, Full width, Class, Repeat, Parent, Main, Bar|
|Overflow Position L First, Last Bleed N Template Pages O _ F _ L _ |
+---------------------------------------------------------------------------+
3/20/11
Version 7.62
* Improved the placement of ads in the partial page filler class.
More ads come near the front of the edition, and color ads have a higher
priority for color pages.
* Improved the placement of agate ads in classes that are packed with
Randomize "J". If the class has any subclasses with agate ads, the
agate ads are flowed instead of packed to keep the classes separate.
* Ads in the partial page filler class no longer show as class conflicts
and no longer cause normal ads on the same page to show as class conflicts.
* Increased the time limit of the calculation to fill pages with ads.
This should produce better results when packing a large number of ads.
* Added Bob's update to the NWG XML interface to fix a problem where the
first ad didn't get a photo.
3/22/11
Version 7.63
* ClassPag now adds leading when it places ads in classes that are
packed with Randomize "J".
* ClassPag now places ads from the partial page filler class on pages
that only have fillers. This improves the packing of pages that have
position requests from ads in the partial page filler class.
* ClassPag now gives color ads more priority in classes that are
packed with Randomize "J".
* The list to set the number of pages to show in the page display
has additional entries that can be useful on editions with a large
number of pages. The line for each entry also shows the total
number of pages.
* Merged loadkit.sh with the Layout version that has changes to work
better on older shells.
3/22/11
Version 7.64
* The field "Fill Front Page"/"Llenar Pra. Pag." of the classification
database has a new value "C" to avoid placing column headers on both
agate ads and display ads. It works like the value "B" to avoid
placing column headers on display ads except that it also applies
to agate ads.
This field is the best way to suppress column headers for a specific class.
Setting the "Split Overflow" field of a banner record to "M" says that a
class has only main headers but allows ClassPag to take column headers
from a parent class.
* Display ads that are the full height of a column no longer show
a conflict for missing class headers.
* Added Bob's update to the NWG XML interface to fix a problem with
trailing spaces.
3/23/11
Version 7.65
* ClassPag now supports class-relative request for classes that
are packed with Randomize "J". In addition, if the Start Request
is "P", ClassPag supports one color ad with a numeric class-relative
request and assigns the class a starting page so that the ad's
requested page is color.
* The hotkeys to remove color in the "Color Pages" list and the
"Page Information" list are now called "Set the book sizes" instead
of "Delete" and no longer open a dialog to ask if you are sure that
you want to remove the color. The tool bars have a new icon with
overlapping black and white circles.
* The pagination statistics screen now shows the number of dinks.
The number of dinks can help when checking for discrepencies in ad counts.
* The Box Information window for class headers now shows "TopAgHdr"/"CabLinArr"
when a class requests no column headers over agate ads and "TopDispHdr"/
"CabDesArr" when a class requests no column headers over display ads.
* Fixed a problem where ClassPag would sometimes leave an empty overflow page.
3/24/11
Version 7.66
* The rule above partial page filler ads is now only the width of the normal
ads on the page. ClassPag used to try to split partial pages vertically or
horizontally to make a rectangular area for partial page fillers, but that is
not necessary, and the partial page fillers can be placed in an L-shaped area,
which uses space more efficiently.
* When ClassPag looks for dink images to embed in banners and it does not find
the image specified in the ad record, if the image name has no extension,
it retries with .eps, and if the image name has an extension, it retries
without the extension.
3/29/11
Version 7.67
* The "Ad Images"/"Imagenes de Avisos" screen of the product configuration has
a new field "Read document comments for color"/"Leer comentarios para color" to
control whether ClassPag reads document comments like "%%DocumentProcessColors"
in EPS files. The default is "Y" to read the comments ads before.
If you set the field to "N", ClassPag keeps the colors set in the sort file.
This can be useful when working with ad makeup programs that write comments
for CMYK color in all EPS files, even if they are black and white.
* The "Paste ad list... Sort" field on the "User Preferences" screen of the
product configuration has a new value "CL" to show the paste list with the
color and class. The various paste lists have a new "Sort by Color and Class"
hot key to switch to this view.
* The "User Preferences"/"Preferencias de Usuarios" screen of the product
configuration has a new field "Paste ad list... Show Fillers"/"Mostrar rell."
to control whether the paste list shows fillers. The default value of "Y"
shows fillers. The value of "N" hides fillers. The paste lists have a
new "Show fillers" hot key to toggle the fillers temporarily.
* The various lists to paste a filler now have a "C" column that shows
the number of colors used by the filler. If you want to see the color fillers,
you should right-click on any field heading in the list,
select "Select columns", shift the "C" field to follow the first item on the
list that fits in the window, reduce the previous fields by a total of two
characters (the Column Selection window will show the message
"The columns up to "C" fit exactly on the first page."),
click on "Apply", and then if the list is the way that you want,
open the Column Selection window and save the current configuration
as a site default.
* The loadfillers.sh script has a new -bw option to load all fillers as black
and white even if the EPS files have document comments that specify color.
* In classes that are packed with Randomize "J", if the class has any segmented
ads, ClassPag now flows all of the line ads. This produces a better packing
of the segmented ads, since ClassPag does not wrap segmented ads around line ads
because the line ads can look like they are part of the segmented ad.
* Increased the number of items that the display filler and agate filler
configuration windows load into memory to the maximum.
* Fixed a problem where ClassPag could loop while trying to place segmented ads.
3/30/11
Version 7.68
* ClassPag no longer splits multi-column class headers when you drag an ad
on a page where you have locked the line ads.
3/31/11
Version 7.69
* ClassPag macro expressions have a new variable I_CPagScopeSquareOffPageNum
that works like I_CPagScopeFirstPageNum except that it takes the smallest
page number of any line ad, display ad, or square-off ad. For example,
in an index style, when some of the classes might be square-offs, use
O_CPagCurrentScope := ClassName,
((I_CPagScopeSquareOffPageNum = 0)?
"":
ClassTitle // " " // I_CPagScopeBookName // I_CPagScopeBookPageNum // "<ql>")
As with I_CPagScopePageNum and I_CPagScopeFirstPageNum, reading
I_CPagScopeSquareOffPageNum causes ClassPag to look up the class id loaded in
O_CPagCurrentScope and to set I_CPagScopeBookName and I_CPagScopeBookPageNum.
* ClassPag now displays a warning after a pagination run where it could
not place all of the classes that are packed with Randomize "J" and
have Start Request of "P".
* ClassPag no longer places partial page fillers on locked pages.
* Included Bob's update to the XML SL interface.
readnwg now allows the optional company logo and attention getter images
to be specified inside the <ad-content> XML tag.
nwkimage.sh now has a -nocache command line option.
4/11/11
Version 7.70
* The class selection window now has an option to show an additional
column with the total color area. This can be useful when calculating
the number of color pages.
The product configuration screen "Ad and Class Conversions"/
"Conversion de avisos y clases" has a new field "Show Class Color Areas"/
"Mostrar areas de color de clases" to add a column in the class selection window
to show the area of color ads. The default is "N" to show only the total pages.
The value in the product configuration sets the default for new sessions.
* ClassPag macro expressions have new variables I_CPagScopeLastPageNum
and I_CPagScopeSquareOffLastPage that work like I_CPagScopePageNum and
I_CPagScopeSquareOffPageNum except that they return the last page instead
of the first page. The variables can be useful in a live index to show the
page range of a classification and in folios to test if the current page
is within a class.
* The Setup -> Set Ad Colors window has a new COLORAD context to assign
a special color to color ads on the page display. This makes it easier
to locate color ads. If the product configuration specifies using the
class color, the border color of the COLORAD context overrides the border
color of the class. The COLORAD context defaults to the NORMAL context.
ClassPag checks the COLORAD context only if at least one ad type uses it.
* When ClassPag counts the number of times that a filler was placed,
if an agate filler and a display filler have the same name except
for a final A or D. ClassPag now treats the fillers as matching.
If you load agate fillers and display fillers automatically from
the same directory, ClassPag will check for matching display fillers
before placing an agate filler, and the paste list of house ads
will include the placement counts of matching agate fillers.
* The page preview has a new optional "Exchange pages" icon. The product
configuration screen "User Preferences"/"Preferencias de Usuarios" has
a new field "Enable exchange button"/"Boton para cambiar pags" to enable
the button. The default value is "N" to omit the button.
4/14/11
Version 7.71
* When ClassPag checks for matching display and agate fillers in
the change in the previous version, the check now works for fillers
with edition suffixes.
* ClassPag now shows a warning if you leave a color name empty
in the "Set Ad Colors" form.
* The control record has a copy of the "Show Class Color Areas"
parameter to remember the settings in each work area.
ClassPag now picks a better default when the control record is not set.
* The "Outext Export"/"Exportar de outext" screen of the product configuration
has a new field "Trim ad numbers at dash"/"Cortar num.av a guion" to truncate
ad numbers at the first dash when writing outext files. It currently applies
only to display ads and agate ads. This can be useful when a site-specific
interface writes suffixed ad numbers.
* Updated some of the tool bar icons.
* Fixed a problem in front-to-back pagination where manual placement
of a display ad and a header of a class in a column before the class
flows could cause ClassPag to think that the header was already placed
and not place a second copy with the line ads.
* Fixed a problem where the calculated ad areas in the classification
selection window could be too high when opening a work area saved with
a version of ClassPag older than version 4.02 from 2004.
* Included Bob's update for the NWK BZ product.
A new readnwk formula replaces the readnwk program.
Both readnwk programs now read the sixth character of the ad depth.
makenwk.sh has two new command line options: -impbz and -impnw.
For -impbz, makenwk.sh runs the formula program readnwk.xfm with command line
option -m bz to convert the imp file into a sort file.
For -impnw, makenwk.sh runs the formula program readnwk.xfm with command line
option -m nw to convert the imp file into a sort file.
For the BZ product, it is necessary to set up the import command
line in the product configuration to call makenwk.sh with -impbz.
For other imp file products, it is not necessary to specify -impnw.
If that is not specified, makenwk.sh runs the C program readnwk to convert
the imp file into a sort file, just as it does currently.
5/3/11
Version 7.72
* The "REQNOFULL" and "REQNOCOLOR" values in the "Gray" field of the
Paper form now work with the "Create Separations" value of "YES".
* The class translation form has a new field "Omit Prefix"/"Omitir prefijo".
If this field is a number from 1 or higher, when ClassPag builds the
new class name, it appends the characters of the old class name from
this position to the end of the new class name.
For example, if you want to map class names like B123 to C123,
you can set "First Class" to "B*", "New Class" to "C", and
"Omit Prefix" to "2".
If the "Omit Prefix" field is empty, ClassPag uses just the "New Class"
as before and does not append any part of the class.
* The Paper form now has a "pdfmarks" field to enable pdfmarks
that provide information about each ad.
* Fixed a problem with "Reduce display ads from" in the "Column Balancing"
screen of the product configuration. If the value was greater than the
column depth, if an ad had a height greater than the column depth, the
ad would not be reduced.
* Fixed a problem justifying ads on products with multi-column headers.
* Included Bob's update for logos in the NWK ES product.
ES ads no longer write the Web: tag if there is no web ID in the XML.
5/4/11
Version 7.73
* The "Gray" field of the "Paper Definition" now has a new value "REQNOCLRG".
On pages with no requested colors, both "REQNOCLRG" and "REQNOCOLOR" use
the -BW version of images and both define cp_setcmykgcolor to show the
gray scale colors.
In addition, "REQNOCLRG" redefines some color postscript operators like
setcmykcolor while "REQNOCOLOR" now no longer redefines any color operators.
If you want to replace as much color as possible with gray scale,
you should use "REQNOCLRG".
If you want to leave color ads in color, for example, to make them easier
to see in proofs or to let the RIP convert them to gray scale,
you should use "REQNOCOLOR".
* The "Write ad list" field in the printer configuration has a new value
"FL" that writes a text file with a list of the filler images on the page.
The list includes all agate and display fillers with external images.
The list has one line per filler, and each line has the full path to the
image of the filler as entered in the agate and display filler databases.
The new sample interface script agefillers.sh shows how to process the files.
The printer "Ad list name" expression should be similar to the example below
to generate a unique name for each page.
"/u/fillerlist/" // f$trim(RunDate) // "-" // f$trim(ProductId) //
"-E" // f$trim(EditionId) // "-Z" // f$trim(ZoneId) //
"-" // f$trim(BookName) // BookPageNumber // "-" // "fillers.txt"
Periodic cron jobs can use agefillers.sh and loadfillers.sh
to move recently used fillers to a holding area.
5/6/11
Version 7.74
* menprof.sh and runcpag.sh have new options "usexfonts" and "usebitmapfonts"
to control where ClassPag gets the fonts that it uses to paint the screen.
"usexfonts" uses the X server which might require running an X font server.
"usebitmapfonts" uses bitmapped fonts typically installed in
/u/scs/terminal/font/*.xfb. When ClassPag uses these fonts, you do not
need to load any SCS fonts into the X server or run the X font server.
ClassPag before version 7.71 always used the X server.
ClassPag from version 7.71 and later uses bitmapped fonts,
If the bitmapped fonts cause problems, you can specify "usexfonts"
to revert to using the X server.
You need to install a version of the SCS 4GL from April 14, 2011,
or later to use the bitmapped fonts.
* The Open Square-off command now supports square-offs with MULT or MEXP.
* The Open Square-off command now supports square-offs with bottom banners.
* Fixed a problem where the Open Square-off command could place keyed
ads from other classes in the square-off.
* Fixed a problem where the Open Square-off command could place a banner
on the wrong columns.
5/7/11
Version 7.75
* When ClassPag writes pdfmarks, it now assign second heads a subtype of
COL_HDR instead of CLASS_HDR.
* The "Import -> Copy ClassPag Files" command now sends the output of the
copy commands to the session log instead of to the screen.
5/10/11
Version 7.76
* The "Reports..." menu has a new item "Report of Missing Ads with Pages"
that shows a report of ads with missing images similar to the
"Report of Missing Ads with Names" except that it shows only placed ads
and it shows the page number.
* The product configuration has new fields "Auto-Save Area Command Count"/
"Numero de comandos antes de autoguardar area" and "Auto-Save Area Expression"/
"Expr. para el nombre de la area". After the specified number of commands
moving ads in the page display, ClassPag will make a copy of the work area.
If the auto save area expression evaluates to a non-empty string,
ClassPag will use it. Otherwise, ClassPag will use the default save area.
The save area expression can use two new variables, "WorkAreaDir" which
has the subdirectory in /u/cpag/root/scratch of the current work area
and I_CPagAutoSaveAreaCount which has the number of auto saves.
For example, if the current work area is tty03, the save area expression
ZZ_" // WorkAreaDir // "-" // (I_CPagAutoSaveAreaCount % 5)
with save to ZZ_tty03-0, ZZ_tty03-1, through ZZ_tty03-4, and then it will
cycle back to ZZ_tty03_0.
ClassPag will not ask before saving, so you should be careful to design
the save area expression so that it will not conflict with normal work areas
of save areas.
You can also add the product or the run date or other information to the name,
but then the auto-saved work areas will not overwrite each other and you will
need to purge them.
* The Paper form has a new field "Product"/"Producto" to specify a single
product that can use the entry. If the field is empty, all products can
use it. Otherwise, only the specified product can use it.
If you have paper entries that work only with a single product, for example,
due to the format of a file name or due to the page geometry, you can
set this field to prevent the paper entries from being used accidentally
with another product.
The paper selection list has an F12 command "Toggle Scan Selection"
that shows all paper entries, including ones that are inactive or
that specify a different product.
* The "Import -> Copy ClassPag Files" command now shows a message that it
is copying files. This helps you tell that something is happening since
the command no longer opens a shell window.
* Fixed a problem where the last segment of a segmented ad could sometimes
have a small amount of leading above it.
5/13/11
Version 7.77
* When ClassPag writes pdfmarks, if the product specifies a Corporation,
BusinessUnit or Publication, ClassPag writes them in the DOCINFO pdfmark.
* The "System Preferences"/"Preferencias de Sistema" screen of the product
configuration has new fields with the count in seconds before auto-saving
the ad positions or the work area. Each time that you run a command on
the page preview screen, ClassPag checks both the command counts and the
number of seconds since the last save. If either the command count or the
number of seconds exceeds the limit in the product configuration, ClassPag
does an auto-save and resets the counts.
* When ClassPag places keyed ads, it now sorts each column by the key.
* ClassPag now places keyed ads when inside an "Open square-off" view.
* When ClassPag places keyed ads inside an open square-off, if a full-width
ad has a sort key that is smaller than most of the other keyed ads,
ClassPag now places that ad at the top instead of at the bottom.
* The "Ad Images"/"Imagenes de Avisos" screen of the product configuration has
a new field "Resolution for PDF to EPS conversion"/"Resolucion para conversion
de PDF a EPS". When a PDF contains a feature like alpha transparency that
is not supported in EPS, the PDF must be rasterized. The new field allows
you to change the default resolution of 300 dpi. Increasing the resolution
produces larger files. Ads with small text might require 600 dpi.
This option requires pdftops-0.17.0 or later.
* The loadtape.sh script now writes a log to /u/cpag/root/log/loadtape.log.
5/17/11
Version 7.78
* Normal ads dragged inside square-offs now show as a "NAMED_PAGE" conflict.
Before this change, in square-offs with ads selected by a request instead of
by their class, ads dragged into the square-off would show as a conflict only
if they had a different class than the adjacent ads. They will now always
show as a conflict.
* Improved the tests for auto-save time-outs.
* mapclass with the ELPDIR interface now writes better messages when
it creates parent classes, and when it makes a top level parent class,
it makes the parent 0.
5/18/11
Version 7.79
* Improved the conflict test for dragging normal ads inside square-offs.
* When the product configuration sets "Place parent at top", but not
"Repeat heading of parent class", ClassPag would sometimes place only
the class header.
* When a class had no line ads and only multi-column headers, ClassPag would
not always place a header above display ads at the bottom of the page.
5/24/11
Version 7.80
* The "View Font" option in the directory browser now works with the
alphabet.ps in recent versions of ghostscript.
* The "View Column Measures" command now shows information about printing
a double truck as a single page, even if the product configuration screen
"Margins between Pages when Printing" has no value for
"Double Truck Column Width" (in which case, the report uses the normal
column width).
* Fixed a problem where the "Nest" function in the classification selection
list would sometimes place the current class under the wrong class if
several classes had the same sequence number as the current class.
* Fixed a problem dragging ads where the gray image of an ad would not
always show if you dragged an ad other than the highlighted ad.
* Merged app_upgrade and pagmod with Layout.
* The last step of the installation procedure now times out instead of
hanging on systems where ftp can hang.
* Added Bob's update to the NWK XML interface to support the price-type tag.
Applied WebId changes to nwes_horz and nwes_vert.
5/25/11
Version 7.81
* Fixed a problem where dragging ads with the right mouse button
would sometimes show the wrong ad image.
* menprof.sh and runcpag.sh have a new "delxauth" option to delete
the "$HOME/.Xauthority" file. You should not use this permanently,
but it can be useful temporarily to enter the system if the
Xauthority file is bad.
* Added Bob's update to the NWK XML interface for the price-type tag.
5/27/11
Version 7.82
* The product configuration screen "Page Numbers"/"Numeros de Paginas" has a
new field "Auto-adjust last page"/"Adjustar automaticamente" to control whether
ClassPag should ask if you create folios and the folio count is less than the
number of pages or much larger than the number of page. The default value
is "Y" to ask. If you have a product where you intentionally do not create
folios for every page, use the value "N".
* File name expressions in folio templates can now use the string variable
PostscriptType, which contains the value in the "PS Type" field of the
"Paper Definition" used to print the page. This allows you use different
templates for postscript files than for EPS files. For example, if you have
a template that contains registration marks that should appear only on
postscript pages, you can use the file expression
(PostscriptType = "PS"? "/u/templates/regmarks.eps": "")
The "PS Type" field can have a large range of values including
empty, "PS", "EPS", various "BEPS" and "CEPS" values, "FPS", "BLOCK",
and "RBLOCK", so you might need to test for several values.
For example, you can test for any of the EPS values with
f$locate("EPS", PostscriptType) < f$length(PostscriptType)
* Improved the time procedure for the installer so that it no longer
prints a "Killed" message.
6/24/11
Version 7.83
* ClassPag has a new dialog to add fonts to Composition.
To use the dialog, first copy a postscript font file in
PFA (Type 1 ASCII) format to the directory "/u/scs/gs/fonts.site".
The name of the file should match the name of the font,
including capitalization and dashes.
Then open a directory browser by selecting "View ad directories"
from Cmd -> Ads, or from Setup -> Banners, or from several other places.
Select "/u/scs/gs/fonts.site" in the directory list.
Highlight the font file and use F12 -> Add font to composition.
ClassPag will open a dialog showing a suggested font number,
the postscript name of the font, and a suggested composition name.
If everything is OK, click on "Accept", and ClassPag will add
the font to the environment manager, run Formula Font Creator
to create a composition metrics file, and then load the metrics
with fontdef.
The font number field of the dialog has a pull-down that shows
all of the fonts in the environment and in fontdef. You can browse
the list to see the current fonts and select a different number.
The "Reset" button in the dialog restores the font number and
composition name to the original suggestions.
The "View logs" button shows diagnostics about inconsistent
information in the environment and fontdef.
The "Cancel" button closes the dialog without adding the font.
* When you load class headers with View Ad Directories -> Load,
ClassPag now tries matching the file name with a class
starting from the first digit in the class name.
A file with a name like H1234.eps will now load as the header
for class 1234.
* When ClassPag places headers for classes with no line ads,
headers over other ads no longer show as a conflict.
* When the default image of a template banner does not fit,
ClassPag now tries to place a smaller image. This should be helpful
in sessions that make square-offs using templates and "level pages"
if you need to block off part of the page with column reservations.
* Added a testsep.sh script to test running an EPS file through the
color separation code. The syntax is "testsep.sh eps-name sep-option".
The sep-option can be 'c', 'm', 'y', or 'k' to select a single color,
'g' for a grayscale version, or 'a' to show all of the colors.
* Improved the time procedure for the installer to kill subprocesses
of the timed process.
* Added a section about creating fonts to the Composition manual.
* The makenwk formula has a new "njn" value for the -m option
for the fixed-length txt files in the NJN interface.
* The readcsv formula has a new "-n" option for the tab-delimited
imp files in the NJN interface.
* The new copynjn.sh interface script copies all NJN txt and imp
files to the current directory. The syntax is
copynjn.sh product-id edition-id yyyy mm dd bluefin ppi atex atex-suffix
for example
copynjn.sh NJN1 ED1 2011 04 02 EX EX ex cd
to copy Bluefinmanifest/EX20110402.txt, adlist/EX_0402.TXT, and ex0402cd.imp.
* The edition form now has four new interface fields "BF", "PPI", "ATEX1",
and "ATEX2" for the Bluefin prefix, the PPI prefix, the Atex prefix and
the Atex suffix for interfaces that use the copynjn.sh script.
* The new makenjn.sh interface script converts all NJN txt and imp
files in the current work area into a combined sort file.
* The command lines on the "Ad Loading" screen of the product configuration
has a new "call CopyNJNFiles" that opens a calendar to select a date and then
runs copynjn.sh with parameters for the current product and the selected date.
If you use the NJN interface, set the "Copy Command" to "call CopyImportFiles"
and the "Import Command" to "call CopyNJNFiles".
* Improved updates to the installation database.
* Improved the method of getting the MAC address on Solaris by trying arp.
ifconfig on Solaris shows the MAC address only when run as root.
* Fixed a problem getting the IP address on Linux when "hostname -i"
returned an IPv6 address.
* Fixed a line in setup.sh that could get a quoting error with /bin/sh
when setting CPAG_FS.
* Fixed a problem where ClassPag would fill empty pages at the
end of the session 1-column leading fillers.
7/5/11
Version 7.84
* The "Add font to composition" command in the directory browser now supports
PFB and TrueType fonts. For PFB fonts, you must have either pfbtopfa (part
of ghostscript) or t1ascii (part of t1utils). For TrueType fonts, you must
have either ttf2pt1 or ttf2pfa (both part of ttf2pt1).
* The font list in the "Add font to composition" has new hotkeys to delete
the font currently highlighted in the list and to view the font current
highlighted in the list.
* The "Add font to composition" now checks that the user has "Font" privilege
and logs inserted and deleted fonts in the access database.
* The "Ad Images"/"Imagenes de Avisos" screen of the product configuration has
a new field "Check PDF file status change time"/"Comprobar hora de cambiar de
status de PDF" to control how ClassPag compares the dates of PDF files with
the dates of cached EPS files. By default, ClassPag checks the file
modification date (what the "ls -l" command shows) which reports the date of
the last change to the contents of the file. When "Check PDF file status
change time" is set to "Y", ClassPag also checks the file status date
(what the "ls -lc" command shows) which reports the date of the last change
of the file metadata (like ownership or permissions).
If you copy PDF files from another server, the normal date of the PDF file on
the ClassPag server will usually maintain the creation date of the original
file, while the status change date will usually show the time of the copy.
* ClassPag can now produce a "rail". A rail is a column of ads in the
leftmost column of the front page with headers from selected top-level
classes and a sampling of line ads below each header.
To enable the rail, the "Vertical Spacing Specifications" screen of the
product configuration has a new field "Create Front Page Rail".
To mark the top-level classes for the rail, the "Fill Front Page" field
of the classification database has a new value "L".
* Changed the copynjn.sh interface script to use different directories based
on the product. If the directory /easton/Bluefinmanifest exists, the script
uses the original directories. Otherwise, it checks the product and uses
one set of directories for products that match *NJN* and another set of
directories for other products.
* loadtape.sh now unsets SCRATCH before doing the ClassPag setup.
This should avoid problems if you have run the setup for another
application before doing a ClassPag installation.
* The list of directories under "Import Ads" now shows the last modification
date of saved work areas. This can be useful if you want to find the most
recent of several sessions that have opened the same product.
* Fixed a problem where wrapped auto-segmented ads could have some of their
text clipped if the bounding box of the EPS was larger than the reservation
in the sort file.
7/6/11
Version 7.85
* The NJN interface now checks for PPI files if there are no BF files.
* The hotkeys in the font list in the "Add font to composition" window
now work better.
* Corrected some Spanish translations in the product configuration.
7/11/11
Version 7.86
* ClassPag has a new parameter to control how it justifies columns that
contain a square-off placed on the bottom. The product configuration screen
"Vertical Spacing Specifications/Especificaciones de Espaciado Vertical"
has a new field "Square-Off Just Threshold/Umbral de Just de Encuadradas"
to set the minimum space that should be justified.
If a column with a square-off has more than this amount of space,
ClassPag will not add extra space inside the square-off.
If a column with a square-off has this amount of space or less,
or if the field is empty, ClassPag will add extra space inside the
square-off as before.
This can be useful when on products that have a single L-shaped page
with a few full columns of ads and a partial-width square-off.
* ClassPag now treats native photoshop image files as missing images
instead of trying to embed them on pages. This prevents postscript errors
if a photoshop file was accidentally copied instead of an EPS file.
7/19/11
Version 7.87
* The Open Square-off command will now place a banner if all of the
square-off banners are color and the page does not allow color ads.
This allows the Open Square-off command to work with square-offs
already on the page, even if the banner is a color conflict.
* If you use the Open Square-off command on a square-off that does
not have "Level Pages" set, if the square-off specifies that the overflow
is on the first or last page, ClassPag will level the initial or final page.
* ClassPag is now more careful about not placing ads on pages that are
almost full with a square-off.
* The product configuration screen "Additional PostScript"/"PostScript
adicional" has a new field "Remove Word spaces"/"Borrar espacios en Word"
to work around a problem where some internal Word EPS ads write a space
below and to the left of each line. The space below the last line of
the ad can overwrite other ads and it can make the bounding box scan
in "Cmd -> Ads -> Check for conflicts" warn about almost every ad.
ClassPag implements this by redefining the postscript "show" command.
* The NJN interface now supports merging two PPI files. The edition
configuration screen now has a second PPI field, and the copynjn.sh
interface script now takes a second PPI prefix after the first PPI prefix.
7/20/11
Version 7.88
* The "Version" window now shows the IP address after the node name.
* Fixed a problem getting the IP address of the server on Solaris.
* Fixed a problem when the product configuration requested a rail
but the product didn't have any rail classes.
7/21/11
Version 7.89
* Added a tool bar button to set the rail page.
The button appears only if the product configuration requests a rail.
The rail page number is saved in the control record.
7/26/11
Version 7.90
* The Open Square-off command now places banners that are assigned
to the class of the square-off (provided that the square-off specifies
that it includes line ads or display ads).
* Fixed a problem where "Line up ads above wide ads" would not always
leave ads lined up.
7/27/11
Version 7.91
* The "Column Balancing" screen of the product configuration (currently #20)
has a new pair of fields "Increase display ads... and from"/
"Aumentar avisos destacados... y desde" and "to"/"a" to increase the depth
of any external display ad that is at least the "from" size to the "to" size.
For example, if the page height is 21 inches and the interface passes full
page ads as 20.5 inches, you can set the "from" size to 20.5 inches and
the "to" size to 21 inches to ensure that the ads are a full page.
ClassPag makes this change internally as it reads the ad database.
The ad records in the database maintain their original value.
* When the NJN interface detects a missing file, it now shows a warning
that lets you continue or select a new date.
7/28/11
Version 7.92
* Fixed a problem from version 7.80 where the icons to drag a class and
to exchange pages did not show.
* Improved the placement of reservation fillers to keep square-offs compressed.
ClassPag no longer places a reservation filler if any column above the
square-off from the column where it would place the filler to the right has ads
on the top stack. This fixes a problem where square-offs with an ad above them
with a large space in between could have the space filled with a reservation
instead of a real filler.
7/29/11
Version 7.93
* The rail now supports alternate headers. For each class in the rail,
like 1234, ClassPag looks for a corresponding class with the suffix RAIL,
like 1234RAIL. If that class exists and has a header, ClassPag uses that
header instead of the header for the original rail class.
The classes with the RAIL suffix need to be active, but they do not need
to contain any ads and they do not need to be in any special location in
the classification structure. It is better to place the RAIL suffix
classes as the last class under the corresponding rail class.
8/4/11
Version 7.94
* The "Load outext" command now shows a dialog that lets you select
whether to move unplaced ads or all ads,
whether to create ads, and
whether to place ads based on absolute or section-relative page numbers.
The options to move and create ads were in the old dialog.
The option to use absolute or relative page numbers is new.
ClassPag previously used only the absolute page numbers.
ClassPag can now use section-relative pages in the outext along with
section-relative pages in the ClassPag session.
Since the outext ad records contain a section ordinal instead of a section name,
in order to use the new option for relative pages, you must create the outext
with a version of Layout that writes scope records.
* The "Ad Loading"/"Cargar de Avisos" screen of the product configuration has
a new field "Use absolute page numbers in outext"/"Usar paginas absolutas de
outext" to set the default page number option in the dialog to load an outext.
The default is to use absolute page numbers.
* The "Load outext" command no longer warns about scope records (record code 9).
* The "Load outext" command report now shows the absolute and section-relative
page numbers from the outext.
* Added a purgelog.sh script to purge entries in the log database before a date.
The options are
-d YYYYMMDD to purge starting from a given date
-o # to add an offset to the date
The date defaults to the current date.
If neither a date or an offset is specified, the offset currently
defaults to -180 to purge all log entries older than 180 days.
Otherwise the offset defaults to 0.
For example, to purge all log records before January 1, 2010, use
purgelog.sh -d 20100101
To purge all log records older than 90 days, use
purgelog.sh -o -90
* Fixed a problem where the open-square-off command would not build
a square-off if the square-off record set a column range and you
placed a part of the square-off outside the range.
* Fixed a problem where the open-square-off command would not build
a square-off smaller than the deepest banner of the square-off.
8/5/11
Version 7.95
* The "Outext Export"/"Exportar de outext" screen of the product configuration
has a new field "Cardex paper and edition"/"Papel y edicion de cardex" to write
the paper and edition numbers of the cardex into the header of the outext.
If this field is enabled, when you import ads, ClassPag preserves the cardex
paper and edition numbers in the control record so that you can enter paper
and edition values into the control records of import areas that pass into
the session and then into outext files.
* ClassPag now writes the units in the outext header in upper case.
8/9/11
Version 7.96
* The field "Keyed ad placement"/"Colocar avisos clavados" on the product
configuration screen "Display Ad Dummying Style (Continued)"/"Estilo de
Diagramacion de Avisos Destacados (continuado)" has a new option "S" that
works by ad. This option attempts to place keyed ads in the same column
as line ads with the same sort key without worrying about pyramid styles.
This option should work better than the "A" option in products that have
a small number of small keyed.
* Fixed a problem where display ads with the KY flag in square-offs
would unflow.
8/23/11
Version 7.97
* The product configuration screen "Page Display Preferences"/"Preferencias de
Visualizacion de Paginas" has a new field "Show Facing Pages"/"Mostrar paginas
enfrentadas". When the field is set to "Y", ClassPag will join facing pages
on the page preview screen.
* The "Set pages to show" button in the page display now has additional page
display options to select the number of pages across or down and to let
ClassPag select the best number of pages in the other dimension.
* The product configuration screen "Page Display Preferences"/"Preferencias de
Visualizacion de Paginas" has a new field "Preserve the Aspect Ratio of Pages"/
"Mantener la proporcion de paginas" to control how pages appear in the page
preview screen. When the field has its default value of "Y", pages on the
screen have approximately same aspect ratio as the printed pages.
When the field is "N", pages on the screen have the maximum possible size.
* The field "Can place last in column"/"Puede ponerse ultimo en col" on the
product configuration screen "Classified Heading Placement"/"Ubicacion de
Encabezados de Clasificaciones" has a new value "A" to allow a header at
the bottom of a column only if its class and all of its subclasses contain
no agate ads. This can be useful to break long sequences of headers in
products that always place every header, even for classes with no ads.
* When you close a session or when you write an outext, if the ads were unflowed,
ClassPag now flows them. ClassPag will write an outext only if the ads
are flowed, so this might fix problems where ClassPag didn't write an outext
when a session was closed.
* The field "Ask if not written"/"Preguntar si no escribirse"
on the product configuration screen "Outext Export"/"Exportar de outext"
has a new value "A" that always writes an outext when you close a session.
ClassPag still asks if you want to export the outext.
* When you close a pagination session, ClassPag now writes the outext before
copying the work area so that the new outext is archived in the save area.
* The product configuration screen "Outext Export"/"Exportar de outext"
has a new field "Ad number and insertion"/"Aviso y Insersion" to write
the ad number and insertion id in columns 10-19 (0-based) of card 2.
This matches an option in Layout-8000.
* The ad information window in the page display now always shows the
insertion id (if it is not empty). The window used to show the insertion only
if the product configuration specified writing the insertion to the outext.
* The ad information window in the page display now shows the booking id
(if it is not empty). The insertion id comes from columns 224-255 of the
sort file, and the booking id comes from columns 256-287 of the sort file.
ClassPag passes both the insertion id and the booking id without trying to
interpret them.
* The DN interface now passes additional fields in a long sort file line.
It now places the customer name in column 35 into the sort file CustomerName
field in column 160, the ad description in column 156 into the sort file
NotesString field in column 192, the sort key in column 203 into the sort file
LongSortKey field in column 352, and the phone number in column 60 into the
sort file AccountNumber field in column 384.
* The command to change the ad type now handles the sort key better.
When you convert a display ad to a line ad, it saves the numeric prefix
at the end of the sort key. If you convert the ad back to a display ad,
it restores the numeric prefix.
* The NJN interface now warns about old dump files when you import them
and each time that you start a pagination session.
The copynjn.sh and makenjn.sh interface scripts now pass the interface file
names in the report file. The CopyNJNFiles procedure saves the oldest date
in a new interface date field in the control record.
* The testsep script now works with eps files with previews, now generates
better document comments, and now allows initial color options.
* The installation procedure now uses the /k update option to rebuild the
log database.
* Included Chris' gs update to maketarf.sh.
9/13/11
Version 7.98
* The "Reports..." menu on the page display has a new option
"Report of Unselected Ads" to show a report of all ads that are not
running because they are in classes that have been unselected.
The option opens a window that can switch between a list of unselected
classes and a list of unselected ads. The window has commands to show
the count of ads and classes and to show both text and postcript reports
of the ads and classes.
* Fixed a problem that could cause ClassPag to place extra headers if the
headers were entered as banners and an ad in a superclass had a square-off
request. This could happen if you created an ad in a top level class
end entered a page request like DD4 instead of 4.
9/18/11
Version 7.99
* The product configuration screen "Ad Importing"/"Importacion de Avisos"
has a new field "Merge processed dirs"/"Unir dirs. procesados" for
site-specific interfaces that have merge directories but do not run mapclass.
When this field is set to "Y", after ClassPag runs the Import Command,
it runs the mergeall.sh interface script to combine all of the merge
directories into the current directories.
If you use this field, you should also set "Process merge directories"
which runs the importmerge.sh script after the Copy Command to copy
and process site-specific files in the merge directories of the
source directory.
Comments
0 comments
Please sign in to leave a comment.