Skip to content

baboowang/dataddy

Repository files navigation

ddy数据管理系统说明

  1. 软件背景

介于目前的web数据管理系统,都是各自项目管理各自的数据,每有一个报表需求,开发人员都不得不开发一个新的界面出来, 而且要通知相关人员进行代码上线或者更新。不同的报表需求对于开发人员而言,只是数据源不一样,数据显示方式不同,开发 人员一直是在花费精力重复劳动。并且要花费更多的精力同时维护几个甚至更多的项目。而对于运营或者其他使用数据管理系统 来查看报表的用户而言,可能需要同时跨多个管理系统查看数据,进行数据比对,而且要记录众多复杂混乱的密码。所以不管是 软件的开发者,还是使用者,都需要花费额外的精力和时间。为了改变这种现状,让数据管理变得更简单,更友好,就诞生了ddy 数据管理平台。我们旨在通过配置加上书写尽可能少的代码就能实现一个报表需求。而且便于管理,便于用户查看报表。

2.代码结构说明

项目目录 | application 项目应用代码目录 controllers 控制器层(C)代码 helpers 一些辅助的工具类,包括数组、日期、字符串处理函数,发送请求的封装类,数据库数据处理,客户端数据处理等等 library 项目开发需要封装的一些核心类,或者第三方工具类 models 数据模型类(M)代码 plugins 自行开发或者第三插件,用于管理软件整体的业务逻辑 views 界面显示视图层(V)代码。 conf 项目全局配置文件保存目录 doc 项目相关文件保存地址,比如数据库sql文件,服务器配置,框架配置等等 plugins 也是插件保存目录,不同于application里的plugins的是,这里的插件主要是用于在界面上显示报表过滤条件的相关组件。 public js、css、img、字体等资源文件,项目安装文件,项目入口文件(index.php)的保存目录 script 一些脚本文件的保存目录,比如crontab的定时脚本。 vendor 使用composer安装的d第三方辅助功能软件包 composer.json composer install安装的软件配置文件 composer.lock composerx相关文件 README.md 项目说明文件 2. 软件说明

本项目是常规的B/S模式web项目,需要浏览器作为客户端,服务器需要linux服务器,windows上可能会因为部分功能不能使用而导致报错。项 目开发语言使用的是php,版本要求 >= 5.6 ,后端框架使用yaf框架,版本 >= 2.3.4,需要开启命名空间,php.ini的配置见: doc/yaf.ini.前端框架主要使用AngularJS,Bootstrap,JQuery.画图插件使用Amcharts,以及其他的插件,项目已经包含,可以 自行查阅。

  1. 软件安装

对于初次使用该软件的用户,是需要安装的,安装包含三个步骤:1 系统环境监测-> 2 数据库及管理员 -> 3 软件初始化配置.软件安装主要是 检测软件运行环境是否能达到正常运行的条件、初始化数据库、填写基础配置信息、生成全局配置文件等等。其中"软件初始化配置"这一步,对于 "系统插件"的选择,首先这里的插件大部分都是用来在页面上生成各种选择下拉框的。其中“TestFilter”插件,该插件用于向初次使用该软件的 用户,示范页面过滤插件的开发和使用,不参与业务使用,用户后期可以参照该插件代码(plugins/Test/TestFilter.php),开 发其他插件。“Sso”插件,是用来做单点登录,目前市场主潮流更倾向于公司内部各个软件使用统一入口进行登录验证,如果你们也是,那么这 边需要选择插件,另外配置“单点登陆网址”。“Report”插件,则可以根据用户在页面代码里的配置,生成自定义的下拉菜单,也是为了方便用 户实现各自的业务场景。其他的几个插件则需要数据库的支持,可以先不选择,等后期,有了数据,再修改配置文件(conf/application.ini)的“plugins”配置即可。当然了页面上的过滤组件的生成不仅仅限于这里的介绍,更强大的功能可以参照后面第4章,软件介绍。 如果安装时候遇到异常未能成功安装,或者想重新安装,可以删除“public/install/step.txt”和“conf/application.ini”两个文件,重新安装软件。

