File formats, methods, and computer program products for representing presentations

Information

  • Patent Grant
  • 7614000
  • Patent Number
    7,614,000
  • Date Filed
    Monday, December 20, 2004
    19 years ago
  • Date Issued
    Tuesday, November 3, 2009
    14 years ago
Abstract
File formats, methods, and computer program products are provided for representing a presentation in a modular content framework. The modular content framework may include a file format container associated with modular parts. A file format includes logically separate modular parts that are associated with each other by one or more relationships where each modular part is associated with a relationship type. The modular parts include a presentation part representing a start part for the presentation, a slide master part associated with the presentation part, and a slide layout part associated with the slide master part. The modular parts may also include a document properties part containing built-in properties associated with the file format, a thumbnail part containing associated thumbnails, and a slide part containing a slide in the presentation. Each modular part is capable of being interrogated separately, extracted from the presentation, and/or reused in a different presentation.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is related to and filed with U.S. patent application, Ser. No. 11/018,718, entitled “File Formats, Methods, and Computer Program Products For Representing Documents,” filed on Dec. 20, 2004; U.S. patent application Ser. No. 11/019,088, entitled “Management and Use of Data in a Computer-Generated Document,” filed on Dec. 20, 2004; and U.S. patent application, Ser. No. 11/018,912, entitled “File Formats, Methods, and Computer Program Products For Representing Workbooks,” filed on Dec. 20, 2004; all of which are assigned to the same assignee as this application. The aforementioned patent applications are expressly incorporated herein, in their entirety, by reference.


TECHNICAL FIELD

The present invention generally relates to file formats, and more particularly, is related to methods and formats for representing presentations in a componentized presentation application program.


BACKGROUND

The information age has facilitated an era of building informative slide presentations utilizing presentation software applications. However, the way in which previous file formats are created and structured to store a collection of graphical surfaces, typically called a presentation, has several drawbacks. For instance, previous presentation file formats are created in the form of a single file containing monolithic data. Because proprietary formats are generally used to create these single files, each company that builds presentation storage develops a different file format. Because the data within these different file formats is monolithic and inaccessible in discrete parts, a series of problems are created.


One problem is basic document or slide re-use. For instance, it is very difficult to extract one or more slides from a presentation and reuse the extracted slides in a different presentation and retain slide integrity, even in the same application. Comparatively, reusing slides between different applications, for example from POWERPOINT to HARVARD GRAPHICS, and HARVARD GRAPHICS to FREE LANCE GRAPHICS, is worse. Reusing content on a slide is similarly difficult.


Secondly, because of the single file format, it is practically impossible to lock part of a presentation. Thus, a feature such as multi-user editing, where a number of people perhaps on different platforms, and/or from different locales cooperatively edit a presentation with the help of a locking mechanism, is prohibited. Most of the technology in terms of locking is all done at the file level, thus if a file is locked by a user, no other users can edit the file. Viewing is possible, but not editing.


There is also a problem of document interrogation. Finding content within a presentation, for example finding slides for a 2004 sales forecast, can be a daunting task. It is very difficult to find discrete parts within a monolithic file format presentation where semantics of the content can be determined. Even if a tool is built to interrogate one previous file format, the same tool could not be used to interrogate a different previous file format. This problem exists even when an existing binary file format is documented. It is still difficult to implement reader and writer classes that can handle existing binary file formats well. Even if a tool targeted at an application was developed it could not interrogate all document formats. This problem is referred to as the opaqueness of single file formats.


Still further, due to intermingling of data, the ability to re-brand a presentation, or multiple presentations, is nearly impossible outside of the presentation application. Re-branding a presentation involves taking a slide from presentation A, moving it to presentation B, and making the slide look as though it was authored in the normal authoring context of presentation B. Although, the slide may pick up some colors from the presentation B, the slide will not be displayed as though it was actually authored in presentation B.


Document surfacing, the ability to take pieces of one file formatted document and drop them into another document, is also a problem. For instance, a spreadsheet table copied from a spreadsheet document into a presentation document is difficult to interrogate in a monolithic style file format.


Still further, in the case of document previewing, for instance graphically browsing accessible content, it is very difficult to retrieve a high resolution preview of the content exposed through a shell in a browser or in a third party application. Some presentation applications provide thumbnails or previews of a single slide, but none provide high-resolution previews of all of the slides in a presentation deck.


Accordingly there is an unaddressed need in the industry to address the aforementioned deficiencies and inadequacies.


SUMMARY

Embodiments of the present invention provide file formats, methods, and computer program products for representing a presentation in a modular content framework implemented within a computing apparatus Embodiments of the present invention disclose an open file format, such as an extensible markup language (XML) file format, and a way of creating a file format for storing a collection of graphical surfaces, typically called a presentation. A single graphical surface may be the equivalent of a single slide in a presentation. The file format is designed such that it is made up of collections and parts. Each collection functions as a folder and each modular part functions as a file. These separate files are related together with relationships where each separate file is associated with a relationship type.


