一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Programming Language

CCFlow之耦合(一)

安装CCFlow就不说了,照着安装文件做,基本上没有大的问题:http://bbs.ccflow.org/showtopic-54.aspx 好不容易配置好了,开始耦合吧 按照Documents目录下的  驰骋工作流引擎-流程设计器操作手册.docx  文件中的 2.6 您的系统与ccFlow组织结构表耦合(集成) 的说明,意思是删除CCFlow中的Port_Station,Port_Dept,Port_Emp,Port_EmpStation,Port_EmpDept这五张表,再建立相对应的同样名字的五个视图就可以了 意思说得很明白了吧 可是知易行难呀 Port_Station(岗位表),这个我们系统里没有,怎么办呢?在CCFlow里的表生成Create脚本,修改一下  use 数据库名   改成我们自己的系统数据库 Port_Dept(部门表),这个问题来了,我们并没有使用CCFlow的那种部门编码方式,没办法改造我们的系统吧,加个部门编码字段:OrgBianHao,修改相关代码,让系统新加的部门可以生成编码。 Port_Emp(人员表),需要(No编号,Name名称, Pass密码, FK_Dept所在部门编号, SID登陆安全ID),这个因为我们用的是部门表的ID,而不是编码,所以要新加一个字段OrgBianHao来存储相关的部门编码,我们的密码是加密的,所以~~,加个字段存储明文密码,SID也没有,这个也加上。这里我用的是,No用的是用户名,Name用的是真实姓名. Port_EmpStation 这个我们系统没有,照建一个就是了 Port_EmpDept  这个简单,从我们的人员表取用户ID和部门编号两个字段放进去就好了 这其中发生了两次ccflow耦合问题:无法更改 'XXX',因为它不是表。的问题 一次是:ccflow耦合问题:无法更改 'Port_Emp',因为它不是表。 这个问题在帖子中解决了,是因为少个字段。 再一次是在点 设置  的时候又报:   无法更改 'Port_EmpDept',因为它不是表。 后来经朋哥指点,原来是因为FK_Emp是整形的问题,把这个字段转换成字符串型的,OK,进去是没问题了。 要完全看起来像是一个系统,这样还不行,得继续改,研究去了,完了再和大家分享。 http://www.cnblogs.com/muyou/archive/2012/08/23/2652525.html

龙生   12 Apr 2013
View Details

ccflow数据库结构说明(三)

3, ccflow 流程运行数据表. 【WF_GenerFH : 分合流信息注册表,对于是分合流的流程才有效,发起一条分合流,就多一条数据在此。】 [FID]主键,表ID ,[Title] 标题 ,[GroupKey] 分组主键 ,[FK_Flow] 流程编号, 外键:对应物理表:WF_Flow,表描述:流程编号(流程表中的流程编号) ,[ToEmpsMsg] 接受人员 ,[FK_Node] 停留节点 ,[WFState]状态 ,[RDT] 记录日期 【WF_GenerWorkFlow : 流程注册表(启动一个流程后,就产生一条数据,放在WF_GenerWorkFlow)】 [WorkID]主键,表ID      ,[FID] 流程ID      ,[FK_FlowSort] 流程类别      ,[FK_Flow] 流程编号, 外键:对应物理表:WF_Flow,表描述:流程编号(流程表中的流程编号)      ,[FlowName] 流程名称      ,[Title] 标题(如:总经理室-zhoupeng,周朋在2012-04-19 00:38发起.)      ,[WFState] 流程状态      ,[Rec] 发起人      ,[RecName] 发起人名称      ,[RDT] 记录日期 ,[FK_Node] 节点, 主外键:对应物理表:WF_Node,表描述:节点      ,[NodeName] 节点名称  ,[FK_Dept] 部门, 主外键:对应物理表:Port_Dept,表描述:部门  ,[DeptName] 部门名称 【WF_GenerWorkerlist : 节点工作人员表.( 发送一个步骤后,就把接受的工作人员放入WF_GenerWorkerlist,流程运行完成后此记录就被删除了) 】 [WorkID]主键,表ID ,[FK_Emp] 人员编号, 主外键:对应物理表:Port_Emp,表描述:用户      ,[FK_EmpText]名称 ,[FK_Node] […]

