X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.25a (ClamAV 0.103.8/26959) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from [40.107.220.41] (HELO NAM11-CO1-obe.outbound.protection.outlook.com) by selbstdenker.ag (CommuniGate Pro SMTP 6.3.18) with ESMTPS id 30997933 for webobjects-dev@wocommunity.org; Wed, 05 Jul 2023 01:25:39 +0200 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=40.107.220.41; envelope-from=Ramsey.Gurley@practicemojo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=H32Z60n38wlHRoojWTtYbzvzCur3KzFe/RgEyIvNH5SKlMsERgeyyBmTT2YSQ0om5rxN9Gk4AhOvYKPy9xN5W1Wb+8RrHnwpTl9AbmWXPah9bQt1m+WPG/IylajOO01FTYu9h6yRYk1132r95fvb2xMUn1bZkCaP1W4bXDyoe+CY0ZqFNYUt13blAb+gGvg1n7FTZRyY4kAZAQdFCTJb2NBD7eBQsXD1b/yRw8+duyABdN4ea5ldpyjARnspwO+U8kQcDpbvMKE7mNVSG9tK6vTOBOBwCMU68G2Os8O9RZgEM+w8VfyKBXeEYlKEvktz2BBxJv/qdqBVb/aLK9Hb5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qqMw5Cp6ktYFmm6u6DNK7ewOShbPoIAfL6Us1JCO0ng=; b=cGsmkaUVjcDil6y5bAY4WNvHywfUO7/qYGLcVEVAuJ8Z3t/1NnEBptogALNfcwelmUg0kE7aI0s76HUl6W/AXnHt+nDYObSJLz0pUWfwwgyIcoC4z5dAPAymK0tmpN6YWZyKx8HQKd++v8gks9cSg73x57jNLiQv18P2ckpxMETqCCQZVgK1FntTWVHKBsKAvidbzjmC6rese/DJwxeK8VBDFkY1BVBQm/grrtjcLTyHPj2rDt0CG6rVj8asJVuOBgbWTxrf8FQDC4z5FtVJ01Cw/d+jvMMZLWoBb5ykgM1+8Mt0n5eQMFN/0HyDiGh5NkbyfOI6Lo/hiYOPoUVoEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=practicemojo.com; dmarc=pass action=none header.from=practicemojo.com; dkim=pass header.d=practicemojo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=prositesinc.onmicrosoft.com; s=selector2-prositesinc-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qqMw5Cp6ktYFmm6u6DNK7ewOShbPoIAfL6Us1JCO0ng=; b=gap5BTNAtxp7Pi4rCD1pt5r+wkoZW8rZT/s5A0KRiSJZFZWvYYcZBHyFG0MUz6g+3/BFn7KVkTeMW/Y1HvmcAgvSGnEB4gh7LCwlPMlCTB447353IFZE7dCuUZTLrq8MPp6GR7633Pwagu6nXTRo7o8WbroWd4bOd3H7lKyCESU= Received: from BYAPR18MB2534.namprd18.prod.outlook.com (2603:10b6:a03:12e::29) by PH0PR18MB4905.namprd18.prod.outlook.com (2603:10b6:510:120::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6544.24; Tue, 4 Jul 2023 23:25:14 +0000 Received: from BYAPR18MB2534.namprd18.prod.outlook.com ([fe80::8a03:777c:8b39:7ca0]) by BYAPR18MB2534.namprd18.prod.outlook.com ([fe80::8a03:777c:8b39:7ca0%5]) with mapi id 15.20.6544.024; Tue, 4 Jul 2023 23:25:13 +0000 From: Ramsey Gurley To: WebObjects & WOnder Development Subject: Re: [WO-DEV] Return to component from calling an external non-wo app Thread-Topic: [WO-DEV] Return to component from calling an external non-wo app Thread-Index: AQHZrs292Uc2HD2J+0+T5FRYdialJA== Date: Tue, 4 Jul 2023 23:25:13 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=practicemojo.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR18MB2534:EE_|PH0PR18MB4905:EE_ x-ms-office365-filtering-correlation-id: 75bbdca2-d045-44ee-3a0a-08db7ce5eb32 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: c1zctZ3uA+Q2SYIOb2klXCLapkNOzOVwyD91mZ1xmKzUZqqqJpIT/Iv3n8FxiiNAp8ke1J3dH8OzZ5o7m7ocRdsraXg2TL4HA6ACb7FWoKnK0kLRSG1jDLn63k3Zr52gytMPqctYorKQuDopUuDDiadFE+fg2d5KK7ySx8ke3CiTHmvnAkuglWbe7IsjfQr3ABeZz32dUFA1yk20jp5MkjdxivVsU1PT41KkA8QId/9g5K1kk7ml2nTuCAGkiPn/ZNWntdnjlHlDRiPlLqRHgCnSqjd201ana8By59wPE0bV9f6MTNDBDr8/OTGAQYKazy0bg0kLSlBdP8aP4qo/t3ugKE7YiB5YGdDXN3JfxqEzZz+jplgNjxDJYqbvpR0ZqrTJaBnvMYaiX2bSlOCGb8uCdwW/MpbAlUVAuudTYPQVrWxSN74kQWiPNeyeaw0u5TBsSYOQFPeYmrb1UTWq6MdXoRcK+S/dp0OpgVUS1Q9nTA56dn+5YwLSeXMKf581UgRVXcaLRgJtAAOwUDCJ2OcJpmRswY1Y0jkl/O+Czcao+cG/ZHLUtmV91dRY8bv2lAQDZEp/4lfnlbkvcaNkZV6drAjxrGDRMjc3W8r/+p0= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR18MB2534.namprd18.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(376002)(39840400004)(136003)(366004)(346002)(451199021)(33656002)(6916009)(64756008)(66946007)(66476007)(66556008)(2906002)(76116006)(478600001)(316002)(91956017)(66446008)(8676002)(8936002)(52536014)(19627405001)(5660300002)(66899021)(186003)(41300700001)(9686003)(55016003)(966005)(38070700005)(86362001)(38100700002)(7696005)(6506007)(53546011)(71200400001)(122000001)(26005)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?SDjNWJsaF9zkLPEO+lvCEgiWSVlv+5dVzL/hQnhlzvAErhx6VbfzpkA3?= =?Windows-1252?Q?lPiwPR/1FGNSLex925Txu8TcQTln7yQ3AOlAClu2mRE4ouawWjii776L?= =?Windows-1252?Q?WVzjTI5RHW6pEY9CeAZ5mvK63i4ygpo0X1ZwQTx17yKjYwHEy7yh5Go/?= =?Windows-1252?Q?bNnmwucerWFg9+NIOTG/fY2oqFNPkNAL4fdATPIudo3BDoIDpdTvRGbp?= =?Windows-1252?Q?3NjwRYnNcoZ+7SyqWJfgTtFS5VvpQFDHZ7+YuNQmWfL03poxfaBCn+gK?= =?Windows-1252?Q?K8/7Y2iWREpLGJOi6eHygkhB89OA8DKuvl7LLMDFFKoEJSKmC96C/mv9?= =?Windows-1252?Q?WzIRXK4AkBTWDVCztQIx17FuWeORu7vUq5T9CilXuclt9sF6V1xGQIDt?= =?Windows-1252?Q?7DtM+33MrXoJFe2zxc9AvKvoNgQuJsnfo2gXYH0YGbEHPvt0BD3WyxNb?= =?Windows-1252?Q?bd+yWyeFnjAdfVOZyOX9gwPJ4KzaKuLIcdy7sHea7840MML41lfX0pR7?= =?Windows-1252?Q?JxxOZ9evfX9icD7daTn6mXCmKlHXjVMaWx7Ym/g7sBb9OdpYpMBYnJeo?= =?Windows-1252?Q?cao5UKv2yi8v/aUmPXjYs2ZgAeXFTQdOF1gz1HbqoX2XgjR4ZZkTz7pV?= =?Windows-1252?Q?+TEDL6gmr2DNIEePk3i6SBsMmVRawye+VM/Boq0Xh6FCW6gN6OAAKIMJ?= =?Windows-1252?Q?Galr15LuzN3LvBdhYgF7ZbpM9CWXY2s5l5cNbDA6eWHCESoAlHBt38a6?= =?Windows-1252?Q?dCebmIVqOLg8YJTUsWr2qwi3WDVuCpDpiRbdXx1FYjSltIIN0y3WXfyS?= =?Windows-1252?Q?ArKfIOwJtMZzrEB+FZq2iavxK8y1VE2jTZS8QjKfIdna7e0+Q9zXJu4I?= =?Windows-1252?Q?hCDJZAOq0oxHXCdqXmv6Cn0GalVE72GmPSYr0XY3F87D9tUV+2u/8VjI?= =?Windows-1252?Q?m9eAAfcsyxQT4aFJ3h4kIxsHKbLkeEbkAkZX5rHXB6ZtMw74IVtsl9aC?= =?Windows-1252?Q?adiORm5ouuHM95lukjeXDFLCvc0ccE5zbf3pzUgoc1wycfg+t+IWgZxx?= =?Windows-1252?Q?CPF3VccrlX30c66HyBQtWVMUMPyNUpoXq4y1nw1RHAP5B4TsY22hSEI5?= =?Windows-1252?Q?4cwSlemEsnpXFSi0J/nRtXqZGTQbkmVN841Yo5WD6+gcNsmrtjm6i2Oq?= =?Windows-1252?Q?maIXYMmoGVYVHCJ9sJxed5TmtXg0mxCAtAyM+i75Z/1kcALX20TpTZnq?= =?Windows-1252?Q?DiXPfFIZaTJbhdoMnlt3n03n6JDNlLG0P8U+KHYIn4DyvWBT1ld62ydE?= =?Windows-1252?Q?JriP7VSJpx4FvxXaba1QW3rsYZGS1yUiCM4JCs3IJlh2FxQZAtqr4u1U?= =?Windows-1252?Q?QLOjjAK8K1hTa8NGXk9KcSS49Cr1YRuQluJjOj/qH/FCBPXIjn8Qz1Xk?= =?Windows-1252?Q?v1sXTIQTyDwnJR4Ce81JzLW8SUurne9nL1ap4/wYDZpaSl5PWXzMah8T?= =?Windows-1252?Q?574xhC4vc+N3ja9iu9CIfA1z4rVpMhXKK1hHvQuvWgggc5Mw1g80+0hF?= =?Windows-1252?Q?/hr5dA2auJFlLR9MtG7GZwuFWP/nV4d1SrznUKz+fW/oDwxMNfcokeOl?= =?Windows-1252?Q?79ypvT+7TjWWIe/arngyWV+1cWMbuL6G6gK0dZjCV61L/s8t8WMmRJ5H?= =?Windows-1252?Q?dfiIFKKZAVvLqlEum71qT5AMS0660fy9QFjli33Jxd+JlGkV1BGgmQ?= =?Windows-1252?Q?=3D=3D?= Content-Type: multipart/alternative; boundary="_000_BYAPR18MB2534AD30B3A926457744EB75862EABYAPR18MB2534namp_" MIME-Version: 1.0 X-OriginatorOrg: practicemojo.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR18MB2534.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75bbdca2-d045-44ee-3a0a-08db7ce5eb32 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jul 2023 23:25:13.8177 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: de0a5129-99d3-4d35-a928-09047a134775 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yIjrYSpLk979SI5Vdshq2ql5tlmgIP6LKzKg0WF28aqH9p3As7CpJL4ky4FWgLLo8jcOuK/sCMPYrO3sjFkTo5yzAhLLTWs7INF+0RU1LqY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB4905 --_000_BYAPR18MB2534AD30B3A926457744EB75862EABYAPR18MB2534namp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable I think that's just context().componentActionURL(). I believe you can also = restore a page given the context().contextID() by calling session().restore= PageForContextID(contextID) like ERD2WDirectAction does in previousPageFrom= Request(). ________________________________ From: WebObjects & WOnder Development on behalf of Markus Ruggiero (rucotec= ) Sent: Tuesday, July 4, 2023 9:03 PM To: WebObjects & WOnder Development Subject: [WO-DEV] Return to component from calling an external non-wo app I need to call an external app for some interactive stuff. The call to that= app allows to pass a URL that will be called upon the user is done on the = external site. Our user is woking inside a complex component and eventually= needs to go externally for some specific tasks. Going to said external app= happens with a POST request and a ton of XML in the request body. I can do= this, that=92s all working. One item in the posted XML is an (optional) re= turn URL. How can I create this return URL so that the user transparently comes back = to where they left off? I also need to act on this (the user coming back fr= om the external site) to download info about what the user has done over th= ere. This downloading of the results is another XML posted to the external = site, their response however is then an XML which I need to parse (that is = not a problem). I am looking for strategies and possible code snippets for such a scenario,= particularly the creation of the return URL. I want this to kind of work l= ike the user doing a reload on the current page (a.k.a. return null). I was= thinking of passing some parameter along with the URL (?comingBack=3Dtrue)= that will then trigger the request to get back the data from the external = site. This could be done in appendToResponse() with checking for comingBack= =3D=3D true. So my primary issue is how to create a URL for the current component that h= as the same effect as =93reload=94 (and mind you we are inside a (WO)Sessio= n and cannot lose this context). Thanks for your help and ideas ---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 t= hereto, are covered by the Electronic Communications Privacy Act, 18 U.S.C.= Sections 2510-2521 and are legally privileged. This information is confide= ntial, and intended only for the use of the individuals or entities named a= bove. If you are not the intended recipient, you are hereby notified that a= ny disclosure, copying, distribution or the taking of any action in relianc= e on the contents of this transmitted information is strictly prohibited. P= lease notify us if you have received this transmission in error. Thank you. --_000_BYAPR18MB2534AD30B3A926457744EB75862EABYAPR18MB2534namp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable
I think that's just context().componentActionURL(). I believe you can also = restore a page given the context().contextID() by calling session().restore= PageForContextID(contextID) like ERD2WDirectAction does in previousPageFrom= Request().



From: WebObjects & WOnder Development on behalf of Markus Ruggie= ro (rucotec)
Sent: Tuesday, July 4, 2023 9:03 PM
To: WebObjects & WOnder Development
Subject: [WO-DEV] Return to component from calling an external non-w= o app

I need to call an external app = for some interactive stuff. The call to that app allows to pass a URL that = will be called upon the user is done on the external site. Our user is woki= ng inside a complex component and eventually needs to go externally for some specific tasks. Going to said e= xternal app happens with a POST request and a ton of XML in the request bod= y. I can do this, that=92s all working. One item in the posted XML is an (o= ptional) return URL.

How can I create this return URL so that the user transparently comes = back to where they left off? I also need to act on this (the user coming ba= ck from the external site) to download info about what the user has done ov= er there. This downloading of the results is another XML posted to the external site, their response however= is then an XML which I need to parse (that is not a problem). 

I am looking for strategies and possible code snippets for such a scen= ario, particularly the creation of the return URL. I want this to kind of work like the user doing a reload = on the current page (a.k.a. return null). I was thinking of passing some parameter along with the URL (?comingBack=3Dt= rue) that will then trigger the request to get back the data from the exter= nal site. This could be done in appendToResponse() with checking for coming= Back =3D=3D true.

So my primary issue is how to create a URL for the current component t= hat has the same effect as =93reload=94 (and mind you we are inside a (WO)S= ession and cannot lose this context).

Thanks for your help and ideas
---markus---


Markus Ruggiero


rucotec GmbH    &n= bsp;                   web<= /font>&n= bsp;https://rucotec.ch
Leonhardsberg 1 =   =                 email markus.ruggie= ro@rucotec.ch
4051 Basel / Swi= tzerland&nbs= p;        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 thi= s transmitted information is strictly prohibited. Please notify us if you have received this transmission in err= or. Thank you.
--_000_BYAPR18MB2534AD30B3A926457744EB75862EABYAPR18MB2534namp_--