X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 0.103.6/26822) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from mail01.rucotec.ch ([65.21.159.64] verified) by post.selbstdenker.com (CommuniGate Pro SMTP 6.3.17) with ESMTPS id 29665744 for webobjects-dev@wocommunity.org; Sat, 25 Feb 2023 04:50:49 +0100 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=65.21.159.64; envelope-from=markus.ruggiero@rucotec.ch Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id B08F05FA22 for ; Sat, 25 Feb 2023 04:50:25 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rucotec.ch; s=dkim; t=1677297026; h=from:subject:date:message-id:to:mime-version:content-type:in-reply-to: references; bh=VUQUPrJs42XMa+zxW8SdDk4izPg3okCfYboXYxIuCDM=; b=SekEoXwZFWOlQh/ncNvRLgvf1QuL/DlekBJsU8BhEaEfWQMlEu7r8CR94UFQ/3l1VEwHGn wsTPWObcCsjEPybROIM4cMi/yCg+vymVoI+Nnx568FFOR47ReFXPrBN5o/9lCFTaMMaPPv tzZyklNBTB1CzdnUSvduV4i3JNUFpD00JgVQW/VbR2OCFy6h6MaESx0DZ0VOeqUGgtt2AJ 41XZyOKUBVC3R1aY2YyW0FDD4UbDpZQtkWV/0czJFu5P/wUxCT3bew8MnSK3mNdwlV7We1 yAL6DsAWOeO99BozVWS3ay6L3dkAYaoLaHRb3LOHyzAyT2verlIj/MRu5ou9RA== From: "Markus Ruggiero (rucotec)" Content-Type: multipart/signed; boundary="Apple-Mail=_3169AC55-35A8-4B5B-B613-7BF46D227189"; protocol="application/pkcs7-signature"; micalg=sha-256 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.2\)) Subject: Re: [WO-DEV] Load additional D2W models? Date: Fri, 24 Feb 2023 22:50:23 -0500 References: To: WebObjects & WOnder Development In-Reply-To: Message-Id: <23A759CB-5182-439E-B4CC-88D9B8962A9F@rucotec.ch> X-Last-TLS-Session-Version: TLSv1.2 --Apple-Mail=_3169AC55-35A8-4B5B-B613-7BF46D227189 Content-Type: multipart/alternative; boundary="Apple-Mail=_646F4FAD-AB44-4D21-8F7E-650D528C7FEE" --Apple-Mail=_646F4FAD-AB44-4D21-8F7E-650D528C7FEE Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Hi Ramsey, was think in the same lines. Started a test in main() right before = calling EXRApplication.main(). Seems to work in dev mode. Will test in = prod. Unfortunately (well, no really) I=E2=80=99ll be on vacation so I = can only finish my work when I=E2=80=99m back. Will report here. J=C3=BCrgen, That method was my entry point into searching for a solution. But this = requires to dabble with the Wonder code itself which I dit not want to = do, at least not for a start. Might get back to it after my vacation. Thanks all that responded. Even if someone cannot provide an = out-of-the-box solution discussing things here is extremely valuable. ---markus--- > On 22 Feb 2023, at 20:22, Ramsey Gurley = wrote: >=20 > Have you tried scanning for your additional model names in a static{} = block in your application class? That should happen very early and seems = like it should have enough access to the classpath to find everything. I = never really used additional model names and just used the = d2w.d2wmodel/user.d2wmodel files. >=20 > From: WebObjects & WOnder Development on behalf of Markus Ruggiero = (rucotec) > Sent: Thursday, February 23, 2023 4:58 AM > To: WebObjects & WOnder Development > Subject: [WO-DEV] Re: Load additional D2W models? >=20 > Please tick > [ ] Nobody knows anything > [ ] Nobody ever had such an idea and does not care > [ ] Nobody out there anymore >=20 >> On 21 Feb 2023, at 15:38, Markus Ruggiero (rucotec) = > wrote: >>=20 >> I found this property = =E2=80=9Cer.directtoweb.ERD2WModel.additionalModelNames=E2=80=9D that = can be use to load additional D2W model files. I want to make this = property dynamic so that its list of model names is built from a = directory scan of the resources folder (or a subfolder) and all models = found are loaded. This would allow to have models built around some = grouping criteria like e.g. per entity without having to manually = maintain the list of names in the properties file. I am in a prototype = phase where I play extensively with a rather extensive EOModel, adding = and removing entities. Such functionality would be great to have. >>=20 >> Anyone done something like this? When during app startup would be a = good time to build this list? I think it must be done before D2W is = initialized. Probably application.run() right before calling super.run() = might already be too late? >>=20 >> Open for any tip, idea, help, code snippets, whatever. >> Thanks a lot >>=20 >> ---markus--- >>=20 >>=20 >>=20 >=20 >=20 > Markus Ruggiero >=20 > rucotec GmbH web https://rucotec.ch = > Leonhardsberg 1 email markus.ruggiero@rucotec.ch = > 4051 Basel / Switzerland mobile +41 79 508 4701 >=20 >=20 >=20 >=20 >=20 >=20 >=20 >=20 > Confidentiality Notice: This email, including all attachments and = replies thereto, are covered by the Electronic Communications Privacy = Act, 18 U.S.C. Sections 2510-2521 and are legally privileged. This = information is confidential, and intended only for the use of the = individuals or entities named above. If you are not the intended = recipient, you are hereby notified that any disclosure, copying, = distribution or the taking of any action in reliance on the contents of = this transmitted information is strictly prohibited. Please notify us if = you have received this transmission in error. Thank you. Markus Ruggiero rucotec GmbH web https://rucotec.ch Leonhardsberg 1 email markus.ruggiero@rucotec.ch 4051 Basel / Switzerland mobile +41 79 508 4701 --Apple-Mail=_646F4FAD-AB44-4D21-8F7E-650D528C7FEE Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Hi = Ramsey,

was think in = the same lines. Started a test in main() right before calling = EXRApplication.main(). Seems to work in dev mode. Will test in prod. = Unfortunately (well, no really) I=E2=80=99ll be on vacation so I can = only finish my work when I=E2=80=99m back. Will report here.

J=C3=BCrgen,

That method was my entry = point into searching for a solution. But this requires to dabble with = the Wonder code itself which I dit not want to do, at least not for a = start. Might get back to it after my vacation.

Thanks all that responded. Even if = someone cannot provide an out-of-the-box solution discussing things here = is extremely valuable.
---markus---


On 22 = Feb 2023, at 20:22, Ramsey Gurley <Ramsey.Gurley@practicemojo.com> wrote:

Have you tried scanning for your = additional model names in a static{} block in your application class? = That should happen very early and seems like it should have enough = access to the classpath to find everything. I never really used = additional model names and just used the d2w.d2wmodel/user.d2wmodel = files.


From: WebObjects & WOnder = Development on behalf of Markus Ruggiero (rucotec)
Sent: Thursday, February 23, 2023 = 4:58 AM
To: WebObjects & WOnder = Development
Subject: [WO-DEV] Re: Load = additional D2W models?

Please tick
[ =  ] Nobody knows anything
[  ] Nobody ever had = such an idea and does not care
[  ] Nobody out = there anymore

On 21 Feb 2023, at 15:38, Markus Ruggiero = (rucotec) <markus.ruggiero@rucotec.ch> = wrote:

I found this property = =E2=80=9Cer.directtoweb.ERD2WModel.additionalModelNames=E2=80=9D that = can be use to load additional D2W model files. I want to make this = property dynamic so that its list of model names is built from a = directory scan of the resources folder (or a subfolder) and all models = found are loaded. This would allow to have models built around some = grouping criteria like e.g. per entity without having to manually = maintain the list of names in the properties file. I am in a prototype = phase where I play extensively with a rather extensive EOModel, adding = and removing entities. Such functionality would be great to have.

Anyone done something like this? When during = app startup would be a good time to build this list? I think it must be = done before D2W is initialized. Probably application.run() right before = calling super.run() might already be too late?

Open for any tip, idea, help, code snippets, whatever.
Thanks a lot

---markus---





Markus = Ruggiero

rucotec GmbH              =         =   web https://rucotec.ch
Leonhardsberg 1         =           email markus.ruggiero@rucotec.ch
4051 Basel / Switzerland    =      mobile +41 79 508 = 4701









Confidentiality Notice: This email, including all = attachments and replies thereto, are covered by the Electronic = Communications Privacy Act, 18 U.S.C. Sections 2510-2521 and are legally = privileged. This information is confidential, and intended only for the = use of the individuals or entities named above. If you are not the = intended recipient, you are hereby notified that any disclosure, = copying, distribution or the taking of any action in reliance on the = contents of this transmitted information is strictly prohibited. Please = notify us if you have received this transmission in error. Thank = you.




Markus = Ruggiero


rucotec GmbH              =           web https://rucotec.ch
Leonhardsberg 1         =           email markus.ruggiero@rucotec.ch
4051 Basel / = Switzerland         mobile +41 79 508 4701








= --Apple-Mail=_646F4FAD-AB44-4D21-8F7E-650D528C7FEE-- --Apple-Mail=_3169AC55-35A8-4B5B-B613-7BF46D227189 Content-Disposition: attachment; filename=smime.p7s Content-Type: application/pkcs7-signature; name=smime.p7s Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCCzow ggUiMIIECqADAgECAhEA+bJBRVU88Wt+/tk032YQpDANBgkqhkiG9w0BAQsFADCBljELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0yMjA1MTQwMDAwMDBaFw0yNTA1MTMyMzU5 NTlaMCsxKTAnBgkqhkiG9w0BCQEWGm1hcmt1cy5ydWdnaWVyb0BydWNvdGVjLmNoMIIBIjANBgkq hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmyWv+KHiux3seusiaMG6GkTnzpAtZAQoNEuUSF/NCltV 8vC5c5mSp3S9nwQwd9vsncR35LsmXWCxDFE/EsOPr8q/ulmuN2DFxar17CoQzR2WkOJ4hn60FjuS gXuQMW2UsdRBajEqaMtmPKmFV3KN4wLi9fQLzve5Psykv+da4TUI5QB1y/1d1F00co+k5Xq16xXG Mq2kBLRpo3+ykiLJHKx/1YVTDhhrT72jkcGcc6GjUINbtqV0Z84m3PC26eOUoSGIqKSOls8GnmQY AA/al1OPBI5AjCh+sxq9MCNtTs4EJW4+sMmZE4CRY/60odb++HxdsRuAwYdqfg5fjHPqvQIDAQAB o4IB0zCCAc8wHwYDVR0jBBgwFoAUCcDy/AvalNtf/ivfqJlCz8ngrQAwHQYDVR0OBBYEFNt3xL6+ uF93aKx7OyZ+5X0tJkOiMA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQG CCsGAQUFBwMEBggrBgEFBQcDAjBABgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEBATAlMCMGCCsGAQUF BwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3Js LnNlY3RpZ28uY29tL1NlY3RpZ29SU0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWls Q0EuY3JsMIGKBggrBgEFBQcBAQR+MHwwVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5j b20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwIwYI KwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNlY3RpZ28uY29tMCUGA1UdEQQeMByBGm1hcmt1cy5ydWdn aWVyb0BydWNvdGVjLmNoMA0GCSqGSIb3DQEBCwUAA4IBAQBbChLqbBr/EGVvqY3JhZltmRwUBagV XqgrWDgMk3xqkXlPVBucGuRq/wg2sCZBUVQFDXoIiyFrCjQy5A80F3fJ+H/dr8M4KT5hMrPSrsj9 dTQP9T7MnluDRuhma5+x9vSvMIttSD1EhkHJsSvGw0BH2BOrUsqQJP5k2bEa9j8faLZaJRUbQG0G zpZnLUrRbhnndW5OEdKa+F5x9lkWM/Lj0eiEdkYoJJPnD/JF3uqAn12U3FZI4yv+K6IxA9M0kn/M Vxm0AVEdYDsgIkbBI+BhS1QWsOxC4utrY3A2nfLtY0RrbcR7g8B4N/QbD657Wrb7i45485+yYZon cp6nqFwyMIIGEDCCA/igAwIBAgIQTZQsENQ74JQJxYEtOisGTzANBgkqhkiG9w0BAQwFADCBiDEL MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4w HAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy dGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgxMTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBljEL MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9y ZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQg QXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP ADCCAQoCggEBAMo87ZQKQf/e+Ua56NY75tqSvysQTqoavIK9viYcKSoq0s2cUIE/bZQu85eoZ9X1 40qOTKl1HyLTJbazGl6nBEibivHbSuejQkq6uIgymiqvTcTlxZql19szfBxxo0Nm9l79L9S+TZNT EDygNfcXlkHKRhBhVFHdJDfqB6Mfi/Wlda43zYgo92yZOpCWjj2mz4tudN55/yE1+XvFnz5xsOFb me/SoY9WAa39uJORHtbC0x7C7aYivToxuIkEQXaumf05Vcf4RgHs+Yd+mwSTManRy6XcCFJE6k/L Ht3ndD3sA3If/JBz6OX2ZebtQdHnKav7Azf+bAhudg7PkFOTuRMCAwEAAaOCAWQwggFgMB8GA1Ud IwQYMBaAFFN5v1qqK0rPVIDh2JvAnfKyA2bLMB0GA1UdDgQWBBQJwPL8C9qU21/+K9+omULPyeCt ADAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHSUEFjAUBggrBgEFBQcD AgYIKwYBBQUHAwQwEQYDVR0gBAowCDAGBgRVHSAAMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9j cmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNybDB2 BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRydXN0LmNvbS9VU0VS VHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZaHR0cDovL29jc3AudXNlcnRydXN0 LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAQUR1AKs5whX13o6VbTJxaIwA3RfXehwQOJDI47G9FzGR 87bjgrShfsbMIYdhqpFuSUKzPM1ZVPgNlT+9istp5UQNRsJiD4KLu+E2f102qxxvM3TEoGg65FWM 89YN5yFTvSB5PelcLGnCLwRfCX6iLPvGlh9j30lKzcT+mLO1NLGWMeK1w+vnKhav2VuQVHwpTf64 ZNnXUF8p+5JJpGtkUG/XfdJ5jR3YCq8H0OPZkNoVkDQ5CSSF8Co2AOlVEf32VBXglIrHQ3v9AAS0 yPo4Xl1FdXqGFe5TcDQSqXh3TbjugGnG+d9yZX3lB8bwc/Tn2FlIl7tPbDAL4jNdUNA7jGee+tAn TtlZ6bFz+CsWmCIb6j6lDFqkXVsp+3KyLTZGXq6F2nnBtN4t5jO3ZIj2gpIKHAYNBAWLG2Q2fG7B t2tPC8BLC9WIM90gbMhAmtMGquITn/2fORdsNmaV3z/sPKuIn8DvdEhmWVfh0fyYeqxGlTw0Rfwh BlakdYYrkDmdWC+XszE19GUi8K8plBNKcIvyg2omAdebrMIHiAHAOiczxX/aS5ABRVrNUDcjfvp4 hYbDOO6qHcfzy/uY0fO5ssebmHQREJJA3PpSgdVnLernF6pthJrGkNDPeUI05svqw1o5A2HcNzLO pklhNwZ+4uWYLcAi14ACHuVvJsmzNicxggPHMIIDwwIBATCBrDCBljELMAkGA1UEBhMCR0IxGzAZ BgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2Vj dGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24g YW5kIFNlY3VyZSBFbWFpbCBDQQIRAPmyQUVVPPFrfv7ZNN9mEKQwDQYJYIZIAWUDBAIBBQCgggHr MBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIzMDIyNTAzNTAyM1ow LwYJKoZIhvcNAQkEMSIEIGTothBLoBwINToybzKzqKlwZgO3aPU8erTfWc6FPJ6aMIG9BgkrBgEE AYI3EAQxga8wgawwgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIx EDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE+MDwGA1UEAxM1U2Vj dGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0ECEQD5skFF VTzxa37+2TTfZhCkMIG/BgsqhkiG9w0BCRACCzGBr6CBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNV BAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGln byBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5k IFNlY3VyZSBFbWFpbCBDQQIRAPmyQUVVPPFrfv7ZNN9mEKQwDQYJKoZIhvcNAQELBQAEggEAjRQs 5ml+/ouXEnJNyNSwf7kdljpJC/wD/cHwbnMQeBL1rOAyORFu395JDYhxLMkOiZtIl+3xS5fRIqDt KJU7u0OQZj3LRr+OQ5ffWvZiSKXlpuYFj8zAWc+xW7Ao/lmPSNtFCorsChZvXle2NdRS4VPhJQ9j tEv2RQxXth88U9Ixyi0oQoq3dfNJBZSEjJPsdsIzOxFEQdYdS3CZyn7u1AWxmaXSDh+z4R6dLw2K UoIZc+24hfHNDcZEvY7HJiISENT0Cwk9jVZAGaPAGxzm7rtEq/0SMq24W7pnqPnsLWXKu+RroC3b zpGyL3XWGS4biK+YT2+BxitCqPToCVBukAAAAAAAAA== --Apple-Mail=_3169AC55-35A8-4B5B-B613-7BF46D227189--