1 Star 0 Fork 3.5K

leehao2010 / O2OA

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-3-Clause

O2OA

简介

O2OA 是一套现代企业级的办公平台。她有以下特点:

1. 核心代码开源

2. 全功能免费

3. 私有化部署,下载软件后可以安装在自己的服务器上

4. 随时随地办公,平台支持兼容HTML5的浏览器,并且开发了源生的IOS/Android应用

5. 高可扩展性,用户通过简单的学习后,可以自定义配置门户、流程应用、内容管理应用

更多的产品介绍、使用说明、下载、在线体验、API及讨论请移步至http://o2oa.io/

o2oa

安装

建议您在http://o2oa.io/中下载最新版本的O2 Server进行安装使用
如果您要使用github的程序自行打包,可以fork 本仓库。   fork 操作完成后,会在您的 github 账户下创建一个 o2oa 的副本。接下来可以克隆到本地。  

cd {YOUR_WORKING_DIRECTORY}
git clone https://github.com/{YOUR_GITHUB_USERNAME}/o2oa.git  

扩展开发

在开发前,请先了解mootools, 我们基于 mootoolshttps://mootools.net/ 架构创建了产品的js类库。

目录

  前台程序位于github的x_desktop_web目录。  

目录说明

x_desktop                                //桌面资源、平台基础资源和通用工具类
    config                                //系统配置目录
    css                                
    framework                            //系统用到的开源框架
        ace                                //脚本编辑器框架
        d3                                //图表框架
        echarts                            //考勤用到的图表框架
        htmleditor                        //富文本编辑器
        kityminder                        //脑图
        mootools                        //模块化、面对对象的JS Web应用框架
        raphael                            //矢量图形框架,在流程图配置中用到
    js                                
    mwf4                                //通用资源和工具
        package
            lp                            //系统桌面语言包
            widget                        //通用工具类
            xAction                        //登录页和桌面用到的后台交互类
            xDesktop                    //系统桌面工具类
            xScript                        //流程引擎和内容管理自定义脚本的运行环境
        MWF.js                            //底层方法JS库,对mootools的补充
    preview                                //预览界面模拟json
    common.js                            //底层方法、通用方法、框架引用JS库
    index.html                            //首页HTML
    app.html                            //在新窗口打开应用时的HTML
    forum.html                            //在新窗口打开论坛的HTML
    cmsdocMobile.html                    //手机端打开内容管理文档页面的HTML
    {NAME}.html                            //其他在新窗口打开的HTML
x_component_Attendance                    //考勤应用
x_component_Chat                        //在线交流应用
x_component_cms_Column                    //CMS(内容管理)栏目的列式、增删配置
x_component_cms_ColumnManager            //CMS栏目管理设置(分类、表单、脚本、数据字典的列式、增删)
x_component_cms_Document                //CMS文档
x_component_cms_FormDesigner            //CMS表单设计
x_component_cms_Index                    //CMS首页
x_component_cms_Module                    //CMS栏目页面
x_component_cms_QueryViewDesigner        //CMS查询视图设计(嵌入在文档中)
x_component_cms_ScriptDesigner            //CMS脚本设计
x_component_cms_ViewDesigner            //CMS列式视图设计
x_component_cms_Xform                    //CMS文档中表单的实现
x_component_Execution                    //OKR应用
x_component_ExeManager                    //OKR文档的管理界面
x_component_File                        //云文件
x_component_Forum                        //论坛首页
x_component_ForumCategory                //论坛分类页面
x_component_ForumDocument                //论坛帖子页面
x_component_ForumPerson                    //论坛个人中心
x_component_ForumSearch                    //论坛搜索结果页面
x_component_ForumSection                //论坛版块界面
x_component_HotArticle                    //热点图片管理界面
x_component_Meeting                        //会议室管理
x_component_Note                        //桌面记事本插件
x_component_OnlineMeeting                //在线会议应用
x_component_OnlineMeetingRoom            //在线会议室
x_component_Organization                //人员、部门、组织管理以及选择
x_component_portal_PageDesigner            //门户页面设计
x_component_portal_Portal                //门户展现
x_component_portal_portalExplorer
x_component_portal_PortalManager        //门户管理设置(页面、脚本的列式、增删)
x_component_portal_ScriptDesigner        //门户脚本设计
x_component_portal_XPage                //门户页面实现
x_component_process_Application            //流程应用
x_component_process_ApplicationExplorer    
x_component_process_DictionaryDesigner    //流程数据字典
x_component_process_FormDesigner        //流程表单设计
x_component_process_ProcessDesigner        //流程图设计
x_component_process_ProcessManager        //流程管理设置(流程图、表单、脚本、数据字典的列式、增删)
x_component_process_ScriptDesigner        //流程脚本设计
x_component_process_StatDesigner        //流程统计、流程监控设计
x_component_process_TaskCenter            //办公中心,普通用户发起流程和查看待办
x_component_process_ViewDesigner        //流程查询视图设计
x_component_process_Work                //流程任务的展现
x_component_process_Xfrom                //流程表单的实现
x_component_Profile                        //用户个人设置界面
x_component_Template                    //列式、弹出页接口类

