说明

onlyoffice提供文档构建服务(document server),通过文档构建服务可以对文档进行二次修改,也可以动态创建文档,文档构建服务支持,文档构建服务支持以下编程语言进行构建

  • .NET
  • node.js
  • php
  • ruby

并且在onlyoffice的插件开发中,也可以使用node.js的api,这个在插件篇也会提到

安装

document server需要单独安装,可以从这里下载最新的安装包,目前支持以下平台

Read the rest of this entry

说明

onlyoffice提供文档转换服务,基本涵盖了几乎所有常见文档之间的转换,可以看下word文档能转换成的文档格式就知道其强大

实现

转换接口

文档转换是通过接口来完成的,接口地址是https://documentserver/ConvertService.ashx,documentserver是documentserver的地址。这里列举几个常见的转换例子

文件保存流程

onlyoffice对文件保存处理流程如下

  • 用户在文档编辑器中对文档进行编辑
  • 文档编辑器将变化发送到document server(文档服务器)
  • 当用户关闭文档编辑器document server会回调用户配置的callbackurl进行通知
  • 回调程序下载最新的文档保存到文档服务器中

实现

代码

首先,和上一篇一样,本地创建html文件

Read the rest of this entry

文件打开流程

要在浏览器打开一个office文件,需要经过以下步骤

  • 指定文件下载路径和文件类型(word,ppt,excel)并通过JavascriptApi调用document server相关接口
  • document server会在后台将文件下载好并将文件转换为 Office Open XML格式,这是一种基于XML的通用文档格式
  • document server会将文档转换为前端可展示的形式(canvas)
  • 前端文档编辑器显示文档内容

实践

这里我们准备了一个样例文档并放到线上,这个样例文档也是onlyoffice官方使用的样例word文档。

创建页面

本地创建一个html页面,代码如下

Read the rest of this entry

编译环境

官方推荐的编译环境是Ubuntu 14.04,建议使用官方推荐的版本,避免编译过程中出现未知错误

64-bit Ubuntu 14.04

编译

apt-get install -y python git
git clone https://github.com/ONLYOFFICE/build_tools.git
apt-get install libgnutls-dev
nohup ./automate.py server >log.out 2>&1 &
如果顺利的话,大概需要8个小时以上能完成编译

说明

onlyoffice有三个版本

  • 社区版(基于AGPL v.3协议)
  • 企业版
  • 开发版

其中企业版和开发版都需要购买商业授权,本次以安装社区版为例

安装

onlyoffice支持docker安装和主机安装,docker安装比较简单,参考官方文档即可,这里就不再介绍,本次介绍的是在主机上安装onlyoffice

Read the rest of this entry

系统登录

系统登录地址为http://10.10.10.10,系统暂不支持IE11以下浏览器,推荐使用chrome浏览器进行登录

登录系统后可以点击头像,选择退出登录进行退出

Read the rest of this entry

Adapter开发

OGG官方提供了一些中间件的Adapter,比如Kafka,但并未提供RabbitMQ的Adapter因此需要自行开发

下载开发包

在目标端的$OGG_HOME/ggjava/resources/lib目录下包含adapter开发所需的依赖,将其下载到本地,添加到项目依赖中,如果是Intellij idea,可以右键项目选择Module Setting添加本地依赖

这里是添加所有的依赖,实际上如果只是进行简单的开发,只需添加ggdbutil-19.1.0.0.5.007.jar即可,可以执行以下maven命令将该jar包安装到本地仓库

Read the rest of this entry

目标端安装

这次我们集成的目标端是RabbitMQ,Oracle官方并未提供标准的OGG插件进行集成,因此我们需要自行开发插件,在OGG中插件称之为Adapter翻译过来就是适配器

下载介质

登录edelivery搜索Oracle GoldenGate for Big Data,下载Oracle GoldenGate for Big Data 19.1.0.0.0 ( Oracle GoldenGate for Big Data )版本

edelivery可以下载oracle所有产品,建议通过edelivery进行下载,oracle官网只提供较较新版本的下载,如果需要制定版本的安装介质,还是要到edelivery上找

Read the rest of this entry

OGG配置

创建wallet

OGG中很多操作需要在登录Oracle数据库的前提下才能完成,登录账号就是之前创建的ogg用户,在12c之前登录数据库必须在命令行中指定用户名密码,这样很不安全,因为从12c开始,ogg可以通过创建登录凭证,以凭证的方式登录,密码被加密到凭证中,该方式在ogg中称之为alias

➜ cd $OGG_HOME
➜ ./ggsci
GGSCI (db-server) 1> CREATE WALLET
Created wallet.
Opened wallet.
GGSCI (db-server) 2> ADD CREDENTIALSTORE
Credential store created.
GGSCI (db-server) 3> ALTER CREDENTIALSTORE ADD USER ogg@ORCL ALIAS ORCL
Password: 
Credential store altered.
# 登录测试
GGSCI (SRSlinuxtest) 5> dblogin useridalias ORCL
Successfully logged into database.
GGSCI (SRSlinuxtest as ogg@ORCL) 6>

创建Extract参数

ogg中每个进程的启动都需要指定参数,参数名称和进程名称必须保持一致,参数本质上是一个以.prm结尾都文件,存储在dirprm文件夹中,所以你可以不通过ggsci,直接在dirprm文件夹中进行创建和编辑参数文件

Read the rest of this entry