龙生   12 Apr 2013
View Details

ccflow数据库结构说明(二)

2, ccflow流程规则描述表.  用来存储流程配置的基础信息。 以 WF_ 开头.   列举如下:    【WF_FlowSort : 流程类别表.】    【No】关键字  类型编号    【Name】类型名称 【IDX】顺序 数据类型:    【WF_Flow : 流程表.】       [No]关键字  流程编号      ,[FK_FlowSort]流程类别, 外键:对应物理表:WF_FlowSort,表描述:流程类别(流程类别表中的类型编号)      ,[Name] 流程名称      ,[IsOK]是否起用      ,[FlowRunWay]运行方式,枚举类型:0 手工启动;1 指定人员按时启动;2 数据集按时启动;3 触发式启动;      ,[RunObj]运行内容      ,[IsCanStart]可以独立启动否?(独立启动的流程可以显示在发起流程列表里)      ,[Note]备注      ,[StartListUrl]导航Url      ,[AppType]流程应用类型(正常、工程类等)      ,[DocType]公文类型(对公文有效),枚举类型:0 正式公文;1 便函;      ,[XWType]行文类型(对公文有效),枚举类型:0 上行文;1 平行文;2 下行文;      ,[FlowType]流程类型      ,[FlowSheetType]表单类型      ,[RunSQL]流程结束执行后执行的SQL      ,[NumOfBill]是否有单据      ,[NumOfDtl]是否有关联表   […]

龙生   12 Apr 2013
View Details

ccflow数据库结构说明(一)

整理人:路华金 前言: ccflow 有自动修复数据表功能,所以表的字段的变化不需要用户干预由ccflow自动完成。所以如果你看到sql的错误,在执行一般就可以解决,如果解决不了,就执行一次数据库修复工具。 ccflow 有自动增加字段备注功能,所以每个字段的中文名称都已经增加了数据表的字段的备注属性上了,请注意对照,以方便您阅读ccflow。 了解ccflow 的表结构是您二次开发的基础,所以ccflow的高级用户需要熟悉每个表,掌握必要的表结构. 但是没有必要全部掌握。 ccflow 表命名规则是 前缀+"_"+表名.  大多以英文缩写或者,拼音大写组成. 比如: Port_Emp 人员表.、WF_Flow 流程表。 一个流程就有一个流程ID,叫OID。 数据表 ccflow 表分为框架表、流程规则描述表、流程数据运行表、公共表4大类: 1.框架表:    通常以Sys_ 与 Port_ 开头. 也可以称为ccflow系统表. 它是存储系统运行的基础信息. 没有必要多了解它们. 列举如下: Port_Emp: 操作员表. Port_Station: 岗位表 Port_Dept: 部门表 Port_EmpStation: 人员岗位表. Port_EmpDept: 人员部门对应表. Port_Unit: 集团公司表,对于集团类的用户有效. 【WF_Node】节点名称修改表(节点名称修改后保存的物理表) [NO]节点编号 [NAME] 节点名称 【Sys_MapData:】映射主表——新建流程或节点表、表单表、从表信息(只要要新建一张表的,都会在此出现),会在此表插入一条记录 [No]主键,值=相应物理表的表名 [Name] 描述(如节点就节点名称,流程就流程名称) [EnPK] 实体主键 [SearchKeys] 查询键 [PTable] 物理表(值=相应物理表的表名) [Dtls] 明细表(从表) [DBURL] [Tag] [FrmType] 表单类型 [FK_FrmSort] 表单类别 [AttrsInTable] 在表格中显示的列 [AppType] 应用类型 [Designer] 设计者 [DesignerUnit] 单位 [DesignerContact] 联系方式 [FK_Flow] 流程表单属性:FK_Flow [FormType] 流程表单属性:表单类型,枚举类型:0 傻瓜表单;1 自由表单;2 自定义表单;3 SDK表单;9 禁用(对多表单流程有效); [URL] 流程表单属性:Url [FrmW] 表单宽度 […]

