Re: Dynamic functions
Daniel Seidel via opencms-dev <[email protected]> Thu, 21 May 2026 11:14:54 +0200
| Newsgroups | gmane.comp.cms.opencms.devel |
|---|---|
| Message-ID | <[email protected]> |
SGkgTGF1cmVudCwKCnRoZXJlJ3MgYSBzY2lzc29yIHJpZ2h0IGFib3ZlIHRoZSBvcHRpb24geW91 IGFyZSBob3ZlcmluZyBpbiB5b3VyIHNjcmVlbiAKc2hvdC4gVXNlIHRoaXMgb25lLgoKQmVzdCwg RGFuaWVsLgoKCkFtIDIxLjA1LjI2IHVtIDEwOjQ3IHNjaHJpZWIgbGF1cmVudC5kcnVhcnQ6Cj4g SGVsbG8gRGFuaWVsLAo+Cj4gSSBvbmx5IGhhdmUgYSBjb250YWluZXIgdHlwZSBvcHRpb24sIG5v IGNvbnRhaW5lciB3aWR0aAo+Cj4KPgo+IE15IEpTUCBpcyBhbHJlYWR5IHZlcnkgc2ltcGxlLCBv bmx5IGh0bWwKPgo+IE15IGZ1bmN0aW9uIGlzIGFscmVhZHkgaW4gbXkgc2l0ZSBtYXAgY29uZmln dXJhdGlvbgo+Cj4gVGhhbmsgZm9yIHlvdXIgaGVscCwKPgo+IFJlZ2FyZHMsCj4gTGF1cmVudAo+ Cj4+IExlIDIxIG1haSAyMDI2IMOgIDEwOjAxLCBEYW5pZWwgU2VpZGVsIDxkLnNlaWRlbEBhbGth Y29uLmNvbT4gYSDDqWNyaXQgOgo+Pgo+PiBIaSBMYXVyZW50LAo+Pgo+PiB0aHJlZSB0aGluZ3M6 Cj4+Cj4+IDEuIE1ha2UgdGhlIEpTUCBldmVuIHNpbXBsZXIuIEp1c3QgdXNlIDxoMT5IZWxsbyBX b3JsZCE8L2gxPiBhcyBjb250ZW50Lgo+Pgo+PiAyLiBZb3UgbXVzdCB1c2UgYSBjb250YWluZXIg bmFtZSB0aGF0IGZpdHMgdG8gYSBjb250YWluZXIgdGhlIGZ1bmN0aW9uIHNob3VsZCBtYXRjaC4g T3IgdXNlIGNvbnRhaW5lciB3aWR0aCBhbmQgc2V0IHdpZHRoIDAgdG8gbWFrZSBpdCBmaXQgZXZl cnl3aGVyZQo+Pgo+PiAzLiBZb3UgbWF5IGhhdmUgdG8gYWRkIHRoZSBmdW5jdGlvbiBpbiB5b3Vy IHNpdGVtYXAgbWFzdGVyIGNvbmZpZ3VyYXRpb24gKG9yIHRoZSBzaXRlbWFwIGNvbmZpZ3VyYXRp b24pIGluIHRoZSBkeW5hbWljIGZ1bmN0aW9ucyB0YWIuCj4+Cj4+IEJlc3QsIERhbmllbC4KPj4K Pj4gQW0gMjEuMDUuMjYgdW0gMDg6NTkgc2NocmllYiBsYXVyZW50LmRydWFydDoKPj4+IEhlbGxv IERhbmllbCwKPj4+Cj4+PiBUaGFuayB5b3UgZm91ciB5b3VyIGFuc3dlci4KPj4+Cj4+PiBBdCB0 aGUgbW9tZW50IEkgY3JlYXRlZCBhIGR5bmFtaWMgZnVuY3Rpb24gaW4gYSBtb2R1bGUsIHZlcnkg c2ltcGxlIGpzcAo+Pj4gPCVAIHRhZ2xpYiBwcmVmaXg9ImMiIHVyaT0iaHR0cDovL2phdmEuc3Vu LmNvbS9qc3AvanN0bC9jb3JlIiAlPgo+Pj4gPCVAIHRhZ2xpYiBwcmVmaXg9ImZuIiB1cmk9Imh0 dHA6Ly9qYXZhLnN1bi5jb20vanNwL2pzdGwvZnVuY3Rpb25zIiAlPgo+Pj4gPCVAIHRhZ2xpYiBw cmVmaXg9ImZtdCIgdXJpPSJodHRwOi8vamF2YS5zdW4uY29tL2pzcC9qc3RsL2ZtdCIgJT4KPj4+ IDwlQCB0YWdsaWIgcHJlZml4PSJjbXMiIHVyaT0iaHR0cDovL3d3dy5vcGVuY21zLm9yZy90YWds aWIvY21zIiAlPgo+Pj4KPj4+IGFuZCBodG1sIHRhZ3MsIG5vIGxvZ2ljCj4+Pgo+Pj4gVGhlIGpz cCBmaWxlIGlzIGxvY2F0ZWQgaW4gbXkgbW9kdWxlIGluIC9lbGVtZW50cy9mdW5jdGlvbnMvCj4+ PiBJIGRlY2xhcmVkIHRoZSBEeW5hbWljIEZ1bmN0aW9uIGluIC9mdW5jdGlvbnMgYW5kIGZpbGxl ZCB0aGUgSlNQIGZpZWxkIHdpdGggL2VsZW1lbnRzL2Z1bmN0aW9ucy9teWZ1bmN0aW9uLmpzcAo+ Pj4gSW4gdGhlIGZpZWxkIMKrIENvbnRhaW5lciB0eXBlIMK7OiAqCj4+Pgo+Pj4gSW4gdGhlIHNp dGVtYXAgbWFzdGVyIGNvbmZpZyBJIGFkZGVkIHRoZSBkeW5hbWljIGZ1bmN0aW9uIGluIMKrIGR5 bmFtaWMgZnVuY3Rpb25zIMK7IHRhYiBpbiB0aGUgZmllbGQgwqsgRHluYW1pYyBmdW5jdGlvbiB0 byBiZSBhZGRlZCDCuwo+Pj4KPj4+IEJ1dCBpbiBwYWdlIGVkaXRvciBteSBkeW5hbWljIGZ1bmN0 aW9uIGlzIG5vdCBhcHBlYXJpbmcuCj4+Pgo+Pj4gSeKAmW0gbm90IHVzaW5nIHRoZSBNZXJjdXJ5 IHRlbXBsYXRlLgo+Pj4KPj4+IERvIEkgbWlzcyBzb21ldGhpbmc/Cj4+Pgo+Pj4gVGhhbmtzIGZv ciB5b3VyIGhlbHAuCj4+Pgo+Pj4gUmVnYXJkcywKPj4+Cj4+PiBMYXVyZW50Cj4+Pgo+Pj4KPj4+ PiBMZSAyMSBtYWkgMjAyNiDDoCAwODo0NywgRGFuaWVsIFNlaWRlbCB2aWEgb3BlbmNtcy1kZXYg PG9wZW5jbXMtZGV2QG9wZW5jbXMub3JnPiBhIMOpY3JpdCA6Cj4+Pj4KPj4+PiBIaSBMYXVyZW50 LAo+Pj4+Cj4+Pj4gZm9yIGN1cnJlbnQgT3BlbkNtcyB2ZXJzaW9ucyBJJ2Qgc2VlIGJvdGggY29u Y2VwdHMgc2VwYXJhdGVkLgo+Pj4+Cj4+Pj4gMS4gRHluYW1pYyBmdW5jdGlvbnMgKCJDb250ZW50 IHdpdGhvdXQgY29udGVudCIpOiBZb3UgbWF5IHNlZSB0aGlzIGNvbnRlbnQgbGlrZSBhIGZvcm1h dHRlciBjb25maWd1cmF0aW9uIHRoYXQgeW91IGRvbid0IGhhdmUgdG8gYmFja3VwIHdpdGggYSBj b250ZW50IHR5cGUgeW91IGNyZWF0ZWQuIFRoZSBvbmx5IGRyYXdiYWNrIChJIHNlZSkgaXMgdGhh dCBhbGwgZHluYW1pYyBmdW5jdGlvbnMgd2lsbCBhcHBlYXIgdW5kZXIgIkR5bmFtaWMgZnVuY3Rp b24iIGluIHRoZSBhZGQgd2l6YXJkIG9mIHRoZSBwYWdlIGVkaXRvci4gSGVuY2UsIGFsbCBmdW5j dGlvbmFsaXR5IHRoYXQgaXMgZHluYW1pYyB3aWxsIGFwcGVhciBpbiB0aGUgc2FtZSAiYm94Ii4g VGhlIGRlZmF1bHQgTWVyY3VyeSB0ZW1wbGF0ZSB1c2VzIHZhcmlvdXMgZHluYW1pYyBmdW5jdGlv bnMuIFlvdSBmaW5kIHRoZW0gdW5kZXIgIkFkdmFuY2VkIGVsZW1lbnRzIiBpbiB0aGUgYWRkIHdp emFyZC4KPj4+Pgo+Pj4+Cj4+Pj4gMi4gRnVuY3Rpb24gZGV0YWlsIHBhZ2VzOiBJIGVzc2VuY2Us IGl0J3MganVzdCBhIHdheSB0byBtYWtlIGEgcGFnZSBsaW5rYWJsZSBieSBhIHNwZWNpYWwgbmFt ZS4gRm9yZ2V0IGFib3V0IHRoZSBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb25zIHRoYXQgd2lsbCBt YWtlIHRoZSBmdW5jdGlvbiBhcHBlYXIgb24gdGhlIGZ1bmN0aW9uIGRldGFpbCBwYWdlICh0aGUg Y29udGFpbmVyLmluZm8gcHJvcGVydHkpLCB0aGV5IGJhcmVseSB3b3JrIGZvciBuZXN0ZWQgY29u dGFpbmVycywgYnV0IHlvdSBjYW4gcGxhY2UgdGhlIGZ1bmN0aW9uIGJ5IGhhbmQgb24gdGhlIGZ1 bmN0aW9uIGRldGFpbCBwYWdlLgo+Pj4+Cj4+Pj4gSGVyZSdzIGFuIGV4YW1wbGU6Cj4+Pj4KPj4+ PiBBc3N1bWUgaW4geW91ciB0ZW1wbGF0ZSB5b3UgaGF2ZSBhIGZvb3RlciBhbHdheXMgYWRkaW5n IGEgIlByaXZhY3kiIGxpbmsuIEJ1dCwgZGVwZW5kaW5nIG9uIHRoZSBzaXRlIG9yIHRoZSBsb2Nh bGUgeW91IGFyZSBpbiwgdGhlIGxpbmsgc2hvdWxkIHBvaW50IHRvIGRpZmZlcmVudCB1cmxzLiBU aGF0J3MgYSBnb29kIGV4YW1wbGUgZm9yIGEgZnVuY3Rpb24gZGV0YWlsIHBhZ2UuCj4+Pj4KPj4+ PiBJbiB5b3VyIHRlbXBsYXRlIEpTUCB3aGVuIHlvdSBhZGQgdGhlIGxpbmssIGp1c3QgdXNlICR7 Y21zLmZ1bmN0aW9uRGV0YWlsWydwcml2YWN5J119IGFzIGxpbmsgdGFyZ2V0Lgo+Pj4+Cj4+Pj4g QW5kIGluIHRoZSBzaXRlbWFwIGNvbmZpZ3VyYXRpb25zIG9mIHlvdXIgKHN1Yi0pc2l0ZXMgYWRk IHRoZSBkZXRhaWwgcGFnZSAnZnVuY3Rpb25AcHJpdmFjeScgcG9pbnRpbmcgdG8gdGhlIChzdWIt KXNpdGUgc3BlY2lmaWMgVVJMLiBJZiB5b3UgYWRkZWQgdGhlIGZ1bmN0aW9uIGFzIG5hbWVkIGZ1 bmN0aW9uIGluIHRoZSBtb2R1bGUgKHNlZSBodHRwczovL2RvY3VtZW50YXRpb24ub3BlbmNtcy5v cmcvb3BlbmNtcy1kb2N1bWVudGF0aW9uL3RlbXBsYXRlLWRldmVsb3BtZW50L2R5bmFtaWMtZnVu Y3Rpb25zL2Z1bmN0aW9uLWRldGFpbC1wYWdlcyksIHlvdSBtYXkgYWxzbyBkbyB0aGlzIHZpYSB0 aGUgc2l0ZW1hcCBlZGl0b3IgYnkgYWRkaW5nIGEgZnVuY3Rpb24gcGFnZS4gQnV0IHRoaXMgaXMg b3B0aW9uYWwsIGFkZGluZyBpdCBqdXN0IGJ5IGhhbmQgaW4gdGhlIC5jb25maWcgZmlsZSBpcyBn b29kIGFzIHdlbGwuCj4+Pj4KPj4+PiBUaGUgZGVmYXVsdCBkZW1vIG9mIHRoZSBjdXJyZW50IE9w ZW5DbXMgdmVyc2lvbiB1c2VzIGEgZnVuY3Rpb24gZGV0YWlsIHBhZ2UgKHRoYXQgaXMgbm90IGNv bmZpZ3VyZWQgYXMgbmFtZWQpIGZvciB0aGUgc2VhcmNoIHBhZ2UuIFlvdSBmaW5kIGEgZGV0YWls IHBhZ2UgJ2Z1bmN0aW9uQFNlYXJjaCBwYWdlJyBpbiB0aGUgc2l0ZW1hcCBjb25maWd1cmF0aW9u cy4KPj4+Pgo+Pj4+Cj4+Pj4gQmVzdCwgRGFuaWVsLgo+Pj4+Cj4+Pj4KPj4+PiBBbSAyMC4wNS4y NiB1bSAxODoyNCBzY2hyaWViIGxhdXJlbnQuZHJ1YXJ0IHZpYSBvcGVuY21zLWRldjoKPj4+Pj4g SGVsbG8sCj4+Pj4+Cj4+Pj4+IERvZXMgc29tZW9uZSBoYXZlIGEgdHV0b3JpYWwgZm9yIMKrIGR5 bmFtaWMgZnVuY3Rpb25zIMK7IGFuZCDCqyBmdW5jdGlvbiBkZXRhaWwgcGFnZSDCuyA/Cj4+Pj4+ Cj4+Pj4+IFRoZSAyIGV4YW1wbGVzIHBhZ2VzIGluIHRoZSBkb2MgYXJlIMKrIGVtcHR5IMK7IC4K Pj4+Pj4KPj4+Pj4gaHR0cHM6Ly9kb2N1bWVudGF0aW9uLm9wZW5jbXMub3JnL29wZW5jbXMtZG9j dW1lbnRhdGlvbi90b2RvL2RlbW9zL2R5bmFtaWMtZnVuY3Rpb25zCj4+Pj4+IGh0dHBzOi8vZG9j dW1lbnRhdGlvbi5vcGVuY21zLm9yZy9vcGVuY21zLWRvY3VtZW50YXRpb24vdG9kby9kZW1vcy9m dW5jdGlvbi1kZXRhaWwtcGFnZXMKPj4+Pj4KPj4+Pj4gVGhhbmsgeW91LAo+Pj4+Pgo+Pj4+PiBS ZWdhcmRzLAo+Pj4+Pgo+Pj4+PiBMYXVyZW50Cj4+Pj4+Cj4+Pj4+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+Pj4+IFRoaXMgbWFpbCBpcyBzZW50IHRv IHlvdSBmcm9tIHRoZSBvcGVuY21zLWRldiBtYWlsaW5nIGxpc3QKPj4+Pj4gVG8gY2hhbmdlIHlv dXIgbGlzdCBvcHRpb25zLCBvciB0byB1bnN1YnNjcmliZSBmcm9tIHRoZSBsaXN0LCBwbGVhc2Ug dmlzaXQKPj4+Pj4gaHR0cHM6Ly9saXN0cy5vcGVuY21zLm9yZy9tYWlsbWFuL2xpc3RpbmZvL29w ZW5jbXMtZGV2Cj4+Pj4+Cj4+Pj4+Cj4+Pj4+Cj4+Pj4gLS0gCj4+Pj4gS2luZCBSZWdhcmRzCj4+ Pj4KPj4+PiBEYW5pZWwuCj4+Pj4KPj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tCj4+Pj4KPj4+PiBE YW5pZWwgU2VpZGVsCj4+Pj4gQWxrYWNvbiBTb2Z0d2FyZSBHbWJIICYgQ28uIEtHIC0gVGhlIE9w ZW5DbXMgRXhwZXJ0cwo+Pj4+IGh0dHBzOi8vd3d3LmFsa2Fjb24uY29tIC0gaHR0cDovL3d3dy5v cGVuY21zLm9yZwo+Pj4+Cj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KPj4+PiBUaGlzIG1haWwgaXMgc2VudCB0byB5b3UgZnJvbSB0aGUgb3BlbmNt cy1kZXYgbWFpbGluZyBsaXN0Cj4+Pj4gVG8gY2hhbmdlIHlvdXIgbGlzdCBvcHRpb25zLCBvciB0 byB1bnN1YnNjcmliZSBmcm9tIHRoZSBsaXN0LCBwbGVhc2UgdmlzaXQKPj4+PiBodHRwczovL2xp c3RzLm9wZW5jbXMub3JnL21haWxtYW4vbGlzdGluZm8vb3BlbmNtcy1kZXYKPj4+Pgo+Pj4+Cj4+ Pj4KPj4gLS0gCj4+IEtpbmQgUmVnYXJkcwo+Pgo+PiBEYW5pZWwuCj4+Cj4+IC0tLS0tLS0tLS0t LS0tLS0tLS0KPj4KPj4gRGFuaWVsIFNlaWRlbAo+PiBBbGthY29uIFNvZnR3YXJlIEdtYkggJiBD by4gS0cgLSBUaGUgT3BlbkNtcyBFeHBlcnRzCj4+IGh0dHBzOi8vd3d3LmFsa2Fjb24uY29tIC0g aHR0cDovL3d3dy5vcGVuY21zLm9yZwo+PgotLSAKS2luZCBSZWdhcmRzCgpEYW5pZWwuCgotLS0t LS0tLS0tLS0tLS0tLS0tCgpEYW5pZWwgU2VpZGVsCkFsa2Fjb24gU29mdHdhcmUgR21iSCAmIENv LiBLRyAtIFRoZSBPcGVuQ21zIEV4cGVydHMKaHR0cHM6Ly93d3cuYWxrYWNvbi5jb20gLSBodHRw Oi8vd3d3Lm9wZW5jbXMub3JnCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpUaGlzIG1haWwgaXMgc2VudCB0byB5b3UgZnJvbSB0aGUgb3BlbmNtcy1kZXYg bWFpbGluZyBsaXN0ClRvIGNoYW5nZSB5b3VyIGxpc3Qgb3B0aW9ucywgb3IgdG8gdW5zdWJzY3Jp YmUgZnJvbSB0aGUgbGlzdCwgcGxlYXNlIHZpc2l0Cmh0dHBzOi8vbGlzdHMub3BlbmNtcy5vcmcv bWFpbG1hbi9saXN0aW5mby9vcGVuY21zLWRldgoKCgo=