US20060156220A1 - System and method for managing dynamic content assembly - Google Patents

System and method for managing dynamic content assembly Download PDF

Info

Publication number
US20060156220A1
US20060156220A1 US10/839,109 US83910904A US2006156220A1 US 20060156220 A1 US20060156220 A1 US 20060156220A1 US 83910904 A US83910904 A US 83910904A US 2006156220 A1 US2006156220 A1 US 2006156220A1
Authority
US
United States
Prior art keywords
link
content
document
links
dcam
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US10/839,109
Inventor
John Dreystadt
Timothy Allen
John Koenig
Curt Malouin
Ying-Che Fang
Andrew Dobrowolski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arbortext Inc
Original Assignee
Arbortext Inc
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 Arbortext Inc filed Critical Arbortext Inc
Priority to US10/839,109 priority Critical patent/US20060156220A1/en
Assigned to SILICON VALLEY BANK reassignment SILICON VALLEY BANK SECURITY AGREEMENT Assignors: ARBORTEXT, INC.
Assigned to ARBORTEXT, INC. reassignment ARBORTEXT, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FANG, YING-CHE, DOBROWOLSKI, ANDREW E., DREYSTADT, JOHN N., KOENIG, JOHN A., MALOUIN, CURT M., ALLEN, TIMOTHY P.
Publication of US20060156220A1 publication Critical patent/US20060156220A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Definitions

  • This invention relates generally to a system for creating, linking, and assembling electronic content. More specifically, it relates to a system and method for dynamically assembling content from different sources.
  • content may be generated and edited using a variety of editors, such as Microsoft Word, Web editors (e.g., Arbortext's Contributor), and Extensible Markup Language (XML) editors (e.g., Arbortext's Epic Editor).
  • editor such as Microsoft Word, Web editors (e.g., Arbortext's Contributor), and Extensible Markup Language (XML) editors (e.g., Arbortext's Epic Editor).
  • PDF Portable Document Format
  • HTML Hypertext Markup Language
  • WML Wireless Markup Language
  • PostScript PostScript
  • Content may also be published to compiled formats such as HTML-Help, MS Reader, formats for personal digital assistants (PDAs), and formats for mobile phones.
  • the present invention is designed to support the defining, creating, modifying, storing, reusing, validating, resolving, and exchanging multiple link types.
  • Each link or link collection may have multiple audiences defined.
  • Each link or link collection may have multiple media-appropriate, output-resolution filters.
  • Each link or link collection may be validated for the given contexts of media format, audience, compound document usage, and document or sub-document component version.
  • FIG. 1 illustrates an overview of the DCAM steps of the Arbortext DCAM system in accordance with one embodiment of the present invention.
  • FIG. 2 illustrates a first embodiment of the architecture of a DCAM system.
  • FIG. 3 illustrates a second embodiment of the architecture of a DCAM system.
  • FIG. 4 illustrates a diagram of a server diagram in accordance with one embodiment of the present invention.
  • FIG. 5 illustrates schema implemented by a database in accordance with one embodiment of the present invention.
  • FIG. 6 illustrates a diagram of the client extensions in accordance with one embodiment of the present invention.
  • FIG. 7 illustrates a screen shot of the Link to Current Document version of an Insert Link dialog in accordance with one embodiment of the present invention.
  • FIG. 8 illustrates a screen shot of the Link to Repository version of an Insert Link dialog in accordance with one embodiment of the present invention.
  • FIG. 9 illustrates a screen shot of the Link to Web Object version of an Insert Link dialog in accordance with one embodiment of the present invention.
  • FIG. 10 illustrates a screen shot of an Modify Link Properties dialog in accordance with one embodiment of the present invention.
  • FIG. 11 illustrates a screen shot of a Link Explorer dialog in accordance with one embodiment of, the present invention.
  • FIG. 12 illustrates a screen shot of an Apply Profiles dialog in accordance with one embodiment of the present invention.
  • FIG. 13 illustrates a screen shot of an Apply Profile Group dialog in accordance with one embodiment of the present invention.
  • FIG. 14 illustrates a screen shot of a Search dialog in accordance with one embodiment of the present invention.
  • FIG. 15 illustrates a screen shot of an Export Linkbase dialog in accordance with one embodiment of the present invention.
  • FIG. 16 illustrates a screen shot of a Profile Filter dialog in accordance with one embodiment of the present invention.
  • FIG. 17 illustrates a screen shot of a Profile Filter Group dialog in accordance with one embodiment of the present invention.
  • FIG. 18 illustrates a diagram of creating a link definition in accordance with one embodiment of the present invention.
  • FIG. 19 illustrates a diagram of creating a link definition in accordance with one embodiment of the present invention.
  • FIG. 20 illustrates a diagram of creating a link definition in accordance with one embodiment of the present invention.
  • FIG. 21 illustrates a diagram of creating an ID/IDREF link in accordance with one embodiment of the present invention.
  • FIG. 22 illustrates a diagram of linking internally in accordance with one embodiment of the present invention.
  • FIG. 23 illustrates a diagram of IDing an element in accordance with one embodiment of the present invention.
  • FIG. 24 illustrates a diagram of inserting a link reference in accordance with one embodiment of the present invention.
  • FIG. 25 illustrates a diagram of creating an outbound link in accordance with one embodiment of the present invention.
  • FIG. 26 illustrates a diagram of browsing/selecting a starting resource in accordance with one embodiment of the present invention.
  • FIG. 27 illustrates a diagram of browsing/selecting an ending resource in accordance with one embodiment of the present invention.
  • FIG. 28 illustrates a diagram of inserting a link repository reference in accordance with one embodiment of the present invention.
  • FIG. 29 illustrates a diagram of inserting a link repository reference in accordance with one embodiment of the present invention.
  • FIG. 30 illustrates a diagram of composing with a DCAM system in accordance with one embodiment of the present invention.
  • FIG. 31 illustrates the functioning of a link resolution filter in accordance with one embodiment of the present invention.
  • FIG. 32 illustrates the configuration components for linking, data merging, and profiling in accordance with one embodiment of the present invention.
  • FIG. 33 illustrates a diagram of the configuration components in accordance with one embodiment of the present invention.
  • FIG. 34 illustrates the overall flow of inserting data in a document using data merge in accordance with one embodiment of the present invention.
  • the present invention is capable of dynamically managing content linking and assembly.
  • Dynamic Content Assembly Management or “DCAM,” is generally the process of supporting and enabling the creation, transformation and management of relationship information between content resources and dynamic assembly of content based on these relationships.
  • DCAM Dynamic Content Assembly Management
  • a DCAM system provides a means for defining, creating, modifying, linking, reusing, validating, resolving, and assembling dynamic content using an efficient and automated process.
  • Dynamic Content Assembly can be divided into many functional areas such as: embedding traversal points such as hyperlinks; embedding content from one resource into another resource; transforming content to a representation in the desired data format; filtering content based on meta-information such as the target audience for a specific portion of the content; and transforming the content to a representation with the desired style.
  • the DCAM System (or Link Management System) of the present invention is an application and underlying database, which supports the creation, transformation and management of relationship information between resources. Links can serve multiple purposes such as:
  • link as used herein, is meant generally and includes not only hyperlinks but also “include”, “fileref”; or any other means for embedding text or content within a document.
  • link management in the DCAM system supports all types of dynamic content assembly management.
  • Extensible Markup Language provides a useful, human and machine readable, standardized syntax for representing content, metadata, links, queries, transforms, and configuration information, which permits simplified processing of dynamic content.
  • Document content prose
  • W3C Standards such as XML Linking Language (Xlink), XML Path Language (XPath), and Extensible Stylesheet Language (XSL) can be leveraged to enable application programmers and users with a standard, application interchangeable syntax.
  • PDF Portable Document Format
  • HTML-Help and MS Reader formats for palm devices, formats for cell phones, and/or exchanged with partners and customers in a source format such as XML.
  • Each media type has its own functional capabilities for representing dynamic content. For example a print document represents a navigation link such as ‘See also “The Definitive Guide,” chapter 13, paragraph 12’ while an HTML file might have a hyperlink embedded in the phrase “Get More Information” to a specific paragraph in another HTML file.
  • a link For each media format the “link” needs to be represented natively for that format.
  • more complex links may require dynamic HTML using a scripting language such as JavaScript.
  • the same cross reference may appear as “Contact Arbortext, Inc.” or alternatively “See Arbortext, Incorporated's web site at www.arbortext.com”
  • a DCAM system enables resolving links appropriately for each media format.
  • links may be managed using the DCAM system of the present invention: simple links (also called outbound or navigation links), inbound links, graphic links, extended links, taxonomy links, object to object links, links for use with other applications, links wherein the application decides the traversal means, third party links, related information links, and media object links.
  • simple links also called outbound or navigation links
  • inbound links graphic links
  • extended links extended links
  • taxonomy links object to object links
  • object to object links links for use with other applications
  • links wherein the application decides the traversal means third party links, related information links, and media object links.
  • a simple link associates exactly two resources, one local and one remote, with an arc going from the former to the latter.
  • a simple link is always an outbound link (going away from the linking element).
  • An outbound link is used when an explicit location within an object references outside the object. With this type of link, the profiling of the link determines the resolution. Conversely, if the arc of the link were to start at a remote resource and end at a local resource, the link is inbound. An inbound link relationship is maintained entirely within link manager.
  • a graphic link is used when an explicit location within an object references to different graphics based on profiling. With this type of link, the profiling of the link determines the resolution.
  • An extended link associates an arbitrary number of resources. The participating resources may be any combination of remote and local.
  • a taxonomy link associates information with a subject taxonomy.
  • Taxonomy links are used to associate topics with subjects and categories of subjects. This allows improved searching for appropriate topics both for specific subjects such as cardiac infarction and general subjects such as heart disease.
  • a third party link is a link wherein neither the starting resource nor the ending resource is local.
  • Related information links are used when an object does not explicitly reference another object but a relationship exists. This type of link is a third party arc entirely maintained in the link repository.
  • the links provided are in relation to a given resource.
  • Media object links are frequently context sensitive links. Resolution may be document dependent, output dependent or language dependent.
  • XML further simplifies managing a document as a hierarchical collection of sub-document level components. These collections are often referred to as “compound documents.” For example, a cookbook is made of 20 recipe chapters, but each recipe chapter is stored individually. A given recipe chapter may be reused in numerous books. Creating and managing a link in a sub-document component which may be reused in multiple contexts is difficult. If these documents and components are managed in a content management system, they may also be versioned.
  • the present invention provides a DCAM system that may be used to enable the managing and resolving of links for different document contexts and different document versions.
  • the DCAM system of the present invention may be used to publish alternate views of a document targeting different audiences.
  • a catalog may contain different prices for customers, partners, and employees.
  • the catalog may be different for North America, Europe, and Asia., and may also differ when in print versus web format. Making links work in all of these contexts is often handled by manual processes and redundant copies of the document content.
  • the present invention enables the assembly of content dynamically to suit the needs of a given audience.
  • Documents may be a combination of textual content created by authors and database content derived from queries performed against a database application.
  • the invention in providing a DCAM system, provides mechanisms for managing the database derived content the same way that the textual content is managed. This allows the database derived content to be profiled for different audiences and to be published appropriately for different output media formats
  • the present invention supports reuse, repurposing and dynamic assembly.
  • This includes multichannel publishing such as output sensitive linking, information reuse such as context sensitive linking, dynamic content such as inclusion and data merge, and content supply chain such as web services.
  • Performing link management using the present invention has several benefits.
  • a single link may be managed with different output resolutions—thus providing simplified support for multichannel publishing. Further, a single link may be managed with different resolutions based on different contexts. This enables template-based authoring and reusing rather than duplicating business data with context sensitive links.
  • Linked content may be dynamically included based on context and can include or reference the content.
  • a web services interface supports information exchange across the enterprise and a Simple Object Access Protocol (SOAP) Application Program Interface (API) (discussed more fully below) is provided for manipulating a link repository.
  • SOAP Simple Object Access Protocol
  • API Application Program Interface
  • the link manager manages component or linking relationships internal to an object, across objects, across versions, across publishing cycles, and across supply chains.
  • FIG. 1 illustrates an overview of the DCA steps of one embodiment of a DCAM (or link management) system.
  • the DCAM system In order to run a dynamic content process, the DCAM system must manage and interpret configuration information for each process.
  • the dynamic content process is initiated at block 10 with a request to parse a document.
  • the request may be initiated by determining an access point, such as an end point of a relationship arc (described above).
  • the end point of the relationship arc may be either the start or the end of the relationship arc.
  • links are found at block 12 .
  • Additional data regarding the link is fetched at block 14 during link resolution. For example, link profiling (explained more fully below) may be performed.
  • the link type is checked at block 16 .
  • the link is a navigation link
  • updated markup is inserted at block 18 based on the additional data. If the link is not a navigation link, determination is made, at block 20 , of whether the link is a simple embedding of content or a graphic. If the link is a simple embedding of content or a graphic, the actual embed operation happens at block 22 . If the link is not a simple embedding of content or a graphic, the link type is an assembly operation at block 24 and the actual complex assembly operation happens at block 26 . Thus, the contents of the link is assembled dynamically based upon rules. Once the assembly operation is performed, the content of the link is available from the access point.
  • the DCAM system of the present invention also permits incorporating references to external data sources using data merge (described more fully below) wherein the references are then periodically resolved.
  • managing the dynamic assembly of content involves determining an access point or end point of a relationship arc or link.
  • the arc leads from the access point to contents for dynamic assembly.
  • contents for dynamic assembly For example, a hyperlink leads to a url.
  • the content to which the arc leads may be verified based upon rules. Once the appropriate relationship is verified, the content is made available from the access point.
  • FIG. 2 illustrates the architecture between an example DCAM client application and a DCAM server application.
  • the example DCAM client application shown is Epic Editor 40 .
  • a set of DCAM Client Extensions 30 provide additional user interfaces and programming logic to the client application.
  • a DCAM Repository 48 is shown including an Epic E-Content Engine 64 , a Relational Database 65 , DCAM Server Extensions 63 , and a SOAP Transport Layer 34 . Operations requiring interactions with the DCAM Repository 48 first call into the client SOAP Transport Layer 32 . This communicates with the corresponding SOAP Transport Layer 34 inside the DCAM Repository 48 . The interactions are then processed by the DCAM Server Extensions 63 which extend the Epic E-content Engine 64 . These same extensions 63 use a Relational Database 65 for long-term storage and retrieval of information.
  • a link management application generally performs certain functions. These functions typically require the application to include means to create, modify, remove, store, configure the behavior of, validate, resolve and exchange link information with other applications.
  • the architecture of a DCAM System in accordance with a first embodiment of the invention is shown in FIG. 2 .
  • a diagram of an alternate architecture of a DCAM System of the present invention is shown in FIG. 3 .
  • the DCAM System includes: an Epic Editor Authoring User Interface 40 , a DCA Repository Authoring User Interface 42 , a DCA Configuration 44 , a Configuration Interface 46 , a DCA Repository 48 , a DCA Repository Administrator Interface 50 , a DCA Repository SDK 52 , a Linkbase 54 , a DCA Resolver 56 , a DCA Resolver SDK 58 , and a DCA Validator 60 .
  • an Epic Editor Authoring User Interface 40 a DCA Repository Authoring User Interface 42
  • a DCA Configuration 44 a Configuration Interface 46
  • a DCA Repository 48 e.g., a DCA Repository Administrator Interface 50
  • DCA Repository SDK 52 e.g., a DCA Repository SDK 52
  • Linkbase 54 e.g., a DCA Resolver 56 , a DCA Resolver SDK 58 , and a DCA Validator 60 .
  • the Epic Editor Authoring User Interface 40 is a user interface used within the Epic Editor environment. It is an interface for creating, modifying, removing and managing linking information. Generally, operations performed by an author within the editing environment are exposed through this interface.
  • the DCA Repository Authoring User Interface 42 is a user interface for creating, modifying, removing and managing linking information directly in the link repository. Generally, operations performed by an author within this environment are exposed through this interface.
  • the DCA Configuration 44 is the configuration information for the DCA system based on a specific data model.
  • the focus of this application is configuration rather than customization. To this end, anything which can be abstracted to this configuration generally should be.
  • the Configuration Interface 46 is a simple user interface for inputting and modifying configuration information for the DCA system based on a data model.
  • the DCA Repository 48 is a database application for storage, search and retrieval of the link information.
  • the DCA Repository Administrator User Interface 50 is the user interface for performing IT administration functions on the DCA Repository 48 .
  • the DCA Repository SDK 52 is documented Application Program Interface (API) for programmatically communicating with the DCA Repository 48 .
  • API Application Program Interface
  • the Linkbase 54 is an Xlink compliant linkbase XML document. These documents may be used to export portions of the DCA Repository 48 or to import modifications into the DCA Repository 48 .
  • the DCA Resolver 56 is a filter in the content pipeline for resolving linking information.
  • the DCA Resolver SDK 58 is documented API of the Java methods (or other) used in the DCA Resolver 56 .
  • the DCA Validator 60 is a validation program to verify the validity of link information.
  • the DCA server is a system designed to manage linking information externally from documents, while still maintaining actual links as if they solely exist within documents.
  • the DCA server provides late-binding linking, in a variety of formats. Using this, a link may be formatted into a variety of link syntaxes at publish time.
  • the DCA system comprises three major components: a server tier, a transporttransport tier, and a client tier.
  • the design of the DCA system is flexible, enabling bindings to be made to any database.
  • the overall language used in the design of the DCA system is Java.
  • the system may be built for an Oracle Platform. Alternately, any other relational database platform may be used.
  • the DCAM System includes a Server Tier, a Transport Tier, and a Client Tier.
  • the server tier of the DCAM System comprises a database bound to a server application.
  • the server application contains logic necessary to interact with the database, and exposes a full API. All database access is performed through the server API.
  • the server component is central to the DCA System.
  • the server component is responsible for storing and managing all linking information within the system.
  • the server component comprises a database binding, classes representing database objects, and an API that connects the components, in addition to providing a simple way to interface with the server.
  • a server diagram is provided at FIG. 4 .
  • XML text 61 is input into a Composition Pipeline 62 .
  • the server component may be customized by writing custom applications that use the Server Extensions 63 to add functionality.
  • the Server Extensions 63 provides multiple classes that are programmatic representations of database objects and their corresponding collection classes.
  • the Server Extensions 63 may be tied to the Epic E-content Engine 64 and Relational Database 65 . Information can then be output as print output 66 , web output 67 , or other outputs 69 .
  • the Server component is built on top of a SQL compliant database.
  • FIG. 5 illustrates schema implemented by the database to properly store the linking information.
  • the database schema contains the tables and relationships necessary to store and manage links, resources, resource pairs, folders, and their associated properties and metadata.
  • the links table 70 contains all links in the system. Each link includes one or more titles (as it has multilingual support) and may have metadata properties associated with it.
  • the link_metadata table 72 contains a list of metadata properties related to the links.
  • the link_title table 74 contains one or more names for each link. Again, links may have multiple titles defined, each in a different language.
  • the link_folders table 76 contains a hierarchical listing of folders used to categorize and classify links.
  • the link_folder_metadata table 78 contains metadata properties that are related to link folders.
  • the link_folder_title table 80 contains titles that are directly related to each link folder. Multiple titles may be specified, each in a different language.
  • the resources table 82 contains a listing of resources within a repository. Each addressable object (documents, element, etc.) has a resource definition specified in this table. Resources may be addressed by URI and when URIs are stored, they are broken down into their component atoms. All resources that are considered top-level documents have an is Document flag set.
  • the resource_metadata table 84 contains metadata properties that are related to the resources.
  • the resource_title table 86 contains titles that are directly related to each resource. Multiple titles may be specified, each in a different language.
  • the resource_folders table 88 contains metadata properties that are related to resource folders.
  • the resource_folder_title table 90 contains titles that are directly related to each resource folder. Multiple titles may be specified, each in a different language.
  • the resource_pairs table 92 contains a listing of all resource pairs in the system.
  • Resource pairs are components of a link that comprise a starting and ending resource (both of which are relationships to the resource table), as well as information about the role and traversal constraints. Resource pairs may be related to profiles to scope their usage. Resource pairs are bound to links, and upon deletion of a link, that deletion will be cascaded to it's resource pairs.
  • the properties table 94 maintains a listing of XML attributes pertinent to each resource pair (such as graphic size, etc.) that are placed in markup at resolution time.
  • the profiles table 96 contains profiles defined within the system. Profiles are defined on a per doctype basis and may span multiple doctypes. Profiles are applicability attribute values that, when references, set the usage and scope of a resource pair.
  • the resource_pair_profile_xref table 98 contains relationships of resource pairs to profiles. A resource pair may be related with as many profiles as desired.
  • the named_profiles table 100 contains a mapping of names to profiles. This may be used to create a grouping or categorization of profiles. Further shown are a link_folder_metadata table 106 , a link_folders table 108 , a link_title table 110 , and a link_folder_title table 112 .
  • a configuration table 104 may be provided containing system configuration information relevant to the DCAM server.
  • the transport tier of the DCAM System provides the communication link between the client tier and the server tier.
  • the transport tier facilitates client/server communications.
  • the format for transport requests is SOAP (Simple Object Access Protocol).
  • the transport layer may be referred to as a SOAP transport layer.
  • Each SOAP request is considered a transaction boundary.
  • transport-oriented languages such as EJB, RMI, and CORBA
  • FIG. 6 expands upon FIG. 2 and illustrates the relationship between the transport layer 34 and DCAM Client Extensions 30 .
  • the transport tier 34 is a SOAP aware implementation, used to enable client/server communications. Due to the simple nature of SOAP, all transactions occur through HTTP (hypertext transfer protocol).
  • User Interface Code 115 goes through Scripting API 116 and/or Application API 117 .
  • DCAM Client Extensions 30 are applied before the code 115 is input to the Scripting API 116 and Application API 117 .
  • the Scripting API 116 and Application API 117 then output the Code 115 through the Service Interface 118 and finally to the transport layer 34 .
  • the transport tier manages user sessions and transactions, by interpreting requests, executing transactions atomically, and returning those results. Each operation is performed by creating one or more data transfer objects along with a command, sending the objects and command wrapped in a SOAP request, processing the command which returns as results zero or more data transfer objects, and returning the results of the operation wrapped in a SOAP response.
  • the client tier contains everything needed by users to create, delete and manage links.
  • One embodiment of the client side implementation includes Epic customizations (menu items, hooks, etc.), user interfaces, and a client API that provides direct access to the server. The client API facilitates communications to the transport tier. Calls to the server are done within a transaction.
  • the client component includes all classes necessary to create/submit a transaction and receive those results in the form of classes that represent server side objects.
  • the client API comprises two APIs, the scripting API 116 suitable for use from scripting languages that are not object aware and the application API 117 suitable for use from languages that are object aware.
  • FIGS. 7-16 illustrate specific embodiments of user interface details. These figures are intended as illustrative only and are not intended to limit the present invention.
  • FIG. 7 illustrates a screen shot of an Insert Link dialog 120 for inserting a link from the current document in accordance with one embodiment of the present invention.
  • the Select Target(s) From box 122 enables the user to select targets from the DCAM Repository, the Current Document, or the Web.
  • the Current Document Selection is displayed in FIG. 7 .
  • the Current Document Targets table 126 displays available targets in the current document. The user may select any of the targets.
  • the Selected Targets table 128 lists the targets selected.
  • the Display Button 130 allows the user to select the fields to display in the Selected Targets table 128 .
  • the Insert button 134 allows the user to insert a link reference in the current document at the cursor location.
  • the Modify button 136 launches a Modify Link Properties dialog (see FIG. 10 ) allowing the user to update the attributes of a link.
  • FIG. 8 illustrates a screen shot of an Insert Link dialog 120 for inserting a link from the DCAM Repository in accordance with one embodiment of the present invention.
  • the Link Name field 124 allows the user to assign a human readable name to the link.
  • the Select Target(s) From box 122 enables the user to select targets from the DCAM Repository, the Current Document, or the Web.
  • the DCAM Repository selection is displayed in FIG. 8 .
  • the DCAM Targets table 144 is a tree control of the available targets in the DCAM Repository and allows the user to select an existing link from the Repository.
  • the Selected Targets Table 128 lists the targets selected.
  • the Display Button 130 allows the user to select the fields to display in the Selected Targets table 128 .
  • the Modify button 136 launches a Modify Link Properties dialog (see FIG. 10 ) allowing the user to update the attributes of a link.
  • FIG. 9 illustrates a screen shot of an Insert Link dialog 151 for inserting a link from the Web in accordance with one embodiment of the present invention.
  • the Link Name field 124 allows the user to assign a human readable name to the link.
  • the Select Target(s) From box 122 enables the user to select targets from the DCAM Repository, the Current Document, or the Web.
  • the Web selection is illustrates in FIG. 9 .
  • the Web Target Name field 154 allows the user to assign a human readable name to the target.
  • the Web Target URL field 155 allows the user to assign a URL to locate the target resource. If the Browse button 156 is used, the URL field 155 will be populated with the location selected.
  • the Browse button 156 launches a Web browser and records the URL of the currently selected page in the browser in the URL field 155 .
  • the Selected Targets table 128 lists the targets selected.
  • the Display button 130 allows the user to select the fields to display in the Selected Targets table 128 .
  • the Modify button 19 launches a Modify Link Properties dialog (see FIG. 10 ) allowing the user to update the attributes of a link.
  • FIG. 10 illustrates a screen shot of a Modify Link Properties dialog 210 .
  • This dialog allows the user to modify any of the properties associated with the link.
  • the Source Label field 212 allows the user to assign a label to the source resource.
  • the Target Name field 214 displays the name of the target resource.
  • the Target Locator field 216 displays the locator of the target resource.
  • the Target XML ID field 218 displays the XML Id of the target resource.
  • the Target Label field 220 allows the user to set the label of the target resource.
  • the Markup Combo Box 226 allows the user to select the type of link markup represented by the link.
  • the list may be prepopulated with link tags specified in the document types DCF file.
  • the Profiles button 228 launches the Apply Profiles dialog (see FIG. 12 ), allowing the user to apply profiles to the link.
  • FIG. 11 illustrates a screen shot of a DCAM Explorer dialog 240 .
  • the DCAM Explorer permits automatic target registration and user defined folder creation. The user may choose links, resources, and data merge components. Thus, the dialog allows the user to manage links in the same manner they would manage files on a file system.
  • the user may be provided with the ability to profile groups.
  • the user may save and name a choice of profiles, which may later be applied to an object by selecting the named profile group, rather than requiring each choice to be selected each time.
  • the user may also save and name a choice of profiles, which may later be used to designate the profiles to use for resolution purposes (such as at block 14 of FIG. 1 ) by selecting the named profile filter, rather than requiring each choice to be selected each time.
  • Profile values may be added dynamically during the editing process.
  • the user may define particular elements to restrict individual profiles to or from.
  • the user may define element markup for profiling rather than simply attribute markup. Further, the user may define the specific order in which profile values appear.
  • Hierarchical profiles may be provided to allow the user to apply a group of profiles simultaneously to an object based on selecting a containment node. Typically, the profiles are applied at the leaf level. Radio profiles may be provided. Radio profiles are mutually excusive profiles where only one choice is allowed. Profiling may be done via containment. Containment is the concept where a single profile value represents the inclusion of other lower level profiles (for example, “top secret” including “secret, classified, and unclassified”). Further, named profiles may be used (profile groups and profile filters), profiles may be restricted to or from particular elements, and logical expressions (AND, OR, NOT, EQUAL, XOR) may be included in profile filters.
  • a screen shot of an Apply Profiles dialog 250 is illustrated in FIG. 12 .
  • the dialog 250 permits adding new profile values, naming and saving profile selections, and supporting hierarchical and radio choice profiles.
  • the Apply Profile tree control 252 shows the profile values represented as a tree control.
  • the checkboxes or radio buttons allow the user to choose the profiles to apply.
  • the Apply Individual Profiles radio control 254 is selected, individual profiles are displayed.
  • the Apply Profile Group radio control 256 is selected, profile groups are displayed.
  • the OK button 258 applies the profile values selected in the tree control to the applicable markup.
  • FIG. 13 illustrates a screen shot of an Update Element Profile dialog 272 .
  • the dialog allows a user to individually select profiles or to select a named profile group for updating the element profile.
  • the tree control 274 shows the profile values represented by the profile groups. The user may choose the profile group to simultaneously apply all the listed values.
  • the Apply Individual Profiles and Apply Profile Group radio buttons, 275 and 276 respectively, allow the user to choose the profiles to update. When the Apply Individual Profiles radio button 275 is selected, individual profiles are displayed, When the Apply Profile Group radio button 276 is selected, profile groups are displayed.
  • the OK button 276 applies the profile values represented by the profile group to the applicable markup.
  • a screen shot of a Search DCAM Links dialog 280 is illustrated at FIG. 14 .
  • This dialog 280 allows the user to search for links based on the properties of the link itself, its resource pairs, and the starting and ending resources of those resource pairs.
  • the link and resource pair properties are listed on the Link Properties tab 282 .
  • the source resource properties are listed on the Source Properties tab 284 .
  • the target resource properties are listed on the Target Properties tab 286 .
  • the Advanced Parameters tab 288 allows users to specify additional search criteria, which can either be user defined attributed on the resource pairs or less visible properties of links, resource pairs and resources (such as DCAM key).
  • Most parameters, except the Referenced/Included field 290 allow the user to specify an operator that discusses the way to test the entered values with those in the database.
  • These operators include: like (the value in the object contains the given value), greater than (the value in the object is greater than the given value), less than (the value in the object is less than the given value) and equals (the value in the object is equal to the given value).
  • search results are returned, they are displayed in the Search Results folder in the DCAM Explorer dialog (See FIG. 11 ).
  • a screen shot of an Export Linkbase dialog 300 is illustrated at FIG. 15 .
  • This dialog allows the user to export the data for all of the DCAM links in the current document, including resource pairs, source, and target resources.
  • the XML file containing the link data may be referred to as a linkbase.
  • a linkbase typically contains lay names, custom metadata, XML IDs, and URLs. It may be sent to a downstream process or organization so that the link information may be used outside of DCAM. Downstream applications may require link data in specific formats, and multiple linkbase templates may be installed for different formats.
  • the Save As control 301 and associated Browse button 302 specify the output linkbase filename.
  • the Stylesheet drop down list 303 and associated Browse button 304 select which XSL stylesheet is used to create the linkbase.
  • the stylesheet determines the format of the linkbase.
  • the stylesheet drop down list 303 is populated with a list of XSL for the document type that can be used for linkbase export. All .xsl files in the doctype directory are examined and the ones that include “linkbase” in their “CompositionType” list are displayed. “CompositionType” is generally specified in a PI near the beginning of the XSL file.
  • the Browse button 304 allows the user to select any XSL stylesheet, regardless of whether “linkbase” is in its “CompositionType” list.
  • Epic sets up a composition pipeline that includes a link filter (filters out non-DCAM markup), a link resolution filter (retrieves link data from database), and a filter for the selected stylesheet.
  • a linkbase export stylesheet may be used to transform canonical DCAM link markup into desired linkbase markup.
  • a screen shot of a Profile Filter dialog 308 is shown at FIG. 16 .
  • the dialog 308 is used to set the profiles during resolution. The default assumption is all values are logically ANDed together.
  • the user selects the Filter Group button 310 .
  • the Filter Group button 310 launches the Profile Filter Group dialog (see FIG. 29 ).
  • the Profile Filter Group dialog 312 is shown at FIG. 17 .
  • This dialog 312 allows the user to choose a predefined named profile filter group for setting the profiles.
  • These profile filter groups support complex, logical expressions such as logical conjunction, logical disjunction, logical inequivalence, logical equivalence, and logical negation.
  • a link definition may either be created manually or automatically.
  • any elements within the object which are IDed can automatically create a special type of link definition, called a Target, in the user interface.
  • the DCF can define what elements to automatically ID and what attribute or element content to use as the name of the link target.
  • the attribute to use as the ID is registered with the DCF file. If configured in this way, the application automatically registers the link target with the repository for use later by other authors.
  • FIG. 18 provides a basic diagram of creating a link definition.
  • FIG. 19 expands on the creation of a link. As shown, this may be done by using “autoregister.” If the document registered flat is not set, the resources in the document must be set at the user interface level. At that point, or if the document registered flag is set, it is determined whether the Autoregister flag equals true. If no, final state is reached. If yes, the next step at the user interface level is to walk the document. Next, link definitions are created in the repository for ever link type element. Within the client code, this involves committing all links and resource pairs to the repository. Within the transport layer, batch create links is performed. Within the server code, all links and resource pairs are created in the database and IDs are returned for created links. At the user interface level, the next step is to encapsulate the link markup with a tag such as “ ⁇ atidcamm:link>. Link names are then determined through the DCF configuration file and final state is reached.
  • autoregister If the document registered flat is not set, the resources
  • FIG. 20 illustrates a diagram of creating a link definition. This can involve simply naming the link and recording the link in the repository. Alternately, creating a link definition for a resource pair involves setting the reference starting resource, setting the reference ending resource, setting profiles, and setting any other attribute values. The link can then be recorded in the repository.
  • FIG. 21 illustrates a diagram of creating an ID/IDREF link.
  • the first step is to link internally. Next, resource information is captured. The link definition is then created and a link reference is inserted.
  • FIG. 22 diagrams linking internally. If the element is already IDed, the ID Label is selected from the list. If the element is not IDed, the user IDs the element.
  • FIG. 23 diagrams IDing an element. The first step is opening the object. Next, the user browses/selects the element. An ID is autogenerated. The user then sets the element's ID Attribute to the Generated ID. The ID is then labeled.
  • FIG. 24 diagrams inserting a link reference. The first step is to register a starting resource with the link. The next step is to insert the link reference in the object.
  • FIG. 25 is a diagram illustrating creating an outbound link. The first step is to browse/select an ending resource. The next step is to create a link definition. Finally, the link reference is inserted.
  • FIG. 26 diagrams browsing/selecting a starting resource.
  • the first step is to browse/select an object. If the link is internal to the object, the next step is to link internally. After linking internally, or if the link is external to the object, the next step is to capture resource information.
  • FIG. 27 diagrams browsing/selecting an ending resource. The first step is to browse/select an object. If the link is internal to the object, the next step is to link internally. After linking internally, or if the link is external to the object, the next step is to capture resource information.
  • FIG. 28 is a diagram illustrating inserting a link repository reference.
  • a file link reference is inserted to the link repository.
  • a CMS link reference is inserted into the link repository.
  • a web link reference is inserted into the link repository.
  • a link repository reference is inserted into the link repository.
  • Diagramatically, the link repository reference is between the Link Author and the Object Author.
  • FIG. 29 further diagrams inserting a link repository reference. The first step is to browse the link repository. Next, a link is selected. Finally, a link reference is inserted.
  • FIG. 30 is an alternative to FIG. 1 illustrating composing with the DCAM system in more detail.
  • Composition starts with XML Documents 400 which are sent to an E3 Server 402 at block 410 .
  • the E3 Server 402 parses the documents (block 10 of FIG. 1 ) and sends them to the Content Pipeline 404 at block 412 .
  • links are found in the content (block 12 of FIG. 1 )
  • the links are sent to the DCAM Resolver 406 at block 414 .
  • the links are resolved against the DCAM Repository (block 14 of FIG. 1 ) and the resolved links are sent back to the Content Pipeline 404 at block 416 .
  • Data merge queries are also processed against the Data Merge Data Store 408 .
  • the Content Pipeline continues resulting in composed documents such as HTML in the embodiment shown.
  • the functioning of the link resolution filter 340 is illustrated in FIG. 31 .
  • SAX events from object processing are input into the Link Resolver Filter 340 .
  • the reference link is converted to markup the SAX events.
  • the SAX events are then output from link processing.
  • an application calls the establishClientSession( ) method in the Application API. This call initiates a connection to the transport tier, which passes on the create session request to the server. If the user authenticates, a session is created. Once a Client Session object is created, user actions may generate calls to the Service interface. That interface generates a SOAP request and sends it to the transport tier which processes the transaction through the server. Upon completion, the server returns a SOAP document containing all of the results.
  • FIG. 32 depicts the configuration components for linking, data merging, and profiling. Because customers have many different needs around linking and data merge, these functions are highly configurable.
  • FIG. 33 shows the general nature of the configuration components. The markup resolution is configured using XSL stylesheets, XML files are used to configure how targets are automatically identified (Resource Definition), both the database queries and the parameter handling for datamerge, and the configuration of profiling.
  • Data merge permits including content from a separate data store.
  • Data merge is the incorporation of references to external data sources in a document, and the periodic resolution of those references.
  • a reference to some external data is called a query.
  • Three authoring stages may be identified: query declaration; reference to a query declaration; and update of one or more query results.
  • Named declarations are reusable, that is, they may be reference many times. They are given a name when created and their location defines their scope. The name must be unique for the scope.
  • Query declarations with no name are not reusable. The point of declaration is the only reference.
  • Query results appear at the location of a query reference. Results are inserted at the time a reference is inserted or whenever a reference to a query is updated.
  • a query declaration must refer to an external data source, called the query definition.
  • a query definition comprises of a UI component and a formal definition.
  • the UI component includes: the name of the query definition, the parameters that must be passed to the query, whether the query returns document content of name/value pairs, and if the document content is returned, a representative top level tag for quick context verification.
  • the name of the query definition links a document's query declaration to a query definition.
  • the formal definition includes: a source stage, one or more transformation stages, a description of the order in which the stages are to be applied, and a mapping of UI parameters to actual parameters for each stage.
  • the source stage may be any program that generates a Document Object Module (DOM) node.
  • DOM Document Object Module
  • the actual source may be a database, a file, a URL, or some external process.
  • the program is responsible for presenting the result as a node, perhaps using some simple markup to represent value pairs.
  • the transformation stages take a DOM node as input and generate a new DOM node as output.
  • the data merge framework is designed for flexibility and extensibility. It adapts the Model-View-Controller (MVC) design paradigm and uses a pipeline structure for handling data acquisition and processing.
  • MVC Model-View-Controller
  • the MVC paradigm separates the business logic from the user interface, allowing both sides to be modified independently.
  • a pipeline allows easy reuse of components.
  • FIG. 34 illustrates the overall flow of inserting data into a document. Three major components are shown in the diagram. DOM Server 350 , Data Merge Controller 352 and Query 354 .
  • DOM Server 350 takes input from a user and displays the result.
  • Data Merge Controller 352 interprets user inputs and passes the information to and from a Query 354 .
  • Query 354 processes the information provided by the Controller 352 .
  • the Data Merge Controller 352 constructs a set of parameters based on the user inputs and current document instance and then selects a Query 354 for execution. Upon returning of the query, the node is inserted by the Data Merge Controller 352 into the DOM Server 350 .
  • DOM Server 350 refers to the program which is capable of manipulating a Dom instance and displaying a DOM instance when in the interactive mode.
  • Data Merge Controller 352 is a program that consists of helper functions that are assembled from DOM API. It receives requests from the user, distributes the requests to queries and then inserts the result into a document. It is also responsible for updating changes and retrieving data fields.
  • a Query 354 comprises one Source and zero or more Transformers.
  • a source is a component that can generate a DOM node.
  • a Transformer takes an existing node as input and returns a modified node as the output.
  • a Query process generates a DOM node (which may be an element, document fragment, or document) and returns it to the Data Merge Controller.
  • a Query generally comprises three components: SQL Query, Transformation and XPath.
  • the Query process retrieves data from a database and transforms the result using some XLT Transformation. Before returning the result, an XPath filter is applied to retrieve only interested components.
  • the query process involves a sequence of transformations.

Abstract

A dynamic content assembly system, including an application and underlying database, with methods to support the creation, transformation and management of relationship information between resources and to enable dynamic assembly of content based on these relationships.

Description

    FIELD OF THE INVENTION
  • This invention relates generally to a system for creating, linking, and assembling electronic content. More specifically, it relates to a system and method for dynamically assembling content from different sources.
  • BACKGROUND OF THE INVENTION
  • In today's content publishing environment, content may be generated and edited using a variety of editors, such as Microsoft Word, Web editors (e.g., Arbortext's Contributor), and Extensible Markup Language (XML) editors (e.g., Arbortext's Epic Editor). Similarly this content may be published to a variety of output media formats, including print, Portable Document Format (PDF), various forms of Hypertext Markup Language (HTML), Wireless Markup Language (WML), and PostScript. Content may also be published to compiled formats such as HTML-Help, MS Reader, formats for personal digital assistants (PDAs), and formats for mobile phones.
  • Assembling documents from various formats can be challenging. The documents must be assembled from many different pieces with many different cross-document links. While the task of storing documents and their components in a repository is currently being handled by multiple vendors, there is a need to automate the dynamic assembly of document components and their related links to other document components. This assembly is currently being done in a laborious way requiring extensive special case programming.
  • The complexity of dynamic content assembly across multiple media formats, audiences, compound documents, and versions can be costly when done via manual processes such as creating multiple documents, cutting and pasting content, or completely recreating information with additional review required for all newly created information.
  • Accordingly, there is a need in the art for a system or method to manage the dynamic creation, linking, and assembly of content.
  • BRIEF SUMMARY OF THE INVENTION
  • The present invention is designed to support the defining, creating, modifying, storing, reusing, validating, resolving, and exchanging multiple link types. Each link or link collection may have multiple audiences defined. Each link or link collection may have multiple media-appropriate, output-resolution filters. Each link or link collection may be validated for the given contexts of media format, audience, compound document usage, and document or sub-document component version.
  • While multiple embodiments are disclosed, still other embodiments of the present invention will become apparent to those skilled in the art from the following detailed description. As will be apparent, the invention is capable of modifications in various obvious aspects, all without departing from the spirit and scope of the present invention. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not restrictive.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an overview of the DCAM steps of the Arbortext DCAM system in accordance with one embodiment of the present invention.
  • FIG. 2 illustrates a first embodiment of the architecture of a DCAM system.
  • FIG. 3 illustrates a second embodiment of the architecture of a DCAM system.
  • FIG. 4 illustrates a diagram of a server diagram in accordance with one embodiment of the present invention.
  • FIG. 5 illustrates schema implemented by a database in accordance with one embodiment of the present invention.
  • FIG. 6 illustrates a diagram of the client extensions in accordance with one embodiment of the present invention.
  • FIG. 7 illustrates a screen shot of the Link to Current Document version of an Insert Link dialog in accordance with one embodiment of the present invention.
  • FIG. 8 illustrates a screen shot of the Link to Repository version of an Insert Link dialog in accordance with one embodiment of the present invention.
  • FIG. 9 illustrates a screen shot of the Link to Web Object version of an Insert Link dialog in accordance with one embodiment of the present invention.
  • FIG. 10 illustrates a screen shot of an Modify Link Properties dialog in accordance with one embodiment of the present invention.
  • FIG. 11 illustrates a screen shot of a Link Explorer dialog in accordance with one embodiment of, the present invention.
  • FIG. 12 illustrates a screen shot of an Apply Profiles dialog in accordance with one embodiment of the present invention.
  • FIG. 13 illustrates a screen shot of an Apply Profile Group dialog in accordance with one embodiment of the present invention.
  • FIG. 14 illustrates a screen shot of a Search dialog in accordance with one embodiment of the present invention.
  • FIG. 15 illustrates a screen shot of an Export Linkbase dialog in accordance with one embodiment of the present invention.
  • FIG. 16 illustrates a screen shot of a Profile Filter dialog in accordance with one embodiment of the present invention.
  • FIG. 17 illustrates a screen shot of a Profile Filter Group dialog in accordance with one embodiment of the present invention.
  • FIG. 18 illustrates a diagram of creating a link definition in accordance with one embodiment of the present invention.
  • FIG. 19 illustrates a diagram of creating a link definition in accordance with one embodiment of the present invention.
  • FIG. 20 illustrates a diagram of creating a link definition in accordance with one embodiment of the present invention.
  • FIG. 21 illustrates a diagram of creating an ID/IDREF link in accordance with one embodiment of the present invention.
  • FIG. 22 illustrates a diagram of linking internally in accordance with one embodiment of the present invention.
  • FIG. 23 illustrates a diagram of IDing an element in accordance with one embodiment of the present invention.
  • FIG. 24 illustrates a diagram of inserting a link reference in accordance with one embodiment of the present invention.
  • FIG. 25 illustrates a diagram of creating an outbound link in accordance with one embodiment of the present invention.
  • FIG. 26 illustrates a diagram of browsing/selecting a starting resource in accordance with one embodiment of the present invention.
  • FIG. 27 illustrates a diagram of browsing/selecting an ending resource in accordance with one embodiment of the present invention.
  • FIG. 28 illustrates a diagram of inserting a link repository reference in accordance with one embodiment of the present invention.
  • FIG. 29 illustrates a diagram of inserting a link repository reference in accordance with one embodiment of the present invention.
  • FIG. 30 illustrates a diagram of composing with a DCAM system in accordance with one embodiment of the present invention.
  • FIG. 31 illustrates the functioning of a link resolution filter in accordance with one embodiment of the present invention.
  • FIG. 32 illustrates the configuration components for linking, data merging, and profiling in accordance with one embodiment of the present invention.
  • FIG. 33 illustrates a diagram of the configuration components in accordance with one embodiment of the present invention.
  • FIG. 34 illustrates the overall flow of inserting data in a document using data merge in accordance with one embodiment of the present invention.
  • DETAILED DESCRIPTION
  • The present invention is capable of dynamically managing content linking and assembly. Dynamic Content Assembly Management, or “DCAM,” is generally the process of supporting and enabling the creation, transformation and management of relationship information between content resources and dynamic assembly of content based on these relationships. Thus, generally, a DCAM system provides a means for defining, creating, modifying, linking, reusing, validating, resolving, and assembling dynamic content using an efficient and automated process.
  • Dynamic Content Assembly (DCA) can be divided into many functional areas such as: embedding traversal points such as hyperlinks; embedding content from one resource into another resource; transforming content to a representation in the desired data format; filtering content based on meta-information such as the target audience for a specific portion of the content; and transforming the content to a representation with the desired style.
  • The DCAM System (or Link Management System) of the present invention is an application and underlying database, which supports the creation, transformation and management of relationship information between resources. Links can serve multiple purposes such as:
      • indicating a point of traversal to a related piece of content, for example, Hyperlink in a web document.
      • embedding textual content of one resource at a particular location in another resource, for example, a company biography paragraph may be stored separately and used by reference in multiple pages.
      • embedding graphical content of one resource at a particular location in another resource, for example, a logo or graphic in a Hypertext Markup Language (HTML) page which is stored separately from the HTML page and could be used by reference in multiple pages.
      • embedding content from an external application, for example, including product specifications from a product data management system in a marketing data sheet about that product.
      • indicating a related collection of information by associating multiple pieces of related content, for example, a Retailer providing a related collection to a purchaser of a certain product.
      • indicating the audience for the content, which allows creation of a single source of content that supports multiple views, for example, the views could be driven by the person reading the document deciding between the expert view and the beginner's view, by the parent document needing the repair description rather than the build description, or by the publishing process needing the Spanish version rather than the English version.
        The present invention enables dynamic assembly of content based on these relationships or links.
  • The term link, as used herein, is meant generally and includes not only hyperlinks but also “include”, “fileref”; or any other means for embedding text or content within a document. Thus, the concept of link management in the DCAM system supports all types of dynamic content assembly management.
  • Generally, Extensible Markup Language (XML) provides a useful, human and machine readable, standardized syntax for representing content, metadata, links, queries, transforms, and configuration information, which permits simplified processing of dynamic content. Document content (prose) can be created as XML natively, or transformed from proprietary applications to XML. Data from a variety of software applications including directly from many databases is accessible as XML. W3C Standards such as XML Linking Language (Xlink), XML Path Language (XPath), and Extensible Stylesheet Language (XSL) can be leveraged to enable application programmers and users with a standard, application interchangeable syntax.
  • In today's content publishing environment, content may need to be published to print, Portable Document Format (PDF), multiple forms of HTML including different web sites, locations, and languages, compiled formats such as HTML-Help and MS Reader, formats for palm devices, formats for cell phones, and/or exchanged with partners and customers in a source format such as XML. Each media type has its own functional capabilities for representing dynamic content. For example a print document represents a navigation link such as ‘See also “The Definitive Guide,” chapter 13, paragraph 12’ while an HTML file might have a hyperlink embedded in the phrase “Get More Information” to a specific paragraph in another HTML file.
  • For each media format the “link” needs to be represented natively for that format. For example, in HTML a link could be defined by a simple anchor tag such as: <a href=“http:www.arbortext.com”>. However, more complex links may require dynamic HTML using a scripting language such as JavaScript. For printed documents, the same cross reference may appear as “Contact Arbortext, Inc.” or alternatively “See Arbortext, Incorporated's web site at www.arbortext.com”
  • As links become more complex—one to many, many to many, rings, etc.—the ability to create, verify, and resolve links for multiple publish media becomes exceedingly difficult to do manually. A DCAM system enables resolving links appropriately for each media format.
  • Several types of links may be managed using the DCAM system of the present invention: simple links (also called outbound or navigation links), inbound links, graphic links, extended links, taxonomy links, object to object links, links for use with other applications, links wherein the application decides the traversal means, third party links, related information links, and media object links.
  • A simple link associates exactly two resources, one local and one remote, with an arc going from the former to the latter. Thus, a simple link is always an outbound link (going away from the linking element). An outbound link is used when an explicit location within an object references outside the object. With this type of link, the profiling of the link determines the resolution. Conversely, if the arc of the link were to start at a remote resource and end at a local resource, the link is inbound. An inbound link relationship is maintained entirely within link manager. A graphic link is used when an explicit location within an object references to different graphics based on profiling. With this type of link, the profiling of the link determines the resolution. An extended link associates an arbitrary number of resources. The participating resources may be any combination of remote and local. A taxonomy link associates information with a subject taxonomy. Taxonomy links are used to associate topics with subjects and categories of subjects. This allows improved searching for appropriate topics both for specific subjects such as cardiac infarction and general subjects such as heart disease. A third party link is a link wherein neither the starting resource nor the ending resource is local. Related information links are used when an object does not explicitly reference another object but a relationship exists. This type of link is a third party arc entirely maintained in the link repository. The links provided are in relation to a given resource. Media object links are frequently context sensitive links. Resolution may be document dependent, output dependent or language dependent.
  • XML further simplifies managing a document as a hierarchical collection of sub-document level components. These collections are often referred to as “compound documents.” For example, a cookbook is made of 20 recipe chapters, but each recipe chapter is stored individually. A given recipe chapter may be reused in numerous books. Creating and managing a link in a sub-document component which may be reused in multiple contexts is difficult. If these documents and components are managed in a content management system, they may also be versioned. The present invention provides a DCAM system that may be used to enable the managing and resolving of links for different document contexts and different document versions.
  • Additionally, the DCAM system of the present invention may be used to publish alternate views of a document targeting different audiences. For example, a catalog may contain different prices for customers, partners, and employees. The catalog may be different for North America, Europe, and Asia., and may also differ when in print versus web format. Making links work in all of these contexts is often handled by manual processes and redundant copies of the document content. The present invention enables the assembly of content dynamically to suit the needs of a given audience.
  • Documents may be a combination of textual content created by authors and database content derived from queries performed against a database application. The invention, in providing a DCAM system, provides mechanisms for managing the database derived content the same way that the textual content is managed. This allows the database derived content to be profiled for different audiences and to be published appropriately for different output media formats
  • The present invention supports reuse, repurposing and dynamic assembly. This includes multichannel publishing such as output sensitive linking, information reuse such as context sensitive linking, dynamic content such as inclusion and data merge, and content supply chain such as web services. Performing link management using the present invention has several benefits. A single link may be managed with different output resolutions—thus providing simplified support for multichannel publishing. Further, a single link may be managed with different resolutions based on different contexts. This enables template-based authoring and reusing rather than duplicating business data with context sensitive links. Linked content may be dynamically included based on context and can include or reference the content. A web services interface supports information exchange across the enterprise and a Simple Object Access Protocol (SOAP) Application Program Interface (API) (discussed more fully below) is provided for manipulating a link repository.
  • The link manager manages component or linking relationships internal to an object, across objects, across versions, across publishing cycles, and across supply chains.
  • FIG. 1 illustrates an overview of the DCA steps of one embodiment of a DCAM (or link management) system. In order to run a dynamic content process, the DCAM system must manage and interpret configuration information for each process. As seen in FIG. 1, the dynamic content process is initiated at block 10 with a request to parse a document. The request may be initiated by determining an access point, such as an end point of a relationship arc (described above). The end point of the relationship arc may be either the start or the end of the relationship arc. As the document is parsed, links are found at block 12. Additional data regarding the link is fetched at block 14 during link resolution. For example, link profiling (explained more fully below) may be performed. The link type is checked at block 16. If the link is a navigation link, updated markup is inserted at block 18 based on the additional data. If the link is not a navigation link, determination is made, at block 20, of whether the link is a simple embedding of content or a graphic. If the link is a simple embedding of content or a graphic, the actual embed operation happens at block 22. If the link is not a simple embedding of content or a graphic, the link type is an assembly operation at block 24 and the actual complex assembly operation happens at block 26. Thus, the contents of the link is assembled dynamically based upon rules. Once the assembly operation is performed, the content of the link is available from the access point. The DCAM system of the present invention also permits incorporating references to external data sources using data merge (described more fully below) wherein the references are then periodically resolved.
  • As explained above, managing the dynamic assembly of content involves determining an access point or end point of a relationship arc or link. The arc leads from the access point to contents for dynamic assembly. Thus, for example, a hyperlink leads to a url. The content to which the arc leads may be verified based upon rules. Once the appropriate relationship is verified, the content is made available from the access point.
  • FIG. 2 illustrates the architecture between an example DCAM client application and a DCAM server application. Using the architecture shown, communication is enabled between the DCAM client application and the DCAM server application. The example DCAM client application shown is Epic Editor 40. Of course, alternate DCAM client applications may be used. A set of DCAM Client Extensions 30 provide additional user interfaces and programming logic to the client application. A DCAM Repository 48 is shown including an Epic E-Content Engine 64, a Relational Database 65, DCAM Server Extensions 63, and a SOAP Transport Layer 34. Operations requiring interactions with the DCAM Repository 48 first call into the client SOAP Transport Layer 32. This communicates with the corresponding SOAP Transport Layer 34 inside the DCAM Repository 48. The interactions are then processed by the DCAM Server Extensions 63 which extend the Epic E-content Engine 64. These same extensions 63 use a Relational Database 65 for long-term storage and retrieval of information.
  • A link management application generally performs certain functions. These functions typically require the application to include means to create, modify, remove, store, configure the behavior of, validate, resolve and exchange link information with other applications. The architecture of a DCAM System in accordance with a first embodiment of the invention is shown in FIG. 2. A diagram of an alternate architecture of a DCAM System of the present invention is shown in FIG. 3. As shown, to effectively perform the functions of a link management application, the DCAM System includes: an Epic Editor Authoring User Interface 40, a DCA Repository Authoring User Interface 42, a DCA Configuration 44, a Configuration Interface 46, a DCA Repository 48, a DCA Repository Administrator Interface 50, a DCA Repository SDK 52, a Linkbase 54, a DCA Resolver 56, a DCA Resolver SDK 58, and a DCA Validator 60. Following is a description of each of these components in the embodiment shown. These descriptions are intended to be illustrative only, not limiting.
  • The Epic Editor Authoring User Interface 40 is a user interface used within the Epic Editor environment. It is an interface for creating, modifying, removing and managing linking information. Generally, operations performed by an author within the editing environment are exposed through this interface.
  • The DCA Repository Authoring User Interface 42 is a user interface for creating, modifying, removing and managing linking information directly in the link repository. Generally, operations performed by an author within this environment are exposed through this interface.
  • The DCA Configuration 44 is the configuration information for the DCA system based on a specific data model. The focus of this application is configuration rather than customization. To this end, anything which can be abstracted to this configuration generally should be.
  • The Configuration Interface 46 is a simple user interface for inputting and modifying configuration information for the DCA system based on a data model.
  • The DCA Repository 48 is a database application for storage, search and retrieval of the link information. The DCA Repository Administrator User Interface 50 is the user interface for performing IT administration functions on the DCA Repository 48. The DCA Repository SDK 52 is documented Application Program Interface (API) for programmatically communicating with the DCA Repository 48.
  • The Linkbase 54 is an Xlink compliant linkbase XML document. These documents may be used to export portions of the DCA Repository 48 or to import modifications into the DCA Repository 48.
  • The DCA Resolver 56 is a filter in the content pipeline for resolving linking information. The DCA Resolver SDK 58 is documented API of the Java methods (or other) used in the DCA Resolver 56.
  • The DCA Validator 60 is a validation program to verify the validity of link information.
  • The DCA server is a system designed to manage linking information externally from documents, while still maintaining actual links as if they solely exist within documents. The DCA server provides late-binding linking, in a variety of formats. Using this, a link may be formatted into a variety of link syntaxes at publish time. The DCA system comprises three major components: a server tier, a transporttransport tier, and a client tier.
  • The design of the DCA system is flexible, enabling bindings to be made to any database. In a particular embodiment the overall language used in the design of the DCA system is Java. The system may be built for an Oracle Platform. Alternately, any other relational database platform may be used.
  • Explained differently, the DCAM System includes a Server Tier, a Transport Tier, and a Client Tier.
  • The server tier of the DCAM System comprises a database bound to a server application. The server application contains logic necessary to interact with the database, and exposes a full API. All database access is performed through the server API. The server component is central to the DCA System. The server component is responsible for storing and managing all linking information within the system. The server component comprises a database binding, classes representing database objects, and an API that connects the components, in addition to providing a simple way to interface with the server.
  • A server diagram is provided at FIG. 4. As shown, XML text 61 is input into a Composition Pipeline 62. The server component may be customized by writing custom applications that use the Server Extensions 63 to add functionality. Additionally, the Server Extensions 63 provides multiple classes that are programmatic representations of database objects and their corresponding collection classes. The Server Extensions 63 may be tied to the Epic E-content Engine 64 and Relational Database 65. Information can then be output as print output 66, web output 67, or other outputs 69.
  • In one embodiment, the Server component is built on top of a SQL compliant database. FIG. 5 illustrates schema implemented by the database to properly store the linking information. The database schema contains the tables and relationships necessary to store and manage links, resources, resource pairs, folders, and their associated properties and metadata.
  • The links table 70, contains all links in the system. Each link includes one or more titles (as it has multilingual support) and may have metadata properties associated with it. The link_metadata table 72 contains a list of metadata properties related to the links. The link_title table 74 contains one or more names for each link. Again, links may have multiple titles defined, each in a different language. The link_folders table 76 contains a hierarchical listing of folders used to categorize and classify links. The link_folder_metadata table 78 contains metadata properties that are related to link folders. The link_folder_title table 80 contains titles that are directly related to each link folder. Multiple titles may be specified, each in a different language.
  • The resources table 82 contains a listing of resources within a repository. Each addressable object (documents, element, etc.) has a resource definition specified in this table. Resources may be addressed by URI and when URIs are stored, they are broken down into their component atoms. All resources that are considered top-level documents have an is Document flag set. The resource_metadata table 84 contains metadata properties that are related to the resources. The resource_title table 86 contains titles that are directly related to each resource. Multiple titles may be specified, each in a different language. The resource_folders table 88 contains metadata properties that are related to resource folders. The resource_folder_title table 90 contains titles that are directly related to each resource folder. Multiple titles may be specified, each in a different language. The resource_pairs table 92 contains a listing of all resource pairs in the system. Resource pairs are components of a link that comprise a starting and ending resource (both of which are relationships to the resource table), as well as information about the role and traversal constraints. Resource pairs may be related to profiles to scope their usage. Resource pairs are bound to links, and upon deletion of a link, that deletion will be cascaded to it's resource pairs. The properties table 94 maintains a listing of XML attributes pertinent to each resource pair (such as graphic size, etc.) that are placed in markup at resolution time.
  • The profiles table 96 contains profiles defined within the system. Profiles are defined on a per doctype basis and may span multiple doctypes. Profiles are applicability attribute values that, when references, set the usage and scope of a resource pair. The resource_pair_profile_xref table 98 contains relationships of resource pairs to profiles. A resource pair may be related with as many profiles as desired. The named_profiles table 100 contains a mapping of names to profiles. This may be used to create a grouping or categorization of profiles. Further shown are a link_folder_metadata table 106, a link_folders table 108, a link_title table 110, and a link_folder_title table 112.
  • A configuration table 104 may be provided containing system configuration information relevant to the DCAM server.
  • The transport tier of the DCAM System provides the communication link between the client tier and the server tier. The transport tier facilitates client/server communications.
  • The format for transport requests is SOAP (Simple Object Access Protocol). Thus, in one embodiment, the transport layer may be referred to as a SOAP transport layer. Each SOAP request is considered a transaction boundary. Alternately, transport-oriented languages (such as EJB, RMI, and CORBA) may be used to perform object marshaling. FIG. 6 expands upon FIG. 2 and illustrates the relationship between the transport layer 34 and DCAM Client Extensions 30. In the embodiment shown, the transport tier 34 is a SOAP aware implementation, used to enable client/server communications. Due to the simple nature of SOAP, all transactions occur through HTTP (hypertext transfer protocol). User Interface Code 115 goes through Scripting API 116 and/or Application API 117. DCAM Client Extensions 30 are applied before the code 115 is input to the Scripting API 116 and Application API 117. The Scripting API 116 and Application API 117 then output the Code 115 through the Service Interface 118 and finally to the transport layer 34.
  • The transport tier manages user sessions and transactions, by interpreting requests, executing transactions atomically, and returning those results. Each operation is performed by creating one or more data transfer objects along with a command, sending the objects and command wrapped in a SOAP request, processing the command which returns as results zero or more data transfer objects, and returning the results of the operation wrapped in a SOAP response. The client tier contains everything needed by users to create, delete and manage links. One embodiment of the client side implementation includes Epic customizations (menu items, hooks, etc.), user interfaces, and a client API that provides direct access to the server. The client API facilitates communications to the transport tier. Calls to the server are done within a transaction. The client component includes all classes necessary to create/submit a transaction and receive those results in the form of classes that represent server side objects. As shown in FIG. 6, the client API comprises two APIs, the scripting API 116 suitable for use from scripting languages that are not object aware and the application API 117 suitable for use from languages that are object aware.
  • FIGS. 7-16 illustrate specific embodiments of user interface details. These figures are intended as illustrative only and are not intended to limit the present invention.
  • FIG. 7 illustrates a screen shot of an Insert Link dialog 120 for inserting a link from the current document in accordance with one embodiment of the present invention. The Select Target(s) From box 122 enables the user to select targets from the DCAM Repository, the Current Document, or the Web. The Current Document Selection is displayed in FIG. 7. The Current Document Targets table 126 displays available targets in the current document. The user may select any of the targets. The Selected Targets table 128 lists the targets selected. The Display Button 130 allows the user to select the fields to display in the Selected Targets table 128. The Insert button 134 allows the user to insert a link reference in the current document at the cursor location. The Modify button 136 launches a Modify Link Properties dialog (see FIG. 10) allowing the user to update the attributes of a link.
  • FIG. 8 illustrates a screen shot of an Insert Link dialog 120 for inserting a link from the DCAM Repository in accordance with one embodiment of the present invention. The Link Name field 124 allows the user to assign a human readable name to the link. The Select Target(s) From box 122 enables the user to select targets from the DCAM Repository, the Current Document, or the Web. The DCAM Repository selection is displayed in FIG. 8. The DCAM Targets table 144 is a tree control of the available targets in the DCAM Repository and allows the user to select an existing link from the Repository. The Selected Targets Table 128 lists the targets selected. The Display Button 130 allows the user to select the fields to display in the Selected Targets table 128. The Modify button 136 launches a Modify Link Properties dialog (see FIG. 10) allowing the user to update the attributes of a link.
  • FIG. 9 illustrates a screen shot of an Insert Link dialog 151 for inserting a link from the Web in accordance with one embodiment of the present invention. The Link Name field 124 allows the user to assign a human readable name to the link. The Select Target(s) From box 122 enables the user to select targets from the DCAM Repository, the Current Document, or the Web. The Web selection is illustrates in FIG. 9. The Web Target Name field 154 allows the user to assign a human readable name to the target. The Web Target URL field 155 allows the user to assign a URL to locate the target resource. If the Browse button 156 is used, the URL field 155 will be populated with the location selected. The Browse button 156 launches a Web browser and records the URL of the currently selected page in the browser in the URL field 155. The Selected Targets table 128 lists the targets selected. The Display button 130 allows the user to select the fields to display in the Selected Targets table 128. The Modify button 19 launches a Modify Link Properties dialog (see FIG. 10) allowing the user to update the attributes of a link.
  • FIG. 10 illustrates a screen shot of a Modify Link Properties dialog 210. This dialog allows the user to modify any of the properties associated with the link. The Source Label field 212 allows the user to assign a label to the source resource. The Target Name field 214 displays the name of the target resource. The Target Locator field 216 displays the locator of the target resource. The Target XML ID field 218 displays the XML Id of the target resource. The Target Label field 220 allows the user to set the label of the target resource. The Refer to Target or Include Content radio buttons, 222 and 224 respectively, specify how the link should be handled when resolved. If Refer to Target 222 is selected, the target's markup template is used to create a link to the content when the link is resolved. If Include Content 224 is selected, the target resource is included at the location of the link when the link is resolved. The Markup Combo Box 226 allows the user to select the type of link markup represented by the link. The list may be prepopulated with link tags specified in the document types DCF file. The Profiles button 228 launches the Apply Profiles dialog (see FIG. 12), allowing the user to apply profiles to the link.
  • FIG. 11 illustrates a screen shot of a DCAM Explorer dialog 240. The DCAM Explorer permits automatic target registration and user defined folder creation. The user may choose links, resources, and data merge components. Thus, the dialog allows the user to manage links in the same manner they would manage files on a file system.
  • The user may be provided with the ability to profile groups. Thus, the user may save and name a choice of profiles, which may later be applied to an object by selecting the named profile group, rather than requiring each choice to be selected each time. The user may also save and name a choice of profiles, which may later be used to designate the profiles to use for resolution purposes (such as at block 14 of FIG. 1) by selecting the named profile filter, rather than requiring each choice to be selected each time. Profile values may be added dynamically during the editing process. The user may define particular elements to restrict individual profiles to or from. The user may define element markup for profiling rather than simply attribute markup. Further, the user may define the specific order in which profile values appear.
  • Hierarchical profiles may be provided to allow the user to apply a group of profiles simultaneously to an object based on selecting a containment node. Typically, the profiles are applied at the leaf level. Radio profiles may be provided. Radio profiles are mutually excusive profiles where only one choice is allowed. Profiling may be done via containment. Containment is the concept where a single profile value represents the inclusion of other lower level profiles (for example, “top secret” including “secret, classified, and unclassified”). Further, named profiles may be used (profile groups and profile filters), profiles may be restricted to or from particular elements, and logical expressions (AND, OR, NOT, EQUAL, XOR) may be included in profile filters.
  • A screen shot of an Apply Profiles dialog 250 is illustrated in FIG. 12. The dialog 250 permits adding new profile values, naming and saving profile selections, and supporting hierarchical and radio choice profiles. The Apply Profile tree control 252 shows the profile values represented as a tree control. The checkboxes or radio buttons allow the user to choose the profiles to apply. When the Apply Individual Profiles radio control 254 is selected, individual profiles are displayed. When the Apply Profile Group radio control 256 is selected, profile groups are displayed. The OK button 258 applies the profile values selected in the tree control to the applicable markup.
  • FIG. 13 illustrates a screen shot of an Update Element Profile dialog 272. The dialog allows a user to individually select profiles or to select a named profile group for updating the element profile. The tree control 274 shows the profile values represented by the profile groups. The user may choose the profile group to simultaneously apply all the listed values. The Apply Individual Profiles and Apply Profile Group radio buttons, 275 and 276 respectively, allow the user to choose the profiles to update. When the Apply Individual Profiles radio button 275 is selected, individual profiles are displayed, When the Apply Profile Group radio button 276 is selected, profile groups are displayed. The OK button 276 applies the profile values represented by the profile group to the applicable markup.
  • A screen shot of a Search DCAM Links dialog 280 is illustrated at FIG. 14. This dialog 280 allows the user to search for links based on the properties of the link itself, its resource pairs, and the starting and ending resources of those resource pairs. The link and resource pair properties are listed on the Link Properties tab 282. The source resource properties are listed on the Source Properties tab 284. The target resource properties are listed on the Target Properties tab 286. The Advanced Parameters tab 288 allows users to specify additional search criteria, which can either be user defined attributed on the resource pairs or less visible properties of links, resource pairs and resources (such as DCAM key). Most parameters, except the Referenced/Included field 290, allow the user to specify an operator that discusses the way to test the entered values with those in the database. These operators include: like (the value in the object contains the given value), greater than (the value in the object is greater than the given value), less than (the value in the object is less than the given value) and equals (the value in the object is equal to the given value). When search results are returned, they are displayed in the Search Results folder in the DCAM Explorer dialog (See FIG. 11).
  • A screen shot of an Export Linkbase dialog 300 is illustrated at FIG. 15. This dialog allows the user to export the data for all of the DCAM links in the current document, including resource pairs, source, and target resources. The XML file containing the link data may be referred to as a linkbase. A linkbase typically contains lay names, custom metadata, XML IDs, and URLs. It may be sent to a downstream process or organization so that the link information may be used outside of DCAM. Downstream applications may require link data in specific formats, and multiple linkbase templates may be installed for different formats. The Save As control 301 and associated Browse button 302 specify the output linkbase filename. The Stylesheet drop down list 303 and associated Browse button 304 select which XSL stylesheet is used to create the linkbase. The stylesheet determines the format of the linkbase. In a specific embodiment, the stylesheet drop down list 303 is populated with a list of XSL for the document type that can be used for linkbase export. All .xsl files in the doctype directory are examined and the ones that include “linkbase” in their “CompositionType” list are displayed. “CompositionType” is generally specified in a PI near the beginning of the XSL file. The Browse button 304 allows the user to select any XSL stylesheet, regardless of whether “linkbase” is in its “CompositionType” list. Further, again in a specific embodiment, Epic sets up a composition pipeline that includes a link filter (filters out non-DCAM markup), a link resolution filter (retrieves link data from database), and a filter for the selected stylesheet. A linkbase export stylesheet may be used to transform canonical DCAM link markup into desired linkbase markup.
  • A screen shot of a Profile Filter dialog 308 is shown at FIG. 16. The dialog 308 is used to set the profiles during resolution. The default assumption is all values are logically ANDed together. To use more complex logical expressions, the user selects the Filter Group button 310. The Filter Group button 310 launches the Profile Filter Group dialog (see FIG. 29).
  • The Profile Filter Group dialog 312 is shown at FIG. 17. This dialog 312 allows the user to choose a predefined named profile filter group for setting the profiles. These profile filter groups support complex, logical expressions such as logical conjunction, logical disjunction, logical inequivalence, logical equivalence, and logical negation.
  • As shown in FIGS. 18-29, a link definition may either be created manually or automatically. When an object is registered with the link repository, any elements within the object which are IDed can automatically create a special type of link definition, called a Target, in the user interface. The DCF can define what elements to automatically ID and what attribute or element content to use as the name of the link target. The attribute to use as the ID is registered with the DCF file. If configured in this way, the application automatically registers the link target with the repository for use later by other authors.
  • FIG. 18 provides a basic diagram of creating a link definition. FIG. 19 expands on the creation of a link. As shown, this may be done by using “autoregister.” If the document registered flat is not set, the resources in the document must be set at the user interface level. At that point, or if the document registered flag is set, it is determined whether the Autoregister flag equals true. If no, final state is reached. If yes, the next step at the user interface level is to walk the document. Next, link definitions are created in the repository for ever link type element. Within the client code, this involves committing all links and resource pairs to the repository. Within the transport layer, batch create links is performed. Within the server code, all links and resource pairs are created in the database and IDs are returned for created links. At the user interface level, the next step is to encapsulate the link markup with a tag such as “<atidcamm:link>. Link names are then determined through the DCF configuration file and final state is reached.
  • FIG. 20 illustrates a diagram of creating a link definition. This can involve simply naming the link and recording the link in the repository. Alternately, creating a link definition for a resource pair involves setting the reference starting resource, setting the reference ending resource, setting profiles, and setting any other attribute values. The link can then be recorded in the repository.
  • FIG. 21 illustrates a diagram of creating an ID/IDREF link. The first step is to link internally. Next, resource information is captured. The link definition is then created and a link reference is inserted. FIG. 22 diagrams linking internally. If the element is already IDed, the ID Label is selected from the list. If the element is not IDed, the user IDs the element. FIG. 23 diagrams IDing an element. The first step is opening the object. Next, the user browses/selects the element. An ID is autogenerated. The user then sets the element's ID Attribute to the Generated ID. The ID is then labeled. FIG. 24 diagrams inserting a link reference. The first step is to register a starting resource with the link. The next step is to insert the link reference in the object.
  • FIG. 25 is a diagram illustrating creating an outbound link. The first step is to browse/select an ending resource. The next step is to create a link definition. Finally, the link reference is inserted.
  • FIG. 26 diagrams browsing/selecting a starting resource. The first step is to browse/select an object. If the link is internal to the object, the next step is to link internally. After linking internally, or if the link is external to the object, the next step is to capture resource information. FIG. 27 diagrams browsing/selecting an ending resource. The first step is to browse/select an object. If the link is internal to the object, the next step is to link internally. After linking internally, or if the link is external to the object, the next step is to capture resource information.
  • FIG. 28 is a diagram illustrating inserting a link repository reference. A file link reference is inserted to the link repository. A CMS link reference is inserted into the link repository. A web link reference is inserted into the link repository. A link repository reference is inserted into the link repository. Diagramatically, the link repository reference is between the Link Author and the Object Author. FIG. 29 further diagrams inserting a link repository reference. The first step is to browse the link repository. Next, a link is selected. Finally, a link reference is inserted.
  • FIG. 30 is an alternative to FIG. 1 illustrating composing with the DCAM system in more detail. Composition starts with XML Documents 400 which are sent to an E3 Server 402 at block 410. The E3 Server 402 parses the documents (block 10 of FIG. 1) and sends them to the Content Pipeline 404 at block 412. As links are found in the content (block 12 of FIG. 1), the links are sent to the DCAM Resolver 406 at block 414. The links are resolved against the DCAM Repository (block 14 of FIG. 1) and the resolved links are sent back to the Content Pipeline 404 at block 416. Data merge queries are also processed against the Data Merge Data Store 408. The Content Pipeline continues resulting in composed documents such as HTML in the embodiment shown.
  • The functioning of the link resolution filter 340 is illustrated in FIG. 31. SAX events from object processing are input into the Link Resolver Filter 340. The reference link is converted to markup the SAX events. The SAX events are then output from link processing.
  • To use the client component, an application calls the establishClientSession( ) method in the Application API. This call initiates a connection to the transport tier, which passes on the create session request to the server. If the user authenticates, a session is created. Once a Client Session object is created, user actions may generate calls to the Service interface. That interface generates a SOAP request and sends it to the transport tier which processes the transaction through the server. Upon completion, the server returns a SOAP document containing all of the results.
  • FIG. 32 depicts the configuration components for linking, data merging, and profiling. Because customers have many different needs around linking and data merge, these functions are highly configurable. FIG. 33 shows the general nature of the configuration components. The markup resolution is configured using XSL stylesheets, XML files are used to configure how targets are automatically identified (Resource Definition), both the database queries and the parameter handling for datamerge, and the configuration of profiling.
  • Data merge, in accordance with the present invention, permits including content from a separate data store. Data merge is the incorporation of references to external data sources in a document, and the periodic resolution of those references. A reference to some external data is called a query. Three authoring stages may be identified: query declaration; reference to a query declaration; and update of one or more query results. Named declarations are reusable, that is, they may be reference many times. They are given a name when created and their location defines their scope. The name must be unique for the scope. Query declarations with no name are not reusable. The point of declaration is the only reference. Query results appear at the location of a query reference. Results are inserted at the time a reference is inserted or whenever a reference to a query is updated.
  • A query declaration must refer to an external data source, called the query definition. A query definition comprises of a UI component and a formal definition. The UI component includes: the name of the query definition, the parameters that must be passed to the query, whether the query returns document content of name/value pairs, and if the document content is returned, a representative top level tag for quick context verification. The name of the query definition links a document's query declaration to a query definition. The formal definition includes: a source stage, one or more transformation stages, a description of the order in which the stages are to be applied, and a mapping of UI parameters to actual parameters for each stage. The source stage may be any program that generates a Document Object Module (DOM) node. The actual source may be a database, a file, a URL, or some external process. The program is responsible for presenting the result as a node, perhaps using some simple markup to represent value pairs. The transformation stages take a DOM node as input and generate a new DOM node as output.
  • The data merge framework is designed for flexibility and extensibility. It adapts the Model-View-Controller (MVC) design paradigm and uses a pipeline structure for handling data acquisition and processing. The MVC paradigm separates the business logic from the user interface, allowing both sides to be modified independently. A pipeline allows easy reuse of components. FIG. 34 illustrates the overall flow of inserting data into a document. Three major components are shown in the diagram. DOM Server 350, Data Merge Controller 352 and Query 354. DOM Server 350 takes input from a user and displays the result. Data Merge Controller 352 interprets user inputs and passes the information to and from a Query 354. Query 354 processes the information provided by the Controller 352. When a user issues the insert_query or update_query command, the Data Merge Controller 352 constructs a set of parameters based on the user inputs and current document instance and then selects a Query 354 for execution. Upon returning of the query, the node is inserted by the Data Merge Controller 352 into the DOM Server 350.
  • DOM Server 350 refers to the program which is capable of manipulating a Dom instance and displaying a DOM instance when in the interactive mode. Data Merge Controller 352 is a program that consists of helper functions that are assembled from DOM API. It receives requests from the user, distributes the requests to queries and then inserts the result into a document. It is also responsible for updating changes and retrieving data fields. A Query 354 comprises one Source and zero or more Transformers. A source is a component that can generate a DOM node. A Transformer takes an existing node as input and returns a modified node as the output. A Query process generates a DOM node (which may be an element, document fragment, or document) and returns it to the Data Merge Controller. The components in a Query communicate with each other via a DOM node. A Query generally comprises three components: SQL Query, Transformation and XPath. The Query process retrieves data from a database and transforms the result using some XLT Transformation. Before returning the result, an XPath filter is applied to retrieve only interested components. The query process involves a sequence of transformations.
  • Although the present invention has been described with reference to preferred embodiments, persons skilled in the art will recognize that changes may be made in form and detail without departing from the spirit and scope of the invention.

Claims (15)

1. A method for managing dynamic assembly of content in a document, comprising:
parsing a document to find at least one link;
resolving the at least one link against a DCAM Repository resulting in a resolved link to content;
assembling the resolved link to content into the document.
2. The method of claim 1, further including profiling the link when the link is resolved.
3. The method of claim 1, further including processing data merge queries.
4. The method of claim 1, further including determining link type of the at least one link.
5. The method of claim 4, wherein if the link is a navigation link, updated markup is inserted into the document.
6. The method of claim 4, wherein if the link is an embedding of content, the method further includes embedding the content into the document.
7. A method for managing dynamic assembly of content, comprising:
determining an access point, the access point invoking a dynamic content assembly request;
selecting one of a plurality of contents for assembly from the access point; and
assembling said contents dynamically based on rules; and
making said dynamically assembled content available from said access point.
8. The method of claim 7, wherein the access point is the start point of a relationship arc.
9. A method for managing creation of links between and within content modules, comprising:
determining first and second end points, the first end point being a start of a relationship arc and the second end point being an end of a relationship arc;
creating a relationship arc;
indicating an appropriate audience for the relationship arc; and
dynamically resolving the relationship arc based on the audience.
10. The method of claim 9, wherein determining end points and creating a relationship arc further comprise:
determining possible end points based on rules;
capturing metadata about each possible end point based on rules; and
validating the end points used within a document or system.
11. The method of claim 10, wherein possible end points are found using a navigation mechanism for finding end points.
12. A method for dynamically assembling documents, comprising:
entering a target with assembly rules;
entering a link that points to the target; and
resolving the link into content.
13. A system for managing dynamic content assembly, comprising:
a server tier comprising a database bound to a server application, the database including linking information;
a client tier enabling a user to create, delete and manage links; and
a transport tier for communicating between the server tier and the client tier.
14. The system of claim 13, wherein the server application includes logic for interacting with the database.
15. The system of claim 13, wherein the transport tier is a SOAP transport layer.
US10/839,109 2003-05-05 2004-05-05 System and method for managing dynamic content assembly Abandoned US20060156220A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/839,109 US20060156220A1 (en) 2003-05-05 2004-05-05 System and method for managing dynamic content assembly

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US46812603P 2003-05-05 2003-05-05
US10/839,109 US20060156220A1 (en) 2003-05-05 2004-05-05 System and method for managing dynamic content assembly

Publications (1)

Publication Number Publication Date
US20060156220A1 true US20060156220A1 (en) 2006-07-13

Family

ID=33435163

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/839,109 Abandoned US20060156220A1 (en) 2003-05-05 2004-05-05 System and method for managing dynamic content assembly
US10/839,320 Expired - Fee Related US8484553B2 (en) 2003-05-05 2004-05-05 System and method for defining specifications for outputting content in multiple formats

Family Applications After (1)

Application Number Title Priority Date Filing Date
US10/839,320 Expired - Fee Related US8484553B2 (en) 2003-05-05 2004-05-05 System and method for defining specifications for outputting content in multiple formats

Country Status (5)

Country Link
US (2) US20060156220A1 (en)
EP (2) EP1627329A1 (en)
JP (3) JP2006525609A (en)
GB (2) GB2416238A (en)
WO (2) WO2004100015A2 (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021502A1 (en) * 2003-05-23 2005-01-27 Benjamin Chen Data federation methods and system
US20070174270A1 (en) * 2006-01-26 2007-07-26 Goodwin Richard T Knowledge management system, program product and method
US20080040658A1 (en) * 2006-07-07 2008-02-14 Honeywell International Inc. Linking of Content Portions Developed Independently
US20080147672A1 (en) * 2006-12-19 2008-06-19 Pena Ronny A System and method for providing platform-independent content services for users for content from content applications leveraging atom, xlink, xml query content management systems
US20080222506A1 (en) * 2007-03-09 2008-09-11 John Edward Petri Minimizing Accesses to a Repository During Document Reconstitution in a Content Management System
US20090083247A1 (en) * 2007-09-21 2009-03-26 Brian John Cragun Automatically making changes in a document in a content management system based on a change by a user to other content in the document
US20090276699A1 (en) * 2008-05-02 2009-11-05 Canon Kabushiki Kaisha Document processing apparatus and control method thereof
US7693840B1 (en) * 2004-07-30 2010-04-06 Sprint Communications Company L.P. Method and system for distribution of common elements
US20100275117A1 (en) * 2009-04-23 2010-10-28 Xerox Corporation Method and system for handling references in markup language documents
CN102521232A (en) * 2011-11-09 2012-06-27 Ut斯达康通讯有限公司 Distributed acquisition and processing system and method of internet metadata
US20120290926A1 (en) * 2011-05-12 2012-11-15 Infinote Corporation Efficient document management and search
US20130339886A1 (en) * 2012-06-18 2013-12-19 Computer Pundits, Inc. Tools for dynamic database driven catalog building
US8645816B1 (en) * 2006-08-08 2014-02-04 Emc Corporation Customizing user documentation
US8726147B1 (en) * 2010-03-12 2014-05-13 Symantec Corporation Systems and methods for restoring web parts in content management systems
US20140215304A1 (en) * 2012-12-10 2014-07-31 International Business Machines Corporation Utilizing classification and text analytics for annotating documents to allow quick scanning
US20160371249A1 (en) * 2015-06-22 2016-12-22 Microsoft Technology Licensing, Llc Deconstructing documents into component blocks for reuse in productivity applications
US10095781B2 (en) 2014-10-01 2018-10-09 Red Hat, Inc. Reuse of documentation components when migrating into a content management system
US10311366B2 (en) * 2015-07-29 2019-06-04 Adobe Inc. Procedurally generating sets of probabilistically distributed styling attributes for a digital design
US10339183B2 (en) 2015-06-22 2019-07-02 Microsoft Technology Licensing, Llc Document storage for reuse of content within documents
US10664536B2 (en) * 2015-12-18 2020-05-26 Microsoft Technology Licensing, Llc Consumption of user-filtered data on a client device
US10740349B2 (en) 2015-06-22 2020-08-11 Microsoft Technology Licensing, Llc Document storage for reuse of content within documents
US20220150592A1 (en) * 2020-11-11 2022-05-12 Rovi Guides, Inc. Systems and methods for providing media recommendations
US11849177B2 (en) 2020-11-11 2023-12-19 Rovi Guides, Inc. Systems and methods for providing media recommendations

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210263A1 (en) * 2001-04-25 2005-09-22 Levas Robert G Electronic form routing and data capture system and method
US6803925B2 (en) * 2001-09-06 2004-10-12 Microsoft Corporation Assembling verbal narration for digital display images
US20050154982A1 (en) * 2004-01-13 2005-07-14 International Business Machines Corporation Apparatus, system and method of importing cascading style sheets to macromedia flash
US7200816B2 (en) * 2004-01-21 2007-04-03 Altova, Gmbh Method and system for automating creation of multiple stylesheet formats using an integrated visual design environment
US7584422B2 (en) * 2004-07-12 2009-09-01 Informatica Corporation System and method for data format transformation
US20060041632A1 (en) * 2004-08-23 2006-02-23 Microsoft Corporation System and method to associate content types in a portable communication device
US9298675B2 (en) * 2004-09-30 2016-03-29 Adobe Systems Incorporated Smart document import
US7400351B2 (en) * 2004-10-06 2008-07-15 Microsoft Corporation Creation of image based video using step-images
DE102004059045B4 (en) * 2004-12-07 2008-01-24 Hiflex Software Gmbh Method for communication between a management information system and an executing system and communication module
US7987187B2 (en) * 2004-12-27 2011-07-26 Sap Aktiengesellschaft Quantity offsetting service
US7343364B2 (en) * 2005-02-04 2008-03-11 Efunds Corporation Rules-based system architecture and systems using the same
US7372536B2 (en) * 2005-03-08 2008-05-13 Microsoft Corporation Photostory 3—automated motion generation
US10572856B2 (en) 2005-03-09 2020-02-25 Jda Software Group, Inc. Custom application builder for supply chain management
US20060204214A1 (en) * 2005-03-14 2006-09-14 Microsoft Corporation Picture line audio augmentation
US20060218488A1 (en) * 2005-03-28 2006-09-28 Microsoft Corporation Plug-in architecture for post-authoring activities
US20060224778A1 (en) * 2005-04-04 2006-10-05 Microsoft Corporation Linked wizards
US8185820B1 (en) * 2005-04-06 2012-05-22 Adobe Systems Incorporated System and/or method for document generation
US20060271850A1 (en) * 2005-05-06 2006-11-30 Didier Gombert Method and apparatus for transforming a printer into an XML printer
WO2007015302A1 (en) * 2005-08-04 2007-02-08 Fujitsu Limited Web page control program, method and server
US8635524B2 (en) * 2005-09-13 2014-01-21 Adobe Systems Incorporated System and/or method for document conversion
US20070162842A1 (en) * 2006-01-09 2007-07-12 Apple Computer, Inc. Selective content imaging for web pages
JP2007188460A (en) * 2006-01-11 2007-07-26 Mis Technology Kk Business form preparation function using xml data and fo as input
US9411781B2 (en) * 2006-01-18 2016-08-09 Adobe Systems Incorporated Rule-based structural expression of text and formatting attributes in documents
US7634717B2 (en) * 2006-01-23 2009-12-15 Microsoft Corporation Multiple conditional formatting
US8082496B1 (en) * 2006-01-26 2011-12-20 Adobe Systems Incorporated Producing a set of operations from an output description
NZ570210A (en) * 2006-02-06 2010-03-26 Informatica Corp Creating and managing XML schema version transformations
JP2007279795A (en) * 2006-04-03 2007-10-25 Ibm Japan Ltd System for deciding whether or not screen to be displayed by program satisfy specification
US8407585B2 (en) * 2006-04-19 2013-03-26 Apple Inc. Context-aware content conversion and interpretation-specific views
US7890533B2 (en) * 2006-05-17 2011-02-15 Noblis, Inc. Method and system for information extraction and modeling
US20070282885A1 (en) * 2006-05-31 2007-12-06 Baude Brent J Method and System For Application Interaction
US20080065671A1 (en) * 2006-09-07 2008-03-13 Xerox Corporation Methods and apparatuses for detecting and labeling organizational tables in a document
WO2008055034A2 (en) 2006-10-30 2008-05-08 Noblis, Inc. Method and system for personal information extraction and modeling with fully generalized extraction contexts
US7903115B2 (en) 2007-01-07 2011-03-08 Apple Inc. Animations
US7872652B2 (en) 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
US8813100B1 (en) * 2007-01-07 2014-08-19 Apple Inc. Memory management
US8464211B2 (en) * 2007-03-01 2013-06-11 Formotus, Inc. Forms conversion and deployment system for mobile devices
US8205151B2 (en) * 2007-05-31 2012-06-19 Red Hat, Inc. Syndication of documents in increments
US9361294B2 (en) * 2007-05-31 2016-06-07 Red Hat, Inc. Publishing tool for translating documents
US10296588B2 (en) * 2007-05-31 2019-05-21 Red Hat, Inc. Build of material production system
US7912825B2 (en) 2007-06-21 2011-03-22 Microsoft Corporation Configurable plug-in architecture for manipulating XML-formatted information
WO2009038788A1 (en) 2007-09-21 2009-03-26 Noblis, Inc. Method and system for active learning screening process with dynamic information modeling
US20090125905A1 (en) * 2007-11-09 2009-05-14 International Business Machines Corporation Method, apparatus and computer program for modifying a message
US20100005112A1 (en) * 2008-07-01 2010-01-07 Sap Ag Html file conversion
US8683325B1 (en) * 2008-11-13 2014-03-25 Emc Corporation Indexed approach for delivering multiple views of an XML document from a single XSLT file
US8060490B2 (en) * 2008-11-25 2011-11-15 Microsoft Corporation Analyzer engine
US8819541B2 (en) 2009-02-13 2014-08-26 Language Technologies, Inc. System and method for converting the digital typesetting documents used in publishing to a device-specfic format for electronic publishing
US8347208B2 (en) * 2009-03-04 2013-01-01 Microsoft Corporation Content rendering on a computer
US9268761B2 (en) * 2009-06-05 2016-02-23 Microsoft Technology Licensing, Llc In-line dynamic text with variable formatting
TW201115362A (en) 2009-10-29 2011-05-01 Ibm System, method, and program for editing electronic document
US20110271248A1 (en) * 2010-04-29 2011-11-03 Microsoft Corporation Converting controls into source code
US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
WO2021024040A1 (en) * 2019-08-08 2021-02-11 Mann, Roy Digital processing systems and methods for automatic relationship recognition in tables of collaborative work systems
WO2021099839A1 (en) 2019-11-18 2021-05-27 Roy Mann Collaborative networking systems, methods, and devices
US9356991B2 (en) * 2010-05-10 2016-05-31 Litera Technology Llc Systems and methods for a bidirectional multi-function communication module
CA2718360A1 (en) * 2010-10-25 2011-01-05 Ibm Canada Limited - Ibm Canada Limitee Communicating secondary selection feedback
CA2772963C (en) * 2011-03-31 2016-02-16 Accenture Global Services Limited Multilayer style sheet approach and system
WO2013032621A1 (en) * 2011-08-26 2013-03-07 Franco Aaron Gerard Data infrastructure for providing interconnectivity between platforms, devices, and operating systems
US9104527B2 (en) * 2011-09-08 2015-08-11 Microsoft Technology Licensing, Llc Automatically generated style rules for page design
US20130145256A1 (en) * 2011-12-02 2013-06-06 Verizon Patent And Licensing Inc. Context-dependent syling for documents
US20140331124A1 (en) * 2013-05-02 2014-11-06 Locu, Inc. Method for maintaining common data across multiple platforms
IN2013MU02887A (en) * 2013-09-05 2015-07-03 Tata Consultancy Services Ltd
US9158438B2 (en) * 2013-09-16 2015-10-13 Sap Se Multi-level user interface theming engine
US9996230B2 (en) * 2014-11-13 2018-06-12 Microsoft Technology Licensing, Llc Using sections for customization of applications across platforms
US20160378735A1 (en) * 2015-06-29 2016-12-29 Microsoft Technology Licensing, Llc Metamorphic documents
US10977428B2 (en) 2015-06-29 2021-04-13 Microsoft Technology Licensing, Llc Content transformations
US10496241B2 (en) 2015-08-21 2019-12-03 Adobe Inc. Cloud-based inter-application interchange of style information
US10455056B2 (en) * 2015-08-21 2019-10-22 Abobe Inc. Cloud-based storage and interchange mechanism for design elements
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
US11663482B2 (en) * 2018-07-06 2023-05-30 Google Llc User-specific text record-based format prediction
CN109471613A (en) * 2018-09-25 2019-03-15 北京广利核系统工程有限公司 The graphic file generation method and system of nuclear safe level application
US11030556B1 (en) 2019-11-18 2021-06-08 Monday.Com Digital processing systems and methods for dynamic object display of tabular information in collaborative work systems
IL297858A (en) 2020-05-01 2023-01-01 Monday Com Ltd Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems
US11023659B1 (en) 2020-07-09 2021-06-01 Jamison HILL Systems and methods for generating a style configuration file with and without parameters
US20220221966A1 (en) 2021-01-14 2022-07-14 Monday.com Ltd. Digital processing systems and methods for dual mode editing in collaborative documents enabling private changes in collaborative work systems
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826025A (en) * 1995-09-08 1998-10-20 Sun Microsystems, Inc. System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860073A (en) * 1995-07-17 1999-01-12 Microsoft Corporation Style sheets for publishing system
US6023714A (en) * 1997-04-24 2000-02-08 Microsoft Corporation Method and system for dynamically adapting the layout of a document to an output device
JPH11143874A (en) * 1997-11-11 1999-05-28 Fujitsu Ltd Style definition supporting device of structured document
US6857102B1 (en) * 1998-04-07 2005-02-15 Fuji Xerox Co., Ltd. Document re-authoring systems and methods for providing device-independent access to the world wide web
US6925595B1 (en) * 1998-08-05 2005-08-02 Spyglass, Inc. Method and system for content conversion of hypertext data using data mining
US6336124B1 (en) * 1998-10-01 2002-01-01 Bcl Computers, Inc. Conversion data representing a document to other formats for manipulation and display
FI19992746A (en) * 1998-12-28 2000-06-28 Spyglass Inc A method and system for converting electronic data content to wireless devices
US6826597B1 (en) * 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
US6589291B1 (en) * 1999-04-08 2003-07-08 International Business Machines Corporation Dynamically determining the most appropriate location for style sheet application
EP1071024A3 (en) * 1999-07-23 2002-07-17 Phone.Com Inc. Method and apparatus for splitting markup flows into discrete screen displays
US7200809B1 (en) * 1999-08-04 2007-04-03 Oracle International Corporation Multi-device support for mobile applications using XML
US6585778B1 (en) * 1999-08-30 2003-07-01 International Business Machines Corporation Enforcing data policy using style sheet processing
EP1117050A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Individual data representation
EP1126379A1 (en) * 2000-02-16 2001-08-22 Sun Microsystems, Inc. Conversion of directly assigned document format attributes
US20040172484A1 (en) * 2000-04-04 2004-09-02 Gudmundur Hafsteinsson Device-specific communicating between a transmitting device and a receving device
US7702995B2 (en) * 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US7134073B1 (en) * 2000-06-15 2006-11-07 International Business Machines Corporation Apparatus and method for enabling composite style sheet application to multi-part electronic documents
TW512640B (en) * 2000-08-25 2002-12-01 Phone Inc W Mobile opinion polling system and method
US6822663B2 (en) * 2000-09-12 2004-11-23 Adaptview, Inc. Transform rule generator for web-based markup languages
US20020052895A1 (en) * 2000-10-13 2002-05-02 Keating Brett Matthew Generalizer system and method
KR100398711B1 (en) * 2000-11-08 2003-09-19 주식회사 와이즈엔진 Content publication system for supporting real-time integration and processing of multimedia contents including dynamic data and method thereof
US20020111972A1 (en) * 2000-12-15 2002-08-15 Virtual Access Networks. Inc. Virtual access
US7152205B2 (en) * 2000-12-18 2006-12-19 Siemens Corporate Research, Inc. System for multimedia document and file processing and format conversion
WO2002050719A2 (en) * 2000-12-18 2002-06-27 Kargo, Inc. A system and method for delivering content to mobile devices
US20020152244A1 (en) * 2000-12-22 2002-10-17 International Business Machines Corporation Method and apparatus to dynamically create a customized user interface based on a document type definition
US7616971B2 (en) * 2000-12-29 2009-11-10 International Business Machines Corporation System and method for providing access to forms for displaying information on a wireless access device
US20020161802A1 (en) * 2001-02-27 2002-10-31 Gabrick Kurt A. Web presentation management system
GB2373085B (en) * 2001-03-08 2004-10-06 Ibm Method, computer program and system for style sheet generation
US20020165881A1 (en) * 2001-03-15 2002-11-07 Imation Corp. Web page color accuracy using color-customized style sheets
US7269788B2 (en) * 2001-06-29 2007-09-11 Versata Development Group, Inc. Extensibility and usability of document and data representation languages
US7733509B2 (en) * 2001-09-26 2010-06-08 Infoprint Solutions Company, Llc Method and apparatus for printing XML directly using a formatting template
CN100338573C (en) * 2001-10-04 2007-09-19 皇家飞利浦电子股份有限公司 Method of styling a user interface and device with adaptive user interface
JP2003131930A (en) * 2001-10-26 2003-05-09 Nec Corp Apparatus for contents conversion processing, method for automatic selection of style sheet and program thereof
US20030106021A1 (en) * 2001-11-30 2003-06-05 Tushar Mangrola Apparatus and method for creating PDF documents
US20030110297A1 (en) * 2001-12-12 2003-06-12 Tabatabai Ali J. Transforming multimedia data for delivery to multiple heterogeneous devices
US20030120758A1 (en) * 2001-12-21 2003-06-26 Koninklijke Philips Electronics N.V. XML conditioning for new devices attached to the network
US20030167334A1 (en) * 2002-03-04 2003-09-04 Mark Henry Butler Provision of content to a client device
US7191395B2 (en) * 2002-03-12 2007-03-13 International Business Machines Corporation Method and system for stylesheet-centric editing
US8117533B2 (en) * 2002-03-12 2012-02-14 International Business Machines Corporation Method and system for stylesheet rule creation, combination, and removal
US20030217076A1 (en) * 2002-05-15 2003-11-20 Heptinstall Christian Elliot System and method for rapid generation of one or more autonomous websites
US7143344B2 (en) * 2002-06-12 2006-11-28 Microsoft Corporation Transformation stylesheet editor
CA2409079A1 (en) * 2002-10-21 2004-04-21 Ibm Canada Limited-Ibm Canada Limitee Creating multiple and cascading business interpretations from raw application data using transformation layering
US8635218B2 (en) * 2003-09-02 2014-01-21 International Business Machines Corporation Generation of XSLT style sheets for different portable devices
US7370274B1 (en) * 2003-09-18 2008-05-06 Microsoft Corporation System and method for formatting objects on a page of an electronic document by reference
US7328403B2 (en) * 2003-10-22 2008-02-05 Intel Corporation Device for structured data transformation
US7200816B2 (en) * 2004-01-21 2007-04-03 Altova, Gmbh Method and system for automating creation of multiple stylesheet formats using an integrated visual design environment
US7398472B2 (en) * 2004-07-09 2008-07-08 Microsoft Corporation Defining the visual appearance of user-interface controls

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826025A (en) * 1995-09-08 1998-10-20 Sun Microsystems, Inc. System for annotation overlay proxy configured to retrieve associated overlays associated with a document request from annotation directory created from list of overlay groups

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050021502A1 (en) * 2003-05-23 2005-01-27 Benjamin Chen Data federation methods and system
US7693840B1 (en) * 2004-07-30 2010-04-06 Sprint Communications Company L.P. Method and system for distribution of common elements
US20070174270A1 (en) * 2006-01-26 2007-07-26 Goodwin Richard T Knowledge management system, program product and method
US7657546B2 (en) * 2006-01-26 2010-02-02 International Business Machines Corporation Knowledge management system, program product and method
US20080040658A1 (en) * 2006-07-07 2008-02-14 Honeywell International Inc. Linking of Content Portions Developed Independently
US8645816B1 (en) * 2006-08-08 2014-02-04 Emc Corporation Customizing user documentation
US20080147672A1 (en) * 2006-12-19 2008-06-19 Pena Ronny A System and method for providing platform-independent content services for users for content from content applications leveraging atom, xlink, xml query content management systems
US7552127B2 (en) * 2006-12-19 2009-06-23 International Business Machines Corporation System and method for providing platform-independent content services for users for content from content applications leveraging Atom, XLink, XML Query content management systems
WO2008110420A1 (en) * 2007-03-09 2008-09-18 International Business Machines Corporation Document reconstitution in a content management system
US20080222506A1 (en) * 2007-03-09 2008-09-11 John Edward Petri Minimizing Accesses to a Repository During Document Reconstitution in a Content Management System
US7734998B2 (en) * 2007-03-09 2010-06-08 International Business Machines Corporation Minimizing accesses to a repository during document reconstitution in a content management system
US20090083247A1 (en) * 2007-09-21 2009-03-26 Brian John Cragun Automatically making changes in a document in a content management system based on a change by a user to other content in the document
US8655903B2 (en) * 2007-09-21 2014-02-18 International Business Machines Corporation Automatically making changes in a document in a content management system based on a change by a user to other content in the document
US20130159342A1 (en) * 2007-09-21 2013-06-20 International Business Machines Corporation Automatically making changes in a document in a content management system based on a change by a user to other content in the document
US8566338B2 (en) * 2007-09-21 2013-10-22 International Business Machines Corporation Automatically making changes in a document in a content management system based on a change by a user to other content in the document
US20090276699A1 (en) * 2008-05-02 2009-11-05 Canon Kabushiki Kaisha Document processing apparatus and control method thereof
US8539332B2 (en) * 2008-05-02 2013-09-17 Canon Kabushiki Kaisha Importing an external subordinate document into a master document, editing the “subordinate” portion of the master document and updating the external subordinate document by exporting the edit of the “subordinate” portion of the master document to the external subordinate document
US8209599B2 (en) * 2009-04-23 2012-06-26 Xerox Corporation Method and system for handling references in markup language documents
US20100275117A1 (en) * 2009-04-23 2010-10-28 Xerox Corporation Method and system for handling references in markup language documents
US8726147B1 (en) * 2010-03-12 2014-05-13 Symantec Corporation Systems and methods for restoring web parts in content management systems
US20120290926A1 (en) * 2011-05-12 2012-11-15 Infinote Corporation Efficient document management and search
CN102521232A (en) * 2011-11-09 2012-06-27 Ut斯达康通讯有限公司 Distributed acquisition and processing system and method of internet metadata
US20130339886A1 (en) * 2012-06-18 2013-12-19 Computer Pundits, Inc. Tools for dynamic database driven catalog building
US10509852B2 (en) * 2012-12-10 2019-12-17 International Business Machines Corporation Utilizing classification and text analytics for annotating documents to allow quick scanning
US20140215304A1 (en) * 2012-12-10 2014-07-31 International Business Machines Corporation Utilizing classification and text analytics for annotating documents to allow quick scanning
US10095781B2 (en) 2014-10-01 2018-10-09 Red Hat, Inc. Reuse of documentation components when migrating into a content management system
US20160371249A1 (en) * 2015-06-22 2016-12-22 Microsoft Technology Licensing, Llc Deconstructing documents into component blocks for reuse in productivity applications
US10339183B2 (en) 2015-06-22 2019-07-02 Microsoft Technology Licensing, Llc Document storage for reuse of content within documents
US10394949B2 (en) * 2015-06-22 2019-08-27 Microsoft Technology Licensing, Llc Deconstructing documents into component blocks for reuse in productivity applications
US10740349B2 (en) 2015-06-22 2020-08-11 Microsoft Technology Licensing, Llc Document storage for reuse of content within documents
US10311366B2 (en) * 2015-07-29 2019-06-04 Adobe Inc. Procedurally generating sets of probabilistically distributed styling attributes for a digital design
US10664536B2 (en) * 2015-12-18 2020-05-26 Microsoft Technology Licensing, Llc Consumption of user-filtered data on a client device
US20220150592A1 (en) * 2020-11-11 2022-05-12 Rovi Guides, Inc. Systems and methods for providing media recommendations
US11641506B2 (en) * 2020-11-11 2023-05-02 Rovi Guides, Inc. Systems and methods for providing media recommendations
US11849177B2 (en) 2020-11-11 2023-12-19 Rovi Guides, Inc. Systems and methods for providing media recommendations

Also Published As

Publication number Publication date
JP2006525608A (en) 2006-11-09
GB2416238A8 (en) 2006-02-15
US20050132284A1 (en) 2005-06-16
US8484553B2 (en) 2013-07-09
EP1623338A2 (en) 2006-02-08
EP1627329A1 (en) 2006-02-22
GB0522462D0 (en) 2005-12-14
WO2005029364A8 (en) 2005-06-02
GB0522468D0 (en) 2005-12-14
JP2006525609A (en) 2006-11-09
JP2010191996A (en) 2010-09-02
GB2416238A (en) 2006-01-18
WO2004100015A2 (en) 2004-11-18
GB2416890A (en) 2006-02-08
WO2005029364A1 (en) 2005-03-31
WO2004100015A3 (en) 2005-10-20

Similar Documents

Publication Publication Date Title
US20060156220A1 (en) System and method for managing dynamic content assembly
US10067931B2 (en) Analysis of documents using rules
EP1679616B1 (en) Data binding in a word-processing application
Kahan et al. Annotea: an open RDF infrastructure for shared Web annotations
US7644095B2 (en) Method and system for compound document assembly with domain-specific rules processing and generic schema mapping
US20040261017A1 (en) Document generation
US20060101058A1 (en) System and method for transforming legacy documents into XML documents
JP2008533544A (en) Method and system for operating a source code search engine
US20040268230A1 (en) Systems and methods for differential document delivery based on delta description specifications
Vohra Pro XML Development with Java Technology
Laine et al. XFormsDB: an extensible web application framework built upon declarative W3C standards
Joshi Beginning XML with C# 7: XML Processing and Data Access for C# Developers
Eito-Brun XML-based Content Management: Integration, Methodologies and Tools
US20100162094A1 (en) Providing interactive forms in web application software
Wahlin XML for asp. net developers
Luján-Mora et al. A Web-oriented approach to manage multidimensional models through XML schemas and XSLT
Coles Pro SQL Server 2008 XML
Watt et al. XLink Essentials
Hillier Advanced SharePoint Services Solutions
Banchs et al. Reading and Writing Files
Huff The Definitive Guide to Stellent Content Server Development
Jacobs Foundation XML and E4X for Flash and Flex
Lee et al. XML Programming Using the Microsoft XML Parser
Joshi Pro. Net 2.0 XML
Delgado et al. XML: More Than an E-Publishing Language.

Legal Events

Date Code Title Description
AS Assignment

Owner name: SILICON VALLEY BANK, CALIFORNIA

Free format text: SECURITY AGREEMENT;ASSIGNOR:ARBORTEXT, INC.;REEL/FRAME:016044/0465

Effective date: 20041021

AS Assignment

Owner name: ARBORTEXT, INC., MICHIGAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DREYSTADT, JOHN N.;ALLEN, TIMOTHY P.;KOENIG, JOHN A.;AND OTHERS;REEL/FRAME:016191/0770;SIGNING DATES FROM 20050222 TO 20050301

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION