WO2010088855A1 - 实现应用程序与文档库系统的扩展模块交互的方法及系统 - Google Patents

实现应用程序与文档库系统的扩展模块交互的方法及系统 Download PDF

Info

Publication number
WO2010088855A1
WO2010088855A1 PCT/CN2010/070492 CN2010070492W WO2010088855A1 WO 2010088855 A1 WO2010088855 A1 WO 2010088855A1 CN 2010070492 W CN2010070492 W CN 2010070492W WO 2010088855 A1 WO2010088855 A1 WO 2010088855A1
Authority
WO
WIPO (PCT)
Prior art keywords
extension module
interface
application
module
extended
Prior art date
Application number
PCT/CN2010/070492
Other languages
English (en)
French (fr)
Inventor
郭旭
王东临
刘宁胜
Original Assignee
北京书生国际信息技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京书生国际信息技术有限公司 filed Critical 北京书生国际信息技术有限公司
Publication of WO2010088855A1 publication Critical patent/WO2010088855A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Definitions

  • the present invention relates to electronic document processing techniques, and more particularly to a method and system for implementing an application module to interact with an extension module of a document library system in an application scenario of a document library system.
  • a document library is a complex software system that provides the organization, management, security, storage, and presentation of a large number of electronic documents.
  • the document library system is a platform software that provides storage, reading, writing, parsing, rendering, organizing, managing, security, and retrieval of unstructured data, and is invoked by software through standard interface provisioning.
  • This standard interface is called the document library standard interface.
  • the standard of this interface is called the document library standard (such as the UOML standard).
  • the data stored in the document library system is called the document library.
  • the unstructured data processed by the document library system may contain one or more pages of flat media information, and may also contain streaming media information such as audio, video, or the like.
  • the way the application software calls the document library system is to send a predefined instruction to the document library system.
  • the instruction can be sent by sending a command string, a function call or other means.
  • the predefined instruction is independent of the storage form of the unstructured data (especially the storage format), and describes an operation on an instance of an abstract model that is for a certain type of unstructured data.
  • An abstract feature (such as a rendering effect) is abstracted, and the model instance is usually a tree structure.
  • a method of extending the functionality of a document library system for processing extended data is provided in the patent application filed by the applicant, which is hereby incorporated by reference. Extension number According to the document library system side, but the document library system can not handle. For example, for a document library system that specializes in processing document data, it may not have the ability to process audio and video. For this document library system, audio and video data is extended data.
  • an extended function module conforming to the system extension interface is first developed independently of the document library system, and the extended function module has a function of processing extended data, which can be dynamically loaded by the application and implements independent functions.
  • the document library system includes a system expansion interface for parsing the extended data, determining a corresponding extended function module (ie, an extended function module having the capability of processing the extended data), and notifying the extended function module determined by the extended function calling module;
  • the module is configured to receive a notification sent by the system extension interface, and call the determined interface of the extended function module to process the extended data from the system extension interface.
  • the extended function module can be called a expansion module. Summary of the invention
  • the main object of the present invention is to provide a method for implementing an interaction between an application and an extension module of a document library system in an application scenario involving a document library system, which can realize an application user more effectively through interaction between the application and the extension module.
  • the finer-grained manipulation of the expansion modules and the easier use of the functions provided by the control modules ultimately extend the functionality of the document library system through extension modules.
  • Another object of the present invention is to provide a system for implementing an interaction between an application and an extension module in an application scenario involving a document library system, which can realize an effective and finer user of the application program through interaction between the application program and the extension module. Granularly manipulating the expansion modules and making it easier to use the functionality provided by the control module ultimately extends the functionality of the document library system through extension modules.
  • a method for implementing an interaction between an application and an extension module of a document library system includes:
  • the application enumerates the extended data in the current page of the document, and queries the registered extension module interface in the document library system according to the extended identifier of the extended data, and finds an extension module interface corresponding to the extended identifier;
  • the application or document library system calls the extension module interface with the extension data as a parameter.
  • a system for implementing an interaction between an application and an extension module of a document library system comprising at least an application and a document library system, wherein
  • An application configured to enumerate the extended data in the current page of the document, and send a predefined instruction containing the extended identifier to the document library system; and use the extended data as a parameter to invoke the extended module interface fed back by the document library system;
  • the document library system is configured to query an extended module interface that is registered according to the extended identifier carried in the received predefined instruction, find an extension module interface corresponding to the extended identifier, and return the application to the application.
  • interaction between the application program and the extension module is implemented in an application scenario involving a document library system.
  • the user of the application program realizes the function module more effectively and finely, and more conveniently uses the function provided by the control module, and finally realizes more effectively through the expansion module.
  • FIG. 2 is a flowchart of interaction between an application and an extension module according to Embodiment 1 of the present invention
  • FIG. 3 is a flowchart of interaction between an application and an extension module according to Embodiment 2 of the present invention.
  • Step 100 The application creates an extension module instance.
  • the specific implementation of this step includes:
  • the application enumerates the extended data in the current page of the document
  • the extended data includes two parts: an extended identification ID and extended instance data. If the current page contains a piece of extended data, MP3 format music, then the extended instance data is the MP3 music itself.
  • the application queries the extended module registered in the document library system according to the extended identifier in the extended data, and finds an extension module corresponding to the extended identifier.
  • the extension module enumerates all its interfaces. That is, the registration information of the document library system can include the extension module interface. In this case, the extension module can directly find the corresponding extension module interface.
  • the correspondence between the extension identifier and the extension module interface is stored. Or when the extension module includes the identifier interface, the extension identifier of the extension module is directly obtained through the identifier interface, and the obtained extension identifier is compared with the extended identifier of the extended data.
  • the patent application with the application number CN200610113805.2 can be seen in detail.
  • extension module interface may be implemented by using an operating system API or other methods.
  • the specific implementation belongs to the technical means used by those skilled in the art, and the present invention does not emphasize the specific implementation method of the interface.
  • the application uses the extended data as a parameter to call the extension module instance in the extension module interface responsible for creating the extension module instance to create an interface (corresponding to "Create Interface" in CN200610113805.2) to create an extension module instance. It should be noted that the extension module instance The creation can also be done by the document library system.
  • the extended data is used as a function parameter, and the extended data is passed to the extended module interface.
  • Step 101 The application uses the created extension module instance.
  • Usage can include interface interactions, and/or message interactions, and the like. It should be noted that the document library system can also use the created extension module instance.
  • For interface interaction it may include creating an extension module window, destroying the extension module window interaction, and possibly including changing the size or position of the extension module window, changing the application interface, etc.; for message interaction, including using the message, passing the reverse message interface Interaction, etc.
  • Step 102 The application destroys the extension module instance.
  • the application destroys the unneeded extension module instance by calling the extension module instance destruction interface corresponding to the extension module instance currently in use (corresponding to the "destruction interface" in CN200610113805.2). It should be noted that the document library system can also destroy the created extension module instance.
  • the present invention further provides a system for implementing an interaction between an application and an extension module, including at least an application program and a document library system (ie, platform software), wherein the application is used to enumerate the current page of the document.
  • the extended data in the file, and sends a predefined instruction containing the extended identifier to the document library system; the application uses the extended data as a parameter, and calls the extended module instance in the obtained extension module interface to create an extension module instance to create an interface to create an extension.
  • Module instance ie, platform software
  • the document library system is configured to query an extended module interface that is registered according to the extended identifier carried in the received predefined instruction, find an extension module interface corresponding to the extended identifier, and return the application to the application.
  • the predefined instructions are independent of the storage form of the unstructured data.
  • Unstructured data includes streaming media information, or contains written document information.
  • the predefined instruction can be a description pair
  • the operation of an instance of a predefined model, the way to send a predefined instruction can be to send a command string, or a function call, etc.
  • the predefined model is for a certain type of unstructured data, such as written documents, audio, video
  • An abstract feature such as a rendering effect is abstracted.
  • extension module instance and the extension module are not strictly distinguished by those skilled in the art in general, the two concepts are not strictly distinguished in the following description.
  • FIG. 2 is a flowchart of interaction between an application and an extension module according to Embodiment 1 of the present invention, and FIG. 2 includes the following steps:
  • Step 200 The application creates an extension module window.
  • the extension module adds a display window interface, which can be implemented by an API function provided by the operating system, or can be implemented by a function defined by itself.
  • the application calls the extension window's display window interface, which creates and displays the extension's window.
  • Step 201 The application changes basic feature information of the extension module window.
  • the extension module also has a message interface that can be implemented by the corresponding API provided by the operating system or by a function defined by itself. By calling this message interface, the application can pass messages to the extension module.
  • the application may send the new window, that is, the basic feature information of the changed window, such as the position and/or size information, to the expansion module by calling the message interface of the extension module; Change its own window based on the received location and/or size information.
  • the basic feature information here is not limited to the position, or size.
  • Step 202 The extension module changes the application interface.
  • the extension module can send an application interface that changes the application interface, ie, the user interface, by calling the application's reverse message interface.
  • the request for example:
  • the extension module can request the application to create menus, menu items, toolbars, toolbar buttons, etc. associated with the extension module itself.
  • the application After receiving the interface change request from the extension module, the application changes the user interface according to the information of the interface change request, for example, changing the menu item. Toolbars, etc.
  • the reverse message interface is transmitted by the application to the extension module through the message interaction between the application and the extension module.
  • the message interaction process will be described in detail below.
  • Step 203 The extension module destroys the changed application interface.
  • the extension module sends an interface change credit request to the application by using the reverse message interface of the application to update the application interface in step 202. After the application receives the interface change revocation request of the extension module, the application cancels step 202. Changes to the application interface. Of course, in the interface change revocation request, the extension module can also specify to undo partial changes.
  • Step 204 The application destroys the extension module window.
  • the extension module may further include a close window interface, which may be implemented by an API function provided by the operating system, or may be implemented by a function defined by itself.
  • the application calls the close window interface of the extension module and can close the extension module window created and displayed in step 200.
  • step 202 there is no strict sequence between the other steps except for the sequence between step 202, step 201 and step 203.
  • interface interaction and message interaction can be performed between the application and the extension module, wherein the message interaction includes a message interface interaction and a reverse message interface interaction.
  • the message interface is provided by the extension module and used by the application; and the reverse message interface is provided by the application, and the extension module is used.
  • the message interface interaction refers to the message interface of the application calling extension module, and sends the corresponding information to the extension module through the message interface provided by the message interface, and the extension module follows the connection.
  • the information received is related to the operation. For example, when the application needs to change the size of the extension module window, the message interface is called to change the size of the extension module window.
  • the user gives the corresponding size information according to the interface provided by the message interface and submits it to the extension module, and the extension module according to the received size. Information, change the size of its own window.
  • the reverse message interface interaction means the application sends the reverse message interface to the extension module through the message interface of the extension module, and the extension module calls the reverse message interface to send the message to the application software, and the application software operates according to the received message.
  • the application software needs to use the window handle of the extension module, and the process of the application software calling the extension module is related to the operating system.
  • the application software calls the message interface of the extension module, and sends a message to the extension module to create and destroy the extension module window.
  • the extension module performs the creation and destruction of the window according to the message itself, and the application software can be independent of the platform.
  • the application sends the information for controlling the streaming media to the streaming media extension module, for example: total playing time, reset, positioning, obtaining positioning, broadcasting/pause, etc., for example, the message of the application software and the extension module is explained. Interaction.
  • the extension module After the application sends a message for obtaining the total playing time to the extension module, the extension module returns the total playing time information of the current streaming media to the application, so that the application is displayed to the user;
  • the extension module After the application sends a reset message to the extension module, the extension module resets the playback position of the current streaming media to the time start position;
  • the extension module After the application sends the positioning message to the extension module, the extension module resets the playing position of the current streaming media to a given time point in the positioning information;
  • the extension module After the application sends the obtaining positioning message to the extension module, the extension module returns the playing position information of the current streaming media to the application, so that the application is displayed to the user;
  • the extension module When the application sends a play/pause message to the extension module, the extension module receives the The received information switches the playing state of the current streaming media. If it is currently playing, it switches to pause. If it is currently paused, it switches to playback.
  • FIG. 3 is a flow chart of interaction between an application and an extension module according to Embodiment 2 of the present invention, including:
  • Step 300 The application sets a settings interface that interacts with a particular extension module.
  • the setup interface for a particular extension module can include an interface for getting/modifying global settings
  • the first case If the setting interface is provided by the expansion module, then the application only needs to call the global setting interface of the expansion module to display the setting interface, and the subsequent operations are completed by the expansion module itself.
  • the extension module can implement the setup interface through API or other means.
  • the second case If the setup interface is provided by the application, then the extension module is required to provide the interface for obtaining/modifying the global settings. In addition, in order to improve the data format of the global settings obtained by the extension module interface, the application should be able to understand these data formats. Otherwise, it will not be displayed on the interface, or the modified setup data will not be passed to the expansion module interface.
  • the settings interface also includes information such as menus, menu items, toolbar buttons, and more.
  • Step 301 The user manages the global settings of the specific expansion module through the setting interface.
  • the management described in this step can be viewing, modifying, and the like. Viewing is the user's global setting information of a specific expansion module by calling up the setting interface.
  • the modification is the setting interface called by the user, and the global setting of the specific expansion module is modified by setting the interface item provided on the interface, Body:
  • the application calls the interface of the extension module to obtain the global setting, and obtains the global setting information of the relevant expansion module, and displays it in the setting interface;
  • the application program invokes the extension module to modify the globally set interface, and passes the modification information to the specific extension module, and the specific extension module performs corresponding changes according to the received modification information.
  • Step 302 If the user modifies the global settings, the application passes the modification information to the specific extension module.
  • Step 303 The specific extension module performs corresponding change according to the received modification information.
  • the setting of the global parameter/function may also be completed by using the message interface of the extension module.
  • a global setting message may be defined.
  • the application software invokes the message interface of the extension module, the global setting message is delivered to the extension module, and the extension module performs global parameter/function setting according to the global setting message.
  • the extension module is mainly used to process the extended data, the interaction between the application software and the extension module is limited, and the extension module is actively lacking.
  • the application software sends the requested technical solution.
  • the application software can directly perform more interactions with the extension module, and the extension module can also control the application software to a certain extent through the reverse message interface.
  • the application software, the document library system, and the extension module can interact with each other according to the technical solution of the present invention, and the interaction is universal, that is, any application software can be combined with any document library.
  • the system interacts with any expansion module.
  • Any expansion module can interact with any application software or any document library system. Any expansion module can interact with any application software or any document library system. Any document library system can be used with any Expansion module or any application soft Pieces interact. In this way, the development of application software, extension modules, and document library systems can be independent of each other. A single vendor can develop any one of them separately, and can be used with other products developed by other vendors.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Description

实现应用程序与文档库系统的扩展模块交互的方法及系统 技术领域
本发明涉及电子文档处理技术, 尤指一种涉及文档库系统的应用场 景中实现应用程序与文档库系统的扩展模块交互的方法及系统。 发明背景
文档库是一种复杂的软件系统, 提供大量电子文档的组织、 管理、 安全、 存储和展示等功能。 文档库系统是一种平台软件, 提供非结构化 数据的存储、 读写、 解析、 呈现、 组织、 管理、 安全和检索等功能, 并 通过标准接口供应用软件调用。 该标准接口称为文档库标准接口, 该接 口的标准称为文档库标准(例如 UOML标准 ), 文档库系统所存储的数 据称为文档库。 文档库系统所处理的非结构化数据可能包含一页或多页 组成的平面媒体信息, 也可能包含音频、 视频等流媒体信息, 或者包含 其它信息。 应用软件调用文档库系统的方式为向文档库系统发送预定义 的指令, 发送指令的方式可以是发送命令串, 也可以是函数调用或其它 方式。 其中, 所述预定义指令是与非结构化数据的存储形式(尤其是存 储格式)无关的, 描述了对一种抽象模型的实例的操作, 该抽象模型是 对某一类型的非结构化数据的某个通用特征(例如呈现效果)进行抽象 得到的, 模型实例通常是树状结构。 应用软件与文档库系统的交互可以 见在本申请人在先提交的申请号为 CN200510131072.0、 US12/133,280 等专利申请。
在本申请人已提交的申请号为 CN200610113805.2的专利申请中提 供了一种扩展文档库系统功能的方法, 用于处理扩展数据。 所谓扩展数 据是指位于文档库系统侧, 但文档库系统不能处理的。 比如对于专门处 理文档数据的文档库系统而言, 其可能没有处理音视频的能力, 那么对 于这个文档库系统而言, 音视频数据即为扩展数据。 在该专利申请中, 首先独立于文档库系统开发符合系统扩展接口的扩展功能模块, 该扩展 功能模块具有处理扩展数据的功能, 该扩展功能模块可以动态的被应用 程序加载并实现独立的功能。 文档库系统包括系统扩展接口, 用于解析 扩展数据, 确定对应的扩展功能模块(即, 具有处理该扩展数据能力的 扩展功能模块), 并通知扩展功能调用模块确定的扩展功能模块; 扩展 功能调用模块, 用于接收系统扩展接口发送的通知, 并调用确定的扩展 功能模块的接口对来自系统扩展接口的扩展数据进行处理。 在下文中, 扩展功能模块又可筒称为扩展模块。 发明内容
本发明的主要目的在于提供一种在涉及文档库系统的应用场景中实 现应用程序与文档库系统的扩展模块交互的方法, 能够通过应用程序与 扩展模块间的交互, 实现应用程序的用户更有效、 更细粒度地操控扩展 模块, 以及更方便地使用控制模块提供的功能, 最终更有效地通过扩展 模块来扩展文档库系统的功能。
本发明的另一目的在于提供一种在涉及文档库系统的应用场景中实 现应用程序与扩展模块交互的系统, 能够通过应用程序与扩展模块间的 交互, 实现应用程序的用户更有效、 更细粒度地操控扩展模块, 以及更 方便地使用控制模块提供的功能, 最终更有效地通过扩展模块来扩展文 档库系统的功能。
为达到上述目的, 本发明的技术方案具体是这样实现的:
一种实现应用程序与文档库系统的扩展模块交互的方法, 其特征在 于, 该方法包括:
所述应用程序枚举文档当前页面中的扩展数据, 并根据扩展数据的 扩展标识, 查询文档库系统中已注册的扩展模块接口, 找到与该扩展标 识相对应的扩展模块接口;
应用程序或文档库系统以扩展数据为参数, 调用扩展模块接口。 一种实现应用程序与文档库系统的扩展模块交互的系统, 该系统至 少包括应用程序和文档库系统, 其中,
应用程序, 用于枚举文档当前页面中的扩展数据, 并向文档库系统 发送包含有扩展标识的预定义指令; 以扩展数据为参数, 调用文档库系 统反馈的扩展模块接口;
文档库系统, 用于根据接收到的预定义指令中携带的扩展标识, 查 询自身已注册的扩展模块接口, 找到与该扩展标识相对应的扩展模块接 口并返回给应用程序。
通过本发明提供的方法, 在涉及文档库系统的应用场景中, 实现了 应用程序与扩展模块间的交互。 通过本发明应用程序与扩展模块间的交 互, 实现了应用程序的用户更有效、 更细粒度地操控扩展模块, 以及更 方便地使用控制模块提供的功能, 最终实现了更有效地通过扩展模块来 扩展文档库系统的功能。 附图简要说明
图 1是本发明应用程序与扩展模块交互的流程图;
图 2是本发明实施例一提供的应用程序与扩展模块交互的流程图; 图 3是本发明实施例二提供的应用程序与扩展模块交互的流程图。 实施本发明的方式 为使本发明的目的、 技术方案及优点更加清楚明白, 以下参照附图 并举较佳实施例, 对本发明进一步详细说明。
图 1是本发明应用程序与扩展模块交互的流程图, 包括以下步骤: 步骤 100: 应用程序创建扩展模块实例。
本步骤具体实现包括:
首先, 应用程序枚举文档当前页面中的扩展数据;
这里, 扩展数据包括扩展标识 ID 和扩展实例数据两部分。 如文档 当前页面中包含了一段扩展数据一一 MP3格式音乐,那么这扩展实例数 据即为该 MP3音乐本身。
其次, 应用程序根据上述扩展数据中的扩展标识, 查询文档库系统 中已注册的扩展模块, 找到与该扩展标识相对应的扩展模块。 通常情况 下, 在注册阶段, 扩展模块会枚举其所有的接口, 即, 文档库系统的注 册信息可以包括扩展模块接口, 这时通过扩展标识可以直接找到与其对 应的扩展模块接口。
在文档库系统中, 存储有扩展标识与扩展模块接口的对应关系。 或 者当扩展模块包含标识接口时, 直接通过标识接口获得该扩展模块的扩 展标识, 将获得的扩展标识与扩展数据的扩展标识进行比较。 具体可见 申请号为 CN200610113805.2的专利申请。
这里, 扩展模块接口的具体实现可以采用如操作系统 API或其它方 式来实现, 具体实现属于本领域技术人员惯用技术手段, 本发明并不强 调接口的具体实现方法。
最后, 应用程序以扩展数据为参数, 调用扩展模块接口中负责创建 扩展模块实例的扩展模块实例创建接口 (对应于 CN200610113805.2 中 的 "创建接口"), 以创建扩展模块实例。 需要说明的是, 扩展模块实例 的创建也可以由文档库系统来实现。
以扩展模块接口采用函数方式为例, 将扩展数据作为函数参数, 将 扩展数据传递给扩展模块接口。
步骤 101: 应用程序使用创建好的扩展模块实例。
使用可以包括界面交互, 和 /或消息交互等。 需要说明的是, 文档库 系统也可以使用创建好的扩展模块实例。
对于界面交互,会包括创建扩展模块窗口、销毁扩展模块窗口交互, 还有可能包括改变扩展模块窗口大小或位置、 改变应用程序界面等交 互; 对于消息交互, 会包括使用消息、 传递逆向消息接口的交互等。
步骤 102: 应用程序销毁扩展模块实例。
本步骤中, 应用程序通过调用当前正在使用的扩展模块实例对应的 扩展模块实例销毁接口 (对应于 CN200610113805.2中的 "析构接口") 来销毁不需要的扩展模块实例。 需要说明的是, 文档库系统也可以销毁 创建好的扩展模块实例。
对应图 1所示的方法, 本发明还提供一种实现应用程序与扩展模块 交互的系统, 至少包括应用程序和文档库系统(即平台软件), 其中, 应用程序, 用于枚举文档当前页面中的扩展数据, 并向文档库系统 发送包含有扩展标识的预定义指令; 应用程序以扩展数据为参数, 调用 获得的扩展模块接口中负责创建扩展模块实例的扩展模块实例创建接 口, 以创建扩展模块实例;
文档库系统, 用于根据接收到的预定义指令中携带的扩展标识, 查 询自身已注册的扩展模块接口, 找到与该扩展标识相对应的扩展模块接 口并返回给应用程序。
所述预定义指令是与非结构化数据的存储形式无关的。 非结构化数 据包括流媒体信息, 或包含书面文档信息等。 预定义指令可以是描述对 预定义模型的实例的操作, 发送预定义指令的方式可以是发送命令串, 也可以是函数调用等等, 而预定义模型是对某一类型的非结构化数据, 比如书面文档、 音频、 视频等的某个通用特征(如呈现效果)进行抽象 得到的。
下面详细介绍应用软件与扩展模块之间通过扩展模块实例进行交互 的过程。 由于本领域技术人员一般情况下不严格区分 "扩展模块实例" 和 "扩展模块", 以下描述中也不严格区分这两个概念。
图 2是本发明实施例一提供的应用程序与扩展模块交互的流程图, 如图 2所示包括以下步骤:
步骤 200: 应用程序创建扩展模块窗口。
在本发明中, 扩展模块新增一个显示窗口接口, 该显示窗口接口可 以通过操作系统提供的 API函数实现, 也可以通过自身定义的函数来实 现。 应用程序调用扩展模块的显示窗口接口, 可以创建并显示扩展模块 的窗口。
步骤 201: 应用程序改变扩展模块窗口的基本特征信息。
扩展模块还具有一个消息接口, 该消息接口可以通过操作系统提供 的相应 API, 也可以通过自身定义的函数来实现。 调用该消息接口, 应 用软件可以向扩展模块传递消息。
在需要改变扩展模块窗口的基本特征信息时, 应用程序可通过调用 扩展模块的消息接口, 将新的窗口即改变后的窗口的基本特征信息如位 置和 /或大小信息发送给扩展模块; 扩展模块根据接收到的位置和 /或大 小信息改变自身窗口。 这里基本特征信息不限于位置、 或大小。
步骤 202: 扩展模块改变应用程序界面。
在需要改变应用程序界面时, 扩展模块可通过调用应用程序的逆向 消息接口, 向应用程序发送改变应用程序界面即用户界面的界面变更请 求, 比如: 扩展模块可以请求应用程序创建与扩展模块自身相关联的菜 单、 菜单项、 工具条、 工具条按钮等。
应用程序接收到扩展模块的界面变更请求后, 按照界面变更请求的 信息改变用户界面, 比如, 变更菜单项。 工具条等。
其中, 逆向消息接口是通过应用程序与扩展模块间的消息交互, 由 应用程序传送给扩展模块的。 消息交互流程将在下文做详细介绍。
步骤 203: 扩展模块销毁已改变的应用程序界面。
扩展模块使用应用程序的逆向消息接口, 向应用程序发送界面变更 ϋ销请求, 以4款销步骤 202中应用程序界面的变更; 应用程序接收到扩 展模块的界面变更撤销请求后, 撤销步骤 202中应用程序界面的变更。 当然, 在界面变更撤销请求中, 扩展模块也可以指定撤销部分变更。
步骤 204: 应用程序销毁扩展模块窗口。
在本发明中, 扩展模块还可以包括一个关闭窗口接口, 该关闭窗口 接口可以通过操作系统提供的 API函数实现, 也可以通过自身定义的函 数来实现。 应用程序调用扩展模块的关闭窗口接口, 可以关闭步骤 200 中创建并显示的扩展模块窗口。
本领域技术人员可以看出, 除了步骤 200、 步骤 201和步骤 204之 间, 步骤 202和步骤 203之间有先后顺序外, 其他步骤之间并没有严格 的先后顺序。
从上述实施例可以看出, 应用程序与扩展模块之间可以进行界面交 互以及消息交互, 其中消息交互包括消息接口交互, 以及逆向消息接口 交互。 其中, 消息接口由扩展模块提供, 应用程序使用; 而逆向消息接 口由应用程序提供, 扩展模块使用。
其中消息接口交互指应用程序调用扩展模块的消息接口, 并通过消 息接口提供的消息界面将相应信息发送给扩展模块, 扩展模块就按照接 收到的信息进行相关操作。 比如当应用程序需要改变扩展模块窗口的大 小时, 会调用消息接口来改变扩展模块窗口的尺寸, 用户按照消息接口 提供的界面给出相应尺寸信息并提交给扩展模块, 扩展模块根据接收到 的尺寸信息, 改变自身窗口的大小。 逆向消息接口交互指: 应用程序通 过扩展模块的消息接口, 将逆向消息接口发送给扩展模块, 扩展模块调 用逆向消息接口, 将消息发送给应用软件, 应用软件按照接收到的消息 进行操作。
上述实施例提到的创建和销毁扩展模块窗口的方式中, 应用软件需 要使用扩展模块的窗口句柄, 应用软件调用扩展模块的过程与操作系统 有关, 为此, 在另一实施例中, 可以是应用软件调用扩展模块的消息接 口, 向扩展模块发送创建和销毁扩展模块窗口的消息, 扩展模块根据消 息自己执行窗口的创建和销毁, 对应用软件而言可以做到与平台无关。
下面以应用程序向流媒体扩展模块发送用于控制流媒体播放的信 息, 比如: 播放时间总长、 重置、 定位、 获得定位、 播^ /暂停等为例, 说明一下应用软件与扩展模块的消息交互。
当应用程序将获取播放时间总长的消息发送给扩展模块后, 扩展模 块将当前流媒体的播放时间总长信息返回给应用程序, 以便应用程序显 示给用户;
当应用程序将重置消息发送给扩展模块后, 扩展模块将当前流媒体 的播放位置重置至时间起始点位置;
当应用程序将定位消息发送给扩展模块后, 扩展模块将当前流媒体 的播放位置重新设置在定位信息中给定的时间点上;
当应用程序向扩展模块发送获得定位消息后, 扩展模块将当前流媒 体的播放位置信息返回给应用程序, 以便应用程序显示给用户;
当应用程序将播放 /暂停消息发送给扩展模块后,扩展模块根据接收 到的信息切换当前流媒体的播放状态, 若当前为播放, 则切换为暂停, 若当前为暂停, 则切换为播放。
以上所说的应用程序与扩展模块的交互都涉及与扩展模块实例相关 的参数, 但对于某些扩展模块, 其提供用于设置与扩展模块实例无关的 参数或功能的接口, 可以支持全局设置。 应用软件与这些扩展模块(又 称特定扩展模块)进行消息交互时, 可以使用更为筒便的流程。 具体如 图 3所示。 图 3是本发明实施例二提供的应用程序与扩展模块交互的流 程图, 包括:
步骤 300: 应用程序设置与特定扩展模块交互的设置界面。
特定扩展模块的设置接口可以包括用于获取 /修改全局设置的接口
——获取 /修改全局设置接口 (可以是一个接口, 也可以是两个接口)。 本步骤设置的方法有两种情况:
第一种情况: 如果设置界面由扩展模块提供, 那么, 应用程序只需 要调用扩展模块的全局设置接口, 以显示设置界面即可, 后续操作由扩 展模块自身完成。 具体来说, 扩展模块可以通过 API或其它方式来实现 设置界面。
第二种情况: 如果设置界面由应用程序提供, 那么, 需要扩展模块 提供获取 /修改全局设置接口, 另外, 为了提高扩展模块接口获取到的全 局设置的数据格式, 应用程序应该能够理解这些数据格式, 否则就无法 在界面上显示, 或无法将修改后形成新的设置数据传递给扩展模块接 口。 设置界面中也会包括菜单、 菜单项、 工具条按钮等信息。
步骤 301: 用户通过设置界面, 管理特定扩展模块的全局设置。 本步骤所述的管理可以是查看、 修改等。 查看就是用户通过调出设 置界面来了解特定扩展模块的全局设置信息。 修改就是用户调出的设置 界面, 通过设置界面上提供的界面项修改特定扩展模块的全局设置, 具 体地:
在所述管理为用户查看全局设置时, 应用程序调用扩展模块的获取 全局设置的接口, 得到相关扩展模块的全局设置信息, 并显示在设置界 面中;
在所述管理为用户修改全局设置时, 所述应用程序将调用扩展模块 修改全局设置的接口, 将修改信息传递给特定扩展模块, 特定扩展模块 根据接收到的修改信息进行相应改变。
步骤 302: 如果用户修改全局设置, 则应用程序将修改信息传递给 特定扩展模块。
步骤 303: 特定扩展模块根据接收到的修改信息进行相应改变。 在本发明另一实施例中, 还可以是利用扩展模块的消息接口来完成 对全局参数 /功能的设置。 具体地, 可以定义一个全局设置消息, 当应用 软件调用扩展模块的消息接口, 向扩展模块传递该全局设置消息, 扩展 模块根据该全局设置消息进行全局参数 /功能的设置。
在申请号为 CN200610113805.2 的专利申请中, 应用软件经由文档 库系统调用扩展模块后, 主要是调用扩展模块处理扩展数据, 应用软件 与扩展模块的交互是有限的, 而且还缺乏扩展模块主动向应用软件发请 求的技术方案。 但利用本发明实施例提供的技术方案, 应用软件可以与 扩展模块之间直接进行更多的交互, 而且扩展模块还可以通过逆向消息 接口对应用软件进行一定程度的控制。 这样, 应用软件、 文档库系统、 扩展模块三者之间可以按照本发明所述的技术方案任意两两交互, 而且 这种交互是具有通用性的, 即, 任意应用软件都可以与任意文档库系统 和任意扩展模块进行交互, 任意扩展模块都可以与任意应用软件或任意 文档库系统进行交互, 任意扩展模块都可以与任意应用软件或任意文档 库系统进行交互, 任意文档库系统都可以与任意扩展模块或任意应用软 件进行交互。 这样, 应用软件、 扩展模块、 文档库系统中的研制是可以 互相独立的, 一个厂商可以单独开发其中任意一个, 都能与其它厂商开 发的其它产品配套使用。
本领域技术人员可以理解, 本发明所述的技术方案可以利用计算机 软件来实现, 并且实现本发明技术方案的计算机软件可以存储在各种存 储介质中。
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的 保护范围, 凡在本发明的精神和原则之内所做的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。

Claims

权利要求书
1、 一种实现应用程序与文档库系统的扩展模块交互的方法, 其 特征在于, 该方法包括:
所述应用程序枚举文档当前页面中的扩展数据, 并根据扩展数据的 扩展标识, 查询文档库系统中已注册的扩展模块接口, 找到与该扩展标 识相对应的扩展模块接口;
应用程序或文档库系统以扩展数据为参数, 调用扩展模块接口。
2、 根据权利要求 1 所述的方法, 其特征在于, 所述扩展模块包 括显示窗口接口,
所述方法进一步包括:
所述应用程序调用扩展模块的显示窗口接口, 创建并显示扩展模块 的窗口。
3、 根据权利要求 1所述的方法, 其特征在于, 所述扩展模块进一 步包括关闭窗口接口,
所述方法进一步包括:
所述应用程序调用扩展模块的关闭窗口接口,关闭扩展模块的窗口。
4、根据权利要求 1至 3任一所述的方法, 其特征在于, 所述扩展模 块包括消息接口,
所述方法进一步包括:
所述应用程序调用所述扩展模块的消息接口, 将消息发送给扩展模 块, 扩展模块按照接收到的消息进行操作。
5、 根据权利要求 4所述的方法, 其特征在于, 所述应用软件包 括逆向消息接口,
所述方法进一步包括: 所述应用程序调用扩展模块的消息接口, 将逆向消息接口发送给 扩展模块;
扩展模块调用逆向消息接口, 将消息发送给应用软件, 应用软件按 照接收到的消息进行操作。
6、根据权利要求 1至 3任一所述的方法, 其特征在于, 所述扩展 模块提供参数或功能设置接口;
所述方法进一步包括:
所述应用程序或扩展模块通过扩展模块的参数或功能设置接口设 置与扩展模块交互的设置界面;
应用软件通过设置界面, 管理扩展模块的参数或功能设置。
7、 根据权利要求 6所述的方法, 其特征在于, 所述应用软件通过 设置界面, 管理扩展模块的参数或功能设置包括:
应用程序调用扩展模块的获取全局设置的接口, 得到相关扩展模块 的全局设置信息, 并显示在设置界面中; 和 /或
应用程序将调用扩展模块修改全局设置的接口, 将修改信息传递给 扩展模块, 扩展模块根据接收到的修改信息进行相应改变。
8、 一种实现应用程序与文档库系统的扩展模块交互的系统, 其特 征在于, 该系统至少包括应用程序和文档库系统, 其中,
应用程序, 用于枚举文档当前页面中的扩展数据, 并向文档库系统 发送包含有扩展标识的预定义指令; 以扩展数据为参数, 调用文档库系 统反馈的扩展模块接口, 创建扩展模块实例;
文档库系统, 用于根据接收到的预定义指令中携带的扩展标识, 查 询自身已注册的扩展模块接口, 找到与该扩展标识相对应的扩展模块接 口并返回给应用程序。
PCT/CN2010/070492 2009-02-03 2010-02-03 实现应用程序与文档库系统的扩展模块交互的方法及系统 WO2010088855A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN 200910077902 CN101794217B (zh) 2009-02-03 2009-02-03 实现应用程序与文档库系统的扩展模块交互的方法及系统
CN200910077902.4 2009-02-03