One embodiment is a file format for representing a presentation and/or a presentation template in a modular content framework. The modular content framework may include a file format container associated with the modular parts. The file format includes modular parts which are logically separate but associated with one another by one or more relationships. Each modular part is associated with a relationship type and the modular parts include a presentation part representing a start part for the presentation and/or the presentation template, a slide master part associated with the presentation part and/or the presentation template and operative to specify main components of the presentation, and a slide layout part associated with the slide master part and operative to specify a structure of the presentation. Each modular part is capable of being interrogated separately without other modular parts being interrogated, which offers gains in efficiency when the presentation is queried.


The modular parts may also include a document properties part containing built-in properties associated with the file format, a thumbnail part containing thumbnails associated with the file format, and a slide part containing a slide in the presentation. Each modular part is capable of being extracted from and/or copied from the presentation and reused in a different presentation along with associated modular parts identified by traversing the relationships of the modular part reused.


Another embodiment is a method for representing a presentation in a file format wherein modular parts associated with the presentation include each part written into the file format. The method involves writing a presentation part of the file format, querying the presentation for a slide master relationship type, and writing a slide master part of the file format separate from the presentation part. The method also involves establishing a relationship between the slide master part and the presentation part, writing a slide layout part separate from the slide master part, and establishing a relationship between the slide layout part and the slide master part.


Additionally, the method may involve establishing a relationship between the presentation part and a file format container where the file format container includes a document properties part containing built-in properties associated with the file format and a thumbnail part containing thumbnails associated with the file format. The method also involves writing a slide part containing a slide for the presentation separate from the slide master part and slide layout and establishing a relationship between the slide part and the slide layout.


Still further, the method may involve writing modular parts associated with relationship types wherein the modular parts that are to be shared are written only once and establishing relationships between the modular parts written. Writing the modular parts may also involve examining each modular part, determining whether a change has occurred to the modular part examined, and when a change has occurred to the modular part examined, writing the modular part examined including the changes.


Still another embodiment is a computer program product including a computer-readable medium having control logic stored therein for causing a computer to represent a presentation in a file format where modular parts of the file format include each part written into the file format. The control logic includes computer-readable program code for causing the computer to write a presentation part of the file format, query the presentation for a slide master relationship type, write a slide master part of the file format separate from the presentation part, and establish a relationship between the slide master part and the presentation part. The control logic also includes computer-readable program code for causing the computer to write a slide layout part separate from the slide master part and establish a relationship between the slide layout part and the slide master part.


The computer program product also includes computer-readable program code for causing the computer to establish a relationship between the presentation part and a file format container. The file format container includes a document properties part containing built-in properties associated with the file format and a thumbnail part containing thumbnails associated with the file format. The computer-readable program code is also operative to cause the computer to write a slide part containing a slide for the presentation separate from the slide master part and slide layout part and establish a relationship between the slide part and the slide layout part.


The invention may be implemented utilizing a computer process, a computing system, or as an article of manufacture such as a computer program product or computer readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.


These and various other features, as well as advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a computing system architecture illustrating a computing apparatus utilized in and provided by various illustrative embodiments of the invention;



FIGS. 2
a-2b are block diagrams illustrating a presentation relationship hierarchy for various modular parts utilized in a file format for representing presentations according to various illustrative embodiments of the invention;



FIGS. 3
a-3b are tables illustrating relationship types and collection types utilized in the file format according to various illustrative embodiments of the invention; and



FIGS. 4-5 are illustrative routines performed in representing presentations in a modular content framework according to illustrative embodiments of the invention.





DETAILED DESCRIPTION

Referring now to the drawings, in which like numerals represent like elements, various aspects of the present invention will be described. In particular, FIG. 1 and the corresponding discussion are intended to provide a brief, general description of a suitable computing environment in which embodiments of the invention may be implemented. While the invention will be described in the general context of program modules that execute in conjunction with program modules that run on an operating system on a personal computer, those skilled in the art will recognize that the invention may also be implemented in combination with other types of computer systems and program modules.


Generally, program modules include routines, programs, operations, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.


Referring now to FIG. 1, an illustrative computer architecture for a computer 2 utilized in an embodiment of the invention will be described. The computer architecture shown in FIG. 1 illustrates a computing apparatus, such as a server, desktop, laptop, or handheld computing apparatus, including a central processing unit 5 (“CPU”), a system memory 7, including a random access memory 9 (“RAM”) and a read-only memory (“ROM”) 11, and a system bus 12 that couples the memory to the CPU 5. A basic input/output system containing the basic routines that help to transfer information between elements within the computer, such as during startup, is stored in the ROM 11. The computer 2 further includes a mass storage device 14 for storing an operating system 16, application programs, and other program modules, which will be described in greater detail below.


The mass storage device 14 is connected to the CPU 5 through a mass storage controller (not shown) connected to the bus 12. The mass storage device 14 and its associated computer-readable media provide non-volatile storage for the computer 2. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available media that can be accessed by the computer 2.


By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVJS”), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 2.


According to various embodiments of the invention, the computer 2 may operate in a networked environment using logical connections to remote computers through a network 18, such as the Internet. The computer 2 may connect to the network 18 through a network interface unit 20 connected to the bus 12. It should be appreciated that the network interface unit 20 may also be utilized to connect to other types of networks and remote computer systems. The computer 2 may also include an input/output controller 22 for receiving and processing input from a number of other devices, including a keyboard, mouse, or electronic stylus (not shown in FIG. 1). Similarly, an input/output controller 22 may provide output to a display screen, a printer, or other type of output device.


As mentioned briefly above, a number of program modules and data files may be stored in the mass storage device 14 and RAM 9 of the computer 2, including an operating system 16 suitable for controlling the operation of a networked personal computer, such as the WINDOWS XP operating system from MICROSOFT CORPORATION of Redmond, Wash. The mass storage device 14 and RAM 9 may also store one or more program modules. In particular, the mass storage device 14 and the RAM 9 may store a presentation application program 10. The presentation application program 10 is operative to provide functionality for the creation and layout of presentations and/or templates for presentations, such as a presentation 27, in an open file format 24, such as an XML file format. According to one embodiment of the invention, the presentation application program 10 and other application programs 26 comprise the OFFICE suite of application programs from MICROSOFT CORPORATION including the WORD, EXCEL, and POWERPOINT application programs.


Referring now to FIGS. 2a-2b, block diagrams illustrating a presentation relationship hierarchy 208 for various modular parts utilized in the file format 24 for representing a presentation and/or a presentation template according to various illustrative embodiments of the invention will be described. The presentation relationship hierarchy 208 lists specific presentation application relationships some with an explicit reference indicator 205 indicating an explicit reference to that relationship in the content of the modular part, for example via a relationship identifier. Non-explicit indicators 206, indicate that the modular part may potentially utilize features from the destination part without an explicit reference. Optional relationships with respect to validation are indicated in italics, and dashed connecting lines 203 indicate a one to many relationship. Thus, for example there is a slide part 222 for each slide associated with a presentation.


The various modular parts or components of the presentation hierarchy 208 are logically separate but are associated by one or more relationships. Each modular part is also associated with a relationship type and is capable of being interrogated separately without other modular parts being interrogated. A modular content framework may include a file format container 212 associated with the modular parts. The modular parts include, the presentation part 210 representing a start part for a presentation, a document properties part 214 containing built-in properties associated with the file format 24, and a thumbnail part 216 containing thumbnails associated with the file format 24.


The modular parts also include a slide master part 225 associated with the presentation part 210 and operative to specify main components of the presentation and a slide layout part 224 associated with the slide master part 225 and operative to specify a structure of the presentation. The slide layout part 224 may include a default layout associated with the presentation part 210. The presentation part 210 is associated with the slide master part in a one to many relationship meaning a slide master part 225 will exist for each slide grouping in the file format 24. Further, the slide master part 225 is associated with the slide layout part 224 in a one to many relationship meaning a slide layout part 224 will exist for each slide layout in the presentation. Other modular parts include a slide part 222 containing a slide in the presentation. The presentation part 210 is associated with the slide part 222 in a one to many relationship meaning a slide part 222 will exist for each slide in the presentation. It should be appreciated that each modular part is capable of being extracted and/or copied from the presentation and reused in a different presentation along with associated modular parts. Associated modular parts are identified when the presentation application traverses inbound and outbound relationships of the modular part reused.


Still further, referring to FIGS. 2a-2b, other modular parts may include a style sheet part 227 containing data associated with a style of the presentation, a notes slide part 228 containing notes associated with the slide part 222, a mail envelope part 218 containing envelope data where a user of the presentation has sent the presentation via electronic mail, and a code file part 220, such as a visual basic application (VBA) project part containing VBA project code associated with the presentation. Other modular parts may include an image part 230 containing image data associated with the presentation, a sound part 234 containing audio data associated with the presentation, a movie part 232 containing movie data associated with the presentation, and an embedded object part 235 containing an object associated with the presentation. It should be appreciated that modular parts that are shared in more than one relationship are only written to memory once.


Other modular parts include a user data part 237 containing customized data capable of being read into the presentation and changed, a font part 244 containing one or more fonts associated with the presentation, a legacy drawing object part 238, such as an Escher 1.0 object and a drawing object part 242, such as an Escher 2.0 object both containing an object built using a drawing platform.


Still other modular parts may include a handout master part 221 containing data associated with defining a style of handouts associated with the presentation, a notes master part 229 containing data associated with defining a style of a note page associated with the notes, a comments part 245 containing comments associated with the presentation, and a thumbnail part 247 containing thumbnails associated with the presentation. It should be appreciated that certain modular parts are global and thus, can be used anywhere in the file format. In contrast, some modular parts are non-global and thus, can only be shared on a limited basis.


In various embodiments of the invention, the file format 24 may be formatted according to extensible markup language (“XML”) and/or a binary format. As is understood by those skilled in the art, XML is a standard format for communicating data. In the XML data format, a schema is used to provide XML data with a set of grammatical and data type rules governing the types and structure of data that may be communicated. The XML data format is well-known to those skilled in the art, and therefore not discussed in further detail herein.



FIGS. 3
a-3b are tables 300 illustrating relationship types and table 350 illustrating collection types utilized in the file format 24 according to various illustrative embodiments of the invention. A relationship type table 300 lists the relationship types associated with the modular parts. The relationship types not only identify an association or dependency but also identify the basis of the dependency. The relationship types include a font relationship 302, a code file relationship 303 capable of identifying potentially harmful code files, and a user data relationship 304. The relationship types also include a style sheet relationship 307, a comments relationship 308, an embedded object relationship 310, a legacy drawing object relationship 314, a drawing object relationship 312, an image relationship 317, a sound relationship 318, and a movie relationship 320. Still further, the relationship types may include a mail envelope relationship 322, a document properties relationship 324, a thumbnail relationship 325, a slide relationship 327, a notes slide relationship 328, a slide master relationship 330, and a slide layout relationship 332. Other relationship types include a handout master relationship 335, a notes master relationship 337, and a presentation relationship 340.


