System and method for a server in a website building system
The system automates website dialog customization by sorting and prioritizing attributes, enabling efficient bulk updates of components, addressing the laborious manual updates in current website building systems.
Patent Information
- Application Number
- JP2024002737
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2013-03-14
- Filing Date
- 2024-01-11
- Publication Date
- 2025-08-21
- Estimated Expiration
- 2034-03-13
AI Technical Summary
Current website building systems require designers to manually update individual attributes of multiple components, which is laborious and time-consuming, especially when dealing with both customizable and non-customizable attributes without distinguishing between them.
A system and method for automating website dialog customization that includes a sorter for sorting customizable attributes, a dialog builder for constructing a customization dialog based on sorted attributes, and an update unit for receiving input and updating attributes, allowing bulk updates of specific attributes through a tailored dialog.
Enables efficient and streamlined customization of website components by allowing designers to make bulk updates across multiple components, reducing manual effort and improving the design process.
Smart Images

Figure 0007727772000001 
Figure 0007727772000002 
Figure 0007727772000003
Abstract
Description
[Technical Field]
[0001] The present invention relates generally to component-based application builders, and more particularly to dialog customization. [Background technology]
[0002] Many component-based application builders are commercially available, both online and offline, that can be used to create and edit websites and other online or offline applications, such as website building systems, web page building systems, desktop application building systems, and mobile application building systems. For brevity, this application will refer to website building systems, but the features may also apply to the component-based application builders.
[0003] The website building system is based on the concept of pages, which contain objects, which can be components or non-component objects. Components can be atomic components or container components. Container components can be single-page containers or multi-page containers (containing multiple mini-pages separated from each other). A multi-page container can display a single mini-page at a time (single-page view) or can display multiple or all mini-pages (gallery / carousel view). A multi-page container can have a fixed display mode (e.g., gallery view only) or can be switchable between multiple display modes. Non-component objects can include relationship objects, views, and templates, which are described further below.
[0004] A component may have content, e.g., text for a text component, an image for an image component, etc. Components have additional attributes, including display attributes (e.g., color, frame) and layout attributes (size and position), among others.
[0005] A component may be contentless, such as a star, which does not have any internal content (but has color, size, position, and some other attributes), or it may have internal content, such as a text paragraph component, whose internal content includes font, formatting, and layout information in addition to the text to be displayed. This content can, of course, change from one instance of a text paragraph component to another.
[0006] A website building system may support inheritance relationships between objects such that when object A inherits from entity B (called the parent), the descendants of A are copied from the descendants of B, and so on.
[0007] The website building system can also be extended using third-party applications and their embedded components. Such third-party applications may be included in the website building system design environment or may be separately purchased (or otherwise obtained) through a number of distribution mechanisms, for example, from an application store (app store) integrated with the website building system or from a separate web-based or standalone application repository (or app store) operated by the website building system (WBS) vendor or another entity. Third-party applications may also be obtained directly from the third-party application vendor (either through an app store or not). The third-party application vendor may provide the actual installation module or simply an activation or access code.
[0008] Thus, a typical site created with a website building system has pages made up of instances of regular components and third-party application components. Such pages may also include linking components that display data items from internal or external data sources, formatted using page section templates (known as views), as described further below.
[0009] A dialog interface is a key feature of any online application builder (such as an online website building application) that allows the associated system to request input from or present information to the designer and / or end user. [Prior art documents] [Patent documents]
[0010] [Patent Document 1] US Patent Application Publication No. 2014 / 0282218 Summary of the Invention [Means for solving the problem]
[0011] According to a preferred embodiment of the present invention, there is provided a system comprising: a sorter for sorting customizable attributes of selected objects for a selection of displayed objects of a system, at least one of the selected objects having predefined customizable attributes and non-customizable attributes; and a dialog builder for constructing a customization dialog specified by the selection based on the sorted predefined customizable attributes.
[0012] Furthermore, in accordance with a preferred embodiment of the present invention, the system further comprises a display unit that displays the dialog, and an update unit that receives input according to the dialog and updates the customizable attributes according to the input.
[0013] Further in accordance with a preferred embodiment of the present invention, each of the at least one selected object has at least one associated customization record listing the predefined customizable attributes.
[0014] Furthermore, in accordance with a preferred embodiment of the present invention, the object is at least one of an atomic component, a container component, a linking component, a third party component, a template, a view, and a relationship object representing a relationship between at least two objects.
[0015] Additionally, in accordance with a preferred embodiment of the present invention, the selection is at least one of a predefined selection, a user selection, and an expanded selection.
[0016] Furthermore, in accordance with a preferred embodiment of the present invention, the expansion is at least one of a selection expanded to include contained objects, a selection expanded to include related objects, and a selection expanded to include inherited objects.
[0017] Further, in accordance with a preferred embodiment of the present invention, the selection is at least one of a direct selection of at least one object, a selection according to an intersection with or a portion including a page area selected by the user, and a selection according to a user-defined query.
[0018] Further in accordance with a preferred embodiment of the present invention, the system supports displaying multiple instances of an object on a page, and the selection comprises a subset of the multiple displayed object instances.
[0019] Additionally, in accordance with a preferred embodiment of the present invention, the sorter aggregates entries of multiple configurable attributes according to common properties of the entries.
[0020] Furthermore, in accordance with a preferred embodiment of the present invention, the sorter sorts the attributes according to priority.
[0021] Furthermore, in accordance with a preferred embodiment of the present invention, the sorter sorts attributes according to a hierarchical ID structure.
[0022] Further in accordance with a preferred embodiment of the present invention, the sorter arranges attributes according to hints provided in the affected objects.
[0023] Additionally, in accordance with a preferred embodiment of the present invention, the sorter sorts attributes according to priority based on the at least one associated customized record.
[0024] Furthermore, in accordance with a preferred embodiment of the present invention, the sorter sorts according to predefined conditions.
[0025] Further, in accordance with a preferred embodiment of the present invention, the conflicting associated customized records are combined based on at least one of priority, common values, and properties of the related objects.
[0026] Furthermore, in accordance with a preferred embodiment of the present invention, the dialog is at least one of a linear dialog, a hierarchical dialog, and a two-dimensional dialog.
[0027] Additionally, in accordance with a preferred embodiment of the present invention, the dialog is laid out according to at least one of customization priority parameters, customization hierarchy parameters, the location on the page of the configured object components, and dialog layout hints provided in the affected objects.
[0028] Further in accordance with a preferred embodiment of the present invention, the update unit performs the update using a predefined formula for the customizable attribute.
[0029] Further in accordance with a preferred embodiment of the present invention, the updater continuously updates the attributes as they are modified, providing a WSYWYG (what you see is what you get) effect.
[0030] Additionally, in accordance with a preferred embodiment of the present invention, the update unit performs incremental updates as the attributes are modified to provide animation between two versions of the object having different values of the customizable attributes.
[0031] Further in accordance with a preferred embodiment of the present invention, the update unit updates the view in at least one of the linking component, the particular view instance selected by the user, and the view template definition.
[0032] Furthermore, according to a preferred embodiment of the present invention, the system is one of a website building system, a web page building system, an online application building tool, an offline application building tool, and a mobile application building tool.
[0033] According to a preferred embodiment of the present invention, there is provided a method for a selection of displayed objects, at least one of the selected objects having predefined customizable attributes and non-customizable attributes, comprising: sorting customizable attributes of the selected objects; and constructing a customization dialog identified by the selection based on the sorted predefined customizable attributes.
[0034] Further in accordance with a preferred embodiment of the present invention the method includes displaying the dialog, receiving input according to the dialog, and updating the customizable attribute according to the input.
[0035] Further in accordance with a preferred embodiment of the present invention, the at least one selected object has at least one associated customization record listing the aforementioned predefined customizable attributes.
[0036] Furthermore, in accordance with a preferred embodiment of the present invention, the object is at least one of an atomic component, a container component, a third party component, a template, a view, and a relationship object that represents a relationship between at least two objects.
[0037] Additionally, in accordance with a preferred embodiment of the present invention, the selection is at least one of a predefined selection, a user selection, and an expanded selection.
[0038] Furthermore, in accordance with a preferred embodiment of the present invention, the expansion is at least one of a selection expanded to include contained objects, a selection expanded to include related objects, and a selection expanded to include inherited objects.
[0039] Further, in accordance with a preferred embodiment of the present invention, the selection is at least one of a direct selection of at least one object, a selection according to an intersection with or a portion including a page area selected by the user, and a selection according to a user-defined query.
[0040] Further in accordance with a preferred embodiment of the present invention the method includes displaying a plurality of instances of an object on a page, the selection comprising a subset of the plurality of displayed object instances.
[0041] Additionally in accordance with a preferred embodiment of the present invention, the sorting includes aggregating entries of multiple configurable attributes according to a common property of the entries.
[0042] Furthermore, in accordance with a preferred embodiment of the present invention, the sorting is done according to priority.
[0043] Furthermore, in accordance with a preferred embodiment of the present invention, the sorting is performed according to a hierarchical ID structure.
[0044] Furthermore, in accordance with a preferred embodiment of the present invention, the sorting is done according to hints provided in the affected objects.
[0045] Additionally, in accordance with a preferred embodiment of the present invention, the sorting is done in order of priority based on the at least one associated customized record.
[0046] Furthermore, in accordance with a preferred embodiment of the present invention, the sorting is done according to predefined conditions.
[0047] Further, in accordance with a preferred embodiment of the present invention, the method includes combining the at least one conflicting associated customized record based on at least one of priority, common values, and properties of related objects.
[0048] Additionally, in accordance with a preferred embodiment of the present invention, the dialog is at least one of a linear dialog, a hierarchical dialog, and a two-dimensional dialog.
[0049] Further, in accordance with a preferred embodiment of the present invention, the method includes laying out the dialog in accordance with at least one of a customization priority parameter, a customization hierarchy parameter, a location on the page of the configured object, and dialog layout hints provided in the affected object.
[0050] Further in accordance with a preferred embodiment of the present invention, said updating is done using a predefined scheme for said customizable attributes.
[0051] Additionally, in accordance with a preferred embodiment of the present invention, the updating occurs continuously as the attributes are modified, providing a WSYWYG (what you see is what you get) effect.
[0052] Furthermore, in accordance with a preferred embodiment of the present invention, the updating is done gradually as the attributes are modified, providing animation between two versions of the component having different customizable attribute values.
[0053] Further in accordance with a preferred embodiment of the present invention, the updating includes correcting the view within at least one of the linking component, the particular view instance selected by the user, and the view template definition.
[0054] The subject matter of the present invention is particularly pointed out and distinctly claimed at the end of the specification, but the invention, both as to the system and method of operation, together with its objects, features, and advantages, may best be understood by reference to the following detailed description taken in conjunction with the accompanying drawings. [Brief explanation of the drawings]
[0055] [Figure 1] FIG. 10 is a screenshot of a dialog for content entry on a restaurant website. [Figure 2] 1 is a screenshot of a user interface including a customization dialog for a restaurant website menu and its settings panel. [Figure 3] FIG. 10 is a screenshot of a customization dialog for changing the spacing between items for all displayed items. [Figure 4] FIG. 1 is a schematic diagram of a website page containing eight different text components. [Figure 5] 1 is a schematic diagram of a system for automating website dialog customization, constructed and operative in accordance with the present invention; [Figure 6] 6 is a schematic diagram of an implementation of the system of FIG. 5, constructed and operative in accordance with the present invention. [Figure 7]1 is a schematic illustration of a customized dialog for a particular page view, constructed and operative in accordance with the present invention; [Figure 8] 1 is a schematic diagram of a component layout based dialog creation system constructed and operative in accordance with the present invention; [Figure 9] 10 is a user interface screenshot showing an alternative layout view of a restaurant website menu, including an alternative customization dialog. DETAILED DESCRIPTION OF THE INVENTION
[0056] It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements for clarity. Furthermore, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
[0057] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present invention.
[0058] A website building system may typically provide designers with the ability to customize website objects, including specific views, items, and item / view combinations. The following discussion refers to customizing components (the most common case). However, the following description of the invention is fully applicable to customizing non-component objects, including views and templates in particular. As discussed above in this specification, many website components have numerous configurable attributes, including those related to the component itself (e.g., background color, font of displayed text), the component's display format (e.g., a specific date format), and the component's display parameters (e.g., number of rows and columns), as well as those related to specific instances (e.g., position and size). These configurable attributes can be used to configure related instances through the regular website building system user interface or via other means, such as an API or web services. A website building system may also support relationship objects, and relationships may be customized. Such relationship objects represent relationships between website building system components (or between other objects). Examples include dynamic layout anchors (e.g., defining the distance between components) and behavioral relationships (e.g., defining how a change in the content of one component affects another).
[0059] Components may also have non-customizable or conditionally customizable parameters and attributes. For example, certain items may be customized, but only when displayed in certain views. These customization options may only be available to designers (or end users) subject to certain predetermined modification or design privileges.
[0060] For third-party applications, third-party application vendors may define certain configurable attributes that can be used to configure third-party application instances. These attributes can be low-level, such as display frame type, or high-level, such as maximum allowed purchases for e-commerce third-party applications.
[0061] The created website may include a linking component that displays data items from an external data source formatted using page section templates (known as views). Linking components are further discussed in commonly assigned U.S. Patent Application Publication No. 2014 / 0129999, filed March 13, 2014, entitled "DEVICE, SYSTEM, AND METHOD OF WEBSITE BUILDING BY UTILIZING DATA LISTS." The linking component may link to an internal or external database containing one or more collections of data items. When the linking component is displayed, the database is accessed to generate a current list of data items to display. It will be understood that a view may be associated with each data item, and that data items may be displayed in a given area at once (known as a magnified / zoomed mode display) or as multiple items grouped together (known as a list or gallery mode display). Different data items may be displayed using different views.
[0062] It will be further understood that the page building process may create additional (non-component) objects that also have configurable attributes. For example, two components may be linked with a dynamic layout anchor, and the length of the anchor (i.e., the spacing between the components) may be a configurable attribute.
[0063] Applicant has realized that for such configurable components, a single customization can potentially affect multiple components, for example, the same color adjustment may be applied to multiple components in the same view to maintain harmony. Another example is the distance between the right edge of a view and two components in the same view, which may be adjusted but must remain the same for both components or may need to maintain a predetermined ratio.
[0064] Customizations can affect the attributes of a particular item's component or the view it participates in. Customization options can include whether a given component should be displayed (yes / no), fixed content (e.g., title text), display attributes (e.g., font, size, and color), screen-info distance (in the restaurant example above, the distance between the dish name and its description), counts (e.g., the number of columns in a multi-column display), and general parameters passed to components that handle the display.
[0065] Applicant also recognized that current customer dialogs or interfaces require a designer to wade through a list of individual components, all of which have multiple attributes (some configurable and some not), in order to make updates or changes to a particular component. For a designer to update the background color of eight different components on the same page, the designer must update the background color attribute of each component individually. This process can be laborious and time-consuming. As discussed above, it will be appreciated that even if not all attributes are editable, the update dialog presented to the designer does not distinguish between the two types of attributes, and both types of attributes may be presented to the designer.
[0066] Applicant further realized that creating a customized dialog tailored to the relevant components requiring such updates allows for the bulk updating of specific attributes. Applicant also realized that the customized dialog presents a junior designer (who is building his or her website using the relevant website building system) with a list of customizable attributes only for those components predetermined by the senior designer. Applicant further realized that a particular view (or presentation) of a component can automatically determine the specific attributes and values that can be adjusted and can rank the importance of the customization. Some customizations may be more important than others and should be more easily accessible.
[0067] It will be appreciated that, in accordance with one embodiment of the present invention, the initial construction of templates, views, and possibly some pages (hereinafter referred to as edit pages), as well as any potential customization, may be performed by the manufacturer of the associated website building system. In this case, a senior designer may use the associated website building system to set up and create customization records (as described in more detail below in this specification). The finished result may be used by a junior designer 5, who may create his or her own website using provided templates, etc. It will be appreciated that the senior designer may decide at design time which attributes may be configurable by the junior designer and which will be visible and available to the junior designer. It will also be appreciated that both the senior designer and the junior designer may be the same person (or company).
[0068] It will be appreciated that a junior designer 5 can select which layout (from those available) to use from the website building system, customize the selected layout, and then build their own site by inputting specific data through an interface provided by the system, as shown in FIG. 1, referenced herein, or by connecting to a data source. The layout selection determines which set of views (partial page templates) to use, as shown in FIG. 2, referenced herein. FIG. 2 illustrates the stages of website design for a restaurant website for a designer 5 in their work environment, showing the customization area, layout selection area, and various views that may be presented. The designer 5 may adapt the website to their needs. Accordingly, the designer 5 may select portions of the layout and customize them by view, object, or region, etc. The effect of selecting an alternative layout is further illustrated in FIG. 9, referenced herein. FIG. 9 illustrates the case where the designer 5 selects a gallery-style, photo-filled layout [B] instead of the list-style layout [A] described above, but the same underlying data is used. As can be seen, the format of the data display area [D] has changed, and the customization set [C] has also been switched to a customization appropriate for this alternative layout.
[0069] It will be appreciated that a website building system may display multiple instances of some views (such as multiple instances of a single cuisine view template) within the same region of a linking component. As shown in Figure 3, referenced herein, customizations can affect all displayed copies of the same view, so that designer 5 may (for example) change the spacing between items (shown at B) for all displayed items with a single change (shown at A) (changing the "Item Spacing" customization from a value of 15 (shown at Figure 2) to the current value of 123 (shown at Figure 3)). This change can affect all instances of the "Cuisine" view within the linking component, including those that are currently not visible (due to scrolling).
[0070] As mentioned above, a senior designer (prior to the website construction stage) may create a customization record that can be associated with each component. Each customization record may specify how one attribute of one component can be configured via an automatically generated configuration dialog (described in more detail below in this specification). In addition to the customizable attributes for the target component, the customization record may specify additional record fields such as a customization ID, customization prompt text (e.g., "Please select a background color"), and any additional information, such as which component attributes are customizable and which are not.
[0071] A customization record may also contain information such as a specific implementation formula that may specify how to apply the customization value, so that the customization value is applied to the attribute using an assignment other than a simple assignment (e.g., "Assign attribute X a value that is 80% of the input value"). Such a formula may reference not only the existing attribute value, but also the values of other attributes of the component. A customization record may also specify under what conditions an attribute is or is not customizable.
[0072] It will be appreciated that the customization record may (and typically does) include default values that may be assigned to the affected attributes when the customization dialog is first presented, thereby allowing the values of those attributes to be modified. If the designer 5 enters new values for the customization (as discussed in more detail later herein), these values are saved in the customization record (in addition to being applied to the affected attributes) and are redisplayed and used whenever the customization record is invoked again.
[0073] It will be understood that a component may be associated with more than one customization record, reflecting possible customizations of different attributes of the same component. The customization record for a component may include multiple records for the same attribute, such as when an attribute is modified in different ways using different implementation expressions. Different customization records for the same component typically have unique customization IDs, but this is not always the case; for example, one customization ID may be used for two records that modify the horizontal spacing of a component.
[0074] In an alternative embodiment, a senior designer can define customization records at a higher entity level (such as the view level, container level, overall page level, or website level). In such cases, the customization record for each component may only include a customization ID that references the higher-level customization record.
[0075] It will be appreciated that customization records created by an advanced designer may override any customization records provided by objects within an edit page to define specific customizable attributes that affect specific potentially customizable components. For example, as shown in FIG. 4, an edit page P may contain eight different text components (C1-C8), each with a possible configurable attribute "background color" (clr) and a type "color selection." The advanced designer may decide to expose all eight possible configurable attributes as actual configurable attributes. In such a case, the attributes may be combined under a single configurable attribute, "selection background color," (since they all have the same customization ID, as explained in more detail later in this specification). Thus, when the component dialog is displayed, a single changed setting may be applied to all eight components. The advanced designer may decide to create two new actual configurable attributes: "selection background color no. 1" for components C1-C3 and "selection background color no. 2" for components C4-C6. To do this, the senior designer may assign an alternative (and new) customization ID "bg-color-1" (along with the corresponding prompt text) to "bg-color" in the customization records of components C1-C3. The same procedure may be performed for components C4-C6 with an alternative customization ID "bg-color-2." Thus, when creating two configurable attributes, only the two new alternative customization IDs may be exposed as customizable attributes, not the eight underlying original customization IDs.
[0076] It will also be appreciated that an advanced designer may create new customization records for specialized components that may override customization records predefined or pre-supplied by inheritance or supplied by other objects within the edit page.
[0077] It will further be understood that the designer 5 may select and customize a set of objects that do not have customizable attributes. In such cases, there will be no defined customization and no customization dialog will be generated. Furthermore, it should be noted that some objects may contain specific customizable attributes that are not included in any customization record (e.g., the system restricts updating of that attribute to a separate (standalone and hardwired) properties dialog). In such cases, these attributes (that do not have a customization record) will not be included in the automatically created dialog and are not part of the discussion herein.
[0078] Referring now to FIG. 5, a system 100 for automating website dialog customization according to one embodiment of the present invention is shown. The system 100 includes an input interpreter 10, a property collector 20, a sorter and prioritizer 30, a dialog builder 40, a dialog presenter 50, a database coordinator 60, a database 70, and an attribute applier 90. The database 70 may store all relevant website building system components along with pre-created customization records for those website building system components. The input interpreter 10 may process either a pre-defined subset or components selected by the designer 5 to be updated, and the property collector 20 may retrieve customization records for the relevant components from the database 70 via the database coordinator 60. The sorter and prioritizer 30 may sort and prioritize attributes of the associated customization records, the dialog builder 40 may construct new customized dialogs for the designer 5 based on the designer's 5 selections, and the dialog presenter 50 may present the newly constructed dialogs to the designer 5 for the designer's 5 input. The attribute applier 90 may apply the designer's 5 input and update the components stored in the database 70 accordingly. The functionality of these elements is described in further detail herein below.
[0079] It will be appreciated that the selection of components to update may be made according to a user-defined query.
[0080] It will be appreciated that the system 100 may be implemented as part of a website building system 250, either on the client 200 side or on the server 300 side, as shown in FIG. 6, to which reference is now made.
[0081] Referring now to FIG. 7 , an example customized dialog 400 for view 300 is shown. During the design phase, a senior designer may create view 1, which contains four components (comp1, comp2, comp3, and comp4). The senior designer may also decide that comp1 exhibits customizable attributes (hgt (height), wdt (width), color, and font). comp2 may exhibit customizable attributes (hgt, wdt, text size, font, and frame type). comp3 and comp4 may also exhibit other configurable attributes. It will be appreciated that comp1 and comp2 may have other attributes that are not typically indicated as configurable attributes by the senior designer, such as component position coordinates. Each customizable attribute has an ID, prompt text (e.g., for color, "Please select a color"), and priority, all of which may be pre-specified for each individual component and attribute. Alternatively, a senior designer may specify such customization details in customization records at a higher entity level (e.g., the view or page level described above), with per-component customization records referencing only the higher entity-level customization records.
[0082] Junior designer 5 may wish to create a web page that uses View1 (e.g., as a template, as part of a page, or by attaching it to a predetermined set of items). Designer 5 may determine that only comp1 and comp2 need to be customized, so he or she may select comp1 and comp2 and press a customize button on the current dialog to activate some form of customization module. It will be appreciated that the selection made by designer 5 may be a single selection, multiple selections, a selection area for intersecting components, or multiple components in two or more views. In an alternative embodiment, designer 5 may not have the option to select individual components, and system 100 may operate using (for example) all components in a predetermined displayed view, thus automatically creating a complete customization dialog and eliminating the need for the junior designer to make selections and launch a customization module. It will also be appreciated that system 100 may, in some cases, cache pre-created dialogs to save time in recreating those dialogs if no relevant changes were made to the underlying information. In such a scenario, the customization dialog may be integrated with the regular website building system interface and displayed automatically whenever the designer 5 edits an area where customization is relevant.
[0083] It will be appreciated that (apart from caching as noted above) each time a process of the system 100 is executed, a new customization dialog is created, even if it has previously been executed using the exact same component (as will be described in more detail later in this specification). The input interpreter 10 may receive a selection of the selected component and may instruct the collector 20 to perform a recursive examination of comp1 and comp2 and all of their associated elements (which may be subcomponents, contained components, or other related entities). The collector 20 may collect all predefined customization records for comp1 and comp2 and all of their associated elements from the database 70 (via the coordinator 60). As discussed above in this specification, each component may have more than one customization record associated with it.
[0084] The sorter and prioritizer 30 may sort records by customization ID to remove duplicates. In the example of FIG. 4, the attributes hgt, wdt, and font have the same ID. In this case, the sorter and prioritizer 30 may prioritize the attributes of the associated customization records. The priority of each ID may be assigned based on the value given to the ID when it occurs multiple times as a customizable attribute. It will be appreciated that the priority may be specified by a senior designer or by the system. It will further be appreciated that the sorter and prioritizer 30 may combine priority values from multiple records using a combination metric (such as maximum or average value) and may take into account prioritization hints provided in the affected objects.
[0085] The dialog builder 40 can then construct a common dialog 400 using the combined list of customizations for comp1 and comp2, i.e., hgt, wdt, color, font, text size, and frame type, displaying the highest priority customization first. Each customization may be presented with its prompt text (e.g., "Please select a color") and value selection entry box 410.
[0086] It will be appreciated that it is possible to have multiple customization records for a particular property with the same ID. For example, one record may provide the text prompt "Change width," while a different record with the same ID may provide the text prompt "Enter new width." In such cases, the dialog builder 40 may select the correct value to use based on collateral priority, the most common value, properties of related components (e.g., selecting the value associated with the component with the largest total area), order of definition, or any other method. The dialog builder 40 may determine that multiple customization records should be considered as separate customization records if no conflict resolution is found. It will be appreciated that multiple customization records with the same ID may be required in cases where multiple attributes of a given component are modified with the same customization value. For example, in customizing "Enter margin," the same value should be applied to the left and right margins of the component, but these are separate attributes. In an alternative embodiment, the system 100 may use a customization record that includes multiple sub-records for multiple affected component attributes.
[0087] It will be appreciated that the dialog builder 40 may build multiple types of dialogs, such as linear dialogs, hierarchical dialogs (e.g., based on hierarchical classifications provided in a customization record using hierarchical customization ID namespaces), or may use a layout based on the layout of the components providing the customization record. Such dialog creation may be influenced by dialog creation hints included in the customization record.
[0088] Dialog creation based on component layout is further illustrated in FIG. 8, which is referenced herein. As shown, page [A] includes components [a], [b], [c], and [d]. When components [a] and [b] are multiple-selected and the "Customize" function is invoked via system 100, page [A] appears as page [B], showing components [a] and [b] and an automatically generated customization dialog [e]. Dialog [e] further includes three sections (from top) [f], [g], and [h]. It will be appreciated that the newly created dialog [e] is positioned within page [B] so as not to obscure components [a] and [b]. Furthermore, because [a] is superior to [b], the customizable attributes of [a] and [b] are displayed such that attributes only of [a] are in the top section [f], attributes only of [b] are in the bottom section [h], and attributes common to both [a] and [b] are in the middle section [g]. The same applies to two-dimensional layouts; customization dialogs can be created by placing clusters of customization elements within a page and using dynamic layouts to give space when needed.
[0089] The newly created dialog may then be presented to the designer 5 by the dialog presenter 50, and the designer's 5 input may be received via the value selection entry box 410. It will be appreciated that during the interaction, the designer 5 may apply customized values for the associated attributes, possibly using implementation expressions, to provide WSIWYG feedback to attribute changes.
[0090] The attribute applier 90 may receive relevant input from the designer and may update the customization record stored in the database 70 accordingly (so that the most recently entered value is displayed on the next invocation), or may update the relevant component attribute itself using an implementation expression. The attribute applier 90 may apply the designer-specified customization in a number of ways, including (a) affecting all (associated) views within the current linking component (e.g., the operation shown in FIG. 3 ), (b) affecting specific view instances selected by the designer, including views added through the magnification process described above (this affects only a specific item / view combination; different instances of the same view may have different customizations), or (c) affecting a view template definition rather than a view instance (so that any changes to the view apply to additional (or all) instances of the view within a website, including use of the view in different web pages).
[0091] It will be appreciated that pages can act as templates, including regular templates and views, for other pages (such as templates associated with data items when displayed within a linking component). Additionally, it will be appreciated that system 100 can be used with list components, such as those described herein above.
[0092] It will also be appreciated that system 100 may perform the entire functionality described above subject to scope definition rules. For example, page-based scope may combine component and customization records for all components within a page. View-based scope may combine at the level of each view (as defined above), such that customizations with the same ID in different views may be considered different customizations. An example of this is when a customization has the ID "space-below" for a component in a section view and a cooking view, as shown in FIG. 2, to which reference is now made again. Two different "space-below" customizations may be created in the customization dialog. System 100 may also provide other scope definition rules.
[0093] Therefore, a senior designer or a website construction system manufacturer may further provide a user-friendly dialog to a junior designer to assist the junior designer in constructing a website efficiently.
[0094] The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will appear from the description below. Additionally, embodiments of the present invention are not described with reference to any particular programming language. It will be understood that a variety of programming languages may be used to implement the teachings of the present invention as described herein.
[0095] Unless otherwise specifically stated, as is evident from the above discussion, it will be understood that throughout the specification, discussions utilizing terms such as "processing," "computing," "calculating," "determining," and the like refer to the operations and / or processing of a computer, computing system, or similar electronic computing device that manipulates and / or transforms data represented in physical quantities, such as electronic quantities, in the computing system's registers and / or memory, to other data that is similarly represented as physical quantities in the computing system's memory, registers, or other device that stores, transfers, or displays such information.
[0096] Embodiments of the present invention may include an apparatus for performing the operations herein. This apparatus may be specially constructed for the desired purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored on a computer-readable storage medium such as any type of disk, including, but not limited to, a floppy disk, an optical disk, a magneto-optical disk, a read-only memory (ROM), a compact disk read-only memory (CD-ROM), a random access memory (RAM), an electrically programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a magnetic or optical card, a flash memory, or any other type of medium suitable for storing electronic instructions and capable of being coupled to a computer system bus.
[0097] While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. It is therefore to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.
[0098] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Patent Application No. 61 / 781,866, filed March 14, 2013, the entire contents of which are incorporated herein by reference.
Claims
1. 1. A method for a website building system (WBS), comprising: Displaying a customization user interface dialog for a website page having editable non-component objects, including at least views and templates, with predefined customizable and non-customizable attributes; adjusting the customize user interface dialog of the visual page editor according to user selections of the selected at least two currently displayed objects; receiving input from the user regarding attributes of the at least two user-selected objects via a coordinated component customization user interface dialog; collectively updating the at least two user-selected objects according to the input; and A method for providing
2. The method of claim 1 , wherein the adjusting comprises presenting customizable attributes only for the at least two user-selected objects.
3. The method of claim 1 , wherein said adjusting comprises sorting the customizable attributes for the at least two user-selected objects.
4. The method of claim 1 , wherein the adjusting comprises ranking the importance of the customizable attributes for the at least two user-selected objects.
5. 2. The method of claim 1, wherein the bulk updating comprises updating a plurality of the user-selected objects based on a single customization of an attribute of one of the at least two user-selected objects.
6. The method of claim 1 , wherein the adjusting comprises at least one of updating an existing customized user interface dialog and creating a new customized user interface dialog.
7. The method of claim 6 , wherein creating the new customized user interface dialog comprises overriding an existing pre-defined and pre-provisioned customization record for the object.
8. The method of claim 7 , wherein at least one of the customization records comprises at least one of a customization ID, a customization prompt text, a specific implementation formula, and a default value.
9. The method of claim 6 , wherein the creating the new customized user interface dialog occurs at least one of a view level, a container level, an overall page level, and a website level.
10. The method of claim 1 , wherein the adjusting comprises sorting and prioritizing the customizable attributes by customization ID.
11. A system for a website building system (WBS), comprising: the WBS that operates a visual page editor and displays a customization user interface dialog for a website page, the website page having editable non-component objects, the objects having predefined customizable and non-customizable attributes, and the non-component objects comprising views and templates; a dialog builder that adjusts the customization user interface dialog of the visual page editor according to user selections of at least two selected currently displayed objects, the adjusted customization user interface dialog receiving input from the user regarding attributes of the at least two user-selected objects; an update unit that collectively updates at least one of the objects selected by the at least two users in accordance with the input; A system comprising:
12. The system of claim 11 , wherein the dialog builder presents customizable attributes only for the at least two user-selected objects.
13. The system of claim 11 , wherein the dialog builder sorts the customizable attributes for the at least two user-selected objects.
14. The system of claim 11 , wherein the dialog builder ranks the importance of the customizable attributes for the at least two user-selected objects.
15. 12. The system of claim 11, wherein the updater updates a plurality of the at least two user-selected objects based on a single customization of an attribute of one of the at least two user-selected objects.
16. The system of claim 11 , wherein the dialog builder performs at least one of updating existing customized user interface dialogs and creating new customized user interface dialogs.
Citation Information
Patent Citations
Data display processor and program
JP2004062354A
Image projecting device, image projecting program and image correction method
JP2008140044A
How to configure the user interface of a mobile device remotely.
JP2010531479A
Device, system, and method of website building by utilizing data lists
US20140282218A1