ProcessMaker学习笔记

2023-11-10

1 配置

- 入口

src/workflow/public_html/app.php

- 安装路径配置:

src/workflow/engine/config/paths_installed.php

- 数据库配置路径:

src/shared/sites/workflow/databases.php 
src/shared/sites/workflow/db.php


- 系统环境变量:

src\workflow\engine\config\env.ini

默认设置: src\workflow\engine\classes\class.system.php
array(
        'debug' => 0,
        'debug_sql' => 0,
        'debug_time' => 0,
        'debug_calendar' => 0,
        'wsdl_cache' => 1,
        'memory_limit' => "256M",
        'time_zone' => 'America/New_York',
        'expiration_year' => '1',
        'memcached' => 0,
        'memcached_server' => '',
        'default_skin' => 'neoclassic',
        'default_lang' => 'en',
        'proxy_host' => '',
        'proxy_port' => '',
        'proxy_user' => '',
        'proxy_pass' => '',
        'size_log_file' => 5000000,
        'number_log_file' => 5,
        'ie_cookie_lifetime' => 1,
        'safari_cookie_lifetime' => 1,
        'error_reporting' => "",
        'display_errors' => 'On',
        'enable_blacklist' => 0,
        'system_utc_time_zone' => 0,
        'server_protocol' => '',
        'leave_case_warning' => 0,
        'server_hostname_requests_frontend' => '',
        'load_headers_ie' => 0,
        'redirect_to_mobile' => 0,
        'disable_php_upload_execution' => 0,
        'disable_download_documents_session_validation' => 0
    );


2 主要目录结构

 目录 说明   
 /shared  公共目录,存放编译模板,缓存,日志,工作区相关文件  
/gulliver PM整合的一套工具箱,含多个助手类  
 /workflow 工作流项目目录  
 /workflow/public_html web访问目录,
- app.php为入口文件,决定访问端点。
- sysGeneric.php, 估计早期项目入口文件,堆叠了初始化/路由/逻辑功能,注意:在1043行调用了目标动作文件。 
 
 /workflow/engine

工作引擎目录,提供后台访问管理,比如:

http://processmaker.local.com/sysworkflow/en/neoclassic/cases/main

实质访问路径:

\src\workflow\engine\methods\cases\main.php

 
 /workflow/engine/methods 含 controllers & actions
参考: http://wiki.processmaker.com/index.php/Gulliver%3A_Programmer%2527s_Reference_Guide
 
/workflow/engine/templates 模板路径  
/workflow/engine/skinEngine/neoclassic 默认模板layout路径 (skin = neoclassic)  
/src/workflow/engine/xmlform 动态form 模板  
/workflow/engine/src/ProcessMaker PM API  
     


3 主要表字典

 
实体  
application, app_cache_view Case  
     
     
     
     
     


4 关于REST

4.1 概要

