projekt01 | It is easier to implement interface 3 + 4 if we have a zentralized WorkList and WokListHandler implementation | 00:00 |
---|---|---|
srichter | I have a centralized worklist | 00:02 |
srichter | but my applications register themselves with that worklist | 00:02 |
srichter | upon initialization | 00:02 |
projekt01 | ah, ok, we store the process instance in utility. This is the only one local utility we need because of the persistence | 00:03 |
srichter | I need no local utility | 00:04 |
*** RaAtBRC|away is now known as RaAtBRC | 00:04 | |
projekt01 | Yes, I know, how do you provide a local setup in a site? | 00:05 |
projekt01 | I guess local adapters and local utilities? right? | 00:06 |
srichter | what do you mean with local setup? | 00:06 |
projekt01 | Let's say you have two sites and you like to use different worklfow configurations. | 00:07 |
srichter | I don't have this case :-) | 00:07 |
srichter | I specific workflow is always for a particular component | 00:08 |
projekt01 | Yes, but the same component can have different workflows in different sites. | 00:09 |
srichter | not SchoolTool | 00:09 |
srichter | in sT there is only one site | 00:09 |
srichter | the workflow is flexible enough to adjust itself to different schooltool sites | 00:09 |
srichter | so, schools setup the levels they have | 00:10 |
srichter | based on this level setup the workflow varies | 00:10 |
projekt01 | Ok, I saw something like levels but I didn't find out what they do | 00:11 |
srichter | so basically, you have levels and you define how they are connected | 00:13 |
srichter | for example: grade 1 -> grade 2 -> ... -> grade 6 | 00:13 |
projekt01 | levels = permission levels? | 00:13 |
srichter | You then say the student enrolls in grade 1 | 00:13 |
srichter | no, school levels | 00:13 |
projekt01 | classes? | 00:13 |
srichter | (1. Klasse, 2. Klasse, ...) | 00:13 |
projekt01 | Ok | 00:13 |
srichter | once the student completes the first grade, the system looks at the grade and asks: what's your next grade? | 00:14 |
srichter | then the second grade is set as the next active one and is being completed | 00:15 |
srichter | this loop continues until you reach the final level (grade 6 in our example) | 00:15 |
srichter | at that time the student graduates and the workflow is done/removed | 00:16 |
srichter | the nice thing in WfMC is that you can loop easily over a certain sub-process | 00:16 |
srichter | only changing the workflow-relevant data | 00:16 |
projekt01 | Ah, the level is a workflow relevant data attribute | 00:16 |
srichter | yes | 00:16 |
*** MrTopf has joined #zope3-dev | 00:17 | |
projekt01 | Ok, do you use different permissions or something like that in different levels? or just set the attribute level? | 00:17 |
srichter | no, no different permissions | 00:18 |
srichter | of course I could register an application when the level is changed that could change permissions, if desired | 00:18 |
projekt01 | How would you implement if a item in a private state are not shwn in a container. I guess you would use a own container view, right? | 00:18 |
srichter | (applications are the key to WfMC workflows) | 00:19 |
projekt01 | Yup, I see | 00:19 |
projekt01 | do this, do that... | 00:19 |
srichter | I think I answered your question ;-) | 00:19 |
projekt01 | Yes | 00:19 |
projekt01 | Thanks a lot, I go ahead and try to solve the dependency to the IProcessDefinition utility in ecm ;-) | 00:20 |
srichter | :-) | 00:20 |
projekt01 | I still think this is to implementation specific implemented in zope.wfmc right now ;-) | 00:21 |
projekt01 | Will add a proposal if I solved it more general. | 00:21 |
projekt01 | Will/I will | 00:21 |
philiKON | grrr, i hate zope.org | 00:26 |
philiKON | fdrake, ayt? | 00:26 |
projekt01 | srichter, do you have a minute again? | 00:28 |
*** benji_york has quit IRC | 00:29 | |
srichter | sure | 00:29 |
projekt01 | See zope.wfmc.process.py line 193. | 00:29 |
projekt01 | There is no need for the getUtility part because the definition is given on the constructor | 00:29 |
*** Alef has quit IRC | 00:30 | |
srichter | yes, it is | 00:30 |
srichter | because process definitions are not persistent | 00:30 |
projekt01 | argh, yes true | 00:30 |
srichter | and they contain references to modules as far as I remember, which means they are not pickable | 00:30 |
projekt01 | yes | 00:31 |
projekt01 | How could I implement a generic replaceable lookup | 00:31 |
philiKON | fdrake, sent you an email | 00:31 |
srichter | projekt01: I think the adapter you mentioned is probably the best idea | 00:32 |
projekt01 | But how can we use a different adapter? | 00:32 |
projekt01 | I have to define the adapter lookup in the process module? right? | 00:32 |
srichter | override the default registration | 00:32 |
projekt01 | Ah, with a override.zcml | 00:33 |
srichter | yes | 00:33 |
projekt01 | Hm, it's one solution but is there not a more generic way | 00:33 |
projekt01 | Which don't need override.zcml | 00:33 |
srichter | I really like the current implementation, btw, so any solution would need to be non-intrusive or very little intrusive | 00:35 |
srichter | I still don't understnd why you cannot simply register the process definition as a utility | 00:36 |
srichter | it is the classic example of a utility | 00:36 |
projekt01 | No way, I don't like to have this many utilities. I'm not happy with utilities for this usecase. | 00:37 |
srichter | why? | 00:37 |
srichter | it is the same as using utilities for RDB adapters | 00:38 |
srichter | the utility registry is used to implement sub-registries | 00:38 |
projekt01 | We should lookup a component where provides a method getProcessDefinition(id), independent if it's a utility or whatever | 00:38 |
projekt01 | No I don't think it's the same, because a ProcessDefinition is a internal part of a application | 00:39 |
projekt01 | and not a general global standalone utility | 00:39 |
srichter | so can be an RDB adapter | 00:39 |
projekt01 | Yes, it could be, but remember utilities are shared sources, no control at all | 00:40 |
srichter | the more I think about it, the more I am inclined to argue against generalizing the PD lookup | 00:40 |
srichter | for what do you want control? | 00:41 |
srichter | the control comes from the interface a utility provides | 00:41 |
projekt01 | Perhaps I only don't like all the utility in the ++etc++site/default folder | 00:42 |
srichter | well, that's a matter of presentation | 00:43 |
srichter | so we need better views | 00:43 |
projekt01 | and where my customers allways ask what is this utility for | 00:43 |
srichter | Jim will rework all this for the next release | 00:43 |
srichter | then create a different site management folder | 00:43 |
projekt01 | Yes, this part has to be done once ;-) Perhaps it's a part for the sprint | 00:44 |
projekt01 | Yes, a different folder would be the best. | 00:44 |
srichter | or do it like pau | 00:45 |
srichter | which contains all its utilities | 00:45 |
projekt01 | Yeeeeeeeeees, that's it | 00:45 |
projekt01 | Really good point, I didn't think about that | 00:46 |
srichter | :-) | 00:46 |
projekt01 | You have your utilities and I have my clean OOBTree | 00:46 |
projekt01 | hidden at all | 00:47 |
*** jinty has joined #zope3-dev | 00:47 | |
projekt01 | cool, many thanks, I'll go to change it now.... | 00:47 |
srichter | you are welcome | 00:48 |
projekt01 | Do you mean in the zope.wfmc? I was thinking about the ecm.workflow package | 00:49 |
*** timte has quit IRC | 00:49 | |
srichter | projekt01: what do you mean? | 00:51 |
projekt01 | I got it wrong with "you are welcome", I mean this was "you are welcome to change it". But it means "Bitte" right? | 00:53 |
philiKON | in this case it meant "gern geschehen" i think | 00:53 |
projekt01 | philiKON, Yes, you know "my fantastic english" | 00:54 |
philiKON | :) | 00:54 |
philiKON | don't worry, your english is probably still better than most american's german ;) | 00:54 |
projekt01 | ; | 00:55 |
projekt01 | ha, ha ,ha | 00:55 |
srichter | yep, "gern geschehen" was meant here :-) | 00:55 |
srichter | it is a bit more friendly than "no problem" | 00:55 |
projekt01 | Vielen Dank | 00:55 |
tvon | I can count to 12 in german | 00:57 |
tvon | thats about it | 00:57 |
srichter | and that with such a german name :-) | 00:57 |
tvon | people sometimes expect more with my last name being 'von Schwerdtner' | 00:57 |
tvon | heh, I know | 00:57 |
tvon | I suppose in Germany my last name would be 'Schwerdtner', I hear they ignore the 'von' stuff there | 00:58 |
srichter | no, its not ignored | 00:58 |
srichter | Philipp is carrying it | 00:59 |
tvon | ah, someones been pulling my leg then :) | 00:59 |
srichter | most people just lost their "von" after the first and second worldwar | 00:59 |
tvon | oh? why? | 00:59 |
srichter | its a sign of nobelity, like "van" in dutch or "of" in english | 00:59 |
srichter | a lot of people lost their title and property as part of the preparations | 01:00 |
tvon | ahh | 01:00 |
srichter | the Russians especially wanted to get rid of the monarch structure | 01:00 |
*** bradb is now known as bradb-brb | 01:02 | |
*** stub has joined #zope3-dev | 01:03 | |
*** loreto has joined #zope3-dev | 01:13 | |
philiKON | srichter, actually, "van" in dutch is not nobility | 01:18 |
philiKON | it's "tot" | 01:18 |
philiKON | (dutch equivalent of "zu") | 01:18 |
philiKON | tvon, after the 1918 revolution (when they got rid of the monarchy), all nobility titles became part of the last name | 01:19 |
tvon | philiKON: ah, interesting | 01:19 |
philiKON | hence, people like us carry it around not being a title but simply as a part of the last name | 01:19 |
philiKON | in austria, they did it differently | 01:20 |
philiKON | when they got rid of the monarchy, all the nobles had to get rid of their titles | 01:20 |
philiKON | so, the austrian empereror was then to be called Mr. Habsburg :) | 01:20 |
tvon | hah | 01:20 |
philiKON | whereas the german emperor's grandchildren are called Prinz von Preussen (Prince of Prussia) | 01:21 |
philiKON | bug again, it's just a last name | 01:21 |
philiKON | i actually don't know of anyone who "lost" the "von" deliberately. 99% of the nobility stayed out of the soviet zone which later became the gdr | 01:22 |
*** anguenot has joined #zope3-dev | 01:24 | |
*** yota has quit IRC | 01:42 | |
*** jinty has quit IRC | 01:54 | |
*** loreto has quit IRC | 02:05 | |
*** loreto has joined #zope3-dev | 02:07 | |
*** RaAtBRC has quit IRC | 02:15 | |
*** bradb-brb is now known as bradb-away | 02:25 | |
projekt01 | srichter, ayt? | 04:11 |
*** loreto has quit IRC | 04:13 | |
*** projekt01 has quit IRC | 04:22 | |
*** fdrake has quit IRC | 04:53 | |
*** MiUlEr has joined #zope3-dev | 06:05 | |
*** RaFromBRC has joined #zope3-dev | 06:55 | |
*** RaFromBRC is now known as RaAtBRC | 06:56 | |
*** RaAtBRC has quit IRC | 07:14 | |
*** povbot` has joined #zope3-dev | 07:46 | |
*** povbot has quit IRC | 07:46 | |
*** dman13 has quit IRC | 07:46 | |
*** lucia12345 has quit IRC | 07:46 | |
*** genconc has quit IRC | 07:46 | |
*** VladDrac has quit IRC | 07:46 | |
*** dman13 has joined #zope3-dev | 07:47 | |
*** VladDrac has joined #zope3-dev | 07:47 | |
*** lucia12345 has joined #zope3-dev | 07:47 | |
*** genconc has joined #zope3-dev | 07:47 | |
*** sashav has quit IRC | 08:40 | |
*** zagy has quit IRC | 08:42 | |
*** zagy has joined #zope3-dev | 08:46 | |
*** povbot has joined #zope3-dev | 09:07 | |
*** hdima has joined #zope3-dev | 09:16 | |
*** MiUlEr has quit IRC | 09:41 | |
*** yota has joined #zope3-dev | 09:48 | |
*** loreto has joined #zope3-dev | 09:55 | |
*** sashav has joined #zope3-dev | 09:57 | |
*** sashav_ has joined #zope3-dev | 10:03 | |
*** Theuni has joined #zope3-dev | 10:14 | |
*** sashav has quit IRC | 10:15 | |
*** BjornT_ is now known as BjornT | 10:16 | |
*** __gotcha_ is now known as __gotcha | 10:31 | |
*** loreto has quit IRC | 10:39 | |
*** timte has joined #zope3-dev | 10:42 | |
*** tvon has quit IRC | 10:57 | |
*** __gotcha has quit IRC | 11:01 | |
*** philiKON has quit IRC | 11:12 | |
*** projekt01 has joined #zope3-dev | 11:30 | |
*** tvon has joined #zope3-dev | 11:34 | |
*** jinty has joined #zope3-dev | 12:17 | |
*** yotaff has joined #zope3-dev | 12:19 | |
*** regebro has joined #zope3-dev | 13:11 | |
*** jhauser has joined #zope3-dev | 13:15 | |
*** MrTopf has joined #zope3-dev | 14:11 | |
*** bskahan has joined #zope3-dev | 14:35 | |
*** Alef has joined #zope3-dev | 14:37 | |
*** anguenot has quit IRC | 14:39 | |
*** mkerrin has joined #zope3-dev | 14:42 | |
*** MrTopf has quit IRC | 14:45 | |
*** bradb-away is now known as bradb | 14:57 | |
*** benji_york has joined #zope3-dev | 15:25 | |
*** bskahan has quit IRC | 15:35 | |
*** MrTopf has joined #zope3-dev | 15:53 | |
*** mgedmin has joined #zope3-dev | 15:58 | |
*** philiKON has joined #zope3-dev | 16:06 | |
*** th1a has joined #zope3-dev | 16:22 | |
*** Alef has quit IRC | 16:25 | |
*** stub has quit IRC | 16:29 | |
*** mkerrin has quit IRC | 16:53 | |
*** mkerrin has joined #zope3-dev | 16:58 | |
*** hdima has quit IRC | 17:01 | |
projekt01 | srichter, ayt? | 17:08 |
srichter | projekt01: yeah | 17:08 |
projekt01 | You where describing, that you store the workitems on the content types. tight? | 17:08 |
srichter | yes | 17:09 |
srichter | via annotations and an adapter | 17:09 |
projekt01 | But they could also be in a worklist repository (utility) in another implementation? | 17:09 |
srichter | of course | 17:10 |
srichter | the API makes no assumption where to find process instances | 17:10 |
projekt01 | Ok, and how about a local site setup? | 17:10 |
projekt01 | Let's say we have 10 different custom projects on a z3 server | 17:11 |
projekt01 | Each of them uses its own workflows (different process definitions) | 17:12 |
projekt01 | could be, right? | 17:12 |
projekt01 | Now the location-less zope.wfmc implementation offers now way to integrate a local Worklist utility. | 17:13 |
projekt01 | This means all 10 sites have t share the on worklist utility which is a global utility. | 17:14 |
projekt01 | What do you think about this? | 17:15 |
*** faassen has joined #zope3-dev | 17:17 | |
srichter | yes, that's possible | 17:18 |
srichter | why do they have to share it? | 17:18 |
srichter | zope.wfmc does not know much (or makes many assumptions) about process isntances | 17:19 |
projekt01 | There is no way to implement a local worklist! | 17:19 |
srichter | btw, worklists are something different than a process instance repository | 17:19 |
srichter | yes, there is | 17:19 |
srichter | use applications! | 17:19 |
srichter | the begin() method of an application should populate the worklist | 17:20 |
srichter | I have local worklists in ST | 17:20 |
srichter | ST=SchoolTool | 17:20 |
srichter | whenever an application that requires input is begun, then it adds a worklist item to the manager group | 17:21 |
srichter | this can be done fairly easily with workflow-relevant data or well-implemented participants | 17:22 |
projekt01 | Yes, but where did you get the context=?? for the getUtility call? | 17:22 |
projekt01 | I think this part is location-less and there I no way to get a local utility. What do I miss? | 17:23 |
srichter | if you call getUtility it will use the context of the current site you are in | 17:23 |
projekt01 | How? | 17:23 |
srichter | it is done automatically by Zope 3 | 17:23 |
srichter | when you make a request, a participation is created, which contains the request | 17:24 |
srichter | this request knows or sets the site | 17:24 |
projekt01 | We have had the same problem in PAU, this isn't working right. At least not without a explicit context in getUtility | 17:24 |
srichter | the hooks in zope.app.component.hooks then know how to make use of this data to make local lookups | 17:25 |
srichter | well, of course in your tests you have to manually set the site | 17:25 |
srichter | using z.a.component.hooks.setSite | 17:25 |
*** sashav_ has quit IRC | 17:26 | |
projekt01 | I don't think this is working because, You call a global adapter (application) and this application calls getUtility | 17:27 |
*** horizon5 has quit IRC | 17:27 | |
projekt01 | then the location of the adapter which calls getUtility is global | 17:27 |
srichter | it will work | 17:27 |
projekt01 | The same problem with PAU | 17:27 |
srichter | trust me | 17:27 |
*** horizon5 has joined #zope3-dev | 17:27 | |
srichter | the context is known via a thread-global variable | 17:27 |
srichter | there is no problem | 17:27 |
srichter | if the site is set correctly, it does a local lookup | 17:28 |
projekt01 | I try it, but I will be surprised if this is working, because I bugfixed all this part in PAU | 17:29 |
srichter | PAU might have different issues, because it also needs a location on the object it tries to find permissions for | 17:30 |
projekt01 | Ok, you could be right | 17:30 |
projekt01 | Thanks a lot, I'll give it a try | 17:31 |
*** alga has joined #zope3-dev | 17:46 | |
*** sashav has joined #zope3-dev | 17:52 | |
*** sashav has quit IRC | 17:56 | |
*** roym has quit IRC | 17:56 | |
*** roym has joined #zope3-dev | 17:57 | |
*** roym` has joined #zope3-dev | 17:58 | |
*** roym has quit IRC | 17:58 | |
*** tvon has quit IRC | 18:02 | |
*** th1a has left #zope3-dev | 18:25 | |
*** horizon5 has quit IRC | 18:33 | |
*** roym`` has joined #zope3-dev | 18:46 | |
*** roym` has quit IRC | 18:46 | |
roym`` | Is registration thru the ZMI broken or is it user error on my part? I get the following message when I try to register a Catalog in a site: | 18:47 |
roym`` | File "/usr/local/Zope3/src/zope/app/component/metaconfigure.py", line 387, in __call__ | 18:47 |
roym`` | return proxify(self.factory(*objects), self.checker) | 18:47 |
roym`` | TypeError: __init__() takes exactly 4 arguments (3 given) | 18:47 |
*** BjornT_ has joined #zope3-dev | 18:49 | |
*** BjornT has quit IRC | 19:01 | |
*** Alef has joined #zope3-dev | 19:03 | |
*** memer_ has joined #zope3-dev | 19:05 | |
*** zagy has quit IRC | 19:05 | |
*** jinty has quit IRC | 19:07 | |
*** zagy has joined #zope3-dev | 19:07 | |
memer_ | cruising both the Zope and Plone sites, I looked thru the instructions on how to customize a template and, much to my surprise, the instructions at the Zope site was muuch more straightforward than what was presented at the Plone site with all this stuff about skins and wot not. I'm wondering if I might be better off, in terms of learning curve, to build my own basic CMS than to start off hacking thru the dense foliage of Plone. Your thoughts? | 19:07 |
srichter | memer_: this is the wrong channel to ask about plone | 19:08 |
memer_ | srichter: sorry. thot you guys could give me some perspective. | 19:09 |
srichter | memer_: however, in Zope 3 we use concepts like skins as well, since they are very powerful | 19:09 |
srichter | writing and supporting your own code is always more costly | 19:09 |
srichter | I would suggest you try to utilize one of the existing CMSs, be it Plone, CPS or the Zope 3 based Tiks | 19:10 |
memer_ | srichter: ugh. wait, is this the wrong channel altoghetr | 19:10 |
memer_ | srichter: manu thanks. will look into tiks | 19:10 |
*** memer_ has left #zope3-dev | 19:11 | |
*** niemeyer has joined #zope3-dev | 19:25 | |
*** deo has joined #zope3-dev | 19:27 | |
*** tvon has joined #zope3-dev | 19:45 | |
*** MrTopf has quit IRC | 20:04 | |
*** fdrake has joined #zope3-dev | 20:20 | |
fdrake | srichter, you there? | 20:21 |
srichter | yep | 20:23 |
srichter | wanna apply your patch to TAL? | 20:23 |
srichter | go ahead, I have not started the release [ :-) or :-(?] | 20:23 |
srichter | fdrake: are you there? | 20:23 |
fdrake | hey | 20:25 |
*** bradb is now known as bradb-lunch | 20:25 | |
fdrake | I'm about to propose that the define-macro/use-macro become define-macro/extends-macro; the current expression is just too dang subtle. | 20:26 |
fdrake | I don't have a patch for that yet. | 20:26 |
srichter | oh, ok | 20:26 |
fdrake | define-macro/use-macro will once more be disallowed | 20:26 |
srichter | oh, I see | 20:26 |
fdrake | use-macro/extend-macro will be disallowed | 20:26 |
srichter | in the same tag element you mean | 20:27 |
fdrake | i'll need to rev the METAL specification as well | 20:27 |
srichter | ok | 20:27 |
fdrake | (right) | 20:27 |
srichter | do you feel like this should go into 3.1? | 20:27 |
fdrake | extend-macro along will be disallowed, maybe | 20:27 |
fdrake | the basic feature is already there | 20:27 |
srichter | I think this would be a bit icky | 20:27 |
srichter | how would you categorize it? | 20:28 |
srichter | bug or feature? | 20:28 |
srichter | is the change worth the confusion we will avoid? | 20:28 |
fdrake | it fixes a brokenness in the current feature as much as anything | 20:28 |
srichter | ok | 20:28 |
srichter | let's do it then | 20:28 |
fdrake | if we don't include the proposed changes, we'd have to rip out the feature | 20:28 |
fdrake | ok, i'll proceed, likely in stages (quickly) | 20:29 |
srichter | sounds good | 20:29 |
fdrake | first fix the semantics, then the naming | 20:29 |
fdrake | was the release scheduled for today? | 20:29 |
fdrake | what's the target release date? | 20:31 |
srichter | well, I plan since a week getting RC 2 out | 20:34 |
fdrake | I should be able to have this done tonight or tomorrow, depending on how long it takes me to fix up the tests. | 20:35 |
srichter | ok, sounds fine | 20:36 |
*** BjornT_ is now known as BjornT-away | 20:39 | |
*** RaFromBRC has joined #zope3-dev | 20:43 | |
*** faassen has quit IRC | 21:09 | |
*** nisha_cgx has joined #zope3-dev | 21:13 | |
*** yotaff has quit IRC | 21:28 | |
*** sashav has joined #zope3-dev | 21:37 | |
*** sashav has quit IRC | 21:45 | |
*** regebro has quit IRC | 21:46 | |
*** bradb-lunch is now known as bradb | 21:52 | |
*** mgedmin has quit IRC | 22:03 | |
*** alga has quit IRC | 22:04 | |
*** mkerrin has quit IRC | 22:07 | |
*** RaFromBRC is now known as RaFromBRC|away | 22:14 | |
*** tvon has quit IRC | 22:25 | |
*** BjornT-away is now known as BjornT | 22:30 | |
*** fdrake has quit IRC | 22:34 | |
*** tvon has joined #zope3-dev | 22:42 | |
*** sashav has joined #zope3-dev | 22:47 | |
*** RaFromBRC|away is now known as RaAtBRC | 23:23 | |
*** Alef has quit IRC | 23:32 | |
*** timte has quit IRC | 23:40 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!