Referring to FIGS. 2a-2b and 3b, the table 350 lists collection types for organizing the modular parts. The collection types include a drawings collection 602 that includes the drawing object parts 238 and 242, a fonts collection 604 that includes the font part 244, an images collection 605 that includes the image part 230, and a slide layouts collection 607 that includes the slide layout part 224. The collection types also include a masters collection 610 that includes the slide master part 225, a media collection 612 that includes the movie and the sound parts 232 and 234, and a notes slides collection 614 that collection includes the note slides part 228.


Still further, the collection types may include a slides collection 617 that includes the slide part 222, a styles collection 619 that includes the styles sheet part 227, an embeddings collection 620 that includes the embedded object part 235 and the user data part 237, a comments collection 622 including the comments part 245, a subdocuments collection 624, a handout masters collection 625, and a notes masters collection 627.



FIGS. 4-5 are illustrative routines performed in representing presentations in a modular content framework according to illustrative embodiments of the invention. When reading the discussion of the routines presented herein, it should be appreciated that the logical operations of various embodiments of the present invention are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, the logical operations illustrated in FIGS. 4-5, and making up the embodiments of the present invention described herein are referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof without deviating from the spirit and scope of the present invention as recited within the claims set forth herein.


Referring now to FIGS. 2a, 2b and 4, the routine 700 begins at operation 704, where the presentation application program 10 writes the presentation part 210. The routine 700 continues from operation 704 to operation 705, where the presentation application program 10 queries the presentation for slide master relationships. Next, at operation 707, the presentation application writes the slide master parts 225 referenced in the presentation part 210 and establishes relationships between each slide master part 225 and the presentation part 210.


Next, at operation 708, the presentation application 10 writes slide layout parts for each slide master part 225 and establishes relationships between the slide layout parts and the slide master parts. Then at operation 710, the presentation application 10 writes a style sheet part for each slide master and establishes a relationship between the slide master part and the style sheet part. The routine 700 then continues to operation 712, where the presentation application writes all slide parts for the presentation and establishes a relationship between the slide parts and the corresponding slide layout part.


Then at operation 714, the presentation application 10 writes other modular parts associated with relationship types, such as the sound part, the image part, and the movie part associated with previously written modular parts. Any modular part to be shared between other modular parts is written only once. The routine 700 then continues to operation 722.


At operation 722, the presentation application establishes relationships between newly written and previously written modular parts. The routine 700 then terminates at return operation 727.


Referring now to FIG. 5, the routine 800 for writing modular parts will be described. The routine 800 begins at operation 802 where the presentation application 10 examines data in the presentation application. The routine 800 then continues to detect operation 804 where a determination is made as to whether the data has been written to a modular part. When the data has not been written to a modular part, the routine 800 continues from detect operation 804 to operation 805 where the presentation application writes a modular part including the data examined. The routine 800 then continues to detect operation 807 described below.


When at detect operation 804, the data examined has been written to a modular part, the routine 800 continues from detect operation 804 to detect operation 807. At detect operation 807 a determination is made as to whether all the data has been examined. If all the data has been examined, the routine 800 returns control to other operations at return operation 812. When there is still more data to examine, the routine 800 continues from detect operation 807 to operation 810 where the presentation application 10 points to other data. The routine 800 then returns to operation 802 described above.


Based on the foregoing, it should be appreciated that the various embodiments of the invention include file formats, methods and computer program products for representing presentations in a modular content framework. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.

