加载中...
Feng office部署和试用
发表于:2011-05-14 | 分类: 网络应用
字数统计: 5.2k | 阅读时长: 22分钟 | 阅读量:

    遇到feng office并做了一些试用,是一个很不错的系统

功能及特点

这个被很多人亲身体验说好并且不忍舍弃的程序,功能确实不一般,后来越用越感到它的强大,因为不少地方都是可以很灵活地定义的 包括很多功能,都可以模块化关闭,这一点很好 有很多版本翻译,有中文,可在设置里面配置,可配置全局所有用户的,也可单独配置某个用户的;可设置每周开始于、日期格式等,细节都很注意的到;功能很强大 在报表中我建立查看项目情况和查看人员工作内容的报表,很好用 基于工作区域的架构也是一个优点,工作区是多层次的,任意嵌套,极大灵活性;工作区可以是部门、工作小组、项目等等 文档功能也不错,文档还具有版本管理功能,迁出的时候是编辑的时候,迁入是有了新的版本;但我认为理想的是保持资源管理器中的名称和结构,并且认为web文件管理方式没有FTP强大,所以,这个文档功能可以一用,但轻轻用一下罢了   建立用户组,阅读权限 编辑工作空间一个个添加用户并设置权限比较麻烦,定义用户组来实现常规阅读权限,具体某个用户的读写权限时再逐个设置  

我的部署

项目及项目管理权限:

项目对应工作区 超级管理员

  • 给予用户全局阅读权限
  • 给予项目管理者创建权限
  • 编辑具体某个项目,管理权限放给项目负责人

项目负责人 建立一个可允许管理工作空间的用户组

  • 自己可编辑自己管理的项目工作区
  • 自己可创建工作区,注意放到自己管理的项目工作区下面,如果放到别的工作区下面,将继承别的工作区的权限,会导致新建的工作区自己无法使用
  • 过程中创建错误的工作区可以移动到废弃工作区下面,让系统管理员来删除(为保险不开放自行删除)

