------_=_NextPart_000_01BEA3F6.D0A61942
Content-Type: text/plain
Thanks for the diagrams - that is useful info.
Sounds like you have received some interesting replies. Something that we
have looked at is the Dynamic Notification function which is available
through the Matrix Subscription Service. What we are planning to do is have
the approver job roles (such as Design Eng, Mfg Eng) as attributes of the
ECO. Then, associate a project object with each document or assembly
(multiple docs per project). The specific approver names are listed as
attributes of the project object. When an ECO is connected to the doc or
assembly, the project object will supply the list of appropriate approvers
for that project with which to populate the ECO. Then, an individual
selection is made for each approver role from this subset list. The ECO
sends the necessary approval emails to those people, who then sign off or
reject.
I've attached the description of the Dynamic Notification module (Matrix
shouldn't have a problem with this - you'll have to go to them for the
code). If it is useful to you, you may want to subscribe.
<<DynNotGUI.gif>> <<DynNotSpecs.html>>
Lori Isch
Manager, Product & Mfg Information Services
Etec Systems, Inc.
(510) 887-3624 Office
* lisch@etec.com
> -----Original Message-----
> From: Butler, Gary [SMTP:gbutler@EMAIL.MC.TI.COM]
> Sent: Wednesday, May 12, 1999 7:57 AM
> To: MATRIX_USER@matrix-one.com
> Subject: Associations
>
> My name is Gary Butler. I am on the Matrix Development Team here at Texas
> Instruments in Attleboro MA.
>
> I am trying to use associations to make Change Control Boards (CCB) for
> different types of document approvals. The problem that I am facing is
> that
> each document can have its own unique Change Control Board.
>
> We have well over 1000 CCBs in our legacy system and we need to develop a
> Matrix replacement that will automatically send icon mail to only those
> people who are on the board for a specific document.
>
> The Matrix Business help gives and example of what I need to do in chapter
> 5, but there are no instructions. I can get it to work if I make a new
> policy for each object, but that seems ridiculous.
>
> Is there any one out there who has a similar problem? If so how did you
> address it?
>
> Finally, in the spirit of sharing information, I have attached a
> presentation that graphically shows the results of Float, Replicate and
> None
> settings in Matrix relationships. I hope that this is useful to some of
> you.
> <<Matrix Revisions Diagrams.zip>>
>
> Gary Butler
> Drafting & Documentation Supervisor Voice: 508.236.1622
> Texas Instruments Fax: 508.236.3905
> 34 Forest St. MS 12-28 gbutler@ti.com
> PO Box 2964
> Attleboro, Ma 02703-0964
>
> Regards:
> Gary << File: Matrix Revisions Diagrams.zip >>
------_=_NextPart_000_01BEA3F6.D0A61942
Content-Type: image/gif;
name="DynNotGUI.gif"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="DynNotGUI.gif"
R0lGODlhlwF6AfcAAAAAAAAASgAAhHNzc3t7vYSEhMbGxv8AAP//////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////ywAAAAAlwF6AQAI/gANCBxI
sKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIEYABBCBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bN
mzhz4izgEQHHn0CDCh1KtKjRo0iTGuD5UanTp1CjSp1KtepBpj4NCNjKtavXr2DDih1LtqzZs2jT
ql3Ltq3bt3Djyp1L161ArALr6t3Lt6/fv4ADCx4c+G7PvIQTK17MuLHjx19bApC8lbIAw021Qt7M
ubPnz5yzLuQpWiHPyg1PX156WPPWA7BjH/A6mytI2wj03q6cu+zu27vVBk873G1x0MiTyy2dkLRA
ANCjRzeMmqFqzFm5yt6uvTZv3Lp//vcGW/y4WfPEx0dWLxa98vfwzzJH6NyA9PvUBYiGTpA/663Y
ISZAbLS95t13CNIVUoLreeXeWA+ex15XETIY34UYtpfaZM8d5NF/+vX3oX8gBujaga8Z2GCCC/Im
Xm8tUrhgcCK5qF9uM8IYY4034qjji8cB+aOLQ7bIY4/jHZnhko3NdxWH9nmYH3PSEXQda5l1daB3
s8EmI3g3hilemGKyV+OYZX43Jprgraljj2SCmSOZblqY5p0VMqnnXk4aVN+HBX2o2nwk5mdiWF4O
qOiBNCbp6JmOkucjmsC9WaeDkKpp6Ztf0ukjkZWymKmMSu5p6l99FvSnlCBSOd1A/lfi5VqBKqLY
aKflqRfkkJ72eqmcn+IZbK4IhhpnsZwaC+apzAaWqpVQAtrflCI+B2isrYGVqGyKLlvnpcoim+yw
5Pq6qaboHtursOlSWi6bzcar4ED3SbuqQYICUJ190vqHbZZfcUmgrUruaOSjK8Z5ZKjuNnqwp+5i
iqy44+J2sMMTyquxcfTiB2u09fqrb4jWjXwobVyquPHKLLdc17Mfw0xtyQBimR2tLues885tIVDA
z0AHHfRkQhcN9Mg+G120yTYLyPPTUEc9VshUV031VlbXW7OsUnft9decnQz22GSXzZeJVqWt9tps
t+32UbIOIPfcdNdt99145633/t589+3334AHLvjghBdu+OGIJ6744oWbOIBOkEcu+eSUV2755Zhn
brnjmnfu+eeghy766KSf9DjnMr+t+uqst+46UHJnFTdIr9du++24525Q7KjrjhDjwAcv/PDEF2/8
8X4/xHvTBjyeeu3IRy/99NRXb33hzzd/OvPO+36Q3N6HL/74DNHu0PKzZ+86+OS377745jeEfmvd
d/yqh9LyC1H+G7H//v8AfF38GDK/zNRPf9ZCSKEkssD+DcBaHrvIdO4XlAgqpIFK4V8AvTfAhRQw
KwdsoH/4Q8IRmZBEVUqhBiviv35pBFAr/EkMA5WUGW6QfB1UyAcFEkIKjtAj/hMEohAT+EMEYpCF
D+wQUGB4FBvSq4Y3jGIOE7LD5g3QY0XM4hD1t8AjYqSFSoTgD7d4wSjZr4hGLGFD+kVGfhUKi2p0
oxnFKKI3drFKXHRiFKMyxd9tL334CiIRTZhHFQZKjxNp4f3yB8MRLQSIT5zWHNkYxoQw0pGRzGQY
R9ghSOJLkp/UpBk5uUe29fF7f6RfH+PIyiHe8ZBCAeMkaVhJhrhQkkwU5SNpOcde+jKX0/KkG9+o
QFAqEZilTNspd5dKA8YPha4sYTTTSE00akSWxpzlQ24ZSWQispbe5OUmP+lJbvpSk4wcZzLVtsyC
VPGAw2xkHqk5zDN2DIHX/kziOdNZy12KEpPE3CYvzflLXUISk5VEaEJpicx1UqWdBHknRNf4TaKw
D49nPKEX61hHOxZyo2I8oRzrmdGQ3nOLKaxWSU0qRwo6VCoT5WEzQRjTC1bUovp8qU53mpGaSlR9
rfMfT4dKVIj4dKY8rOn6clrUpjrVIEeVnSqByrrYle6qWM2qVq+qPKRakaqrc95Wx0rWsprVJl2V
qjPB+tS2uvV9P32rXOe6zriOL2t4zate98rXvvr1r4ANrGAHS1gL3s6u4iusYhfL2MY69rGQFazv
EBs+6FzvspjNrGYB55/BVYWy3rPsZkdL2tJWDwGdDRxbOQJa34mWrrAd/gpIUvu9gyg1ll6FZ2gB
INTY3hCkR5nth3r7EaYK5LZBQewigZu21/p2j8wtinBlClXiIhd2uX0mNG8qFedC8J6WLEp098dd
pIw3IxiFKWqHy1SQWHe1DlQrTfcTxDE2crv3lad9E0hebDZ0I4gsry1VJ+CKuBQq09VeQWjX2+v+
RLn1RamEq3lSIU74vPy6KEOFEuAKEtgpB35KgoVqvgbDN5/yTSp9ozTNQnL0kK2kJwN5m0R+RjC9
N8Zoeotpxx6DNMfLfVUcLTlkw14yyGxEcn5D7JQR5zR+JD5xRiDM4o/ul46DrKZht0ljcC4UlOnk
5zkVqNBuijOUnaSh/o3LjL80G5Og/CuzMN383Yeul7rHLU2UP5vdFQvyiD6MsRYx4lwbZ3PJJAzv
GjMJ5EU/MWTxJOWYzwxpdNaLpSMNaaLtVxUnD6SD/nMwa/tc4RYLmpCDFuQ8+1vjDf9Tl5OO9UC/
rFJF0zmbjB4wrt/Mqn5K+s0YDoqnPzKfUEv5i6TmLyFJymwd47GV1nSId4EJ51eLmc2z7qWcy/ho
Nbta1l7mtbVx6e1gvngqw54i+0Qd395lELzo7TKnNY3meK4U3mS2MB01OsNLYxqO+s63j5d875Ta
+9/+RvedFdzHdR/7Iq01yo4lKG+KFPi5Gby4Rjx9SvCxG8XuTmzF/smrcYybt+QYcbJ790ZsPqf4
q+TzrslnLhGV++3jU062yIlL854vZNgNwTmyX65b147c50hPiMpd4vKQV/boSY86QZaukqI/JeK5
k7nUt07s1LbTqk3nntCtonWuR33pHrS6U7COu7KbHelo16HalcL227n97T2POxXnnpS62+7ueJ+5
3v04dov4vXaADzzGB4/KwiOR6I6fSuIV71vGMzPyidT503lO+cUvHOxyx7xEDv+6yXeerpZ3J9+R
QnrXmf70ck19RFd/lNa37vWwd6vsBwL6qdiedbjP/VN3L1PRR+T3qwu+8JtKfO0ZHyLIJzDUl4/6
z6++91KJ/tuU/k/9oTYf+1HRvtu43/2dfp/2RhF/28hf/pee//lpdfpuOd/+4Vv/6+gvivrZxv76
J/P9D2d4mjd/xuV/9ud1MAN+ULF/a9N/BihF95eA+YdTkBeAVOGAD7hBABh2gHRX05eBRLWBVMGA
aoOBIPg/Iuh7A2h09HeCOpWC2beCumOCLtg+MBh+Mph1H1iD7heBaQd/55ODbbeDPLhON7iAQmh3
RFiEpXSEV5eEf7eETAiBCPiDFkgRJNhcUjiFGuiDoXeFmVeBMbeFXAhATrh2UIh4ZFiG73OGdJeG
pbeGbGiDXrh3QCg/cOh6cjiH4+OGfZeHt7eHfBg+fsh6gAh8/oI4iL5TiLV3iMmXiIqYO4yYfo4o
fS0YiXRYhV/IgVM1hpeIiX1Yh4QHhqNXidsHiaBYO5Oof6Y4fqiYiq6zihQofyxYgLCIQ6LYeKR4
fK24fq94i6sji0ORhWT3i8D4NsKIW2LogZ94jLiTjMnVi/xnjM5oSrl4ebsIfdLYgNRYjex0jap3
hwS0jSXYjd5oFdCIXcu4c7Z4js8IjrMnjj9IizNoju6ocJpoh9kYf2K3jxnXjPfIOun4YOSohQAZ
kKozkKO2jpvXjggZi/DIexM4jAVZjAf5kG2jkO3Wj57okBgZjBFZfP6IhwxJgB8piSHpfCM5jiVZ
iyf5jvk4/oqcuFYd+ZK3o5Egx5HM6JE2aY0xqYszOV812ZMClJIK+IQtWY8XSZT4yF74J4+hR486
uJRMyUdGOZHKKJVDSJVVKWJXCZV2qJVKyJVdqRQ4mXNJOZU8WZZNKZJWGJQqNpRs6TZnOXRiGYVk
OZdGUZcQV5FVQYN6KWxfuZLzqJPsGJgZOZhwCXM7iZg+6ZQSCJaEd5dqmJeOKZg/iY2LiZWWuJaX
iRR8KYBpuZWe+Zl7qZgj6JcXaI+mWRGh+XiUGYeW2Zobh5oqOJpjWZq0KRSviYWqKXmsuZsR0Zth
GJt6OJvCaRHEWYq4iZe6mZwcsZy82JyV+ZzQWZuZGY6E/hmVhtmQ1+mV2RmP2xmW3WmS32mWthmD
1Cmb1nmeypmeOLiex9me7kkR0qmN8hmIyFmfDnGf/NiBh8mfpxmeEimZjWec+kmfAmpU8ImE+YmI
+7mgCuGfQfigjxihEooQFEqSCAqhCpqh5dOgSNmhF/qhIDqhIoqGFtqZJ4qZkPmWqbmip4ihLfpp
KfqGMuqKNFqjXfeimxijJMqiPLoRG8qSQTqjJjqkUxeBfWOgl3ekOpqkSppnXndz4zmZ5emSU5py
1vcQThqOUOqLO1qjVMcSm/mlSxScLcpxVYemBRqm0zima9qlHfdAblp8cMqNcnqi6dYnHnelB5ql
Siml/lPap6iUZ2cKqBympnzapYiqeo96m3lajnsKokAHavp0p843qQZJqEoKdC0nkTaaqHK5pa7p
qJG6Z0AqqGppqhcBqqGqqpLKqqTpqu9JW0uqYLm6qgDqnbZqn6j6aXOzYIoKprSam78KrLg6de9F
qo2ZrDUXrKJKrM4aoNDKoMsaUbZVrPHIqRYpVmcVruI6riGBgC1RrZtHruq6rmXVWTCBrrsVWfI6
r/Rar/Y6r5P1m911r/zar/76rwCbrzl6rUxIjASbgQZ7sAaYsApbfwzbsOX3sBBLfZS1Zfima/AW
bLY0cTZ1sbjEb/vDXxNbmAAKTWTGZbAksgBWXkK2/kKvNGMji58hh0HPplH2hGPy1Gwte2UXW7M9
pmwRFmlphF/1dGUxRrAQ5lHzNGirlrEXhmo5q7RAi083+7RZtmqbhrVP22LXWrE1m2VM27P6pbRF
RrOG1LQnpbVadrUwZrVq27CtpUKGdGkv67RYRrdJdkkqNWSl5ranFkhqy7Qae6JYx7doS7WIa7Kc
VrfzprJhC16q9reHK7h+i3L8SWVXq0aUm7hjm7lkFG1k20ZAW7lrG7hQ67mI+6tei2Sjm19iy7p3
m7cpa0+pq7jO9rbO1rJDu2yGq7r6GrO5J7HAe3rCO7yUV7zGG3jIm7xvt7zMy3XO+7xSF73Sm3R2
/mVa2Ju92ru93Es8sxc4eKqT3Tu+5Fu+5ju+eqZa4duBckMA7vu+8Bu/8ju/9Fu/9nu/+Ju/+ru/
/Nu//vu/ABzAAjzABFzABny/A8RzBVhiyda+ZvPAELwyAZDAxoUACwxCDTwABBDBHNzBezLB6Vtd
FYzBy+jARAIhGSMcebIepSIxkkIeHhzD8AHCs0eszbqp4qvBDuIbcJEkbKErENIeMjzEGULD0zqq
Jra+nag9G0whPGwcOywcTizEYZHCRHzFnWHEePaoSYzD7KvDUwwqtqEwwULFYyzFY8wmIxHFFoMp
MYLFcOwXWqyrqfpkJOxuJnzG+hHFvyEnQRzG/mixxpWhx0Csx4BsJnGcyHwxx8ZWw6PqxUucx4M8
yWfsw5RsxXsMyPIBw5d8yJxMyYocynvByJnKHI0MyTTJxJm8yojMyoT8x4a8yZHxyoacMYUsyrhM
F6QcqUfMwCWsw5a8ypMczMFcxbEsy3xczLfsyZqcy858FrscqpAaqxncxG+MJEVSKZNCFtcszFXc
zQwjyNhsMRiDyc98zl+xyw2XRL6Mx2CsGOGCzvIcL+qcKn+qxKksyfO8z85MyiunN9T8y03MzwSN
y/5spfgslKpc0AytyNEcdHecwwPd0BRNxP7MdKis0Ppc0RzNwRfdphH9xRPd0ST9wBcNo9f7/s4t
3DMrHcgvQxIlXdIn/aMpPdLmjMbe/BjLHNMUPdP6mNBxudDH/BY77Rg3zdME7dMymdFBrc+6sjAt
XctiPNVwQipzUiEw0iZPDSlljNRDrNRAydSM6dSxjCNs/Ml7jMitDMq33McoPBxuvcxu7dUyDNaa
Kdb1Q9agnNYwbcZ8LcjdLMxtPdRTPNiC3cx0HcN2rZ1APdbATMtpTBxObM7lwcyuDMthnNVSndhX
vNji2dh5/didPNlnPcvDvMNr7c3iXMxordmsXDCc3dkU/JQhHclgfM2rHdXjTM6PUs6cnCNWXBJw
As5UHdsd7NkFWtv5/M6mctRz4dzGbTbI/u2WeM3AI40huv3cgR3dij3bkancGs3c3D3ezDLdKgna
1k3e6l3e3o3S1bze8K0n5g16NR3f9o0h8x3aAn3f/P0e+d3OEk3OjCHOfAHc/R3K/w3eTS3e0P0y
pa0bhH3gX93eNP3eiO0sicHaEi7b6Uvb6I3BNm3VbbzVvu3XwAIqvZ3NkJ3bF6MuG64zCf7hMhXi
n2zWrj3Iqc3CNALZac3GcV3JqO3jN/7iORPj1Q3iZ73aPY7NL7IWrq3MTK7hxAzXfZ3TRA7jFP7T
Rz7jl33YOJ7JlN3gTy7VwW3aOT3XZn7lPGPk9U3Mmb3kav3gZT3MUL7WE2LJcf7mav40/mxu4bg9
I2ICMSXeHgVDLgZzMblC4ile3HveMn2+33rS4I3ez1m+1PXNJNs96fv86O583Zr+6XLB6RIdAKRe
6qZ+6qie6qq+6qze6q7+6rAe67I+67Re67Z+67ie67q+67zO6pUe1ildvWb363cd7MK+dcTO2FtO
x8eedMn+2csuVIObb5nW7LgI7Vpu7LBmEf9l7YTY4d8t48wObgy07d6uO97dpAru2OZWcBwLZu6+
s6l77uoVjwgd7TklTGF2Ztm272CGbfTulY4M0eLuX/0Uaf3GaAOHQgG/NhTspese2iulQRX1X7/G
7w1f70ccogWvT7nk7+auTSCvThnf/mkh3J8Rz8DftbP45USBpmSYVvJWOfAcj+8y73k0/3Mpj8E3
/1wPj/Id3/OVd/IEb/NCD1s/X/TafvSxR/Q1v/RMr3vgfq5GH/Vv9fArod/urGl6+0hMZvVFWcN1
GtBbT2shv2tgr4onv85kn8Nn32Fpj+5r7yQOF/TH1FFwz1J8C2TTHvdA38vFxs47v8U6hvZotmZ3
3+5n7/fvOfCY+sjajlAEZWuGdkz+9vWMX5s0n/QA/sUGZfjaVFAi7/WZz5tOD2V2bPfatvqU/2qj
r/gHX/qv6vTUvKvGXmkJhz9HNkYjxfeWK/u7usWI2sVQD/wOlfTCSvwZbPw8hfzH/nXDxc/8TUj7
ws/Fyy/9PZjzPLStHc+u3v/94B/+kCOeVH+94n/+6J/+6j8SEfWuy4790/u78O9QP3W+9n//+J//
9g95+t///g8QAwQOJFjQ4EGECRUuZNjQ4UOIESU+RGDAQAEABioaGIDA40eQIUWOJFnS5EmUKVWu
ZNnS5UuYMWXOpFnT5k2YFjFqtNjT50+gQYUOJVrU6FGkSZUuZdrU6VOoUaVOpVqV6s6NVrVu5drV
61ewYcWOHYvVJ060aWeeVdvW7duXbOHOpdvSp9medfW2HSB371/AM/vmDVy47mCdGbNqXEzWcVSB
bB9Ppuw0MuHKmb9eTswTs2bQ/kY5Mw5duvRoj6ZVQx2N12Lq1bFRN45dezNi0rZ1F22tWPLu0LOB
D9cqnPhxjrhd50Y+2Xhz6EufR7fd2/Nr2tRv/9befeh076atL4Y9FcD580PTJ80IFH3P9Oupgo+K
vr38p/bbB8Vv9P5+zejLb7/+fPrPoveEkq/A4JTz7TOpFgTQwAmJYjBBA+KrkDXcyovwQAaVklDB
DUmUrcPsnEowxP5ChI/AEgN08Drm6tvQPgT/k1DDFjNaT0OrBGyqwB8xxDFDDJHkb0UdYeTRxyZz
VDJHFy1DsSomqYTyySOn9LLIHaNEssqmxuPORvyKVFJNNisEcs0Yy7zSPDeh/pQSRi9fTBNEO+G8
k88/7VSzKiGHfO9NRAXFU8o/G/WTUTKlm5G8FA3N0s82fyKyzzfnm/ND9zh1sk9Nj8w0UwodTXRM
rgplKr5HV0WVUTgBnDVJQic9k04uFcWxx1Cn7HQqV0Wsc8wshy2111oPnRDVVZEt7lNQfwU0VlK/
FFO/bLv09K4HseNKWXKfNVe/R7+F0MZggU3XRGDdfVFVUSmMk6lijaVS2Hpn1dbePANmNVdwafQQ
qhFPvbbceZWFjFp2MV04W1pl7XdifjMeVF1xqQJT42sHnpdekEeOVCkz10UzTEiNdDnVRk9OKl9j
B+0S3QtvvlTnhLc9UNog/iFGeFGd08UV2VH1/FnLaQumNLywaIYaOakdk/lEp3edummVt+6uarGO
plrXrr3muEaztQM77VbJ7phtgsuG+7i15467s6ftJlZovYeru++Hs5Yb8Jn5Jrw6ww/fKmXsJnL8
ccgjH4gtySu3/HLMJaI8c84795xxjT4XffSDziL9dNRRNz111lsvSHDFY5d9dtWWo/123HP3ynbd
e/f9d6V4B3544okX/kTXk1d+eeZF92kivwwbCfbdmrf+euyzV2gxiSiVfiS3q8etePIz83C0nsZ/
G23QQNcN/fLjd+x89RFQv8aD2w9/SSMt5Fp+AJKFfkCxX/3yJp79laph/jG6GlIuw62hBVCCPxng
5gh4wNMkEGZKY5q1WrYxoXDGVgibYAlrhL7UoBCDDaJeqPaEoAW2rGREEaGBSGhCCVawYyrUmoxa
6EIQehBk9wJKDeGjpaQpTUciw6HvdMic6eRPPehaEgwl9UP+kQpINhPTUURoKk25x4pjJFATh6fD
J3pIiiZCSgMt4j4L1QtbtGIiDRFzHyWC6Uc2JKMZgYfGxnBGjZUKFsyYhTINjmyOc3SWo75zxz6K
8YgZ4iMMiehHxVUwf4JcYRwVKDF8JVKJJjPVxEAYFCNSUpVHHOEqXekjTP5Ok9m5zCDZQ8VSCkw0
olTNA7noMlghrZWx/uzdANdYy05OsYqOLBwWsRaWSxITcMasVGRs2cY6+cuBvEQgWNwozbnRzyMM
wR8hP0nKd23TmauBHzjdSUHudcQh1zwKBKEVzfRxM4Pv5GdQnlgUeu6zJ8dj5/366U5xsqSHmYFj
bdp5UHAmFCUdSSZD9clCiB40oQ0JKEbxRpyHZjSW4pxnRSvT0GeK9J3/JEpH9bfOXhpUpX6UqEo2
pz2YdnOmCI0nY05C0dVp76Iv3WlEe7rG5LAPOASNaVGN+rzBHLMvSLUNU3Xq1JH2VKnIhI5VBYpV
TAKyiFE1Z2y86lGwmlGsUB1cVcMlvrSGVavr42RX3/o+mcYVgGnMxsrfMnNWouoVh/+EjV8rA1gf
CnawcxUXD5uDWIsqdrFspeDkFqobyJ40r5ItHksLeEG70givnC0hS5MKz9CWFa2klZ9p70fV2mSW
MgL5Xm1te1vclgSqdnnsXauTW+AGV7h/eZ5LUsta5JpRtsllLu6W21zoxu650aVu33ZSAOxmV7vb
5W53vftd8IZXvOMlb3nNe170ple962Vve937XvjGN77com997Xtf/OZXv/vlb3/9+18AB1jAAyZw
gQ18YAQn2L8BAQA7
------_=_NextPart_000_01BEA3F6.D0A61942
Content-Type: text/html;
name="DynNotSpecs.html"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="DynNotSpecs.html"
Matrix Professional Services
December 2, 1997
Ó Copyright 1996 = by MatrixOne, Inc. All rights reserved.
PROPRIETARY RIGHTS NOTICE: No part of this material = may be reproduced or transmitted in any form or by any means, electronic, = mechanical, or otherwise, including photocopying and recording or in connection = with any information storage or retrieval system, without the permission in writing from MatrixOne, Inc.
Contents
Overview
Installing the Software
Creating
and Maintaining the Schema
Configuring the =
Programs
Companies often need to notify specific members of = various functional roles or groups to work on an object as it enters a new = state in its policy workflow. Typically, this is done with the state's = =91Notification=92 field in base Matrix. However, this approach can result in an = unmanageable number of policies due to the number of different notification = combinations. Therefore, the Dynamic Notification customization can be used = instead.
There are six different scenarios for using the = Dynamic Notification customization:
A Matrix export file, mxDynNot.exp, is distributed = with the Dynamic Notification customization to create your initial = schema for executing dynamic notification in each of the possible scenarios. = This includes the following:
Project Teams Notification
Role/Group Notification Through Attribute = Settings
Person Notification Through Attribute = Settings
Organization Chart = Notification
Distribution List Notification
Select Approval User = Notification
Dynamic Notification = Enforcement
Creating and Maintaining the Schema
Project Teams Notification
To implement Project Teams Notification a = "project team" object type is created. This type is assigned attributes = that correspond to each of the functional roles that make up the project = team. Each attribute has range values that are equal to each of the person = object names that are assigned to the corresponding functional role. A = range value of "N/A" is also assigned in case the role is not filled for a = given "project team" instance.
Suppose that your database has the following role = objects that constitute a project team:
MQL> set context person =
creator;
(or an equivalent Bus. Admin person)
MQL> exec program =
mxDynNotDB.tcl;
A "project team" object instance is created for each = possible combination of individual person objects that need to be = notified. Therefore, if a company has 2 project teams, "Team A" and "Team B", it would be necessary to create instances for each one:
Role/Group Notification Through Attribute = Settings
To implement Role/Group Notification, = you must designate an attribute on the object type whose values correspond to the role or group that needs to be notified. For instance, = suppose that you need to notify members Plant Engineers from a specific = locations whenever a Part is released. To do this, roles for each locations plant engineers are needed:
Person Notification Through Attribute = Settings
To implement Person Notification, you = must designate an attribute on the object type whose values correspond to = the person or persons that need to be notified. For instance, suppose that you need to notify the originator of a business object whenever = it's ownership. To do this, an attribute with range values = corresponding to the person/persons to notify needs to be assigned to the business = object type. This attribute might be called "Originator" and have a = range value equal to 'John Doe'.
Organization Chart = Notification
To implement Organization Chart Notification, "organization = chart" object types are used. Each instantiable organization chart = object type must have a name that exactly matches a group or role object in = the database. All instantiable organization chart object types must = be ultimately derived from a single abstract type (typically named = "ORGANIZATION CHART"). If appropriate, many levels of type derivations can be = used. An example of the organization chart type hierarchy could be (abstract types are all caps; instantiable types are title case):
MQL> set context person =
creator;
(or an equivalent Bus. Admin person)
MQL> exec program =
mxDynNotOrgDB.tcl;
This program creates new instances of organization = chart object types and identified instances that no longer correspond to a = person object that is assigned to the type's role or group. If person = objects, Joe, Sam, and Bob, are assigned to role Draftsperson, the program will created the following object instances:
An organization chart structure, created from the object types = listed above, may look like the following:
Distribution List Notification
To implement Distribution List = Notification, you must create a Matrix Group object that serves as the top-level = category for all distribution list Group objects. Typically, this = top-level group is simply called "DISTRIBUTION LIST". Children groups are = created to define the actual distribution lists. Each of these groups has Person object assignments that are the recipients in the distribution = list. These distribution list groups should have a consistent naming = convention. The following is an example of what the distribution list group = hierarchy might look like:
=
DISTRIBUTION
LIST
--> Distribution A
--> Distribution B
--> Distribution C
--> Distribution D
A Boolean attribute must be created that = corresponds to each distribution list group. Typically, the attribute title = is the same as the group title. However, you can name it differently as long as the group title can be converted to the attribute title = using Tcl format string substitution (see section Configuring the Program).
These attributes should be assigned to each business object type = that uses dynamic distribution list notification. An attribute value = of TRUE indicates that the persons assigned to the distribution list group will be sent an icon mail message.
Select Approval User =
Notification
When implementing the Select Approval =
User
Notification approach, you must add signatures at the state the =
program
is implemented.
Project Teams Notification
The Project Teams Notification library =
program
object, mxDynNot.tcl, has the following Tcl variables that must be set
to reflect your database schema:
Tcl Variable | Description |
sDynNotType | Defines the name of the = "Dynamic Notification" object type. For some companies it may be appropriate to name this object type "Project Team", "Product Team", "Cross-Functional Team", etc. |
sNoDynNot | Defines the value for the Dynamic Notification attribute range that indicates no person objects are serving the particular role. This is typically set to 'N/A'. |
Tcl Variable | Description |
sTaskSubject | Defines the message = subject sent to individuals who must perform work in order for the object to reach = its next state. |
sTaskMessage | Defines the message text = sent to individuals who must perform work in order for the object to reach = its next state. |
lTaskUsers | Defines a list of roles = and/or groups who are dynamically notified with a =91task=92 = message. Set to "*" if all users should be notified. |
sAwareSubject | Defines the message = subject sent to individuals who need to only be aware that the business object has = reached a particular workflow state. |
sAwareMessage | Defines the message text = sent to individuals who need to only be aware that the business object has = reached a particular workflow state. |
lAwareUsers | Defines a list of roles = and/or groups who are dynamically notified with a =91aware=92 = message. Set to "*" if all users should be notified. |
fIgnoreSigs | Indicates if signatures that are to be approved by non-notified = groups or roles should be automatically ignored. The customization = assumes that the user who triggers the notification program has ignore access = for each signature. If not, an error will occur. Set to 1 to = ignore signatures. Set to 0 to leave the signatures alone. |
...
set sTaskSubject
"Task Notification"
set sAwareSubject
"For Your Information"
... |
Role/Group Notification Through Attribute = Settings
The Role/Group Notification program's =
behavior
can be changed by altering Tcl variables defined at the head of the =
program,
mxDynNotUserSettings.tcl:
Tcl Variable | Description |
sDynNotUserAttr | Defines the title of the =
attribute
assigned to the target object that is used to indicate a role or =
group.
For an attribute that is on the target object, merely specify its =
title.
However, you can also use direct MQL syntax. This allows you to =
access
an attribute on a related objects. For example:
Note that the brackets need to be escaped = (\[ and \]) for Tcl. If this attributes value contains commas, it is assumed that = multiple user object(s) are being specified. |
fDynNotUserApprInter | Defines a Boolean switch used to intersect the Person assignments = determined from the sDynNotUserAttr setting with all Person objects that have a = signature to leave the current state. Set to '1' to perform = intersection. Set to '0' to not perform intersection. |
sDynNotUserFormat | Defines a Tcl format = string used to convert the value of the above attribute to a Matrix group or = role. A setting of "%s" indicates that the attribute values are the exact = same as the role or group names. |
sDynNotUserSubject | Defines the mail = subject.. |
sDynNotUserMsg | Defines the mail message = text. |
fDynNotFullName | Indicates if the dialog that is used to confirm sent notifications should refer to the Person object recipients by their object name (set to 0) or by the full name attribute (set to 1). |
...
set sDynNotUserAttr
"Plant
Distribution"
... |
Person Notification Through Attribute = Settings
The Person Notification program's behavior =
can
be changed by altering Tcl variables defined at the head of the =
program,
mxDynNotPerSettings.tcl:
Tcl Variable | Description |
sDynNotPerAttr | Defines the title of the =
attribute
assigned to the target object that is used to indicate a =
person/persons.
For an attribute that is on the target object, merely specify its =
title.
However, you can also use direct MQL syntax. This allows you to =
access
an attribute on a related objects. For example:
Note that the brackets need to be escaped = (\[ and \]) for Tcl. If this attributes value contains commas, it is assumed that = multiple person object(s) are being specified. |
sDynNotPerFormat | Defines a Tcl format = string used to convert the value of the above attribute to a Matrix person. A setting of "%s" indicates that the attribute values are the exact same as the person names. |
sDynNotPerSubject | Defines the mail = subject.. |
sDynNotPerMsg | Defines the mail message = text. |
fDynNotFullName | Indicates if the dialog that is used to confirm sent notifications should refer to the Person object recipients by their object name (set to 0) or by the full name attribute (set to 1). |
...
set sDynNotPerAttr
"Originator"
... |
Organization Chart = Notification
The Organization Chart Notification library =
program
object, mxDynNotOrg.tcl, has the following Tcl variable that must be =
set
to reflect your database schema:
Tcl Variable | Description |
sDnOrgType | Defines the name of the = abstract object type from which all instantiable organization chart object types are ultimately derived. |
sDnOrgSubject | Defines the mail = subject. |
sDnOrgMsg | Defines the mail message = text. |
fAutomatic | Recipients of the message can be =
determined
in 1 of 2 ways:
|
iNotLevels | Notifications can be sent to multiple = levels up the organization chart. The default is "1", which notifies the direct manager(s). Set to "*" for all levels. |
sGuiUser | If fAutomatic is set to 0, then the GUI = is being used to select message recipients. Define the group or role that will be used to create the list of potential person recipients. |
...
set
sDnOrgSubject
"For Your Information"
set
iNotLevels 2
... |
...
set
sDnOrgSubject
"For Your Information"
set
iNotLevels "*"
... |
Tcl Variable | Description |
sDnDistGroup | Defines the name of the = top-level Matrix group object used to categorize all distribution list = groups. |
sDnDistSubject | Defines the mail = subject. |
sDnDistMsg | Defines the mail message = text. |
sDnDistFormat | The program needs to find attributes on = the object that correspond to a Matrix distribution list group. = Typical schemas choose to assign an attribute title that is the same as the = group title. However, you do not need to this. Using the Tcl = format specifiers, you can define a format string that converts the = distribution list group to an attribute title. A value of "%s" indicates that they are the same. |
sDnDistRelType | The program first checks for the distribution list attributes on = the target object. The program can also be directed to search for = distribution list attributes on related objects of the type defined with this = variable. Leave blank if no search is to be made. |
...
set
sDnDistSubject
"For Your Information"
... |
The Selected Approval User Notification =
program's
behavior can be changed by altering Tcl variables defined at the head =
of
the program, mxDynNotSelectApprSettings.tcl:
sDynNotUserSubject | Defines the default mail = subject.. |
sDynNotUserMsg | Defines the default mail = message text. |
...
set sDynNotUserSubject
"For Your Information"
... |
The Subject entry box contains the subject title initially =
set
up in the mxDynNotSelectApprSettings.tcl program. The contents =
within
the
entry box can be changed at run time by the user.
The Message text box contains the message text initially set
up in the mxDynNotSelectApprSettings.tcl program. The contents =
within
the
entry box can be changed at run time by the user. Free form =
text
is allowed with...
The Select Users For Notification list box contains all users
having signature authority to the target business object in the current
state.
Users can be selected by using the multi-selection click, =
drag-and-click,
and shift-click techniques on the name value, (highlighted denotes =
selected).
To deselect a user, control-click on the highlighted user's name.
To select all available users, click the Select All command button.
The Select All command button selects all users presented in
the user listbox.
The Clear Selections command button resets the Subject and =
Message
entry boxs to their default values, deselects all selected users
and disables the Notify Users command button.
The Notify Users command button sends icon mail having the =
target
object, subject, and message to each of the selected users.
The Exit command button unloads the GUI.
Return to Contents
Dynamic Notification =
Enforcement
This program is implemented as a promote or signature =
approval/rejection
check at a state that is already using w Dynamic Notification programs
to send icon mail upon entering the state. To properly configure
this program, you merely need to copy the settings from the =
'notification'
program into a clone of this enforcement program. This is done in
the set-up section of the program object. The following table =
lists
the settings that need to be copied for each Dynamic Notification =
approach:
Dynamic Notification Approach | Setting Variables to Copy |
Role/Group Notification Through Attribute = Settings | sDynNotUserFormat
sDynNotUserAttr fDynNotUserApprInter |
(No other approaches currently supported.) |
------_=_NextPart_000_01BEA3F6.D0A61942--