[Zope3-checkins] CVS: Zope3/src/zope/app/workflow/doc - __init__.py:1.2 workflowsprintnotes.txt:1.2
Jim Fulton
jim@zope.com
Wed, 25 Dec 2002 09:14:01 -0500
Update of /cvs-repository/Zope3/src/zope/app/workflow/doc
In directory cvs.zope.org:/tmp/cvs-serv15352/src/zope/app/workflow/doc
Added Files:
__init__.py workflowsprintnotes.txt
Log Message:
Grand renaming:
- Renamed most files (especially python modules) to lower case.
- Moved views and interfaces into separate hierarchies within each
project, where each top-level directory under the zope package
is a separate project.
- Moved everything to src from lib/python.
lib/python will eventually go away. I need access to the cvs
repository to make this happen, however.
There are probably some bits that are broken. All tests pass
and zope runs, but I haven't tried everything. There are a number
of cleanups I'll work on tomorrow.
=== Zope3/src/zope/app/workflow/doc/__init__.py 1.1 => 1.2 ===
--- /dev/null Wed Dec 25 09:14:01 2002
+++ Zope3/src/zope/app/workflow/doc/__init__.py Wed Dec 25 09:13:31 2002
@@ -0,0 +1,2 @@
+#
+# This file is necessary to make this directory a package.
=== Zope3/src/zope/app/workflow/doc/workflowsprintnotes.txt 1.1 => 1.2 ===
--- /dev/null Wed Dec 25 09:14:01 2002
+++ Zope3/src/zope/app/workflow/doc/workflowsprintnotes.txt Wed Dec 25 09:13:31 2002
@@ -0,0 +1,240 @@
+
+Workflow Sprint
+
+ Dates were Mar 4-6. Attendees were Alastair Burt, Florent
+ Guillaume, Vincenzo di Somma, Daniele Tarini, Tres Seaver, Paul
+ Everitt.
+
+Agenda
+
+ o Bootstrapping (getting CVS setup, etc.)
+
+ o Planning game
+
+ o Lunch
+
+ o Zope3 tutorial
+
+ o Task signup
+
+ o Pairing
+
+Scope
+
+ o Workflow architecture proposal
+
+ o Exploratory code for architecture
+
+Stories
+
+ o WorkflowShepherdWritesProposal
+
+ - IWorkflowDefinition
+
+ o SiteManagerConfiguresWorkflowEnactmentService
+
+ - Global/placeless
+
+ - Placeful
+
+ o WorkflowDesignerCreatedProcessDefinition
+
+ o WorkflowDeveloperImplementsProcessDefinition (import?)
+
+ o SiteManagerInstallsProcessDefinition
+
+ o SiteManagerIntegratesWorkflowService
+
+ o WorkflowDeveloperTestsProcessDefinition
+
+ o ExternalProcessInitiatesWorkflowAction
+
+ o WorkflowEngineInitiatesRemoteProcessInst
+
+ o UserInitiatesWorkflowActivity
+
+ o UserQueriesWorklist
+
+ o UserCompletesActivity
+
+ o SiteManagerQueriesAggregatedHistory
+
+Notes
+
+ Started with configuration.
+
+ (Tres) This sprint model came out of a desire to do XP, but only for
+ a short period of time. The first when at ZC in Nov was less than a
+ week. How to do XP for just a short period of time? Worked pretty
+ well. XP worked and Zope3 got started.
+
+ Third goal became to open the base of people contributing to Zope3.
+ This includes growing leadership.
+
+ Some sprints are topic-focused. They need to focus on an achievable
+ goal, a small step, rather than trying to accomplish too much. Thus
+ planning is important to make sure something important but
+ realistically accomplishable is targetted.
+
+ For this sprint, a document needs to describe the workflow
+ architecture. Hopefully, people in the room will take over the
+ leadership of workflow in Zope3.
+
+ Classic XP says the customer needs to be in the room. We have to
+ pretend to proxy for the customer. So we need a mental image of the
+ customer. Who will that be?
+
+ Tres speculates that, in OpenFlow, the site manager is the workflow
+ customer.
+
+ (Daniele). The life of a process instance is connected to the
+ content, but also to resources outside. That is, there is content
+ in the process instance as well as the item moving through the
+ workflow.
+
+ (Vincenzo) Usually you put in the process instance what is called
+ "workflow relevant data". Every other object or information you
+ want to store, you are free to use the process instance.
+
+ (Tres) In the CMF, a workflow is bound to a piece of content. The
+ idea is that the workflow itself, all objects of the same content
+ type share a process definition (a "workflow"). The data you track
+ in a process instance can be stored in a number of ways, like
+ stashing it in the content instance. *Note*: in the CMF
+ architecture, there isn't really a process instance.
+
+ (Florent) First, they didn't want strict association of content type
+ to workflow. Not flexible enough. They changed to workflow tool.
+ A workflow aware object is consulted by the workflow tool. It can
+ add or remove steps. Second, they are working on non-local
+ workflows. If you have a resource deep in a tree, workflow managers
+ can be stored in a parent rather than a content type.
+
+ Acronym alert! PI is *process instance*. PD is *process
+ definition*.
+
+ Tres wrote up agreement on jargon between CMF and OpenFlow:
+
+ o workflow == process definition
+
+ o monitor events == process instance
+
+ There was a discussion about the object hub and the event channel,
+ what they are, and how they might impact workflow for Zope 3.
+
+ Back to workflow customer. The site manager has to be able to
+ configure workflows or PD and make sure that all policies are moved
+ into configuration files. The developer has to design applications
+ that are workflow aware.
+
+ Paul asks if the audience of workflow implentors is valid? That is,
+ besides the basic idea of Zope 3 to allow multiple implementations
+ of an interface, should this project do extra work to address this
+ audience? Will there be extra use cases if there is more than one
+ workflow engine used in a site? The consensus seems to be that no
+ special work will be needed for this audience.
+
+ Decision: two main audiences are site managers and component
+ developers.
+
+Interfaces (derived from OpenFlow, might change)
+
+ o IWorkflowService
+
+ o IWorkflowProcessInstance
+
+ o IWorkflowProcessDefinition
+
+ o IWorkflowActivity
+
+ o IWorkflowTransition
+
+ o IWorkflowWorkItem
+
+Events
+
+ o objectCreation
+
+ o objectDestruction
+
+ o objectRename/Move
+
+ o objectModification
+
+ o objectExpiration?
+
+ o timeTick
+
+ o userRoleModification
+
+ - scheduled
+
+ o workflowActionBegin
+
+ o workflowActionComplete
+
+ o workflowActionSuspended
+
+ o workflowItemAssign
+
+ o WPIActivated
+
+ o WPITerminated
+
+ o WPICompleted
+
+ o WPISuspended
+
+UI Synthesis
+
+ o listObjectActions -> [ActivityInfo]
+
+ o listUserActions -> [ActivityInfo]
+
+ IActivityInfo
+
+ o getID()
+
+ o getCategory()
+
+ o getTitle()
+
+ o getDescription()
+
+ o getActionURL()
+
+ o getPermission()
+
+ o getRole()
+
+ o getCondition()
+
+ o getSource()
+
+ - kickdown to work item, transition, etc.
+
+Goals
+
+ o Shared understanding of OpenFlow and DCWorkflow.
+
+ o Bootstrap more people for Zope 3.
+
+ o Establish leadership for Zope 3 workflow.
+
+ o Proposal for workflow in Zope 3.
+
+Lessons Learned
+
+ o Try to get people setup with contributor forms and writeable
+ checkouts (with correct Python etc.) beforehand.
+
+ o Remind people about the convention of XXX in comments.
+
+ o When doing a build, rm the .so and .o files.
+
+ o Should we buy a wireless hub with 4 fast ethernet ports?
+
+ o Update tutorial presentation, wiki pages, etc. to point out the
+ mailing lists that people should subscribe to
+
+ o Mention the tkinter pyunit
\ No newline at end of file