4 软件介绍

按照页面提示,用户按照步骤安装完成之后,后台会根据用户输入生成相应的配置文件,并对数据库进行初始化。用户点击“开始使用”,就可以 用之前在页面上填写的“管理员账号”和“管理员密码”进行登录了,如果之前配置了Sso登录,则会跳转至第三方统一登录平台,用平台账号登录 即可。如果是用第三方账号登录的话,则该用户在系统只有账号,并没有对应的权限。所以需要数据库管理员登录至数据库手动将该条用户数据的 “roles”和“is_admin”分别置为1(为其赋予管理员权限)。当管理员登录系统后,会看到“角色管理”,“用户管理”,"DSN管理","Cron管理" ,“插件管理”,"系统配置"。这几个是主要的系统目录,另外还可以看到“开发文档”,这个数据报表管理菜单,是可以在“菜单管理”页面进行 管理的,这里对部分主要的菜单功能进行介绍:

4.1.DSN管理

这个主要是用于管理数据库连接。一个大的数据管理平台和报表软件其管理的数据可能来自于不同的服务器,不同类型的DBMS,不同的库,这时候就 需要有一个灵活的数据库配置来跨服务器,跨库,本软件对此需求做出了努力支持,目前可以灵活配置不同服务器的数据库连接,支持的数据库类型 有目前有Mysql和Postgresql,配置规则支持两种模式,这里给出示范:

模式一:mysql:host=192.168.1.1;port=3306;user=someone;password=somepwd;dbname=somedb
模式二:someone:somepwd@tcp(192.168.1.1:3306)/somedb

模式二书写会比较简单,但是这种默认是Mysql,如果是Postgresql,可以用模式一,只需要将前缀“mysql”修改为“pgsql”即可。可以为每个数 据库连接填写“名称”,如果要使用该连接进行数据库连接,只需要在界面的“DSN”出填写该名称即可,如不填写,则默认是default数据库连接

4.2 菜单管理

该模块主要是用于管理在页面上显示的数据报表,当然不仅仅限于数据报表啦,改软件支持markdown,用于也可以在这个创建其他项目的说明文档或者 是年度总结,也是很炫酷的哦。“markdown”页面的用法,可以参照系统已经生成的“开发文档”菜单,按照markdown的语法书写代码,就可以了,就 不做过多说明。这里主要说明下,数据报表的生成。用户可以菜单管理,进入管理界面。点击“添加”按钮,添加目录和子菜单。也可以使用拖拽功能 修改子菜单的位置。用户可以右键点击目录菜单,做相应的操作。这里对界面的几个输入项做统一介绍:

系统名称:界面上显示的报表的名称
DSN:当前页面数据报表要是用的数据库连接,在“DSN管理”。
用户可见:当前报表,是否会在菜单栏显示,允许用户查看,对于一些Crontab的监控脚本,通常会设置对用户不可见。
URI:当报表是给外部人员使用的时候,可以配置该项,具体介绍见“开发文档”->"报表高级功能"->"外部报表".
Crontab的时间配置:当该报表是用来作为Crontab脚本后台运行的时候,在这里设置时间参数。
配置:配置该报表的一些参数
内容:生成报表的具体代码,可以是一段“PHP代码”或者一个sql语句,或者两者结合

报表的具体生成和一些函数的使用的方法可以仔细阅读“开发文档”。也可以到“报表示例”和“系统监控”查看相关示例代码。

4.3 Cron管理 提供的所有定时运行脚本统一管理入口,用户可以在这里关闭或者开启任何一个定时脚本

4.4 系统配置 这里主要是一些配置变量,比如:macro是数据库宏变量,data_rule是数据计算规则,system配置网站名称的备案域名等等,用户可以按照自己的需求后期加入自己需要的变量。