Publications (1)

Publication Number Publication Date
WO2010088855A1 true WO2010088855A1 (zh) 2010-08-12

Family

ID=42541680

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/070492 WO2010088855A1 (zh) 2009-02-03 2010-02-03 实现应用程序与文档库系统的扩展模块交互的方法及系统

Country Status (2)

Country Link
CN (1) CN101794217B (zh)
WO (1) WO2010088855A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102375738B (zh) * 2010-08-25 2016-03-30 中兴通讯股份有限公司 一种移动终端数据管理的装置和方法
CN104793984B (zh) * 2015-03-24 2019-06-04 海尔优家智能科技(北京)有限公司 一种设备的建模方法、装置和云平台
CN106792196B (zh) * 2016-12-26 2020-11-03 深圳Tcl新技术有限公司 电视机主界面显示方法和装置
CN109426530B (zh) * 2017-08-17 2022-04-05 阿里巴巴集团控股有限公司 页面确定方法、装置、服务器和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021860A (zh) * 2006-02-13 2007-08-22 国际商业机器公司 用于调用嵌入在标记文档中的音频超链接的方法和系统
CN101051267A (zh) * 2006-05-26 2007-10-10 华为技术有限公司 一种可扩展文档模型及管理文档模型的方法
CN101165647A (zh) * 2006-10-17 2008-04-23 北京书生国际信息技术有限公司 一种文档库系统和文档库系统功能的扩展方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100614276B1 (ko) * 2004-04-23 2006-08-22 바로비젼(주) 참여방송 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101021860A (zh) * 2006-02-13 2007-08-22 国际商业机器公司 用于调用嵌入在标记文档中的音频超链接的方法和系统
CN101051267A (zh) * 2006-05-26 2007-10-10 华为技术有限公司 一种可扩展文档模型及管理文档模型的方法
CN101165647A (zh) * 2006-10-17 2008-04-23 北京书生国际信息技术有限公司 一种文档库系统和文档库系统功能的扩展方法

Also Published As

Publication number Publication date
CN101794217B (zh) 2013-06-05
CN101794217A (zh) 2010-08-04

Similar Documents

Publication Publication Date Title
JP5284509B2 (ja) ページ分割されたコンテンツを表示し、それと対話するための方法およびシステム
CN101395572B (zh) 适用于分布式内容的辅助显示小配件
US9032026B2 (en) Methods and systems for providing, by a remote machine, access to a desk band associated with a resource executing on a local machine
CN104995596B (zh) 用于在选项卡层级管理音频的方法和系统
CN103927163B (zh) 插件框架处理装置及插件系统
CA2664161C (en) Common component framework
WO2009100156A1 (en) Automatic connections between application components
JP2007095090A (ja) メニュー項目表示方法および装置
US9037757B2 (en) Device action service
JP2010288301A (ja) ポータブルデバイスにおけるマルチメディアレンダリングのためのシステム
US20120102414A1 (en) Distributed controller of a user interface framework for web applications
EP2191387A2 (en) Accessing device-hosted services from scripting and other programming environments
WO2010088855A1 (zh) 实现应用程序与文档库系统的扩展模块交互的方法及系统
US20150180998A1 (en) User terminal apparatus and control method thereof
WO2013139268A1 (zh) 离线应用的生成及调用方法、终端及系统
CN104461555A (zh) 一种Home应用中直接操控各个播放应用的方法
WO2022089102A1 (zh) 一种控制方法、装置及电子设备
US20120192079A1 (en) Methods and systems for operating a remote computer application from a thin client
JP4934904B2 (ja) ロボット連携装置、ロボット連携プログラム記憶媒体、およびロボット連携プログラム
US9747941B2 (en) Method for applying supplementary attribute information to E-book content and mobile device adapted thereto
WO2022001633A1 (zh) 设备控制方法和设备
TW200928857A (en) Portable electronic device for controlling controlled devices
CN103577448A (zh) 扩展模块交互的方法及系统
TW201239754A (en) Generation method and reading program for electronic book with composite image layer and HTML

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10738211

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 12/10/2011)

122 Ep: pct application non-entry in european phase

Ref document number: 10738211

Country of ref document: EP

Kind code of ref document: A1