规范:

*  每个应用都是以 x_component_{APPLICATION_NAME}方式来命名,如x_component_Attendance表示考勤的目录
*  应用中至少包括下列文件及目录:

x_component_{APPLICATION_NAME}  //x_component_HelloWorld
    Main.js                 //应用主程序  
    $Main                   //主程序用到的资源包  
        appicon.png         //应用图标,在桌面上显示,尺寸为72*72
        default             //样式包,可以创建其他名称的样式包,并在options传入到Main.js以改变页面风格  
          css.wcss          //样式文件,以json格式编写
          icon.png          //打开应用时,桌面标签页的图标,图片尺寸为24*24
    lp                      //语言包,目前支持中文  
        zh-cn.js        
    Actions                  //如果没有后台交互,您可以忽略此目录           
        action.json         //后台服务的url和方法,本系统使用JAX-RS 方式的 RESTful Web Service
        RestAction.js       //应用程序中直接使用此类的方法进行后台交互

创建Hello World

本样例中,我们创建一个名为HelloWorld的应用,在应用窗口中显示“您好,这是我的第一个O2应用!”。

创建目录:

在x_desktop_web目录下创建x_component_HelloWorld目录,并按照规范第2点创建目录和文件。

编写css.wcss:

打开$Main\default\css.wcss输入json格式的样式文本。

{
    "contentStyle" : {
        "font-size" : "14px"
        "line-height" : "20px",
        "margin" : "20px",
        "padding" : "10px"
    }
}

编写lp\zh-cn.js:

MWF.xApplication.HelloWorld.LP = {
    "title": "HelloWorld",
    "contentText": "您好,这是我的第一个O2应用!"
};

编写Main.js:


//所有的应用类都扩展在MWF.xApplication对象下
//应用名称HelloWorld要和目录x_component_HelloWorld最后一段一致
//在执行时,平台会自动创建MWF.xApplication.HelloWorld类和MWF.xApplication.HelloWorld.options

MWF.xApplication.HelloWorld.options.multitask = true; //multitask表示应用可以在一个浏览器窗口重复打开
MWF.xApplication.HelloWorld.Main = new Class({          //应用入口类
    Extends: MWF.xApplication.Common.Main,              //MWF.xApplication.Common.Main类提供了平台桌面窗口创建和其他基本功能,比如展现、最大化、最小化等
    Implements: [Options, Events],                      //使用mootools的Options和Events类,请参考mootools的文档

    options: {                                          //应用选项
        "style": "default",                              //样式,和 目录$Main/default对应。应用初始化的时候会自动加载$Main/default/css.wcss文件,可以在this.css中使用定义的样式      
        "name": "HelloWorld",
        "icon": "icon.png",                              //打开应用时,桌面标签页的图标
        "width": "400",                                  //应用窗口宽度
        "height": "500",                              //应用窗口高度
        "isResize": false,                              //应用窗口是否允许拖动改变大小
        "isMax": false,                                  //应用窗口是否允许最大化
        "title": MWF.xApplication.HelloWorld.LP.title      //应用窗口标题,MWF.xApplication.HelloWorld.LP在 lp/zh-cn.js中定义
    },
    onQueryLoad: function(){                            //在应用加载前执行的程序
        this.lp = MWF.xApplication.HelloWorld.LP;        //设置应用的语言包
    },
    loadApplication: function(callback){
        //this.restActions = new MWF.xApplication.HelloWorld.Actions.RestActions();  //后台交互对象。和Actions/RestAction.js对应,如果没有后台交互可以忽略此代码
        var div = new Element("div", {                    //创建一个div
            styles : this.css.contentStyle,                    //样式为content。应用初始化的时候会自动加载$Main/default/css.wcss文件,可以在this.css中使用定义的样式
            text : this.lp.contentText                    //文本内容是zh-cn.js里定义的contentText
        }).inject( this.content )                        //插入到窗口内容中。this.content是应用窗口的内容DOM容器,您创建的DOM对象都是this.content的子对象
    }
});

部署应用

1. 在web端进入系统
2. 点击左上角的图标打开应用菜单,切换到“组件”界面。
3. 打开“部署管理”,在打开的界面最下方找到“部署组件”并点击。
4. 部署组件界面中,“组件名称”、“组件标题”、“组件路径”都填写"HelloWorld",然后点击“部署组件”,部署完成。
5. 已部署的应用可以在“组件”界面找到,您可以拖动到桌面创建快捷方式。

BSD 3-Clause License Copyright (c) 2017, o2oa All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

简介 O2OA 是一套现代企业级的办公平台 展开 收起
BSD-3-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/leehao_593/O2OA.git
git@gitee.com:leehao_593/O2OA.git
leehao_593
O2OA
O2OA
master

搜索帮助