1 项目

1.1 公共项目如何导出

登录管理员账户,在公共项目管理界面选择项目导出。

1.2 系统改为免登录模式需要变更的表id

需要将下表涉及字段改为"DefaultUnauthenticatedUser"

表名 字段
dv_datasource_info owner,creator
dv_dataset_info owner,creator
dv_chart_instance owner,creator
dv_chartbook_info owner_id,
dv_project_info owner,creator

2 数据源

2.1 Excel数据源Sheet页在数据集的顺序

对于Excel数据源,如果包含多个sheet页,并且上传之后还有可能不断添加sheet页。为了不影响已做好的图表,需要保证加载到Dataviz顺序不会乱掉,建议对sheet页名称前加序号前缀。新增sheet页序号要大于当前所有sheet页。

2.2 对接Druid数据源

从5.2.05版本开始支持Druid数据源,要求Druid版本0.10以上,并且要求配置文件common.runtime.properties 添加配置项 druid.sql.enable=true

2.3 对接Transwarp数据源

对接Transwarp平台的ArgoDB或Inceptor数据源, 需要在Transwarp管理页面下载客户端,客户内包含jdbc驱动。 拿到hivetranswarp.jar,去替换DataViz的dataviz-service/WEB-INF/lib/hive*.jar。

3 数据集

3.1 Gis地图经纬度如何设定

DataViz V5.2版本以后,地图绑定位置信息经纬度不再独立绑定,使用前需要在数据集预先配置好字段类型。参考下图,如果字段记录的是经度,那么选择经度项。

3.2 字段排序

如果建数据集时设置此排序,那么后续建图表默认有此排序规则,如果图表中再次设置排序,以图表自身排序为准。但是过滤控件顺序始终以数据集中的设定为准。

【注意】如果修改数据集字段排序或后期补充过滤条件排序,需重新拖拽过滤条件才会生效。

【说明】下方预览数据并不会被排序,预览数据行数有限,刷新排序意义不大。

4 图表

4.1 数值保留小数位失效

js处理小数位精度不够,这种情况下建议用sql函数处理,编辑字段的公式外层套一层函数。

4.2 折线图起始点在y轴

开启详细属性设置功能,在xAxis内修改或添加boundaryGap 为false。

xAxis:[{

boundaryGap:false, …

}]

4.3 设置柱图圆角

Series内添加如下内容,barBorderRadius数值按序对应 上右下左。

itemStyle: {
    normal: {
        barBorderRadius: [
        10,
        10,
        10,
        10
        ]
    }
},

4.4 同环比的注意点

5.2.08 以前的版本,同环比计算对非时间维度的数据有约束

  1. 不能有 “-” 符号
  2. 不能有 “ ”空格
  3. 不能有纯数值,一行都不可以

4.5 隐藏图表

编号 图表名称
9 极坐标线图
18 数据点折线图
19 数据点阶梯面积图
20 数据点面积图
21 时序图
24 bar_line
26 数据点柱状图
28 纵向箱线图
29 日历图
43 复合饼图
69 散点图(坐标系)
75 地理地图
80 航线图
85 3D节点传输图
87 组合地图
90 明细查询
985 横向象形图
1073 拓扑图
1074 拓扑图
1075 scatter_map_SN
1076 scatter_map_S (散点叠加区块)

4.6 滚动列表调速参数

在列表的详细属性中添加rollingSpeed属性,对应的数值是原始速度的倍数,可以为小数。
修改后列表不会立即重绘,需保存图表并刷新见效果。

option = {
  ...
  others: {
    ...
    rollingSpeed: 10
    ...
  }
}

4.7 饼图、柱图标签按长度折行

饼图标签

          formatter: function(param){
              return param.name +String.fromCharCode("10")
                    + param.value +String.fromCharCode("10")
                    + param.percent;
          },

柱图轴标签

          formatter:function(param){
              function fixedLengthFormatString(str,num){
                  if(str == null || str == undefined) return null;
                  if(!(/^[0-9]*[1-9][0-9]*$/.test(num))) return null;
                  var array = "";
                  var len = str.length;
                  for(var i=0;i<(len/num);i++){
                    if((i+1)*num > len){
                        array = array + str.substring(i*num,len) + String.fromCharCode("10");
                    }else{
                        array = array + str.substring(i*num,(i+1)*num);
                    }
                  }
                  return array;
              }
            return  fixedLengthFormatString(param, 5);//五个字符折行
          },

4.8 如何添加新字体

如果你的字体文件是pingfang.ttf,将改文件复制到 dataviz-web/src/fonts/路径下。
dataviz-web/src/css路径下的style-xxx.css和play_style-xxx.css两个文件中填加如下内容。

@font-face {
  font-family: 'PingFang';
  src: url('../fonts/pingfang.ttf') format('truetype');
}

如果想在图表中使用,可以修改详细属性中对应的fontFamily。

      label: {
        normal: {
          show: true,
          position: "outside",
          formatter: "{b}: {d}%",
          textStyle: {
            color: "rgb(44, 44, 44)",
            fontStyle: "normal",
            fontWeight: "normal",
            fontFamily: "pingfang",
            fontSize: 14
          }
        }
      },

4.9 时间轴的一份配置

主要关注时间轴位置,星号标记

timeline: {
    show: true,
    enable: true,
    bottom: "50%",*
    pTopPercent: 80,*
    widthPercent: 50,*
    heightPercent: 40,*
    label: {
      normal: {
        position: -20,*
        rotate: 90,
        interval: 0,
        textStyle: {
          color: "#000"
        }
      },
      align: "center",
      fontSize: 10,
      height: 40
    },
    lineStyle: {
      color: "rgb(37,155,255)"
    },
    itemStyle: {
      normal: {
        color: "rgb(37,155,255)"
      }
    },
    checkpointStyle: {
      symbol: "emptyCircle",
      color: "rgb(37,155,255)",
      borderColor: "rgb(37,155,255)",
      borderWidth: 1,
      symbolSize: 8
    },
    axisType: "category",
    autoPlay: true,
    rewind: false,
    rewindSort: false,
    orient: "horizontal",
    loop: true,
    symbol: "circle",
    symbolSize: 6,
    playInterval: 2000,
    left: 0,
    pLeftPercent: 0,
    right: "6%",
    top: 0,
    padding: [
      1,
      0,
      0,
      1
    ],
    controlStyle: {
      normal: {
        color: "#000"
      },
      showPrevBtn: false,
      showNextBtn: false
    }
  },

4.10 地图3D模式取消旋转改为平移

viewControl:{
...
rotateSensitivity: 0, //旋转灵敏度
panSensitivity: 1,    //平移灵敏度
panMouseButton: "right", //鼠标右键生效,左键有冲突。
...
}

4.11 列表隔行变色,偶数行背景色配置

V5.3.06以上版本支持此配置

others:{
...
 tableDataBG: "rgba(10,10,10,0.5)",
...
}

4.12 使用列表制作指示同环比正负的上下箭头

concat('环比 ',round([CMI环比]*100,2) ,'%',case([CMI环比]<0,'<span style=color:#8FF86D>&#9660;</span>','<span style=color:#FF2020>&#9650;</span>'))

4.13 地图Logo隐藏

dataviz-web\src\js\chartBuild\dvChartConfig-***.js中showLogo 改为false
window.datavizChartsOption.gis = _.extend(window.datavizOption.gis, {showLogo: false});

4.14 百度样式修改

下方页面底部有百度元素说明

http://lbsyun.baidu.com/wiki/index.php?title=androidsdk/guide/appendix

打开echarts示例, 调整styleJson得到想要的样式

https://echarts.apache.org/examples/zh/editor.html?c=map-polygon

浏览器调试,比如chrome在network请求中获取对应的url,截取styles部分。

如果改百度深色,在如下文件中搜索“dark”,替换对应url的styles部分。

dataviz-web\src\js\chartBuild\lib\echartsGL_ol-echartsGL_ol_compact-olEcharts-webgisChart.js

浏览器清缓存即可生效。

5 图册

5.1 快捷键

撤销:Ctrl + Z

自由块、边框复制粘贴:Ctrl + C、Ctrl + V

自由块、边框多选对齐、拖动:Ctrl +

鼠标左键(多学),对齐通过顶部菜单按键,整理可鼠标拖动。

自由块、边框方向键控制位置、大小:

控制位置:上下左右按键;控制大小:Shift+上下左右按键。

5.2 过滤控件

5.2.1 过滤条件部分选项是灰色

有的参数在图册里是灰色无法选择,但在图集里看是正常的,请问是什么原因造成的?

这是因为多个过滤条件相互过滤的效果。

图册里如果有多个条件,会相互影响。灰色部分是被其他条件过滤为无效了。

5.2.2 过滤条件排序

仅支持字符串类型过滤条件的排序,需要在数据集里对相关字段进行排序设定。

如果建数据集时设置此排序,那么后续建图表默认有此排序规则,如果图表中再次设置排序,以图表自身排序为准。但是过滤控件顺序始终以数据集中的设定为准。

【注意】如果修改数据集字段排序或后期补充过滤条件排序,需重新拖拽过滤条件才会生效。

5.2.3 过滤控件的类型

过滤控件有三种 : 时间、数值、字符串s

数值类型(2018),对应第一个控件。

字符串类型(“2018”),对应第二个控件。

时间类型(“2018-01-01”),对应第三个控件。

5.2.4 url过滤传参隐藏过滤控件

《最佳实践---地址传参过滤》过滤条件显隐控制

地址传参的过滤条件在播放界面是默认显示的, 客户可以修改过滤条件。 如果使用地址传参控制数据权限, 那么该过滤条件就需要隐藏。 此功能仅限于字符类型的过滤条件。使用方法是添加 hidden 属性, 不添加此属性或值为 false 该过滤条件还会显示。 参考如下:

[{"field":{"name":"产品","dataSetId":"9c70e4b0-a53e-44f8-bafbcf7ef4a1ad65","role":"string","type":"STRING"},"type":"routine","values":["合成纤维  
","石化产品"],"allIn":false,"others":0,"hidden":true}]

5.2.4 url传参过滤,作为图册初始联动

V5.3版本支持此功能

["isTemp":true, "id":"图册联动筛选器图表的id", {"field":{"name":"产品","dataSetId":"被联动图表的数据集id","role":"string","type":"STRING"},"type":"routine","values":["合成纤维  
","石化产品"],"allIn":false,"others":0,"hidden":true}]

isTemp:true, 表示这是一个联动条件。
id: 筛选器图表的id, 图表联动时需要替换初始条件,以此为依据被哪个筛选器替换。 dataSetId:被联动图表的数据集id, 如果图册未开启“全局传参过滤”就要指定数据集id,指定哪些图表会被关联;如果开启“全局传参过滤”可以忽略此配置,以联动字段的name匹配所有数据集。

5.3 图册播放,图表放大背景

图表背景规则

放大后背景内容 有背景图 无背景图
保持图表主题 图表背景图 图表背景色
跟随图册主题 图册背景图 图册背景色

5.4 富文本嵌入kpi

富文本资源,通过${kpi图表名称}$ 引入kpi资源,如下图:

5.5 图册页耗内存,浏览器卡死

Q:我们使用dataviz做的主题页面,有7个部分在iframe里引用了dataviz图表。页面显示的时候发现,很消耗内存。在ie下甚至卡死。需要在哪里设置一下调优的办法?

A:一个页面用七个iframe引七次图表的话,相当于同时打开七个页面,大概会加载前端资源100M左右。不建议这么使用,合理使用图册实现图表布局。

5.6 多个自由块、边框难以对齐

这个功能同样适用于边框组件。

在按住Ctrl键的同时,点击鼠标左键,就能够同时选中多个自由块。如下图所示,在已选中的多个自由块外围,出现绿色虚线框,表示当前选中的范围。

目前选中多个自由块的功能包括:

  1. 拖动绿色虚线框,可以同时移动已选中的多个自由块。

多选后,工具栏上多出四个按钮,见上图红框部分。分别用于已选自由块的顶端对齐、底端对齐、左对齐和右对齐。

5.7 左键单击跳转

在5.2.06版本以后,支持在图册中某图表详细属性中添加如下属性,实现这样的配置。

 option ={ 
 leftLinkPage:true,
 ... 
 其他属性
 }

5.8 Pdf无法导出

需要排查几件事

  1. 配置是否正确
    配置文件 dataviz-service/WEB-INF/conf/internalConfig.properties 中

    internal.pdfCookiesSet=[{"name":"JSESSIONID","domain":"localhost","path":"/dataviz-service"}]
    

    a. 关键是检查domain地址要与config.js第一行配置的地址一致。(如果是相对路径,那就取浏览器地址栏应访问的地址)
    b. 其次是name(cookie名称),来自于web容器很少会改动。

  2. pictool是否有执行权限,这在部署文档里有说明。关注执行权限以及字体库。

  3. pictool是否能执行,可以到pictool所在路径去执行,比如

    [root@dataviz webapps]# cd dataviz-service/WEB-INF/conf/export/linux64
    [root@dataviz linux64]# ./pictool
    

    看是否报错,如果报错会提醒缺失哪些包,对应安装即可。

  4. 读写权限
    检查如下路径,对于WEB容器启动时所使用的操作系统用户,应具有写权限

    dataviz-service/WEB-INF/conf/export
    
  5. 检查/etc/hosts 检查是否包含访问dataviz服务ip或域名的映射。

  6. 后台服务能否访问前端地址 如果不能访问,V5.3以后的版本需做如下配置 dataviz-web/common/innerConfig.js

    修改window.export_server为后台可访问的前端地址,例如:
    window.export_server = "http://localhost:8080/dataviz-web";
    

    dataviz-service/WEB-INF/conf/internalConfig.properties

    internal.pdfCookiesSet=[{"name":"JSESSIONID","domain":"{后台可访问的前端页面地址的IP,通常是localhost}","path":"/dataviz-service"}]
    

5.9 网页控件支持传参

V5.3.10以后的版本支持此功能,比如说admin用户登录,那么www.baidu.com/s?wc=[loginName]将被替换为www.baidu.com/s?wc=admin

[id]: 当前用户id
[name]: 当前用户名
[loginName]: 当前用户登录名

5.10 图册跳转设置支持内网、外网两个第三方目标地址

V5.3.07之后的版本支持此功能,dataviz[-web]/common/config.js中配置

window.datavizOption.story.outterAddress = 'DataViz外网地址'

在图册配置HTML跳转地址时用“||”分隔内外网两个地址,“||”前是外网地址,例如:

www.idataviz.com/q.html||10.4.53.123:8080/q.html

6 看板

7 权限

8 运维

8.1 Tomcat环境内存溢出

出现这种问题,一般是客户使用了Tomcat默认内存配置,比如说: tomcat7只有128m,

这时就需要修改配置文件。

Windows下catalina.bat; Linux下Catalina.sh 第一行添加如下语句

JAVA_OPTS="-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"

8.2 Mysql访问权限配置

[root\@master \~]\# mysql -u root
mysql \> use mysql;
mysql \> update user set password=password(' your password ') where user='root';
mysql\> grant all privileges on \*.\* to root\@"%" identified by "your
password";
Query OK, 0 rows affected (0.00 sec)
mysql\> flush privileges;

8.3 使用较低版本 Oracle 支撑库在启动时卡死

在使用较低版本Oracle支撑库时,偶尔会遇见DataViz启动时加载初始化数据卡死的问题,这可能是由于Oracle 数据库JDBC驱动兼容的问题引起,可以尝试更换DataViz中 ojdbc8.jar 为较低版本 Oracle 的 JDBC 驱动看下能否解决。

8.4 用户登录连续失败后锁定

dataviz-service/WEB-INF/conf/internalConfig.properties中添加如下配置,控制用户锁定的方式:

    internal.maxLoginFailures=3    失败3次后锁定用户  
    internal.loginFailCheckMinute=3 累计在3分钟内连续失败的次数  
    internal.loginBanMinute=15    15分钟分钟后解除锁定

8.5 会话超时配置

如下配置,效果是让页面3分钟超时:

    关闭保持会话功能。
        dataviz-web\config.js 关闭 keepalive:false
    调整超时时间
        dataviz-service/WEB-INF/web.xml
    修改如下配置为 3
        <session-config>
            <session-timeout>3</session-timeout>
        </session-config>

8.6 Tomcat8性能优化参考配置项

例如系统内存为4GB,可在Tomcat/bin/catalina.sh中加入如下配置:

JAVA_OPTS="-server 
-Djava.awt.headless=true 
-Xms2048m -Xmx2048m -Xss512k 
-XX:NewSize=128m 
-XX:MaxNewSize=512m 
-XX:PermSize=128M 
-XX:MaxPermSize=256M 
-XX:+UseConcMarkSweepGC
-XX:+AggressiveOpts 
-XX:+UseBiasedLocking 
-XX:+DisableExplicitGC 
-XX:MaxTenuringThreshold=10 
-XX:+UseParNewGC  
-XX:+CMSParallelRemarkEnabled 
-XX:+UseCMSCompactAtFullCollection 
-XX:LargePageSizeInBytes=128m  
-XX:+UseFastAccessorMethods 
-XX:+UseCMSInitiatingOccupancyOnly  
-XX:+CMSIncrementalMode"

Tomcat/conf/server.xml 修改如下配置:

<Connector 
    port="8080" 
    protocol="HTTP/1.1"
    URIEncoding="UTF-8"  
    minSpareThreads="25" 
    maxSpareThreads="75"
    enableLookups="false" 
    disableUploadTimeout="true" 
    connectionTimeout="20000"
    acceptCount="300"  
    maxThreads="300" 
    maxProcessors="1000" 
    minProcessors="5"
    useURIValidationHack="false"
    compression="on" 
    compressionMinSize="2048"
    compressableMimeType="text/html,text/xml,text/JavaScript,text/css,text/plain,application/json"
    redirectPort="8443"
/>

8.7 WebLogic部署,启动报错

需配置在优先加载dataviz服务的jar包。 如果报如下错误:

java.lang.ClassCastException:   
weblogic.xml.jaxp.RegistryDocumentBuilderFactory cannot be cast to javax.xml.parsers.DocumentBuilderFactory

这是因为服务中的jar与weblogic冲突,移除如下jar包即可。

xml-apis-x.x.x.jar
stax-api-x.x.x.jar

8.8 License申请

发邮件给mana@,抄送ma.sh@,说明项目名称、项目编号,目前项目状态,是开发阶段还是上线运行等。

8.9 集群部署

  1. 共享 dataviz-file文件路径,对应internalConfig.properties如下配置

    internal.customLocalFileStoreRoot=/opt/dataviz-file
    

    linux环境可选择NFS

  2. 共享支撑库

  3. 做粘滞会话

  4. 开缓存同步,打开ehcache.xml注释

    dataviz-service/WEB-INF/conf/ehcache.xml
    

8.10 离线rpm下载与安装

以gcc为例,批量下载相关的rpm

yum install gcc --downloadonly --downloaddir=/opt/gcc

再离线服务器,批量安装rpm

rpm -Uvh --force --nodeps *rpm

8.11 Windows下启动Tomcat,console输出日志乱码

解决办法:
1、找到apache-tomcat-7.0.92/conf/logging.properties
2、添加语句:java.util.logging.ConsoleHandler.encoding = GBK

8.12 Chrome浏览器,开启很多Tab之后内存满,然后崩溃

可以开启如下配置:

chrome://flags/#automatic-tab-discarding  
Automatic tab discarding 设置为Enabled

8.13 无法登陆DataViz

现象:

  1. 版本号显示为V5.0.0
  2. 弹出红色提示框,提示获取产品信息失败和系统出错请稍后重试
  3. 登录无反应

参考部署文档排查:

  1. JDK版本要求1.8以上
  2. 前端配置地址:dataviz-web/common/config.js 第一行
  3. 支撑库连接地址是否正确:dataviz-service/WEB-INF/conf/datasource.properties
  4. 检查启动日志,如:apache-tomcat-xxx/logs/catalina.out

8.14 密码加密传输及强度校验

系统默认不开启加密传输,系统已创建用户的情况下需开启加密传输按如下步骤操作:

  1. 管理员登录系统
  2. 修改dataviz-web/src/config.js中的encryptPWD为true
  3. 清浏览器缓存并刷新
  4. 在用户管理页面,依次修改所有用户的密码(可以用原密码),此动作为密码加密。
  5. 退出系统并重新登陆,此时即以加密传输方式登录。

也可以让各用户自己登录操作,步骤类似。

系统默认不开启密码强度校验,按如下步骤操作:

  1. 修改dataviz-web/src/config.js中的validatePWD为true
  2. 清浏览器缓存并刷新
    此校验,在密码创建和修改阶段生效,已创建密码不会校验。

8.15 nginx代理修改访问路径后,cookie path不一致问题处理

server{
    listen  80;
    server_name localhost;

    location /pc/dataviz-report/dataviz-web {
        proxy_pass  http://10.1.1.1:80/dataviz-web/;
    }

    location /pc/dataviz-report/dataviz-service {
        proxy_pass  http://10.1.1.1:80/dataviz-service/;
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-Proto   $scheme;
        proxy_set_header    Host $host;
        proxy_set_header    X-Forward-For   $remote_addr;
        proxy_redirect  http://10.1.1.1:80/dataviz-service/ http://10.1.1.1:80/pc/dataviz-report/dataviz-service/;
        proxy_cookie_path   /dataviz-service    /pc/dataviz-report/dataviz-service/;
    }
}

9 系统设置

9.1 任务调度如何配置

如果邮箱客户端的配置如下图:

那么mail.properties 文件的配置内容如下:

host = mail.sseinfo.com 发件服务器  
from = aiops@sseinfo.com  发件邮箱地址  
userName = aiops@sseinfo.com 发件邮箱地址  
password = your password  邮箱密码
senderShowName = your name for show 显示名称    
useDefault = false  是否使用默认安全协议
security = ssl/tls  安全协议配置
port = 465  发件服务器端口
protocols = SSLv3 TLSv1  安全协议版本

10 在IE11浏览器上无法正常使用

由于浏览器版本bug,IE11版本号为11.0.9600的版本无法正常使用DataViz。

results matching ""

    No results matching ""

    results matching ""

      No results matching ""