任务实施者 建立一个常规阅读和评论权限的用户组,具体实施是全部设置为只读权限,然后对评论列表设置为读写权限

  • 在项目的整体工作区查看任务情况
  • 在自己有权上传文件的工作区上传文件

  目前存在的问题是,可允许管理空间的权限过大,能编辑和删除任意工作区,这是不被期望的,新建、编辑、删除权限划分的还不够细 没有现成的解决方案,又舍不得不用feng,就尝试修改代码,并满足了自己的需求 编辑工作区权限放开之后,还要加上一些约束;对于项目的编辑和删除,必须是项目管理员 我查找了代码,做了一些修改 ProjectController.class.php中 function delete() {中 //if(!$project->canDelete(logged_user())) { //this is org 这是最初的 //if(logged_user()!=”admin”) {//one try by wly 尝试只有admin删除 if(! ($project->canDelete(logged_user()) && ProjectTask::canAdd(logged_user(), $project) )) { //这个是后来采用的,首先有权限编辑工作区,然后是具有项目管理的特征,这里抓取了其中项目管理员具有添加任务的特点来做限制。可以用了; 自己创建的当然都具有读写权限了 后来启用联系人功能,默认有删除权限,修改application/views/contact/card.php代码,后来见是用户组权限里面打开管理联系人了,取消了连显示都不显示了,程序权限控制不够  

系统启用的模块

开始没有启用笔记模块,使用中发现有随时记录非文件的笔记的需求,又开启了 后来又见文档里面可以在线建立html格式的文档并在线查看,并且可以编辑很多格式,而”笔记”一项并没有格式的,这样的话,就不用笔记了,但用文档足够了;当然也是有一些区别的,html文档是不能内容搜索的,这是个缺点,而笔记的内容是可以被搜索的,当然不存到数据库里面还节省数据库了 联系人一项,本来想让查看站内所有用户的,但见这个功能和工作区一样,一旦启用允许管理,就都可编辑、删除,类似上面的,编辑feng\application\controllers\ContactController.class.php中添加、编辑、删除的函数 //if(active_project() instanceof Project && !Contact::canAdd(logged_user(),active_project())) { if(!logged_user()->isCompanyAdmin(owner_company())) { //wly //if(!$contact->canEdit(logged_user())) { if(!logged_user()->isCompanyAdmin(owner_company())) { //wly 以及这些函数中 function edit_picture() { function assign_to_project() { 这些都凑效了 但不知道为什么,delete函数中改了也不行,还是照样能删除 //if(!$contact->canDelete(logged_user())) { if(!logged_user()->isCompanyAdmin(owner_company())) { //wly 所以就关闭“联系人”模块算了,反正在工作区概况页面中可以查看到相关的用户的

任务:

目前我计划使用的方式是:分配任务给用户,用户并不让具备编辑权限,不然他可以随便编辑任务的时间等内容了,但他可以查看和评论,利用这一点,当其完成任务之后,先发表一条评论,然后还有项目管理员来验收和确认任务的完成状态。可以用 见网上有人的用法: 拿我公司的bug修改任务来说吧: 测试组测试页面发现bug,发给相应人员,添加订户; 相应人员(比如前端js人员)改完之后,发给下一个人处理(订户中的,比如php程序员); 再传给下一个bug相关人员修改 And next …… 最后都改完,发回测试组的bug发起人检查; 检查ok就关闭任务,不行再发回某人处理…… 补充一下:我也同时在使用热门的redmine系统(一款Ruby on Rails的开源程序),它的任务分配也是针对单个用户的。

文件

文件上传不了太大 增大上传文件大小,在php目录中的php.inc中修改,两项都改很大得了 ; Maximum size of POST data that PHP will accept.;8M post_max_size = 101M ; Maximum allowed size for uploaded files. upload_max_filesize = 128M  

系统的维护

过一段时间要清除数据库中的动态,不然动态太多了

报表的自定义

项目名称字段用什么代替?工作区的话,不知道为什么工作区名称只能在报表最后一项,虽然上移了;用里程碑的话可以,需要在逐项添加任务时候一个个添加,也可以用;用标签可以批量添加,但标签是一个太“泛”的概念了  

迁移

比如从localhost迁移到192.168.0.49让通过局域网访问,比如从这个机器迁移到另外一个机器 迁移方法和直接替换数据库中路径的wordpress和elgg不同,它数据库中几乎没有路径信息,尝试全局替换目录中localhost也不行,后来在feng office官网上找到了方法: Let’s say you have installed your Feng Office in the following directory: http://www.myserver.com/mydirectory/feng/ Now you decide to move this installation to: http://www.myserver.com/another\_directory/ Simply moving all files with your FTP client is the first step, but that’s not enough - you have to go through these two steps as well: Change the path in the file config/config.php accordingly. Delete the file cache/autoloader.php. (It will be recreated automatically with the new path.) Change the permissions of the following folders to 775 (or 777 on some hostings): /cache, /config, /tmp, /upload, /public/files 按 这样操作后还不行,因为在尝试按192.168.0.49路径重新安装过程中遇到连接不到数据库问题(大致意思是连接失败,不允许连接到数据库服 务器),所以猜测也是同样的问题,在phpmyadmin中对feng对应的数据库“权限”一项增加了一个不限主机的访问账号行了!ok 一个迁移到另外几个机器的步骤:

  • 在新机器上安装服务器和数据库
  • 使得新服务器端口和老的一致
  • 数据库访问账号密码和老的一致,老密码为空,在phpmyadmin中“权限”项中修改root的密码,然后删除本地访问不需求密码的项,然后访问被deny #1045 - Access denied for user ‘root‘@’localhost’ (using password: NO) ,在phpmyadmin的config.inc.php中相应修改密码即可
  • 把整个feng目录复制过去
  • 把数据库内容复制过去,或者通过导出重新导入实现
  • 重新运行feng,重新修改配置,删除autoloader,如上操作,然后就连接起来了

界面上的修改

主要修改界面上看到的中文和英文版本的信息

  • 我在使用过程中修改了一些翻译不恰当/错误,比如都有两个“开始时间”,应该翻译为“设置偏好”却翻译成“设置属性”
  • 我去掉了底部一些版权源的字眼,这容易搜索源代码找到
  • 连右上角的帮助链接也去掉了,具体是在language\具体语言\site_interface.php  ‘help’ => ‘Help’
  • 删除标题中Feng Office字样,init.php文件中define(‘PRODUCT_NAME’, ‘Feng Office’);,后来找到具体是这句:<?php echo clean(CompanyWebsite::instance()->getCompany()->getName()) . ' - ' . PRODUCT\_NAME ?>,干脆把define(‘PRODUCT_NAME’, ‘Feng Office’);名称改掉算了,因为还会有其他地方调用
  • 修改了任务开始结束的图标为简单的箭头 http://xx/feng/public/assets/themes/default/images//16x16/task\_end.png
  • 报表部分表格默认没有border,找到view_custom_report.php中一个里面加上了 border=”1”>
  • 修改了源代码改变了权限
  •   任务中可临时增加自定义字段,比如“考核人”,也可在系统设置里面全局定义好;添加的自定义字段在报表中也可添加进来 像考核人,如果能增加用户选择就好了

    遇到的missing lang.js问题

    public/tools很爽,在线翻译掉即可

    目前还存在的问题

    期待版本升级解决 压缩解压缩功能不能用 导出pdf等有问题,编码问题   — 不支持ie6 say.no.to.ie6成员之一  

    feng office加速方法

    2011.08 测试很久了,feng office遭遇速度慢问题很难以忍受,搜索”feng office 慢” “feng office slow” “feng office speed”都有类似反映 根据查询的资料,最后我归纳一下可以采取的方法是:

    • config/config.php中加上缓存

    define(‘USE_JS_CACHE’, true); define(‘COMPRESSED_CSS’, true); define(‘COMPRESSED_JS’, true);

    • /public/tools/中 Minify CSS and Javascript

    • php本身加速,php.ini中配置,内存限制等

    • 安装Php加速器

    • 使概览页内容少一些

      —– 我使用fengoffice1.7搭建了一个内部文件共享平台,测试时一切正常,速度也很快,最近在实际应用时,发现随着使用时间的增加,运行效率非常低下,如:点击某一个工作区,再点击文档,有时候此工作区也就十几个二十几个文档吧,但上边一直显示“加载中….”,有时候居然长达30秒甚至1分钟才能显示出来,安装的服务器同时兼任网关,4G内存,P43.0的处理器,服务器速度一切正常,请问兄弟们帮忙分析一下到底为什么会越用越慢? 跟你的服务器系统设置有关 —- 打印 上一主题 下一主题 如何加快FengOffice显示呀?总感觉有些慢。 [复制链接] —- Feng Office, anyone have experience using it on hostgator? Greetings, I want to use the following script for online collaboration: - http://www.fengoffice.com/web/ I got it successfully installed on my mediatemple grid. However whether a coincidence or not, after adding just a few items… the script became somewhat unusable. It loads extremely slow, times out, and I also get internal server errors. I am looking for a replacement environment but because of how billing at our company works.. I can’t go around testing hosts… I need to find a host we will stick with. What leads me to believe it is the hosting environment is because it works perfectly smooth at: - http://php.opensourcecms.com/scripts...=Feng%20Office The script will only have about 15 people which are staff working on it. Any advice, feedback, or experiences is fully welcome. Even if you can suggest similar free/opensource php-based scripts with similar features but have less load, that would be appreciated as well. Thank you! Last edited by damainman; 11-08-2010 at 03:25 PM. —- Speedup Feng Office Feng Office is cool, but slow. I found out that you can speed up your system by adding the following lines to your config/config.php. define(‘USE_JS_CACHE’, true); define(‘COMPRESSED_CSS’, true); define(‘COMPRESSED_JS’, true); —- 发表于 2011-7-24 11:34:30 只看该作者 倒序浏览 *****如题,哪怕牺牲一点美观效果也可以。 —- es, I can confirm it does speed things up, although it wasn’t as much of an increase for me. Loading the initial overview page went from 35secs to ca. 15secs. That still feels very slow, though. so to summarize these two threads: you need to add define(‘USE_JS_CACHE’, true); define(‘COMPRESSED_CSS’, true); define(‘COMPRESSED_JS’, true); to your config/config.php however using Opengoo on a mobile phone is fundamentally impossible still. When I tried to load the start page today it took about 5 minutes on an HTC TyTn with Opera Mobile 8.x, and then the layout looked garbled. Do you have any plans for a narrow-bandwidth version, or would it make sense to continue hacking some workarounds? — fen, 2010-07-14 00:25 we are working on the OGOO, however we meet so many problems, espacilly about the speed. Does the AJAX slow down the system’s speed? Can somebody help us? Thanks! — APC and Xcache are applications that speed up PHP generally. They are not related to Feng per se, but they could certainly speed up the PHP aspects of Feng. Depending upon how you have Apache/PHP compiled, they can be very easy to install (sometimes as easy as apt-get or yum), but they do need to be installed on the server; they have nothing to do with Feng code… other than having the potential to speed up Feng’s PHP. Optimizing MySQL can be dicey, but it could also be as easy as changing settings in your my.cnf config. Scripts like day32.com/MySQL/ can give suggestions. Mileage can vary. If you have your server hosted at an ISP, they’ll usually accept a ticket for both installing the opcode and for tuning mysql for performance. Someone who is good at tuning mysql can do wonders for performance. APC and Xcache can also be a good kick in the pants for php, but be aware that some php applications do not run well with one or the other. Kind of a trial and error thing, but if they don’t run well, you’ll be able to tell easily. Only an issue if you have other php applications running alongside Feng. 根据此信息搜索到:PHP加速器:APC、eAccelerator、XCache比较 — What are the specs of the server FengOffice is running on? Which OS, PHP & MySQL Version, wich Web Server. And, also the configuration files, memory limit of PHP, the limits of MySQL, is the Fengoffice Database in a InnoDB enviroment or MyISAM, etc. —- I think that we need to speedup js load time (and number of ajax requests), because PHP and MySQL works very quick (less than 1 second), but for view task via URL I need to wait 5-15 seconds when ExtJS loads all objects and render. So, after opening url (http://example.com/index.php?c=task&a=view\_task&id=483) after less than one second I see the template and frame items, but after that I see JS “Loading…” message and this “Loading…” process goes 5-15 seconds. Speeding up of php and mysql didn’t increase process when ExtJS loads and renders interface elements (workspace tree, tags, other). I think better is to modify page load process to display at first current object info (task, note, etc) and after displaying it - do the background load of other interface elements (projects tree, tags, etc). I look at the Jquery UI interfaces and they loads many times quicker, maybe the problem is in ExtJS library - loading it spend the all page load tima? Maybe try to move interface from ExtJS to Jquery UI? —- in this case, set the righjt headers for caching js and images within you webserver (so that they are kept for a few weeks) and combine all the javascript files, simply go to youdomain.tld/public/tools/ and click on combine js and css after this you need to edit your config.php and set the two constants COMPRESSED_CSS and COMPRESSED_JS to true. this dramaticaly reduces the loading time BUT:! it only works with the stantdard theme of feng not with any custom design —– 这一篇分析的比较专业了: Here is chart for opening task page process on demo site: http://wstaw.org/m/2011/07/11/plasma-desktopNT3057.jpg - 2.62 seconds. It is not slow, because demo have not many projects and tasks. And here is chart for opening task in our system: http://wstaw.org/m/2011/07/11/fo1.jpg - 5.48 seconds. System have about 100 projects and 4000 tasks, 100 documents, 200 notes, 10 tags. So, as you see, 1830 ms (milliseconds) spend to generate first page (index.php) and other - for JS and AJAX requests: Total JS: 652 ms Total AJAX: 4267 ms (4 seconds!) Slowest JS: 145 ms - load language translate strings Slowest AJAX: 2239 ms - //?&ajax=true&active_project=23&c=task&a=view_task&id=483&utz=4&current=overview-panel&_dc=1310385308612 (load current task with id from url) Next slowest AJAX: 957ms - load tags with number counts. Task page ajax load process started only after 3.13 seconds after page load started. So, if we start load task at first page load (without ajax), we will render page (to see the task) with the 2.5 seconds instead of 5.48 - more than 2 times speedup. To load CSS we spend 595 ms, to JS - 635 ms, so combining and compressing js and css will increase page load time by 0.2-0.5 second maximum (because after this we must spend time to pase js and css anyway). Tests are done with Chrome browser, so every user can repeat it in his system and detect slowest parts of page rendering process. 根据此信息,可以将首页显示概览页显示内容减少 — /public/tools/中 Minify CSS and Javascript Minifies javascript and CSS to improve Feng Office loading times. After minifying you need to set the COMPRESSED_CSS and COMPRESSED_JS config options in config/config.php. This is more suitable for production environments than development, as you would need to rerun this tool whenever you edit a JS or CSS file, and the minified JS isn’t useful for debugging.

    其他杂烩

    • 通过php.ini中修改上传文件大小已经可以上传上百兆的文件了,但是尝试下载一个八十多兆的文件竟然下载不下来,就决定不上传太大的文件了;那已经上传的大文件还得找回来吧,我就在upload目录里面按文件大小搜索大于八十兆的文件,找到该文件,然后后缀名改过来即可

    -—ref feng office 折腾协同办公、网络办公、项目管理等软件(系统)已经有两三年了,目前用得时间最久的、到目前还没有完全放弃使用的,就是Feng Office。 Feng Office不错,作为一套开源的、免费的在线项目管理系统,对于中小型的项目团队、企业来说,功能已经可能满足需要并且是易于使用和部署的,值得应用。 其他的类似开源项目管理系统也是如此。 不过我个人的体会是,这些软件(系统)多半是为软件开发团队、企业所开发的,或者说它开发的时候所瞄准的目标客户就是搞软件开发的,它的很多功能特性都是为了满足这样的行业、企业的特定需求的。对于产品设计、建筑设计等设计行业客户而言,它们存在很多的不足之处。 比如Feng Office的文档管理模块,其功能对于产品设计、建筑设计行业中小企业而言,是不好用的。以建筑设计为例,建筑设计项目的文档资料主要是图纸和文本文档 以及一些专有特殊文档,其特点是文档资料的种类很多、项目周期内改动不太多、文档数量具有不确定性。这就要求必须要有方便、快捷的文档上传、下载功能,可 以是基于浏览器的批量上传下载,也可以是基于客户端的。 所以我用Feng Office这两年时间,是痛并快乐着,很纠结。不过这种局面在两天前改变了,我在偶然地情况下找到了一款比较合适的软件——多可文档管理系统。 我不是在做广告,这篇博客也不是软文,我是觉得多可文档管理系统确实解决了困扰我多年的问题,才写这篇博客的。 应用Feng Office的经验告诉我,对于项目团队规模很小的中小型企业而言,项目成员间的协作往往并不存在太多的困难,困难在于各种文档资料的合理、高效的管理。解决了文档管理问题,基本就解决了这样的团队在项目进行过程中绝大多数的问题。 多可文档管理系统有几个特点,特别适合中小型项目团队,它是免费下载、安装、使用的,可批量上传下载文档,可在线预览、编辑文档内容并具有版本管理功能。不过它也有限制,就是限于10人使用,文档数量在1万以内,当然,这2个限制对于中小团队并不是什么问题。

    上一篇:
    mysql密码和PhpmyAdmin的管理
    下一篇:
    尝试建email服务器
    本文目录
    本文目录