[Setools] Re: MagmaReadStrategies

Chris Muller asqueaker at gmail.com
Sun Jun 17 14:58:04 UTC 2007


Is this a Pattern Language for various depths of ReadStrategies?  Interesting.

But I don't have enough Magma app-development experience with using
them to form an opinion about whether these generalizations are
useful..

On 6/14/07, Keith Hodges <keith_hodges at yahoo.co.uk> wrote:
> RESEND slightly more recent version of previous mail
> ----
>
> Hear is an outline of my readStrategy creation/management/understanding
> scheme!
>
> enjoy
>
> Keith
>
> =============
> buildReadStrategyAggressiveOn: strategy
>
> "Very highly aggressive read everything unless it is gated.
>
> This analogy uses the idea of attempting to collect information from a
> guarded space,
> perhaps a normal KEEP describes the scene. (OT: What a cool name for a
> database!)
>
> Essentially this is how it works, whatever you can see you can have.
>
> BIG GATES (typically -20)
> Stop everything except what is explicitly visible through a KEYHOLE
> - MagmaCollections are natural gates,
> - MagmaCollection's query mechanism is the little 'porter window' where
> you ask for service.
> - e.g. In GJallar Q2Model has a BIG GATE to gate most things
> - When the GATE is defined for the whole class (on all attributes) it
> applies to
>    subclasses also including extra attributes the subclass may define.
>
> KEYHOLE (typically 0)
> - allows any reasonably agressive (+ve) read strategy to pass through
> the BIG/SMALL GATE.
> - will loose one in 'range'.
> BIG KEYHOLE (typically 1)
> - allows any read strategy that gets this far to pass through to the
> next level without cost.
>
> OPEN ACCESS (typically 99)
> - Everything inside the area/object is visible.
> - Setting objects for OPEN ACCESS is not relevant when OPEN ACCESS is
> the default behaviour.
>    These items may be left marked as such to indicate intent and to
> facilitate future variations.
>
> SMALL GATE - Non-Solid See Through (typically -10)
> - Most attributes are not visible unless made ACQUIRABLE meaning
> explicitly placed in the line
>   of sight by their owner for easy 'target aquisition'.
> - In Gjallar domain objects are gated with a SMALL GATE (e.g. Q2Process
> Q2Case)
>
> ACQUIRABLE - (typically 15)
> - Contents of default index like attributes are set to be visible
> through small gates whatever they are.
>         - i.e.  id, name, description
>
> BLOCKADED (typically -20000)
> - Some specific object attributes are never retrieved unless explicitly
> requested.
> Precedence is such that BLOCKADED objects, if accidentally, placed in an
> OPEN ACCESS space
> or in line of sight are still protected, where as lesser barriers are not.
>
>       - i.e. In Gjallar the wikiPage content is only ever needed when
> explicitly requested
>
> ALARMED (typically -999999)
> -  Access to this object will raise an error in the Log. Use this if you
> want to be informed
> when this object is used. (This is the equivalent of a self halt!)
>
> RECONNAISANCE
> ------------------
> GLANCING - minimumDepth 1 - top level OPEN ACCESS, KEYHOLES, and their
> ACQUIRABLES only
> LOOKING - minimumDepth 5 - to view any OPEN ACCESS, even through
> KEYHOLES, and ACQUIRABLES
> SMALL KEY - minimumDepth 15 - to retrieve anything behind one SMALL GATE
> BIG KEY - minimumDepth 25 - to retrive anything behind one BIG GATE
>
> "
>
>         strategy minimumDepth: 5. "LOOKING"
>
>         "big first read"  "not needed due to high min depth"
>         "strategy onAny: Q2RepositoryRoot readToDepth: 5".
>
>         "the main BIG GATE"
>         strategy         onAny: Q2Model readToDepth: -20.
>
>         "tiny KEY HOLES"
>         strategy forVariableNamed: 'caseCounter' onAny: Q2Model readToDepth: 0.
>         strategy forVariableNamed: 'useIndexing' onAny: Q2Model readToDepth: 99.
>
>
> "ProtoObject  - "
> "  Object  - "
> "    Q2Object  - "
> "      Q2CasePanel  -  filter tableCaseForm numberOfCases name description"
> "      Q2CodeHolder  -  code selection result error"
> "      Q2CustomObjectLoader  - "
> "        Q2CustomObjectFileLoader  -  fileName separator"
> "        Q2CustomObjectODBCLoader  -  dsn user password query"
> "      Q2Event  - "
> "        Q2CaseEvent  -  case"
> "          Q2CreatedCaseEvent case  - "
> "          Q2ModifiedCaseAssignedToMeEvent case  -  assigned"
> "          Q2ModifiedCaseEvent case  - "
> "          Q2ModifiedCaseResponsibleEvent case  -  newResponsible"
> "            Q2ModifiedCaseResponsibleToMeEvent case newResponsible  - "
> "          Q2ModifiedCaseRolesEvent case  - "
> "          Q2ModifiedRelatedCaseEvent case  - "
> "          Q2NoteAddedEvent case  - "
> "          Q2StageTransitionEvent case  -  newStage"
> "            Q2StageTransitionForRelatedCaseEvent case newStage  - "
> "        Q2UserEvent  -  user"
> "          Q2UserAddedEvent user  - "
> "      Q2File  -  fileName content"
>         strategy onAny: Q2File readToDepth: -20000. "BLOCKADE"
>         strategy forVariableNamed: 'fileName' onAny: Q2File readToDepth: 15.
> "ACQUIRABLE"
>
> "      Q2FilterOperator  -  selector label"
> "        Q2FilterOperatorReversed selector label  - "
> "      Q2FilterPredicate  -  operator value rank filter"
> "        Q2FilterFieldPredicate operator value rank filter  -  field"
> "        Q2FilterProcessPredicate operator value rank filter  - "
> "        Q2FilterResponsiblePredicate operator value rank filter  - "
> "        Q2FilterSelectorPredicate operator value rank filter  -
> selector description label values operators multi"
> "        Q2FilterStagePredicate operator value rank filter  - "
> "        Q2FilterStatusPredicate operator value rank filter  - "
> "      Q2FilterStack  -  filters compiledBlock values lastValues
> filtersChanged useQueries freetext freetextIds"
>
>         strategy onAny: Q2FilterStack readToDepth: 99. "OPEN ACCESS"
>
> "      Q2FormBuffer  -  value target targetSelector originalValues form"
> "      Q2LDAP  - "
> "      Q2MailSender  - "
> "      Q2MirrorCreator  -  mirrorDefinition objectMap shouldNotVisit
> shouldNotCopy"
> "      Q2Model  -  users persons administrators processes mirrors cases
> caseCounter prefix processPrototypes defaultModifyCaseForm
> defaultCreateCaseForm defaultTableCaseForm transactions
> mirrorTransactions mirror definedCategories forms customObjectTypes
> linkTypes roles globalDefinition useIndexing objects notificationsTable
> serviceQueues plugInRegistry"
> "      Q2MultiFormValue  -  formValues"
> "      Q2Notebook  -  notes"
> "      Q2Notification  -  subscription events"
> "      Q2NotificationRun  -  events"
> "      Q2NotificationTable  -  pendingNotifications"
> "      Q2PluginRegistry  -  plugins owner"
> "      Q2PopAccount  -  username password server blacklistedSenders"
> "      Q2PopMailService  - "
> "      Q2PopReceiver  -  email replyToEmail casePrototype"
> "      Q2Report  -  fileName filter reportDefinition creationTime user
> generatedReport"
> "      Q2ReportSource  - "
> "        Q2ReportSourceCases  - "
> "        Q2ReportSourcePermissions  - "
> "        Q2ReportSourceUsers  - "
> "      Q2Scheduler  - "
> "      Q2Script  -  compiledBlock source header"
> "      Q2Service  - "
> "        Q2CacheService  - "
> "        Q2CustomObjectSyncService  - "
> "        Q2EnsureResponsibleService  - "
> "        Q2InifileLoadService  - "
> "        Q2LdapUserUpdateService  - "
> "        Q2MagmaBackupService  - "
> "        Q2MigrationService  - "
> "          Q2MantisMigrationService  - "
> "        Q2NotificationDigestService  - "
> "        Q2PopService  - "
> "        Q2QueueHandlerService  - "
> "          Q2NotificationRunService  - "
> "          Q2NotificationSenderService  - "
> "      Q2Statistics  -  statValues statNames period startDate endDate
> caseCategories processes processesStats newCase openCase closedCase"
> "      Q2TransitionDenial  -  transition criterion msg"
> "      Q2Txn  -  id number user timestampCreated timestampApplied
> objects transactions parentTxn"
> "        Q2BootStrapTxn id number user timestampCreated timestampApplied
> objects transactions parentTxn  - "
> "        Q2CaseTxn id number user timestampCreated timestampApplied
> objects transactions parentTxn  -  case"
> "          Q2AddAttachmentTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn case  -  attachment"
> "          Q2AddUserInRoleTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn case  -  theUser role"
> "            Q2RemoveUserInRoleTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn case theUser role  - "
> "          Q2CaseNoteTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn case  -  note files"
> "          Q2CaseTransitionTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn case  -  transition"
> "          Q2SetResponsibleTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn case  -  responsibleUser"
> "          Q2UpdateCaseFieldValueTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn case  -  field fieldValue"
> "        Q2CreateCaseTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn  -  case files"
> "        Q2FormValueTxn id number user timestampCreated timestampApplied
> objects transactions parentTxn  -  formValue"
> "          Q2ModifyCaseTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn formValue  -  case"
> "          Q2ModifyUserTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn formValue  - "
> "            Q2CreateUserTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn formValue  - "
> "        Q2LinkTxn id number user timestampCreated timestampApplied
> objects transactions parentTxn  -  link"
> "          Q2AddLinkTxn id number user timestampCreated timestampApplied
> objects transactions parentTxn link  - "
> "          Q2ModifyLinkTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn link  - "
> "          Q2RemoveLinkTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn link  - "
> "        Q2ModifyGlobalDefinitionTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn  -  definition result error"
> "        Q2ModifyProcessDefinitionTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn  -  process definition
> result error"
> "        Q2ModifyWikiPageTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn  -  parent source"
> "        Q2NamedObjectTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn  -  object
> collectionSelector"
> "          Q2AddNamedObjectTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn object
> collectionSelector  - "
> "          Q2ModifyNamedObjectTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn object
> collectionSelector  -  old"
> "          Q2RemoveNamedObjectTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn object
> collectionSelector  - "
> "        Q2PluginTxn id number user timestampCreated timestampApplied
> objects transactions parentTxn  -  plugin registryOwner"
> "          Q2AddPluginTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn plugin registryOwner  - "
> "          Q2ProcessPluginTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn plugin registryOwner  -
>   process"
> "            Q2AddProcessPluginTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn plugin registryOwner
> process  - "
> "          Q2RemovePluginTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn plugin registryOwner  - "
> "          Q2SavePluginTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn plugin registryOwner  -
>   formBuffer"
> "        Q2ProcessTxn id number user timestampCreated timestampApplied
> objects transactions parentTxn  -  process"
> "          Q2ProcessAndUsersTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn process  -  users"
> "            Q2AddAccessTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn process users  - "
> "            Q2AddAdministratorsTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn process users  - "
> "            Q2RemoveAccessTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn process users  - "
> "            Q2RemoveAdministratorsTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn process users  - "
> "        Q2UserTxn id number user timestampCreated timestampApplied
> objects transactions parentTxn  -  theUser"
> "          Q2DeactivateUserTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn theUser  - "
> "            Q2ActivateUserTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn theUser  - "
> "          Q2FilterTxn id number user timestampCreated timestampApplied
> objects transactions parentTxn theUser  -  filter"
> "            Q2AddFilterTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn theUser filter  - "
> "            Q2ModifyFilterTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn theUser filter  - "
> "            Q2RemoveFilterTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn theUser filter  - "
> "          Q2ModifyUserCentralTxn id number user timestampCreated
> timestampApplied objects transactions parentTxn theUser  -  userCentral"
>
> "      Q2UniqueObject  -  id"
>         strategy forVariableNamed: 'id' onAny: Q2UniqueObject readToDepth: 15.
> "ACQUIRABLE"
>
> "        Q2Attachment id  -  originalFileName localFileName case deleted"
> "        Q2CategorizableObject id  -  categories"
>         strategy forVariableNamed: 'categories' onAny: Q2CategorizableObject
> readToDepth: -999999. "ALARMED"
>         "I DO NOT KNOW WHAT THIS OBJECT IS FOR YET SO IT IS ALARMED"
>
> "          Q2Case id categories  -  name subject description stage
> notebook forms fieldValues links attachments reporter responsible source
> roles origin transactions"
>         strategy  onAny: Q2Case readToDepth: -10.       "SMALL GATE"
>         strategy forVariablesNamed: 'name subject stage reporter responsible
> transactions' onAny: Q2Case readToDepth: 0. "KEY HOLE"
>         Q2TransactionLog buildReadStrategyBeAcquirable: strategy.
>
> "          Q2Link id categories  -  from to type"
>
> "          Q2NamedObject id categories  -  name description wikiPage"
>         strategy forVariableNamed: 'wikiPage' onAny: Q2NamedObject
> readToDepth: -20000. "BLOCKADE"
>         strategy forVariableNamed: 'name' onAny: Q2NamedObject readToDepth: 15.
> "ACQUIRABLE"
>         strategy forVariableNamed: 'description' onAny: Q2NamedObject
> readToDepth: 15. "ACQUIRABLE"
>
> "            Q2Category id categories name description wikiPage  - "
>
>                 strategy  onAny: Q2Category readToDepth: -10.   "SMALL GATE"
>
> "            Q2CustomObjectType id categories name description wikiPage
>   -  fields objects loader lastLoad loadInterval hasNil"
> "              Q2LargeCustomObjectType id categories name description
> wikiPage fields objects loader lastLoad loadInterval hasNil  - "
> "            Q2ExportForm id categories name description wikiPage  -
> selector form"
> "            Q2Field id categories name description wikiPage  -  label
> cssClass readOnly selector defaultValue nilForDefault"
> "              Q2AttachmentsField id categories name description
> wikiPage label cssClass readOnly selector defaultValue nilForDefault  - "
> "              Q2BooleanField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault  -
> trueString falseString"
> "              Q2CollectionField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault  -  form
> selectionList"
> "              Q2FieldListField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault  -  field"
> "                Q2FieldDictionaryField id categories name description
> wikiPage label cssClass readOnly selector defaultValue nilForDefault
> field  - "
> "              Q2FormField id categories name description wikiPage label
> cssClass readOnly selector defaultValue nilForDefault  -  form"
> "              Q2LinkField id categories name description wikiPage label
> cssClass readOnly selector defaultValue nilForDefault  - "
> "              Q2SelectionField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault  -
> valuesProvider nilItemString useCompletion multiple"
> "                Q2AssociationField id categories name description
> wikiPage label cssClass readOnly selector defaultValue nilForDefault
> valuesProvider nilItemString useCompletion multiple  -  keysProvider
> useCompletionKeys nilItemStringKeys valueLabel"
> "                  Q2RoleField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault
> valuesProvider nilItemString useCompletion multiple keysProvider
> useCompletionKeys nilItemStringKeys valueLabel  - "
> "                Q2PersonSelectionField id categories name description
> wikiPage label cssClass readOnly selector defaultValue nilForDefault
> valuesProvider nilItemString useCompletion multiple  -  canAdd"
> "              Q2TextField id categories name description wikiPage label
> cssClass readOnly selector defaultValue nilForDefault  -  multiline
> maxLength rows cols"
> "                Q2CaseIdField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault multiline
> maxLength rows cols  - "
> "                Q2DateField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault multiline
> maxLength rows cols  - "
> "                Q2IntegerField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault multiline
> maxLength rows cols  - "
> "                  Q2AgeField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault multiline
> maxLength rows cols  - "
> "                Q2PasswordField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault multiline
> maxLength rows cols  - "
> "                Q2PointInTimeField id categories name description
> wikiPage label cssClass readOnly selector defaultValue nilForDefault
> multiline maxLength rows cols  - "
> "                Q2UrlTextField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault multiline
> maxLength rows cols  -  urlBlock"
> "              Q2TwoStringsField id categories name description wikiPage
> label cssClass readOnly selector defaultValue nilForDefault  -
> trueString falseString"
> "            Q2Filter id categories name description wikiPage  - "
>                 strategy  onAny: Q2Filter readToDepth: -10.     "SMALL GATE"
>
> "              Q2FreeTextFilter id categories name description wikiPage
>   -  freetext"
> "              Q2QueryFilter id categories name description wikiPage  -
>   predicates expression"
> "            Q2Form id categories name description wikiPage  -  fields
> label editForm"
> "              Q2StaticForm id categories name description wikiPage
> fields label editForm  - "
> "            Q2LinkType id categories name description wikiPage  -
> reverseName"
> "              Q2DuplicateOfLink id categories name description wikiPage
> reverseName  - "
> "              Q2ParentOfLink id categories name description wikiPage
> reverseName  - "
> "              Q2RelatedLink id categories name description wikiPage
> reverseName  - "
> "            Q2Mirror id categories name description wikiPage  -  owner
> processes filters prefix"
> "            Q2MirrorDefinition id categories name description wikiPage
>   -  prefix"
> "              Q2PersonalMirrorDefinition id categories name description
> wikiPage prefix  -  owner"
> "            Q2Permission id categories name description wikiPage  -
> defaultLevel categoriesForClass accessLevels"
> "            Q2Person id categories name description wikiPage  -  user
> email email2 signature lastName phone cellPhone shortPhone comment key1
> key2 key3"
> "            Q2Process id categories name description wikiPage  -  model
> objects definition cases workflow importedUsers importedPersons
> importedCategories importedCustomObjectTypes importedForms
> createCaseForm modifyCaseForm tableCaseForms definedCategories forms
> customObjectTypes linkTypes roles administrators filters popAccounts
> popReceivers settings permissions alertedRole assignedRole
> interestedRole reporterRole responsibleRole sourceRole sameAsLink
> parentOfLink exportForms eventTypes processSubscriptions plugInRegistry
> plugInSubscriptions"
>                         strategy  onAny: Q2Process readToDepth: -10.    "SMALL GATE"
>                         strategy  forVariableNamed: 'model' onAny: Q2Process readToDepth: 0.
> "KEY HOLE"
>
>
> "            Q2ReportDefinition id categories name description wikiPage
>   -  selector fields filter"
> "            Q2Role id categories name description wikiPage  - "
> "              Q2Alerted id categories name description wikiPage  - "
> "              Q2Assigned id categories name description wikiPage  - "
> "              Q2Interested id categories name description wikiPage  - "
> "              Q2Reporter id categories name description wikiPage  - "
> "              Q2Responsible id categories name description wikiPage  - "
> "              Q2Source id categories name description wikiPage  - "
> "              Q2UserDefinedRole id categories name description wikiPage
>   -  singular"
> "            Q2Subscription id categories name description wikiPage  -
> filter eventClasses"
> "              Q2MailSubscription id categories name description
> wikiPage filter eventClasses  -  overrideDigest"
> "                Q2ProcessSubscription id categories name description
> wikiPage filter eventClasses overrideDigest  -  process"
> "                Q2UserSubscription id categories name description
> wikiPage filter eventClasses overrideDigest  -  user processes"
> "              Q2PlugInSubscription id categories name description
> wikiPage filter eventClasses  -  plugIn process"
> "            Q2User id categories name description wikiPage  -  password
> processes person signature subscriptions userLists caseLists settings
> filters defaultFilterStack reportDefinitions userCentral canLogin ldapId"
>
> "              Q2AnybodyUser id categories name description wikiPage
> password processes person signature subscriptions userLists caseLists
> settings filters defaultFilterStack reportDefinitions userCentral
> canLogin ldapId  - "
> "              Q2FullAccessUser id categories name description wikiPage
> password processes person signature subscriptions userLists caseLists
> settings filters defaultFilterStack reportDefinitions userCentral
> canLogin ldapId  - "
> "                Q2RootUser id categories name description wikiPage
> password processes person signature subscriptions userLists caseLists
> settings filters defaultFilterStack reportDefinitions userCentral
> canLogin ldapId  - "
> "                Q2SystemUser id categories name description wikiPage
> password processes person signature subscriptions userLists caseLists
> settings filters defaultFilterStack reportDefinitions userCentral
> canLogin ldapId  - "
> "              Q2NobodyUser id categories name description wikiPage
> password processes person signature subscriptions userLists caseLists
> settings filters defaultFilterStack reportDefinitions userCentral
> canLogin ldapId  - "
> "            Q2Workflow id categories name description wikiPage  -
> process stages scratchStage"
>         strategy  onAny: Q2Workflow readToDepth: -10.   "SMALL GATE"
>         strategy  forVariablesNamed: 'process' onAny: Q2Workflow readToDepth:
> 1.      "BIG KEY HOLE"
>
> "            Q2WorkflowStage id categories name description wikiPage  -
>   workflow isClosed isNew transitions enterCriteria exitCriteria
> gatekeepers allowedForms"
>
>                         strategy  onAny: Q2WorkflowStage readToDepth: -10.      " GATE"
>                         strategy  forVariablesNamed: 'workflow isClosed isNew' onAny:
> Q2WorkflowStage readToDepth: 1. "BIG KEY HOLEs"
>
> "              Q2WorkflowScratchStage id categories name description
> wikiPage workflow isClosed isNew transitions enterCriteria exitCriteria
> gatekeepers allowedForms  - "
> "            Q2WorkflowTransition id categories name description
> wikiPage  -  from to fromLabel toLabel criteria roles"
> "          Q2Note id categories  -  parent author subject description
> attachments created origin case replies"
> "        Q2Plugin id  -  owner subscriptions"
> "          Q2GlobalPlugin id owner subscriptions  - "
> "            Q2QuickJump id owner subscriptions  - "
> "          Q2ProcessPlugin id owner subscriptions  - "
> "            Q2CaseAddInterestedPlugin id owner subscriptions  - "
> "            Q2CaseLinkingPlugin id owner subscriptions  - "
> "            Q2CaseTakeResponsibilityPlugin id owner subscriptions  - "
> "            Q2CaseTransitionPlugin id owner subscriptions  - "
> "            Q2ExternalIssueTrackerPlugin id owner subscriptions  -
> selectedProject"
> "            Q2RandomMovePlugin id owner subscriptions  - "
> "            Q2ScriptableButtonsPlugin id owner subscriptions  -  label
> text tooltip"
> "            Q2SpawnAndLinkButtonsPlugin id owner subscriptions  -
> label text tooltip destProcess linkType createOnly forms subjectField
> subjectPrefix descriptionField"
> "          Q2UnitTestPlugIn id owner subscriptions  - "
>
> "      Q2UserCentral  -  casePanels"
>         strategy onAny: Q2UserCentral readToDepth: 99.
>
> "      Q2UserSettings  -  maxCasesInTable maxRecentCases showToolTips
> showIntroTexts showIntegratedHelp showNotesThreaded showEditMode
> showNewNotesFirst showNotesOptions showLinkedWeavingOption
> formatDateAndTime timeZone digestSubscriptions digestTime digestNextSend"
>         strategy onAny: Q2UserSettings readToDepth: 99.
>
> "      Q2ValidationResult  -  denials"
> "        Q2TransitionValidationResult denials  -  validTransitions
> deniedTransitions validCriteria validTargets invalidTargets"
> "      Q2WikiPage  -  source"
> "      Q2WorkflowCriterion  - "
> "        Q2WorkflowMandatoryCriterion  -  target"
> "          Q2WorkflowMandatoryFieldCriterion target  - "
> "            Q2WorkflowFieldValueCriterion target  -  value"
> "          Q2WorkflowMandatoryFormCriterion target  - "
> "        Q2WorkflowMultiCriterion  -  criteria"
>
> "MISCELLANEOUS"
> strategy onAny: PointInTime readToDepth: 99.
> strategy onAny: BlockContext readToDepth: 99.
>
>
>
> ======
>
> non-domain objects
>
> Q2TransactionLog-buildReadStrategyBeAcquirable: strategy
>
>     "I am typically in an ACQUIRABLE ( +15 ) slot in Q2Case we still
> want to hold
>     back our array from casual passers by just collating the times and
> array stats"
>
>     strategy forVariableNamed: 'array' onAny: self readToDepth: -20000.
> "BLOCKADE"
>
>
>
>
>
>
>
>
> _______________________________________________
> Setools mailing list
> Setools at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/setools
>


More information about the Magma mailing list