US20090138792A1 - System and method for extending ad hoc information around structured data - Google Patents

System and method for extending ad hoc information around structured data Download PDF

Info

Publication number
US20090138792A1
US20090138792A1 US12/109,133 US10913308A US2009138792A1 US 20090138792 A1 US20090138792 A1 US 20090138792A1 US 10913308 A US10913308 A US 10913308A US 2009138792 A1 US2009138792 A1 US 2009138792A1
Authority
US
United States
Prior art keywords
page
data
users
pages
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/109,133
Inventor
Matias Cudich
Stephan Dennis Morais
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oracle International Corp
Original Assignee
BEA Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US91462307P priority Critical
Application filed by BEA Systems Inc filed Critical BEA Systems Inc
Priority to US12/109,133 priority patent/US20090138792A1/en
Assigned to BEA SYSTEMS, INC. reassignment BEA SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CUDICH, MATIAS, MORAIS, STEPHAN DENNIS
Publication of US20090138792A1 publication Critical patent/US20090138792A1/en
Assigned to ORACLE INTERNATIONAL CORPORATION reassignment ORACLE INTERNATIONAL CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BEA SYSTEMS, INC.
Application status is Abandoned legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • G06F17/24Editing, e.g. insert/delete
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • G06F17/211Formatting, i.e. changing of presentation of document
    • G06F17/212Display of layout of document; Preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • G06F17/22Manipulating or registering by use of codes, e.g. in sequence of text characters
    • G06F17/2247Tree structured documents; Markup, e.g. Standard Generalized Markup Language [SGML], Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • G06F17/22Manipulating or registering by use of codes, e.g. in sequence of text characters
    • G06F17/2205Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • G06F17/22Manipulating or registering by use of codes, e.g. in sequence of text characters
    • G06F17/2241Hierarchical processing, e.g. outlines
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • G06F17/24Editing, e.g. insert/delete
    • G06F17/243Form filling; Merging, e.g. graphical processing of form or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/20Handling natural language data
    • G06F17/21Text processing
    • G06F17/24Editing, e.g. insert/delete
    • G06F17/248Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/50Computer-aided design
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object or an image, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation, e.g. computer aided management of electronic mail or groupware; Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements or protocols for real-time communications
    • H04L65/40Services or applications
    • H04L65/403Arrangements for multiparty communication, e.g. conference

Abstract

Systems and methods for extending ad hoc information around structured data. The method for one embodiment comprises several steps. One step is creating a web interface for structured data. One step is combining the structured data through the web interface with unstructured data, wherein one or more users can collaborate to combine the structured data through the web interface with the unstructured data without administrative approval. One step is producing groups of pages extending ad hoc information around the structured data, wherein versions of the groups of pages are tracked.

