Hi Keith,
I have had a go at porting the class that you were
missing into 2.7
I have once more attempted to merge my changes with yours in the
current repositories. I am hoping that you might be able to adopt
them into the mainstream now.
I had a look at your changes. I cannot merge them directly, since
they break several parts of Pier and all my productively running images.
I just committed a manually merged version of your code, below you
find the comments:
Pier-Model-kph.107:
- PRPathLookup class>>star:path: you removed that, but it is needed
all trough the system
- PRCommand: I moved the mutex from the kernel into the persistency,
it seems to belong there so that we don't violate demeter. Now instad
of having the critical section within the command, the command passes
itself to the persistency by sending #execute:. The persistency
strategy then can call #doValidate and #doExecute at the right point
in time. I think this is more elegant and should even work better
with object database, xml, ...
- PRFilePersistency: I removed that class for now, it does not work
- PRPersistency >>#log: this is not needed anymore
- I don't understand the code to rename a kernel (why should that
matter?) and the code related related to #realize. I think most
people don't want to start right from a database, the use of a
persistency strategy other than the default PRNullPersistency should
be only possible after everything is setup.
- PRPersistency has no #snaphost method anymore, there was no need
for that anymore.
Pier-Seaside-kph.109:
- PRPierMain>>#structureAtPath: this breaks a possible setup with
Apache, I restored my old code but wrapped #start: into the root
context, so that it basically has the same effect as your modification.
- PRPierControlPanel: I would suggest that you add this class into a
separate package and/or transform it to a normal WAComponent so it
can be directly used from within Pier. I usually remove the config
application from productive servers. Moreover it introduces
dependencies to external packages that might not be loaded (Pier Unix
Security) and duplicates functionality that I already ported to that
package earlier on.
Hope these changes help to finally merge all the code again?
Thanks for your contribution!
Cheers,
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch