WO2001059560A1 - Database publishing system and processes - Google Patents

Database publishing system and processes Download PDF

Info

Publication number
WO2001059560A1
WO2001059560A1 PCT/US2001/004431 US0104431W WO0159560A1 WO 2001059560 A1 WO2001059560 A1 WO 2001059560A1 US 0104431 W US0104431 W US 0104431W WO 0159560 A1 WO0159560 A1 WO 0159560A1
Authority
WO
WIPO (PCT)
Prior art keywords
content set
placeholder
content
column
data
Prior art date
Application number
PCT/US2001/004431
Other languages
French (fr)
Inventor
Juergen Kuerz
Original Assignee
Quark, Inc.
Quark Media House Sarl
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Quark, Inc., Quark Media House Sarl filed Critical Quark, Inc.
Priority to AU2001241471A priority Critical patent/AU2001241471A1/en
Publication of WO2001059560A1 publication Critical patent/WO2001059560A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Definitions

  • This invention relates to the field of publishing technologies and particularly for database driven publishing technologies, such as catalogs, web sites and the like.
  • an item order number may be a combination of the model number and the SKU.
  • the present invention solves these and other problems by providing a virtual database that allows users to store dynamic information.
  • the data is maintained in its original database under the control of the owner of the data.
  • the preferred embodiment uses client-server technology and allows the user to utilize their existing infrastructure.
  • the preferred embodiment uses an external data source tool to describe and create a centrally-accessible virtual content database - constructed from one or more data sources.
  • This permits data to remain in the original data sources (typically databases and spreadsheets), while providing access to it through a single virtual database.
  • the virtual content database has the option to also reference the internal database of the system, either as an alternate or supplemental data source.
  • the system of the preferred embodiment provides a Query Builder to search for information, such as products. This gives the capability to retrieve product information from a variety of sources without regard for the physical locations of the diverse components that are required to fully describe a product.
  • the system also provides a content builder to select the content that is desired, such as in a publication. Structure can be created for a specific purpose from scratch and/or by selecting information from a previous production.
  • the system can also provide a document editor to create design- or template-driven pages, aided by inclusion of the structured information created by the content builder. Using the common and simple interface operations of
  • a layout artist can create a link between a layout item and a database item.
  • Template formatting can also include the automatic assignment of style sheets, along with a rules-based application of the associated design template. If no template is associated with a component, the specified text and graphics are still placed on the page and the application layout process can begin.
  • the preferred embodiment of the present system provides information accessed from multiple data sources and displays this information as one source.
  • the system allows information from all data sources to be manipulated and structured as desired.
  • the system allows products to be associated with different design templates, either selectively, or based on user-defined rules.
  • the content can be maintained separate from the design, so the content can be updated into the design as necessary.
  • the data remains bi-directionally linked to the design until it is published.
  • Figure 1 illustrates a dialog box for the Main Window of a preferred embodiment of the present invention.
  • Figure 2 shows a dialog box for editing the External Data Source of the system of Figure 1.
  • Figure 3 shows a dialog box for the Column Definition of the system of Figure 1.
  • Figure 4 shows a dialog box for a Query Result palette of the system of Figure 1.
  • Figure 5 shows a dialog box for the Query Tree of the system of Figure 1.
  • Figure 6 shows the Query Definition dialog box of the system of Figure 1.
  • Figure 7 shows a window in the Query Definition box of Figure 6.
  • Figure 8 shows a Criteria Panel for the Query Definition box of Figure 6.
  • Figure 9 shows the Columns Panel for the Query Definition box of Figure 6.
  • Figure 10 shows the Sorting Panel for the Query Definition box of
  • Figure 1 1 shows the Add Tables dialog box of the system of Figure 1.
  • Figure 12 shows an executed Product Query of the system of Figure 1 .
  • Figure 13 shows a Content Set View of the system of Figure 1.
  • Figure 14 shows an Editing Override command for the system of Figure 1.
  • Figure 15 shows a Log On dialog box for the system of Figure 1.
  • Figure 16 shows a Show Content Set dialog box for the system of
  • Figure 17 shows a Product Tie dialog box for the system of Figure Figure 18 shows a Placeholder Properties modify dialog box for the system of Figure 1.
  • Figure 19 shows a Modify Linkset dialog box for the system of Figure 1.
  • Figure 20 shows an Override Modify dialog box for the system of
  • Figure 21 shows Template Library dialog box for the system of Figure 1.
  • Figure 22 shows a Save as Data Template dialog box for the system of Figure 1.
  • the present invention provides a powerful client/server system for database-driven applications.
  • the system of the present invention may be used in catalog publishing. This system efficiently streamlines strategy-to-promotion process and creates the much-needed link between a merchandising system and the advertising department.
  • the preferred embodiment of the present invention encompasses the following key applications and tools that help to translate strategy into promotions. It is to be expressly understood that while the descriptive embodiment utilizes catalog publishing as an explanatory embodiment, this embodiment is not meant to limit the use of the present invention in other applications.
  • EDS External Data Source
  • the virtual content database has the option to also reference the internal database of the system, either as an alternate or supplemental data source.
  • the editorial staff can use the Query Builder to search for information, such as products. This gives them the capability to retrieve product information from a variety of sources without regard for the physical locations of the diverse components that are required to fully describe a product. For example, obtaining the product name, SKU-number, and price from a commercial system, and retrieving available product images and copy text from a marketing database at the same time.
  • Editorial staff can use the Content Builder to select the content that will be promoted in a publication. They can easily create the structure for a specific promotion (e.g., a regional version, seasonal production, or annual collection) from scratch and/or by selecting information from a previous production.
  • a specific promotion e.g., a regional version, seasonal production, or annual collection
  • the editorial staff can perform the following tasks:
  • Pre-assign components to the pages of a promotion Pre-assign components to the pages of a promotion.
  • Associate designer-provided design templates with content - an artificial or application column in a content set (a content set is defined as a set of unique records, chosen from query results and/or applicationly entered, that constitute the content available for placeholders in an a preferred embodiment of the present invention document) can be used to identify templates that are to be automatically extracted from the template library.
  • a versatile QuarkXPress XTension allows designers and layout artists to create design- or template-driven pages, aided by inclusion of the structured information created by Content Builder. Using the common and simple interface operations of Drag & Drop or pasting from the clipboard, a layout artist can create a link between a layout item and a database item.
  • Template formatting can also include the automatic assignment of style sheets, along with a rules-based application of the associated design template. If no template is associated with a component, the specified text and graphics are still placed on the page and the application layout process can begin. Of particular importance is that all information retains a bi-directional link during all stages of the production cycle. Thus, volatile information such as prices can be periodically refreshed from their source in, say, a commercial database like SAP, or marketing text/updates entered directly into a page can be stored/saved back to a marketing database, such as QuarkDMS. Miscellaneous
  • buttons present in a dialog box e.g., Save, Cancel
  • buttons present in a dialog box one will have a border to identify it as the default button. Pressing the Enter Key will have the same effect as positioning the mouse cursor over the default button and clicking.
  • a hierarchical view of the objects in a preferred embodiment of the present invention are displayed in the tree control, which appears in the left pane of the application's Main Window. All nodes in the tree are arranged alphabetically, with the exception of the system-defined nodes (e.g., Data Sources, Queries) used to group the objects created by the users. Terminology and Behavior
  • GUI User Interface
  • the right pane of the application's Main Window is a container for displaying the contents (children) of those objects (parents) that reside in the hierarchical tree control (in the window's left pane).
  • This container has the appearance of a grid (or table).
  • the format of this grid control varies depending upon the object selected in the tree control. For example, if the parent object selected in the tree control is a query, the child(ren) displayed in the grid will be the table(s) used in the query.
  • the grid control for an object other than a content set view contains just two columns, an Icon column and a Name column:
  • Icon The icon representing the object in each row is placed in this column.
  • Name The name of each child object that appears in the grid is displayed in this column.
  • the Name column When only an Icon column and Name column are present in the grid view, the Name column will be the width of the entire grid, minus the width of the Icon column. When a content set view's contents are being shown in the grid, the number of columns in the grid will be equal to the number of columns in the content set view, plus one for the Icon column, plus any inserted artificial or application columns (if any).
  • the Name column described above isn't present; rather, each column has the name (or alias) assigned to it in the content set view.
  • Each row in the grid corresponds to a record in the content set view. Also, if the content set view is the parent of another content set view, there will be a row in the grid that represents that child view. This row will have the appearance of a row described above for non-content set view objects (i.e., just two columns) and will have a different background color, but it will have no impact on the column headings at the top of the grid.
  • a row that represents a database record (from a content set view) has a Row Icon in the Icon column.
  • a row that represents a child content set view has a Content Set View Icon in the
  • Image Datatype of image The value can be either an image or a null.
  • the cell will display an image icon or it will be empty.
  • Boolean Datatype of boolean (On-Off, Yes-No, True-False, etc.).
  • the cell will display a check box, with a checkmark for positive and empty for negative.
  • Date Datatype of date Values are displayed left aligned, using the display format specified in the column's properties.
  • Plain Text Datatype of text The first line, or some portion of it, will be displayed in the cell. Whenever data is truncated, a continuation character (. . .) displays at the end of the line.
  • Rich Text Datatype of text Similar to plain text, but the data will be rendered with its Rich Text Format (RTF): bold, etc.
  • RTF Rich Text Format
  • An individual cell in a row is selected in the content set view grid when the user clicks on it. But single-clicking the Icon column cell selects the entire row. Also, the entire row is selected when either cell is selected in a grid for an object that isn't a content set view. After selection, cells display a different background color.
  • the sequence of columns in the grid can be reordered by dragging and dropping a column into a different location. Position the cursor on the column header for this operation. Simply clicking on a column header will cause the rows in the grid to be sorted by the contents of the clicked column - in ascending sequence. After the sort is completed, clicking the same column header again will cause the rows to sort in descending sequence.
  • EDS External Data Source
  • the virtual content database has the option to also reference the internal database of the system of the preferred embodiment of the present invention, either as an alternate or supplemental data source. Any number of external data sources can be created, which allows for the grouping of the data sources.
  • the editorial staff can use the Query Builder to search for information, such as products. This gives them the capability to retrieve product information from a variety of sources without regard for the physical locations of the diverse components that are required to fully describe a product. For example, obtaining the product name, SKU-number, and price from a commercial system, and retrieving available product images and copy text from a marketing database at the same time.
  • This command copies highlighted text or a selected object and places it on the clipboard (see the Paste command for information about copying data from the clipboard): Click the Copy button in the toolbar; or from the Edit menu, select Copy.
  • This command is similar to the Copy command, but the selected item is copied to the clipboard and removed from its original location:
  • This command removes the selected object and/or its contents.
  • the command can also be used where deletion is an option available in editable GUI controls. Items deleted using this command are not placed on the clipboard.
  • dialog box used to edit the definition is specific to the selected object:
  • Additional dialogs may be available from the primary editing dialog box. For example, if the user selects a row in the dialog shown above and then clicks the Column Definition button in the toolbar, the Column Definition dialog displays as shown in Figure 3. Exit
  • This command will close all open files, dialogs, and windows and quit the application. Also, the user is logged-off the a preferred embodiment of the present invention server:
  • a folder node representing the new folder is created at the location selected in the tree hierarchy control. This command isn't active when the area selected is within the Content Sets or Data Sources tree nodes; the purpose of folders being to provide the capability to organize queries, templates, and rules:
  • EDS External Data Source table
  • the command will first validate the query that is to be run to get the data for the selected object, and will then execute the query. If validation detects an error, the appropriate message is displayed and the query isn't run. Otherwise, the results of the query are displayed in a query result palette (window), shown in Figure 4. Click the Get Data button in the toolbar; or from the Tools menu, select
  • Move Down This command is used to move one or more rows down one row in the grid control in which the rows exist (if multiple rows are to be moved they must be contiguous). None of the selected rows can be the last row in the grid view.
  • This command is available for any grid view (in a content set view, in a table property dialog, etc.) that offers a feature to order its rows: Click the Move Row Down button in the toolbar; or from the View menu, select Record to open its submenu, and then select Move Down. Move Up
  • This command is similar to the Move Down command, but the movement of the selected row(s) is up one row and none of the selected rows can be the first row in the grid view: Click the Move Row Up button in the toolbar; or from the View menu, select Record to open its submenu, and then select Move Up. Paste
  • This command places the content of the clipboard (see the Cut and Copy commands) into the selected object.
  • a content set view can be copied and pasted to a content set's tree hierarchy. This will create a copy of the content set view.
  • the name of the new object will be the name of the object being copied with a number appended to it (e.g., Summer Catalog 1, Summer Catalog 2):
  • Objects in the tree control recognize not just the standard mouse click (left click), but also the alternate (right-click). Where the alternate click is recognized, a context-sensitive popup menu appears. Among the most common of the commands to be found in many of these menus are the following: Get Data, Cut, Copy, Paste, Delete, Rename, and Properties.
  • This command provides the means to change the name of an object that is selected in either the hierarchy tree or a grid control.
  • an edit box surrounds and highlights the name to be changed: From the Edit menu, select Rename.
  • Each of the dialog boxes has a Save button. Clicking the Save button saves the new or changed object and closes the dialog.
  • other actions can also be initiated during the save process. For example, for the Query Definition dialog, a new query node is created in the tree hierarchy under the Queries folder, or under a sub-folder if one is selected. Style Menu In this operation, one or more of the menu items can be toggled ON or
  • each menu item's existing state reflects the nature of the selected text, or that of the character preceding the insertion point if no text is selected:
  • Tree View This operation permits toggling between the show/hide states for the tree hierarchy control; a checkmark is present in the menu item when the tree control is displayed, and no checkmark when the tree is hidden.
  • the tree control appears in the left pane of the application's Main Window: From the View menu, select Tree View. Building and Running Queries
  • the primary function of the Query Builder Tool is to define and build a preferred embodiment of the present invention queries. These queries are the mechanism for retrieving relevant records from external and internal data sources.
  • Query Builder provides the capability to define, create, modify, manage, save, and execute a query - though, once saved, queries can be run from a number of places outside the Query Builder.
  • the normal method of creating a query is via the Query Definition dialog.
  • This dialog provides all the features needed to customize a query so that it filters and retrieves only those data components (records and columns within the records) that are needed for some specific purpose, product, or logical collection of content - often the aggregate of information in a content set view.
  • queries can also be created and modified using the standard tree hierarchy controls: in this mode, query object tree nodes and sub-folder tree nodes can be renamed, duplicated, and deleted.
  • Each query defined, created, and saved is placed in the hierarchical tree control; either under the system-defined Queries tree node or under a user-created sub-folder (all of which sub-folders are grouped under the Queries folder), shown in Figure 5.
  • Each of these query tree nodes can be opened to display the tables that are referenced in the query. These table tree nodes cannot be edited.
  • Query Tree Node Displays the tables referenced in the query.
  • Table Tree Node Displays the columns of the table.
  • Query Definition dialog requires that one of the query components in the tree control has been selected (e.g., a query sub-folder):
  • the Query Definition dialog box displays, shown in Figure 6.
  • the Query Definition dialog has three primary elements: • A text field for the name of the query.
  • Tabbed panels each of which is devoted to one of the tasks associated with building a query.
  • Tables Panel All tables available for use in queries have previously been established via the External Data Source and/or Internal Data Source processes. Therefore, whenever you choose a table to be used in a query, you are always choosing from among the virtual tables internal to a preferred embodiment of the present invention that have been defined by an administrator (you may also be able to access some or all of these tables by selecting a previously saved query - see Select Tables below). These virtual tables should encompass all available data sources within your organization that contain publishing content. With the Tables panel selected, click the Add Tables button in the toolbar
  • the Select Tables dialog box displays. Select the table or existing query upon which the query is to be based and click the Add button. A window is opened that shows the name of the table and the columns in the table (this is the case even if you select an existing query), as shown in Figure 7.
  • Criteria Panel provides the means to enter the data that will be used to filter and retrieve the records (rows) and columns from the table selected in the Tables panel. When the Criteria panel is opened it displays a single, empty row in the criteria table, but additional rows can be added later, if needed (click the Insert Row button in the toolbar). Click the cell in the Table column to populate the row with the table name and default values for most of the other columns.
  • Conditio Used to select a valid condition that becomes the first half of the restrictive criterion for the selected column.
  • the conditions are context sensitive, based upon the datatype of the named column.
  • the first column in the criteria table is unnamed and is inactive (grayed out) unless additional rows are added to the criteria table. When this happens, the first column provides a drop-down list from which to choose the logical operator - AND or OR - for each additional row.
  • Columns Panel The Columns panel is used to specify which columns (from among the columns in the table selected in the Tables panel) are to be displayed in the query result palette, shown in Figure 9.
  • this panel When this panel is opened, it displays the column selection table. As in other panels, the Table column displays the name of the selected table and the Column column lists the columns available in the table.
  • the first column in the column selection table is unnamed and contains a checkbox for each listed column. These are used as toggles to select (checkmark) or unselect each column for display in the query result palette - unselected columns will not display in the result palette.
  • Application columns i.e., those blank columns and computed columns inserted by the query process
  • Columns selected to display in the query result can also be reordered to display in a specific sequence in the result palette. This is done by highlighting one or more column names (multiple columns must be contiguous) and dragging them up or down. The same effect can be achieved by using the Move Row Up and Move Row Down buttons in the toolbar.
  • Sorting Panel The Sorting panel is used to specify ascending or descending sorting sequence for one or more of the columns.
  • Sorting panel When the Sorting panel is opened it displays a single row in the sorting table (such as shown in Figure 10), but additional rows can be added later, if needed.
  • the row is initially populated with the table name and default values for the column name and the sorting sequence for the named column. Clicking a cell in any column that initially displays with a default value causes a list button to appear in the cell (see the Column cell in the illustration above). Click the list button to see the valid choices for the column.
  • the toolbar in the Query Definition dialog provides easy access to various commands and operations related to the query building function, and many of these are duplicates of those found in the menus and toolbar in the a preferred embodiment of the present invention Main Window. Those that are unique and the pu ⁇ ose served by each are as follows:
  • Add Tables Provides the means for choosing the table to be used in the query. This button is active only when the Tables panel is open:
  • This table lists the external and internal data source tables and all saved query definitions. Each entry in this list is accompanied by an icon that identifies the entry as an EDS table, an IDS table, or a query.
  • Expression Builder An optional tool that can be used to assist in building a context sensitive value for the Value column in the Criteria panel. This button is active only when a cell in the Value column has been selected: Click the Expression Builder button in the toolbar.
  • This command is available from both the menu bar (Tools) and the toolbar in the a preferred embodiment of the present invention Main Window, and from the toolbar in the Query Definition dialog.
  • the command can be issued when the focus is on either a query object or a table object (as a query underlies each table). Also, from within the Query Definition dialog a new query can be executed even if it hasn't yet been saved.
  • Each successful Get Data command displays the results of the query in a query result palette:
  • the results, as shown in Figure 12 are displayed in a grid view in the palette and the palette remains on top of the application window until the palette is closed.
  • buttons are used to access the first, previous, next, and last records (rows) in the grid view. These buttons mimic the operations associated with the
  • the query results in the query result palette can be copied to a content set view.
  • the records residing in a result palette exist only in temporary storage, so they must either be copied to one or more content set views or be lost when the palette is closed. Records can be copied and then pasted to a content set view's grid control or its tree node (or the records can be dragged and dropped). Only entire records - never partial records - can be copied to a content set view. Three types of copying are supported:
  • Records in the query result will be copied to the content set view as new records. If similar records already exist in the content set view (i.e., their primary keys are identical and their contents were extracted from the same table(s)), then those records will be replaced; in effect, updating their contents. But before records are replaced, the user is prompted for authorization to do so.
  • the contents of an existing record are replaced by the contents of a new record, on a column-by-column basis, according to the following rules: • Where the same column exists in both records, the content of the column in the new record replaces the content of the column in the old record. • Where a column exists in the new record but not in the old record, the new column is appended to the old record.
  • Records are copied either through the standard menu commands of Copy and Paste (or keyboard shortcut equivalents) or through Drag and Drop.
  • the records being copied will be added immediately below the selected record in the content set view, or following the last record if no record is selected.
  • a record being copied into a content set view is used to update an existing record, rather than create a new record, it can be the case that other content set views contain the same record.
  • content set views only contain pointers to records in their associated content set - not the actual content. So, all content set views with the same record, that are associated with the same content set, are actually pointing to one record in the content set.
  • Paste Special will cause a dialog box to display that asks you to choose either the option of making a duplicate instance or the option of concatenating columns (this latter option is addressed in the following description about the third kind of copying). If a record or records being copied via either of these duplicating-records methods does not already exist, then the record(s) will be copied as new rather than being duplicated.
  • a query can retrieve it into a result palette and the records can be merged into the content set view by matching on the primary key.
  • Properties of Query The properties of a query can be displayed through the Property dialog box: • From the File menu select Properties; or right-click the object and select Properties from the context popup menu.
  • the Property dialog box displays.
  • the primary function of the Content Builder Tool is to organize and manage content so as to assist and facilitate the assembly, grouping, page assignment, and versioning of information targeted to a promotion or production.
  • the principal devices used by the Content Builder to achieve these objectives are the content set and the content set view:
  • Content Set A collection of unique records, chosen from query results and/or application ly entered, that encompass the content available for: linkage to placeholders in a QuarkXPress a preferred embodiment of the present invention document; a Web site; uploading or downloading to other systems; etc. If the target is a document, a content set can be the content source for many documents, but a document can be associated with only one content set.
  • Content Set View - A view contains an ordered list of references
  • a view can also point to a content set indirectly; that is, it can be a view of another content set view. But a content set view never contains actual data records, it can only hold records that are pointers to content records, which are what reside in a content set. So, within this application, wherever there is a discussion of the copying of records from a query result palette to a content set view, or from one content set view to another content set view, what is being copied into the content set view are pointers, with the actual data records being copied into the content set. Creating and Organizing Content Sets& Set Views
  • Each content set and content set view that is created is placed in the hierarchical tree control.
  • Content sets such as shown in Figure 13, are displayed alphabetically under the system-defined tree node (Content Sets) used to group content sets. Content sets cannot be reordered nor can they be organized in folders.
  • a content set view is placed under a content set or another content set view.
  • the content set views (the objects themselves, as opposed to their contents) can be sorted in ascending or descending sequence or can be applicationly reordered under their parent container (i.e., the content set or view to which they belong).
  • the records within a content set view can also be sorted (see Sorting Records below).
  • Content sets and content set views can be renamed, deleted, and duplicated using standard commands available to the tree control.
  • a content set is a container that helps to implement the organizational concepts discussed above. There are no optional or customizable features to be specified by a user, so there is no dialog involved in the creation process. It is simply an object to be created:
  • a content set view is a fixed-format container without customizable features, so no dialog is required in the creation process.
  • the system will create a node in the tree control and assign a default name (e.g., Content Set View 1 ). The user can then rename the content set view to give it a meaningful name. Adding Records to a Content Set View
  • Records from a query result palette can be copied to a content set view, rows can be applicationly inserted, and records from a content set view can be copied or moved to another content set view within the same content set.
  • all content/data records reside in the content sets; that the content set views contain only pointers to those data records in the content sets. Nevertheless, when copying records they are copied to a content set view - then, without further intervention from the user, a preferred embodiment of the present invention will build the pointers to the records in the content set view and then place the data records in the content set.
  • each unique data record appears only once in a content set, regardless of the number of occurrences of that record in the content set views, as all the occurrences in the views are merely pointers to the one record in the content set.
  • Copy Records from a Query Result Palette See the above detailed description about copying records from a query result palette to a content set view.
  • Copying records from a content set view is very similar to copying them from a query result.
  • the source is the grid control of the content set view rather than the query result palette.
  • the source and destination content set views can be the same, a technique that can be used to duplicate records within the same content set view.
  • the source is a content set view, instead of a query result palette, the option exists to move the records instead of copying them.
  • the Move operation is similar to the Copy operation, but the records are also removed from the source view.
  • copying from a query result palette is the same as copying from a content set view, differing only in the kind of grid in which the source records reside.
  • Move feature is available only when the source is a content set view.
  • Copy and Move operations are also quite similar, with only the following variations when Move is the user's choice:
  • the ability to add records to a content set view includes the ability to insert records with different formats in the same content set view. This means that not all columns need to be common across all records in the same view. Thus, records displayed in a content set view grid control won't necessarily be uniform in the sense of sharing all columns.
  • This command will be active when a single cell in one row is selected in a content set view's grid. It allows the user to replace the content of an individual cell within a single record (including a cell in an artificial or application column). However, the value being replaced is saved and can be restored at a later time:
  • the option exists to edit the data directly in the cell without using a dialog box. Simply select the cell and enter the change.
  • Another method of direct cell-content override uses an existing file rather than the data entered in a dialog. This command is active, too, when a single cell is selected in a content set view's grid, and content replacement is limited to that selected cell: From the Insert menu select File.
  • the platform-dependent file-chooser dialog displays.
  • the file content replaces the content of the selected cell.
  • Implicit in the overriding of a value in a content set cell is that the scope of the override is at the content set level (see the Applying and Modifying
  • the rows of records in a content set view grid can be sorted in both ascending and descending sequence. From within the grid control, click on a column header to sort the entire content set view based upon the values in the clicked column. The sort order will be in ascending sequence the first time the header is clicked and in descending sequence if chosen again (and will toggle back and forth on succeeding clicks).
  • Sort dialog box displays.
  • the two column sort table in the dialog is used to select the columns that are to be used in the sort process, along with the priority associated with each column's participation in the sort, and ascending/descending sequence for each column.
  • the Move Row Up and Move Row Down buttons can be used to reorder the list of column names, the sequence of which controls the priority of columns within the sort. Click the Save button to close the dialog, perform the sort operation, and re-display the sorted rows in the content set view grid.
  • Ordering of the rows in a content set view can only be done from within the view's grid control.
  • the Move Row Up and Move Row Down buttons in the toolbar can be used to reorder the rows in the grid.
  • the user has the ability to select which columns are to display in the content set view's grid.
  • the super set of all available columns from which to choose comes from the content set to which the content set view belongs.
  • Hide Columns Click the triangle in a column's header in the content set view's grid control and select Hide Column from the drop-down menu. The selected column is now hidden.
  • Show/Hide Columns This menu item is active when a content set view's grid is in focus:
  • the window in the dialog lists all the columns in the content set that are part of any record in the current content set view. Next to each column name is a check box. Those columns that appear in the current grid view have a check mark to indicate that they are being shown.
  • the Move Row Up and Move Row Down buttons in the toolbar can be used to reorder the rows in the dialog window.
  • Removing a row from a content set view can only be done from within the view's grid control. Removing rows from a content set view only removes the reference (pointer) to the record. The actual data/content record will still reside in the content set. Select a row for removal by clicking the icon at the beginning of the row:
  • a popup box asks the user to confirm that the selected record should be deleted. Click Yes to delete the record.
  • Rows that are selected within a content set or content set view can be refreshed with current data from the original source of the rows. All columns within the selected rows will be refreshed; individual columns cannot be selectively refreshed. But not every row within the grid has to be refreshed:
  • the properties of a content set or content set view can be displayed through the Property dialog box:
  • the primary function of the Document Editor is the integration of text and image data, extracted from various data sources with the "static" material in the QuarkXPress pages. Included in this manipulation of publication content is the ability of the designer to specify the location, appearance, and source of the data that is to be automatically inserted into the pages by the a preferred embodiment of the present invention XTension. Designers initiate Editor actions through a variety of common interface mechanisms, including drag and drop, the clipboard, and menus.
  • This process of efficiently inserting data into the pages of a production is greatly enhanced by the ability of data updates to flow in both directions. That is, data extracted from some source and then inserted into a page can be refreshed (i.e., updated) from that same source whenever appropriate or necessary.
  • data entered or updated in the page itself can be saved back to the database(s) associated with the document.
  • data originally extracted from a database and inserted into a page and then updated on the page at some later date can be used to update the database so that it contains the latest information and is in synch with the data being published.
  • All of the features, operations, and commands discussed in this section are found in QuarkXPress and the QuarkXPress XTension.
  • the user's logon name and password are to be entered into the other two fields. Whenever desired, the user can change the password by clicking the Set button to open the Change Password dialog box.
  • Critical Components A great deal of flexibility and variety is provided as regards the automated insertion of text and images into the pages, whether it be appearance, sources and targets of the data, or a number of other aspects. And at the core of this powerful functionality is a hierarchy of components whose proper utilization greatly enhances the effectiveness of this tool. The most basic of these components, as well as being among those most frequently used, are shown below in the order of their sequence in the hierarchy:
  • Placeholder A combination of codes and names that controls the appearance, placement, and content of an information component on a page. When the content is also present it is considered to be part of the placeholder, but a placeholder can exist as just the codes. A group of related placeholders, all of which are associated
  • Linksets with only a single record The identity of the record can be changed, but there can never be more than one record at a time for a linkset.
  • Data Item A text box or text path that includes one or more text placeholders, but not necessarily all the placeholders that make up a linkset. Or a picture box that serves as a placeholder.
  • QuarkXPress group one or more of whose items is a data item, or a data item that isn't part of a QuarkXPress group.
  • Template of the data group can then be made from the entry in the library. Selecting a Content Set
  • Content sets and content set views are created in the manner described above, and populated as described above. But before the data in a content set can be placed in the pages of a document, the content set must become associated with the document (a document can be associated with only one content set, but a content set can be associated with multiple documents).
  • the process of attaching a content set to a document can only be initiated when the document is the active document in the QuarkXPress window:
  • the Content Set palette displays, as shown in Figure 16.
  • Bind is defined as the process (bind)/state (bound) of the association of a record in a content set view to a linkset in a document.
  • association is completed.
  • the association can be terminated, if necessary, in one of the following ways:
  • the binding of the record and the association with the content set can be undone through use of the Undo command.
  • Placeholders are at the lowest level; the foundation of the building blocks used to automate the integration of dynamic data with the static data in QuarkXPress pages. Included among the most important features provided by placeholders are the following:
  • Placement Identifies the data item in which a specific data component
  • Appearance Optional capability to override the source format derived from the display format defined for the data component's column in the database.
  • Linkage It is one of the repositories (i.e., the data link) for information that provides for the bi-directional updating of content in every defined location where the content is stored, both internal and external to the a preferred embodiment of the present invention system.
  • the record whose columns (data components) are used to populate all the placeholders belonging to a linkset now becomes "bound" to that linkset.
  • a placeholder can be created, and the elements of which a placeholder is composed can vary (i.e., not every element that can be part of a placeholder is always present). Also, there are two categories of placeholders - text and picture - and there are several kinds of placeholders within each category.
  • Placeholders are created using menu commands in the manner described in the Creating New Placeholders segment below. Also, the primary text and picture placeholders (but not the static and tie variations of them) can be created via dragging and dropping procedures involving a content set view's grid control.
  • Using Drag & Drop to create a single placeholder can be done in either of two ways (see Binding Records to Placeholders to create multiple placeholders); the first way creates just the placeholder coding (or marker), and the second way creates the same coding and also appends the value from the bound cell: Coding only - Drag the column header from the desired column and drop it into the data item (text box or picture box).
  • This will create a placeholder consisting of just the codes/marker in this format: ⁇ column-name linkset #>
  • placeholder applies to the entire entity or just a part of it. For example, take the situation when a user is working in a document where the mode has the coding hidden and just the content is visible (i.e., the Design view). When the performance of an operation requires that the user place the Insertion bar in the placeholder, placing it in the visible content is sufficient; that visible portion is also the placeholder. Creating New Placeholders
  • a text placeholder can take one of three different forms - a column placeholder, a static placeholder, or a product tie placeholder.
  • a picture placeholder can be either a column placeholder or a static placeholder.
  • the column placeholder is usually the most common, by far, for both text and pictures, and a generic reference to a text placeholder or picture placeholder implies this common format rather than any of the other forms.
  • Each of the several forms of text and picture placeholders is created in a different manner, and what is described in this segment is the column placeholder. The creation of the other two forms is described in separate segments of this section (see Assigning Static Text or Images to a Linkset, and Creating Product Tie Placeholders). Text and picture placeholders are similar in concept and behavior, and there is very little difference in how the two types of placeholders are created:
  • Insertion bar Place the Insertion bar at the desired location in a text box or text path, or select a picture box.
  • Placeholder dialog box displays (see Modifying Placeholder Properties below for an illustration of a dialog and instructions).
  • the placeholder appears in the text box at the insertion point or at the bottom of the picture box.
  • the identifying number of the linkset (i.e., the linkset ordinal) to which the new placeholder belongs can be assigned while creating the placeholder. If the linkset to which the placeholder is being assigned already exists, the selected text box or picture box must be part of a data group. Assigning Static Text or Images to a Linkset Static text or images can be assigned to an existing linkset in the following manner:
  • the submenu lists each of the data group's linksets, as well as an entry for None.
  • the selection's existing linkset affiliation is indicated as follows: If the entire selection belongs to one linkset, a check mark appears in that linkset' s menu item.
  • Static text and images associated with a linkset are hidden in a document unless a content set record is bound to the linkset and/or Show Placeholders is the active mode. This allows for the suppression of extraneous text and images in templates designed for a variable number of records.
  • Tie text is used to visually associate an image to its descriptive text. This takes the form of a letter or number that appears near the image, and the same letter or number also appears at the beginning of the appropriate text.
  • Insertion bar Place the Insertion bar at the desired location in a text box or text path, or select a picture box.
  • An optional display format can be entered in the text field labeled for that purpose. For example, if the user wants a period to follow each occurrence of a product tie, a format like @".” could be used (see the Character Values section of Appendix A for display format information).
  • Creating a product tie placeholder creates just a single instance of the placeholder. So for each required product tie, either this process must be repeated or a tie placeholder must be copied.
  • a placeholder At any time after a placeholder has been created it can be changed or modified, via the editable properties presented in a dialog box: Place the Insertion bar in the placeholder or select the picture box.
  • Placeholder From the Style menu, select Placeholder.
  • the Placeholder Properties dialog box displays.
  • Column name Chosen from a drop-down list whose contents are extracted from the associated content set.
  • the list contains the names of only those columns with a datatype compatible with the placeholder (i.e., image columns for picture placeholders and all others for text placeholders). If no content set is attached to the document, the user can directly enter a column name into this field.
  • Display format Chosen from a drop-down list that contains a predefined list of formats. The list contains only those formats compatible with the datatype (e.g., date) of the column chosen. Or, the user can directly enter a display format into this field (see Appendix A for display format information).
  • the Reset button is active if both of the following conditions have been met:
  • the display format has been previously modified.
  • the placeholder content was created using a record copied (by dragging or pasting) from the content set, and the column in the record had a defined display format - i.e., a source format. Clicking the Reset button will restore the display format to the format originally provided by the content set (see the Display Format Propagation segment).
  • Display format (tie placeholders only): Tie text is used to visually associate an image to its descriptive text. This takes the form of a letter or number that appears near the image and the same letter or number appears at the beginning of the appropriate text.
  • the data format can be chosen from the dropdown list, or the user can directly enter a display format into this field (see Character Values in Appendix A for display format information).
  • Static value This is text or an image that appears on the page only when the placeholder's linkset is bound to a record.
  • the user can directly enter the data into this field, or (optionally) the value can be carried forward when the placeholder's data group is saved as a template.
  • static value candidate is text that appears repetitively on a page - such as, the words Sale Price when they are to prefix most or all of the prices on a page.
  • Sample value The sample value appears on a page, instead of a true component value, when the placeholder hasn't been bound to a cell in a record in the content set.
  • the user can directly enter the data into this field, or (optionally) the value can be carried forward when the placeholder's data group is saved as a template.
  • the sample value is particularly useful as an aid in laying out or designing a page before the actual content is available. It provides visual feedback on placement and appearance during the design stage, so that when the real content becomes available, the page design shouldn't require much rework. When the real content does become available, it automatically supplants the sample value, so there is no need to delete the sample value from the placeholder's properties.
  • the option exists to display either the placeholders' codes or the values assigned to them.
  • One of the items in the View menu acts as a toggle and contains either Show Placeholders or Hide Placeholders. Choosing whichever item is shown will switch what is displayed on the page to that mode, and will substitute the other option into the menu item.
  • Placeholders are represented by their codes, column names, etc., rather than by their values.
  • Static text and images that are assigned to unbound linksets are visible (an unbound linkset being one that isn't associated with (bound to) a record in a content set), as are product ties. Other static text and images appear unchanged (see Assigning Static Text or Images to a Linkset).
  • Placeholder codes take one of the following forms:
  • Display formats can be assigned in two different ways and can be of two different kinds:
  • Assigning formats - Display formats can be explicitly designated via the Placeholder Properties dialog (see Modifying Placeholder Properties) or are automatically fashioned by default when creating or modifying a placeholder without using the dialog.
  • a display format that is derived from the display format of the placeholder's bound column is known as a source format. It is a true display format, with the name serving to identify its origin. All other display formats are known simply as display formats.
  • a placeholder is always in either a receptive or an unreceptive mode (more on this status immediately below). So, when a placeholder is in a receptive mode, dragging or pasting a cell or column header onto it will result in its display format being replaced with the display format of the source object, which is a source format. Thus, we say the placeholder is receptive to a new source format.
  • a placeholder When a placeholder is created, its display format is fashioned according to the placeholder's method of creation: Created by dragging or pasting from the content set - The placeholder is initially receptive and has a display format that is a source format derived from the source object, if the source object has one. Subsequent changes to the source format in the content set are not reflected in the display format of a placeholder already derived from it. If a source format doesn't exist for the source object, the placeholder is given a datatype-dependent default format.
  • Changing a placeholder's format puts the placeholder into an unreceptive mode.
  • Resetting the display format - through the Placeholder Properties dialog - restores the original format and toggles the mode back to receptive.
  • Created by copying - A copied placeholder (via clipboard or dragging) retains the current display format of the source placeholder, as well as the source format if the source placeholder had one (and the appropriate receptive/unreceptive mode). All of this also applies to placeholders created by copying a data group within a document.
  • Created applicationly - A display format is explicitly assigned by the user or a preferred embodiment of the present invention assigns a default format based upon the associated column's datatype (see Creating New Placeholders). This placeholder is initially receptive; changing its format renders it unreceptive.
  • Each placeholder retains the format that was stored in the template, but - initially, at least - has no source format. Such placeholders may or may not be receptive, each depends upon what was stored in the template (see below in this segment for more information).
  • a placeholder Once a placeholder is created, its display format, source format (if it has one), and receptiveness can be affected in a variety of ways: When a placeholder's display format is modified - through the
  • Placeholder Properties dialog it becomes unreceptive until the format is reset; again, through the dialog.
  • Copying a content set cell or column header with a source format onto a receptive placeholder replaces the existing format and also establishes the new format as the placeholder's source format. If the source object has no defined format, the placeholder's current format is unaffected and its source format, if it has one, is discarded. Changing a placeholder's column association (i.e., the column to which it is assigned in a bound record), through the Placeholder Properties dialog, removes any source format, and the display format is established in the same manner as when a placeholder is applicationly created. When a data group is saved as a template, the current display format of each text placeholder is also saved.
  • a saved format is "locked" (i.e., the placeholder is made unreceptive) if the placeholder is currently unreceptive, or if the user checks the Lock All Formats check box on the Save as Data Template dialog box. This option on the dialog will make all of the template's formats unreceptive.
  • Style sheets have some similarity to display formats, but they are separate entities. Also, as opposed to display formats, style sheets are not new; they have long existed in QuarkXPress. As an existing feature, the properties of a style sheet are well documented, but there are several things to keep in mind about style sheets as regards their behavior within the a preferred embodiment of the present invention system:
  • Style sheet assignments are propagated in the same manner as described for display formats. If a placeholder column's named style sheet doesn't exist in the
  • QuarkXPress document a preferred embodiment of the present invention will create a default style sheet with that name and with the attributes that exist in the document's normal style sheet.
  • style sheet attributes are applied first and the rich text formatting is applied afterwards, superseding the style attributes whenever there is a conflict.
  • Placeholder-level overrides If present, the overrides are duplicated. The user is notified of this at the time of duplication. Subsequent modification of a placeholder-level override affects only the placeholder to which the change is applied.
  • Insertion bar Placing the Insertion bar in a text placeholder or selecting a picture box.
  • Locate Linkset From the Item menu, select Locate Linkset. A checkmark will appear next to the menu item, and all placeholders belonging to the linkset selected in step #1 will be highlighted.
  • Finding Linksets A user is able to select a menu item that will locate the linkset or linksets within a document that are bound to a specific content set record:
  • the dialog box provides the following information and features:
  • the value that uniquely identifies the target record - i.e., its primary key. This value doesn't necessarily appear in a placeholder of any found linksets.
  • a check box that provides a means for the user to indicate whether or not to continue searching at the beginning of the document when its end is reached.
  • Binding Records to Placeholders A record is copied from the content set and bound to the linkset's placeholders either through the standard menu commands of Copy and Paste (or keyboard shortcut equivalents) or through Drag and Drop. And, optionally, multiple records can be copied in a single operation when the data group has multiple linksets (see Reordering Linksets in a Data Group below).
  • the result can be either the creation of one or more new, bound linksets or the binding of the records to the placeholders of existing linksets. What determines which of these two operations occurs is the position of the cursor when the drop takes place.
  • the cursor must be positioned on a placeholder of the target linkset to begin the process of binding the records to existing linksets - in the sequence prescribed by the data group's linkset order. If the cursor isn't on a placeholder, this will initiate the process whereby new linksets are created and the records are bound to them.
  • Cursor placement is very sensitive, so if the intent of the user is to bind the records to existing linksets, a feature exists that will minimize the risk of an unintended outcome. This is done by the user setting the "No auto-linkset" option in the Application Preferences dialog accessed from the Edit menu. This limits the outcome to binding only and prohibits the creation of new linksets in this drop operation. However, this prohibition can be temporarily overridden by pressing and holding the Shift Key while dragging and dropping.
  • Another method for binding a record is available only through the dragging and dropping mechanism - not through pasting from the clipboard. This method provides for dropping a record on a blank area of the page
  • a linkset can be associated with only one record, but multiple content set records can be copied (dragged or pasted) to a placeholder in a data group. When this occurs, the data group's linkset order will determine which records are bound to which linksets.
  • the general rules for assignment of records to placeholders, when multiple records are part of a single copy to a data group, are as follows:
  • Records are assigned to placeholders according to the order of the linksets.
  • the order of linksets corresponds to their ascending numerical sequence.
  • the following mechanisms provide the means to somewhat alter the behavior described in the general rules, or to manipulate the association of placeholders and linksets so that the application of the rules will produce the desired results:
  • the first source record is always bound to the target placeholder, regardless of the sequence of the placeholder's linkset in the order of linksets. And if it isn't the lowest in that order, records won't be bound to those placeholders with lower linkset numbers.
  • the linkset order can be changed by selecting the data group and then, from the Item menu, select Modify.
  • the Modify dialog box displays as shown in
  • the order of the linksets is changed through the use of the Move Up and Move Down buttons. Click the OK button to implement the reordering.
  • the linkset numbers in the placeholders in the data group are physically changed to correspond to the sequence specified in the dialog box. For example, if Linkset 5 is moved to the top of the list in the dialog, it becomes Linkset 1 in the data group, Linkset 1 becomes Linkset 2, etc.
  • the general rule stated above that the order of linksets corresponds to their ascending numerical sequence is always true. But the linkset number assigned to a placeholder can be changed through the reordering feature.
  • the user Regardless of whether or not the order of the linksets in the data group has been modified, if the number of source records exceeds the number of linksets that remain in the order after the designation of the target placeholder, the user will receive a warning message. The user then has the option to abort the action (the copy) or to bind only as many records as there are linksets available.
  • Any master data group on a document page will be treated as a master item until such time as it is modified - which includes grouping and ungrouping. From that point forward, it is no longer a master item and will behave like any other data group on the document page.
  • Every data group has a unique identifier. And a data group created by grouping and data groups resulting from ungrouping are going to have identifiers that are not only unique, but are different from any of the original identifiers. Thus, clipboard content will always be pasted into a "different" data group if that group resulted from grouping or ungrouping after the content was placed on the clipboard. Data items within the resultant groups are also affected:
  • the Design view i.e., Hide Placeholders mode
  • the Override dialog box displays as shown in Figure 20.
  • the user is able to: Specify the new override's value, scope, and auto-removal status (see below for descriptions of scope and auto-removal). If an override already exists with the matching scope, the new override replaces it.
  • Placeholder - The override applies to only the placeholder to which it is targeted, and suppresses the effect of a document override or a content set override.
  • the override applies to all references to the same bound value, across all documents that use the content set.
  • the restriction limits application to only those that don't already have a placeholder override or document override.
  • Any placeholder with a value that has been overridden will appear as a "data override" on the Override Report.
  • An override to a value using a certain scope doesn't prohibit a subsequent override to the same value that utilizes a different scope.
  • Overrides can be used to update the contents of placeholders and content sets, but the capability also exists to update the original source of their content - that is, the internal and external data sources.
  • These are the databases, spreadsheets, etc., used to populate the virtual content database, which is always the target of any query issued by a preferred embodiment of the present invention.
  • this "storing" feature is used when a decision is reached that a value that is in, or should be in, a placeholder or content set is preferable to the value originally extracted from the data source.
  • this feature isn't available if the column associated with the placeholder or cell is artificial, application, or read-only:
  • Data Item A QuarkXPress story (in one or more text boxes/paths) that includes one or more text placeholders, but not necessarily all the placeholders that make up a linkset. Or a picture box that serves as a placeholder.
  • Data Group A QuarkXPress group one or more of whose items is a data item, or a data item that isn't part of a QuarkXPress group.
  • a template is a data item or data group that is saved in a dedicated Quark a preferred embodiment of the present invention library for the specific purpose of being used to generate a copy of itself whenever needed.
  • a template can be saved in any template library that has been created under the system-defined
  • Template Libraries node in the hierarchical tree control. It is possible to place templates in conventional QuarkXPress libraries, but Quark a preferred embodiment of the present invention template libraries are specifically designed for managing templates. They provide features such as summary views of all templates in a library, which for each template includes its thumbnail image, its name, size, fonts, etc.
  • the template libraries of the system of the preferred embodiment of the present invention also provide the user with the means to create both private and shared template libraries.
  • the shared template libraries are accessible to any workstation running the client application; whereas, only the user who creates a private template library has access to it. When it is installed, the system will define (or the user may designate) a root folder in the client file system where the system will manage the user's private template libraries.
  • a template library is simply an object to be created that will serve as a container for templates: In the tree control, select the Template Libraries tree node.
  • the system will create a node in the tree control and assign a default name (e.g., TemplateLibrary 1). The user can then rename the template library to give it a meaningful name.
  • a default name e.g., TemplateLibrary 1.
  • a template library cannot be nested within another template library. Nesting is permitted for some tree nodes (e.g., a content set view can contain another content set view), but not for template libraries.
  • the tree view In the left-hand pane of the window is the tree view that shows all template libraries available to the user.
  • the icons used for template folders provide the means to visually distinguish between private and shared template libraries.
  • the plain-folder icon identifies a shared template library, while a folder embellished with a security symbol represents a private template library.
  • the tree view orders all private folders before all shared folders, and within these two groups the folders are sorted alphabetically.
  • thumbnail view of each template in the selected library is displayed in the upper-right-hand pane.
  • thumbnail view When a template's thumbnail is selected, descriptive and style information about that template is displayed in the form view in the lower-right- hand pane.
  • the horizontal bar that separates the thumbnail view and the form view can be dragged up or down to increase/decrease the size of the two panes, if desired, as shown in Figure 21.
  • Template Data groups can be stored separately from QuarkXPress a preferred embodiment of the present invention documents for reuse as templates:
  • Linksets saved in a data group template are unbound, but the option exists to save the value that had been bound to each of a linkset's placeholders. If done, this causes the value in each bound content-set cell to be copied to its placeholder's Sample Value property. All placeholders in bound linksets are affected by the option's setting; the Sample Value properties of placeholders in unbound linksets remain unchanged by this action. The default for this option is
  • a file is created that contains the selected data group.
  • this template retains the data group's linksets and the column associations of its placeholders, but does not retain any record bindings that may have been in place (i.e., all linksets are in an unbound state).
  • data template files will be stored in the same folder as the
  • the Save as Data Template dialog permits the user to override the default for the template being saved, or the option exists to choose a different default folder.

Abstract

A system for storing and maintaining information from multiple sources. The system of the preferred embodiment includes a virtual database that allows information to be maintained at it's original source while dynamically linking the information to associated applications. This allows the information to be updated without changing the associated design. This is particularly useful in publishing industries.

Description

DATABASE PUBLISHING SYSTEM AND PROCESSES
Field of the Invention: This invention relates to the field of publishing technologies and particularly for database driven publishing technologies, such as catalogs, web sites and the like.
BACKGROUND OF THE INVENTION
Many challenges exist for retail, merchandise and marketing professionals in the present competitive global marketplace. These challenges include the need to quickly analyze and adapt to ever-changing markets and to target promotional campaigns to market segments as small as a single customer. Thus, these professionals need cost-effective, time-sensitive methods for translating marketing strategies into precisely-targeted promotions.
A great need exists for a tool that specifically addresses the requirements of the publishing and direct marketing professionals as regards accessing, accumulating, organizing, and publishing information in a timely, efficient, and effective manner. Among the more prevalent challenges being faced are:
• Information that exists in many different data sources. For example, when assembling the components of a catalog, pricing details and order numbers might reside in commercial management systems, while the marketing descriptions and product shots are found in a marketing database, such as QuarkDMS.
• Data that isn't stored in easily recognized and/or accessible forms. For example, an item order number may be a combination of the model number and the SKU.
• Data that doesn't exist in a presentable format. For example, the database stores the color "red" as the number 01.
Not only must this scattered information be integrated for presentation at its ultimate destination, whether that is a Web site, a CD, a printed publication (including multiple versions of a catalog, where each version must target a specific audience), but much of the content is often dynamic. Thus, carrying forward the example of a catalog, throughout the production cycle, components of the catalog's product information must be updated - even in the final stages of production - and changes must be reflected on the final pages.
There presently is a need for the ability to dynamically manage this and other information.
SUMMARY OF THE PRESENT INVENTION
The present invention solves these and other problems by providing a virtual database that allows users to store dynamic information. In the preferred embodiment, the data is maintained in its original database under the control of the owner of the data. The preferred embodiment uses client-server technology and allows the user to utilize their existing infrastructure.
The preferred embodiment uses an external data source tool to describe and create a centrally-accessible virtual content database - constructed from one or more data sources. This permits data to remain in the original data sources (typically databases and spreadsheets), while providing access to it through a single virtual database. Thus, the user is able to retain the infrastructure already have in place. The user does not have to move the data to use it, and the task of maintaining the data remains in the hands of its owners. The virtual content database has the option to also reference the internal database of the system, either as an alternate or supplemental data source.
The system of the preferred embodiment provides a Query Builder to search for information, such as products. This gives the capability to retrieve product information from a variety of sources without regard for the physical locations of the diverse components that are required to fully describe a product. The system also provides a content builder to select the content that is desired, such as in a publication. Structure can be created for a specific purpose from scratch and/or by selecting information from a previous production.
The system can also provide a document editor to create design- or template-driven pages, aided by inclusion of the structured information created by the content builder. Using the common and simple interface operations of
Drag & Drop or pasting from the clipboard, a layout artist can create a link between a layout item and a database item. When a template has an association with a component, all of its information can be correctly positioned on the page. Template formatting can also include the automatic assignment of style sheets, along with a rules-based application of the associated design template. If no template is associated with a component, the specified text and graphics are still placed on the page and the application layout process can begin.
Of particular importance is that all information retains a bi-directional link during all stages of the production cycle. Thus, volatile information such as prices can be periodically refreshed from their source in, say, a commercial database like SAP, or marketing text/updates entered directly into a page can be stored/saved back to a marketing database, such as QuarkDMS.
The preferred embodiment of the present system provides information accessed from multiple data sources and displays this information as one source. The system allows information from all data sources to be manipulated and structured as desired. The system allows products to be associated with different design templates, either selectively, or based on user-defined rules. The content can be maintained separate from the design, so the content can be updated into the design as necessary. The data remains bi-directionally linked to the design until it is published. These and other features will be evident from the ensuing detailed description of preferred embodiments and from the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 illustrates a dialog box for the Main Window of a preferred embodiment of the present invention. Figure 2 shows a dialog box for editing the External Data Source of the system of Figure 1.
Figure 3 shows a dialog box for the Column Definition of the system of Figure 1.
Figure 4 shows a dialog box for a Query Result palette of the system of Figure 1.
Figure 5 shows a dialog box for the Query Tree of the system of Figure 1.
Figure 6 shows the Query Definition dialog box of the system of Figure 1. Figure 7 shows a window in the Query Definition box of Figure 6.
Figure 8 shows a Criteria Panel for the Query Definition box of Figure 6.
Figure 9 shows the Columns Panel for the Query Definition box of Figure 6. Figure 10 shows the Sorting Panel for the Query Definition box of
Figure 6.
Figure 1 1 shows the Add Tables dialog box of the system of Figure 1.
Figure 12 shows an executed Product Query of the system of Figure 1 .
Figure 13 shows a Content Set View of the system of Figure 1.
Figure 14 shows an Editing Override command for the system of Figure 1.
Figure 15 shows a Log On dialog box for the system of Figure 1. Figure 16 shows a Show Content Set dialog box for the system of
Figure 1.
Figure 17 shows a Product Tie dialog box for the system of Figure Figure 18 shows a Placeholder Properties modify dialog box for the system of Figure 1.
Figure 19 shows a Modify Linkset dialog box for the system of Figure 1. Figure 20 shows an Override Modify dialog box for the system of
Figure 1.
Figure 21 shows Template Library dialog box for the system of Figure 1.
Figure 22 shows a Save as Data Template dialog box for the system of Figure 1.
DETAILED DESCRIPTION OF PREFERRED
EMBODIMENTS
To respond to these challenges, the present invention, in a preferred embodiment, provides a powerful client/server system for database-driven applications. For example, the system of the present invention may be used in catalog publishing. This system efficiently streamlines strategy-to-promotion process and creates the much-needed link between a merchandising system and the advertising department. The preferred embodiment of the present invention encompasses the following key applications and tools that help to translate strategy into promotions. It is to be expressly understood that while the descriptive embodiment utilizes catalog publishing as an explanatory embodiment, this embodiment is not meant to limit the use of the present invention in other applications.
A detailed description of a preferred embodiment of the present invention is set forth below along with the attached descriptions of the functional design requirements of the components of the system of this preferred embodiment. Also attached are additional descriptions of the preferred embodiment. The description of the preferred embodiment is discussed for use with QuarkXPress and with QuarkDMS, distributed by Quark Distribution Inc. However, other applications may be used as well in conjunction with the preferred embodiment of the present invention.
The detailed description of this preferred embodiment is provided for explanatory purposes only. Other embodiments and variations are considered to be within the scope of the present invention as well.
External Data Source Tool & Query Builder
Information Technology specialists are able to use the External Data Source (EDS) Tool to describe and create a centrally-accessible virtual content database - constructed from one or more data sources. This permits data to remain in the original data sources (typically databases and spreadsheets), while providing access to it through a single virtual database. Thus, the user is able to retain the infrastructure already have in place. The user does not have to move the data to use it, and the task of maintaining the data remains in the hands of its owners (e.g., the Sales or Warehouse divisions). The virtual content database has the option to also reference the internal database of the system, either as an alternate or supplemental data source.
Once the virtual content database has been defined and made accessible, the editorial staff can use the Query Builder to search for information, such as products. This gives them the capability to retrieve product information from a variety of sources without regard for the physical locations of the diverse components that are required to fully describe a product. For example, obtaining the product name, SKU-number, and price from a commercial system, and retrieving available product images and copy text from a marketing database at the same time. Content Builder
Editorial staff can use the Content Builder to select the content that will be promoted in a publication. They can easily create the structure for a specific promotion (e.g., a regional version, seasonal production, or annual collection) from scratch and/or by selecting information from a previous production.
Additionally, the editorial staff can perform the following tasks:
Group selected information to best suit the production's focus.
Pre-assign components to the pages of a promotion. Associate designer-provided design templates with content - an artificial or application column in a content set (a content set is defined as a set of unique records, chosen from query results and/or applicationly entered, that constitute the content available for placeholders in an a preferred embodiment of the present invention document) can be used to identify templates that are to be automatically extracted from the template library.
Document Editor
A versatile QuarkXPress XTension allows designers and layout artists to create design- or template-driven pages, aided by inclusion of the structured information created by Content Builder. Using the common and simple interface operations of Drag & Drop or pasting from the clipboard, a layout artist can create a link between a layout item and a database item.
When a template has an association with a component, all of its information can be correctly positioned on the page. Template formatting can also include the automatic assignment of style sheets, along with a rules-based application of the associated design template. If no template is associated with a component, the specified text and graphics are still placed on the page and the application layout process can begin. Of particular importance is that all information retains a bi-directional link during all stages of the production cycle. Thus, volatile information such as prices can be periodically refreshed from their source in, say, a commercial database like SAP, or marketing text/updates entered directly into a page can be stored/saved back to a marketing database, such as QuarkDMS. Miscellaneous
Standards and Conventions
There are a number of standards and conventions that have been followed drafting this application. An awareness and understanding of these guidelines will aid in the user's comprehension of the system's concepts as well as in their efficacious practice. The first list below applies to the documentation in this application and the second applies to the system itself. Reference Application
The illustrations presented as an aid to understanding various features and functions, along with their notations and descriptions, are representative of the Microsoft Windows platform. It is to be expressly understood that other operating systems can be used as well. Commands and operations that are common to several tasks are described in a single location, rather than being described in full in each narrative of a task of which they are a part. Tool Tips Whenever the mouse cursor is placed on a button in a toolbar, a small message window appears. The window contains one or several words that name or describe the operation associated with the icon on the button. If a dialog box has an Apply button, it will enable the user to apply the changes made in the dialog without closing the dialog box. After applying the changes, if the user decides to cancel the dialog, the changes applied will be undone. For dialog boxes with tabbed panels, the changes made in a tab will be applied when the user selects another tab. However, if the user decides to cancel the dialog, all changes made in the entire dialog will be undone. Among the buttons present in a dialog box (e.g., Save, Cancel), one will have a border to identify it as the default button. Pressing the Enter Key will have the same effect as positioning the mouse cursor over the default button and clicking. A hierarchical view of the objects in a preferred embodiment of the present invention are displayed in the tree control, which appears in the left pane of the application's Main Window. All nodes in the tree are arranged alphabetically, with the exception of the system-defined nodes (e.g., Data Sources, Queries) used to group the objects created by the users. Terminology and Behavior
Throughout the application, illustrations are displayed that depict many windows and dialog boxes that are important parts of the Graphical User
Interface (GUI). Several examples of these kinds of illustrations are shown in
Figures 1 - 20, with notations to help identify common GUI components that appear in many of the system's interfaces.
As shown in Figure 1 , the right pane of the application's Main Window (shown above), is a container for displaying the contents (children) of those objects (parents) that reside in the hierarchical tree control (in the window's left pane). This container has the appearance of a grid (or table). The format of this grid control varies depending upon the object selected in the tree control. For example, if the parent object selected in the tree control is a query, the child(ren) displayed in the grid will be the table(s) used in the query.
The grid control for an object other than a content set view contains just two columns, an Icon column and a Name column:
Icon The icon representing the object in each row is placed in this column. Name The name of each child object that appears in the grid is displayed in this column.
When only an Icon column and Name column are present in the grid view, the Name column will be the width of the entire grid, minus the width of the Icon column. When a content set view's contents are being shown in the grid, the number of columns in the grid will be equal to the number of columns in the content set view, plus one for the Icon column, plus any inserted artificial or application columns (if any). The Name column described above isn't present; rather, each column has the name (or alias) assigned to it in the content set view.
(If there are no records in the content set view and, therefore, no columns to display, a message to that effect will appear in the grid.)
Each row in the grid corresponds to a record in the content set view. Also, if the content set view is the parent of another content set view, there will be a row in the grid that represents that child view. This row will have the appearance of a row described above for non-content set view objects (i.e., just two columns) and will have a different background color, but it will have no impact on the column headings at the top of the grid. A row that represents a database record (from a content set view) has a Row Icon in the Icon column. A row that represents a child content set view has a Content Set View Icon in the
Icon column.
The kinds of columns that can appear in the grid for a content set view (aside from the already mentioned Icon column) are as follows:
Image Datatype of image. The value can be either an image or a null.
The cell will display an image icon or it will be empty.
Numeric Datatype of numeric. Values are displayed right aligned, using the display format specified in the column's properties.
Boolean Datatype of boolean (On-Off, Yes-No, True-False, etc.). The cell will display a check box, with a checkmark for positive and empty for negative.
Date Datatype of date. Values are displayed left aligned, using the display format specified in the column's properties.
Plain Text Datatype of text. The first line, or some portion of it, will be displayed in the cell. Whenever data is truncated, a continuation character (. . .) displays at the end of the line.
Rich Text Datatype of text. Similar to plain text, but the data will be rendered with its Rich Text Format (RTF): bold, etc.
An individual cell in a row is selected in the content set view grid when the user clicks on it. But single-clicking the Icon column cell selects the entire row. Also, the entire row is selected when either cell is selected in a grid for an object that isn't a content set view. After selection, cells display a different background color.
When the Icon cell in a row is double-clicked, the effect is the same as clicking on the corresponding object in the tree control. The result of double- clicking the icon of an object that doesn't appear in the tree varies with the kind of object. For example, double-clicking the icon of a database record in a content set view does nothing.
The sequence of columns in the grid can be reordered by dragging and dropping a column into a different location. Position the cursor on the column header for this operation. Simply clicking on a column header will cause the rows in the grid to be sorted by the contents of the clicked column - in ascending sequence. After the sort is completed, clicking the same column header again will cause the rows to sort in descending sequence.
External Data Sources
Overview
Information Technology specialists use the External Data Source (EDS) Tool to describe and create a centrally-accessible virtual content database - constructed from one or more data sources. This permits the data to remain in the original data sources (typically databases and spreadsheets), while providing access to it through a single virtual database. Thus, the organization can retain the infrastructure it already has in place; it doesn't have to move the data to use it, and the task of maintaining the data remains in the hands of its owners (e.g., the Sales or Warehouse divisions). The virtual content database has the option to also reference the internal database of the system of the preferred embodiment of the present invention, either as an alternate or supplemental data source. Any number of external data sources can be created, which allows for the grouping of the data sources.
Once the virtual content database has been defined and made accessible, the editorial staff can use the Query Builder to search for information, such as products. This gives them the capability to retrieve product information from a variety of sources without regard for the physical locations of the diverse components that are required to fully describe a product. For example, obtaining the product name, SKU-number, and price from a commercial system, and retrieving available product images and copy text from a marketing database at the same time.
Common Operations and Commands
Overview Within the system of a preferred embodiment of the present invention, there are a number of major functions, such as Create a Query and Create a
Content Set View. And within a function (e.g., Create a Content Set View) there are usually many sub-functions, such as adding rows, sorting rows, and ordering rows. Each function and sub-function has its own unique task to perform, yet many of the actions initiated by a user to accomplish a particular task are not unique. In fact, many are quite common and frequently used by most or all of the applications and tools. Most commands and operations available from a menu, button, and dialog that aren't unique to one particular task are described in this section. This is not to say that a command that is described in this section cannot also be found in the later sections devoted to describing the functions; the description of some functions would suffer without the full description of certain critical components rather than just a cross-reference to them. But the intent is to eliminate repetition where doing so won't detract from an understanding of the concept being presented.
Common Operations and Commands Cancel Clicking the Cancel button closes the dialog without saving the object.
Copy
This command copies highlighted text or a selected object and places it on the clipboard (see the Paste command for information about copying data from the clipboard): Click the Copy button in the toolbar; or from the Edit menu, select Copy.
Cut
This command is similar to the Copy command, but the selected item is copied to the clipboard and removed from its original location:
Click the Cut button in the toolbar; or from the Edit menu, select Cut. Delete
This command removes the selected object and/or its contents. The command can also be used where deletion is an option available in editable GUI controls. Items deleted using this command are not placed on the clipboard.
When this command is used on an object in the tree hierarchy, the user is prompted to confirm the operation before the object is removed:
Click the Delete button in the toolbar; or from the Edit menu, select
Delete. Drag & Drop
The standard Drag & Drop operation is available for copying and pasting (in most cases the same operations could be done through menu items and keyboard shortcuts). Both the tree control and the grid control support Drag & Drop, and objects can be copied and moved. One restriction on moving is that rows in a query result palette cannot be moved, they can only be copied (this is described in more detail in the segments about copying records - in sections 3 and 4 of this application). Edit Object This command will be active when the selected object has an editable definition. Objects that qualify are:
• External Data Source definition, shown in Figure 2
• Internal Data Source table
• Query object • Rule definition
The dialog box used to edit the definition is specific to the selected object:
1. Click the Edit Object button in the toolbar; or from the Edit menu, select Edit object-name (e.g., Datasource). The dialog box for the selected object displays (the dialog shown below is one of several object-specific dialogs for this command.
2. Make the desired changes.
3. Click OK or Save (which button is present is determined by the nature of the dialog).
Additional dialogs may be available from the primary editing dialog box. For example, if the user selects a row in the dialog shown above and then clicks the Column Definition button in the toolbar, the Column Definition dialog displays as shown in Figure 3. Exit
This command will close all open files, dialogs, and windows and quit the application. Also, the user is logged-off the a preferred embodiment of the present invention server:
From the File menu, select Exit. New Folder
Creates a new container. A folder node representing the new folder is created at the location selected in the tree hierarchy control. This command isn't active when the area selected is within the Content Sets or Data Sources tree nodes; the purpose of folders being to provide the capability to organize queries, templates, and rules:
Click the New Folder button in the toolbar; or from the File menu, select
New to open its submenu, and then select Folder. Get Data This command will be active when any of the following objects is selected and will perform the action in the manner appropriate to the object:
External Data Source table (EDS)
Internal Data Source table (IDS)
Query The command will first validate the query that is to be run to get the data for the selected object, and will then execute the query. If validation detects an error, the appropriate message is displayed and the query isn't run. Otherwise, the results of the query are displayed in a query result palette (window), shown in Figure 4. Click the Get Data button in the toolbar; or from the Tools menu, select
Get Data.
Even if a new query hasn't been saved, it can be executed from its Query Definition dialog box by clicking the Get Data button in the dialog box. Move Down This command is used to move one or more rows down one row in the grid control in which the rows exist (if multiple rows are to be moved they must be contiguous). None of the selected rows can be the last row in the grid view. This command is available for any grid view (in a content set view, in a table property dialog, etc.) that offers a feature to order its rows: Click the Move Row Down button in the toolbar; or from the View menu, select Record to open its submenu, and then select Move Down. Move Up
This command is similar to the Move Down command, but the movement of the selected row(s) is up one row and none of the selected rows can be the first row in the grid view: Click the Move Row Up button in the toolbar; or from the View menu, select Record to open its submenu, and then select Move Up. Paste
This command places the content of the clipboard (see the Cut and Copy commands) into the selected object. For example, a content set view can be copied and pasted to a content set's tree hierarchy. This will create a copy of the content set view.
The name of the new object will be the name of the object being copied with a number appended to it (e.g., Summer Catalog 1, Summer Catalog 2):
Click the Paste button in the toolbar; or from the Edit menu, select Paste. Popup Menu
Objects in the tree control, as well as many other objects, recognize not just the standard mouse click (left click), but also the alternate (right-click). Where the alternate click is recognized, a context-sensitive popup menu appears. Among the most common of the commands to be found in many of these menus are the following: Get Data, Cut, Copy, Paste, Delete, Rename, and Properties.
Properties
Modify the default properties of an object. This command is active when an object is selected in the tree hierarchy:
From the File menu select Properties. The Properties dialog box for the selected object displays.
Rename
This command provides the means to change the name of an object that is selected in either the hierarchy tree or a grid control. Following the Windows standard, an edit box surrounds and highlights the name to be changed: From the Edit menu, select Rename.
Save
Each of the dialog boxes has a Save button. Clicking the Save button saves the new or changed object and closes the dialog. Depending upon the nature of the dialog, other actions can also be initiated during the save process. For example, for the Query Definition dialog, a new query node is created in the tree hierarchy under the Queries folder, or under a sub-folder if one is selected. Style Menu In this operation, one or more of the menu items can be toggled ON or
OFF (with a checkmark signifying the ON state) to alter the Rich Text Format values for existing text or text that is to be entered. Selecting a menu item imparts its nature (i.e., bold, italic, or underline) to any selected text, as well as to text entered subsequent to the item's selection. Similarly, each menu item's existing state reflects the nature of the selected text, or that of the character preceding the insertion point if no text is selected:
From the Style menu, toggle ON or OFF (in any combination) the Bold, Italic, and Underline formats. Tree View This operation permits toggling between the show/hide states for the tree hierarchy control; a checkmark is present in the menu item when the tree control is displayed, and no checkmark when the tree is hidden. When displayed, the tree control appears in the left pane of the application's Main Window: From the View menu, select Tree View. Building and Running Queries
Overview
The primary function of the Query Builder Tool is to define and build a preferred embodiment of the present invention queries. These queries are the mechanism for retrieving relevant records from external and internal data sources. Query Builder provides the capability to define, create, modify, manage, save, and execute a query - though, once saved, queries can be run from a number of places outside the Query Builder.
The normal method of creating a query is via the Query Definition dialog. This dialog provides all the features needed to customize a query so that it filters and retrieves only those data components (records and columns within the records) that are needed for some specific purpose, product, or logical collection of content - often the aggregate of information in a content set view. In a very limited sense, queries can also be created and modified using the standard tree hierarchy controls: in this mode, query object tree nodes and sub-folder tree nodes can be renamed, duplicated, and deleted. Create (or Modify) a Query Query Tree Nodes Each query defined, created, and saved is placed in the hierarchical tree control; either under the system-defined Queries tree node or under a user-created sub-folder (all of which sub-folders are grouped under the Queries folder), shown in Figure 5.
Each of these query tree nodes can be opened to display the tables that are referenced in the query. These table tree nodes cannot be edited.
Selecting any of the query components in the tree control (which resides in the left-hand pane of the window) causes the component's associated objects to be displayed in the right-hand pane:
Queries FolderDispIays all the queries. Query Sub-folder Displays its queries.
Query Tree Node Displays the tables referenced in the query.
Table Tree Node Displays the columns of the table.
Query Definition Dialog
To open a Query Definition dialog requires that one of the query components in the tree control has been selected (e.g., a query sub-folder):
Click the New Query button in the toolbar; or from the File menu, select New to open its submenu, and then select Query. The Query Definition dialog box displays, shown in Figure 6.
The Query Definition dialog has three primary elements: • A text field for the name of the query.
• Tabbed panels: each of which is devoted to one of the tasks associated with building a query.
• A toolbar. The Name Field For a new query, enter its name into this field. Duplicate names are not permitted and will cause an error message dialog box to appear. If you are modifying a query, its name can be changed. Tabbed Panels
Tables Panel: All tables available for use in queries have previously been established via the External Data Source and/or Internal Data Source processes. Therefore, whenever you choose a table to be used in a query, you are always choosing from among the virtual tables internal to a preferred embodiment of the present invention that have been defined by an administrator (you may also be able to access some or all of these tables by selecting a previously saved query - see Select Tables below). These virtual tables should encompass all available data sources within your organization that contain publishing content. With the Tables panel selected, click the Add Tables button in the toolbar
(see the Toolbar section below). The Select Tables dialog box displays. Select the table or existing query upon which the query is to be based and click the Add button. A window is opened that shows the name of the table and the columns in the table (this is the case even if you select an existing query), as shown in Figure 7.
If the user chooses not to use the displayed table, select the table window and then click the Delete button in the toolbar to remove the object from the panel. Also, a table can be renamed for use in the query: Double-click the table window's title bar to display a dialog box in which to enter the alias name. Criteria Panel: The Criteria panel provides the means to enter the data that will be used to filter and retrieve the records (rows) and columns from the table selected in the Tables panel. When the Criteria panel is opened it displays a single, empty row in the criteria table, but additional rows can be added later, if needed (click the Insert Row button in the toolbar). Click the cell in the Table column to populate the row with the table name and default values for most of the other columns. Clicking a cell in any column that initially displays with a default value causes a list button to appear in the cell (see the Column cell in the illustration below). Click a list button to see the valid choices for the column, shown in Figure 8. The columns in the criteria table and the purpose served by each are as follows:
Table Displays the name of the selected table. Column Used to select the names of the columns against which criteria are applied so as to restrict the number of rows that are returned by the query.
Conditio Used to select a valid condition that becomes the first half of the restrictive criterion for the selected column. The conditions are context sensitive, based upon the datatype of the named column.
Enter a context sensitive value also based upon the Value column's datatype. An option is to create this value using the tool accessed by clicking the Expression Builder button in the toolbar (see the Toolbar section below).
Used to specify if the criterion match is or isn't case
Case sensitive. Matching
The first column in the criteria table is unnamed and is inactive (grayed out) unless additional rows are added to the criteria table. When this happens, the first column provides a drop-down list from which to choose the logical operator - AND or OR - for each additional row.
Columns Panel: The Columns panel is used to specify which columns (from among the columns in the table selected in the Tables panel) are to be displayed in the query result palette, shown in Figure 9.
When this panel is opened, it displays the column selection table. As in other panels, the Table column displays the name of the selected table and the Column column lists the columns available in the table.
The columns listed can be filtered using the drop-down list labeled Show. This list provides these options: All Columns Lists all the columns in the table. Selected Columns
Lists just the selected Unselected columns.
Columns
Lists just the unselected columns.
The first column in the column selection table is unnamed and contains a checkbox for each listed column. These are used as toggles to select (checkmark) or unselect each column for display in the query result palette - unselected columns will not display in the result palette.
Application columns (i.e., those blank columns and computed columns inserted by the query process) are always listed and shown as selected; these columns cannot be unselected. They can, however, be deleted by using the Delete button in the toolbar. Columns selected to display in the query result can also be reordered to display in a specific sequence in the result palette. This is done by highlighting one or more column names (multiple columns must be contiguous) and dragging them up or down. The same effect can be achieved by using the Move Row Up and Move Row Down buttons in the toolbar. Sorting Panel: The Sorting panel is used to specify ascending or descending sorting sequence for one or more of the columns.
When the Sorting panel is opened it displays a single row in the sorting table (such as shown in Figure 10), but additional rows can be added later, if needed. The row is initially populated with the table name and default values for the column name and the sorting sequence for the named column. Clicking a cell in any column that initially displays with a default value causes a list button to appear in the cell (see the Column cell in the illustration above). Click the list button to see the valid choices for the column.
Many of the operations available in some of the other tabbed panels are also available in this panel. For example, application columns can be added, columns can be deleted, and the sequence of their appearance in the result palette can be reordered.
The Toolbar
The toolbar in the Query Definition dialog provides easy access to various commands and operations related to the query building function, and many of these are duplicates of those found in the menus and toolbar in the a preferred embodiment of the present invention Main Window. Those that are unique and the puφose served by each are as follows:
Add Tables: Provides the means for choosing the table to be used in the query. This button is active only when the Tables panel is open:
1. Click the Add Tables button in the toolbar. The Select Tables dialog box displays, shown in Figure 1 1.
This table lists the external and internal data source tables and all saved query definitions. Each entry in this list is accompanied by an icon that identifies the entry as an EDS table, an IDS table, or a query.
2. Select an entry from the table's list.
3. Click the Add button to open a window in the Tables panel. This window will display the name of the table and its columns.
4. The dialog remains open after the Add operation. Click the Done button to close the dialog.
Expression Builder: An optional tool that can be used to assist in building a context sensitive value for the Value column in the Criteria panel. This button is active only when a cell in the Value column has been selected: Click the Expression Builder button in the toolbar. The Expression
Builder dialog box displays.
Execute a Query
Get Data Command
This command is available from both the menu bar (Tools) and the toolbar in the a preferred embodiment of the present invention Main Window, and from the toolbar in the Query Definition dialog. The command can be issued when the focus is on either a query object or a table object (as a query underlies each table). Also, from within the Query Definition dialog a new query can be executed even if it hasn't yet been saved.
Each successful Get Data command displays the results of the query in a query result palette: The results, as shown in Figure 12 are displayed in a grid view in the palette and the palette remains on top of the application window until the palette is closed.
The four navigation buttons (variations on left and right arrows) in the palette's toolbar are used to access the first, previous, next, and last records (rows) in the grid view. These buttons mimic the operations associated with the
VCR buttons having these standardized icons. See the description of the Get
Data command described above for additional information.
Copy Query Results to Content Set View
The query results in the query result palette can be copied to a content set view. The records residing in a result palette exist only in temporary storage, so they must either be copied to one or more content set views or be lost when the palette is closed. Records can be copied and then pasted to a content set view's grid control or its tree node (or the records can be dragged and dropped). Only entire records - never partial records - can be copied to a content set view. Three types of copying are supported:
Add/Replace Records
This is the default behavior. Records in the query result will be copied to the content set view as new records. If similar records already exist in the content set view (i.e., their primary keys are identical and their contents were extracted from the same table(s)), then those records will be replaced; in effect, updating their contents. But before records are replaced, the user is prompted for authorization to do so. The contents of an existing record are replaced by the contents of a new record, on a column-by-column basis, according to the following rules: • Where the same column exists in both records, the content of the column in the new record replaces the content of the column in the old record. • Where a column exists in the new record but not in the old record, the new column is appended to the old record.
• Where a column exists in the old record but not in the new record, the column's content is refreshed with whatever value now exists in the original source for that column in that record.
Records are copied either through the standard menu commands of Copy and Paste (or keyboard shortcut equivalents) or through Drag and Drop. The records being copied will be added immediately below the selected record in the content set view, or following the last record if no record is selected. When a record being copied into a content set view is used to update an existing record, rather than create a new record, it can be the case that other content set views contain the same record. As described earlier, content set views only contain pointers to records in their associated content set - not the actual content. So, all content set views with the same record, that are associated with the same content set, are actually pointing to one record in the content set. In these instances, when the update includes adding a column to the record being updated, that column is visible - initially - only in the view to which it was added. The updated content of existing columns is immediately available to all views pointing to the record, but new columns are only visible to the other views after the columns are selected in the Show/Hide Columns dialog (see Show/Hide
Columns below).
Duplicate Records
If a record being copied already exists in the content set view, in addition to the option of replacing the record (see Add/Replace Records above), you can choose to create a duplicate of the record. This is done by using the Paste Special menu item instead of Paste, or by holding down the Control Key while dragging and dropping.
Using Paste Special will cause a dialog box to display that asks you to choose either the option of making a duplicate instance or the option of concatenating columns (this latter option is addressed in the following description about the third kind of copying). If a record or records being copied via either of these duplicating-records methods does not already exist, then the record(s) will be copied as new rather than being duplicated.
When duplicate records are being created in a content set view, the user is notified that all occurrences of a duplicate are being updated to contain the most recent values. This reflects the fact, that while the same record can appear more than once in a content set view, that only one instance of the record exists in the underlying content set to which the content set view belongs.
Merge Columns As described above for making duplicate records, when using the Paste
Special command for records with identical primary keys the user is given the option of creating duplicate records or concatenating (appending) the new records to the existing records. (Please note that for a record to be duplicated there must be a match on the primary key and the contents of the records must have been extracted from the same table(s). But for merging, the only requirement is that the primary keys must match.) The same result can be achieved when using the Drag and Drop operation by holding down both the Control Key and the Alt Key (this should change the appearance of the mouse cursor to alert the user that column concatenation is the operation being performed). When in the merge columns mode and there are no matching records in the content set view for a record being copied, the user is asked if the record being copied should be ignored or should be added as a new record.
One common use for this column merging option is the situation where records have been placed in a content set view without some information that isn't available until later in the production cycle - perhaps pictures or prices.
When this data/content eventually becomes available, a query can retrieve it into a result palette and the records can be merged into the content set view by matching on the primary key. Properties of Query The properties of a query can be displayed through the Property dialog box: • From the File menu select Properties; or right-click the object and select Properties from the context popup menu. The Property dialog box displays.
Creating Content Sets and Set Views
Overview
The primary function of the Content Builder Tool is to organize and manage content so as to assist and facilitate the assembly, grouping, page assignment, and versioning of information targeted to a promotion or production.
The principal devices used by the Content Builder to achieve these objectives are the content set and the content set view:
• Content Set - A collection of unique records, chosen from query results and/or application ly entered, that encompass the content available for: linkage to placeholders in a QuarkXPress a preferred embodiment of the present invention document; a Web site; uploading or downloading to other systems; etc. If the target is a document, a content set can be the content source for many documents, but a document can be associated with only one content set. Content Set View - A view contains an ordered list of references
(pointers) to some or all of the records in its associated content set. A view can also point to a content set indirectly; that is, it can be a view of another content set view. But a content set view never contains actual data records, it can only hold records that are pointers to content records, which are what reside in a content set. So, within this application, wherever there is a discussion of the copying of records from a query result palette to a content set view, or from one content set view to another content set view, what is being copied into the content set view are pointers, with the actual data records being copied into the content set. Creating and Organizing Content Sets& Set Views
Content Set Tree Nodes
Each content set and content set view that is created is placed in the hierarchical tree control. Content sets, such as shown in Figure 13, are displayed alphabetically under the system-defined tree node (Content Sets) used to group content sets. Content sets cannot be reordered nor can they be organized in folders.
A content set view is placed under a content set or another content set view. The content set views (the objects themselves, as opposed to their contents) can be sorted in ascending or descending sequence or can be applicationly reordered under their parent container (i.e., the content set or view to which they belong). The records within a content set view can also be sorted (see Sorting Records below). Content sets and content set views can be renamed, deleted, and duplicated using standard commands available to the tree control.
Creating a Content Set
A content set is a container that helps to implement the organizational concepts discussed above. There are no optional or customizable features to be specified by a user, so there is no dialog involved in the creation process. It is simply an object to be created:
In the tree control, select the Content Sets tree node.
Click the New Content Set button in the toolbar; or from the File menu, select New to open its submenu, and then select Content Set. The system will create a node in the tree control and assign a default name (e.g., Content Set 1). The user can then rename the content set to give it a meaningful name.
Creating a Content Set View
Much like a content set, a content set view is a fixed-format container without customizable features, so no dialog is required in the creation process.
To create a content set view:
In the tree control, select the content set or content set view under which the new content set view is to be placed.
Click the New Content Set View button in the toolbar; or from the File menu, select New to open its submenu, and then select Content Set View.
The system will create a node in the tree control and assign a default name (e.g., Content Set View 1 ). The user can then rename the content set view to give it a meaningful name. Adding Records to a Content Set View
Records from a query result palette can be copied to a content set view, rows can be applicationly inserted, and records from a content set view can be copied or moved to another content set view within the same content set. In the Overview to this section, it was noted that all content/data records reside in the content sets; that the content set views contain only pointers to those data records in the content sets. Nevertheless, when copying records they are copied to a content set view - then, without further intervention from the user, a preferred embodiment of the present invention will build the pointers to the records in the content set view and then place the data records in the content set.
Therefore, each unique data record appears only once in a content set, regardless of the number of occurrences of that record in the content set views, as all the occurrences in the views are merely pointers to the one record in the content set.
Copy Records from a Query Result Palette See the above detailed description about copying records from a query result palette to a content set view.
Copy/Move Records from a Content Set View
Copying records from a content set view is very similar to copying them from a query result. But the source is the grid control of the content set view rather than the query result palette. The source and destination content set views can be the same, a technique that can be used to duplicate records within the same content set view. Also, when the source is a content set view, instead of a query result palette, the option exists to move the records instead of copying them. The Move operation is similar to the Copy operation, but the records are also removed from the source view.
As noted above, copying from a query result palette is the same as copying from a content set view, differing only in the kind of grid in which the source records reside. But the Move feature is available only when the source is a content set view. The Copy and Move operations are also quite similar, with only the following variations when Move is the user's choice:
Use Cut instead of Copy when using the standard menu commands.
When using Drag and Drop to duplicate records, hold down the Shift Key rather than the Control Key. When using Drag and Drop to merge records, hold down the Alt Key, the Control Key, and the Shift Key (here, too, as when merging records from a query palette, the mouse cursor should change shape to confirm that concatenation (merging) is being performed). Commands are also available to aid in navigating among the records in a view's grid. The four navigation buttons (variations on left and right arrows) in the toolbar are used to access the first, previous, next, and last records (rows) in the grid view. These buttons mimic the operations associated with the VCR buttons having these standardized icons. The same operations are also available as menu commands:
From the View menu, select Record to open its submenu, and then select First Record, Previous Record, Next Record, or Last Record.
Heterogeneous Records
The ability to add records to a content set view includes the ability to insert records with different formats in the same content set view. This means that not all columns need to be common across all records in the same view. Thus, records displayed in a content set view grid control won't necessarily be uniform in the sense of sharing all columns.
Where this is the case, the cells of records under columns that don't belong to those records will be displayed in gray and won't be selectable.
Record Content Override
Two methods are available for applying an override to a value: either directly editing the value in its content set cell, or indirectly editing the value via a dialog box. For direct editing, simply select the cell and enter the change (see more about this below). However, direct editing of a value isn't permitted when either of the following conditions is in effect:
Override-restricted columns - When a content set column is marked in this manner, its values can be overridden via the dialog box, but the user must:
Confirm the intent to override by acknowledging the restriction before beginning the editing (a separate dialog box appears for this confirmation and for the confirmation in the next step).
Reconfirm this intent, after performing the edit and clicking the OK button. Content-set image columns - When the value to be overridden is in a cell in an image column, the override must be implemented via the dialog box.
For indirect editing: This command will be active when a single cell in one row is selected in a content set view's grid. It allows the user to replace the content of an individual cell within a single record (including a cell in an artificial or application column). However, the value being replaced is saved and can be restored at a later time:
Click the Override button in the toolbar; or from the Edit menu select Override; or double-click a cell. The Override dialog box for the selected cell displays is shown in Figure 14.
From within the dialog box the user is able to:
Specify the new override's value, scope, and auto-removal status (see the segment on Applying and Modifying Overrides in Section 5 for detailed descriptions of scope and auto-removal). If an override already exists with the matching scope, the new override replaces it.
Change the auto-removal status of existing overrides.
Remove one or more existing overrides.
If the value to be edited is small (e.g., the entire value is visible in the cell), the option exists to edit the data directly in the cell without using a dialog box. Simply select the cell and enter the change.
Another method of direct cell-content override (that is also valid for image columns) uses an existing file rather than the data entered in a dialog. This command is active, too, when a single cell is selected in a content set view's grid, and content replacement is limited to that selected cell: From the Insert menu select File.
The platform-dependent file-chooser dialog displays.
Select the file to be used in the replace operation and click OK.
The file content replaces the content of the selected cell.
Implicit in the overriding of a value in a content set cell is that the scope of the override is at the content set level (see the Applying and Modifying
Overrides segment below for a description of the different scope options and the effects of each). Sorting Records
The rows of records in a content set view grid can be sorted in both ascending and descending sequence. From within the grid control, click on a column header to sort the entire content set view based upon the values in the clicked column. The sort order will be in ascending sequence the first time the header is clicked and in descending sequence if chosen again (and will toggle back and forth on succeeding clicks).
Customizable sorting is available through the Sort dialog:
From the Tools menu, select Sort/Reorder; or from the View menu, select Column to open its submenu, and then select Sort/Reorder; or click the triangle in a column header in the view's grid control and select Sort from the drop-down menu. The Sort dialog box displays.
The two column sort table in the dialog is used to select the columns that are to be used in the sort process, along with the priority associated with each column's participation in the sort, and ascending/descending sequence for each column.
The Move Row Up and Move Row Down buttons can be used to reorder the list of column names, the sequence of which controls the priority of columns within the sort. Click the Save button to close the dialog, perform the sort operation, and re-display the sorted rows in the content set view grid.
Ordering Records
Ordering of the rows in a content set view can only be done from within the view's grid control. The Move Row Up and Move Row Down buttons in the toolbar can be used to reorder the rows in the grid.
Show/Hide Columns
The user has the ability to select which columns are to display in the content set view's grid. The super set of all available columns from which to choose comes from the content set to which the content set view belongs.
Hide Columns Click the triangle in a column's header in the content set view's grid control and select Hide Column from the drop-down menu. The selected column is now hidden.
Show/Hide Columns This menu item is active when a content set view's grid is in focus:
From the View menu, select Column to open its submenu, and then select Show/Hide. The Show/Hide Columns dialog box is displayed.
The window in the dialog lists all the columns in the content set that are part of any record in the current content set view. Next to each column name is a check box. Those columns that appear in the current grid view have a check mark to indicate that they are being shown.
Toggle the check boxes ON or OFF to show or hide columns.
Columns in the content set view cannot be deleted; they can only be hidden. Columns that aren't part of any record in any of the content set views that belong to a content set are automatically removed from the content set.
The columns listed can be filtered using the drop-down menu labeled Show. This menu provides these options:
All Columns Lists all the columns in the view.
Selected Columns
Lists just the selected
Unselected columns.
Columns
Lists just the unselected columns.
The Move Row Up and Move Row Down buttons in the toolbar can be used to reorder the rows in the dialog window.
Removing Records
Removing a row from a content set view can only be done from within the view's grid control. Removing rows from a content set view only removes the reference (pointer) to the record. The actual data/content record will still reside in the content set. Select a row for removal by clicking the icon at the beginning of the row:
Click the Delete button or the Cut button in the toolbar; or from the Edit menu, select Delete or Cut.
A popup box asks the user to confirm that the selected record should be deleted. Click Yes to delete the record.
Refreshing Data
Rows that are selected within a content set or content set view can be refreshed with current data from the original source of the rows. All columns within the selected rows will be refreshed; individual columns cannot be selectively refreshed. But not every row within the grid has to be refreshed:
Click the Refresh button in the toolbar; or from the Tools menu, select Refresh Data.
Properties of Content Sets and Content Set Views
The properties of a content set or content set view can be displayed through the Property dialog box:
Click the Properties button in the toolbar; or from the File menu select Properties. The Property dialog box displays.
Document Editor Overview
The primary function of the Document Editor is the integration of text and image data, extracted from various data sources with the "static" material in the QuarkXPress pages. Included in this manipulation of publication content is the ability of the designer to specify the location, appearance, and source of the data that is to be automatically inserted into the pages by the a preferred embodiment of the present invention XTension. Designers initiate Editor actions through a variety of common interface mechanisms, including drag and drop, the clipboard, and menus.
This process of efficiently inserting data into the pages of a production is greatly enhanced by the ability of data updates to flow in both directions. That is, data extracted from some source and then inserted into a page can be refreshed (i.e., updated) from that same source whenever appropriate or necessary.
Similarly, data entered or updated in the page itself can be saved back to the database(s) associated with the document. For example, data originally extracted from a database and inserted into a page and then updated on the page at some later date, can be used to update the database so that it contains the latest information and is in synch with the data being published. Please note: All of the features, operations, and commands discussed in this section are found in QuarkXPress and the QuarkXPress XTension. Log On the System
To access, from within QuarkXPress, the objects created in a preferred embodiment of the present invention (e.g., content sets), it is necessary to log-on to a preferred embodiment, as shown in Figure 1 of the present invention via a
QuarkXPress XTension:
From the File menu, select a preferred embodiment of the present invention Log On. Tha preferred embodiment of the present invention - Log On dialog box displays (shown in Figure 15). The name of the server, followed by the port number, should be present in the text field labeled Server. If not, select the proper name and port from the drop-down list that is accessible from the field's button, or enter them directly into the field.
The user's logon name and password are to be entered into the other two fields. Whenever desired, the user can change the password by clicking the Set button to open the Change Password dialog box.
Click the Log On button to establish the connection to a preferred embodiment of the present invention. Critical Components A great deal of flexibility and variety is provided as regards the automated insertion of text and images into the pages, whether it be appearance, sources and targets of the data, or a number of other aspects. And at the core of this powerful functionality is a hierarchy of components whose proper utilization greatly enhances the effectiveness of this tool. The most basic of these components, as well as being among those most frequently used, are shown below in the order of their sequence in the hierarchy:
Placeholder A combination of codes and names that controls the appearance, placement, and content of an information component on a page. When the content is also present it is considered to be part of the placeholder, but a placeholder can exist as just the codes. A group of related placeholders, all of which are associated
Linksets with only a single record. The identity of the record can be changed, but there can never be more than one record at a time for a linkset.
Data Item A text box or text path that includes one or more text placeholders, but not necessarily all the placeholders that make up a linkset. Or a picture box that serves as a placeholder.
Data Group A QuarkXPress group, one or more of whose items is a data item, or a data item that isn't part of a QuarkXPress group.
Data Group A data group that is saved in the Template Library. Copies
Template of the data group can then be made from the entry in the library. Selecting a Content Set
Content sets and content set views are created in the manner described above, and populated as described above. But before the data in a content set can be placed in the pages of a document, the content set must become associated with the document (a document can be associated with only one content set, but a content set can be associated with multiple documents). The process of attaching a content set to a document can only be initiated when the document is the active document in the QuarkXPress window:
From the View menu, select Show Content Set. The Content Set palette displays, as shown in Figure 16.
Choose the content set that is to be associated with the document by clicking its plus sign to display the content set views that belong to it.
Select the desired content set view. Doing so will display all of the view's records in the right-hand pane of the window.
A content set becomes associated with a document when a record from one of its views is bound to a placeholder in the document (see Binding Records to Placeholders below). Bind (or bound) is defined as the process (bind)/state (bound) of the association of a record in a content set view to a linkset in a document.
No other action is required to formalize the association of document and content set - as soon as a record from a content set view is bound to a placeholder in a document, the association is completed. The association can be terminated, if necessary, in one of the following ways:
If the decision is made immediately, the binding of the record and the association with the content set can be undone through use of the Undo command.
If the decision is made later, or there are multiple binds to be undone, each bound record in the document must be unbound (see Unbinding Records below). Placeholders Placeholders, as described above, are at the lowest level; the foundation of the building blocks used to automate the integration of dynamic data with the static data in QuarkXPress pages. Included among the most important features provided by placeholders are the following:
Placement Identifies the data item in which a specific data component
(text or image) is to be placed and its position within that data item.
Appearance Optional capability to override the source format derived from the display format defined for the data component's column in the database.
Identity Carries a number to identify the linkset to which it belongs.
Linkage It is one of the repositories (i.e., the data link) for information that provides for the bi-directional updating of content in every defined location where the content is stored, both internal and external to the a preferred embodiment of the present invention system. The record whose columns (data components) are used to populate all the placeholders belonging to a linkset now becomes "bound" to that linkset.
There are several ways in which a placeholder can be created, and the elements of which a placeholder is composed can vary (i.e., not every element that can be part of a placeholder is always present). Also, there are two categories of placeholders - text and picture - and there are several kinds of placeholders within each category.
Placeholders are created using menu commands in the manner described in the Creating New Placeholders segment below. Also, the primary text and picture placeholders (but not the static and tie variations of them) can be created via dragging and dropping procedures involving a content set view's grid control.
Using Drag & Drop to create a single placeholder can be done in either of two ways (see Binding Records to Placeholders to create multiple placeholders); the first way creates just the placeholder coding (or marker), and the second way creates the same coding and also appends the value from the bound cell: Coding only - Drag the column header from the desired column and drop it into the data item (text box or picture box). This will create a placeholder consisting of just the codes/marker in this format: <column-name linkset #> Example: <Price 1> Coding plus content - Drag just the cell from the desired record and column and drop it into the data item. This will create a placeholder with both the codes and the content/value of the cell: <column-name linkset # value> Example: <Price 1 $14.99> The Copy and Paste mechanism can also be used for creating a placeholder when a cell is to be used, but cannot be used for a column header.
The term "placeholder" applies to the entire entity or just a part of it. For example, take the situation when a user is working in a document where the mode has the coding hidden and just the content is visible (i.e., the Design view). When the performance of an operation requires that the user place the Insertion bar in the placeholder, placing it in the visible content is sufficient; that visible portion is also the placeholder. Creating New Placeholders
A text placeholder can take one of three different forms - a column placeholder, a static placeholder, or a product tie placeholder. And a picture placeholder can be either a column placeholder or a static placeholder. The column placeholder is usually the most common, by far, for both text and pictures, and a generic reference to a text placeholder or picture placeholder implies this common format rather than any of the other forms. Each of the several forms of text and picture placeholders is created in a different manner, and what is described in this segment is the column placeholder. The creation of the other two forms is described in separate segments of this section (see Assigning Static Text or Images to a Linkset, and Creating Product Tie Placeholders). Text and picture placeholders are similar in concept and behavior, and there is very little difference in how the two types of placeholders are created:
Place the Insertion bar at the desired location in a text box or text path, or select a picture box.
From the Item menu, select Insert Placeholder. The appropriate Placeholder dialog box displays (see Modifying Placeholder Properties below for an illustration of a dialog and instructions).
After the placeholder's properties are set, click the OK button. The placeholder appears in the text box at the insertion point or at the bottom of the picture box. The identifying number of the linkset (i.e., the linkset ordinal) to which the new placeholder belongs can be assigned while creating the placeholder. If the linkset to which the placeholder is being assigned already exists, the selected text box or picture box must be part of a data group. Assigning Static Text or Images to a Linkset Static text or images can be assigned to an existing linkset in the following manner:
Select the static text or image. In the Edit menu, pause the mouse cursor over the Linkset item to open its submenu.
The submenu lists each of the data group's linksets, as well as an entry for None. The selection's existing linkset affiliation is indicated as follows: If the entire selection belongs to one linkset, a check mark appears in that linkset' s menu item.
If no part of the selection is associated with any linkset, a check mark appears next to the None item in the menu.
If neither of the above is applicable, no check mark appears. Choose a linkset from the submenu to associate the text or image, including any selected placeholder(s), with the linkset. Or choose None from the submenu to dissociate the static text or image from any linkset(s). The choosing of None will not have any other effect on the placeholder(s).
As noted in the Modifying Placeholder Properties segment below, None is not a valid choice for a column name in a text placeholder. But it is valid in a static placeholder for linkset identification.
Static text and images associated with a linkset are hidden in a document unless a content set record is bound to the linkset and/or Show Placeholders is the active mode. This allows for the suppression of extraneous text and images in templates designed for a variable number of records.
Creating Product Tie Placeholders
Tie text is used to visually associate an image to its descriptive text. This takes the form of a letter or number that appears near the image, and the same letter or number also appears at the beginning of the appropriate text. To create a product tie placeholder:
Place the Insertion bar at the desired location in a text box or text path, or select a picture box.
From the Item menu, select Insert Product Tie. The Product Tie dialog box displays, as shown in Figure 17. There are two options available for choosing the characters to be used as product ties:
Click the "Use spread settings" radio button to indicate that the default style is derived from the settings established in the active spread in the document. Click the radio button associated with the text field and from the dropdown list select the example of the desired characters (upper or lower case letters, roman numerals, etc.).
An optional display format can be entered in the text field labeled for that purpose. For example, if the user wants a period to follow each occurrence of a product tie, a format like @"." could be used (see the Character Values section of Appendix A for display format information).
Click OK to activate the choices.
Creating a product tie placeholder creates just a single instance of the placeholder. So for each required product tie, either this process must be repeated or a tie placeholder must be copied.
Modifying Placeholder Properties
At any time after a placeholder has been created it can be changed or modified, via the editable properties presented in a dialog box: Place the Insertion bar in the placeholder or select the picture box.
From the Style menu, select Placeholder. The Placeholder Properties dialog box displays.
The properties that can be modified and the valid options for their modification are as follows, as shown in Figure 18: Column name: Chosen from a drop-down list whose contents are extracted from the associated content set. The list contains the names of only those columns with a datatype compatible with the placeholder (i.e., image columns for picture placeholders and all others for text placeholders). If no content set is attached to the document, the user can directly enter a column name into this field.
Setting the column name to None (valid when modifying existing picture placeholders, but not text placeholders - which are components of a larger entity) dissociates a picture placeholder from the content set; making the picture box static and having no assigned image. When this option is selected, changing the number of the linkset is not permitted. Also, a warning message is displayed about the effects of this option, and the user can either accept or abort the change.
Display format (text placeholders only): Chosen from a drop-down list that contains a predefined list of formats. The list contains only those formats compatible with the datatype (e.g., date) of the column chosen. Or, the user can directly enter a display format into this field (see Appendix A for display format information).
The Reset button is active if both of the following conditions have been met:
The display format has been previously modified. The placeholder content was created using a record copied (by dragging or pasting) from the content set, and the column in the record had a defined display format - i.e., a source format. Clicking the Reset button will restore the display format to the format originally provided by the content set (see the Display Format Propagation segment).
Display format (tie placeholders only): Tie text is used to visually associate an image to its descriptive text. This takes the form of a letter or number that appears near the image and the same letter or number appears at the beginning of the appropriate text. The data format can be chosen from the dropdown list, or the user can directly enter a display format into this field (see Character Values in Appendix A for display format information).
Static value (static placeholders only): This is text or an image that appears on the page only when the placeholder's linkset is bound to a record.
The user can directly enter the data into this field, or (optionally) the value can be carried forward when the placeholder's data group is saved as a template.
One example of a static value candidate is text that appears repetitively on a page - such as, the words Sale Price when they are to prefix most or all of the prices on a page.
Sample value: The sample value appears on a page, instead of a true component value, when the placeholder hasn't been bound to a cell in a record in the content set. The user can directly enter the data into this field, or (optionally) the value can be carried forward when the placeholder's data group is saved as a template.
The sample value is particularly useful as an aid in laying out or designing a page before the actual content is available. It provides visual feedback on placement and appearance during the design stage, so that when the real content becomes available, the page design shouldn't require much rework. When the real content does become available, it automatically supplants the sample value, so there is no need to delete the sample value from the placeholder's properties.
Linkset Ordinal: From within this dialog, there are two ways in which this number can be set:
Click the "Assign placeholder to specified linkset" radio button to indicate that the placeholder is to be assigned to an existing linkset. Then, in the text field labeled Ordinal, select the number from the drop-down list that identifies the linkset. Click the "Create new linkset" radio button to indicate that the placeholder is to be assigned to a new linkset. Then, in the text field labeled Ordinal, enter the number to be assigned to the new linkset.
An alternate method for assigning a placeholder to a linkset exists outside of the Placeholders Properties dialog: Place the Insertion bar in the placeholder or select the picture box.
From the Edit menu, pause the cursor over the Linkset item to open its submenu.
Choose the desired linkset from the submenu.
If the text box encompasses multiple placeholders and/or static text, all of the text and placeholders are assigned to the chosen linkset (see the Assigning
Static Text or Images to a Linkset segment).
Placeholder View Mode
The option exists to display either the placeholders' codes or the values assigned to them. One of the items in the View menu acts as a toggle and contains either Show Placeholders or Hide Placeholders. Choosing whichever item is shown will switch what is displayed on the page to that mode, and will substitute the other option into the menu item.
When in the Show Placeholders mode:
Placeholders are represented by their codes, column names, etc., rather than by their values.
Static text and images that are assigned to unbound linksets are visible (an unbound linkset being one that isn't associated with (bound to) a record in a content set), as are product ties. Other static text and images appear unchanged (see Assigning Static Text or Images to a Linkset).
When in the Hide Placeholders mode: All bound placeholder values are visible. Other static text and images appear unchanged (see Assigning Static Text or Images to a Linkset).
Placeholder codes take one of the following forms:
<column s> or <s static text> where s is the number of the placeholder's linkset, column is the name of the content set's column (cell) to which the placeholder is bound (with static text substituted for column where appropriate), and < > are the characters that enclose the placeholder.
Display Format Propagation
When each text placeholder is created, it is assigned a display format. Display formats can be assigned in two different ways and can be of two different kinds:
Assigning formats - Display formats can be explicitly designated via the Placeholder Properties dialog (see Modifying Placeholder Properties) or are automatically fashioned by default when creating or modifying a placeholder without using the dialog.
Kinds of formats - A display format that is derived from the display format of the placeholder's bound column is known as a source format. It is a true display format, with the name serving to identify its origin. All other display formats are known simply as display formats. As concerns display formats, a placeholder is always in either a receptive or an unreceptive mode (more on this status immediately below). So, when a placeholder is in a receptive mode, dragging or pasting a cell or column header onto it will result in its display format being replaced with the display format of the source object, which is a source format. Thus, we say the placeholder is receptive to a new source format.
When a placeholder is created, its display format is fashioned according to the placeholder's method of creation: Created by dragging or pasting from the content set - The placeholder is initially receptive and has a display format that is a source format derived from the source object, if the source object has one. Subsequent changes to the source format in the content set are not reflected in the display format of a placeholder already derived from it. If a source format doesn't exist for the source object, the placeholder is given a datatype-dependent default format.
Changing a placeholder's format puts the placeholder into an unreceptive mode. Resetting the display format - through the Placeholder Properties dialog - restores the original format and toggles the mode back to receptive. Created by copying - A copied placeholder (via clipboard or dragging) retains the current display format of the source placeholder, as well as the source format if the source placeholder had one (and the appropriate receptive/unreceptive mode). All of this also applies to placeholders created by copying a data group within a document. Created applicationly - A display format is explicitly assigned by the user or a preferred embodiment of the present invention assigns a default format based upon the associated column's datatype (see Creating New Placeholders). This placeholder is initially receptive; changing its format renders it unreceptive.
Created by copying a template - Each placeholder retains the format that was stored in the template, but - initially, at least - has no source format. Such placeholders may or may not be receptive, each depends upon what was stored in the template (see below in this segment for more information).
Once a placeholder is created, its display format, source format (if it has one), and receptiveness can be affected in a variety of ways: When a placeholder's display format is modified - through the
Placeholder Properties dialog - it becomes unreceptive until the format is reset; again, through the dialog.
Copying a content set cell or column header with a source format onto a receptive placeholder replaces the existing format and also establishes the new format as the placeholder's source format. If the source object has no defined format, the placeholder's current format is unaffected and its source format, if it has one, is discarded. Changing a placeholder's column association (i.e., the column to which it is assigned in a bound record), through the Placeholder Properties dialog, removes any source format, and the display format is established in the same manner as when a placeholder is applicationly created. When a data group is saved as a template, the current display format of each text placeholder is also saved. A saved format is "locked" (i.e., the placeholder is made unreceptive) if the placeholder is currently unreceptive, or if the user checks the Lock All Formats check box on the Save as Data Template dialog box. This option on the dialog will make all of the template's formats unreceptive.
Any placeholder that has a source format (i.e., a display format that was originally derived from the content set) and whose display format has been modified will appear as a "format override" on the Override Report. Placeholders without a source format never appear on this report as having been overridden.
Style Sheet
Style sheets have some similarity to display formats, but they are separate entities. Also, as opposed to display formats, style sheets are not new; they have long existed in QuarkXPress. As an existing feature, the properties of a style sheet are well documented, but there are several things to keep in mind about style sheets as regards their behavior within the a preferred embodiment of the present invention system:
Style sheet assignments are propagated in the same manner as described for display formats. If a placeholder column's named style sheet doesn't exist in the
QuarkXPress document, a preferred embodiment of the present invention will create a default style sheet with that name and with the attributes that exist in the document's normal style sheet.
When content from a column that contains stylized/rich text is placed in a document (i.e., bound to a placeholder), the style sheet attributes are applied first and the rich text formatting is applied afterwards, superseding the style attributes whenever there is a conflict.
Duplication and its Effect on Associations Whenever placeholders are duplicated as a result of any behavior designed for that purpose, any associations the original placeholders had are retained. Specifically, this applies to:
Placeholder-level overrides - If present, the overrides are duplicated. The user is notified of this at the time of duplication. Subsequent modification of a placeholder-level override affects only the placeholder to which the change is applied.
Creating a new linkset - Whether a linkset is created through duplication or subdivision (as occurs with ungrouping, see Effects of Grouping and Ungrouping on Data Items), the new linkset is bound to the same content set record as the original, or it is marked as unbound if the original was unbound. Linksets
Locating a Linkset's Placeholders
While in Show Placeholders mode (see Placeholder View Mode), all of the placeholders that belong to a linkset can be identified simply by visually noting those with a common linkset number. The user can also locate all of a linkset's placeholders - regardless of which viewing mode is active - by:
Placing the Insertion bar in a text placeholder or selecting a picture box.
From the Item menu, select Locate Linkset. A checkmark will appear next to the menu item, and all placeholders belonging to the linkset selected in step #1 will be highlighted.
Choose Locate Linkset a second time to return the appearance of the placeholders to normal and remove the checkmark from the menu item.
Finding Linksets A user is able to select a menu item that will locate the linkset or linksets within a document that are bound to a specific content set record:
Before initiating this locator feature, a single record must be chosen via one of the following methods:
Place the Insertion bar in any text placeholder that is bound to the search target.
Select an image placeholder (picture box) that is bound to the search target.
Select a single record in the content set grid. From the Edit menu, select Find Linksets. The Find Linksets dialog box displays.
The dialog box provides the following information and features:
The value that uniquely identifies the target record - i.e., its primary key. This value doesn't necessarily appear in a placeholder of any found linksets.
A button to proceed with finding the next linkset.
A check box that provides a means for the user to indicate whether or not to continue searching at the beginning of the document when its end is reached.
Binding Records to Placeholders A record is copied from the content set and bound to the linkset's placeholders either through the standard menu commands of Copy and Paste (or keyboard shortcut equivalents) or through Drag and Drop. And, optionally, multiple records can be copied in a single operation when the data group has multiple linksets (see Reordering Linksets in a Data Group below). When pasting or dragging content set records onto a text box, the result can be either the creation of one or more new, bound linksets or the binding of the records to the placeholders of existing linksets. What determines which of these two operations occurs is the position of the cursor when the drop takes place. The cursor must be positioned on a placeholder of the target linkset to begin the process of binding the records to existing linksets - in the sequence prescribed by the data group's linkset order. If the cursor isn't on a placeholder, this will initiate the process whereby new linksets are created and the records are bound to them.
Cursor placement is very sensitive, so if the intent of the user is to bind the records to existing linksets, a feature exists that will minimize the risk of an unintended outcome. This is done by the user setting the "No auto-linkset" option in the Application Preferences dialog accessed from the Edit menu. This limits the outcome to binding only and prohibits the creation of new linksets in this drop operation. However, this prohibition can be temporarily overridden by pressing and holding the Shift Key while dragging and dropping.
Two behaviors to be aware of when creating bound linksets are as follows: When a record is being bound to an existing linkset, if a placeholder is associated with a column that isn't present in the record, a warning message will appear.
If a new linkset is being created for the record to be bound to, text placeholders will be created in the text box for each text column in the record.
For each image column in the record, a picture box will be created that is associated with the column.
Another method for binding a record is available only through the dragging and dropping mechanism - not through pasting from the clipboard. This method provides for dropping a record on a blank area of the page
(QuarkXPress doesn't support pasting into blank areas, so this method is limited to dropping only). A requirement, though, is that a saved template has been - prior to the dragging and dropping operation -assigned to the record. Dropping the record causes the template to be opened in the page at the selected location and the record to be bound to its first linkset.
Unbinding Records
If the user wants to unbind a record (i.e., remove its association to a linkset, but don't terminate the linkset), there are two primary methods for doing so: Remove the record:
Place the Insertion bar in any placeholder that belongs to the linkset.
From the Item menu, select Unbind.
Replace the record:
Copy a different record to the linkset in the normal manner (pasting, dragging and dropping). The new record is bound to the linkset; unbinding the previously bound record in the process.
If the linkset, itself, is also to be deleted, this is done in the same way as the deletion of QuarkXPress text or boxes.
Reordering Linksets in a Data Group A linkset can be associated with only one record, but multiple content set records can be copied (dragged or pasted) to a placeholder in a data group. When this occurs, the data group's linkset order will determine which records are bound to which linksets. The general rules for assignment of records to placeholders, when multiple records are part of a single copy to a data group, are as follows:
Records are assigned to placeholders according to the order of the linksets. The order of linksets corresponds to their ascending numerical sequence.
The following mechanisms provide the means to somewhat alter the behavior described in the general rules, or to manipulate the association of placeholders and linksets so that the application of the rules will produce the desired results: The first source record is always bound to the target placeholder, regardless of the sequence of the placeholder's linkset in the order of linksets. And if it isn't the lowest in that order, records won't be bound to those placeholders with lower linkset numbers.
The linkset order can be changed by selecting the data group and then, from the Item menu, select Modify. The Modify dialog box displays as shown in
Figure 19.
Click the Linksets tab to display the proper panel in the dialog.
The order of the linksets is changed through the use of the Move Up and Move Down buttons. Click the OK button to implement the reordering. The linkset numbers in the placeholders in the data group are physically changed to correspond to the sequence specified in the dialog box. For example, if Linkset 5 is moved to the top of the list in the dialog, it becomes Linkset 1 in the data group, Linkset 1 becomes Linkset 2, etc. The general rule stated above that the order of linksets corresponds to their ascending numerical sequence is always true. But the linkset number assigned to a placeholder can be changed through the reordering feature.
Regardless of whether or not the order of the linksets in the data group has been modified, if the number of source records exceeds the number of linksets that remain in the order after the designation of the target placeholder, the user will receive a warning message. The user then has the option to abort the action (the copy) or to bind only as many records as there are linksets available.
Data Items and Groups Placing Data Groups on Master Pages
Data groups placed on a master page will appear on all document pages to which the master page is applied. These data groups behave as normal data items. Therefore, any change to a master page data group (such as associating records to its linksets) should be made on the master page, if the effect is to be seen on the document pages that use the master page.
Any master data group on a document page will be treated as a master item until such time as it is modified - which includes grouping and ungrouping. From that point forward, it is no longer a master item and will behave like any other data group on the document page.
Effects of Grouping and Ungrouping on Data Items
Every data group has a unique identifier. And a data group created by grouping and data groups resulting from ungrouping are going to have identifiers that are not only unique, but are different from any of the original identifiers. Thus, clipboard content will always be pasted into a "different" data group if that group resulted from grouping or ungrouping after the content was placed on the clipboard. Data items within the resultant groups are also affected:
Grouping two or more data groups:
Combines all linksets that are bound to the same content set record into a single linkset.
Combines unbound linksets that were formerly part of the same linkset.
Combines a bound linkset with unbound linksets if all were formerly part of the same linkset, with the resultant linkset bound to the same record.
Preserves the linkset order that existed within each former data group. But the relative order of a former group's linkset order to the linkset order of another former group is undefined.
Ungrouping a data group:
Presents the user with an offer to abort the ungrouping whenever a linkset spans data items that will reside in separate data groups after the ungrouping. Creates a new linkset for each linkset fragment found in the data groups that result from the ungrouping - since a linkset cannot span data groups.
Reproduces the linkset order within each resultant data group as it existed in the original data group. Applying and Modifying Overrides
Two methods are available for applying an override to a value: either directly editing the value in a placeholder or content set cell, or indirectly editing the value via a dialog box. For direct editing, simply place the Insertion bar in the placeholder or select the cell and enter the change. However, direct editing of a value isn't permitted when any of the following conditions is in effect:
Formatted values - When a placeholder employs a display format to configure the value, the override must be implemented via the dialog box.
Override-restricted columns - When a content set column is marked in this manner, its values can be overridden via the dialog box, but the user must:
Confirm the intent to override by acknowledging the restriction before beginning the editing (a separate dialog box appears for this confirmation and for the confirmation in the next step).
Reconfirm this intent, after performing the edit and clicking the OK button.
Content-set image columns - When the value to be overridden is in a cell in an image column, the override must be implemented via the dialog box.
Show placeholders - When in the Show Placeholders mode (see Placeholder View Mode above), the override must be implemented via the dialog box. Please note: When in the Design view (i.e., Hide Placeholders mode), if the user edits sample text (visible when the placeholder is unbound), it is not an override. None of the actions associated with an override take place, except that the text visible in the placeholder is changed - which in itself, is only visible on a temporary basis; until a record's column is bound to the placeholder. For indirect editing:
Place the Insertion bar in the placeholder or in the content set cell.
From the Style menu, select Override Value. The Override dialog box displays as shown in Figure 20.
From within the dialog box the user is able to: Specify the new override's value, scope, and auto-removal status (see below for descriptions of scope and auto-removal). If an override already exists with the matching scope, the new override replaces it.
Change the auto-removal status of existing overrides. Remove one or more existing overrides.
Scope: An override must have one of the following scopes:
Placeholder - The override applies to only the placeholder to which it is targeted, and suppresses the effect of a document override or a content set override.
Document - The override applies to all references in the document to the same bound value - but only those that don't already have a placeholder override. Selection of this scope suppresses the effect of a content set override.
Content Set - The override applies to all references to the same bound value, across all documents that use the content set. Here, the restriction limits application to only those that don't already have a placeholder override or document override.
Any placeholder with a value that has been overridden will appear as a "data override" on the Override Report. An override to a value using a certain scope doesn't prohibit a subsequent override to the same value that utilizes a different scope.
Auto-removal: When the auto-removal status is set to ON, an existing override is removed whenever the value of the cell changes as a result of:
Refreshing the cell. Issuing or re-issuing a query that retrieves the same data source record
(assuming that the record is then copied to the content set).
Storing a new value (see Storing a Value to a Data Source).
This applies to an override on the cell itself, as well as to any overrides in placeholders that are bound to the cell. Storing a Value to a Data Source
Overrides can be used to update the contents of placeholders and content sets, but the capability also exists to update the original source of their content - that is, the internal and external data sources. These are the databases, spreadsheets, etc., used to populate the virtual content database, which is always the target of any query issued by a preferred embodiment of the present invention.
Typically, this "storing" feature is used when a decision is reached that a value that is in, or should be in, a placeholder or content set is preferable to the value originally extracted from the data source. However, this feature isn't available if the column associated with the placeholder or cell is artificial, application, or read-only:
Place the Insertion bar in the placeholder or in the content set cell. From the Item menu, select Store Value. The ??? dialog box displays.
From within the dialog box the user is able to:
Use one of the valid methods to specify the value to be used to update the data source:
Enter the value directly into the text field provided in the dialog. Use the override value, if one is present for the placeholder/cell selected.
Use the last value retrieved from the data source. Examine and change the auto-removal status of existing overrides. Examine the value currently stored in the data source. If the update (store) fails, the overrides - if any - remain unchanged. If it succeeds, the cell is refreshed and the overrides are removed and replaced with the content of the cell.
Template Libraries Overview
Before discussing the function of template libraries, it might be helpful to review the definitions of several related components:
Data Item A QuarkXPress story (in one or more text boxes/paths) that includes one or more text placeholders, but not necessarily all the placeholders that make up a linkset. Or a picture box that serves as a placeholder. Data Group A QuarkXPress group, one or more of whose items is a data item, or a data item that isn't part of a QuarkXPress group.
A template is a data item or data group that is saved in a dedicated Quark a preferred embodiment of the present invention library for the specific purpose of being used to generate a copy of itself whenever needed. A template can be saved in any template library that has been created under the system-defined
Template Libraries node in the hierarchical tree control. It is possible to place templates in conventional QuarkXPress libraries, but Quark a preferred embodiment of the present invention template libraries are specifically designed for managing templates. They provide features such as summary views of all templates in a library, which for each template includes its thumbnail image, its name, size, fonts, etc. The template libraries of the system of the preferred embodiment of the present invention also provide the user with the means to create both private and shared template libraries. The shared template libraries are accessible to any workstation running the client application; whereas, only the user who creates a private template library has access to it. When it is installed, the system will define (or the user may designate) a root folder in the client file system where the system will manage the user's private template libraries. Except for the icon design, system presents both kinds of template libraries to the user with the same appearance and behavior. But whether private or shared, a template library's contents are not to be directly manipulated through the system's Operating System commands; content corruption and/or inaccessibility being the likely consequences. Create (or Modify) a Template Library
Creating a Template Library
Libraries can be used to organize templates into logical groupings for both private and shared templates, and there is no limit on the number of template libraries that can be created. There are no optional or customizable features to be specified by the user, so there is no dialog involved in the creation process. A template library is simply an object to be created that will serve as a container for templates: In the tree control, select the Template Libraries tree node.
Click the New Folder button in the toolbar; or from the File menu, select New to open its submenu, and then select Folder.
The system will create a node in the tree control and assign a default name (e.g., TemplateLibrary 1). The user can then rename the template library to give it a meaningful name.
Private or shared libraries Please note that a template library (folder) cannot be nested within another template library. Nesting is permitted for some tree nodes (e.g., a content set view can contain another content set view), but not for template libraries.
Views for Template Management A number of views are provided to depict the organization and content found under the Template Libraries node:
In the left-hand pane of the window is the tree view that shows all template libraries available to the user. The icons used for template folders provide the means to visually distinguish between private and shared template libraries. The plain-folder icon identifies a shared template library, while a folder embellished with a security symbol represents a private template library. The tree view orders all private folders before all shared folders, and within these two groups the folders are sorted alphabetically.
When a template library node (folder) in the tree is selected, a thumbnail view of each template in the selected library is displayed in the upper-right-hand pane.
When a template's thumbnail is selected, descriptive and style information about that template is displayed in the form view in the lower-right- hand pane. The horizontal bar that separates the thumbnail view and the form view can be dragged up or down to increase/decrease the size of the two panes, if desired, as shown in Figure 21.
When a template's thumbnail is double-clicked, another window is opened to show a larger preview image of the template. Storing a Data Group Template Data groups can be stored separately from QuarkXPress a preferred embodiment of the present invention documents for reuse as templates:
Choose the Content tool or Item tool in the toolbar and then select a single data group or a single, ungrouped text box or picture box. Whichever is chosen, the requirement is that the selected object has at least one placeholder. Select a template library from under the Template Libraries node in the tree control (from the View menu, select Show Content Set if the tree control isn't already displayed). From the File menu, select Save as Data Template. The Save as Data Template dialog box displays, as shown in Figure 22.
Enter the name for the template being saved. If the data item or group being saved was saved previously as a template in the same library, the name under which it was saved will appear as the default in the Name field. The user can accept the default or override it. If the item/group is being saved for the first time, or if a default name is being overridden, and the template name entered duplicates a name in the same library, the user will be prompted to either change the name or authorize replacement of the existing template. Linksets saved in a data group template are unbound, but the option exists to save the value that had been bound to each of a linkset's placeholders. If done, this causes the value in each bound content-set cell to be copied to its placeholder's Sample Value property. All placeholders in bound linksets are affected by the option's setting; the Sample Value properties of placeholders in unbound linksets remain unchanged by this action. The default for this option is
ON in the "Save Current Placeholder Values as Sample Values" check box. Another check box is available in the dialog. The Lock All Formats check box affects how placeholders in a template retain their display format (see Display Format Propagation). The default for this check box is OFF. Click the OK button.
A file is created that contains the selected data group. As noted, this template retains the data group's linksets and the column associations of its placeholders, but does not retain any record bindings that may have been in place (i.e., all linksets are in an unbound state). By default, data template files will be stored in the same folder as the
QuarkXPress document. The Save as Data Template dialog permits the user to override the default for the template being saved, or the option exists to choose a different default folder.
The descriptive preferred embodiment of the present invention is described for explanatory purposes only and is not meant to limit the scope of the appended claims.

Claims

CLAIMSWe claim:
1. A system for storing information, said system comprising: a computer system having one or more applications; at least one data storage devices; a user interface on said computer system; means connecting said at least one data storage devices to said user interface for allowing information to be exchanged between said at least one data storage device and said user interface; said user interface including means for constructing a query to retrieve information from said at least one data storage devices; said user interface including means for associating said information with said applications on said computer system; and means on said system for dynamically linking said information on said at least one data storage devices with said associated applications.
51
PCT/US2001/004431 2000-02-09 2001-02-09 Database publishing system and processes WO2001059560A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001241471A AU2001241471A1 (en) 2000-02-09 2001-02-09 Database publishing system and processes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18168900P 2000-02-09 2000-02-09
US60/181,689 2000-02-09

Publications (1)

Publication Number Publication Date
WO2001059560A1 true WO2001059560A1 (en) 2001-08-16

Family

ID=22665355

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/004431 WO2001059560A1 (en) 2000-02-09 2001-02-09 Database publishing system and processes

Country Status (2)

Country Link
AU (1) AU2001241471A1 (en)
WO (1) WO2001059560A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007060386A1 (en) * 2007-12-14 2009-06-18 Zippel Media Gmbh Data providing method for use during production of e.g. newspaper, involves storing data sets containing data on server that is connected with networks, individually defining record field from selected records, and providing field

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566330A (en) * 1991-08-20 1996-10-15 Powersoft Corporation Method for forming a reusable and modifiable database interface object
US5920870A (en) * 1996-05-22 1999-07-06 Wang Laboratories, Inc. Multi-layer abstraction bucket mechanism
US5970490A (en) * 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566330A (en) * 1991-08-20 1996-10-15 Powersoft Corporation Method for forming a reusable and modifiable database interface object
US5920870A (en) * 1996-05-22 1999-07-06 Wang Laboratories, Inc. Multi-layer abstraction bucket mechanism
US5970490A (en) * 1996-11-05 1999-10-19 Xerox Corporation Integration platform for heterogeneous databases

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007060386A1 (en) * 2007-12-14 2009-06-18 Zippel Media Gmbh Data providing method for use during production of e.g. newspaper, involves storing data sets containing data on server that is connected with networks, individually defining record field from selected records, and providing field

Also Published As

Publication number Publication date
AU2001241471A1 (en) 2001-08-20

Similar Documents

Publication Publication Date Title
US6240412B1 (en) Integration of link generation, cross-author user navigation, and reuse identification in authoring process
USRE44652E1 (en) Computer-readable data product for managing sales information
US7571392B2 (en) User definable task based interface
US5787416A (en) Methods for hypertext reporting in a relational database management system
US7533116B2 (en) Method and system for displaying files to a user
US8010909B1 (en) Derived hierarchy methods and system for definition, visualization and editing of data
US6466953B1 (en) Method and apparatus for hierarchical drawing sheet management
JPH04332069A (en) Control method for multi-user cooperation system
JPH0784858A (en) Document managing method
US20110246535A1 (en) Apparatus and Method for Constructing Data Applications in an Unstructured Data Environment
CA2526045A1 (en) Complex data access
US20090094271A1 (en) Variable driven method and system for the management and display of information
McManus Database Access with Visual Basic 6
Jelen et al. Excel 2013 pivot table data crunching
JP2002169709A (en) Managing method of keeping and storing method for document
WO2001059560A1 (en) Database publishing system and processes
Duffy The Black Sheep
JP3493354B2 (en) Document search method
Lambert et al. Microsoft Access 2013 Step by Step
JP2002288186A (en) Method and system for classification and management of electronic data
Barrows et al. Access 2010 All-in-one for Dummies
AU5829999A (en) Database query technique
Estifanos Engineering and Technology Faculty Computer Science Department
Johnson Microsoft Office Access 2007 on Demand
LeCorps Microsoft access fundamentals: A practical workbook for small businesses

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP