OBJECTS HAVING USAGE RULES THAT EXIST OUTSIDE OF THE ENVIRONMENT IN WHICH THE OBJECT IS USED
An object that is usable in a plurality of different environments comprises at least one property having an associated rule that affects the object. The object and at least one of its properties and associated rules exist outside of an environment that the object is used in. The rule associated with the at least one property is enforced in the plurality of different environments.
This application claims the benefit of U.S. Provisional Patent Application No. 61/041,839 filed Apr. 2, 2008.
COPYRIGHT NOTICE AND AUTHORIZATIONPortions of the documentation in this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever.
BACKGROUND OF THE INVENTIONIt is well-known to use objects within an electronic document. The object may cause text and/or images to appear in the electronic document at a user-defined location. Objects may include rules that affect the object. However, rules in conventional objects are associated with the environment that the object is used in, such as the particular document that the object is used in. It would be desirable to define objects that are not constrained in this manner. The present invention fulfills such a need.
BRIEF SUMMARY OF THE INVENTIONIn one preferred embodiment, an object that is usable in a plurality of different environments comprises at least one property having an associated rule that affects the object. The object and at least one of its properties and associated rules exist outside of an environment that the object is used in. The rule associated with the at least one property is enforced in the plurality of different environments.
The foregoing summary as well as the following detailed description of preferred embodiments of the invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, the drawings show presently preferred embodiments. However, the invention is not limited to the precise arrangements and instrumentalities shown. In the drawings:
Certain terminology is used herein for convenience only and is not to be taken as a limitation on the present invention.
This patent application includes an Appendix having a file named appendix10379-26U1.txt, created on Mar. 30, 2009, and having a size of 1,466,432 bytes. The Appendix is incorporated by reference into the present patent application. One preferred embodiment of the present invention is implemented via the source code in the Appendix. The Appendix is subject to the “Copyright Notice and Authorization” stated above.
The present invention is described in the context of a web-based commercial implementation called Improv™ marketed by Colorquick, L.L.C, Pennsauken, N.J. Improv is a document composition application.
In one preferred embodiment, a smart object is an object that is usable in a plurality of different environments. The object comprises at least one property having an associated rule that affects the object. The object and the at least one property and associated rule exists outside of an environment that the object is used in. The rule associated with the at least one property is enforced in the plurality of different environments.
In another preferred embodiment, a smart object is an object that is usable in a plurality of different environments. The object comprises at least one property having an associated rule that affects the environment that the object is used in. The object and the at least one property and associated rule exists outside of an environment that the object is used in. The rule associated with the at least one property is enforced in the plurality of different environments.
In other preferred embodiments, a smart object is an object that is usable in a plurality of different environments. The object comprises at least one rule that affects either the object or the environment that the object is used in. The object and the at least one rule exists outside of an environment that the object is used in. The at least one rule is enforced in the plurality of different environments.
From the blank document shown in
The digital asset library of currently saved Smart Objects is shown in
As discussed above, rules may affect the appearance of an object (e.g.,
“If the document type is an envelope, then the left side of the text box must be more than 0.5 inches from the left side of the page and less than the width of the page minus the width of the text box minus 0.5 inches from the left side of the page. Otherwise, the left side of the text box is unconstrained.”
Included in the Appendix is sample source code from the client application shown in the figures, and server-side code that interacts with the aforementioned client application. The following information is provided to assist in an understanding of the sample source code:
a) The client-side application is a document composition application created with the Adobe® Flex® 2.0.1 framework and compiler. The server side code was implemented using ASP.NET and Weborb 3.3.
b) Calls to server-side methods retrieve assets (e.g., images, data lists, templates) which are identified by an integer id. Asset collections (list of images, list of smart objects), which is a list of all available assets of a given type, may also be retrieved. Lastly, documents may be received as templates identified by an integer, or job pages identified by a pair of integers.
c) Multiple files are included in the Appendix. Start of files are marked with “FILE START:” followed by the relative file path. The end of files are marked with “FILE END:” followed by the relative file path. These start and end lines are not part of compilable code. XML and XML list snippets are headed by appropriate comments. The syntax of the source code identifies what language the code is written in and thus how the code may be compiled and executed. For further detail, “.as” and “.mxml” files are client-side Adobe Flex files and “.cs” files are c# files server-side files.
d) The following additional information is provided to assist in the compiling of the client side code provided in the Appendix:
-
- i) Files in the mx.graphics packages and its sub-packages are not included in the Appendix. However, these files are only used to create graphical previews of objects and documents, and thus are not required for implementing the present invention.
- ii) The class “OpenNumericStepper” was omitted from the Appendix. This class is a derivative of the class NumericStepper from the Flex 2.0.1 framework. To recreate this class, the non-public properties and methods are changed to public properties and methods.
- iii) Artwork to be embedded in the application (e.g., icons) is not included. When compiling the code, replacement artwork should be provided as necessary.
- iv) Font files are not included. This application uses “embedded fonts” loaded from external Adobe Flashy files, but could be modified to use “device fonts” without changing the material functionality of the application.
- v) The uri of some locations have been redacted. The vast majority of the functionality at these locations is irrelevant to the functioning of this source code and can be ignored or coded around. Material functionality located at these locations is explicitly addressed below.
e) The following is a discussion of the relevant server-side code:
-
- i) The asp pages, referenced in the code as “imageDownloadPage” and “DAMThumbnailImagePage”, are passed an asset number for an asset of type image. These pages return the asset image or thumbnail of the asset image, respectively.
- ii) Sample remoting code using WebORB is provided, including the List Provider MailingListProvider. MailingListProvider is included in the Appendix as a representative example of other List Providers that allow for the retrieval of list assets from the server to the client. The data serialization is the standard serialization done by WebORB.
- iii) The web service method “getImage” returns data for the image with the id that was passed to the method. An example of this data format is included in the Appendix.
- iv) The web service method “getDAMImages” returns a list of data for all image assets in the form of a list of xml. An example of this data format is included in the Appendix.
- v) The web service method “getDocument” is passed a template id, a job id and a page id. If the template id is not 0, then the template with that id is returned. Otherwise, the page of the job of the respectively passed ids is returned. In either event, a document is returned in xml format. An example document is included in the Appendix.
- vi) The web service method “saveDocument” is passed a document in xml format and an id. The document format is the same as the document format referred to in section v. A Boolean value and preview image are also passed, as seen in the client-side code in the Appendix. These items are not relevant to the functionality of the preferred embodiments and thus are not further discussed. If the document is a template, the template id is passed as the id. Otherwise, the job number and the page number separated by a comma is passed.
- vii) The web service method “getObjects” returns a list of all smart object assets in the form of a list of xml. An example of this data format is included in the Appendix.
- viii) The web service method “saveObject” takes a serialized version of a Smart Object. An example of this data format is included in the Appendix. A description, comment, and image preview are passed to this web method, as seen in the client-side code in the Appendix. These items are not relevant to the functionality of the preferred embodiments and thus are not further discussed. The server should save this serialized data with a new id so that when “getObjects” is next called, the newly saved objects are retrieved with all other preexisting objects in the same format as referenced in section vii.
- ix) Any GUIDs passed to a web method, as seen in the client-side code in the Appendix, are not relevant to the functionality of the preferred embodiments and thus are not further discussed.
In preferred embodiments described above and shown in the source code of the accompanying Appendix, the plurality of different environments is a plurality of different documents. In an alternative embodiment, the plurality of different environments may be a plurality of different applications.
One preferred embodiment of the present invention is implemented via the source code in the accompanying Appendix. However, the scope of the present invention is not limited to this particular implementation of the invention.
Figures include icons created by Mark James from
“http://WorldWideWeb.famfamfam.com/lab/silk/” licensed under the Creative Commons Attribution 2.5 License.
The present invention may be implemented with any combination of hardware and software. If implemented as a computer-implemented apparatus, the present invention is implemented using means for performing all of the steps and functions described above.
The present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer useable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the mechanisms of the present invention. The article of manufacture can be included as part of a computer system or sold separately.
It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept thereof. It is understood, therefore, that this invention is not limited to the particular embodiments disclosed, but it is intended to cover modifications within the spirit and scope of the present invention.
While the present invention has been particularly shown and described with reference to one preferred embodiment thereof, it will be understood by those skilled in the art that various alterations in form and detail may be made therein without departing from the spirit and scope of the present invention.
Claims
1. An object that is usable in a plurality of different environments, the object comprising at least one property having an associated rule that affects the object, wherein the object and the at least one property and associated rule exists outside of an environment that the object is used in, the rule associated with the at least one property being enforced in the plurality of different environments.
2. The object of claim 1 wherein the rule is an invariant.
3. The object of claim 1 wherein the plurality of different environments is a plurality of different documents.
4. The object of claim 1 wherein the rule affects the appearance of the object.
5. A method of creating an object that is usable in a plurality of different environments, the method comprising:
- (a) defining an object comprising at least one property having an associated rule;
- (b) defining the associated rule; and
- (c) storing the object for subsequent use in the plurality of different environments,
- wherein the created object and the at least one property and associated rule exists outside of an environment that the created object is used in, the rule associated with the at least one property being enforced in the plurality of different environments.
6. The method of claim 5 wherein the rule is an invariant.
7. The object of claim 5 wherein the rule affects the appearance of the object.
8. A method of employing an object that is usable in a plurality of different environments, the object comprising at least one property having an associated rule, wherein the object and the at least one property and associated rule exists outside of an environment that the object is used in, the rule associated with the at least one property being enforced in the plurality of different environments, the method comprising:
- (a) importing a copy of the object into an environment; and
- (b) enforcing the rule associated with the at least one property in the environment.
9. The method of claim 8 wherein the rule is an invariant.
10. The method of claim 8 wherein the rule affects the appearance of the object.
11. An object that is usable in a plurality of different environments, the object comprising at least one property having an associated rule that affects the environment that the object is used in, wherein the object and the at least one property and associated rule exists outside of an environment that the object is used in, the rule associated with the at least one property being enforced in the plurality of different environments.
12. The object of claim 11 wherein the rule is that certain text and/or images must be used in the environment whenever the object is used in the environment.
13. The object of claim 11 wherein the plurality of different environments is a plurality of different documents.
14. A method of creating an object that is usable in a plurality of different environments, the method comprising:
- (a) defining an object comprising at least one property having an associated rule that affects the environment that the object is used in;
- (b) defining the associated rule; and
- (c) storing the object for subsequent use in the plurality of different environments,
- wherein the created object and the at least one property and associated rule exists outside of an environment that the created object is used in, the rule associated with the at least one property being enforced in the plurality of different environments.
15. A method of employing an object that is usable in a plurality of different environments, the object comprising at least one property having an associated rule that affects the environment that the object is used in, wherein the object and the at least one property and associated rule exists outside of an environment that the object is used in, the rule associated with the at least one property being enforced in the plurality of different environments, the method comprising:
- (a) importing a copy of the object into an environment; and
- (b) in the environment, enforcing the rule associated with the at least one property.
Type: Application
Filed: Apr 2, 2009
Publication Date: Oct 8, 2009
Applicant: ColorQuick, L.L.C. (Pennsauken, NJ)
Inventor: Daniel J. FREIMAN (Philadelphia, PA)
Application Number: 12/417,480
International Classification: G06F 17/00 (20060101);