应用了 Luracast Restler 框架 (http://restler3.luracast.com)

API Services 目录: src\workflow\engine\src\ProcessMaker\Services


4.2 API 路由

经过代码分析, 获知由 src\vendor\luracast\restler\vendor\Luracast\Restler\Restler::addAPIClass() 与 src\vendor\luracast\restler\vendor\Luracast\Restler\Routes::addAPIClass 方法实现,具体原理是:

第一步:Restler获取API服务类路由缓存,如果没有则第二步,获取路由表后生成缓存;

第二步:Routes 扫描服务类方法,分析注释语法,从中获取路由url与方法对应关系,返回结果;

注:API服务类的url定义在该类的Comment节中,如 {URL}/api/1.0/workflow/cases/participated/paged,对应

src\workflow\engine\src\ProcessMaker\Services\Api\Cases.php

/**
     * Get list Cases Participated with paged
     *
     * @param int $start {@from path}
     * @param int $limit {@from path}
     * @param string $sort {@from path}
     * @param string $dir {@from path}
     * @param string $cat_uid {@from path}
     * @param string $pro_uid {@from path}
     * @param string $search {@from path}
     * @return array
     *
     * @author Brayan Pereyra (Cochalo) <brayan@colosa.com>
     * @copyright Colosa - Bolivia
     *
     * @url GET /participated/paged
     */

5 知识点

标题 说明 备注
sql查询日志 src\gulliver\thirdparty\propel\util\BasePeer.php doSelect 方法
     
     
     
     
     
     
     
     
     
     


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ProcessMaker学习笔记 的相关文章

  • CentOS 8 官方正式发布了!

    CentOS 8 官方正式发布了 CentOS 完全遵守 Red Hat 的再发行政策 并且致力与上游产品在功能上完全兼容 CentOS 对组件的修改主要是去除 Red Hat 的商标及美工图 该版本还包含全新的 RHEL upstream
  • 数字序列的最大间隔(harsh)

    题目描述 题目描述 请输出数字序列的最大间隔 请使用以下伪随机数生成函数 rand32 生成伪随机数 int seed int rand return seed seed 214013L 2531011L gt gt 16 0x7fff i
  • 《积累》键盘keycode对照表

    字母和数字键的键码值 keyCode 按键 键码 按键 键码 按键 键码 按键 键码 A 65 J 74 S 83 1 49 B 66 K 75 T 84 2 50 C 67 L 76 U 85 3 51 D 68 M 77 V 86 4
  • Mybatis学习笔记6 模糊查询like

    1 模糊 like 模糊查询的实现有两种方式 一是java代码中给查询数据加上 二是在mapper文件sql语句的条件位置加上 需求 查询姓名有 王 的 1 1 java代码中提供要查询的 王 接口方法 List
  • Linux云计算薪资及发展前景,云计算Linux就业方向及前景分析 2019云计算行业发展现状及前景趋势分析...

    云计算 cloud computing 是一种基于因特网的超级计算模式 在远程的数据中心里 成千上万台电脑和服务器连接成一片电脑云 那么 今天我们就来说说云计算就业形势方向及前景和云计算行业发展现状及前景分析 云计算是未来的趋势 有了云平台

随机推荐

  • 迪杰斯特拉(Dijkstra)算法 Java实现(最短路径)

    基本思想 通过Dijkstra计算图G中的最短路径时 需要指定起点vs 即从顶点vs开始计算 此外 引进两个集合S和U S的作用是记录已求出最短路径的顶点 而U则是记录还未求出最短路径的顶点 以及该顶点到起点vs的距离 初始时 S中只有起点
  • [Wikioi 2808][NOIP 1998普及组]二的幂次方---HBNU的童鞋过来看看

    题目描述 Description 任何一个正整数都可以用2的幂次方表示 例如 137 2 7 2 3 2 0 同时约定次方用括号来表示 即a b可表示为a b 由此可知 137可表示为 2 7 2 3 2 0 进一步 7 2 2 2 2 0
  • python+selenium+Chrome options参数的使用

    Chrome Options常用的行为一般有以下几种 禁止图片和视频的加载 提升网页加载速度 添加代理 用于翻墙访问某些页面 或者应对IP访问频率限制的反爬技术 使用移动头 访问移动端的站点 一般这种站点的反爬技术比较薄弱 添加扩展 像正常
  • java-----基本类型包装类

    public class IntegerDemo public static void main String args Integer i1 new Integer 100 根据 int 创建Integer对象 过时 System out
  • Eclipse配置tomcat服务器

    1 首先下载tomcat 下载地址 http maven apache org 下载好后解压至本地磁盘根目录 我是解压至D盘根目录 2 打开Eclipse 进入Window gt Preferences 3 找到Server gt Runt
  • 教妹学Java(五):Java程序在编译和运行时发生了什么

    大家好 我是沉默王二 本篇文章通过我和三妹的对话来谈一谈 Java程序在编译和运行时发生了什么 没见过这么有趣的标题吧 语不惊人死不休 没错 本篇文章的标题就是这么酷炫 接受不了的同学就别点进来看了 所谓好奇心害死猫 能够接受的同学我只能说
  • exchange服务器保留邮件,Exchange服务器之Exchange备份单个用户邮件及清理邮箱数据...

    大家好 为了能够和有疑问的同行者及时沟通 我建立了一个群 615870353 我会免费更新行业信息 并回复大家提出的各种行业问题 问题 需要在Exchange服务器上导出一个用户的邮箱数据 然后再把这个人的邮箱数据清理了 但是不影响账户 方
  • case when then else end的用法

    主要分为两种 简单case函数和搜索case函数 简单case函数 case column when A then a when B then b else 0 end 搜索case函数 case when column A then a
  • 【千律】C++基础:类的构造函数和初始化

    include
  • EISeg——应用于语义分割的自动标注软件

    1 基本介绍 EISeg Efficient Interactive Segmentation 是以RITM及EdgeFlow算法为基础 基于飞桨开发的一个高效智能的交互式分割标注软件 涵盖了通用 人像 遥感 医疗等不同方向的高质量交互式分
  • VS Code配置matlab

    前言 matlab很好地集成了大量数学处理函数 甚至封装了包括信号处理 图像处理 神经网络等在内的方法 但matlab启动慢 没有代码补全 开发环境不友善等缺点常受人诟病 算法编写者往往需要进行大量重复动作 而VS Code是微软推出的一款
  • 独角兽趋势一次一单,这款策略简直让人惊艳,做单准确率高的让人难以置信

    EA类型 趋势独角兽EA 独角兽趋势一次一单可以分为一下几种 长线 中长线 突破型EA 趋势类EA基本都会有止盈止损 而且止盈必须大过止损 这样盈利空间才会大 而且仓位控制要小 单量不能过大 要控制盈亏比 与回撤风险 趋势交易会有很多人会把
  • 前端学习之原生JS实现siblings方法!

    html ul li 1 li li 1 li li 1 li li 1 li li 1 li li 1 li li 1 li li 1 li li 1 li li 1 li li 1 li li 1 li js var oli docum
  • Java并发总结之Java内存模型

    本文主要参考 深入理解Java虚拟机 和 Java并发编程的艺术 对Java内存模型进行简单总结 一 CPU和缓存一致性 1 CPU高速缓存 为了解决CPU处理速度和内存处理速度不对等的问题 就是在CPU和内存之间增加高速缓存 当程序在运行
  • 数据结构-满m叉树中编号为i的结点的双亲结点(若存在)的编号是多少

  • 均匀辐照度和局部遮光条件下光伏系统的新型样条-MPPT技术(Simulink)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Simulink仿真 Matlab代码 文献 1 概述 文献 光伏 PV
  • IHttpHandler和IHttpModule

    一 概述 NET Framework提供了一系列的接口和类 允许对Http请求进行自定义编程 而实现这一操作的主要接口 就是IHttpHandler和IHttpModule 所有的Http请求通过HttpHandler处理中心来处理的 用户
  • unity下载和安装

    unity下载和安装 1 下载unity安装包 unity官网下载 2 选择你需要的版本 这里我选择windows Unity Editor 64 bit版本 3 安装 4 安装完后 第一次启动Unity时弹窗 选择Install 5 然后
  • Docker基础命令(快速入门)

    这是一个关于docker的快速入门教程 仅包含了docker操作的基础命令 一 docker服务相关 docker 服务管理使用的是systemctl命令 Linux下的服务都可以按照以下方式进行管理 查看docker服务是否启动 syst
  • ProcessMaker学习笔记

    1 配置 入口 src workflow public html app php 安装路径配置 src workflow engine config paths installed php 数据库配置路径 src shared sites