Claims
  • 1. A computer-readable storage medium having encoded thereon a file format representative of at least one of a presentation and a presentation template, the file format representing at least one of the presentation and the presentation template in a modular content framework implemented within a computing apparatus, the computer apparatus being operative to: establish one or more relationships between a plurality of logically separate modular parts associated with the at least one of the presentation and the presentation template, wherein the one or more relationships are within a relationship hierarchy for the plurality of logically separate modular parts, the hierarchy comprising at least one explicit reference indicator indicating an explicit reference to a relationship in the content of a modular part and at least one non-explicit indicator indicating the utilization of features from a destination part by a modular part without an explicit reference, wherein each modular part is associated with a relationship type, wherein at least one of the plurality of logically separate modular parts is a global modular part used without limitation in the file format, wherein at least one of the plurality of logically separate modular parts is a non-global modular part which is shared on a limited basis in the file format, and wherein the modular parts include: a presentation part representing a start part for at least one of the presentation and the presentation template; anda slide master part associated with the presentation part and operative to specify main components of at least one of the presentation and the presentation template;interrogate each modular part separately without other modular parts being interrogated to increase efficiency when the at least one of the presentation and the presentation template is queried, wherein each modular part is one of extracted from and copied from the at least one of the presentation and the presentation template and reused in a different presentation or template along with associated modular parts identified by traversing inbound and outbound relationships of the modular part reused.
  • 2. The computer-readable storage medium of claim 1, wherein the modular content framework includes a file format container associated with the modular parts wherein the modular parts further include: a document properties part containing properties associated with the file format; anda thumbnail part containing thumbnails associated with the file format.
  • 3. The computer-readable storage medium of claim 1, wherein the modular parts further include at least one of the following: a slide layout part associated with the slide master part and operative to specify a structure of the presentation; anda slide part containing a slide in the presentation.
  • 4. The computer-readable storage medium of claim 3, wherein the modular parts further include at least one of the following: a style sheet part containing data associated with a style of a referring modular part;a handout master part containing data associated with defining a style of handouts associated with the presentation;a notes slide part containing notes associated with the slide;a notes master part containing data associated with defining a style of a note slide associated with the notes;a comments part containing comments associated with the presentation;a thumbnail part containing thumbnails associated with the presentation;a mail envelope part containing envelope data where a user of the presentation has sent the presentation via electronic mail; anda code file part containing code associated with the presentation.
  • 5. The computer-readable storage medium of claim 4, wherein the modular parts further include at least one of the following: an image part containing image data associated with the presentation;a sound part containing audio data associated with the presentation;a movie part containing movie data associated with the presentation;an embedded object part containing an object associated with the presentation;a user data part containing customized data, the customized data being read into the presentation and changed;a font part containing data that defines fonts associated with the presentation; anda drawing object part containing an object built using a drawing platform.
  • 6. The computer-readable medium of claim 5, wherein at least some of the modular parts are organized in collection types and wherein the collection types include at least one of the following: a comments collection wherein the comments collection includes the comments part;a drawings collection wherein the drawings collection includes the drawing object part;a fonts collection wherein the fonts collection includes the font part;a subdocument collection wherein the subdocument collection includes a modular parts that contain embedded documents associated with other modular parts in the presentation;an images collection wherein the images collection includes the image part;a slide layouts collection wherein the slide layouts collection includes the slide layout part;a handout masters collection wherein the handout masters collection includes the handout master part;a slide masters collection wherein the masters collection includes the slide master part;a notes masters collection wherein the masters collection includes the notes master part;a media collection wherein the media collection includes the movie and the sound parts;a notes slides collection wherein the notes slides collection includes the note slides part;a slides collection wherein the slides collection includes the slide part;a styles collection wherein the styles collection includes the styles sheet part; andan embeddings collection wherein the embeddings collection includes the embedded object part and the user data part.
  • 7. The computer-readable medium of claim 3, where the relationship types associated with the modular parts comprise at least one of a font relationship, a code file relationship capable of identifying potentially harmful code files, a user data relationship, a style sheet relationship, a comments relationship, an embedded object relationship, a drawing object relationship, an image relationship, a sound relationship, a movie relationship, a mail envelope relationship, a document properties relationship, a thumbnail relationship, a slide relationship, a notes slide relationship, a slide master relationship, a slide layout relationship, and a file format container embedded object relationship.
  • 8. The computer-readable medium of claim 3, wherein content of the slide is one of extracted from and copied from the presentation and reused in a different presentation.
  • 9. The computer-readable medium of claim 3, wherein each modular part is locked separately while the other modular parts remain available for locking whereby multiple editors each concurrently edit a modular part of the file format.
  • 10. The computer-readable medium of claim 3, wherein the modular parts provide semantics about content within the presentation when a modular part is interrogated.
  • 11. The computer-readable medium of claim 3, wherein the slide is authored in an authoring context of the presentation and wherein the slide is one of extracted from and copied from the presentation and moved to a different presentation and wherein the slide is further altered to appear as though the slide was authored in an authoring context of the different presentation.
  • 12. The computer-readable medium of claim 1, wherein the file format is formatted according to at least one of a markup language format and a binary format.
  • 13. A method for representing a presentation in a file format wherein modular parts associated with the presentation include each part written into the file format, the method comprising: writing a presentation part of the file format;querying the presentation part for a slide master relationship type;writing a slide master part of the file format separate from the presentation part;establishing a relationship between the slide master part and the presentation part, wherein the relationship is within a relationship hierarchy for the modular parts, the hierarchy comprising at least one explicit reference indicator indicating an explicit reference to a relationship in the content of a modular part and at least one non-explicit indicator indicating the utilization of features from a destination part by a modular part without an explicit reference;writing a slide layout part separate from the slide master part; andestablishing a relationship between the slide layout part and the slide master part, wherein each part is one of extracted from and copied from the presentation and reused in a different presentation along with associated parts identified by traversing inbound and outbound relationships of the part reused.
  • 14. The method of claim 13, further comprising establishing a relationship between the presentation part and a file format container wherein the file format container includes: a document properties part containing properties associated with the file format; anda thumbnail part containing thumbnails associated with the file format.
  • 15. The method of claim 13, further comprising writing a slide part separate from the slide master part and containing a slide for the presentation and establishing a relationship between the slide part and the slide layout part.
  • 16. The method of claim 15, further comprising: writing modular parts associated with relationship types wherein the modular parts that are to be shared are written only once; andestablishing relationships to the modular parts written.
  • 17. The method of claim 16, wherein writing the modular parts associated with the relationship types comprises at least one of the following: writing a style sheet part containing data associated with a style of the presentation and establishing a relationship between the style sheet part and the slide master part;writing a notes slide part containing notes associated with the slide and establishing a relationship between the notes slide part and the slide part;writing a mail envelope part containing electronic mail envelope data and establishing a relationship between the mail envelope part and the presentation part; andwriting a code file part containing code associated with the presentation and establishing a relationship between the code file part and the presentation part.
  • 18. The method of claim 16, wherein writing the modular parts associated with the relationship types comprises: a) examining data associated with the presentation;b) determining whether the data examined has been written to a modular part;c) when the data examined has not been written to the modular part, writing the modular part to include the data examined, examining other data associated with the presentation, and repeating b) through c) until all of the data associated with the presentation has been examined; andd) when the data examined has been written to the modular part, examining other data and repeating b) through d) until all of the data associated with the presentation has been examined.
  • 19. A computer program product comprising a computer-readable storage medium having control logic stored therein for causing a computer to represent a presentation in a file format wherein modular parts of the file format include each part written into the file format, the control logic comprising computer-readable program code for causing the computer to: write a presentation part of the file format;query the presentation part for a slide master relationship type;write a slide master part of the file format separate from the presentation part;establish a relationship between the slide master part and the presentation part, wherein the relationship is within a relationship hierarchy for the modular parts, the hierarchy comprising at least one explicit reference indicator indicating an explicit reference to a relationship in the content of a modular part and at least one non-explicit indicator indicating the utilization of features from a destination part by a modular part without an explicit reference;write a slide layout part separate from the slide master part; and establish a relationship between the slide layout part and the slide master part, wherein each part is one of extracted from and copied from the presentation and reused in a different presentation along with associated parts identified by traversing inbound and outbound relationships of the part reused.
US Referenced Citations (260)
Number Name Date Kind
4410286 Ko et al. Oct 1983 A
4594674 Boulia et al. Jun 1986 A
4649513 Martin et al. Mar 1987 A
4870611 Martin et al. Sep 1989 A
5222205 Larson et al. Jun 1993 A
5267155 Buchanan et al. Nov 1993 A
5469533 Dennis Nov 1995 A
5487138 Rust et al. Jan 1996 A
5537526 Anderson et al. Jul 1996 A
5579466 Habib et al. Nov 1996 A
5579519 Pelletier Nov 1996 A
5613124 Atkinson et al. Mar 1997 A
5655130 Dodge et al. Aug 1997 A
5675788 Husick et al. Oct 1997 A
5701342 Anderson et al. Dec 1997 A
5745910 Piersol et al. Apr 1998 A
5752055 Redpath et al. May 1998 A
5752056 Celik May 1998 A
5819295 Nakagawa et al. Oct 1998 A
5845058 Shaw et al. Dec 1998 A
5893109 DeRose et al. Apr 1999 A
5903903 Kennedy May 1999 A
5903905 Andersen et al. May 1999 A
5905504 Barkans et al. May 1999 A
5911776 Guck Jun 1999 A
5950215 Tabuchi Sep 1999 A
5960168 Shaw et al. Sep 1999 A
5993088 Nogay et al. Nov 1999 A
6023714 Hill et al. Feb 2000 A
6026416 Kanerva et al. Feb 2000 A
6067531 Hoyt et al. May 2000 A
6094665 Lyons et al. Jul 2000 A
6134552 Fritz et al. Oct 2000 A
6144974 Gartland Nov 2000 A
6175845 Smith et al. Jan 2001 B1
6182080 Clements Jan 2001 B1
6182096 Mastie et al. Jan 2001 B1
6199082 Ferrel et al. Mar 2001 B1
6212530 Kadlec Apr 2001 B1
6247018 Rheaume Jun 2001 B1
6247066 Tanaka Jun 2001 B1
6269403 Anders et al. Jul 2001 B1
6342904 Vasudevan et al. Jan 2002 B1
6362870 Mui et al. Mar 2002 B2
6393441 Kanerva et al. May 2002 B1
6407821 Hohensee et al. Jun 2002 B1
6418448 Sarkar Jul 2002 B1
6449653 Klemets et al. Sep 2002 B2
6457017 Watkins et al. Sep 2002 B2
6480206 Prinzing Nov 2002 B2
6484189 Gerlach et al. Nov 2002 B1
6496206 Mernyk et al. Dec 2002 B1
6507856 Kanerva et al. Jan 2003 B1
6509974 Hansen Jan 2003 B1
6538760 deBry et al. Mar 2003 B1
6549918 Probert, Jr. et al. Apr 2003 B1
6583789 Carlson et al. Jun 2003 B1
6591278 Ernst Jul 2003 B1
6604144 Anders Aug 2003 B1
6608693 Loyd et al. Aug 2003 B1
6609200 Anderson et al. Aug 2003 B2
6654737 Nunez Nov 2003 B1
6657647 Bright Dec 2003 B1
6658477 Lisitsa et al. Dec 2003 B1
6674540 Wiechers et al. Jan 2004 B1
6675353 Friedman Jan 2004 B1
6675356 Adler et al. Jan 2004 B1
6681223 Sundaresan Jan 2004 B1
6694485 Kelley et al. Feb 2004 B1
6715126 Chang et al. Mar 2004 B1
6763343 Brooke et al. Jul 2004 B1
6771291 DiStefano, III Aug 2004 B1
6781609 Barker et al. Aug 2004 B1
6785673 Fernandez Aug 2004 B1
6789229 Dunietz et al. Sep 2004 B1
6812941 Brown et al. Nov 2004 B1
6871321 Wakayama Mar 2005 B2
6910843 Saw et al. Jun 2005 B2
6912555 Lemon et al. Jun 2005 B2
6918082 Gross et al. Jul 2005 B1
6925597 Anwar Aug 2005 B2
6925631 Golden Aug 2005 B2
6931590 Kanie et al. Aug 2005 B2
6938203 Dimarco et al. Aug 2005 B1
6941510 Ozzie et al. Sep 2005 B1
6952801 Warmus et al. Oct 2005 B2
6961902 Anecki et al. Nov 2005 B2
6981207 Bakman et al. Dec 2005 B1
6993527 Raman et al. Jan 2006 B1
7036076 Anwar Apr 2006 B2
7051276 Mogilevsky et al. May 2006 B1
7054841 Tenorio May 2006 B1
7080083 Kim et al. Jul 2006 B2
7134071 Ohwada et al. Nov 2006 B2
7168035 Bell et al. Jan 2007 B1
7171618 Harrington et al. Jan 2007 B2
7290205 Moncsko et al. Oct 2007 B2
7301544 Yuan Nov 2007 B2
7412649 Emek et al. Aug 2008 B2
7418652 Ornstein et al. Aug 2008 B2
7487448 Emerson et al. Feb 2009 B2
7549118 Shur et al. Jun 2009 B2
20010003828 Peterson et al. Jun 2001 A1
20010013043 Wagner Aug 2001 A1
20010016842 Umen et al. Aug 2001 A1
20010018697 Kunitake et al. Aug 2001 A1
20010034739 Anecki et al. Oct 2001 A1
20010039552 Killi et al. Nov 2001 A1
20010044809 Parasnis et al. Nov 2001 A1
20010044813 Frank Nov 2001 A1
20010051962 Piotkin Dec 2001 A1
20010054042 Watkins et al. Dec 2001 A1
20020004805 Nojima et al. Jan 2002 A1
20020016800 Spivak et al. Feb 2002 A1
20020038348 Malone et al. Mar 2002 A1
20020049790 Ricker et al. Apr 2002 A1
20020059265 Valorose May 2002 A1
20020059337 Takaoka et al. May 2002 A1
20020065848 Walker et al. May 2002 A1
20020065857 Michalewicz May 2002 A1
20020073236 Helgeson et al. Jun 2002 A1
20020087602 Masuda et al. Jul 2002 A1
20020099797 Merrell et al. Jul 2002 A1
20020103835 Kearney Aug 2002 A1
20020107886 Gentner et al. Aug 2002 A1
20020111133 Wittkotter Aug 2002 A1
20020116421 Fox et al. Aug 2002 A1
20020120647 Amano Aug 2002 A1
20020129058 Story et al. Sep 2002 A1
20020174145 Duga et al. Nov 2002 A1
20020184263 Perinet et al. Dec 2002 A1
20020188638 Hamscher Dec 2002 A1
20020194220 Sluiman Dec 2002 A1
20030004957 Broman et al. Jan 2003 A1
20030023637 Halahmi Jan 2003 A1
20030028560 Kudrolli et al. Feb 2003 A1
20030033287 Shanahan et al. Feb 2003 A1
20030065946 Holliday et al. Apr 2003 A1
20030074633 Boulmakoul et al. Apr 2003 A1
20030079181 Schumacher et al. Apr 2003 A1
20030093520 Beesley May 2003 A1
20030115547 Ohwada et al. Jun 2003 A1
20030120671 Kim et al. Jun 2003 A1
20030126136 Omoigui Jul 2003 A1
20030126260 Husain et al. Jul 2003 A1
20030137539 Dees Jul 2003 A1
20030142128 Reulein et al. Jul 2003 A1
20030145134 Wehage et al. Jul 2003 A1
20030149934 Worden Aug 2003 A1
20030149935 Takizawa et al. Aug 2003 A1
20030158851 Britton et al. Aug 2003 A1
20030163552 Savitzky et al. Aug 2003 A1
20030167446 Thomas Sep 2003 A1
20030172168 Mak et al. Sep 2003 A1
20030172343 Leymaster et al. Sep 2003 A1
20030177446 Gropper et al. Sep 2003 A1
20030177449 Rose Sep 2003 A1
20030182450 Ong et al. Sep 2003 A1
20030182656 Leathers et al. Sep 2003 A1
20030195784 Smith Oct 2003 A1
20030196176 Abu-Ghazalah et al. Oct 2003 A1
20030221167 Goldstein et al. Nov 2003 A1
20030222890 Salesin et al. Dec 2003 A1
20030229845 Salesin et al. Dec 2003 A1
20030233420 Stark et al. Dec 2003 A1
20030237048 Jones et al. Dec 2003 A1
20030237049 Sawicki et al. Dec 2003 A1
20040003343 Liao et al. Jan 2004 A1
20040003388 Jacquemot et al. Jan 2004 A1
20040015782 Day et al. Jan 2004 A1
20040015890 Wong et al. Jan 2004 A1
20040015908 Giel et al. Jan 2004 A1
20040019853 Takizawa et al. Jan 2004 A1
20040030711 Roudot Feb 2004 A1
20040030987 Manelli Feb 2004 A1
20040034848 Moore et al. Feb 2004 A1
20040049737 Simon et al. Mar 2004 A1
20040054669 Seyrat et al. Mar 2004 A1
20040054697 Brandenberger Mar 2004 A1
20040066527 Kloosterman et al. Apr 2004 A1
20040078755 Shinjo et al. Apr 2004 A1
20040088332 Lee et al. May 2004 A1
20040103073 Blake et al. May 2004 A1
20040117733 Moreau et al. Jun 2004 A1
20040128535 Cheng Jul 2004 A1
20040128623 Hudson Jul 2004 A1
20040139049 Hancock et al. Jul 2004 A1
20040148278 Milo et al. Jul 2004 A1
20040148567 Jeon et al. Jul 2004 A1
20040153467 Conover et al. Aug 2004 A1
20040172584 Jones et al. Sep 2004 A1
20040172592 Collie et al. Sep 2004 A1
20040181753 Michaelides Sep 2004 A1
20040183837 Watanabe et al. Sep 2004 A1
20040194025 Hubert et al. Sep 2004 A1
20040205533 Lopata et al. Oct 2004 A1
20040205539 Mak et al. Oct 2004 A1
20040205580 De Angelis et al. Oct 2004 A1
20040205623 Weil et al. Oct 2004 A1
20040205653 Hadfield et al. Oct 2004 A1
20040205656 Reulein et al. Oct 2004 A1
20040216048 Brown et al. Oct 2004 A1
20040221233 Thielen Nov 2004 A1
20040226012 Awada et al. Nov 2004 A1
20040230894 Elza et al. Nov 2004 A1
20040243551 Boone et al. Dec 2004 A1
20040267553 Brunton Dec 2004 A1
20040268304 Kuo et al. Dec 2004 A1
20050005233 Kays et al. Jan 2005 A1
20050022113 Hanlon Jan 2005 A1
20050063010 Giannetti Mar 2005 A1
20050066335 Aarts Mar 2005 A1
20050071385 Rao Mar 2005 A1
20050071755 Harrington et al. Mar 2005 A1
20050091574 Maaniitty et al. Apr 2005 A1
20050091575 Relyea et al. Apr 2005 A1
20050099398 Garside et al. May 2005 A1
20050105116 Kobashi May 2005 A1
20050108001 Aarskog May 2005 A1
20050108212 Karimisetty et al. May 2005 A1
20050108278 Jones et al. May 2005 A1
20050120061 Kraft Jun 2005 A1
20050125720 Little et al. Jun 2005 A1
20050125728 Peiro et al. Jun 2005 A1
20050132279 Relyea et al. Jun 2005 A1
20050144556 Petersen et al. Jun 2005 A1
20050177784 Andrews et al. Aug 2005 A1
20050192813 Richard Sep 2005 A1
20050198561 McAuley Sep 2005 A1
20050204016 McAuley Sep 2005 A1
20050210026 Wood Sep 2005 A1
20050223312 Erdtmann et al. Oct 2005 A1
20050246724 Foehr et al. Nov 2005 A1
20050248790 Ornstein et al. Nov 2005 A1
20050249536 Sedky et al. Nov 2005 A1
20050251739 Shur et al. Nov 2005 A1
20050251740 Shur et al. Nov 2005 A1
20050251742 Mogilevsky et al. Nov 2005 A1
20050268221 Shur et al. Dec 2005 A1
20050278616 Eller Dec 2005 A1
20050278626 Malik Dec 2005 A1
20060010371 Shur et al. Jan 2006 A1
20060026585 Haselden et al. Feb 2006 A1
20060031749 Schramm et al. Feb 2006 A1
20060031758 Shur et al. Feb 2006 A1
20060041838 Khan Feb 2006 A1
20060047743 Yuan et al. Mar 2006 A1
20060056334 Yuan et al. Mar 2006 A1
20060080314 Hubert et al. Apr 2006 A1
20060080316 Gilmore et al. Apr 2006 A1
20060080603 Bailey et al. Apr 2006 A1
20060095834 Jeon et al. May 2006 A1
20060117019 Sylthe et al. Jun 2006 A1
20060136809 Fernstrom Jun 2006 A1
20060155529 Ludviksson et al. Jul 2006 A1
20060168562 Emek et al. Jul 2006 A1
20060206794 Ornstein et al. Sep 2006 A1
20060227150 Yuan Oct 2006 A1
20070061384 Harrington et al. Mar 2007 A1
20070136443 Sah et al. Jun 2007 A1
Foreign Referenced Citations (11)
Number Date Country
1 376 387 Jan 2004 EP
1 452 966 Nov 2004 EP
1 672 528 Dec 2005 EP
WO 9901802 Jan 1999 WO
WO 0144932 Jun 2001 WO
WO 0180044 Oct 2001 WO
WO 0221339 Mar 2002 WO
WO 03009517 Jan 2003 WO
WO 03021537 Mar 2003 WO
WO 2006133053 Dec 2006 WO
200509350 Apr 2008 ZA
Related Publications (1)
Number Date Country
20060136827 A1 Jun 2006 US