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.
DescriptionThis 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.
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.
Embodiments of the present invention relate to a seamless, collaborative environment for creating applications, consuming information, and contributing content.
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.
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.
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:
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:
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:
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.
. 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 (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 Applications Claiming Priority (2) Application Number Priority Date Filing Date Title US91462307P 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 Publications (1) Family ID=40222379 Family Applications (15) 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,280 Abandoned US20090013267A1 (en) 2007-04-27 2008-04-23 Constructor web-based change control system and method 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,190 Active 2030-08-17 US8819542B2 (en) 2007-04-27 2008-04-23 Enterprise web application constructor system and method US12/108,372 Abandoned US20090019522A1 (en) 2007-04-27 2008-04-23 Web based application constructor using data spaces US12/108,352 Abandoned US20090013245A1 (en) 2007-04-27 2008-04-23 Enterprise web application constructor xml editor framework US12/108,411 Abandoned US20090024939A1 (en) 2007-04-27 2008-04-23 Web based application constructor using querying across data US12/108,301 Abandoned US20090031401A1 (en) 2007-04-27 2008-04-23 Annotations for enterprise web application constructor 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/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 Active 2028-08-19 US11010541B2 (en) 2007-04-27 2019-01-04 Enterprise web application constructor system and method US17/224,848 Active 2028-06-02 US11675968B2 (en) 2007-04-27 2021-04-07 Enterprise web application constructor system and method US18/319,651 Active US12229494B2 (en) 2007-04-27 2023-05-18 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,280 Abandoned US20090013267A1 (en) 2007-04-27 2008-04-23 Constructor web-based change control system and method 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,190 Active 2030-08-17 US8819542B2 (en) 2007-04-27 2008-04-23 Enterprise web application constructor system and method US12/108,372 Abandoned US20090019522A1 (en) 2007-04-27 2008-04-23 Web based application constructor using data spaces US12/108,352 Abandoned US20090013245A1 (en) 2007-04-27 2008-04-23 Enterprise web application constructor xml editor framework US12/108,411 Abandoned US20090024939A1 (en) 2007-04-27 2008-04-23 Web based application constructor using querying across data US12/108,301 Abandoned US20090031401A1 (en) 2007-04-27 2008-04-23 Annotations for enterprise web application constructor 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 Family Applications After (5) 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 Active 2028-08-19 US11010541B2 (en) 2007-04-27 2019-01-04 Enterprise web application constructor system and method US17/224,848 Active 2028-06-02 US11675968B2 (en) 2007-04-27 2021-04-07 Enterprise web application constructor system and method US18/319,651 Active US12229494B2 (en) 2007-04-27 2023-05-18 Enterprise web application constructor system and method Country Status (1) Cited By (28) * 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) 2013-09-17 2019-11-19 Amazon Technologies, Inc. Email webclient notification queuing US10970457B2 (en) 2017-11-22 2021-04-06 Citta LLC Collaboration mechanism US11144431B2 (en) * 2020-01-30 2021-10-12 EMC IP Holding Company LLC Configuration-based code construct for restriction checks in component of a web application US11210610B2 (en) 2011-10-26 2021-12-28 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system US11392352B2 (en) * 2018-02-01 2022-07-19 Ricoh Company, Ltd. Guided web-application generation US11416573B2 (en) * 2018-02-26 2022-08-16 Servicenow, Inc. Bundled scripts for web content delivery Families Citing this family (296) * 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 TWI381278B (en) * 2006-04-07 2013-01-01 Infopower Corp Method for estabuishing links in web page and web page editing system thereof US9009115B2 (en) * 2006-08-04 2015-04-14 Apple Inc. Restoring electronic information US7860839B2 (en) * 2006-08-04 2010-12-28 Apple Inc. Application-based backup-restore of electronic information US7853566B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Navigation of electronic backups US8311988B2 (en) 2006-08-04 2012-11-13 Apple Inc. Consistent back up of electronic information US8370853B2 (en) 2006-08-04 2013-02-05 Apple Inc. Event notification management 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 US8515912B2 (en) 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system US7962495B2 (en) 2006-11-20 2011-06-14 Palantir Technologies, Inc. Creating data in a data store using a dynamic ontology US9092434B2 (en) * 2007-01-23 2015-07-28 Symantec Corporation Systems and methods for tagging emails by discussions 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 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 US20080307017A1 (en) * 2007-06-08 2008-12-11 Apple Inc. Searching and Restoring of Backups US8010900B2 (en) 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup US8725965B2 (en) * 2007-06-08 2014-05-13 Apple Inc. System setup for electronic backup US8307004B2 (en) 2007-06-08 2012-11-06 Apple Inc. Manipulating electronic backups US9122762B2 (en) * 2007-07-18 2015-09-01 Ebay, Inc. Method and system to maintain a web page 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 US10460376B1 (en) 2007-11-28 2019-10-29 Wells Fargo Bank, N.A. System and method for data management and financial budgeting 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 US10747952B2 (en) 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts US20100070426A1 (en) 2008-09-15 2010-03-18 Palantir Technologies, Inc. Object modeling for exploring large data sets 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 US10523767B2 (en) 2008-11-20 2019-12-31 Synactive, Inc. System and method for improved SAP communications 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 US9396485B2 (en) * 2009-12-24 2016-07-19 Outbrain Inc. Systems and methods for presenting content US20110040604A1 (en) * 2009-08-13 2011-02-17 Vertical Acuity, Inc. Systems and Methods for Providing Targeted 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 US20110167403A1 (en) * 2009-12-04 2011-07-07 Jason Townes French Methods for platform-agnostic definitions and implementations of applications US10713666B2 (en) 2009-12-24 2020-07-14 Outbrain Inc. Systems and methods for curating content US20110197137A1 (en) * 2009-12-24 2011-08-11 Vertical Acuity, Inc. Systems and Methods for Rating Content US10607235B2 (en) * 2009-12-24 2020-03-31 Outbrain Inc. Systems and methods for curating content US20110161091A1 (en) * 2009-12-24 2011-06-30 Vertical Acuity, Inc. Systems and Methods for Connecting Entities Through Content 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 US11438410B2 (en) 2010-04-07 2022-09-06 On24, Inc. Communication console with component aggregation 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 WO2021099839A1 (en) * 2019-11-18 2021-05-27 Roy Mann Collaborative networking systems, methods, and devices US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices WO2021144656A1 (en) 2020-01-15 2021-07-22 Monday.Com Digital processing systems and methods for graphical dynamic table gauges in collaborative work systems 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 US8671384B2 (en) * 2010-06-11 2014-03-11 Microsoft Corporation Web application pinning including task bar pinning US8793650B2 (en) 2010-06-11 2014-07-29 Microsoft Corporation Dynamic web application notifications including task bar overlays US8863001B2 (en) 2010-06-11 2014-10-14 Microsoft Corporation Web application home button US8434135B2 (en) * 2010-06-11 2013-04-30 Microsoft Corporation Creating and launching a web application with credentials US20110307810A1 (en) * 2010-06-11 2011-12-15 Isreal Hilerio List integration 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 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 WO2012057804A1 (en) * 2010-10-30 2012-05-03 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 US10789412B2 (en) 2012-02-20 2020-09-29 Wix.Com Ltd. System and method for extended dynamic layout US20130238977A1 (en) * 2012-03-06 2013-09-12 Wixpress Ltd Method and system for master-page based integrated editing and dynamic layout activation 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 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 US20140068450A1 (en) * 2012-08-31 2014-03-06 Ebay Inc. Personalized Curation and Customized Social Interaction US9785307B1 (en) * 2012-09-27 2017-10-10 Open Text Corporation Reorder and selection persistence of displayed objects US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs US9081975B2 (en) 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control 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 US11308037B2 (en) 2012-10-30 2022-04-19 Google Llc Automatic collaboration 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 US9191432B2 (en) 2013-02-11 2015-11-17 Dell Products L.P. SAAS network-based backup system US9442993B2 (en) 2013-02-11 2016-09-13 Dell Products L.P. Metadata manager for analytics 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 US11205036B2 (en) * 2013-03-11 2021-12-21 Oracle International Corporation Method and system for implementing contextual widgets US9524273B2 (en) 2013-03-11 2016-12-20 Oracle International Corporation Method and system for generating a web page layout using nested drop zone widgets having different software functionalities 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 US9158534B2 (en) 2013-03-15 2015-10-13 Wolters Kluwer United States Inc. Smart endpoint architecture US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube US8924388B2 (en) 2013-03-15 2014-12-30 Palantir Technologies Inc. Computer-implemented systems and methods for comparing and associating objects US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map US9772753B2 (en) * 2013-06-07 2017-09-26 Microsoft Technology Licensing, Llc Displaying different views of an entity CN103279559A (en) * 2013-06-13 2013-09-04 å京ç¥é¹°åè®¯ç§ææéå ¬å¸ Rich text editing method and device based on Android system US9916388B2 (en) * 2013-07-10 2018-03-13 Mh Sub I, Llc Simplified website creation, configuration, and customization system 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 US9565152B2 (en) 2013-08-08 2017-02-07 Palantir Technologies Inc. Cable reader labeling US9842113B1 (en) 2013-08-27 2017-12-12 Google Inc. Context-based file selection US9626350B2 (en) 2013-09-20 2017-04-18 Oracle International Corporation Date picker in excel EP3049891B1 (en) * 2013-09-25 2018-07-25 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 US11429781B1 (en) 2013-10-22 2022-08-30 On24, Inc. System and method of annotating presentation timeline with questions, comments and notes using simple user inputs in mobile devices US20170004221A1 (en) * 2013-11-01 2017-01-05 Kapow Technologies Establishment of state representation of a web page 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 US10579647B1 (en) 2013-12-16 2020-03-03 Palantir Technologies Inc. Methods and systems for analyzing entity performance US10304110B2 (en) 2013-12-26 2019-05-28 Ebay Inc. Ticket listing triggered by URL links US10789554B2 (en) 2014-01-08 2020-09-29 Stubhub, Inc. Validity determination of an event ticket and automatic population of admission information 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 EP2921970B1 (en) * 2014-03-18 2017-04-26 smartwork solutions GmbH Method and system for editing virtual documents US8924429B1 (en) 2014-03-18 2014-12-30 Palantir Technologies Inc. Determining and extracting changed data from a data source US9836580B2 (en) 2014-03-21 2017-12-05 Palantir Technologies Inc. Provider portal US9948700B2 (en) 2014-07-01 2018-04-17 Oracle International Corporation ADFDI support for custom attribute properties US10127206B2 (en) * 2014-07-16 2018-11-13 Oracle International Corporation Dynamic column groups in excel 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 US10785325B1 (en) 2014-09-03 2020-09-22 On24, Inc. Audience binning system and method for webcasting and on-line presentations 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 US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system US9760240B2 (en) 2014-10-09 2017-09-12 Splunk Inc. Graphical user interface for static and adaptive thresholds US10209956B2 (en) 2014-10-09 2019-02-19 Splunk Inc. Automatic event group actions US9210056B1 (en) 2014-10-09 2015-12-08 Splunk Inc. Service monitoring interface US10474680B2 (en) 2014-10-09 2019-11-12 Splunk Inc. Automatic entity definitions US11755559B1 (en) 2014-10-09 2023-09-12 Splunk Inc. Automatic entity control in a machine data driven service monitoring system US11671312B2 (en) 2014-10-09 2023-06-06 Splunk Inc. Service detail monitoring console US10235638B2 (en) 2014-10-09 2019-03-19 Splunk Inc. Adaptive key performance indicator thresholds US9286413B1 (en) 2014-10-09 2016-03-15 Splunk Inc. Presenting a service-monitoring dashboard using key performance indicators derived from machine data US11087263B2 (en) 2014-10-09 2021-08-10 Splunk Inc. System monitoring with key performance indicators from shared base search of machine data US10193775B2 (en) 2014-10-09 2019-01-29 Splunk Inc. Automatic event group action interface US9491059B2 (en) 2014-10-09 2016-11-08 Splunk Inc. Topology navigator for IT services US11455590B2 (en) 2014-10-09 2022-09-27 Splunk Inc. Service monitoring adaptation for maintenance downtime US9130832B1 (en) 2014-10-09 2015-09-08 Splunk, Inc. Creating entity definition from a file US10536353B2 (en) 2014-10-09 2020-01-14 Splunk Inc. Control interface for dynamic substitution of service monitoring dashboard source data US9146954B1 (en) * 2014-10-09 2015-09-29 Splunk, Inc. Creating entity definition from a search result set US10417225B2 (en) 2015-09-18 2019-09-17 Splunk Inc. Entity detail monitoring console US9146962B1 (en) 2014-10-09 2015-09-29 Splunk, Inc. Identifying events using informational fields US10417108B2 (en) 2015-09-18 2019-09-17 Splunk Inc. Portable control modules in a machine data driven service monitoring system US10305758B1 (en) 2014-10-09 2019-05-28 Splunk Inc. Service monitoring interface reflecting by-service mode US11501238B2 (en) 2014-10-09 2022-11-15 Splunk Inc. Per-entity breakdown of key performance indicators US10505825B1 (en) 2014-10-09 2019-12-10 Splunk Inc. Automatic creation of related event groups for IT service monitoring US11200130B2 (en) 2015-09-18 2021-12-14 Splunk Inc. Automatic entity control in a machine data driven service monitoring system US9158811B1 (en) 2014-10-09 2015-10-13 Splunk, Inc. Incident review interface 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 US9430507B2 (en) 2014-12-08 2016-08-30 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 US11302426B1 (en) 2015-01-02 2022-04-12 Palantir Technologies Inc. Unified data interface and system US9967351B2 (en) 2015-01-31 2018-05-08 Splunk Inc. Automated service discovery in I.T. environments US10198155B2 (en) 2015-01-31 2019-02-05 Splunk Inc. Interface for automated service discovery in I.T. environments US10803106B1 (en) 2015-02-24 2020-10-13 Palantir Technologies Inc. System with methodology for dynamic modular ontology 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 US10628834B1 (en) 2015-06-16 2020-04-21 Palantir Technologies Inc. Fraud lead detection system for efficiently processing database-stored data and automatically generating natural language explanatory information of system results for display in interactive user interfaces US10048948B2 (en) 2015-07-06 2018-08-14 Oracle International Corporation Optimized retrieval of custom string resources US9418337B1 (en) 2015-07-21 2016-08-16 Palantir Technologies Inc. Systems and models for data analytics US10582001B2 (en) 2015-08-11 2020-03-03 Oracle International Corporation Asynchronous pre-caching of synchronously loaded resources US10437575B2 (en) 2015-08-14 2019-10-08 Aeris Communications, Inc. Aercloud application express and aercloud application express launcher US10648823B2 (en) 2017-06-22 2020-05-12 Aeris Communications, Inc. Learning common routes and automatic geofencing in fleet management US9774994B2 (en) 2015-08-14 2017-09-26 Aeris Communications, Inc. System and method for monitoring devices relative to a user defined geographic area US10231084B2 (en) 2015-08-14 2019-03-12 Aeris Communications, Inc. System and method for monitoring devices relative to a learned geographic area US9600146B2 (en) 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information US20170068712A1 (en) 2015-09-04 2017-03-09 Palantir Technologies Inc. Systems and methods for database investigation tool US9984428B2 (en) 2015-09-04 2018-05-29 Palantir Technologies Inc. Systems and methods for structuring data from unstructured electronic data files 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 US9401142B1 (en) 2015-09-07 2016-07-26 Voicebox Technologies Corporation System and method for validating natural language content using crowdsourced validation jobs WO2017044409A1 (en) 2015-09-07 2017-03-16 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 US9514414B1 (en) 2015-12-11 2016-12-06 Palantir Technologies Inc. Systems and methods for identifying and categorizing electronic documents through machine learning US9760556B1 (en) 2015-12-11 2017-09-12 Palantir Technologies Inc. Systems and methods for annotating and linking electronic documents US9542446B1 (en) 2015-12-17 2017-01-10 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields 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 US10417111B2 (en) 2016-05-09 2019-09-17 Oracle International Corporation Correlation of stack segment intensity in emergent relationships US10324609B2 (en) 2016-07-21 2019-06-18 Palantir Technologies Inc. System for providing dynamic linked panels in user interface US10719188B2 (en) 2016-07-21 2020-07-21 Palantir Technologies Inc. Cached database and synchronization system for providing dynamic linked panels in user interface US12204845B2 (en) 2016-07-21 2025-01-21 Palantir Technologies Inc. Cached database and synchronization 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 US10970465B2 (en) * 2016-08-24 2021-04-06 Micro Focus Llc Web page manipulation US10942960B2 (en) 2016-09-26 2021-03-09 Splunk Inc. Automatic triage model execution in machine data driven monitoring automation apparatus with visualization US10942946B2 (en) 2016-09-26 2021-03-09 Splunk, Inc. Automatic triage model execution in machine data driven monitoring automation apparatus 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 US11074277B1 (en) 2017-05-01 2021-07-27 Palantir Technologies Inc. Secure resolution of canonical entities US11627195B2 (en) 2017-06-22 2023-04-11 Aeris Communications, Inc. Issuing alerts for IoT devices US10735904B2 (en) 2017-06-22 2020-08-04 Aeris Communications, Inc. System and method for monitoring location and activity of devices US11132636B2 (en) 2017-06-22 2021-09-28 Aeris Communications, Inc. System and method for monitoring and sharing location and activity of devices US10942947B2 (en) 2017-07-17 2021-03-09 Palantir Technologies Inc. Systems and methods for determining relationships between datasets US11106442B1 (en) 2017-09-23 2021-08-31 Splunk Inc. Information technology networked entity monitoring with metric selection prior to deployment US11093518B1 (en) 2017-09-23 2021-08-17 Splunk Inc. Information technology networked entity monitoring with dynamic metric and threshold selection US11159397B2 (en) 2017-09-25 2021-10-26 Splunk Inc. Lower-tier application deployment for higher-tier system data monitoring US11281723B2 (en) 2017-10-05 2022-03-22 On24, Inc. Widget recommendation for an online event using co-occurrence matrix US11188822B2 (en) 2017-10-05 2021-11-30 On24, Inc. Attendee engagement determining system and method US10956508B2 (en) 2017-11-10 2021-03-23 Palantir Technologies Inc. Systems and methods for creating and managing a data integration workspace containing automatically updated data models US11061874B1 (en) 2017-12-14 2021-07-13 Palantir Technologies Inc. Systems and methods for resolving entity data across various data structures US10853352B1 (en) 2017-12-21 2020-12-01 Palantir Technologies Inc. Structured data collection, presentation, validation and workflow management CN108037974A (en) * 2017-12-22 2018-05-15 æ¦æ±æ¥é¼ä¿¡æ¯ææ¯æéå ¬å¸ A kind of exchange method and system and device in mobile terminal displaying long form GB201800595D0 (en) 2018-01-15 2018-02-28 Palantir Technologies Inc Management of software bugs in a data processing system US10824791B2 (en) * 2018-02-26 2020-11-03 Servicenow, Inc. System for building and modeling web pages US11599369B1 (en) 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system US11048762B2 (en) 2018-03-16 2021-06-29 Open Text Holdings, Inc. User-defined automated document feature modeling, extraction and optimization US10762142B2 (en) 2018-03-16 2020-09-01 Open Text Holdings, Inc. User-defined automated document feature extraction and optimization US11061542B1 (en) 2018-06-01 2021-07-13 Palantir Technologies Inc. Systems and methods for determining and displaying optimal associations of data items US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure US11005851B2 (en) * 2018-08-09 2021-05-11 Camelot Uk Bidco Limited Retrieving digital content over a network CN109040294B (en) * 2018-08-29 2021-09-17 广ä¸çµç½æéè´£ä»»å ¬å¸ Heterogeneous system standardized access method and device for three-dimensional simulation monitoring CN109271148B (en) * 2018-09-29 2022-03-01 ä¸å½å»ºè®¾é¶è¡è¡ä»½æéå ¬å¸ Mobile application generation method and device JP6943830B2 (en) * 2018-10-19 2021-10-06 ãã¡ããã¯æ ªå¼ä¼ç¤¾ Control devices, communication terminals, and control systems US11238014B2 (en) 2018-12-04 2022-02-01 International Business Machines Corporation Distributed version control for tracking changes in web applications US11610277B2 (en) 2019-01-25 2023-03-21 Open Text Holdings, Inc. Seamless electronic discovery system with an enterprise data portal US11474796B1 (en) * 2019-07-09 2022-10-18 Elements Dev Corporation Build system for distributed applications CN112230910B (en) * 2019-07-15 2023-09-15 è ¾è®¯ç§æï¼æ·±å³ï¼æéå ¬å¸ Page generation method, device and equipment of embedded program and storage medium CN112241505B (en) * 2019-07-18 2023-11-14 è ¾è®¯ç§æï¼æ·±å³ï¼æéå ¬å¸ Page updating method, page updating device, medium and electronic equipment US11392666B2 (en) 2019-09-13 2022-07-19 Redfast, Inc. Systems and methods for managing an online user experience US11526661B2 (en) 2019-11-18 2022-12-13 Monday.com Ltd. Digital processing systems and methods for integrated communications module in tables of collaborative work systems CN110989987B (en) * 2019-12-04 2024-03-01 å京å°ç±³ç§»å¨è½¯ä»¶æéå ¬å¸ Portal webpage generation method and device, client, server and storage medium US11023667B1 (en) * 2019-12-20 2021-06-01 Veeva Systems Inc. System and method for generating and managing pseudo data fields in CRM CN113031936B (en) * 2019-12-25 2024-10-29 ä¸å½èªå¤©ç³»ç»å·¥ç¨æéå ¬å¸ Method and system for automatically building page and immediately publishing page US11249976B1 (en) 2020-02-18 2022-02-15 Wells Fargo Bank, N.A. Data structures for computationally efficient data promulgation among devices in decentralized networks CN113342327A (en) * 2020-03-02 2021-09-03 ä¸å½ç§å¦é¢æ²é³èªå¨åç ç©¶æ Method for generating visual industrial configuration interactive graph US11501255B2 (en) 2020-05-01 2022-11-15 Monday.com Ltd. Digital processing systems and methods for virtual file-based electronic white board in collaborative work systems US20240184989A1 (en) 2020-05-01 2024-06-06 Monday.com Ltd. Digital processing systems and methods for virtualfile-based electronic white board in collaborative work systems systems US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems US11204975B1 (en) * 2020-08-10 2021-12-21 Coupang Corp. Program interface remote management and provisioning US20220221966A1 (en) 2021-01-14 2022-07-14 Monday.com Ltd. Digital processing systems and methods for dual mode editing in collaborative documents enabling private changes in collaborative work systems US11676072B1 (en) 2021-01-29 2023-06-13 Splunk Inc. Interface for incorporating user feedback into training of clustering model CN112905280B (en) * 2021-02-07 2023-12-15 è ¾ç«ä½è²æååå±(䏿µ·)æéå ¬å¸ Page display method, device, equipment and storage medium US11893076B2 (en) 2021-02-08 2024-02-06 Redfast, Inc. Systems and methods for managing an online user experience US11243749B1 (en) 2021-03-24 2022-02-08 Bank Of America Corporation Systems and methods for assisted code development US11556318B2 (en) 2021-03-24 2023-01-17 Bank Of America Corporation Systems and methods for assisted code development TWI774460B (en) * 2021-07-06 2022-08-11 ç·¯åµè³éè¡ä»½æéå ¬å¸ Patient information presentation method and electronic device US12056664B2 (en) 2021-08-17 2024-08-06 Monday.com Ltd. Digital processing systems and methods for external events trigger automatic text-based document alterations in collaborative work systems CN115952775A (en) * 2021-10-08 2023-04-11 å京åè·³ç½ç»ææ¯æéå ¬å¸ Document processing method, device, terminal and storage medium US12105948B2 (en) 2021-10-29 2024-10-01 Monday.com Ltd. Digital processing systems and methods for display navigation mini maps US11842176B2 (en) * 2021-11-12 2023-12-12 Bank Of America Corporation System and method for performing parallel and distributed analysis of program code to generate dependency graphs for executing extract transform load transformations CN113779483B (en) * 2021-11-12 2022-02-08 è ¾è®¯ç§æï¼æ·±å³ï¼æéå ¬å¸ Page component generation method and device, storage medium and computer equipment CN114417215A (en) * 2021-12-31 2022-04-29 天黿°åªç§æï¼åäº¬ï¼æéå ¬å¸ Designer and page design method CN114860214A (en) * 2022-05-12 2022-08-05 æ¹å天èä¿¡ç½ç»å®å ¨ææ¯æéå ¬å¸ Implementation method, device, device and storage medium of switch assembly CN115309298B (en) * 2022-08-30 2024-05-10 廿¸¡äºï¼åäº¬ï¼ææ¯æéå ¬å¸ Text structuring method and device based on rich text editor, medium and equipment CN115357239A (en) * 2022-10-21 2022-11-18 æºè åæµ·ï¼åäº¬ï¼ææ¯æéå ¬å¸ Method and device for quickly building operation activity page and electronic equipment US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes WO2025114749A1 (en) 2023-11-28 2025-06-05 Monday.com Ltd. Digital processing systems and methods for facilitating the development and implementation of applications in conjunction with a serverless environment WO2025114750A1 (en) 2023-11-28 2025-06-05 Monday.com Ltd. Digital processing systems and methods for managing workflows 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 US20070011183A1 (en) * 2005-07-05 2007-01-11 Justin Langseth Analysis and transformation tools for structured and unstructured data US20070011175A1 (en) * 2005-07-05 2007-01-11 Justin Langseth Schema and ETL 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 US20090013267A1 (en) * 2007-04-27 2009-01-08 Bea Systems, Inc. Constructor web-based change control system and method 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 (36) * 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 US7249174B2 (en) 2002-06-12 2007-07-24 Bladelogic, Inc. Method and system for executing and undoing distributed server change operations 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 CN100535900C (en) * 2005-12-06 2009-09-02 å½é å䏿ºå¨å ¬å¸ Method and system for rendering asynchronous portal page 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 US20070214239A1 (en) * 2006-03-10 2007-09-13 Mechkov Chavdar B Dynamically updated web page 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 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 textOwner 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
2011-03-21 AS AssignmentOwner name: ORACLE INTERNATIONAL CORPORATION, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:BEA SYSTEMS, INC.;REEL/FRAME:025986/0548
Effective date: 20110202
2017-11-27 STCB Information on status: application discontinuationFree format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4