* The readcsv interface program has -kc and -kd options for LEB classified and display TSV files.
* The two-letter color code field in 0-based columns 118-119 the sort file now supports R, G and B for red, green and blue. When possible, interfaces should write only FL for full color or permutations of C, M and Y for process color.
* The "CSPOT" separation option no longer writes process colors that are used only as a recipe for the spot color.
* The list in "Setup -> Set Class Names" is now sortable if it has less than 9000 classes.
* Fixed a problem where the form to create an ad could start with values in the ad number and external name.
* The CF interface now accepts a -f option to add initial format calls to each ad based on the class. Use "readopt -f" in the mapclass import command to pass the -f option to the readcf back-end, for example
$CPAG_INT/mapclass.sh autoread cf readopt -f
The interface adds a call to a local format "init" and then looks up the class name in "Setup -> Set Class Names" and adds a call to a local format with the class number. For example, if the ClassPag class name database has an entry for class '29' with name 'CONSTRUCTION', if an ad is in class 'CONSTRUCTION', the interface will start the ad with the commands
<sv 10,"init"><Call_Formula LocalFormat><sv 10,"29"><Call_Formula LocalFormat>
The class name search is case-insensitive.
The class title in the ClassPag setup can be followed by a slash (/) and single letter codes to set information about the class.
B = ads in the class might be all bold if they have specific strings.
F = ads in the class are fillers.
T = ads in the class might have "THUMBS UP" or "THUMBS DOWN" logos.
Lines with only a single character are composed in the dingbat font so H and P become closed and open stars.
* Fixed a problem where Ads -> Check for conflicts -> BoundingBox would show "BB Scan failed" for ads without images.
* Allow more dingbats in the CF interface.
* The "Display Ad Dummying Style" screen of the product configuration has a new field "Stack ads" to place display ads in the first column where they fit. This can be useful in products with almost all display ads.
* Improved ad and header placement when using the new "Stack Ads" mode.
* This release of ClassPag is the first to be built with gcc-6.2.0. See http://gcc.gnu.org/
* Improved line ad placement when using the new "Stack Ads" mode.
* The "Ad Loading" screen of the product configuration has new fields for loading outext files. "Use outext group as class" takes the group ordinal as the class id if the class id is empty and the group id is greater than 0. This makes it easier to import ads from dummying systems like Layout that work with groups instead of classes.
"Class increment" is a value to add to class ids. If the outext uses a different numbering system than the sort file, use the class increment to push the outext classes to a range that won't conflict with the classes in the sort file.
* When ClassPag loads an outext, it now accepts banner names with an additional dash and text. This makes it easier to pass banners from applications that require each block to have a unique name. For example, if ClassPag has a "DE" banner with a "5COL" image, an outext can place that banner using ad numbers of DE-5COL, DE-5COL-1, DE-5COL-2, DE-5COL-1A, etc.
* ClassPag can now create ads from a directory of EPS files. In the pagination display, use F12 -> Ads -> Load ads from images. Browse to the directory that you want, and then use F12 -> Load ads from images and follow the prompts.
If the file name has a dash, ClassPag will take the text after the dash as the class name. For example, ClassPag would load the file "comics-200.eps" as ad id "comics" in class "200". If ClassPag can not extract a class id from the file name, it will place the ad in the top level class "******".
If the ad already exists, ClassPag will update it. This make it easy to pick up size changes.
The "Ad Importing" screen of the product configuration has a new "Ad Image Load Directory Expression" field for the default directory for the "Load ads from images" command. If this expression generates a valid directory, the "Load ads from images" command will start from there, which makes it easier to find the ads.
If you generate EPS blocks in one session and load them as ads in another session, the first session should write the blocks into a directory with a unique name, for example, a name that includes the run date. Then if the second session has an Ad Image Load Directory Expression that generates the same unique name, the new "Load ads from images" command will automate creating ads from the blocks and eliminate the chance of missing a block or picking up a block for the wrong day.
* The mapclass editor window has a new function "View with Bounding Box" to show a preview of the ad with a bounding box around the dimensions returned by Composition. This can be useful when writing formats with rules or backgrounds.
* findformversion.sh now runs the ClassPag setup if needed. This makes it easier to run from root.
* ClassPag now reads and writes the retail flag on line 2 column 75 of outext page records added in Layout-8000 v15.6.0. This improves the interface between Layout and ClassPag.
* ClassPag now treats template banners in the filler class (all spaces) the same as other classes and only places banners that fit if they request a page and set the "Template Pages" "O" (Page One) or "F" (First Page) field to "Y" or the "L" (Last Page) field to "N".
* The procedure to rebuild live banners now writes its progress messages at the top of the window so warning dialogs don't cover the them. This makes it easier to tell which banner had an error.
* The procedure to rebuild banners no longer stops for composition errors and other types of errors that affect only the current banner. This allows you to rebuild banners if a logo is missing.
* When ClassPag uses the "parallel" utility to add tiff previews to banners, if you ignored warnings in Setup->Banners and used the same EPS name for more than one banner, ClassPag queues the EPS name only once to avoid errors.
* ClassPag now leaves template banners unplaced if they do not fit on their requested page.
* When ClassPag creates ads from a directory of eps images, you can now embed ad information in the file name using the sequence "-" (dash) + a single letter code + the value. The current codes are C for class id, D for description, P for page assignment, R for request, and U for ignored user-definable information. For example, a file with the name ad1-C110-P2A-RTL.eps will create "ad1" in class "110" with a page request of "2A" (page 2 absolute) and a placement request of "TL" (top left). This can be useful when placing blocks created in other pagination sessions.
* The "Ad Importing"/"Importación de Avisos" screen of the product configuration has a new field "Load On Import"/"cargar" with the values "YES", "ASK" and "NO" to control whether ClassPag loads ad images from the "Ad Image Load Directory" when you import ads. The default of "NO" does not load ads. "ASK" shows a directory list like F12 -> Misc -> Load ads from images. "YES" automatically loads the ads without asking if the "Ad Image Load Directory Expression" in the product configuration produces a valid directory; otherwise, it works like "ASK".
* The second screen of the control record has a new field "Load Ad Images On Import"/"Cargar Imágenes En Importar" that overrides the "Load On Import"/"cargar" field of the product configuration when it is set. This can be useful if only some import areas have extra ads.
* The "Ad and Class Conversions (continued)" screen of the product configuration has a new field "Default ad creation class" to specify the class for ads when creating ads from images. You should avoid placing ads in the top level class "******".
* When ClassPag imports ads with "Read Files", it now sets the run date to the sort file date. This makes the RunDate variable more useful in expressions like the "Ad Image Load Directory Expression".
* Increased the length of ad image paths from 60 to 128 characters.
* ClassPag now shows a warning if you enter an expression or a wildcard in the alternate ad directory list or the agate ad directory list on the "Display Ad Directories" screen of the product configuration.
* When the "Display Ad Directory" expression in the "Display Ad Directories" screen of the product configuration contains a reference to the RunDate, ClassPag now uses the RunDate from the sort file header instead of the current date. This allows you to have date-specific directories of ads.
* When you read an import area, if the display ads directory expression uses the run date, ClassPag no longer shows a warning if the directory does not exist for today's date. ClassPag waits to check the directory until it reads the run date from the sort file header.
* readcsv -kc now removes the extension from the ad number. This keeps the ad numbers from exceeding 10 characters.
* Increased the saved import ad directory in the control record from 50 to 128 characters. This allows longer ad image paths.
* The Load Outext command now re-evaluates the ad directory in the product configuration if it is an expression. This allows it to track changes to the edition parameters.
* When ClassPag loads an outext, if an ad is not placed, the outext report now says that the ad was not placed on a column instead of that the ad is not assigned.
* When ClassPag loads an outext, it no longer duplicates class headers that are on the same page and column and fillers and banners that are on the same page. This fixes a problem where loading an updated outext could create a second copy of headers, fillers and banners.
* When ClassPag loads an outext, it now checks the extended ad number starting at column 71 of the first card. If ClassPag does not find an ad with the 10 character ad number, it retries with the extended ad number. This produces better results when ClassPag reads one of its own outext files.
* When ClassPag loads an outext, if an ad has an empty classification field, ClassPag now uses the "Default ad creation class" from the "Ad and Class Conversions (continued)" screen of the product configuration.
* The "Request Checking" screen of the product configuration has a new field "Show in Class Color... Banners" to control the color of banners. The default value of "N" shows banners in the color specified for banners. The value "Y" shows banners in the color of their classification.
* The ad information window on the wide screen now shows the market code.
* The "Outext Export" screen of the product configuration has a new "Block Mode" field to create an additional outext with a single classified ad block on every page. The block id is the book name followed by the relative page number. ClassPag writes the outext with an 'b' suffixed to the file name. The outext export command can copy the normal outext and the block outext as needed. This option can be useful when exporting classified pages as full page blocks.
* The "Outext Export" screen of the product configuration has a new "XML Mode" field to create an SCS Extended Product XML as outext.xml. The XML contains the same ad types as configured for the normal outext. The XML can be useful if any page items have file names that are long or that differ from their ad id.
* Improved outext XML files. The XML can now contain more ad types and more fields including ad descriptions and ad vendor ids.
* The Paste List now includes the market code.
* The Paste List now has an option to sort by market code. The product configuration field "Paste ad list... Sort" on the screen "User Preferences" has a new "M" option to make the market code the default sort.
* The "Paper Definition" has a new "Apply to right" field in the "Paper Offset" section. When this field is "Y", ClassPag adds the "Horizontal Offset" to the right margin in addition to the left margin. This can be useful if you need to center products of different widths. The alternative of setting the width would require a paper definition for each product.
* Improved the check for active product locks. ClassPag can now see locks made by users with other user ids.
* ClassPag now honors the outext ear placement flag on outext line 4 column 76.
* The "Vertical Spacing Specifications" screen of the product configuration has new fields "Max Justified Depth" and "Max Agate Justified Depth". Max Justified Depth is the maximum amount of space in a column that ClassPag will vertically justify. The default is the column depth. You can set it to a smaller value if you would rather have space on top of the ads. For example, if you set it to four inches, if a column has four inches or less of empty space, ClassPag will add fillers if possible and then divide the space among the ads, but if a column has more than four inches of empty space, ClassPag will leave the space unused between the top and bottom stacks of ads. This can be useful in classified sections that need blocks of space for editorial content. Max Agate Justified Depth is an alternate Max Justified Depth for columns with agate ads. It defaults to Max Justified Depth.
* When ClassPag adds space reservations to avoid adding excessive leading on pages with only square-offs, it no longer pulls down ads that were positioned at the top of the page. This helps to preserve outext ear placements.
* Merged pagmod with Layout.
* When a square-off does not have enough ads to need its requested width, and ClassPag checks to place a wider banner, ClassPag will now place a wide banner over other square-offs if it is above the other square-off in every column.
* Fixed a problem with the ELP readtxt interface program with logos that didn't start at the origin.
* When ClassPag writes an outext XML for the entire product, it now shifts the overflow pages to the end instead of omitting them.
* Fixed a problem introduced in 9.74 where the new ad image load directory field shifted the fields with the font names to download, and ClassPag would not always download all of the requested fonts.
* The "Folios and Banners" screen of the product configuration has new fields to set the composition devices for banners and folios. This can be useful if ClassPag and AdMAX share the same server or if you want to make the OPI flag dependent on the ClassPag product. The four new fields contain the banner composition device, the banner spool device, the folio composition device, and the folio spool device. The banner composition device defaults to 'view'. The other devices default to 'eps'. If you need to make a new device, you can base it on the 'eps' device and use it in all of the fields.
* The PhotoDef setup in the SCS 4GL tools from Nov 16, 2016, or later has a new hotkey to copy a device. After copying a device, you must also create a corresponding '<DEVICENAME>_env' file in /u/comp/data/environ . You can copy the 'env' file of the same device that you copied.
* When ClassPag writes an outext XML for a single page, it now shifts overflow pages to the end instead of placing the ads on page 0.
* When ClassPag loads an outext, it now loads the page colors listed in page records.
* The "Replace Directory" hotkeys in the filler and banner setup screens now match "." with files that have no path. This makes it easier to move generated banner images to another directory if they need to be shared.
* Improved the justification above the display ad stack on unlocked pages.
* When ClassPag reads an outext, it now creates an island placement for ads with the Islandized flag set (card 3, column 80) or with the Position Locked flag set (card 4, column 27). In the placement report, Islandized ads have the comment "Islandized", and Position Locked ads have the comment "Locked".
* The command under "Cmd -> Lock -> Save work for SCS" now always adds the hour and minute to the name of the archive. It used to add the hour and minute only if you selected the "ftp" option.
* Improved the justification on pages with spacer fillers. ClassPag no longer counts them when lining up ads. Spacer fillers often have no leading, and when ClassPag aligned ads with spaced fillers, it would remove leading from the ads.
* Merged pagmod with Layout.
* Fixed a problem where saving to a work area would ask to run the interface procedure if the product configuration specified a "Get Ads Command".
* Improved the justification above island ads positioned at the bottom of a column.
* Improved the justification in columns of normal line ads on the same page as a square-off.
* Improved the justification of stacks of single-column line ads sandwiched between multi-column display ads. If the column had a lot of space, ClassPag would sometimes distribute the space to the top or bottom line ad, and then the line ads would no longer align with the multi-column ad.
* Fixed a problem where ClassPag would sometimes not flow line ads into the first column of a market code block if the display ads had a top island position but were on the bottom of the page.
* Improved justification of square-offs and market code blocks. Fixed a problem where the pass to place leading fillers above square-offs that use almost all of the page depth could sometimes place leading fillers inside the square-off.
* Improved justification of the last column of line ads in a market code block. Fixed a problem where ClassPag left the last column unjustified. ClassPag now justifies it and also checks the "max justified depth".
* Improved ad flow in market code blocks. Fixed a problem where ClassPag would not flow line ads into a market code block if the lower banner had a top island position.
* ClassPag no longer sets UOM horizontal positions for ads when it writes SCS Extended Product XML files. InLay then reverts to using the column number, which allows InLay to adapt the ad locations to its template and simplifies using the same XML with different templates.
* Fixed a problem where ClassPag could use fillers from incompatible classes inside square-offs in products that didn't use filler groups.
* The "Request Checking" screen of the product configuration has a new field "Show Locked Ads... with Diagonal Line" to show a black diagonal line across locked ads. With this option, you can turn off "Show Locked Ads... in Lock Color" to see locks while preserving classification colors.
* The O_CPagFirstClassAdType variable, which controls the search for I_CPagFirstTopClassName and related variables in banners and folios, has new options. If you repeat "A" or "D", as in "AAD" or "ADD", the repeated ad type will have priority. For example, "ADD" will return the first display ad class, even if the page has an agate ad from an earlier class. The variable also has a new "P" option to specify placement instead of class order. This can be useful if you want to know the class of the ad at the upper left of the page even if it is not first by class order. The "P" option currently can not be combined with "A" or "D".
* This release of ClassPag is the first to be built with gcc-6.3.0. See http://gcc.gnu.org/
* The "Column Balancing" screen of the product configuration has a new "Grid Header Depth" field to set the class header depth in grid layouts that have alternating rows of headers and ads.
* Fixed the field alignment of the "Class Attributes" screen of the product configuration.
* Merged pagmod with Layout. When diagonal lines are enabled for locked ads, the lines now show over ads with previews.
--- Screen captures ---
Version 9.96 changes.
Before the change, the second column of page A-19 did not use the Maximum Justified Depth and page A-20 did not have any line ads because the bottom banner is connected to the top stack.
Version 9.96 uses the maximum justified depth on column 2 of page A-19 and flows line ads on page A-20.
Before the change, ClassPag would sometimes place spacer fillers inside square-offs or market code blocks if the banner was connected to the top stack and the ads were connected to the bottom stack.
ClassPag 9.96 justified the columns correctly.
Version 9.97 changes.
Before the change, the market code blocks on pages 19 and 20 have fillers assigned to the 'other' class.
After the change, ClassPag places only fillers with compatible classes. All of the fillers in this product are in the 'other' class, so ClassPag does not place any filler, which is what this product requires. The display ads and banners have all been pre-placed by Layout. ClassPag users can raise the thin banner below the square-off to make the square-off tighter. The blue 'spacer fillers' will become empty space in InDesign for fillers or advertorial.
Version 9.98 sample page with diagonal lines to mark the locked ads.
The product configuration option to enable the diagonal lines.
Example use of O_CPagFirstClassAdType in a live banner.