User privilege based web page content editing

Selectively restricting changes to a web page is disclosed. It is determined whether a current user is to be limited to editing content. If it is determined that the current user is to be limited to editing content, an interface that enables the current user to edit a content data but not an associated layout data of the web page is displayed to the user, based at least in part on the determination.

BACKGROUND OF THE INVENTION

Software solutions for editing web pages have evolved from simple HTML editors to WYSIWYG (What you see is what you get) over the years, making it possible for users without HTML proficiency to create web pages. However, it still requires significant domain expertise to make a professional looking web page with various performance enhancing features.

With the wide adoption of the Internet in modern day work place, many businesses have a company website for external readers and internal websites (e.g., internal online documents) for employees. The content of such a website often needs to be updated by employees from different departments who are familiar with a specific subject but oftentimes not proficient in creating web pages. Furthermore, companies usually require the web pages throughout a website to have a uniform look and feel, and web pages on the same topic (e.g., product introductions) to follow a prescribed template/layout, with only the actual content (e.g., text and images) varying. Therefore, there is a need for a way to allow content contributors who do not have advanced skills to create and/or edit a web page that has a desired uniform appearance.

DETAILED DESCRIPTION

Enabling a web page and/or template designer to lock the layout and/or other aspects of a web page and/or page template is disclosed. In some embodiments, users who are web page content contributors but who do not or may not have advanced web page design and/or layout skills are permitted to edit the content or a subset of the content of a web page. In some embodiments, content editing is limited based at least in part on a user's job function.

The sophistication of modern day enterprise software has enabled companies to automatically determine an employee's user permission based on his job function when he logs on to the company website internally. Therefore in an enterprise environment, the user permission information from the enterprise software in some embodiments is utilized by the web page solution to unlock the appropriate content if it is integrated with the backend enterprise software solution.

Displaying to a user based on the user's role and/or rights an interface that allows the user to edit all aspects of a web page, only the content (e.g., text and images) of a web page, or only a relevant subset of the content is disclosed. In some embodiments, at least certain layout elements of a web page are locked if a user's permission is determined to be limited to editing a content data. In some embodiments, a content view for editing only the content data of a web page is presented to web page content contributors and a layout view for editing both the layout data and the content data are made available to web page designers. The appropriate view(s) is/are displayed based on whether a user is limited to editing only the content. In some embodiments, the content of a web page or selected portions thereof may be locked, in addition to the layout data, if a user is limited to editing only part of the content.

In some embodiments, the layout data of a web page are displayed in a user interface as nested components, each of which either encloses a content data or a group of other components. In some embodiments, when a layout component is locked/unlocked, all the layout components and content that are nested in that component likewise are locked/unlocked.

FIG. 1Ashows an embodiment of a layout view. A web page is enclosed by a layout component100, which is divided horizontally into a layout component105and a layout component110. Layout component105encloses a text content. Layout component110is further divided horizontally into a layout component115and a layout component120. Layout component120also encloses a text content. Layout component115is further divided vertically into a layout component125and a layout component130. Layout component125encloses an image content while layout component130encloses a text content.

FIG. 1Ademonstrates how layout components and content are nested hierarchically. In the example shown, all the layout components and content elements are children of the top level layout component100. The image content is a child of layout component125, which itself is a child of layout component115, which in turn is a child of layout component110, parented by layout component100. If layout component115is locked (layout and content both locked), in some embodiments layout components125and130alongside with their enclosed content will be locked as well.

Locking web page layout while permitted associated content to be edited is disclosed. In the example shown inFIG. 1A, if a “layout only” lock were specified for layout component115, at least some users (e.g., web page content contributors) would be prevented from viewing and/or editing layout information for component115and associated child layout components125and130, but would be permitted to edit the image content of component125and/or the text content of component130.

FIG. 1Bshows an embodiment of a content view. It shows the same content data asFIG. 1Adoes without the layout components. In some embodiments, the content view ofFIG. 1Bis displayed to a web page content contributor who is not permitted to change web page layout, e.g., to prevent deviations from a prescribed layout. A user interacting with a web page editing application or tool via the content view is only able to alter the content without changing the actual layout of the web page.

FIG. 2is a flowchart illustrating a process used in one embodiment to determine which view to display. When a user requests to update a web page, his identity is received (200), based on which his job function is determined. If he is a content contributor (210), only the content view will be displayed (230). On the other hand, if he is not a content contributor (210), both the layout view and the content view will be displayed (220), giving him the privilege to edit both the content and the layout.

FIG. 3is a flowchart illustrating a process used in one embodiment to provide a content view. In some embodiments, the process ofFIG. 3is used to provide and enforce the ability of a web page designer to prevent editing of selected web page content, such as a company logo, while permitting other content to be edited. In some embodiments, a designer locks via a graphical user interface and/or control, selected content elements, which results in content contributors not being able to change the locked content when editing the web page in the content view. In the example shown inFIG. 3, when a user tries to edit an element content in a content view (300), it is determined whether the content is locked (310). If the content is locked, an exception is returned to indicate to the user that he/she is not permitted to change the content (320). Otherwise, content editing is allowed (330).

FIG. 4is a flowchart illustrating a process used in one embodiment to provide a layout view. In some embodiments, a web page and/or template designer is provided a graphical user interface or control that enables the designer to lock both the layout and content of a web page and/or component thereof or to instead lock just the layout. When a user tries to edit a web page in the layout view (400), the layout view checks if the both the layout and the content of the element(s) that the user is attempting to edit are locked (410). If so, an exception is returned to indicate no modification can be applied to this page. If not, the layout view checks if the layout is locked but the content is not (430). If so, the layout view will allow the enclosed content to be modified but not the layout (440). If the layout is not locked (430), both the layout components and their enclosed content can be changed (450).

FIG. 5is a flowchart illustrating a process used in one embodiment to implement a lock. There are several options for a user with higher privilege to protect information on a web page by locking it. He could opt to lock the entire web page (i.e. both the layout components and content), all the layout components without content, or a selected group of layout components and/or their enclosed content. When a lock request is received from a user (500), it is determined if the user wants to lock the entire web page (510) and if so, all layout components and content are locked (520). In some embodiments, this is implemented by locking the top level layout component and extending the lock down to all its children. If the user does not want to lock the entire web page (510), it is determined if the user wants to lock all the layout components while allowing content editing (530), and if so, all the layout components are locked while allowing content to be edited (540). If the user selects a specific group of layout components and content to be locked, it is determined if the lock should be extended to the children of their children and if so, the selected components and their children are locked (560). Otherwise only the selected layout component(s) or content is locked (570).

FIG. 6shows an embodiment of a web page building application and associated storage and server elements. In the example shown, a browser600is used to access via a network610a web page building application running on application server620. The application server identifies the user and determines the user's privilege by checking a repository630where all user information resides. When the user tries to edit a web page stored on a web server640, application server620checks the lock status of the web page through repository630and matches it with the user's privilege to determine which view(s) (layout/content) to display and which part of the web page the user is allowed to change. In some embodiments, changes to web page layout and/or content, if any, are saved to repository630.