龙生   12 Apr 2013
View Details

解决Warning: Cannot modify header information – headers alread

方法一:在PHP里Cookie的使用是有一些限制的。1、使用setcookie必须在<html>标签之前2、使用setcookie之前,不可以使用echo输入内容3、直到网页被加载完后,cookie才会出现4、setcookie必须放到任何资料输出浏览器前,才送出…..由于上面的限制,在使用setcookie()函数时,学会遇到 "Undefined index"、"Cannot modify header information – headers already sent by"…等问题,解决办法是在输出内容之前,产生cookie,可以在程序的最上方加入函数 ob_start();ob_start :打开输出缓冲区函数格式:void ob_start(void)说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。方法二:解 决Warning: Cannot modify header information – headers already sent by …… 前几天装了个php的大头贴系统测试,发现报错Warning: Cannot modify header information – headers already sent by ……今天又装openads,还是出现这个问题。怒了。上网找了半天,有人说要在文件开头写上ob_start();失败。后来打开 php.ini 然后把 output_buffering 设为 on 。重起appache,OK。看来这才是解决办法。特别注意:(我就是看了这个才解决问题的)如果使用utf-8编码,一定要去掉UTF-8中的BOM,这都是因为utf-8编码文件含有的bom原因,而php4,5都是不支持bom的。去掉bom,可以用Notepad++打开转换一下。(我就是看了这个才解决问题的)用PHP的ob_start(); 控制您的浏览器cache 。 http://www.wangzhanxiugai.com/article-46.html

龙生   11 Apr 2013
View Details

IIS配置PHP5.3配置完成后—FastCGI Error14001 (0x800736b1)___解决方法

IIS配置PHP5.3配置完成后—FastCGI Error14001 (0x800736b1)___解决方法2010-12-23 0:41 服务器环境:   PHP版本:php-5.3.0-Win32-VC9-x86.zip   WIN2003 IIS6 按照前一篇的教程[IIS上安装PHP5.3的方法(教程) ]安装PHP 5.3 安装好后还是提示如下错误: FastCGI ErrorThe FastCGI Handler was unable to process the request. ——————————————————————————-- Error Details: Error Number: 14001 (0x800736b1). Error Description: 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。 HTTP Error 500 – Server Error.Internet Information Services (IIS) 发生此错误的关键原因在于没有安装VC9运行库 即VISUAL C++ 2008 Microsoft Visual C++ 2008 Redistributable Package (x86)下载地址: http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=zh-cn 安装后即能正常使用了. 相关日志JTBC(php版):FLASH幻灯片完美调用方法如何阻止putty变成inactiveJTBC(php版):折腾了我三天的问题终于解决了,一个字“爽”!JTBC(php版):错误Deprecated: Function split() is deprecated in解决方法PHP:错误 Deprecated: Function split() is deprecated in … 解决办法 转自:http://hi.baidu.com/taotaoi/item/064515d8e4cb4de854347f93

龙生   11 Apr 2013
View Details

