loops/organize/process
2016-12-26 10:37:00 +01:00
..
__init__.py move stateful and process to organize; work in progress: organize.tracking 2008-04-09 10:03:52 +00:00
configure.zcml provide generic 'create concept' actions based on qualifier setting or assigned subtypes 2011-02-10 07:50:54 +00:00
definition.py work in progress: make loops package work with BlueBream 1.0 2011-09-29 19:21:12 +02:00
interfaces.py fix process interface; add simple version handling 2008-09-02 14:15:15 +00:00
README.txt work in progress: make loops package work with BlueBream 1.0 2011-09-29 19:21:12 +02:00
setup.py move stateful and process to organize; work in progress: organize.tracking 2008-04-09 10:03:52 +00:00
tests.py remove deprecated import from zope.testing 2016-12-26 10:37:00 +01:00

===============================================================
loops - Linked Objects for Organization and Processing Services
===============================================================

  ($Id$)

Note: This package depends on cybertools.knowledge and cybertools.organize.

Let's do some basic set up

  >>> from zope.app.testing.setup import placefulSetUp, placefulTearDown
  >>> site = placefulSetUp(True)

  >>> from zope import component, interface

and setup a simple loops site with a concept manager and some concepts
(with all the type machinery, what in real life is done via standard
ZCML setup):

  >>> from cybertools.relation.interfaces import IRelationRegistry
  >>> from cybertools.relation.registry import DummyRelationRegistry
  >>> relations = DummyRelationRegistry()
  >>> component.provideUtility(relations, IRelationRegistry)

  >>> from cybertools.typology.interfaces import IType
  >>> from loops.interfaces import IConcept, ITypeConcept
  >>> from loops.type import ConceptType, TypeConcept
  >>> component.provideAdapter(ConceptType, (IConcept,), IType)
  >>> component.provideAdapter(TypeConcept, (IConcept,), ITypeConcept)

  >>> from loops.interfaces import ILoops
  >>> from loops.setup import ISetupManager
  >>> from loops.organize.process.setup import SetupManager
  >>> component.provideAdapter(SetupManager, (ILoops,), ISetupManager,
  ...                           name='process')

  >>> from loops.base import Loops
  >>> loopsRoot = site['loops'] = Loops()

  >>> from loops.setup import SetupManager
  >>> setup = SetupManager(loopsRoot)
  >>> concepts, resources, views = setup.setup()

We need some type concepts for controlling the meaning of the concepts objects,
these have already been created during setup:

  >>> process = concepts['process']


Manage processes
================

The classes used in this package are just adapters to IConcept.

  >>> from loops.organize.process.definition import Process
  >>> from cybertools.process.interfaces import IProcess
  >>> component.provideAdapter(Process, (IConcept,), IProcess)

We start with creating a process definition.
Note that in order to discern the concepts created
from their typeInterface adapters we here append a 'C' to the name of
the variables:

  >>> from loops.concept import Concept
  >>> myProcessC = concepts['myProcess'] = Concept(u'A Simple Process')
  >>> myProcessC.conceptType = process
  >>> myProcess = IProcess(myProcessC)


Fin de partie
=============

  >>> placefulTearDown()