Description

    CLAIM OF PRIORITY
  • This application claims priority to U.S. Provisional Application No. 60/914,623 entitled “ENTERPRISE WEB APPLICATION CONSTRUCTOR SYSTEM AND METHOD,” filed Apr. 27, 2007 [Atty. Docket No. BEAS-02048US0], by Matias Cudich et al., which is herein incorporated by reference in its entirety.
  • COPYRIGHT NOTICE
  • A portion of the disclosure of this patent document contains material which 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 patent file or records, but otherwise reserves all copyright rights whatsoever.
  • FIELD OF THE INVENTION
  • Embodiments of the present invention relate to a seamless, collaborative environment for creating applications, consuming information, and contributing content.
  • BACKGROUND
  • Today's workers spend the majority of their time consumed by ad hoc activities. These activities depend on rapid-fire content creation, information access, and collaboration with colleagues. In their day-to-day activities, most knowledge workers currently rely on a set of enterprise software productivity tools—email, instant messaging, content management, portals, document management, and desktop office tools (e.g., Microsoft Office®). Knowledge workers manually create context by transferring documents or conveying conclusions or recommendations from one tool or environment to another.
  • In one example, multiple participants want to collaborate on creating a prioritized list of prospects for lead generation:
  • 1. Participants must first obtain an extract of prospects from a core enterprise system used to track the prospects, such as a Siebel or Salesforce.com® CRM application.
    2. Once the data is obtained, one of the participants sorts it in a spreadsheet document and emails the document to all other participants.
    3. Participants edit the list and email each of their new versions to the entire group.
    4. Several participants also add new columns to the spreadsheet to reflect additional prospect information.
    5. Multiple new versions are generated and distributed through email.
    6. Someone is designated as the master editor who cuts and pastes the various iterations into a consolidated document, which is then emailed to the group for final approval.
  • For knowledge workers to collaborate in the process described above requires ad hoc activities.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a flowchart that shows a method for one embodiment for extending ad-hoc information around structured data.
  • FIG. 2 is an illustration that shows the architecture for one embodiment.
  • FIG. 3 is an illustration that shows one embodiment's flow to assemble a header portlet with content from a live space.
  • FIG. 4 is an illustration that shows one embodiment's flow to return a page with a header portlet.
  • FIG. 5 is an illustration that describes how one embodiment constructs a page out of components.
  • DETAILED DESCRIPTION
  • There are several drawbacks to the approach to ad hoc activities described above. Time to resolution is lengthened due to back and forth email exchanges, delays in email replies, and manual editorial aggregation. There is a lower quality of output because participants do not have access to current aggregate content when making their contributions. Productivity is reduced since participants must use multiple tools (email, spreadsheets, CRM systems, etc.) to add context and content to the list. There is also no traceability between versions of the list, and if information is lost, records of the information are also lost.
  • A system for extending ad-hoc information around structured data can solve these issues. A web-based application constructor can help line-of-business users create web pages—wikis, blogs, data-driven collaborative web applications, and more. One exemplary embodiment of a web-based application constructor is BEA AquaLogic® Pages from BEA Systems, Inc.
  • FIG. 1 is a flowchart that shows a method for one embodiment for extending ad-hoc information around structured data. This embodiment is a method comprising several steps. Step 100 is creating a web interface for structured data. Step 102 is combining the structured data through the web interface with unstructured data, wherein one or more users can collaborate to combine the structured data through the web interface with the unstructured data without administrative approval. Step 104 is producing groups of pages extending ad hoc information around the structured data, wherein versions of the groups of pages are tracked. In one embodiment, the structured data is one or more records stored in a database. Alternative embodiments of structured data include application data from enterprise resource planning systems, customer relationship management systems, and many other enterprise systems. In one embodiment, unstructured data represents ad hoc information that might be included in a text document, e-mail message, or placed in any number of other unstructured documents.
  • FIG. 2 is an illustration that shows the architecture for one embodiment. Web browser 200 displays information to a user. The browser 200, client tier 204, the web tier 208, the service tier 214, the file system 224, content service 226, and relational database management system 228 are located on one or more computers. The system can be distributed both horizontally and vertically. Page libraries 202 and DOJO 204 are used to create pages in a collaborative process. Page rendering 210 renders the page to the browser using Facelets and JSF. In one embodiment, the page service 212 provides a remote interface for performing create, remove, update, and delete (CRUD) operations on a page. The page 216 can be instantiated on the service tier 214. The page manager 218 controls CRUD operations performed on a page 216. A page includes a layout 220 and one or more components 222. Additional content for pages is accessed from the file system 224, a content service 226, and/or a relational database management system 228.
  • FIG. 3 is an illustration that shows one embodiment's flow to assemble a header portlet with content from a live space. In order to assemble portal page 300 to be displayed to a user, first a request is made from gateway 304 to a portal navigation header 310. Then a live space tag is processed out of the header, by passing the tag through the gateway to the live spaces list service 308. In one embodiment, a builder 306 then returns a list of live spaces in a SOAP envelope through the gateway 304 to the portal page 300 where the header portlet is assembled with content from a live space. In one alternative embodiment, a web-based application constructor is used instead of builder 306. In a further alternative embodiment, BEA Aqualogic® Pages is used instead of builder 306.
  • FIG. 4 is an illustration that shows one embodiment's flow to return a page with a header portlet. User 400 requests a builder page through gateway 404. In this embodiment, a portal 402 is being used. The gateway then retrieves the content from the builder page 406. The gateway then processes the portal navigation header portlet 408. The gateway then returns the builder page 406 with the header portlet 408 to be displayed to the user. In an alternative embodiment, a portal 402 is not used. In an alternative embodiment the builder page 406 is a page created by BEA Aqualogic® Pages. In an alternative embodiment, the builder page 406 is a page created by a web-based application constructor.
  • FIG. 5 is an illustration that describes how one embodiment constructs a page out of components. In step 500, a request is made from a browser for an object as a page. In step 502, the system determines whether the page is in session. If the answer is no, then the system goes to step 504 and determines whether the page is cached. There are two caches that need to be checked, as described in 524. If any of the previous determinations were yes, then go to step 520 and the system assembles XHTML for the page, starting with the shell and including the page, the containers, layouts, and components. Step 522 follows step 520, Facelets take the XHTML, render the HTML, and sends the response. Otherwise, the next step is 506 where the system queries the back end repository or file system for the page. In step 510, it is determined whether the page is found. If the page was not found then go to step 512, where the system queries the back end repository or file system for the object. In step 514, the system determines whether the object was found. If the object was not found then the system goes to step 508 and the browser receives a redirect request to an error page. If the object was found then go to step 518, where the system creates the page from the object and the corresponding page template. If previously the page was found in Step 510, then go to step 516 and build the page object graph from backend objects. From either Step 516 or step 518, the next step is 520 and proceed as described above for step 520.
  • The web-based application constructor can serve the diverse needs of both IT departments and line-of-business users.
  • For IT management, the web-based application constructor provides the management and governance control that core enterprise systems require. But the real impact is in IT management's ability to empower a greater army of creators and participants, allowing business users to solve their challenges directly on the web.
  • For line-of-business users, the web-based application constructor is a revolution: creating for the web becomes as easy as creating a Word document or sending an email. Users feed data from core enterprise systems directly into their applications, and can wire that data on the page to other components, such as a Google Map™ or an RSS feed. Every page can be edited by a user while the system tracks changes, versioning, and access.
  • At its core, the web-based application constructor is a system for creating and editing web pages quickly. One embodiment includes data spaces for assembling data into pages and live spaces for assembling pages into applications.
  • Data spaces allow participants to create powerful Web interfaces on top of structured data sets, like a simple list of records or an extract of new opportunities from a CRM system. Participants can surface data-to-data spaces through a variety of mechanisms, including Really Simple Syndication (RSS), Web services, or by creating a data set from scratch. A data space can be created simply by publishing an Excel® spreadsheet to the Web.
  • When creating new data sets, data spaces allow the user to select different data type fields (simple text, long text, drop-down) and configure them. Users can thus quickly create data sets, such as a list of items or contacts, and reuse that data within other pages, live spaces, and applications created within the system.
  • Data spaces provide several templates for integrating and presenting data, including for RSS, blogging, and Webservices invocation. Data spaces automatically create pages for each list of records in a data set, and individual pages for each record in a list. As an example, creating a data space from an RSS feed yields a single page displaying a list of items in the feed. Additionally, the system creates a page representing each individual item in the feed. These pages can be enhanced through the system's page-creation and page-editing capabilities.
  • Once a data space is created, users can access the data within it through a set of different URLs, each unique to the data space and the type of view on the data that the URL provides. Data spaces let users add structured and unstructured content to each of the views they express, and become important sources of reusable data that live spaces assemble into Web applications. Data spaces are a simple but powerful concept. By representing structured data records on the Web as a series of independent pages, users can quickly annotate these records with unstructured text, or add additional structured data related to a single record.
  • Live spaces can be dynamic groups of pages, created and woven together by end-user participants. Live spaces combine data from data spaces with documents and other unstructured information that is either created for a given page or added from within the system. Like other pages in the system, live spaces can be built collaboratively by multiple users, and the system can track and control versions over time. Live spaces offer granular access-control capabilities, so managers of a live space can determine who can edit parts of the live space and what they have the ability to do.
  • Live spaces can provide a canvas on the Web that allows users to efficiently share information and accomplish activities collaboratively. In the same way virtually any interested participant can create a Wikipedia article for a given topic, live spaces allow business users to create simple pages for any topic, mix in data space records, documents, annotations, or comments, and add links onto those pages. As it does for all pages in the system, BEA AquaLogic® Pages creates simple, unique URLs for each live space and its pages, providing an easy way for system users to navigate directly to useful pages and applications.
  • In one embodiment, the web-based application constructor features a rich page framework that overlays a number of capabilities on pages created, including the ability to attach images, documents, and control versioning and page history.
  • In one embodiment, every page in the web-based application constructor system is a live, editable page. The system features wiki-style page editing where at the push of a button an individual user can make changes and add new text, hyperlinks, images, documents, and widgets. Users can enter a simple edit mode on the page, which makes the page instantly editable for either writing, where the user can write rich text directly onto the page, or designing, where through a simple toolbar a user can drag and drop widgets onto the page for application-building.
  • Page editing can be a collaborative process that involves multiple participants making changes to pages over several iterative sessions. The system tracks each page's history and creates a new version of the page with each change made to it. This allows page owners to revert to earlier versions of an accepted page, or undo previously made changes. Applications built using the web-based application constructor can thus be dynamic and flexible, and builders of these applications can add temporary functionality to a page—like a map to display location data, or a short list of tasks—and remove that functionality when it is no longer useful.
  • The web-based application constructor provides several useful common templates and layouts for creating pages. Users can specify a layout when creating an individual page, selecting from a number of layout templates, including a two-column layout, a header-body-footer layout, and more. Layouts allow participants to quickly arrange widgets within structures common to specific applications or pages. The system also provides a free-form layout, which allows users to modify the form and structure of pages on the fly to meet changing requirements of the applications they are building. The system also provides basic templates for applications like a blog or simple wiki that is created using data spaces or live spaces, as described above. IT management or developers can extend the system by creating additional templates for building specific applications or, in the case of a data space, for connecting to specific data sources such as a Customer Relationship Management (CRM) or enterprise resource planning (ERP) system.
  • In one embodiment, the Dashboard is the system's home page and a starting point for most user activities, including live space and data space creation, as well as exploring the system for useful objects. The Dashboard is also a simple workspace, displaying a list of recent activities and changes in the system, a list of an individual's outstanding drafts, and a complete list of every live space and data space in the system, sorted by the date they were last modified. The Dashboard also includes simple links to initiate common activities, like creating a live space or a data space.
  • In one embodiment, the Action pane is a dynamic activity sidebar that overlays each page, providing access to common functions for page builders. These functions include the ability to create new pages, edit the existing page, edit the settings for live spaces or data spaces, attach documents to a page or interact with documents already attached to it, and view recent changes on the page and its version history. The Action pane also displays lists of the objects included in a live space or data space, and provides the ability to search quickly for those objects from within the sidebar.
  • Active pages is an innovative way to automatically liberate any item as a separate page on which any participant can freely add other data or engage in unstructured collaboration. The system uses this capability to represent any object—lists of records, individual records, documents, and images—as individual pages to which unstructured content, or other widget components, can be added collaboratively by users. Every page in the system, including pages created for objects, benefits from this capability. Each object-page is based on the page framework within the web-based application constructor, which governs normal page actions, such as document attachment and page versioning.
  • Active pages can be a way to link ad-hoc activity, such as wiki-ing, to the systems of record, in such a way that this free-form collaboration will always be tied to the underlying business object.
  • Following is an example of active pages:
      • A data space displays a specific list of customer records from a CRM system.
      • Through active pages, represents each customer record automatically as a separate page the user can drill into.
      • A sales account team can thus add related documents, images, RSS feeds, or other records to this specific customer record page.
  • In one embodiment, documents can be attached to any page in the system, and as it does for other objects, the web-based application constructor also represents the document as a page, conferring all the benefits of the page framework to it as described above. In addition, the system will track versions of documents, providing a simple way for users to share documents they create and modify along with other users.
  • Users add functionality to pages they create using a series of page components, or widgets. Widgets can be bound to data created within the web-based application constructor, imported from enterprise systems, or provided by third party services and surfaced through integration capabilities in the web-based application constructor. Page components can also contain static content or content keyed to preferences assigned to another component.
  • The web-based application constructor comes with a number of page-component types that users can select to create new instances of a page component. Page-component types include: Data Table, Image, Record List, Text, and more. Page components are added to the page through simple drag-and-drop. Each component features an intuitive wizard that allows the user to name the new component instance, configure it, and set its security. Each instance of a page component features a unique URL, and can thus be consumed outside the web-based application constructor environment—by an enterprise portal, for example.
  • The Data Table is a page component that lets users display and interact with structured data. Users can bind Data Tables to any type of data space, and depending on that type, can get a read-only or editable view of data. Users can also create a new data space from within the Data Table configuration wizard.
  • The Data Table component features three primary modes: 1) Simple, where the data is simply displayed; 2) Master/Detail, whereby selecting an individual record displays that record's detail below, and where new records can be added directly within the page; and 3) Spreadsheet, where users can insert and edit records as they can within Microsoft Excel®. The Data Table interface automatically generates a row for every record and a column for every field in the data space. It also features common controls for interacting with data, including field-sorting, filtering, and pagination.
  • The Record List page component is similar to the Data Table component, but used for displaying data from data spaces that has significant numbers of fields or records. Record List components are commonly used to display lists of records from within a data space that drive other interactions across the page. Record Lists feature the same built-in sorting, fielding, and pagination capabilities as Data Tables. The Record List component includes a special user-configuration feature that lets it exchange data with other components on the same page. Each Record List instance can either broadcast information—a single rowclick, or all rows—or “listen” for information from other components. This capability, in conjunction with other page components that possess it, allows end-users to build data-driven mashups, combining data from multiple systems interactively on a single page.
  • The Image component lets users embed images directly into pages and alongside other components, such as rich text, data tables, and so on. Users can also, in the context of a rich-text editing session, embed an image in the middle of text, creating elegant, Web-style HTML without programming. Images can be added by either specifying a URL, by uploading directly to the system, or by selecting previously specified images within the system. Uploaded images have the versioning and object-control features of most other page objects. The image editor allows the user to specify each image's width and height attributes, displays a preview of images, and lets the user add descriptive text that shows when other users hover over it with the mouse.
  • The web-based application constructor provides a sample Map component that graphically maps data fed to it from other components. The sample Map component, once added to the page, can be configured to listen for data from the entire page, or from data sent to it by specific components. The map component, when provided the value of a field named “Address,” will map the value visually.
  • Several page components include a special user-configurable feature that enables the component to exchange data with other components on the same page. Each component instance can either broadcast information—either a single row-click, or all rows—or “listen” for information from other components by specifying data fields of interest. This capability is available with Record List, Map, and several other page components, and lets end-users build data-driven mashups that can dynamically and interactively combine data from multiple systems on a single page.
  • Users in the system can save pages as drafts, and retrieve drafts from the Dashboard described above. As a user is working, the web-based application constructor automatically saves a draft in the background every 10 seconds to protect a user from losing work before it is published. Users can thus work on the Web in a way that is similar to their method of working on desktop applications. To publish changes made to the system, a user simply selects the “Share” button, and can also add a description about those changes. The web-based application constructor keeps track of the changes made to individual pages, data spaces, and live spaces. As the page goes through successive versions, users can view a previous version, delete it, or revert back to a previous version of the page. The same applies to documents attached to pages, and users can download old versions of documents in addition to seeing their history.
  • The web-based application constructor provides a core set of security capabilities that secure and protect the data and functionality created and managed within it. The ability to govern who can do what in the system ensures that people see only what they're entitled to see. Each object in the system is governed by an access-control list (ACL) that determines the actions users and groups can take regarding it, including reading, creating, editing, and more. By default, “child” objects inherit the security of their “parent,” making it easy to set security once on a particular live space and continue working. For each object, the web-based application constructor recognizes a set of configurable roles, in which activities and privileges can be set: Guest, Reviewer, Creator, Publisher, Editor, and Administrator. Individual users and user groups are added to these roles to confer permissions on specific system users. The web-based application constructor leverages user and group information from within a portal system, or by using the user and group security capabilities found in another system. This allows the web-based application constructor to define users and groups by integrating with virtually any third-party user repository, including LDAP, Active Directory, or custom databases.
  • The web-based application constructor brings a rich set of capabilities to a wide variety of business needs, ranging from customer-support issue tracking to sales planning to employee blog publishing. This is a simple example of how the web-based application constructor can be used to improve a customer support team's ability to respond to a critical situation in a few simple steps.
  • 1. A single support engineer creates a new “Support Issues” data space, which displays a list of support incidents for a single customer. The list is pulled directly from a Clarify support system, using the Web-service invocation method provided by the web-based application constructor.
  • 2. An account manager, who is largely responsible for customer satisfaction for this individual account, creates a new “Issue Tracking” live space for assembling all the information related to this specific customer and issue. This information will be assembled by an extended team of participants related either to the account or to resolving the issue.
  • 3. The account representative writes directly onto a page of the live space, listing action items and owners for each action the support team needs to address.
  • 4. A customer service representative enters the live space and drags-and-drops a “Support Team” DataTable widget onto the page. The customer service representative maps this component to the existing “Employee Contacts” data space, which pulls a list of records from an internal LDAP system.
  • In one embodiment, the web-based application constructor includes a set of Adaptive Tags to add links to live spaces and data spaces to the portal navigation, allowing users to navigate to components from within a portal page. These tags are data tags; they return URL attributes as data, and can be used in conjunction with a display tag. The tags retrieve live spaces and data spaces by making requests to web services on the server. In one embodiment, the results are cached for 5 minutes or until the user logs out. The tags return the live spaces and data spaces that the current user has access to.
  • The Navigation Tags Header Portlet includes live spaces and data spaces tags. The sample header portlet includes an example of how to use tags with HTML combobox menus, required to support Safari browsers. One exemplary embodiment adds data tags to the navigation in a custom header portlet. Live spaces, data spaces and other Pages components can be added to a portal page using portlets.
  • One embodiment includes an embedded Apache Derby database. One embodiment uses the web-based application constructor without a portal.
  • One embodiment provides a Maps Component—enables users to add maps to a page. Maps can receive input (in the form of an address) from data spaces or other components on the same page.
  • One embodiment provides an IPC page of a Record List Component—enables users to configure the component to broadcast row clicks (to a map for example) or listen for content from other components.
  • One embodiment provides a Markup Component—enables users to paste html content, like a YouTube video or Google Gadget™, directly into a page.
  • One embodiment provides a REST data space—enables administrators to create data space templates that receive data from a REST API.
  • One embodiment provides a Yahoo!® Search data space Template—sample implementation of a REST data space using the Yahoo!® REST search API.
  • One embodiment provides a Google™ Search data space Template—sample implementation of a web service data space using the Google™ SOAP search API.
  • A live space is a logical collection of individual pages. For example, you might have a Marketing live space that includes the following pages: Collateral, Events, and Writing and Design Resources.
  • Each live space includes security so one can control which users can view or edit the pages and any other objects associated with the live space. Users who are allowed to edit the pages can add or edit content enabling rapid knowledge transfer. Because each page is versioned, and the user can easily revert to a previous version, users can be a bit more relaxed with who is allowed to edit content.
  • Security can be set by assigning roles to portal users and groups. These roles apply to every object associated with the live space (pages, documents, and components).
  • Users can design a page simply by dragging different types of page components (for example an image or a table) onto the page and add text by typing in a rich text editor.
  • Access to each page is controlled by the associated live space security. Users who are allowed to edit the pages can add or edit content enabling rapid knowledge transfer. Because each page is versioned, and because it is so easy to edit anything, users are compelled to contribute, participate, and when necessary, correct others' contributions.
  • When a user views a page, actions can be performed that do not alter the actual contents of a given page. For example, one can add comments, attach documents, create new pages, and work with content in record lists and tables. Each time a user publishes a page or an object in page view a new version is created (versions are listed under Recent Changes). This allows a user to easily see what changes were made and revert to a previous version if necessary.
  • A data space defines a set of data, made up of records. A user can create a custom data space that stores data in the Pages repository, or points to an external system from which data is surfaced.
  • Each data space is based on a template that defines the configurable properties of the data space (for example, whether the data space relies on the native Pages repository or an external repository). A user can display data from an external data source in pages via SOAP. For example, a user might want to display customer support issues or sales information from a customer relationship management (CRM) system, display inventory information from an enterprise resource planning (ERP) system, or connect to a free web service on the internet. Each data space includes security to control which users can view or edit the records in the data space. Users who are allowed to edit the records can add or edit content enabling rapid knowledge transfer.
  • Security is set by assigning roles to portal users and groups. These roles apply to every object associated with the data space (records, documents, and components added to the data space or records in page view).
  • Data spaces enable a user to define data fields to fit the user's needs. For example, a user might want to create a data space to track job postings, marketing campaigns, or facilities requests. Data collected in a data space is stored in the Pages repository and is therefore editable. Blog data spaces, like custom data spaces, store data in the Pages repository and are therefore editable.
  • Data spaces enable a user to display content from an external RSS feed. For example, a user might want to display recent news articles discussing a product or company. Data spaces enable a user to surface data residing in external systems via SOAP-based web services. For example, a user might want to display sales information from a CRM system, or display inventory information from an ERP system, or connect to a free web service on the internet. In one embodiment, after a data space is created and its records have been fetched at least once (by a user viewing the data space), the records become part of the search collection and users can add components, text, and document attachments to the records. The cached records are updated when a record is viewed by a user.
  • A record is a group of related fields that store data about a subject or activity (for example, a record can be one row in a table or one entry in a blog). A collection of records is stored in a data space (which stores data in the native repository or points to an external repository of data). A user can search for records using the search box at the top of any table or record list. As you type, the list is dynamically filtered to display only those records that include your search text in one of the record fields. A user can add components, comments, or documents to a record by opening the record in page view and editing the record just like any other page. Records can be deleted in different ways depending on the interface that displays the records.
  • Embodiments of the present invention enable users to manage information stored in both native databases and external systems. In concert with the rich set of page components, data sources can let users create on-the-fly applications that surface critical business information such as sales leads from a Siebel CRM system, or manage lightweight data sets, such as a product feature list.
  • One embodiment of the present invention is a web-based application constructor for constructing a web display. The web-based application constructor can obtain data from heterogeneous data sources to produce the web display. A web display can contain page components and display the data from at least some of the heterogeneous data sources.
  • A versioning system can keep track of changes to page components to allow users to make changes without administrative approval. The versioning system can keep track of changes to page layout, searches, and text to allow users to make changes without administrative approval. A change control system can allow users to dynamically undo changes to page components while using the web-based application constructor.
  • The versioning system can store old versions of the web display and thus allow the users to roll back changes. For example, the system can store a history of old versions and when a user makes an error, the page can be rolled back to a previous version.
  • The page components can be elements constructed from data in the heterogeneous data sources. For example, the page components can expose data from ERP, Database or other sources.
  • The heterogeneous data source can include a relational database management system, a customer relationship management system, enterprise resource planning system and/or any other types of data sources.
  • The heterogeneous data sources can have Web Services schemas that allow the application constructor to produce a display of the data. The page components can contain interactive elements. In one embodiment, all page editing is versioned.
  • Whether a page component is displayed to a user can be controlled by roles and security. For example, some pages can have page components that are only viewable by users in a certain group or with a certain security level. Display and/or updates to page components can be controlled by using the URLs for the page components. The web-based application constructor can provide roles to users that can be used to limit access to applications.
  • The page layout can also be versioned. Versions of the page can be stored at a remote server. AJAX at a user browser can send version update information to the remote server. Page templates can be used to create the display. The page components can include rich text.
  • The page components can have their own URL so that they can be shared among applications. For example, a user can copy a page component into their own page since the system can use the page component's URL to copy it into a new display page. In this way, updates can be sent to multiple pages.
  • The page components can include a view of data in a list, a view of data in a record, a view of an ad-hoc application or other views. The display can be constructed from available applications, where available applications can be dragged and dropped into page components.
  • In one embodiment, at least one of the heterogeneous data sources is a searchable resource. When the display provides for a search field into the searchable resource, the result of a search can be shown in a page component of the display. The page components can be dragged and dropped to a new display. In one embodiment, the changes to the page component are not propagated back to the application data source propagated back to the application.
  • The web-based application constructor can provide roles to users that can be used to limit access to applications. The application constructor can convert at least one object from a heterogeneous data source into a page component. The system can allow for the construction of user interfaces to access different types of data.
  • Change control system can allow users to dynamically undo changes to page components while using the web-based application constructor.
  • All page editing can be versioned. The change control system can allow for a redo of changes. The versions can be time stamped and changes can be rolled back up. For example in one embodiment, users can rollback changes to a state as of a previous period of time. Changes can be dynamically made to page components, page layout, searches, and text while using the web-based application constructor.
  • In one embodiment, the web-based application constructor can allow users to annotate page components with comments visible in the web display.
  • In one embodiment, the page components can be identified by URLs and the annotations can be associated with the URL. In one embodiment, the annotations can receive user inputs from multiple pages and produce a common display. A web-based text editor can be used for the annotations.
  • One embodiment of the present invention includes an application constructor to convert at least one object from a heterogeneous data source into a page component.
  • In one embodiment, the system allows for the construction of user interfaces to access different types of data. Web service WSDL can be analyzed to determine user interface fields. An XML editor framework can analyze XML schema at the WSDL.
  • The page components are accessible by URLs. URLs can be used by a security system. Roles can be used to determine what page components are displayable to a user.
  • The URLs can be automatically created. All elements on a page can have their own URL.
  • An XML editor framework can be adapted to use web services schemas to automatically create user interfaces for inputting data in fields determined from the web service schemas. Page components can contain data that has been converted into a list format. Clicking on elements of the list can access additional details of the list. The list can be annotated.
  • The page display can have a nested layout. The nested layout can include rows and columns in a cell defined by rows and columns. Different rows can have different numbers of columns. The page components can be dragged and dropped so as to change the layout. New columns and/or rows can be created by the dragging and dropping.
  • Page editing can include:
      • Classic wiki-style page creation and editing;
      • Performed by typical end users as part of using the system;
      • Pages can be designed to evolve over time, by being edited by multiple users over multiple edit sessions (which can be concurrent); and
      • Example pages: product launch workspace, article on customer wiki pages, etc.
  • State and mode management can be done in multiple ways. In one embodiment, regardless of the shell applied to the given page/live space, users can specify a mode and a state for the page they are viewing or editing.
  • While in Read mode, users can create new pages. To create a new page, users can specify a page title, a URL for the page (this can be automatically generated by the form, but users can override the URL if they so desire), and a description for the page. Moreover, users can specify a layout for the page, and the Live Space in which the page will live. By default, pages can be placed in the current Live Space; users do have the opportunity, however, to place the page in another Live Space—either one that exists, or a new one they create on the fly.
  • Dojo can be used for all JavaScript operations on the client, primarily gathering DOM objects, updating styles on those objects, updating page modes and edit states, parts of drag-and-drop, rich-text editing, console logging, and so on.
  • Every document attached to a page has its own page/URL. When a user navigates to the document (via the Info panel, Organizer, etc.), the following operations can be performed: upload a new version of the document, delete a version of the document, delete all versions of the document, revert to a version of the document, and decorate the document. Decorating a given document-page is identical to decorating a record-page or recordlist-page. Like these other objects, only one page exists for any given document.
  • If a user wants to create a new version of a specific document, users can navigate to the document (document as page), and click Upload New Version. This allows users to upload a new version of the given document that perhaps has a different file name. Once this happens, the operative file name of the document changes to the file name of the latest uploaded document. This is important when it comes to figuring out whether or not to increment a given document, or create a new attachment when a user tries to do a simple file version task. The system need not be designed to look at old versions of a given document when figuring out whether or not to increment a document's version history.
  • Users can revert to any version of a given document. This can be a version uploaded before or after the version labeled as “current.” For example, a user can upload five versions of a document, and then decide to revert to version 3. At this point, all 5 versions still exist, but version 3 is the “current” version. Then, a user can choose to revert to an even earlier version, or back to the latest version. If a user reverts to a previous version, then uploads a new version, the version list is incremented by 1 (meaning the new version would be version 6 and versions 4 and 5 would remain). When figuring out whether or not to increment a document, Constructor looks at the “current” version, not the latest version.
  • Objects as Pages can be used to represent structured data, such as records, lists of records, documents, and so on, as pages to which unstructured content can be added. For example, Constructor allows displaying a record such as a Customer Bug as a page; users can then view this customer bug as a page, mark up the page with additional content (using page components and rich text); and comment on the page using Annotations. Because Objects as Pages are based on the Constructor page framework, normal page actions, such as document attachment and page versioning, can also be supported. In one example, there are three standard views for objects as pages:
      • Object as Page (Records and Documents);
      • Entry as Page (Records); and
      • Object List as Page (Records).
  • Certain types of objects can be viewed as pages. This can include records and documents attached to pages. This view depends on the given page to have embedded in it a page component that knows how to display the given object. For example, the standard Record Object as Page can use the Record Detail component; on the other hand, the standard Document Object as Page can use the Document Detail component. These components handle operations such as updating the object, and deleting the object to which they are bound. All of these pages support an operation currently called “Decoration.” Decoration is identical to page-editing, except that it is done in the context of an Object as Page. The distinction here is that there are certain modifications to the area into which users can add content.
  • Pages are designed to allow users to add net new objects to a collection. In one example, adding net new records to data sets can be supported. When users navigate to a given Entry as Page, the first thing they should see is a blank form (this is actually an empty Record Detail component). Else, they are navigating to an existing record, in which case they would actually be looking at an Object as Page. Entries as Pages support “decoration” in the same way that Objects as Pages support “decoration.”
  • These pages are designed to allow users to view multiple records in a given data set via this page construct. The default component used to display these records is the Data Table. Much like Objects as Pages and Entries as Pages, these pages can be “decorated” by users.
  • Each Object, such as Page, Entry as Page and Object List as Page can have its own unique URL. This can allow users to navigate to these views from outside of Constructor (which lets them do things like e-mail around links, etc.). When the name of the given underlying object changes, so can the URL, except in the case of documents, whose URLs are bound to IDs rather than user-specified names. URLs to records are also ID bound, but they do include the name of their owning record set, which could be updated by users.
  • Constructor need not create or store Objects as Pages until those pages are decorated and subsequently published by users. Also, these pages can be persisted when Annotations are added to a page (even if the page hasn't been decorated).
  • Every Object as Page can have one or more base components it uses to display the given object to which the page is bound. In the case of regular Objects as Pages, the default view can contain a Record Detail Component; in the case of document Objects as Pages, the default view can contain a Document Detail component, and so on. There are cases, however, where other components may be used (in the case of Applications, for example). These base components may differ slightly in functionality from their regular versions: for example, the normal Record Detail component that can be added to any page supports paging between records using an AJAX operation (the page doesn't refresh). In the case of the Object as Page version, paging between records actually navigates the user among each of the URLs for each of the records in the given record set. Some components in the system may only be available via Objects as Pages (such as the blog and document detail components).
  • Objects as Pages can be versioned just like any other page. In one embodiment, only decoration-level operations are tracked, and not changes to the underlying object.
  • Users can attach documents to Objects as Pages in the same way they can to regular pages. These documents need not be associated with the underlying data in any way. In one example, if a user attaches a document to a Record Object as Page, Constructor doesn't automatically add a File Attachment field to the underlying record.
  • Users can annotate Objects as Pages in the same way they annotate regular pages.
  • When decorating an Object as Page, there may be restrictions as to where users can add content. By default, Objects as Pages will have a primary page component at the top of the page, and then a blank content area beneath that. In one embodiment, users are only able to add and manage components within this content region. In one example, users cannot add new components to the left, to the right or above the Object as Page primary component.
  • Live Spaces can provide a natural way to group pages, and to provide for those pages a common access control list, which makes it easy for Live Space managers to decide who should be able to see and do what in a Live Space, and the pages contained therein.
  • Users can specify a page for a Live Space, which acts as the default page when anyone tries to navigate to the Live Space directly. For example, if a user types in a URL like http:// . . . /Is/foo, they are immediately navigated to the home page for the “foo” Live Space.
  • Users can view general properties for a given Live Space by launching the wizard for that Live Space. In one embodiment, this tab in the wizard only shows up after a Live Space has been created. This tab can include system information such as: date created, date modified, created by, and so on. None of these properties need be editable. Live Spaces can be represented in the system by a live space object, which can contain properties for all the configurable settings noted above. The live space object can be persisted in the repository as a node (and on the filesystem as an XML file). In the repository persistence implementation, the pages for a given live space can be represented as child nodes under the parent live space node. While in one embodiment, certain nodes under the live space (pages, documents) are versionable, the live space node need not be. Within the Constructor service tier, live space objects can be cached, thereby reducing the need to make a remote repository request every time a live space is requested. In terms of exposing the live space object through the UI (exposing properties like the live space name as text on the page, or editing live space properties via the editor), there are several mechanisms through which this can be surfaced. One is through Facelets and a live space “backing bean,” which allows properties on the live space to be rendered in the UI via certain expressions (EL) in the template's tags. The Live Space editor can update settings on the live space object by way of the DWR live spaceService, which can expose methods to the client tier (such as JavaScript) to create and update live space objects. Navigating to a Live Space by means of a URL can be handled by a “resource resolver” class, which will parse a URL, and from it, extract the Live Space name (what is typed into the URL field in the editor). From the Live Space name, one can look up the Live Space, get its home page, and render it.
  • Page Components can be UI elements which can be added to pages by users. Page components can be bound to back-end data provided by Constructor or a third-party data source, or can simply contain static content, or content keyed off of the preferences assigned to a given component. Out of the box, Constructor can ship with a number of page component types, a list from which users can pick to create new page component instances. These can include: Data Table, Image, Record List, Text, and so on.
  • Every component in Constructor can have a URL that can be used to access that component directly. In one embodiment, users can get access to these URLs by either (a) clicking on the component name in the component title bar (for components that have title bars), (b) by viewing the properties panel for a given component (for components that have wizards/editors), (c) by searching/finding the component in the Explorer panel and then navigating to the component or (d) by searching/finding the component in the Organizer and then navigating to it.
  • In one embodiment, when viewing a page component via a URL, there is a specific page component shell that wraps the given component. This can take two forms: (a) user-friendly and (b) portal-ready. In the case of (a), the shell simply displays the page component title and description within the shell; in the case of (b) the shell is completely blank and only displays the contents of the component (not even the title bar). The purpose of (b) is to allow displaying a single page component as a portlet in the portal, where one wants to let the portal govern things like toolbars, and so on.
  • Page components can be shared across pages.
  • Page components need not be versioned on their own, or saved on their own. Page components can be versioned and saved as part of a page save operation. A Data Table component can expose records in data spaces.
  • The Record List component is designed to allow viewing sizable data spaces in a compact, filterable UI. Once a data space is specified, the following features can be available:
  • Users can add comments, and engage in message-board style discussions, in the context of every page in the Constructor system. This can provide a simple way for users to provide structured feedback to the page. In addition, it enables things like commenting on blog posts in the context of blog data spaces.
  • The same applies to documents, except that instead of navigating to old versions of documents, users can download old versions of documents. Page editing can be equivalent to document uploads. When editing a page, users can have the option of either saving the given changes as a draft, or publishing their changes. When users save their changes as a draft, they effectively are not versioning the page, but instead are keeping their changes around for later review. Once a user is ready to submit their changes to the system, they can click Publish, at which point a new version of a page is created, and that version can be set as the “active” version. Any time a user navigates to a given page, they can effectively navigate to the “active” version. In one embodiment, the case of documents, there are two ways to add a new version: (a) users can upload to a page a document, and if that document has the same name as a document already attached to the given page, then that document is added as a new version of the existing attached document, or (b) users can upload to a specific document a new version, and even if the names are different, the new file is treated as a new version of that existing document.
  • Users can revert to any version of a page that exists in the system. After reverting to an old version of a page, say from version 10 to version 6, versions later than the now “active” version need not be deleted (versions 7-10 are not deleted). Reverting can be performed to an older version, or a newer version, given the relative position of the “active” version. Users can revert to a later version from a previous version. When users revert to an old version, and then publish that version (after perhaps making some changes), the new version is tacked on to the very end of the version history, and is marked “latest.” The same exact behavior applies to documents (except uploading replaces publishing).
  • Users can delete any given version of a page, or all versions of a page (which effectively happens when a page is deleted). When a given version is deleted, holes are left in the version history. This is to make clear to users that a given version, which may have had a specific purpose or meaning, is now gone. There need be no other way to see that a given version has been deleted.
  • Users can navigate and view the contents of a given version (via the Explorer panel). When viewing that version, they can click a button to revert to that version, or delete that version. There is no UI for immediately making changes to that version—i.e., that non-active version is read-only. In the case of documents, users can download any non-active version.
  • Customers can deploy Constructor in various ways, either by itself or together with a Portal server or another type of server. To be able to deploy Constructor behind a portal server, several features are offered, tackling things like navigation-level integration, portlet-level integration and gateway-level integration.
  • A navigation tag can be deployed into portal navigation components. In most cases, this tag will be deployed inside the out-of-the-box portal header, or a modified version of the out-of-the-box portal header. The portal has two types of navigation: pluggable navigation and tag-based navigation (Adaptive Tags). Via portal Experience Definitions, customers can create rules to determine which type of navigation to display on a given portal page. In the case of tag-based navigation, portlets can be used to render out the portal navigation scheme. In this case, the portal header can be a portlet (aka, a Web application that produces HTML), and is built out of HTML and XML tags. In the out-of-the-box portal header, there are some default tags: one to list out My Pages, one to list out Communities, and so on. These tags are primarily ‘pt:ptdata’ tags, which are then wrapped by ‘pt:plugnav’ tags for actually rendering out the data as HTML/CSS/JS. Constructor can ship an additional live spaces data tag that can be inserted into this portal header portlet to list out live spaces next to My Pages and Communities. This tag, when rendered out on the page via a UI tag, lists out all the live spaces to which a user has access. When a user clicks on one of these live space links, they can then be navigated to a gatewayed Constructor page (the home page for the given live space run through the portal gateway).
  • When viewing a Constructor page via the portal, it can be a requirement that the Constructor page be gatewayed. When attempting to view a Constructor page via the portal, the user's browser makes an HTTP request to the portal with a URL that the user wants to see. The portal then parses this URL and figures out that the user wants to see a specific portlet, the portal then makes an HTTP request for that Constructor page (which was specified via the URL), gets back the HTML/CSS/JS etc. from Constructor, “transforms” that markup (makes all of the URLs gatewayed URLs), and then finally returns that HTML to the user's browser. Gatewaying a page also allows the portal to scan the page and replace any Adaptive Tags with their corresponding HTML/CSS/JS (this is used to support the live spaces menu and injecting the portal header into the Constructor shell). User identity propagation can also be done via the gateway. When the portal makes a request to Constructor it can send along user information, which Constructor can then use to figure out whether or not a user should have access to a given resource.
  • By default, when viewing Constructor through the portal, and when the appropriate Experience Definition is set up, the portal header can automatically appear at the top of the Constructor page. This can be supported by a custom Constructor Adaptive Tag, which is embedded into the default Constructor shell. When the portal transforms the Constructor page, it can see this Adaptive Tag and insert the portal header HTML. As described above, this HTML can include a menu which lists out Live Spaces. Customers have the flexibility to modify their shell, and place this header insertion tag wherever they want.
  • Constructor can include a portlet template that can be deployed to the portal to allow users to create new portlets based off existing Constructor page components. When creating a new portlet, users choose the Constructor Page Component Wizard, wherein they can choose an existing Constructor page component to which they have access. Once they choose this page component and hit Finish, this choice is stored as an Administrative Preference for the new portlet instance, and whenever that portlet instance is displayed on a portal page, it can dynamically surface the given Constructor page component. There are security implications here: (a) a user cannot select a page component to which they do not have access, and (b) a user cannot view the contents of a Constructor portlet which contains a page component to which they do not have access. In the latter case, a friendly error message can be displayed. At any time, given appropriate portal access, users can go back and point at a different Constructor page component. There are no restrictions in place to prevent a user from deleting a Constructor page component being surfaced in the portal. Here, a friendly error message will again be displayed telling the user that the content no longer exists. In general, page components should “work” and look just like the page components do inside of Constructor.
  • Data spaces can allow Constructor users to create a full-blown UI for managing data. There can be a few data space templates that ship with Constructor, e.g., RSS, blogging, and so on. In addition, users can create a data space from scratch. Once a data space is created, users can access the data in the data space via a set of different URLs, each unique to the data space and the type of view on the data that URL provides.
  • Use Cases: users can create data spaces for tracking things like feature lists, to-dos, customer phone calls, project tasks, and so on. In addition, data spaces will prove valuable for blogging, and for keeping track of information published by other Web sites (via RSS). Data spaces can be important in that they let users add structured and unstructured content to each of the views they express. So, for example, for each feature listed in a feature list, one could attach rich text, documents, images, and even further, additional data spaces around a single feature.
  • To create a new data space, users can navigate to the Dashboard, and click the Create a data space link. This can pop up a wizard. The first step users must take is to specify a template for their Data Space. Out of the box, there are several templates: blog, custom, and RSS. In addition, customers can add new data space templates to this list, which key off data provided by external Web services. In total, there are three “types” or “sources” of data: Local (blogging, custom, etc.), RSS (only RSS), and External (all the Web service based data space templates). This partitioning is mainly an artifact of the server-side implementation of these data spaces, but also serves to help users decide the type of data space they want to create. In one embodiment, only Local data spaces are read/write; all others are read-only. Once a user picks a data space template, they are then navigated to a separate wizard, specific to that type of data space. The next few features outline those. Common to all data spaces, however, is the fact that each has a Title, a URL, and a Description. This can make it easy to find (and navigate to) the data space in the system once it has been created. Once one of those data spaces is created, the user can then navigate to either (a) the component where the data space will be surfaced, or (b) the List view for the data space. This navigation decision is based on where the data space was created from.
  • Once a user decides they want to create a custom data space, either to display this data space in its native UI, or via a page component, they can be taken to the Custom data space Configuration Wizard. In this wizard, users can specify a set of fields for the data space. Each of these fields has a set of properties: Field Title, Field Type, Display Order, Is the Title Field?, Is Required?, and in the case of a DropDown field, the options that show up in the DropDown menu. Users can specify any title for each of these fields; and users can specify the field type: Text, MultiLineText (shows up as an HTML textarea), RichText (shows up as a rich text field), DropDown (shows up as an HTML select menu with options), and DynamicDropDown (shows up as an HTML select menu with options). Users can go back at any time and modify each of these settings.
  • For a given securable container, such as (a) system, (b) live space or (c) data space, a given user can have one of many roles. The set of roles in Constructor can include: Guest, Reviewer, Creator, Publisher, Editor, and Administrator. A user having a given role can mean that user has a certain collection of privileges, which let them perform a certain set of actions within that given container. Moreover, having a certain role for a given container can also mean that a user can see certain data within the given container. For each of the containers described above, Constructor can ship a fixed set of roles a user can have. The roles for each container differ slightly, and are described below. It is worth noting that groups can also have roles, and that by being a member of a group that has a role, a user assumes that role.
  • Roles can be collections of privileges. Privileges can be hidden from end users. The roll-up of these privileges, however, can be exposed to users via roles. Therefore, when a user has a given role, they then can have a collection of privileges. Privileges help govern what a user can see and do in the system.
  • Constructor can let users define ACLs (access control lists) for live spaces and data spaces. ACLs help the system decide what a user can see or do for a given container (LS or DS). ACLs take on a very simple form: they are a list of principal/role pairs, where a principal is either a user or a group, and a role is one of the roles described above. Users can choose users and groups with the user and group selector, which can be populated with users and groups from the ALI database. The ACL UI can allow full CRUD operations on the control list.
  • Security evaluation can be done when a user tries to access a given resource or perform a given action. When this happens, several things can occur: (a) the user is in a role that has the ability to see the given resource, or perform the given action on the given resource; (b) the user is in a role that can see the resource, but cannot perform the given action on the resource; or (c) they cannot even see the resource to begin with. Because security is applied at the container level, security evaluation can be done against the ACL of either the object in question (if the object in question happens to be a container itself, like a live space), or a parent container of the object in question. If a user does not have the ability to perform an action, an exception propagates to the UI. This takes the form of an error page, which lists out why they cannot do what they are trying to do.
  • Constructor need not store information about users and groups, and can instead rely on a portal product to do so. Any time a user tries to do something in Constructor, their user identity can be retrieved from either the portal or other session, and mapped against the corresponding ACL (which would include a role that is mapped to a portal user or group they are in). Group membership evaluation can be done at runtime (but may be cached).
  • Whenever a container object is created, a default set of principals can be added to the ACL for that object. This default set can include: (a) the portal Administrators group, and (b) the principal who is creating the object. This default list can be extended/modified by customers via an unsupported feature known as security templates.
  • Whenever a user performs an auditable action (modify, create, etc.), that action can be stored with the given object. Through the UI, this action can then be displayed; e.g., Michael created this page. This can always display the appropriate name associated with the given user object in the portal. If the name changes on the portal object, the name in Constructor should update wherever that user performed an action.
  • The Action Pane can provide a base set of functionality that allows users to interact with content surrounding a given page (or record page). This can include: other pages (or record pages), documents, records, data spaces, and so on. Usually, a user will use the Action Pane when they want to navigate to another object in the system.
  • Embodiments of the present invention can include computer-based methods and systems which may be implemented using conventional general purpose or a specialized digital computer(s) or microprocessor(s), programmed according to the teachings of the present disclosure. Appropriate software coding can readily be prepared by programmers based on the teachings of the present disclosure.
  • Embodiments of the present invention can include a computer readable medium, such as computer readable storage medium. The computer readable storage medium can have stored instructions which can be used to program a computer to perform any of the features present herein. The storage medium can include, but is not limited to, any type of disk including floppy disks, optical discs, DVD, CD-ROMs, micro drive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, flash memory or any media or device suitable for storing instructions and/or data. The present invention can include software for controlling both the hardware of a computer, such as general purpose/specialized computer(s) or microprocessor(s), and for enabling them to interact with a human user or other mechanism utilizing the results of the present invention. Such software may include, but is not limited to, device drivers, operating systems, execution environments/containers, and user applications.
  • Embodiments of the present invention can include providing code for implementing processes of the present invention. The providing can include providing code to a user in any manner. For example, the providing can include transmitting digital signals containing the code to a user; providing the code on a physical media to a user; or any other method of making the code available.
  • Embodiments of the present invention can include a computer-implemented method for transmitting the code which can be executed at a computer to perform any of the processes of embodiments of the present invention. The transmitting can include transfer through any portion of a network, such as the Internet; through wires, the atmosphere or space; or any other type of transmission. The transmitting can include initiating a transmission of code; or causing the code to pass into any region or country from another region or country. A transmission to a user can include any transmission received by the user in any region or country, regardless of the location from which the transmission is sent.
  • Embodiments of the present invention can include a signal containing code which can be executed at a computer to perform any of the processes of embodiments of the present invention. The signal can be transmitted through a network, such as the Internet; through wires, the atmosphere or space; or any other type of transmission. The entire signal need not be in transit at the same time. The signal can extend in time over the period of its transfer. The signal is not to be considered as a snapshot of what is currently in transit.
  • The foregoing description of preferred embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations will be apparent to one of ordinary skill in the relevant arts. For example, steps preformed in the embodiments of the invention disclosed can be performed in alternate orders, certain steps can be omitted, and additional steps can be added. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the invention for various embodiments and with various modifications that are suited to the particular used contemplated. It is intended that the scope of the invention be defined by the claims and their equivalents.

Claims (20)

1. A method for extending ad hoc information around structured data, comprising:
creating a web interface for structured data;
combining the structured data through the web interface with unstructured data, wherein one or more users can collaborate to combine the structured data through the web interface with the unstructured data without administrative approval; and
producing groups of pages extending ad hoc information around the structured data, wherein versions of the groups of pages are tracked.
2. The method of claim 1, wherein producing groups of pages includes assembling one or more page components on a page.
3. The method of claim 2, wherein the one or more page components is a view of an ad-hoc application.
4. The method of claim 2, wherein each page component has its own URL.
5. The method of claim 1, wherein an active page represents an object as an individual page to which unstructured content can be added collaboratively by one or more users.
6. The method of claim 2, wherein whether a page component is displayed to a user is controlled by security.
7. The method of claim 1, wherein one or more users can revert the groups of pages to earlier versions.
8. The method of claim 1, wherein the combination of structured data through the web interface with unstructured data results in a data space.
9. The method of claim 1, wherein the groups of pages are in a live space.
10. The method of claim 1, further comprising creating a wiki for structured data.
11. A computer readable storage medium storing instructions for extending ad hoc information around structured data, the instructions comprising:
creating a web interface for structured data;
combining the structured data through the web interface with unstructured data, wherein one or more users can collaborate to combine the structured data through the web interface with the unstructured data without administrative approval; and
producing groups of pages extending ad hoc information around the structured data, wherein versions of the groups of pages are tracked.
12. The computer readable storage medium of claim 11, wherein producing groups of pages includes assembling one or more page components on a page.
13. The computer readable storage medium of claim 12, wherein the one or more page components is a view of an ad-hoc application.
14. The computer readable storage medium of claim 12, wherein each page component has its own URL.
15. The computer readable storage medium of claim 11, wherein an active page represents an object as an individual page to which unstructured content can be added collaboratively by one or more users.
16. The computer readable storage medium of claim 12, wherein whether a page component is displayed to a user is controlled by security.
17. The computer readable storage medium of claim 11, wherein one or more users can revert the groups of pages to earlier versions.
18. The computer readable storage medium of claim 11, wherein the combination of structured data through the web interface with unstructured data results in a data space.
19. The computer readable storage medium of claim 11, wherein the groups of pages are in a live space.
20. The computer readable storage medium of claim 11, further comprising creating a wiki for structured data.
US12/109,133 2007-04-27 2008-04-24 System and method for extending ad hoc information around structured data Abandoned US20090138792A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US91462307P true 2007-04-27 2007-04-27
US12/109,133 US20090138792A1 (en) 2007-04-27 2008-04-24 System and method for extending ad hoc information around structured data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/109,133 US20090138792A1 (en) 2007-04-27 2008-04-24 System and method for extending ad hoc information around structured data

Publications (1)

Publication Number Publication Date
US20090138792A1 true US20090138792A1 (en) 2009-05-28

Family

ID=40222379

Family Applications (13)

Application Number Title Priority Date Filing Date
US12/108,314 Abandoned US20090024915A1 (en) 2007-04-27 2008-04-23 Web based application constructor using objects as pages
US12/108,352 Abandoned US20090013245A1 (en) 2007-04-27 2008-04-23 Enterprise web application constructor xml editor framework
US12/108,402 Abandoned US20090013246A1 (en) 2007-04-27 2008-04-23 Web based application constructor using extensibility points for page components, page layouts/templates, security roles, shells, and associating data spaces with templates
US12/108,280 Abandoned US20090013267A1 (en) 2007-04-27 2008-04-23 Constructor web-based change control system and method
US12/108,301 Abandoned US20090031401A1 (en) 2007-04-27 2008-04-23 Annotations for enterprise web application constructor
US12/108,372 Abandoned US20090019522A1 (en) 2007-04-27 2008-04-23 Web based application constructor using data spaces
US12/108,190 Active 2030-08-17 US8819542B2 (en) 2007-04-27 2008-04-23 Enterprise web application constructor system and method
US12/108,390 Active 2030-04-12 US9830309B2 (en) 2007-04-27 2008-04-23 Method for creating page components for a page wherein the display of a specific form of the requested page component is determined by the access of a particular URL
US12/108,411 Abandoned US20090024939A1 (en) 2007-04-27 2008-04-23 Web based application constructor using querying across data
US12/109,133 Abandoned US20090138792A1 (en) 2007-04-27 2008-04-24 System and method for extending ad hoc information around structured data
US14/461,134 Active 2028-10-01 US9552341B2 (en) 2007-04-27 2014-08-15 Enterprise web application constructor system and method
US15/368,320 Active 2028-06-02 US10229097B2 (en) 2007-04-27 2016-12-02 Enterprise web application constructor system and method
US16/240,238 Pending US20190138582A1 (en) 2007-04-27 2019-01-04 Enterprise web application constructor system and method

Family Applications Before (9)

Application Number Title Priority Date Filing Date
US12/108,314 Abandoned US20090024915A1 (en) 2007-04-27 2008-04-23 Web based application constructor using objects as pages
US12/108,352 Abandoned US20090013245A1 (en) 2007-04-27 2008-04-23 Enterprise web application constructor xml editor framework
US12/108,402 Abandoned US20090013246A1 (en) 2007-04-27 2008-04-23 Web based application constructor using extensibility points for page components, page layouts/templates, security roles, shells, and associating data spaces with templates
US12/108,280 Abandoned US20090013267A1 (en) 2007-04-27 2008-04-23 Constructor web-based change control system and method
US12/108,301 Abandoned US20090031401A1 (en) 2007-04-27 2008-04-23 Annotations for enterprise web application constructor
US12/108,372 Abandoned US20090019522A1 (en) 2007-04-27 2008-04-23 Web based application constructor using data spaces
US12/108,190 Active 2030-08-17 US8819542B2 (en) 2007-04-27 2008-04-23 Enterprise web application constructor system and method
US12/108,390 Active 2030-04-12 US9830309B2 (en) 2007-04-27 2008-04-23 Method for creating page components for a page wherein the display of a specific form of the requested page component is determined by the access of a particular URL
US12/108,411 Abandoned US20090024939A1 (en) 2007-04-27 2008-04-23 Web based application constructor using querying across data

Family Applications After (3)

Application Number Title Priority Date Filing Date
US14/461,134 Active 2028-10-01 US9552341B2 (en) 2007-04-27 2014-08-15 Enterprise web application constructor system and method
US15/368,320 Active 2028-06-02 US10229097B2 (en) 2007-04-27 2016-12-02 Enterprise web application constructor system and method
US16/240,238 Pending US20190138582A1 (en) 2007-04-27 2019-01-04 Enterprise web application constructor system and method

Country Status (1)

Country Link
US (13) US20090024915A1 (en)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270915A1 (en) * 2007-04-30 2008-10-30 Avadis Tevanian Community-Based Security Information Generator
US20090013244A1 (en) * 2007-04-27 2009-01-08 Bea Systems, Inc. Enterprise web application constructor system and method
US20090031286A1 (en) * 2007-07-25 2009-01-29 Oracle International Corporation Device-based software authorizations for software asset management
US20090296942A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Concept for securing and validating client-side storage and distribution of asynchronous includes in an application server environment
US20090300345A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Concept for Client Identification and Authorization in an Asynchronous Request Dispatching Environmnet
US20110087604A1 (en) * 2009-10-09 2011-04-14 Oracle International Corporation Micro-blogging for enterprise resources planning (erp)
US20110087601A1 (en) * 2009-10-09 2011-04-14 Oracle International Corporation Methods and systems for providing a comprehensive view of it assets as self service inquiry/update transactions
US20120297007A1 (en) * 2011-05-20 2012-11-22 International Business Machines Corporation Multi-domain co-browsing utilizing localized state management
US20130085961A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation Enterprise context visualization
US20130198600A1 (en) * 2012-01-30 2013-08-01 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
WO2013119416A1 (en) * 2012-02-09 2013-08-15 International Business Machines Corporation A system to view and manipulate artifacts at a temporal reference point
US20130254671A1 (en) * 2010-06-21 2013-09-26 Salesforce.Com, Inc System, method and computer program product for performing actions associated with a portal
US20140013247A1 (en) * 2012-07-03 2014-01-09 salesforce.com,inc. Systems and methods for providing a customized user interface for publishing into a feed
US20140040384A1 (en) * 2012-07-31 2014-02-06 Yakov Faitelson Email distribution list membership governance method and system
US8667140B1 (en) 2011-03-31 2014-03-04 Emc Corporation Distinguishing tenants in a multi-tenant cloud environment
US8751567B2 (en) 2012-02-09 2014-06-10 Oracle International Corporation Quantify and measure micro-blogging for enterprise resources planning (ERP)
US20140281850A1 (en) * 2013-03-14 2014-09-18 Citta LLC System and method of content stream utilization
US20150081808A1 (en) * 2013-09-17 2015-03-19 Amazon Technologies, Inc. Email webclient automatic failover
US20150106337A1 (en) * 2013-10-10 2015-04-16 Adobe Systems Incorporated Action records associated with editable content objects
US20150261799A1 (en) * 2014-03-14 2015-09-17 Siemens Aktiengesellschaft Systems, apparatus, and methods for tracking changes in data structures using nested signatures
US9323581B1 (en) * 2011-03-31 2016-04-26 Emc Corporation Space inheritance
US9892380B2 (en) 2012-09-28 2018-02-13 Oracle International Corporation Adaptive knowledge navigator
US10484449B2 (en) 2018-02-15 2019-11-19 Amazon Technologies, Inc. Email webclient notification queuing

Families Citing this family (185)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779347B2 (en) * 2005-09-02 2010-08-17 Fourteen40, Inc. Systems and methods for collaboratively annotating electronic documents
US9092434B2 (en) * 2007-01-23 2015-07-28 Symantec Corporation Systems and methods for tagging emails by discussions
TWI381278B (en) * 2006-04-07 2013-01-01 Infopower Corp Method for estabuishing links in web page and web page editing system thereof
US20080034017A1 (en) * 2006-08-04 2008-02-07 Dominic Giampaolo Links to a common item in a data structure
US20080034004A1 (en) * 2006-08-04 2008-02-07 Pavel Cisler System for electronic backup
US8370853B2 (en) 2006-08-04 2013-02-05 Apple Inc. Event notification management
US7860839B2 (en) * 2006-08-04 2010-12-28 Apple Inc. Application-based backup-restore of electronic information
US8311988B2 (en) 2006-08-04 2012-11-13 Apple Inc. Consistent back up of electronic information
US9009115B2 (en) * 2006-08-04 2015-04-14 Apple Inc. Restoring electronic information
US7853566B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Navigation of electronic backups
US7962495B2 (en) 2006-11-20 2011-06-14 Palantir Technologies, Inc. Creating data in a data store using a dynamic ontology
US8930331B2 (en) 2007-02-21 2015-01-06 Palantir Technologies Providing unique views of data based on changes or rules
US8086960B1 (en) * 2007-05-31 2011-12-27 Adobe Systems Incorporated Inline review tracking in documents
US8010900B2 (en) 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup
US20080307017A1 (en) 2007-06-08 2008-12-11 Apple Inc. Searching and Restoring of Backups
US8307004B2 (en) 2007-06-08 2012-11-06 Apple Inc. Manipulating electronic backups
US8725965B2 (en) * 2007-06-08 2014-05-13 Apple Inc. System setup for electronic backup
US8745523B2 (en) 2007-06-08 2014-06-03 Apple Inc. Deletion in electronic backups
US8099392B2 (en) * 2007-06-08 2012-01-17 Apple Inc. Electronic backup of applications
US8484115B2 (en) 2007-10-03 2013-07-09 Palantir Technologies, Inc. Object-oriented time series generator
US8191002B2 (en) 2007-10-15 2012-05-29 International Business Machines Corporation Summarizing portlet usage in a portal page
US7904818B2 (en) * 2007-10-15 2011-03-08 International Business Machines Corporation Summarizing portlet usage captured responsive to trigger events in a portal page
US10269024B2 (en) 2008-02-08 2019-04-23 Outbrain Inc. Systems and methods for identifying and measuring trends in consumer content demand within vertically associated websites and related content
CN101572598B (en) * 2008-04-28 2013-03-06 国际商业机器公司 Method and device for reliable rapid integration
US9892028B1 (en) 2008-05-16 2018-02-13 On24, Inc. System and method for debugging of webcasting applications during live events
US10430491B1 (en) 2008-05-30 2019-10-01 On24, Inc. System and method for communication between rich internet applications
US8595241B2 (en) * 2008-06-22 2013-11-26 Newscred, Inc. System and method for augmenting digital media with custom content
US20100017385A1 (en) * 2008-07-16 2010-01-21 International Business Machines Creating and managing reference elements of deployable web archive files
US8910112B2 (en) * 2008-07-30 2014-12-09 Sap Ag Extended enterprise connector framework using direct web remoting (DWR)
US8645843B2 (en) * 2008-08-29 2014-02-04 International Business Machines Corporation Supporting role-based access control in component-based software systems
US20100070426A1 (en) 2008-09-15 2010-03-18 Palantir Technologies, Inc. Object modeling for exploring large data sets
US20100070844A1 (en) 2008-09-15 2010-03-18 Andrew Aymeloglu Automatic creation and server push of drafts
US8572510B2 (en) * 2008-09-30 2013-10-29 Sap Ag Handling multiple dynamically-linked dropdowns in online applications
US9195525B2 (en) 2008-10-21 2015-11-24 Synactive, Inc. Method and apparatus for generating a web-based user interface
US9785914B2 (en) * 2008-12-08 2017-10-10 Adobe Systems Incorporated Collaborative review apparatus, systems, and methods
US8954488B2 (en) * 2009-01-21 2015-02-10 Microsoft Corporation Extensibility for web based diagram visualization
US9378011B2 (en) * 2009-03-19 2016-06-28 Microsoft Technology Licensing, Llc Network application versioning
JP5473363B2 (en) * 2009-03-26 2014-04-16 キヤノン株式会社 Information processing apparatus, control method, and control program
JP4656246B2 (en) * 2009-03-31 2011-03-23 ブラザー工業株式会社 Communication device and program for functioning communication device
TW201037640A (en) * 2009-04-03 2010-10-16 Bais Jumpton Culiural & Map Educational Co Ltd Auxiliary teaching system
US8312105B2 (en) * 2009-04-28 2012-11-13 International Business Machines Corporation Natural ordering in a graphical user interface
US20110161091A1 (en) * 2009-12-24 2011-06-30 Vertical Acuity, Inc. Systems and Methods for Connecting Entities Through Content
US20110040604A1 (en) * 2009-08-13 2011-02-17 Vertical Acuity, Inc. Systems and Methods for Providing Targeted Content
US9396485B2 (en) * 2009-12-24 2016-07-19 Outbrain Inc. Systems and methods for presenting content
US20110197137A1 (en) * 2009-12-24 2011-08-11 Vertical Acuity, Inc. Systems and Methods for Rating Content
US20110202827A1 (en) * 2009-12-24 2011-08-18 Vertical Acuity, Inc. Systems and Methods for Curating Content
US9189244B2 (en) * 2009-08-18 2015-11-17 Adobe Systems Incorporated Methods and systems for managing data service specifications
US8495048B2 (en) * 2009-08-26 2013-07-23 International Business Machines Applying user-generated deployment events to a grouping of deployable portlets
US8639622B1 (en) * 2009-08-31 2014-01-28 Wells Fargo Bank, N.A. Budget management system and method
US9529517B2 (en) * 2009-10-13 2016-12-27 Google Inc. Movable information panels
US8438312B2 (en) * 2009-10-23 2013-05-07 Moov Corporation Dynamically rehosting web content
WO2011069169A1 (en) * 2009-12-04 2011-06-09 Financialos, Inc. Methods for platform-agnostic definitions and implementations of applications
US9564075B2 (en) * 2009-12-30 2017-02-07 Cyweemotion Hk Limited Electronic control apparatus and method for responsively controlling media content displayed on portable electronic device
WO2011082334A1 (en) * 2009-12-31 2011-07-07 Cbs Interactive Inc. Systems and methods for decorating web pages
US9612708B2 (en) * 2010-02-03 2017-04-04 Benefitfocus.Com, Inc. Systems and methods for polymorphic content generation in a multi-application, multi-tenant environment
US20110202384A1 (en) * 2010-02-17 2011-08-18 Rabstejnek Wayne S Enterprise Rendering Platform
US9037790B2 (en) * 2010-03-05 2015-05-19 International Business Machines Corporation Systems, methods, and computer program products for providing high availability metadata about data
US8706812B2 (en) 2010-04-07 2014-04-22 On24, Inc. Communication console with component aggregation
US8990427B2 (en) 2010-04-13 2015-03-24 Synactive, Inc. Method and apparatus for accessing an enterprise resource planning system via a mobile device
US8683359B2 (en) * 2010-05-18 2014-03-25 Sap Ag In-place user interface and dataflow modeling
US8434134B2 (en) 2010-05-26 2013-04-30 Google Inc. Providing an electronic document collection
US8434135B2 (en) * 2010-06-11 2013-04-30 Microsoft Corporation Creating and launching a web application with credentials
US8793650B2 (en) 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays
US20110307810A1 (en) * 2010-06-11 2011-12-15 Isreal Hilerio List integration
US8863001B2 (en) 2010-06-11 2014-10-14 Microsoft Corporation Web application home button
US8429546B2 (en) * 2010-06-11 2013-04-23 Microsoft Corporation Creating task sessions
US9164671B2 (en) * 2010-06-11 2015-10-20 Microsoft Technology Licensing, Llc Web application navigation domains
US8595551B2 (en) 2010-06-11 2013-11-26 Microsoft Corporation Web application transitioning and transient web applications
US8671384B2 (en) 2010-06-11 2014-03-11 Microsoft Corporation Web application pinning including task bar pinning
WO2012000117A1 (en) * 2010-06-30 2012-01-05 Tim Vasko System and method for an integraged workflow process, social, contact and web marketing solution
US8812734B2 (en) * 2010-09-01 2014-08-19 Microsoft Corporation Network feed content
EP2633428A1 (en) * 2010-10-30 2013-09-04 Hewlett-Packard Development Company, L.P. Optimizing hyper parameters of probabilistic model for mixed text-and-graphics layout template
TW201222415A (en) 2010-11-29 2012-06-01 Ibm Method and system for consistent web application presentation
US8819168B2 (en) * 2010-12-14 2014-08-26 Microsoft Corporation Link expansion service
US8984029B2 (en) 2011-01-14 2015-03-17 Apple Inc. File system management
US8943026B2 (en) 2011-01-14 2015-01-27 Apple Inc. Visual representation of a local backup
US20120246565A1 (en) * 2011-03-24 2012-09-27 Konica Minolta Laboratory U.S.A., Inc. Graphical user interface for displaying thumbnail images with filtering and editing functions
US9317861B2 (en) 2011-03-30 2016-04-19 Information Resources, Inc. View-independent annotation of commercial data
US9600679B2 (en) * 2011-04-29 2017-03-21 Micro Focus Software Inc. Techniques for resource operation based on usage, sharing, and recommendations with modular authentication
US8799240B2 (en) 2011-06-23 2014-08-05 Palantir Technologies, Inc. System and method for investigating large amounts of data
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8572500B2 (en) * 2011-09-09 2013-10-29 Microsoft Corporation Application screen design allowing interaction
US9465572B2 (en) 2011-11-09 2016-10-11 Microsoft Technology Licensing, Llc Dynamic server-side image sizing for fidelity improvements
US8671417B2 (en) 2011-12-12 2014-03-11 Microsoft Corporation Lightweight framework for web applications
US8856640B1 (en) 2012-01-20 2014-10-07 Google Inc. Method and apparatus for applying revision specific electronic signatures to an electronically stored document
US8732201B2 (en) * 2012-02-28 2014-05-20 Software Ag Systems and/or methods for automatically deriving web service permissions based on XML structure permissions
US20130238977A1 (en) * 2012-03-06 2013-09-12 Wixpress Ltd Method and system for master-page based integrated editing and dynamic layout activation
US9069627B2 (en) 2012-06-06 2015-06-30 Synactive, Inc. Method and apparatus for providing a dynamic execution environment in network communication between a client and a server
US20140026028A1 (en) * 2012-07-19 2014-01-23 International Business Machines Corporation Managing webpage edits
US9300745B2 (en) 2012-07-27 2016-03-29 Synactive, Inc. Dynamic execution environment in network communications
CN103581280B (en) * 2012-08-30 2017-02-15 网易传媒科技(北京)有限公司 Method and device for interface interaction based on micro blog platform
US9081975B2 (en) 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9104630B1 (en) 2012-10-24 2015-08-11 Google Inc. Online account reset, rollback, and backup
US9529916B1 (en) 2012-10-30 2016-12-27 Google Inc. Managing documents based on access context
US9501761B2 (en) 2012-11-05 2016-11-22 Palantir Technologies, Inc. System and method for sharing investigation results
US9524286B2 (en) * 2012-12-04 2016-12-20 Oracle International Corporation Persistent layer labels for a pivot table or cross-tabular report
US9495341B1 (en) 2012-12-18 2016-11-15 Google Inc. Fact correction and completion during document drafting
US9384285B1 (en) 2012-12-18 2016-07-05 Google Inc. Methods for identifying related documents
EP2765307A1 (en) 2013-02-07 2014-08-13 SSB Wind Systems GmbH & Co. KG Sensor system and method for monitoring and processing of blade sensor signals in a wind turbine
US9596279B2 (en) 2013-02-08 2017-03-14 Dell Products L.P. Cloud-based streaming data receiver and persister
US9442993B2 (en) 2013-02-11 2016-09-13 Dell Products L.P. Metadata manager for analytics system
US9191432B2 (en) 2013-02-11 2015-11-17 Dell Products L.P. SAAS network-based backup system
US9141680B2 (en) 2013-02-11 2015-09-22 Dell Products L.P. Data consistency and rollback for cloud analytics
US20140237346A1 (en) * 2013-02-20 2014-08-21 Adobe Systems Inc. Method and apparatus for importing hyper text markup language (html) web projects into a web content management system
US10261757B2 (en) * 2013-03-13 2019-04-16 Northrop Grumman Systems Corporation System and method for automated web processing service workflow building and application creation
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8924388B2 (en) 2013-03-15 2014-12-30 Palantir Technologies Inc. Computer-implemented systems and methods for comparing and associating objects
US9158534B2 (en) 2013-03-15 2015-10-13 Wolters Kluwer United States Inc. Smart endpoint architecture
US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
CN103279559A (en) * 2013-06-13 2013-09-04 北京神鹰城讯科技有限公司 Rich text editing method and device based on Android system
USD843381S1 (en) * 2013-07-15 2019-03-19 Aps Technology, Inc. Display screen or portion thereof with a graphical user interface for analyzing and presenting drilling data
US9495347B2 (en) * 2013-07-16 2016-11-15 Recommind, Inc. Systems and methods for extracting table information from documents
US9514113B1 (en) 2013-07-29 2016-12-06 Google Inc. Methods for automatic footnote generation
US9842113B1 (en) 2013-08-27 2017-12-12 Google Inc. Context-based file selection
US9524287B2 (en) 2013-09-20 2016-12-20 Oracle International Corporation Model-driven tooltips in excel
US10127206B2 (en) * 2014-07-16 2018-11-13 Oracle International Corporation Dynamic column groups in excel
US10423313B2 (en) * 2013-09-25 2019-09-24 Schneider Electric Buildings Llc Alarm displaying method and apparatus
US9507609B2 (en) 2013-09-29 2016-11-29 Taplytics Inc. System and method for developing an application
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
GB2519113A (en) * 2013-10-10 2015-04-15 Ibm Generation of combined documents from content and layout documents based on semantically neutral elements
JP2017504129A (en) * 2013-11-01 2017-02-02 カパオ・テクノロジーズKapow Technologies Construction of a state expression represented in a web browser
US20150135110A1 (en) * 2013-11-09 2015-05-14 International Business Machines Corporation Utilizing object cloning to enable nested drag and drop
US8938679B1 (en) 2013-11-18 2015-01-20 Axure Software Solutions, Inc. Comment system for interactive graphical designs
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US9529791B1 (en) 2013-12-12 2016-12-27 Google Inc. Template and content aware document and template editing
US10304110B2 (en) * 2013-12-26 2019-05-28 Ebay Inc. Ticket listing triggered by URL links
US10325001B2 (en) * 2014-02-26 2019-06-18 International Business Machines Corporation Operating a portal environment
US9965449B2 (en) * 2014-03-17 2018-05-08 Ca, Inc. Providing product with integrated wiki module
US8935201B1 (en) 2014-03-18 2015-01-13 Palantir Technologies Inc. Determining and extracting changed data from a data source
EP2921970B1 (en) * 2014-03-18 2017-04-26 smartwork solutions GmbH Method and system for editing virtual documents
US9948700B2 (en) 2014-07-01 2018-04-17 Oracle International Corporation ADFDI support for custom attribute properties
US9703763B1 (en) 2014-08-14 2017-07-11 Google Inc. Automatic document citations by utilizing copied content for candidate sources
US9398081B2 (en) * 2014-08-20 2016-07-19 Futurewei Technologies, Inc. Automating client development for network APIs
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US10198155B2 (en) 2015-01-31 2019-02-05 Splunk Inc. Interface for automated service discovery in I.T. environments
US9967351B2 (en) 2015-01-31 2018-05-08 Splunk Inc. Automated service discovery in I.T. environments
US10209956B2 (en) 2014-10-09 2019-02-19 Splunk Inc. Automatic event group actions
US10474680B2 (en) 2014-10-09 2019-11-12 Splunk Inc. Automatic entity definitions
US10417225B2 (en) 2015-09-18 2019-09-17 Splunk Inc. Entity detail monitoring console
US9158811B1 (en) 2014-10-09 2015-10-13 Splunk, Inc. Incident review interface
US10235638B2 (en) 2014-10-09 2019-03-19 Splunk Inc. Adaptive key performance indicator thresholds
US9146954B1 (en) 2014-10-09 2015-09-29 Splunk, Inc. Creating entity definition from a search result set
US10305758B1 (en) 2014-10-09 2019-05-28 Splunk Inc. Service monitoring interface reflecting by-service mode
US9130832B1 (en) 2014-10-09 2015-09-08 Splunk, Inc. Creating entity definition from a file
US10193775B2 (en) 2014-10-09 2019-01-29 Splunk Inc. Automatic event group action interface
US9584374B2 (en) 2014-10-09 2017-02-28 Splunk Inc. Monitoring overall service-level performance using an aggregate key performance indicator derived from machine data
US9491059B2 (en) 2014-10-09 2016-11-08 Splunk Inc. Topology navigator for IT services
US10417108B2 (en) 2015-09-18 2019-09-17 Splunk Inc. Portable control modules in a machine data driven service monitoring system
US9210056B1 (en) 2014-10-09 2015-12-08 Splunk Inc. Service monitoring interface
US9146962B1 (en) 2014-10-09 2015-09-29 Splunk, Inc. Identifying events using informational fields
US9984133B2 (en) 2014-10-16 2018-05-29 Palantir Technologies Inc. Schematic and database linking system
CN104376056B (en) * 2014-11-04 2018-04-27 广州华多网络科技有限公司 A kind of method and apparatus of data processing
EP3032441A2 (en) 2014-12-08 2016-06-15 Palantir Technologies, Inc. Distributed acoustic sensing data analysis system
WO2016094868A1 (en) * 2014-12-11 2016-06-16 LiveLoop, Inc. Method and system for concurrent collaborative undo operations in computer application software
US9965450B2 (en) * 2014-12-31 2018-05-08 Sap Portals Israel Ltd. Dynamic management of site components
EP3070622A1 (en) 2015-03-16 2016-09-21 Palantir Technologies, Inc. Interactive user interfaces for location-based data analysis
US10103953B1 (en) 2015-05-12 2018-10-16 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US10048948B2 (en) 2015-07-06 2018-08-14 Oracle International Corporation Optimized retrieval of custom string resources
US10231084B2 (en) 2015-08-14 2019-03-12 Aeris Communications, Inc. System and method for monitoring devices relative to a learned geographic area
US10437575B2 (en) 2015-08-14 2019-10-08 Aeris Communications, Inc. Aercloud application express and aercloud application express launcher
US9600146B2 (en) 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map
US9984428B2 (en) 2015-09-04 2018-05-29 Palantir Technologies Inc. Systems and methods for structuring data from unstructured electronic data files
US9401142B1 (en) 2015-09-07 2016-07-26 Voicebox Technologies Corporation System and method for validating natural language content using crowdsourced validation jobs
US9448993B1 (en) 2015-09-07 2016-09-20 Voicebox Technologies Corporation System and method of recording utterances using unmanaged crowds for natural language processing
US9786277B2 (en) * 2015-09-07 2017-10-10 Voicebox Technologies Corporation System and method for eliciting open-ended natural language responses to questions to train natural language processors
US9734138B2 (en) 2015-09-07 2017-08-15 Voicebox Technologies Corporation System and method of annotating utterances based on tags assigned by unmanaged crowds
US9519766B1 (en) 2015-09-07 2016-12-13 Voicebox Technologies Corporation System and method of providing and validating enhanced CAPTCHAs
US10204077B2 (en) * 2015-09-21 2019-02-12 Facebook, Inc. Rich text editor
US10287855B2 (en) * 2015-10-28 2019-05-14 Baker Hughes, A Ge Company, Llc Automation of energy industry processes using stored standard best practices procedures
US9760556B1 (en) 2015-12-11 2017-09-12 Palantir Technologies Inc. Systems and methods for annotating and linking electronic documents
US9514414B1 (en) 2015-12-11 2016-12-06 Palantir Technologies Inc. Systems and methods for identifying and categorizing electronic documents through machine learning
US10089289B2 (en) 2015-12-29 2018-10-02 Palantir Technologies Inc. Real-time document annotation
US9996236B1 (en) 2015-12-29 2018-06-12 Palantir Technologies Inc. Simplified frontend processing and visualization of large datasets
US10452634B2 (en) 2016-02-01 2019-10-22 Microsoft Technology Licensing, Llc Provide consumer oriented data service
US10248722B2 (en) 2016-02-22 2019-04-02 Palantir Technologies Inc. Multi-language support for dynamic ontology
CN105843789A (en) * 2016-04-01 2016-08-10 乐视控股(北京)有限公司 Rich text monitoring method and device
US20170337085A1 (en) 2016-05-09 2017-11-23 Oracle International Corporation Correlation of thread intensity and heap usage to identify heap-hoarding stack traces
US10324609B2 (en) 2016-07-21 2019-06-18 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10255051B2 (en) * 2016-08-02 2019-04-09 Oracle International Corporation Generation of dynamic software models using input mapping with feature definitions
US10133588B1 (en) 2016-10-20 2018-11-20 Palantir Technologies Inc. Transforming instructions for collaborative updates
US10044836B2 (en) 2016-12-19 2018-08-07 Palantir Technologies Inc. Conducting investigations under limited connectivity
US10216811B1 (en) 2017-01-05 2019-02-26 Palantir Technologies Inc. Collaborating using different object models

Citations (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088052A (en) * 1988-07-15 1992-02-11 Digital Equipment Corporation System for graphically representing and manipulating data stored in databases
US5873106A (en) * 1995-09-18 1999-02-16 Oracle Corporation Geometry management for displaying objects on a computer
US5983227A (en) * 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
US6026433A (en) * 1997-03-17 2000-02-15 Silicon Graphics, Inc. Method of creating and editing a web site in a client-server environment using customizable web site templates
US6263328B1 (en) * 1999-04-09 2001-07-17 International Business Machines Corporation Object oriented query model and process for complex heterogeneous database queries
US20040006710A1 (en) * 2002-04-25 2004-01-08 Pollutro Dennis Vance Computer security system
US20040054967A1 (en) * 2002-09-17 2004-03-18 Brandenberger Sarah M. Published web page version tracking
US20040073565A1 (en) * 2000-10-31 2004-04-15 Kaufman Michael Philip System and method for generating automatic user interface for arbitrarily complex or large databases
US20040085316A1 (en) * 2002-10-30 2004-05-06 Web Information Technologies, Inc Interactive data visualization and charting framework with self-detection of data commonality
US20040148307A1 (en) * 1999-12-02 2004-07-29 Rempell Steven H Browser based web site generation tool and run time engine
US20040189703A1 (en) * 2003-03-28 2004-09-30 Microsoft Corporation Publishing interface for publishing content from a content-authoring application to a content server
US20050108211A1 (en) * 2003-11-18 2005-05-19 Oracle International Corporation, A California Corporation Method of and system for creating queries that operate on unstructured data stored in a database
US20050138614A1 (en) * 2003-12-19 2005-06-23 Fuji Xerox Co., Ltd Methods and systems for extending existing user interfaces
US20060004703A1 (en) * 2004-02-23 2006-01-05 Radar Networks, Inc. Semantic web portal and platform
US20060041589A1 (en) * 2004-08-23 2006-02-23 Fuji Xerox Co., Ltd. System and method for clipping, repurposing, and augmenting document content
US20060200748A1 (en) * 2005-03-03 2006-09-07 Michael Shenfield System and method for applying workflow of generic services' to component based applications for devices
US20060230021A1 (en) * 2004-03-15 2006-10-12 Yahoo! Inc. Integration of personalized portals with web content syndication
US20060259462A1 (en) * 2005-05-12 2006-11-16 Sybase, Inc. System and Methodology for Real-time Content Aggregation and Syndication
US20060294496A1 (en) * 2005-06-27 2006-12-28 Bea Systems, Inc. System and method for improved web portal design through control tree file creation
US20070011175A1 (en) * 2005-07-05 2007-01-11 Justin Langseth Schema and ETL tools for structured and unstructured data
US20070011183A1 (en) * 2005-07-05 2007-01-11 Justin Langseth Analysis and transformation tools for structured and unstructured data
US20070055926A1 (en) * 2005-09-02 2007-03-08 Fourteen40, Inc. Systems and methods for collaboratively annotating electronic documents
US20070061296A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Annotating documents in a collaborative application with data in disparate information systems
US20070106647A1 (en) * 2005-10-31 2007-05-10 Schwalb Edward M Property tax and title chain document ordering system and method
US20070118844A1 (en) * 2005-11-23 2007-05-24 Jin Huang Designer and player for web services applications
US20070168380A1 (en) * 2006-01-17 2007-07-19 International Business Machines Corporation System and method for storing text annotations with associated type information in a structured data store
US20080010387A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method for defining a Wiki page layout using a Wiki page
US20080016105A1 (en) * 2006-06-19 2008-01-17 University Of Maryland, Baltimore County System for annotating digital images within a wiki environment over the world wide web
US20080040674A1 (en) * 2006-08-09 2008-02-14 Puneet K Gupta Folksonomy-Enhanced Enterprise-Centric Collaboration and Knowledge Management System
US20080071929A1 (en) * 2006-09-18 2008-03-20 Yann Emmanuel Motte Methods and apparatus for selection of information and web page generation
US20080091448A1 (en) * 2006-10-16 2008-04-17 Niheu Eric K System and method of integrating enterprise applications
US20080140766A1 (en) * 2006-12-06 2008-06-12 Microsoft Corporation Editing web pages via a web browser
US20080172372A1 (en) * 2007-01-17 2008-07-17 Google Inc. Expandable Homepage Modules
US20080222074A1 (en) * 2007-02-22 2008-09-11 Peter Lieberwirth Method or corresponding system employing templates for creating an organizational structure of knowledge
US20080270945A1 (en) * 2007-04-24 2008-10-30 Fatdoor, Inc. Interior spaces in a geo-spatial environment
US20090006360A1 (en) * 2007-06-28 2009-01-01 Oracle International Corporation System and method for applying ranking svm in query relaxation
US20090013245A1 (en) * 2007-04-27 2009-01-08 Bea Systems, Inc. Enterprise web application constructor xml editor framework
US20090063953A1 (en) * 2005-02-01 2009-03-05 Google Inc. Collaborative Web Page Authoring
US7543267B2 (en) * 1998-12-31 2009-06-02 Microsoft Corporation Drag and drop creation and editing of a page incorporating scripts
US7555713B2 (en) * 2005-02-22 2009-06-30 George Liang Yang Writing and reading aid system
US7716634B2 (en) * 2006-01-19 2010-05-11 Medseek Inc. System and method for building and modifying software applications

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275829B1 (en) * 1997-11-25 2001-08-14 Microsoft Corporation Representing a graphic image on a web page with a thumbnail-sized image
US6289358B1 (en) * 1998-04-15 2001-09-11 Inktomi Corporation Delivering alternate versions of objects from an object cache
US6128623A (en) * 1998-04-15 2000-10-03 Inktomi Corporation High performance object cache
US6389460B1 (en) * 1998-05-13 2002-05-14 Compaq Computer Corporation Method and apparatus for efficient storage and retrieval of objects in and from an object storage device
US6631512B1 (en) * 1999-01-15 2003-10-07 Gillis E Onyeabor Method and system for database-driven, scalable web page development, deployment-download, and execution
US7607085B1 (en) * 1999-05-11 2009-10-20 Microsoft Corporation Client side localizations on the world wide web
US6327628B1 (en) * 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
US6792475B1 (en) * 2000-06-23 2004-09-14 Microsoft Corporation System and method for facilitating the design of a website
US7000180B2 (en) * 2000-06-29 2006-02-14 Balthaser Online, Inc. Methods, systems, and processes for the design and creation of rich-media applications via the internet
US6766332B2 (en) * 2000-10-19 2004-07-20 Fuji Photo Film Co., Ltd. Electronic image display device and printing system therefor
US7197531B2 (en) * 2000-12-29 2007-03-27 Fotomedia Technologies, Llc Meta-application architecture for integrating photo-service websites for browser-enabled devices
US7428725B2 (en) * 2001-11-20 2008-09-23 Microsoft Corporation Inserting devices specific content
US7987421B1 (en) * 2002-01-30 2011-07-26 Boyd H Timothy Method and apparatus to dynamically provide web content resources in a portal
US7200801B2 (en) * 2002-05-17 2007-04-03 Sap Aktiengesellschaft Rich media information portals
US8447963B2 (en) 2002-06-12 2013-05-21 Bladelogic Inc. Method and system for simplifying distributed server management
US20040103369A1 (en) * 2002-11-26 2004-05-27 Sonoco Development, Inc. Method and apparatus for displaying data in a web page
US7325197B1 (en) * 2003-06-16 2008-01-29 Microsoft Corporation Method and system for providing page control content
US7502834B2 (en) * 2003-09-30 2009-03-10 International Business Machines Corporation Autonomic content load balancing
US7987268B2 (en) * 2003-10-23 2011-07-26 International Business Machines Corporation Methods and systems for dynamically reconfigurable load balancing
JP4125249B2 (en) * 2004-01-30 2008-07-30 キヤノン株式会社 Information processing method, information processing apparatus, and computer-readable program
US7565615B2 (en) * 2004-02-27 2009-07-21 Sap Aktiengesellschaft Survey generation system
US8103957B2 (en) * 2004-04-08 2012-01-24 E-Locallink, Inc. Methods and systems for simplifying access to video content
US20050240869A1 (en) * 2004-04-23 2005-10-27 Kalev Leetaru Method and system for editable web browsing
US7617450B2 (en) * 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
US7489324B2 (en) * 2005-03-07 2009-02-10 Vistaprint Technologies Limited Automated image processing
US7861153B2 (en) * 2005-10-03 2010-12-28 Advisys, Inc. System and method for document construction
US20070112856A1 (en) * 2005-11-17 2007-05-17 Aaron Schram System and method for providing analytics for a communities framework
WO2007066901A1 (en) * 2005-12-09 2007-06-14 Lg Electronics Inc. Method for managing and processing information of an object for presentation of multiple sources and apparatus for conducting said method
US20070209025A1 (en) * 2006-01-25 2007-09-06 Microsoft Corporation User interface for viewing images
US8510669B2 (en) * 2006-02-06 2013-08-13 Yahoo! Inc. Method and system for presenting photos on a website
US20080072139A1 (en) * 2006-08-20 2008-03-20 Robert Salinas Mobilizing Webpages by Selecting, Arranging, Adapting, Substituting and/or Supplementing Content for Mobile and/or other Electronic Devices; and Optimizing Content for Mobile and/or other Electronic Devices; and Enhancing Usability of Mobile Devices
US20080059877A1 (en) * 2006-08-29 2008-03-06 David Brookler Method for automatically adjusting the components of a screen region to maintain layout integrity in multiple languages
US8055759B2 (en) * 2006-09-18 2011-11-08 Tropos Networks, Inc. Determination of link qualities between an access point and a plurality of clients
US20080201118A1 (en) * 2007-02-16 2008-08-21 Fan Luo Modeling a web page on top of HTML elements level by encapsulating the details of HTML elements in a component, building a web page, a website and website syndication on browser-based user interface
US20080320384A1 (en) * 2007-06-25 2008-12-25 Ramesh Nagarajan Automated addition of images to text

Patent Citations (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088052A (en) * 1988-07-15 1992-02-11 Digital Equipment Corporation System for graphically representing and manipulating data stored in databases
US5873106A (en) * 1995-09-18 1999-02-16 Oracle Corporation Geometry management for displaying objects on a computer
US6026433A (en) * 1997-03-17 2000-02-15 Silicon Graphics, Inc. Method of creating and editing a web site in a client-server environment using customizable web site templates
US5983227A (en) * 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
US7543267B2 (en) * 1998-12-31 2009-06-02 Microsoft Corporation Drag and drop creation and editing of a page incorporating scripts
US6263328B1 (en) * 1999-04-09 2001-07-17 International Business Machines Corporation Object oriented query model and process for complex heterogeneous database queries
US20040148307A1 (en) * 1999-12-02 2004-07-29 Rempell Steven H Browser based web site generation tool and run time engine
US20040073565A1 (en) * 2000-10-31 2004-04-15 Kaufman Michael Philip System and method for generating automatic user interface for arbitrarily complex or large databases
US20040006710A1 (en) * 2002-04-25 2004-01-08 Pollutro Dennis Vance Computer security system
US20040054967A1 (en) * 2002-09-17 2004-03-18 Brandenberger Sarah M. Published web page version tracking
US20040085316A1 (en) * 2002-10-30 2004-05-06 Web Information Technologies, Inc Interactive data visualization and charting framework with self-detection of data commonality
US20040189703A1 (en) * 2003-03-28 2004-09-30 Microsoft Corporation Publishing interface for publishing content from a content-authoring application to a content server
US20050108211A1 (en) * 2003-11-18 2005-05-19 Oracle International Corporation, A California Corporation Method of and system for creating queries that operate on unstructured data stored in a database
US20050138614A1 (en) * 2003-12-19 2005-06-23 Fuji Xerox Co., Ltd Methods and systems for extending existing user interfaces
US20060004703A1 (en) * 2004-02-23 2006-01-05 Radar Networks, Inc. Semantic web portal and platform
US20060230021A1 (en) * 2004-03-15 2006-10-12 Yahoo! Inc. Integration of personalized portals with web content syndication
US20060041589A1 (en) * 2004-08-23 2006-02-23 Fuji Xerox Co., Ltd. System and method for clipping, repurposing, and augmenting document content
US20090063953A1 (en) * 2005-02-01 2009-03-05 Google Inc. Collaborative Web Page Authoring
US7555713B2 (en) * 2005-02-22 2009-06-30 George Liang Yang Writing and reading aid system
US20060200748A1 (en) * 2005-03-03 2006-09-07 Michael Shenfield System and method for applying workflow of generic services' to component based applications for devices
US20060259462A1 (en) * 2005-05-12 2006-11-16 Sybase, Inc. System and Methodology for Real-time Content Aggregation and Syndication
US20060294496A1 (en) * 2005-06-27 2006-12-28 Bea Systems, Inc. System and method for improved web portal design through control tree file creation
US20070011175A1 (en) * 2005-07-05 2007-01-11 Justin Langseth Schema and ETL tools for structured and unstructured data
US20070011183A1 (en) * 2005-07-05 2007-01-11 Justin Langseth Analysis and transformation tools for structured and unstructured data
US20070055926A1 (en) * 2005-09-02 2007-03-08 Fourteen40, Inc. Systems and methods for collaboratively annotating electronic documents
US20070061296A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Annotating documents in a collaborative application with data in disparate information systems
US20070106647A1 (en) * 2005-10-31 2007-05-10 Schwalb Edward M Property tax and title chain document ordering system and method
US20070118844A1 (en) * 2005-11-23 2007-05-24 Jin Huang Designer and player for web services applications
US20070168380A1 (en) * 2006-01-17 2007-07-19 International Business Machines Corporation System and method for storing text annotations with associated type information in a structured data store
US7716634B2 (en) * 2006-01-19 2010-05-11 Medseek Inc. System and method for building and modifying software applications
US20080016105A1 (en) * 2006-06-19 2008-01-17 University Of Maryland, Baltimore County System for annotating digital images within a wiki environment over the world wide web
US20080010387A1 (en) * 2006-07-07 2008-01-10 Bryce Allen Curtis Method for defining a Wiki page layout using a Wiki page
US20080040674A1 (en) * 2006-08-09 2008-02-14 Puneet K Gupta Folksonomy-Enhanced Enterprise-Centric Collaboration and Knowledge Management System
US20080071929A1 (en) * 2006-09-18 2008-03-20 Yann Emmanuel Motte Methods and apparatus for selection of information and web page generation
US20080091448A1 (en) * 2006-10-16 2008-04-17 Niheu Eric K System and method of integrating enterprise applications
US20080140766A1 (en) * 2006-12-06 2008-06-12 Microsoft Corporation Editing web pages via a web browser
US20080172372A1 (en) * 2007-01-17 2008-07-17 Google Inc. Expandable Homepage Modules
US20080222074A1 (en) * 2007-02-22 2008-09-11 Peter Lieberwirth Method or corresponding system employing templates for creating an organizational structure of knowledge
US20080270945A1 (en) * 2007-04-24 2008-10-30 Fatdoor, Inc. Interior spaces in a geo-spatial environment
US20090013244A1 (en) * 2007-04-27 2009-01-08 Bea Systems, Inc. Enterprise web application constructor system and method
US20090019522A1 (en) * 2007-04-27 2009-01-15 Bea Systems, Inc. Web based application constructor using data spaces
US20090019357A1 (en) * 2007-04-27 2009-01-15 Bea Systems, Inc. Web based application constructor using page components accessible by url
US20090013246A1 (en) * 2007-04-27 2009-01-08 Bea Systems, Inc. Web based application constructor using extensibility points for page components, page layouts/templates, security roles, shells, and associating data spaces with templates
US20090024915A1 (en) * 2007-04-27 2009-01-22 Bea Systems, Inc. Web based application constructor using objects as pages
US20090031401A1 (en) * 2007-04-27 2009-01-29 Bea Systems, Inc. Annotations for enterprise web application constructor
US20090013267A1 (en) * 2007-04-27 2009-01-08 Bea Systems, Inc. Constructor web-based change control system and method
US20090013245A1 (en) * 2007-04-27 2009-01-08 Bea Systems, Inc. Enterprise web application constructor xml editor framework
US20090024939A1 (en) * 2007-04-27 2009-01-22 Bea Systems, Inc. Web based application constructor using querying across data
US20090006360A1 (en) * 2007-06-28 2009-01-01 Oracle International Corporation System and method for applying ranking svm in query relaxation

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9830309B2 (en) 2007-04-27 2017-11-28 Oracle International Corporation Method for creating page components for a page wherein the display of a specific form of the requested page component is determined by the access of a particular URL
US20090013244A1 (en) * 2007-04-27 2009-01-08 Bea Systems, Inc. Enterprise web application constructor system and method
US20090019357A1 (en) * 2007-04-27 2009-01-15 Bea Systems, Inc. Web based application constructor using page components accessible by url
US8819542B2 (en) 2007-04-27 2014-08-26 Oracle International Corporation Enterprise web application constructor system and method
US9552341B2 (en) 2007-04-27 2017-01-24 Oracle International Corporation Enterprise web application constructor system and method
US10229097B2 (en) 2007-04-27 2019-03-12 Oracle International Corporation Enterprise web application constructor system and method
US20080270915A1 (en) * 2007-04-30 2008-10-30 Avadis Tevanian Community-Based Security Information Generator
US20090031286A1 (en) * 2007-07-25 2009-01-29 Oracle International Corporation Device-based software authorizations for software asset management
US8407669B2 (en) 2007-07-25 2013-03-26 Oracle International Corporation Device based software authorizations for software asset management
US20090300345A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Concept for Client Identification and Authorization in an Asynchronous Request Dispatching Environmnet
US8140842B2 (en) * 2008-05-29 2012-03-20 International Business Machines Corporation Client identification and authorization in an asynchronous request dispatching environment
US20090296942A1 (en) * 2008-05-29 2009-12-03 International Business Machines Corporation Concept for securing and validating client-side storage and distribution of asynchronous includes in an application server environment
US20110087604A1 (en) * 2009-10-09 2011-04-14 Oracle International Corporation Micro-blogging for enterprise resources planning (erp)
US20110087601A1 (en) * 2009-10-09 2011-04-14 Oracle International Corporation Methods and systems for providing a comprehensive view of it assets as self service inquiry/update transactions
US9582776B2 (en) 2009-10-09 2017-02-28 Oracle International Corporation Methods and systems for providing a comprehensive view of it assets as self service inquiry/update transactions
US20130254671A1 (en) * 2010-06-21 2013-09-26 Salesforce.Com, Inc System, method and computer program product for performing actions associated with a portal
US9323581B1 (en) * 2011-03-31 2016-04-26 Emc Corporation Space inheritance
US8667140B1 (en) 2011-03-31 2014-03-04 Emc Corporation Distinguishing tenants in a multi-tenant cloud environment
US9317615B2 (en) * 2011-05-20 2016-04-19 International Business Machines Corporation Multi-domain co-browsing utilizing localized state management
US20120297007A1 (en) * 2011-05-20 2012-11-22 International Business Machines Corporation Multi-domain co-browsing utilizing localized state management
US20130085961A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation Enterprise context visualization
US20130198600A1 (en) * 2012-01-30 2013-08-01 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9311624B2 (en) 2012-02-09 2016-04-12 International Business Machines Corporation System to view and manipulate artifacts at a temporal reference point
GB2514950A (en) * 2012-02-09 2014-12-10 Ibm A system to view and manipulate artifacts at a temporal reference point
WO2013119416A1 (en) * 2012-02-09 2013-08-15 International Business Machines Corporation A system to view and manipulate artifacts at a temporal reference point
US9311623B2 (en) 2012-02-09 2016-04-12 International Business Machines Corporation System to view and manipulate artifacts at a temporal reference point
US8751567B2 (en) 2012-02-09 2014-06-10 Oracle International Corporation Quantify and measure micro-blogging for enterprise resources planning (ERP)
US20140013247A1 (en) * 2012-07-03 2014-01-09 salesforce.com,inc. Systems and methods for providing a customized user interface for publishing into a feed
US20140040384A1 (en) * 2012-07-31 2014-02-06 Yakov Faitelson Email distribution list membership governance method and system
US9892380B2 (en) 2012-09-28 2018-02-13 Oracle International Corporation Adaptive knowledge navigator
US20140281850A1 (en) * 2013-03-14 2014-09-18 Citta LLC System and method of content stream utilization
US9961027B2 (en) * 2013-09-17 2018-05-01 Amazon Technolgies, Inc. Email webclient automatic failover
US20150081808A1 (en) * 2013-09-17 2015-03-19 Amazon Technologies, Inc. Email webclient automatic failover
US20150106337A1 (en) * 2013-10-10 2015-04-16 Adobe Systems Incorporated Action records associated with editable content objects
US9530233B2 (en) * 2013-10-10 2016-12-27 Adobe Systems Incorporated Action records associated with editable content objects
US20150261799A1 (en) * 2014-03-14 2015-09-17 Siemens Aktiengesellschaft Systems, apparatus, and methods for tracking changes in data structures using nested signatures
US10484449B2 (en) 2018-02-15 2019-11-19 Amazon Technologies, Inc. Email webclient notification queuing

Also Published As

Publication number Publication date
US20090013245A1 (en) 2009-01-08
US20090024939A1 (en) 2009-01-22
US20090031401A1 (en) 2009-01-29
US20090019357A1 (en) 2009-01-15
US20090019522A1 (en) 2009-01-15
US20090013267A1 (en) 2009-01-08
US10229097B2 (en) 2019-03-12
US9830309B2 (en) 2017-11-28
US8819542B2 (en) 2014-08-26
US20090013244A1 (en) 2009-01-08
US20090024915A1 (en) 2009-01-22
US20150046786A1 (en) 2015-02-12
US20170083498A1 (en) 2017-03-23
US20190138582A1 (en) 2019-05-09
US9552341B2 (en) 2017-01-24
US20090013246A1 (en) 2009-01-08

Similar Documents

Publication Publication Date Title
Kahan et al. Annotea: an open RDF infrastructure for shared Web annotations
Di Lorenzo et al. Data integration in mashups
JP4424909B2 (en) Method for associating user comments with documents, data processing system, and recording medium storing program
US8117552B2 (en) Incrementally designing electronic forms and hierarchical schemas
US8255812B1 (en) Embedding user-selected content feed items in a webpage
US7447733B2 (en) Method and apparatus creating network services
US9075505B2 (en) Content feed user interface
US6581061B2 (en) Remote web site authoring system and method
Auer et al. OntoWiki–a tool for social, semantic collaboration
US7536641B2 (en) Web page authoring tool for structured documents
US7975254B2 (en) Design-time rules mechanism for modeling systems
CA2406569C (en) Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display
US8407576B1 (en) Situational web-based dashboard
CA2471615C (en) Framework for creating modular web applications
US6560639B1 (en) System for web content management based on server-side application
AU2009262859B2 (en) Structured coauthoring
US7814426B2 (en) Reusable component in a collaboration workspace
US20090063953A1 (en) Collaborative Web Page Authoring
US9021423B2 (en) Enhanced widget composition platform
US20050289468A1 (en) News feed browser
US6684227B2 (en) Electronic content store
US20040001092A1 (en) Prototyping graphical user interfaces
CA2704252C (en) System and process for interacting with a user to define a behavior of a portion of an interactive presentation
DE60016772T2 (en) Method and system for the publication and revision of hierarchically organized sets of static intranet and internet pages
US20040254884A1 (en) Content catalog and application designer framework

Legal Events

Date Code Title Description
AS Assignment

Owner name: BEA SYSTEMS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CUDICH, MATIAS;MORAIS, STEPHAN DENNIS;REEL/FRAME:020928/0110

Effective date: 20080423

AS Assignment

Owner name: ORACLE INTERNATIONAL CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BEA SYSTEMS, INC.;REEL/FRAME:025986/0548

Effective date: 20110202

STCB Information on status: application discontinuation

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