Smarty

Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。 定义 如何使我的PHP脚本从设计中独立出来?这无疑地是在PHP邮件列表上所提问的最多的问题之一。虽然PHP被标榜为“HTML嵌入式语言”,在写过许多PHP和HTML混合式的工程之后,我产生了一个分离表单和内容的想法。而且,在许多公司里规划设计者的角色和程序设计者是分开的。于是,这样的一个模板解决方案产生了…… 例如在一个公司,一个应用程序的开发流程如下:在提交计划文档之后,界面设计者[美工]制作了网站的外观模型,然后把它交给后台程序员。程序员使用PHP实现商业逻辑,同时使用外观模型做成基本架构。然后工程被返回到HTML页面设计者继续完善。就这样工程可能在后台程序员和页面设计者之间来来回回好几次。由于后台程序员不喜欢干预任何有关HTML标签,同时也不需要美工们和PHP代码混在一起;美工设计者只需要配置文件,动态区块和其他的界面部分,不必要去接触那些错综复杂的PHP代码。因此,这时候有一个很好的模板支持就显得很重要了。 纵观现今存在的许多PHP模板解决方案(比如PHPLIB),大多数都只是提供了用模板取代变量和将动态区块的功能有限的格式化的基本方法。但是我们的需求比这个要高的多。我们完全不想要PHP程序员去设计HTML页面,可是这又是不可避免的。例如:如果美工想要在动态区块之间交替不同的背景颜色,他就可能得和程序员预先说好。同样,美工们也应该有自己对于页面设计的配置文件,这同样可以通过变量把他们拉到模板里边去 优点 1. 速度:采用Smarty编写的程序可以获得最大速度的提高,这一点是相对于其它的模板引擎技术而言的。 2. 编译型:采用Smarty编写的程序在运行时要编译成一个非模板技术的PHP文件,这个文件采用了PHP与HTML混合的方式,在下一次访问模板时将WEB请求直接转换到这个文件中,而不再进行模板重新编译(在源程序没有改动的情况下) 3. 缓存技术:Smarty选用的一种缓存技术,它可以将用户最终看到的HTML文件缓存成一个静态的HTML页,当设定Smarty的cache属性为true时,在Smarty设定的cachetime期内将用户的WEB请求直接转换到这个静态的HTML文件中来,这相当于调用一个静态的HTML文件。 4. 插件技术:Smarty可以自定义插件。插件实际就是一些自定义的函数。 5. 模板中可以使用if/elseif/else/endif。在模板文件使用判断语句可以非常方便的对模板进行格式重排。 不适合使用Smarty的地方 需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新,这类型的程序使用smarty会使模板处理速度变慢。 小项目。小项目因为项目简单而美工与程序员兼于一人的项目,使用Smarty会在一定程度上丧失PHP开发迅速的优点。 (PS:不过为了整个项目的规范,请大家尝试去使用模板引擎。其实习惯了,开发速度会更加快,以上是没有用习惯模板引擎的开发者遇到的问题) 诞生过程 早在1999年后期,我们就已经开始为模板引擎写说明文档。在完成这个文档之后,我们开始用C写一个模板引擎,并有希望被包含到PHP里去。在 撞上了许多的技术难题的同时,“什么是模板应该做的,什么不该做”这个问题,也被热烈的讨论着。从这些经验,我们决定应该用PHP将模板引擎写成一个类,让任何觉得合适的人使用它。所以我们写了一个引擎,从此就有了Smarty。(注:这个类以前从来没有公开发表过)。这个类几乎达到了我们所有的要求:常规变量替换,支持包括其他模板,使用配置文件集成设置,嵌入PHP代码,限制'if'语句的作用,还有更多的可以多层嵌套的健壮的动态区块。它用常规表达式做到这一切,于是代码变得相当令人费解。在每次调用的时候,都要去解析那些语法和常规表达式,于是在大型应用的时候,它显然慢了下来。在程序员的眼光看来,最大的问题还是使用PHP脚本建立和处理模板和动态区块的所有必要工作。我们应该如何使他变得更简单? 我们可以想象Smarty应该有怎样的最后表现。我们知道PHP代码如果没有了模板解析的开销将有多快,我们也知道从一般的美工看来PHP语言是多么的“恐怖”,然而这一切可以被一种更简单的模板语法掩饰掉。我们应该怎样把这两种方法的长处结合起来? 于是,Smarty诞生了……

龙生   11 Apr 2013
View Details

Velocity

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 应用 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 更多功能 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。 http://baike.baidu.com/view/77351.htm

