我正在开发一个简单的SharePoint顺序工作流,它应绑定到文档库.将小工作流程与文档库关联时,我检查了这些选项
现在我将文档上传到此库,工作流程启动,例如发送邮件.它完成了,一切都很好.
当我在新项目上选择编辑属性并保存更改时,将再次触发工作流程.绝对是我们的期望.
即使在Copy.asmx Webservice的帮助下将新项目复制到库中,工作流程也会正常启动.
但现在我想通过SharePoint WebService Lists.asmx更新项目.
我的CAML在这里:
<Method ID='1' Cmd='Update'>
<Field Name='ID'>1</Field>
<Field Name='myDummyPropertyField'>NewValue</Field>
</Method>
Run Code Online (Sandbox Code Playgroud)
项目正在更新(时间戳已更改并且还具有虚拟属性)但工作流程不会再次启动.
这种行为可以在我们的开发和测试系统上重现.
检查错误日志(C:\ Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS)我发现了一条奇怪的错误消息:
09/25/2008 16:51:40.17 w3wp.exe (0x1D94) 0x1D60 Windows SharePoint Services General 6875 Critical Error loading and running event receiver Microsoft.SharePoint.Workflow.SPWorkflowAutostartEventReceiver in Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c. Additional information is below. : The object specified does not belong to a list.
Run Code Online (Sandbox Code Playgroud)
有谁可以证实这种行为?或任何解决方案提示?
我随时向您通报有关该主题的任何进展.
我在一家使用Git进行版本控制的公司工作.我们使用托管的repo服务(Beanstalk)作为我们的内部"公共"(我的意思是整个开发团队可访问)回购.我有两台计算机,我通常用它来编写代码.我喜欢使用Git的一些历史重写功能,特别是重新定位和修改提交,但我真的不喜欢在我将某些内容推送到已发布的分支后使用它们.然而,我需要能够在这两台计算机之间共享代码,最好是没有其他人.
我想要的是在两台计算机之间共享代码的简单方法,而无需与其他人共享.我考虑过Airdrop(两台电脑都是Mac)和ssh.在利用git的分布式特性的同时,建议的方法是什么?
以下是git工作流程的示例:
假设您希望利用bug跟踪器与版本控制系统集成.在哪里/如何适合这些工作流程.你会在追踪器中看到什么?
我是BugTracker.NET的作者,它像许多其他的bug追踪器(Trac,Redmine,FogBugz)一样与svn集成.我们都或多或少地以同样的方式做到这一点.但是使用git,我很难想象与git的集成会是什么样子.
编辑:我已经看过github-fogbugz集成的一次尝试,但即使是那篇文章的作者也说"很明显FogBugz是为更传统的CVS/SVN SCM系统而写的.因此,提交列表显示并没有真正与git jive".
EDIT2:关于Redmine/git工作流程的一个主题:似乎最典型的设置是Redmine与任何被认为是"中央"存储库的本地克隆一起工作,所以当它们进入这个克隆时它会看到变化.触发器或预定作业自动推送到Redmine的克隆.
EDIT3:即使是Linux和Linus,最终还是一个主要的git存储库,可以被认为是仁慈的独裁者存储库:请参阅http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6的.git; A =摘要
EPILOGUE:谢谢大家.根据你们给我的指导,我的BugTracker.NET现在包括git集成.
我在一家使用Linux构建嵌入式系统的公司工作.从历史上看,我们总是使用CVS来存储我们的内核工作.我们的内核最终成为:
我们正处于这样的阶段:我们希望在新版本上重新定义一些旧内核,并将我们过时的CVS工作流程修复为基于变更集的内容.显而易见的选择是git.
我正在努力想出一个明智的工作流程.我已经为我们的一个内核导出了我们的CVS存储库,并在相应的基础Linus内核之上有一组变更集.我从哪里开始?
我想拥有一个所有开发人员都会对其进行更改的中央存储库.使用rebase将我们的变更集集合转移到新的基本内核版本然后让我们的开发在新的中心分支上进行是否安全?
获得工作流程的奖励积分使我们能够轻松地分离出可能适合上游的变更.我厌倦了一直推动一系列小的(或微小的)普遍有用的变化.
我是WF的初学者,但我读了一本书并做了很多谷歌搜索.我想写一个库存管理服务.库存由具有以下状态的单个项目组成:
物品可能在每个州花费数月,并且有数千种物品.
问题是,我是否为所有不同的状态创建状态机工作流程?或者我是否创建了在州之间转换的工作流程?
如果我理解正确,如果我创建单个状态机工作流程,那么将始终为每个项目运行工作流程.这意味着数千个不断运行的工作流程.此外,我需要能够显示每个项目状态的快照,这意味着我必须以某种方式查询它们当前所处状态的所有工作流程,或者在每次状态转换后以其他方式持久保存到数据库.
然而,状态机工作流在逻辑上听起来是正确的事情,因此我的困境.
如果可以,请你帮助我 :-)
谢谢!
更新:
假设我有比上面3更多的状态,并且不是所有状态转换都是可能的.
赏金获奖者:莫里斯 - 感谢所有其他人真正帮助我更多地了解工作流程,MS工作流程基础以及其他更轻量级的替代方案.不幸的是,只有一个赏金赢家,莫里斯的回答及其评论对我帮助最大.
任何人都可以在ESS下分享他在R peject开发工作流程方面的经验吗?我试过几次学习emacs,但我还没有得到它.我可以将ESS理解为编辑器,但ESS中是否有项目视图?什么是设置/查看R项目目录,编码和测试的有效方法,以及ESS如何有利于整个过程?
您是仅将ESS用作优秀的R编辑器还是倾向于在ESS中模拟R IDE环境?
感谢您的任何建议.
我有n(通常n <10但应该扩展)进程在不同的机器上运行并使用RabbitMQ通过amqp进行通信.进程通常是长时间运行的,可以用任何语言实现(尽管大多数是java/python).
每个过程都需要许多输入(数字/字符串)并产生许多输出(也只是数字或字符串).执行进程是异步发生的:在其输入队列上发送消息并等待输出队列触发回调.
理想情况下,用户指定一些输入和所需的输出,系统应该:
如果节点的输入就绪,节点应该触发,允许每个分支并行.我现在可以假设没有循环,但最终会有循环(例如,两个进程可能需要迭代直到输出不再变化).
这应该是(数据)流程编程(之前讨论过)的已知问题,我想避免重新发明轮子.我更喜欢python解决方案,搜索引导Trellis和Pypes.Trellis不再开发,但似乎支持周期,而pypes则不支持.也不确定pypes是如何积极开发的.
进一步的搜索揭示了基于事件的编程框架的完整列表,其中没有一个我特别了解.当然有像Taverna和KNIME这样的工作流程环境,但这似乎有些过分.
有没有人有解决这类问题或提到的图书馆的经验?
编辑:我发现的其他库是:
如何在GitHub上使用拉取请求关闭问题?我知道用提交消息关闭多个问题,但这是一个不同的情况.
我想关闭的问题不是来自提交,而是来自pull请求的描述.更像
拉请求:
Name: bla bla
Description ... , _fixes_ #123
Run Code Online (Sandbox Code Playgroud)
和合并拉请求时,#123要自动关闭.这可能吗?
Pragmatic Programmer的一章建议将黑板/基于空间的架构+规则引擎视为传统工作流系统的更灵活的替代方案.
我正在研究的项目目前使用工作流引擎,但我想评估替代方案.我真的觉得SBA可以更好地解决我们的业务问题,但我担心完全缺乏社区支持/用户群/供应商/选项.
JavaSpaces已经死了,JINI剥离Apache River似乎是生命支持.SemiSpace看起来很完美,但它是一个单人秀.唯一可行的解决方案似乎是GigaSpaces.
我想听听您对基于空间的体系结构的看法以及您在实际实现中所拥有的任何经验.
workflow ×10
git ×3
github ×2
.net ×1
amqp ×1
architecture ×1
autostart ×1
bug-tracking ×1
c# ×1
emacs ×1
ess ×1
graph ×1
java ×1
java-ee ×1
jquery ×1
linux-kernel ×1
pull-request ×1
python ×1
r ×1
rule-engine ×1
scheduling ×1
sharepoint ×1
svn ×1
web-services ×1