US7783967B1 - Packaging web content for reuse - Google Patents
Packaging web content for reuse Download PDFInfo
- Publication number
- US7783967B1 US7783967B1 US11/554,449 US55444906A US7783967B1 US 7783967 B1 US7783967 B1 US 7783967B1 US 55444906 A US55444906 A US 55444906A US 7783967 B1 US7783967 B1 US 7783967B1
- Authority
- US
- United States
- Prior art keywords
- module
- web content
- structural element
- xhtml
- container
- 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.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Definitions
- This disclosure relates to packaging web content for reuse.
- Web content typically is defined by markup language, for example hypertext markup language (HTML) or extensible HTML (XHTML) and associated styles, scripts, and meta-data which are embedded within a markup language document that can be rendered in a web browser.
- markup language for example hypertext markup language (HTML) or extensible HTML (XHTML) and associated styles, scripts, and meta-data which are embedded within a markup language document that can be rendered in a web browser.
- Microformat specifications allow semantics to be applied to markup language documents such as, for example, HTML or XHTML documents, by adding additional microformat markup to the preexisting markup documents.
- a machine that supports a particular microformat specification can extract meaning from a document that includes microformat markup that complies with the microformat specification by interpreting the additional microformat markup that has been added to the document.
- a request to import web content that is packaged within a module manifest into a web page is received.
- the module manifest is accessed.
- a view container that includes the web content is identified within the accessed module manifest.
- the view container is a standard XHTML structural element that has a class attribute that designates the standard XHTML structural element as the view container.
- the web content is extracted from the view container and embedded in the web page.
- Implementations may include one or more of the following features.
- a module container may be identified within the module manifest.
- the other standard XHTML structural element may have an identification attribute that specifies a name, and identifying the module container may include associating the name specified by the identification attribute with the web content.
- Identifying the view container may include determining that the standard XHTML structural element is the view container based on recognizing that the class attribute designates the standard XHTML structural element as the view container.
- the XHTML-based module manifest may be rendered in a web browser.
- a microformat specification that extends the meaning of standard XHTML elements may be used to package web content for reuse in an XHTML-based module manifest.
- a markup element of the module manifest is designated as a view container by assigning a class attribute of the markup element a value that, according to the microformat specification, identifies the markup element as belonging to a view container class.
- the web content is enclosed within the view container.
- Implementations may include one or more of the following features.
- Another markup element of the module manifest may be designated as a module container by assigning a class attribute of the other markup element a value that, according to the microformat specification, identifies the other markup element as belonging to a module container class and by assigning an identification attribute of the other markup element a value that associates the web content with a name.
- the view container may be enclosed within the module container.
- Another markup element enclosed within the module container may be designated as a description meta-data element for containing a description of the web content by assigning a class attribute of the other markup element a value that, according to the microformat specification, identifies the other markup element as the description meta-data element.
- a different markup element enclosed within the module container may be designated as a detail meta-data element for containing another description of the web content that is more detailed than the description of the web content contained within the description meta-data element by assigning a class attribute of the different markup element a value that, according to the microformat specification, identifies the other markup element as the detail meta-data element.
- Another markup element enclosed within the module container may be designated as an author meta-data element for containing information about an author of the web content element by assigning a class attribute of the other markup element a value that, according to the microformat specification, identifies the other markup element as the author meta-data element.
- Another markup element enclosed within the module container may be identified as a thumbnail meta-data element for containing a reference to a visual representation associated with the web content by assigning a class attribute of the other markup element a value that, according to the microformat specification, identifies the other markup element as the thumbnail meta-data element.
- Another markup element enclosed within the module container may be designated as a version meta-data element for containing information related to a version of the web content by assigning a class attribute of the other markup element a value that, according to the microformat specification, identifies the other markup element as the version meta-data element.
- a target document referenced by a markup element that is enclosed within the module container may be designated as a document that provides documentation about the web content by associating an attribute with the target document that, according to the microformat specification, identifies the target document as the document that provides documentation about the web content.
- a target document referenced by a markup element that is enclosed within the module container may be designated as a document that provides information about a license associated with the web content by associating an attribute with the target document that, according to the microformat specification, identifies the target document as the document that provides information about the license associated with the web content.
- a target document referenced by a markup element that is enclosed within the module container may be designated as a document that an importer needs to proxy by associating an attribute with the target document that, according to the microformat specification, identifies the target document as the document that the importer needs to proxy.
- Another markup element enclosed within the module container may be designated as a module properties list for defining at least one property of the web content by assigning a class attribute of the other markup element a value that, according to the microformat specification, identifies the other markup element as the module properties meta-data element.
- Another markup element enclosed within the module container may be designated as an edit container for defining an edit interface that enables a user to configure the web content by assigning a class attribute of the other markup element a value that, according to the microformat specification, identifies the other markup element as belonging to an edit container class.
- an importation engine is configured to receive a request to import web content that has been packaged within a module manifest into a web page and to access the module manifest in response to receiving the request to import the web content into the web page.
- the importation engine is configured to identify within the accessed module manifest a view container that includes the web content.
- the view container is a standard XHTML structural element that has a class attribute that designates the standard XHTML structural element as the view container.
- the importation engine is further configured to extract the web content from the view container and to embed the web content in the web page.
- Implementations may include one or more of the following features.
- the importation engine may be configured to identify, within the module manifest, a module container.
- the module container may be another standard XHTML structural element that has another class attribute that designates the other standard XHTML structural element as the module container.
- the importation engine also may be configured to render the XHTML-based module manifest.
- Implementations of any of the techniques described may include a method or process, an apparatus or system, or a computer program embodied on a computer readable medium.
- the details of one or more implementations are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.
- FIGS. 1 a - 1 h illustrate an example of a graphical user interface (GUI) for importing modules of web content into a web page.
- GUI graphical user interface
- FIG. 2 a is a block diagram of an example of an architecture for importing a module of web content from a module manifest into a web page.
- FIG. 2 b is a diagram of an example of a process for packaging a module of web content for reuse and importing the module of web content into a web page.
- FIG. 2 c is a block diagram of an example of an architecture for importing an instance of a module of web content from a web page into another web page.
- FIG. 3 is a pseudocode representation of an example of a module manifest for packaging one or more modules of web content for reuse.
- FIG. 4 illustrates an example of a complete module manifest for packaging a module of web content for reuse.
- FIGS. 5 a ( 1 ) and 5 a ( 2 ) illustrate a second example of a complete module manifest for packaging a module of web content for reuse.
- FIG. 5 b illustrates a screenshot of the module manifest of FIGS. 5 a ( 1 ) and 5 a ( 2 ) when rendered in a browser.
- FIG. 5 c illustrates a screenshot of the actual module of web content after having been extracted from the module manifest of FIGS. 5 a ( 1 ) and 5 a ( 2 ) and imported into a new web page.
- FIG. 5 d illustrates the markup language source document for the web page of FIG. 5 c.
- FIG. 5 e illustrates another implementation of the markup language source document for the web page of FIG. 5 c
- Packaging modules of web content for reuse is disclosed.
- One or more modules of web content may be packaged for reuse within a document referred to as a module manifest.
- a module of web content can be packaged within the module manifest by adding additional markup to the content's markup and associated styles, scripts, and meta-data. The additional markup may follow a microformat specification.
- the module of web content packaged within the module manifest can be extracted from the module manifest for importation into any web page by using the added microformat markup to identify the module from within the module manifest such that it can be extracted from the module manifest.
- a module of web content is packaged within a module manifest such that instances of the module of web content can be embedded within one or more web pages by instantiating the module of web content from the module manifest. That is to say, a module of web content embedded within a module manifest can be extracted from the module manifest and imported into one or more web pages.
- a discrete module of web content is packaged in a module manifest that uses microformat tags to identify and describe the content's markup (e.g., HTML or XHTML) and associated styles, scripts, or meta-data that define the module of web content (e.g., JavaScript, cascading style sheets (CSS), etc.).
- the module manifest then may be made available to web page designers that potentially may be interested in importing an instance of the module of web content into a web page. For example, the module manifest may be added to a hosted collection of module manifests that contains modules of web content that are available to be imported into web pages.
- an importation engine can parse the module manifest and use the microformat tags to identify the content's markup and associated styles, scripts, or meta-data that define the module of web content, thereby enabling the importation engine to extract the markup and associated styles, scripts or meta-data from the module manifest and embed an instance of the module of web content in a webpage by embedding the extracted markup and associated styles, scripts, or meta-data.
- FIGS. 1 a - 1 c illustrate an example of a graphical user interface (GUI) 100 for importing modules of web content into a web page.
- GUI graphical user interface
- the GUI 100 includes a menu 102 of modules of web content and a web page publishing interface 104 .
- the menu 102 includes a collection of visual representations of modules of web content 106 , 108 , 110 , 112 , and 114 , each of which has been packaged within a corresponding module manifest such that the module of web content can be extracted from the module manifest and imported into a web page.
- the web page publishing interface 104 enables a user to compose a web page by importing one or more of the modules of web content 106 , 108 , 110 , 112 , and 114 from the menu 102 into the web page. More particularly, a user can import a module of web content into a web page by selecting a module of web content from the menu of modules of web content 102 and then, for example, dragging and dropping the selected module of web content to a desired location within the web page publishing interface 104 .
- the user can drag and drop module 106 into the web page publishing interface 104 such that an instance 106 ( a ) of the module 106 is imported into the user's web page.
- the user also can import additional modules of web content into the user's web page.
- the user can drag and drop module 110 into the web page publishing interface 104 such that an instance 110 ( a ) of the module of web content 110 is imported into the user's web page.
- a user may be able to edit or otherwise configure a module of web content before and/or after importing the module of web content into a web page.
- the GUI 100 has been modified such that the menu 102 now includes a collection of visual representations of different modules of web content 116 , 118 , 120 , 122 , and 124 .
- FIG. 1 e when a user drags and drops module 122 into the web page publishing interface 104 , an instance 122 ( a ) of module 122 is imported into the web page publishing interface 104 .
- FIG. 1 e when a user drags and drops module 122 into the web page publishing interface 104 , an instance 122 ( a ) of module 122 is imported into the web page publishing interface 104 .
- the instance 122 ( a ) of the module 122 is configured to publish an RSS feed on the user's web page.
- the user is presented with controls 126 , 128 , and 130 that enable the user to edit or otherwise configure the instance 122 ( a ) of module 122 .
- the update button 126 the user can edit the instance 122 ( a ) of the module 122
- the style button 128 the user can apply styles to the instance 122 ( a ) of the module 122
- the remove button 130 the user can remove the instance 122 ( a ) of the module 122 .
- an edit interface 132 is surfaced that enables the user to edit or otherwise configure the module.
- the edit interface 132 enables the user to specify a particular uniform resource locator (URL) of an RSS feed to be published as well as the number of items from the RSS feed to be published at any given time.
- URL uniform resource locator
- the user has manipulated the edit interface 132 so as to configure the instance 122 ( a ) of the module 122 to display three items from the RSS feed at any given time. Thereafter, as illustrated in FIG.
- the instance 122 ( a ) of the module 122 publishes three items from the RSS feed at any given time.
- the actual markup and/or the data object model (DOM) for the module may be manipulated.
- the importation engine may accomplish the editing and/or configuring by intelligently extracting certain content or information from the module's manifest during importation and/or the importation engine may accomplish the editing and/or configuring by appending certain information or content to a header associated with the module during importation.
- Edit interface 132 described above is merely one example of an edit interface. Edit interfaces may take various different forms, and edit interfaces may enable an importer to edit or otherwise configure various different properties, styles, and/or aspects of a module of arbitrary web content.
- the web page publishing interface 104 is a visual representation of the user's web page.
- the user's web page is defined by a markup language source document.
- the visual representation of the user's web page presented in the web page publishing interface 104 is generated by rendering the markup language source document in a browser.
- the content's markup and associated styles, scripts, and meta-data that define the module of web content are extracted from the corresponding module manifest in which the module has been packaged and imported into the markup language source document that describes the user's resultant web page. That is, the source document that describes the user's web page is modified to include the content's markup and associated styles, scripts, and meta-data.
- a JavaScript layout manager application may be configured to implement the dragging and dropping of a module of web content from the menu 102 into the web page publishing interface 104 .
- the framework parses the corresponding module manifest, extract's the module's markup and associated styles, scripts, and meta-data from the module manifest, and embeds the module's markup and associated styles, scripts, and meta-data into the web page.
- XML path language XPath
- DOM document object model
- the GUI 100 of FIGS. 1 a - 1 h is merely one example of a GUI that enables users to import modules of web content into web pages. Numerous other GUIs also may be used to enable users to import modules of web content into web pages.
- FIG. 2 a is a block diagram of an example of an architecture 200 for importing a module of web content from a module manifest into a web page.
- the architecture 200 includes a module manifest 202 , an importation engine 204 , and a web page 206 .
- the module manifest 202 includes a module of web content 208 that has been packaged within the module manifest 202 for reuse.
- the module of web content is defined by markup language and perhaps additionally one or more associated styles, scripts, meta-data and other data.
- the markup and associated styles, scripts, and meta-data that define the module of web content 208 have been packaged within the module manifest 202 by adding additional microformat markup to the content's markup and associated styles, scripts, and meta-data.
- the microformat markup added to the module of web content identifies the relevant portions of the markup and associated styles, scripts, and meta-data that define the module of web content 208 such that the module of web content 208 can be extracted from the module manifest 202 and imported into a web page, while retaining the functionality of the module of web content 208 .
- the importation engine 204 understands the meaning added to the module of web content 202 by the additional microformat markup. Therefore, the importation engine can parse the module manifest 202 and intelligently identify the module of web content 208 packaged within the module manifest 202 based on the additional microformat markup. After the importation engine has identified the module of web content 208 , the importation engine can extract the content's markup and associated styles, scripts, and meta-data from the module manifest and instantiate an instance 208 ( a ) of the module 208 in the web page 206 by embedding the extracted markup and associated styles, scripts, and meta-data within the web page 206 .
- FIG. 2 b is a diagram of an example of a process 250 for packaging a module of web content for reuse and importing the module of web content into a web page.
- the process begins when a developer generates a module of web content ( 252 ).
- the developer will generate the module of web content by creating a markup language document (e.g., an HTML or XHTML document) that includes markup and perhaps one or more associated styles, scripts, meta-data and other data that define the module of web content.
- a markup language document e.g., an HTML or XHTML document
- the developer packages the module of web content for reuse within a module manifest by adding additional microformat tags to the content's markup and associated styles, scripts, and meta-data that define the module of web content ( 254 ).
- the developer shares the module manifest with web page designers by adding the module manifest to a collection of module manifests stored on a host computer ( 256 ). The host computer then makes the module manifest available to the web page designers by hosting the module manifest in its collection of module manifests ( 258 ).
- an importation engine that supports the microformat added to the module of web content parses the module of web content to identify the content's markup and associated styles, scripts, and meta-data that define the module of web content ( 260 ).
- the importation engine identifies the content's markup and associated styles, scripts, and meta-data based on the additional microformat tags added to the module of web content and extracts the identified markup and associated styles, scripts, and meta-data from the module manifest ( 262 ).
- the importation engine then imports the module of web content into the web page by embedding the markup and associated styles, scripts, and meta-data into the markup language source document that defines the web page ( 264 ).
- FIG. 2 c is a block diagram of an example of an architecture 280 for importing the instance 208 ( a ) of the module 208 from the web page 206 of FIG. 2 a into a second web page 282 .
- the instance 208 ( a ) of the module 208 is defined by markup language and perhaps additionally one or more associated styles, scripts, meta-data and other data.
- Enough of the microformat markup added to the module 208 in the module manifest 206 has been retained in the instance 208 ( a ) of the module 208 instantiated in the web page 206 so as to enable the instance 208 ( a ) of the module 208 to be imported into the second web page 282 .
- the importation engine 204 understands the meaning of the retained microformat markup. Therefore, the importation engine can identify the instance 208 ( a ) of the module 208 within the web page 206 . After the importation engine 204 has identified the instance 208 ( a ) of the module 208 within the web page 206 , the importation engine 204 can extract the content's markup and associated styles, scripts, and meta-data from the web page 206 and instantiate another instance 208 ( b ) of the module 208 in the second web page 282 by embedding the extracted markup and associated styles, scripts, and meta-data within the second web page 282 .
- FIG. 3 is a pseudocode representation 300 of an example of a module manifest for packaging one or more modules of web content for reuse.
- a module manifest may be composed in a standards-based markup language such that the module manifest can be rendered in a web browser.
- the example of a module manifest presented in FIG. 3 is illustrated using pseudocode.
- the module manifest 300 of FIG. 3 includes a module container element 302 that functions as a containing block for containing a module of web content packaged within the module manifest 300 .
- the module container element 302 also includes several child elements. Most notably, the module container element 302 also includes a view container element 304 and an edit container element 306 .
- the view container element 304 includes the markup that specifies the content that is viewed (e.g., displayed) when the module of web content contained within the module container element 302 is rendered. For example, as illustrated in FIG. 3 , the line “Hello World” will be displayed when the module is rendered.
- the module container element 302 also includes an edit container element 306 that includes markup, and perhaps associated scripts, styles, and/or meta-data that define an edit interface for the module, such as, for example, the edit interface 132 of FIGS. 1 f and 1 g , that enables an importer of the module to configure certain aspects or properties of the module.
- the edit interface may enable an importer of a module to configure aspects or properties of the module before importing the module into a web page. Additionally or alternatively, the edit interface may enable an importer of a module to configure aspects or properties of the module after importing the module into a web page.
- the edit container element 306 may be optional. Therefore, if a developer does not want to define an edit interface that enables an importer to configure certain aspects or properties of a module, the developer need not do so.
- the module container element 302 also includes a number of additional meta-data child elements 320 that contain information that is descriptive of the module of web content packaged within the module container element 302 .
- the meta-data child elements 320 include a module description element 308 that includes, for example, a short, user-readable (e.g., not overly technical) description of the module and its functionality.
- the meta-data child elements 320 also include a detail element 310 that provides a more detailed description of the module's capabilities and requirements, an author information element 312 that provides information about the author of the module, a thumbnail image element 314 that provides a thumbnail image that may be used as a visual representation of the module, and a version element 316 that identifies the version of the module.
- the information contained within the meta-data elements 320 may not be needed to instantiate an instance of the module of web content in a web page. Therefore, the information contained within the meta-data elements may not be extracted from the module container element when the module of web content is imported into a web page. Nevertheless, the information contained within the meta-data elements may provide valuable information to a potential importer of the module of web content.
- the module manifest is implemented in a standards-based markup language, the information may be accessed by rendering the module manifest in a browser.
- the structural elements used to package a module of web content within the module manifest 300 are the module container element 302 , the view container element 304 , and the edit container element 306 .
- the framework for packaging a module of web content within a module manifest that is illustrated in FIG. 3 may be referred to as a module-view-edit container framework.
- a module of web content can be packaged within the module-view-edit container framework simply by adding microformat markup to the markup language (e.g., HTML or XHTML) and associated styles, scripts, and meta-data that define the module of web content.
- microformat markup e.g., HTML or XHTML
- Various different microformat specifications may be used to package modules of web content within a module manifest according to the module-view-edit container framework.
- a standards-based format such as a microformat specification
- a microformat specification may be configured to package modules of web content within a module manifest and to reduce the burden required of developers that wish to package modules of arbitrary web content for reuse.
- microformat specifications are standards-based
- developers may develop a pre-existing familiarity with the tags and other markup employed by microformat specifications. Therefore, developers may be able to learn how to use and apply different microformat specifications with relative ease and without much effort. Consequently, using a microformat specification to package modules of web content may reduce the burden required of developers that wish to package modules of web content for reuse.
- microformat specification for packaging a module of web content within a module manifest according to the module-view-edit container framework is now described. Nevertheless, it should be appreciated that numerous other microformat specifications also could be used to package modules of web content within a module manifest according to the module-view-edit container framework.
- microformat specification for packaging a module of web content within a module manifest for reuse according to the module-view-edit container framework described hereinafter extends the functionality of the standard XHTML “class” attribute such that the class attribute can be used to assign new meaning to standard XHTML elements.
- the microformat defines new values that may be specified for the standard XHTML class attribute, thereby allowing a developer to assign meaning to the standard XHTML tags.
- the microformat specification extends the functionality of the standard XHTML “id” and “rel” attributes beyond standard XHTML as well. Thus, these extensions allow XHTML to be used as semantic markup.
- the class attribute is used to define properties of an individual element within a module manifest, to define properties of a module of web content within a module manifest, or to associate an element within a module manifest with a particular module of web content contained within the module manifest.
- the module-view-edit container framework packages modules of web content within module manifests by containing modules of web content within module container elements.
- an element that is used as a module container element also should specify an id attribute that identifies the name of the module of web content packaged within the module container element.
- the value specified for the id attribute may be a concatenated representation of the module's name.
- each module container has a view container element that contains the view interface of the module of web content packaged within the module container element. That is to say, a view container element contains the web content that will be displayed to an end user when the module is imported into a web page and rendered in a browser.
- ⁇ div class “view HelloWorld”> ⁇ p> Hello World ⁇ /p> ⁇ /div> . . . ⁇ /body>
- any valid markup and other data that is capable of being understood by a browser can be packaged within a view container element.
- hyperlinks, images, audio files, video files, scripts, and styles also may be referenced and packaged within a module's view container.
- modules of web content can include static web content, server-rendered web content, and browser-oriented web content among other formats of web content.
- Each module container element can, but need not, include an edit container element for containing a module's edit interface.
- An edit container element provides an importer of a module of web content with an interface for editing and/or configuring the web content contained within the module.
- an edit container for a module may include markup and associated scripts, styles, and meta-data that define forms, buttons, or other input mechanisms that enable an importer of the module to edit and/or configure the module either prior to or after importing the module.
- the class attribute is used to identify and associate such linked elements with the module of web content. This is accomplished by specifying a class attribute for the element as the module name defined by the id attribute specified for the module's module container element.
- Module containers, view containers, and edit containers can contain sub-containers referred to as module pieces.
- module pieces may belong to the head class, the body class, or the foot class and microformat markup can be used to identify the class to which a module piece belongs.
- a module piece belonging to the head class typically contains a heading or title for the content. If the content does not have a title or any heading information, a head module piece is not required.
- a module piece belonging to the head class may be contained within a module container element, a view container element, or an edit container element.
- a module piece belonging to the body class contains the body of the web content.
- a module piece belonging to the body class can contain any markup, but it generally should not reuse the module, head, or body classes.
- a module piece belonging to the body class may be contained within a module container element, a view container element, or an edit container element.
- a module piece belonging to the foot class contains a footer for the module.
- a module piece belonging to the foot class may be contained within a module container element, a view container element, or an edit container element.
- the module will display the text “Title: Hello World” in the module's header when the module is rendered.
- the module will display the text “The End” in the module's footer when the module is rendered.
- the microformat specification also extends the functionality of the class attribute such that it can be used to identify child elements within a module container element that contain meta-data associated with the module of web content packaged within the module container element.
- an author meta-data element may provide information about the author of the module of web content contained within the module container.
- the snippet of markup presented below illustrates an example of how microformat markup according to this microformat specification can be added to standard XHTML elements to identify child elements within a module container element that contain meta-data associated with a module of web content:
- microformat specification also extends the class attribute such that it may be used to define certain properties of a module of web content and to define certain rules for displaying a module of web content.
- various different classes may be used to declare various different properties for the module.
- the allowMultiple class can be used to allow the importer of a module to add multiple copies of the module to the importer's page. By default, it generally may be assumed that modules may only have one instance per page.
- the liquid class can be used to indicate that the module should be expanded to fill all usable space in an importing webpage (i.e., the module has no set width).
- the onload class is used when a JavaScript function is to run when the module is loaded.
- the onunload class is used when a JavaScript function is to run when the JavaScript onunload event is fired.
- the defaultWidth class can be used to specify the default width of the module.
- the minimumWidth class can be used to specify the minimum width within which the module will fit.
- microformat specification extends the functionality of the conventional “id” attribute such that it can be used to identify different elements within a module manifest.
- Modules of web content may be dynamic.
- a module of web content needs to include its own cascading style sheets (CSS) or JavaScript files
- CSS cascading style sheets
- JavaScript files generally, but not always, will be located in the head of the module manifest within which the module is packaged.
- the microformat specification also extends the functionality of the “rel” attribute such that it can be used to identify a relationship between a module of web content and a target document linked to by an element within the module container element.
- the rel attribute may be used to identify six different types of target documents.
- the rel attribute can be used to identify three types of target documents that provide information about a module of web content.
- AJAX asynchronous JavaScript and XML
- the rel attribute also can be used to identify three different types of target documents that provide information about the author of the module.
- module manifests composed in accordance with the microformat specification can be rendered in a web browser. Therefore, a potential importer of a module of web content can use a web browser to access and view the module manifest within which the module of web content is packaged in order to learn important information about the desired module of web content before instantiating an instance of the module of web content from the module manifest. For example, a potential importer can view the description and detailed information about the module, as well as the license information.
- FIG. 4 illustrates an example of a complete module manifest 400 that is created in accordance with the microformat specification described above.
- the module manifest 400 of FIG. 4 includes, among other elements, a module container element 402 , a module view element 404 , a version meta-data element 406 , a description meta-data element 408 , a detail meta-data element 410 , an author meta-data element 412 , and a link to a license target document 414 that governs the use of the module of web content packaged within the module manifest 400 .
- the module container element 402 is contained within a body element.
- the view container element 404 is contained within a div element.
- the view container 404 includes a head module piece 404 ( a ) and a body module piece 404 ( b ).
- the version meta-data element 406 is contained within a span element.
- the description meta-data element 408 is contained within a p element.
- the detail meta-data element 410 is contained within a conventional p element.
- the author meta-data element 412 is contained within a li element.
- FIGS. 5 a ( 1 ) and 5 a ( 2 ) illustrate a second example of a complete module manifest for packaging a module of web content for reuse composed in accordance with the microformat specification described above.
- the module manifest 500 of FIGS. 5 a ( 1 ) and 5 a ( 2 ) includes, among other elements, a module container element 502 , a module view element 504 , a description meta-data element 506 , a detail meta-data element 508 , a reference to a target license document 510 , a reference to a target document that a module importer needs to proxy in order for the module to be able to use AJAX 512 , and an author meta-data element 514 .
- the module container element 502 is contained within a body element.
- the view container element 504 is contained within a div element.
- the view container element 504 includes a head module piece 504 ( a ) and a body module piece 504 ( b ).
- the module of web content packaged within the view container element 504 is more complicated than the module of web content packaged within the view container element 404 of FIG. 4 .
- the module of web content packaged within the view container element 504 calls a JavaScript function 516 .
- the description meta-data element 506 is contained within a p element.
- the detail meta-data element 508 is contained within a p element.
- the author meta-data element 514 is contained within a ul element.
- FIG. 5 b illustrates a screenshot 520 of the module manifest 500 of FIGS. 5 a ( 1 ) and 5 a ( 2 ) when rendered in a browser.
- FIGS. 5 a ( 1 ) and 5 a ( 2 ) When the module of web content packaged within the module manifest 500 of FIGS. 5 a ( 1 ) and 5 a ( 2 ) is imported into a web page, at least the markup included within the view container element 504 of the module manifest 500 and associated styles, scripts, and meta-data may be extracted from the module manifest 500 for importation into the new web page. As such, some of the content and information included within the module manifest 500 of FIGS. 5 a ( 1 ) and 5 a ( 2 ) may not be imported into the new web page.
- FIG. 5 c illustrates a screenshot 540 of the web content as it is rendered in a browser after having been imported into the web page.
- FIG. 5 d illustrates the markup language source document 560 within which the module of web content has been embedded.
- the markup 562 included within the view container element 504 of the module manifest 500 has been embedded within the markup language source document.
- the scripts and styles 564 associated with the markup included within the view container element 504 of the module manifest 500 also have been embedded within the markup language source document 560 .
- the module of web content is capable of being rendered and executed from within the markup language source document.
- the importation engine may intelligently identify and extract various different elements from a module manifest when importing a module into a web page. For example, if the module's module container includes an edit container, the markup and associated scripts, styles, and meta-data in the edit container also may be extracted from the module manifest. Furthermore, any other elements, information, or content contained within the module's module container or the module manifest itself also may be extracted and imported.
- FIG. 5 e shows an example of a markup language source document 570 in such an implementation.
- the entire mark-up corresponding to the view container element 504 is imported into the body 566 of the source document 570 , while the scripts and other associated resources are imported into the head 568 of the source document.
- the inclusion of the entire markup corresponding to the view container element 504 may allow for identification and manipulation of the module in the web page.
- a reference to the module manifest from which the module was extracted also may be imported into the web page. In this manner, any information from the module's module container that was not imported into the web page still may be referenced and/or accessed.
- the content's markup and associated scripts, styles, and meta-data may be modified before being imported into the web page and/or additional markup or content may be added to the content's markup and associated scripts, styles, and meta-data before it is imported into the web page.
- Such modifications and/or additions to the imported web content may expand the functionality of the imported web content. For example, such modifications and/or additions may enable the imported web content to be manipulated within, copied, re-imported, or removed from the web page's markup language source document and/or the web page's DOM.
- the described systems, methods, and techniques may be implemented in digital electronic circuitry, computer hardware, firmware, software, or in combinations of these elements. Apparatuses embodying these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor.
- a process embodying these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output.
- the techniques may be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.
- Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language.
- Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory.
- Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM). Any of the foregoing may be supplemented by, or incorporated in, specially-designed application-specific integrated circuits (ASICs).
- ASICs application-specific integrated circuits
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
| <body class=“module” id=“HelloWorld”> | ||
| . . . | ||
| </body> | ||
The addition of the class=“module” attribute to the body element identifies the body element as a module container element that contains a module of web content that has been packaged for reuse. Therefore, the markup included within the body element will be recognized as the markup and other items that define the web content as well as additional data associated with the web content. That is, the markup and other items included within the body element will be recognized as defining and/or being associated with a module of web content. In addition, the name of the module contained within the module container element is identified as Hello World by specifying an id=“HelloWorld” attribute for the body element. In general, according to the example microformat specification being described, any standard XHTML element, not just a body element, can be identified as functioning as a module container element by specifying a class=“module” attribute for the element.
| <body class=“module” id=“HelloWorld”> | ||
| <div class=“view HelloWorld”> |
| <p> Hello World </p> |
| </div> |
| . . . | ||
| </body> | ||
The addition of the class=“view HelloWorld” attribute to the div element identifies the conventional div element as a view container element that contains the module's view interface. Therefore, the markup included within the div element will be recognized as the markup that defines the web content that will be displayed to an end user when the module is rendered in a browser. In this case, the module will display the text “Hello World” when the module is rendered in a browser. In general, more complicated markup can be included within a module's view interface than the static text illustrated in the example presented above. In fact, any valid markup and other data that is capable of being understood by a browser can be packaged within a view container element. For example, hyperlinks, images, audio files, video files, scripts, and styles also may be referenced and packaged within a module's view container. Moreover, modules of web content can include static web content, server-rendered web content, and browser-oriented web content among other formats of web content. In addition, according to the example microformat markup specification being described, any standard XHTML element, not just a body element, can be identified as functioning as a view container element by specifying a class attribute of the element as class=“view [id],” so long as the element is a proper child element of the element serving as the module's module container element.
| <body class=“module” id=“HelloWorld”> | ||
| <div class=“view HelloWorld”> |
| <div class=“head”> |
| <h3> Title: Hello World </h3> |
| </div> | |
| <div class=“body”> |
| <p> Hello World </p> |
| </div> | |
| <div class=“foot”> |
| <p> The End </p> |
| </div> |
| </div> |
| . . . | ||
| </body> | ||
The addition of the class=“head” attribute to the div element identifies the div element as belonging to the head class such that the markup included within the div element belonging to the head class will be recognized as markup that is associated with the module's header or title. In this case, the module will display the text “Title: Hello World” in the module's header when the module is rendered. The addition of the class=“body” attribute to the div element identifies the div element as belonging to the body class such that the markup included within the div element belonging to the body class will be recognized as the markup that defines the module's body. Finally, the addition of the class=“foot” attribute to the div element identifies the div element as belonging to the foot class such that the markup included within the div element belonging to the foot class will be recognized as markup associated with the module's footer. In this case, the module will display the text “The End” in the module's footer when the module is rendered.
| <body class=“module” id=“HelloWorld”> |
| <div class=“view HelloWorld”> |
| <p> Hello World </p> |
| </div> | |
| <p class=“description”> This module displays “Hello World” </p> | |
| <p class=“detail”> If there was more detail, it would go here. </p> | |
| <p class=“version”> Version 1.0 </p> | |
| <p class=“thumbnail”> <img src=“hello_world.gif”/> </p> | |
| <li class=“author vcard”> |
| <a href=“mailto:me@aol.com” class=“email fn”> |
| Email me |
| </a> | |
| <a href=“http:.//myhomepage.com” class=“url”> |
| My Homepage |
| </a> |
| </li> |
| . . . |
| </body> |
The addition of the class=“description” attribute to the p element identifies the p element as a description meta-data element such that the markup included within the p element will be recognized as a description of the module. The addition of the class=“detail” attribute to the p element identifies the p element as a detail meta-data element such that the markup included within the p element will be recognized as a detailed description of the module. The addition of the class=“version” attribute to the p element identifies the p element as a version meta-data element such that the markup included within the p element will be recognized as information associated with the version of the module. The addition of the class=“thumbnail” attribute to the p element identifies the p element as a thumbnail meta-data element such that the markup included within the p element will be recognized as a reference to a visual representation of the module. Lastly, the addition of the class=“author” attribute to the li element identifies the li element as an author meta-data element such that the markup included within the li element will be recognized as information about the author of the module.
| <body class=“module” id=“HelloWorld”> |
| <div class=“view HelloWorld”> |
| <p> Hello World </p> |
| </div> | |
| <dl class=“xoxo module-properties”> |
| <dt class=“liquid”>Liquid width module?</dt> |
| <dd>true</dd> |
| <dt class=“allow-multiple”>Allow multiple module instances | |
| on a single page?</dt> |
| <dd>true</dd> |
| <dt class=“default-width”>Module's default width (in | |
| pixels):</dt> |
| <dd>0</dd> |
| <dt class=“minimum-width”>Module's minimum width (in | |
| pixels):</dt> |
| <dd>0</dd> |
| </dl> |
| . . . |
| </body> |
As illustrated in the snippet presented above, the definition list including the module's properties is identified by specifying a class attribute of the definition list as class=“module-properties”. In addition, the module is configured to expand to fill all usable space when imported into a web page by specifying a class attribute of a dt element as class=“liquid” and setting the value to true. Furthermore, the default width of the module is specified as 0 pixels by specifying a class attribute of a dt element as class=“default-width” and setting the value to 0 pixels. Similarly, the minimum width of the module is specified as 0 pixels by specifying a class attribute of a dt element as class=“minimum-width” and setting the value to 0 pixels.
Claims (24)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/554,449 US7783967B1 (en) | 2005-10-28 | 2006-10-30 | Packaging web content for reuse |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US73086905P | 2005-10-28 | 2005-10-28 | |
| US11/554,449 US7783967B1 (en) | 2005-10-28 | 2006-10-30 | Packaging web content for reuse |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US7783967B1 true US7783967B1 (en) | 2010-08-24 |
Family
ID=42634663
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US11/554,449 Active 2029-06-01 US7783967B1 (en) | 2005-10-28 | 2006-10-30 | Packaging web content for reuse |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US7783967B1 (en) |
Cited By (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090241137A1 (en) * | 2008-03-24 | 2009-09-24 | Microsoft Corporation | Service enablement based upon microformats |
| US20090254424A1 (en) * | 2008-04-02 | 2009-10-08 | Yahoo! Inc. | Enhanced online advertising experience |
| US20100037168A1 (en) * | 2008-07-10 | 2010-02-11 | Nile Thayne | Systems and methods for webpage design |
| US20120102389A1 (en) * | 2010-10-25 | 2012-04-26 | Woxi Media | Method and system for rendering web content |
| US20120159307A1 (en) * | 2010-12-17 | 2012-06-21 | Microsoft Corporation | Rendering source regions into target regions of web pages |
| US20130104027A1 (en) * | 2011-10-21 | 2013-04-25 | Daniel Bennett | Systems, methods, and interfaces for display of inline content and block level content on an access device |
| US20130311877A1 (en) * | 2012-05-16 | 2013-11-21 | Sap Portals Israel Ltd | Automatic Retrieval of Themes and Other Digital Assets from an Organizational Website |
| US20150227627A1 (en) * | 2009-10-30 | 2015-08-13 | Rakuten, Inc. | Characteristic content determination device, characteristic content determination method, and recording medium |
| US20160012146A1 (en) * | 2014-07-10 | 2016-01-14 | MyMojo Corporation | Client Web Browser and Method for Constructing a Website DOM Module With Client-Side Functional Code |
| US20160371249A1 (en) * | 2015-06-22 | 2016-12-22 | Microsoft Technology Licensing, Llc | Deconstructing documents into component blocks for reuse in productivity applications |
| US20170031737A1 (en) * | 2015-07-30 | 2017-02-02 | Airwatch Llc | Restricted application visibility |
| US10339183B2 (en) | 2015-06-22 | 2019-07-02 | Microsoft Technology Licensing, Llc | Document storage for reuse of content within documents |
| US10380675B2 (en) * | 2015-08-18 | 2019-08-13 | Oracle International Corporation | Method, medium, and system for manipulation of dynamically assembled ecommerce web pages |
| US10740349B2 (en) | 2015-06-22 | 2020-08-11 | Microsoft Technology Licensing, Llc | Document storage for reuse of content within documents |
| CN112835576A (en) * | 2021-01-18 | 2021-05-25 | 北京致远互联软件股份有限公司 | Page packaging method |
| US20230083102A1 (en) * | 2016-12-21 | 2023-03-16 | Open Text Corporation | Systems and methods for conversion of web content into reusable templates and components |
| US12056511B2 (en) * | 2020-11-09 | 2024-08-06 | International Business Machines Corporation | Container image creation and deployment using a manifest |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6957416B2 (en) * | 2001-01-31 | 2005-10-18 | Hewlett-Packard Development Company, L.P. | Document builder classes and methods |
| US20060253411A1 (en) * | 2005-05-05 | 2006-11-09 | International Business Machines Corporation | Method, system and program product for inserting visual controls for data values in web content from a legacy web application without rewriting the legacy web application |
| US20060290709A1 (en) * | 2003-06-02 | 2006-12-28 | Canon Kabushiki Kaisha | Information processing method and apparatus |
| US7171614B2 (en) * | 2002-05-30 | 2007-01-30 | Microsoft Corporation | Displaying plug-in derived content in an application's browser-embedded window with callbacks |
| US7240067B2 (en) * | 2000-02-08 | 2007-07-03 | Sybase, Inc. | System and methodology for extraction and aggregation of data from dynamic content |
| US7546375B2 (en) * | 2001-12-20 | 2009-06-09 | Microsoft Corporation | Scaling and delivering distributed applications |
-
2006
- 2006-10-30 US US11/554,449 patent/US7783967B1/en active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7240067B2 (en) * | 2000-02-08 | 2007-07-03 | Sybase, Inc. | System and methodology for extraction and aggregation of data from dynamic content |
| US6957416B2 (en) * | 2001-01-31 | 2005-10-18 | Hewlett-Packard Development Company, L.P. | Document builder classes and methods |
| US7546375B2 (en) * | 2001-12-20 | 2009-06-09 | Microsoft Corporation | Scaling and delivering distributed applications |
| US7171614B2 (en) * | 2002-05-30 | 2007-01-30 | Microsoft Corporation | Displaying plug-in derived content in an application's browser-embedded window with callbacks |
| US20060290709A1 (en) * | 2003-06-02 | 2006-12-28 | Canon Kabushiki Kaisha | Information processing method and apparatus |
| US20060253411A1 (en) * | 2005-05-05 | 2006-11-09 | International Business Machines Corporation | Method, system and program product for inserting visual controls for data values in web content from a legacy web application without rewriting the legacy web application |
Non-Patent Citations (7)
| Title |
|---|
| Eric A. Meyer, Competent Classing, Jul. 18, 2004, meyerweb.com. * |
| Inaki Paz, Oscar Diaz, Robert Baumgartner, Sergio F. Anzuola, Semantically Integrating Portlets in Portals Through Annotation, 2006. * |
| Kropp et al., Web Services for Remote Portlets Specification, Ver 1.0, Sep. 3, 2003, oasis-open.org. * |
| Marlon Pierce, Geoffrey Fox, Choonhan Youn, Steve Mock, Kurt Mueller, Ozgur Balsoy, Interoperable Web Services for Computational Portals, 2002, IEEE, Proceedings of the IEEE/ACM SC2002 Conference. * |
| Oscar Diaz, Jon Iturrioz, Arantza Irastorza, Improving Portlet Interoperability through Deep Annotation, May 2005, IW3C2. * |
| Oscar Diaz, Juan J. Rodriguez, Portlets as Web Components: an Introduction, Apr. 28, 2004, Journal of Universal Computer Science, vol. 10, No. 4 (2004), 454-472. * |
| Tantek Celik, The Elements of Meaningful XHTML, Mar. 13, 2005, microformats.org. * |
Cited By (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8505026B2 (en) * | 2008-03-24 | 2013-08-06 | Microsoft Corporation | Service enablement based upon microformats |
| US20090241137A1 (en) * | 2008-03-24 | 2009-09-24 | Microsoft Corporation | Service enablement based upon microformats |
| US20090254424A1 (en) * | 2008-04-02 | 2009-10-08 | Yahoo! Inc. | Enhanced online advertising experience |
| US20100037168A1 (en) * | 2008-07-10 | 2010-02-11 | Nile Thayne | Systems and methods for webpage design |
| US20150227627A1 (en) * | 2009-10-30 | 2015-08-13 | Rakuten, Inc. | Characteristic content determination device, characteristic content determination method, and recording medium |
| US10614134B2 (en) * | 2009-10-30 | 2020-04-07 | Rakuten, Inc. | Characteristic content determination device, characteristic content determination method, and recording medium |
| US20120102389A1 (en) * | 2010-10-25 | 2012-04-26 | Woxi Media | Method and system for rendering web content |
| US20120159307A1 (en) * | 2010-12-17 | 2012-06-21 | Microsoft Corporation | Rendering source regions into target regions of web pages |
| US9378294B2 (en) * | 2010-12-17 | 2016-06-28 | Microsoft Technology Licensing, Llc | Presenting source regions of rendered source web pages in target regions of target web pages |
| US20130104027A1 (en) * | 2011-10-21 | 2013-04-25 | Daniel Bennett | Systems, methods, and interfaces for display of inline content and block level content on an access device |
| EP2663932B1 (en) * | 2011-10-21 | 2020-12-30 | Thomson Reuters Enterprise Centre GmbH | Systems, methods, and interfaces for display of inline content and block level content on an access device |
| AU2012325747A2 (en) * | 2011-10-21 | 2018-03-29 | Thomson Reuters Enterprise Centre Gmbh | Systems, methods, and interfaces for display of inline content and block level content on an access device |
| AU2012325747B2 (en) * | 2011-10-21 | 2018-04-05 | Thomson Reuters Enterprise Centre Gmbh | Systems, methods, and interfaces for display of inline content and block level content on an access device |
| US20130311877A1 (en) * | 2012-05-16 | 2013-11-21 | Sap Portals Israel Ltd | Automatic Retrieval of Themes and Other Digital Assets from an Organizational Website |
| US9262385B2 (en) * | 2012-05-16 | 2016-02-16 | Sap Portals Israel Ltd | Automatic retrieval of themes and other digital assets from an organizational website |
| US20160012146A1 (en) * | 2014-07-10 | 2016-01-14 | MyMojo Corporation | Client Web Browser and Method for Constructing a Website DOM Module With Client-Side Functional Code |
| 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 |
| US10073720B2 (en) * | 2015-07-30 | 2018-09-11 | Airwatch, Llc | Restricted application visibility |
| US20170031737A1 (en) * | 2015-07-30 | 2017-02-02 | Airwatch Llc | Restricted application visibility |
| US10380675B2 (en) * | 2015-08-18 | 2019-08-13 | Oracle International Corporation | Method, medium, and system for manipulation of dynamically assembled ecommerce web pages |
| US20230083102A1 (en) * | 2016-12-21 | 2023-03-16 | Open Text Corporation | Systems and methods for conversion of web content into reusable templates and components |
| US12008312B2 (en) * | 2016-12-21 | 2024-06-11 | Open Text Corporation | Systems and methods for conversion of web content into reusable templates and components |
| US12056511B2 (en) * | 2020-11-09 | 2024-08-06 | International Business Machines Corporation | Container image creation and deployment using a manifest |
| CN112835576A (en) * | 2021-01-18 | 2021-05-25 | 北京致远互联软件股份有限公司 | Page packaging method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109508191B (en) | Code generation method and system | |
| US7783967B1 (en) | Packaging web content for reuse | |
| US10008009B1 (en) | Method for generating dynamic vector graphics | |
| US7873668B2 (en) | Application data binding | |
| CN101308489B (en) | Electronic table statement type size variable list | |
| JP2006178950A (en) | Context-free document portion with alternate format | |
| Feldt | Programming Firefox: Building rich internet applications with XUL | |
| KR20050039551A (en) | Programming interface for a computer platform | |
| JP2011159284A (en) | Website font previewing | |
| CN105094786A (en) | Method and system for customizing page based on JavaScript | |
| TWI394051B (en) | Web page rendering priority mechanism | |
| WO2019080796A1 (en) | Method, apparatus and device for separating foreground and background of web system, and storage medium | |
| CN114021042A (en) | Web page content extraction method, device, computer equipment and storage medium | |
| IL189422A (en) | Script markup | |
| US7461337B2 (en) | Exception markup documents | |
| Overson et al. | Developing Web Components: UI from jQuery to Polymer | |
| Wilson | The Absolute Beginner’s Guide to HTML and CSS | |
| US11526578B2 (en) | System and method for producing transferable, modular web pages | |
| CN117348871A (en) | Template-based page control generation method and device | |
| Freeman | Pro jQuery 2.0 | |
| Flanagan | jQuery Pocket Reference: Read Less, Learn More | |
| Lindley | DOM Enlightenment: Exploring JavaScript and the Modern DOM | |
| CN112433626A (en) | Canvas label event response method, system, electronic equipment and storage medium | |
| CN101263482B (en) | Script markup | |
| US20140304227A1 (en) | Systems, Computer Program Products, and Methods Using Data Set Objects |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: AOL LLC, VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CARNELL, SHAWN;DZIKIEWICZ, JOSEPH;LAWVER, KEVIN;AND OTHERS;SIGNING DATES FROM 20061220 TO 20070104;REEL/FRAME:018800/0897 |
|
| FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| AS | Assignment |
Owner name: BANK OF AMERICAN, N.A. AS COLLATERAL AGENT, TEXAS Free format text: SECURITY AGREEMENT;ASSIGNORS:AOL INC.;AOL ADVERTISING INC.;BEBO, INC.;AND OTHERS;REEL/FRAME:023649/0061 Effective date: 20091209 |
|
| AS | Assignment |
Owner name: AOL INC., VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AOL LLC;REEL/FRAME:023723/0645 Effective date: 20091204 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| AS | Assignment |
Owner name: LIGHTNINGCAST LLC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: AOL INC, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: AOL ADVERTISING INC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: YEDDA, INC, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: TRUVEO, INC, CALIFORNIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: TACODA LLC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: SPHERE SOURCE, INC, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: QUIGO TECHNOLOGIES LLC, NEW YORK Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: NETSCAPE COMMUNICATIONS CORPORATION, VIRGINIA Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: GOING INC, MASSACHUSETTS Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 Owner name: MAPQUEST, INC, COLORADO Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:BANK OF AMERICA, N A;REEL/FRAME:025323/0416 Effective date: 20100930 |
|
| AS | Assignment |
Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT, ILLINOIS Free format text: SECURITY AGREEMENT;ASSIGNORS:AOL INC.;AOL ADVERTISING INC.;BUYSIGHT, INC.;AND OTHERS;REEL/FRAME:030936/0011 Effective date: 20130701 Owner name: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT Free format text: SECURITY AGREEMENT;ASSIGNORS:AOL INC.;AOL ADVERTISING INC.;BUYSIGHT, INC.;AND OTHERS;REEL/FRAME:030936/0011 Effective date: 20130701 |
|
| FPAY | Fee payment |
Year of fee payment: 4 |
|
| AS | Assignment |
Owner name: MAPQUEST, INC., NEW YORK Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936/0011;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:036042/0053 Effective date: 20150623 Owner name: BUYSIGHT, INC., NEW YORK Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936/0011;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:036042/0053 Effective date: 20150623 Owner name: AOL ADVERTISING INC., NEW YORK Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936/0011;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:036042/0053 Effective date: 20150623 Owner name: AOL INC., NEW YORK Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936/0011;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:036042/0053 Effective date: 20150623 Owner name: PICTELA, INC., NEW YORK Free format text: RELEASE OF SECURITY INTEREST IN PATENT RIGHTS -RELEASE OF 030936/0011;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:036042/0053 Effective date: 20150623 |
|
| AS | Assignment |
Owner name: OATH INC., VIRGINIA Free format text: CHANGE OF NAME;ASSIGNOR:AOL INC.;REEL/FRAME:043672/0369 Effective date: 20170612 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
| AS | Assignment |
Owner name: VERIZON MEDIA INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OATH INC.;REEL/FRAME:054258/0635 Effective date: 20201005 |
|
| AS | Assignment |
Owner name: YAHOO ASSETS LLC, VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.);REEL/FRAME:058982/0282 Effective date: 20211117 Owner name: YAHOO ASSETS LLC, VIRGINIA Free format text: ASSIGNMENT OF ASSIGNOR'S INTEREST;ASSIGNOR:YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.);REEL/FRAME:058982/0282 Effective date: 20211117 |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |
|
| AS | Assignment |
Owner name: ROYAL BANK OF CANADA, AS COLLATERAL AGENT, CANADA Free format text: PATENT SECURITY AGREEMENT (FIRST LIEN);ASSIGNOR:YAHOO ASSETS LLC;REEL/FRAME:061571/0773 Effective date: 20220928 |