龙生   11 Apr 2013
View Details

Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 创始人 让时间回到2001年,地点是澳大利亚悉尼的Clarence Street有一家叫做Cirrus Technologies的公司,这是一家做J2EE企业级应用开发和咨询的公司,在会议桌上一个小伙子和老板正在进行着激烈的讨论。 小伙子:"老板,我总觉得现在开发的效率太低了,我用了EJB的Entity bean 1.1时,我总觉得我浪费了好多时间在处理Entity Bean的体系架构上,却没有花时间在核心业务逻辑的开发上,而且CMP给我们的限制太多了"。 老板:"Gavin,别傻了,EJB是业界的标准,也是最流行的技术,而且我们公司是IBM的合作伙伴。如果有问题,问题就是我们还没有适应这样的开发模式"。 小伙子:"不,我觉得肯定有更好的解决的方案。我们可以设计出比Entity Bean更好的方案"。 老板:"哦,Gavin,我知道你很聪明,开发水平也不错。但是开发这样的系统太难了,而且你根本就没有用SQL开发过任何数据库系统。不要想这样一个不现实的目标啦!" 小伙子皱了皱眉,说道:"不,我相信我有能力开发出这个系统。我的想法绝对是可行的。" (注:以上场景纯属虚构,但至少以下内容完全属实:Gavin King开发hibernate的动机有两个:发现CMP太滥;赢得对老板的争执。Gavin King当时没有任何用SQL开发数据库的经验,Gavin King开发hibernate的第一件事是去街上买了本SQL基础的书) 也许Cirrus Technologies的老板做梦也想不到两年以后,这个小伙子开发出的那个产品会成为全世界最流行的O/R Mapping工具,而那个对SQL和数据库一窍不通的小伙子居然会成为全世界J2EE数据库解决方案的领导者。 这就是Gavin King,一个充满激情、脾气很倔、永不言败的人。他的成就也许全世界搞Java的人都知道:他是hibernate的创始人;他是EJB 3.0的Entity bean specification的实际领导人(sun任命的领导人应该是 Linda DeMichiel);他也是那本经典的书hibernate in action的作者;他也参加了XDoclet和Middlegen的开发;他在全世界各种著名的会议(TheServerSide Symposium等)进行演讲和讲座。 2003年9月, Gavin King和hibernate的一些开发者加入了JBoss。这样他们就可以全职进行hibernate的开发,并提供最好的服务和培训。 也许在这里讨论hibernate的成功和影响力这种全世界都知道的事情已经是多余的了。Gavin King的火爆的脾气和自负也是闻名的,看看Gavin King自己有趣的评价:Even when I'm a rude grumpy bastard answering forum posts at 3am, I'm always happy to see people using Hibernate.(有点断章取义之嫌,呵呵,贴出来闹着玩)。看看Gavin King的一些表现吧: 1、2005年3月,JDO的一个vendor Versant在他的Paper里指了好多hibernate的好多所谓的缺点,Gavin King做出了毫不留情的反击。 2、2003年9月,Gavin King在他网站上向全世界发起挑战:谁要是能对一段代码用JDBC开发做到效率比hibernate高好多,就给他100美金。 3、Rod Johnson在2005年的TheServerSide Symposium对JBoss那帮人戴假面具穿小丑衣表示了一下意见:"neither I nor any of my colleagues will be dressing up as film characters"。看看Gavin King的回击吧:"But Rod, you'd make such a great Egghead! Well […]

龙生   11 Apr 2013
View Details

hibernate search

Hibernate Search是在apache Lucene的基础上建立的主要用于Hibernate的持久化模型的全文检索工具。像Lucene这样的检索引擎能够给我们的项目在进行检索的时候带来非常高的效率,但是它们在基本对象的检索时会有一些问题,比如不能实现检索内容跟实体的转换,Hibernate Search正是在这样的情况下发展起来的,基于对象的检索引擎,能够很方便的将检索出来的内容转换为具体的实体对象。此外Hibernate Search能够根据需要进行同步或异步的索引更新。 http://baike.baidu.com/view/6288294.htm

龙生   11 Apr 2013
View Details
1 153 154 155 177