X-CGP-ClamAV-Result: CLEAN X-VirusScanner: Niversoft's CGPClamav Helper v1.22.2a (ClamAV engine v0.102.2) X-Junk-Score: 0 [] X-KAS-Score: 0 [] Return-Path: Received: from [40.92.72.83] (HELO EUR03-VE1-obe.outbound.protection.outlook.com) by selbstdenker.ag (CommuniGate Pro SMTP 6.3.7) with ESMTPS id 27682483 for webobjects-dev@wocommunity.org; Thu, 14 Apr 2022 21:34:20 +0200 Received-SPF: pass receiver=post.selbstdenker.com; client-ip=40.92.72.83; envelope-from=halbeisen@hotmail.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hR1eZqlyPeznzjLCOg13i+JqGTPVekmV0kZbSiEl6AtRePT7vCxiIfDIOSgLf4X8gTGk6QVNs52ISiLYBr+7kxNjotrrHxg5GOeMv71TXAOpnnc2zaXz6svRiPAoGifyMGTRJLWdGTNOh8e0UWq9LWQHZYYgnwfLMjzJLclVsjrDdmkMyKyMpUp82SZjYxtOr4uytzx4mzHAsb6rM054DKQGuDHlOmsXavd7fPT+zcE8F2IL+WfqyNYefa3L5WeglVp/zZvcLM5Y5zyZUe+nWihHK+IC0qPbaFZJARnzCoOOFBsggUXVTccuIZ6vvkiwzTSJcph0zYECn8GTOOchKQ== 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=erJzrESZQTj+ClRrv/a2gR9Y8eTRiyad4rpWD7G8FPo=; b=m8vNUr+DAnBvgy/F70ZDvp4MN+A2MXlCF3s5pDRxZ2LFEdmtsyvlLlTzAjAbYupZ94vMiBaRLlhhrnB46duqbDBMmkfDUFVrrraxHOng2McXPkUaprQEJvG3n9KqsYgzpVD3EQoMfEQnCnq3rWyYHf1lw8mTokV0X5/t7HNwUtU3H756qTTnttK8DktPiwdSlKnODR4onUulI8U5B3zO2DUmoPuW1FmgaxWFD6htij8Duf1/OAsXlSzt66bphI3Ix0J/1gWtEA2v9Dy56IuZL8Oam1anv5u/OJTlEekDHh5RNunC7SEKaJKbgBXrZY/xYJbqP0VuMZe2pdb4RazkhA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=erJzrESZQTj+ClRrv/a2gR9Y8eTRiyad4rpWD7G8FPo=; b=FcOSl/aGAwCYDygeKrnHd9ElHvhXzYpLsjM+O6Hp9NrfKcpGCI3hsB3P0qw1lVAu+z5Tme9XkPjILbPidn0IU6EP52X7ZEKnTfccPFFNUFZPnWwTR65pBmxDxpoKxHxjbnMDOb5VrMQ22IbwNgxnTTcJ6fYWsDc5IErraqGAID52gpEiuC+HORGicNOkj+o7uPGbjb+r7Lutom2rbs4uom18PJViYiHAxbrCx7d31Jl2iMoyCaVgGDJQ6sx1rmePHMdnjDwiyXY77KjIAfx3KTXJeBruZlju7j1erzmBmJVkEORjn7Wt7SEEhVL4WLNuTTSVYTtnDUcfMaJ0ZnoOpA== Received: from PAXPR06MB8556.eurprd06.prod.outlook.com (2603:10a6:102:2b2::20) by AM6PR06MB4406.eurprd06.prod.outlook.com (2603:10a6:20b:9::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5144.29; Thu, 14 Apr 2022 19:33:58 +0000 Received: from PAXPR06MB8556.eurprd06.prod.outlook.com ([fe80::540:8f27:1d78:93b0]) by PAXPR06MB8556.eurprd06.prod.outlook.com ([fe80::540:8f27:1d78:93b0%5]) with mapi id 15.20.5123.025; Thu, 14 Apr 2022 19:33:58 +0000 From: Wolfgang Hartmann To: WebObjects & WOnder Development Subject: Re: [WO-DEV] Re: Need conceptual help Thread-Topic: [WO-DEV] Re: Need conceptual help Thread-Index: AQHYUAGpR8bgfcsdrUeCIxYgsk/RtKzvyfjq Date: Thu, 14 Apr 2022 19:33:58 +0000 Message-ID: References: In-Reply-To: Accept-Language: de-AT, en-US Content-Language: de-AT X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [Tx7XXGhH8gYa4wCtk5wJ+3Vv8VDUWZXs] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e47b2fb9-e521-403c-9c63-08da1e4db86c x-ms-traffictypediagnostic: AM6PR06MB4406:EE_ x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Aw4qaqZEGfMs3svUIutXC6HqVt6nOKJYLtegq4bWNmqy2QwebuNs22XKQl+NKlOOsOvdD1Y/lEocoQYuqSyyMZX9zFZFpbXLWflEZzJRqjr+l2ITBk1a6jnK+EY5FzWthhRwcN3FEKhxW2jp3LvbyEOl4PujBGV/jAs7X0IwyL+ys6XZdPAdhhmviCJ68GMbpQf6PseuytH997uNTTOJe85/VoAs1mecyCf1IAx6a1FGxLQmBDW+0pX9i+kNZlKMDGM4tv3oQWW8qk8e+2TjkcT2DbGCkd/Ingcuaudb5kJSz8EEwIJ/9Go9hul7fKRjFL75g8pTVPdyULypOB6wYLo9gk5WCgHoNHzZYbbONYsgBPUAkRncMiLG1xfpm+Lzk5E5nJJh73UNDCW6hqn5It0/bJoYBqSoumLHRZPPp4hQYUlP53dBdgRdqQa+WQw7EuDeoRZyodWlKjZ1t0ubPxsldzsYSXDYQkPXzPdxA//BRHEP6l1tKvqLfxL7TtWOr3c35LKpzGRa6Ra2vIWvGbAnNVvUCHmJr+E65vNeqBv3C0lf0lpKOjo1v7GOX7OlFKzL4PqZjigz9hpBiJxfis5Rv/EU+ml4I1E8owbuzHtBrqNLppLRY2B9oG0PaSuB x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?Windows-1252?Q?ecdUYs38WL6QgDB+Dr9h9Xejp6rOXciRlDVWtT2bfIrBDCBXZbMFXZ2Y?= =?Windows-1252?Q?kh8MFXfXJKBV5S2n79CPokurpatllahy6L1aIBfozeLma2ccnmRY0QKn?= =?Windows-1252?Q?mZaDYdFaaB2s3nW+yUkUeG9AfbBuZLV9UBe456p3qU5EL/VA63JzpqVp?= =?Windows-1252?Q?dGHSYD/llMj3Wj/pWy2F0wuo3t0ilnAzOFzUMa8oQ/AcG2Z/AWuAhcsi?= =?Windows-1252?Q?KPAJpK+YTJ+6ROLx0UXT9v8nUPaoTy/NRcwh7HcGE1tDQQk5VfT+W4U3?= =?Windows-1252?Q?AWQ0/KN15qMlT72D6QXAgmWmGPcZETjvrF1yRydkFm/RLpXtDz5rOQud?= =?Windows-1252?Q?24hHLjU2DfQVi8+L6i/Kkkv31Qd7UKGHJ7TVTemmR/OEY4q6Yltn4GNW?= =?Windows-1252?Q?d4uqGF3LPh5ziLAtYbquplOlCOhoWF2p232ydjlCqC5sTEnREH9G9ivP?= =?Windows-1252?Q?KYDqdvUcL5KE/D++LVMGW1lsRlduksa0LP28ITeHZ1Gg9TiMVVEBi5ql?= =?Windows-1252?Q?tsPGaQaFRbAAlw2PSmwo+a3S8dGWMva/zdC6gC2ZJjqEQMLPx8wvcdvc?= =?Windows-1252?Q?l113/SOCE5Wo+zm3hxdA+ovPmWeG/OV6VRTqIaylB3ceGf7zw4A4FsNT?= =?Windows-1252?Q?ep8ZxkF0jjW1GcbHGWaEyX9k3SxWClycxAWFwhiFcDzh10SuOAGj5cdj?= =?Windows-1252?Q?TzkyS0W+7B03KuZ5VzQ9AfRFvFeKDdgs9CkL+D5JPfh4G66kG3T4452x?= =?Windows-1252?Q?LaTLDvMvlaVc2+j4XtKKmcd5kLK5kLgncJY/Xwy8tKSbnrUIgjrZaBin?= =?Windows-1252?Q?CNcuyv7KedeTWfOsnNcyqAoVbddKIYLs5gFyM9H61SmwyVWrD27qi06R?= =?Windows-1252?Q?uB9pyPFb0ah/K5kkXfm/Ma/OrGiH33J2q6vs9PWNN9pm4EirseWfZm4s?= =?Windows-1252?Q?9fe/L+Ykee/yeH5xKs94SjKUTTjzNbHZffuM4jTJ/XOK+lUbku2sNFoh?= =?Windows-1252?Q?5iQQzB5mQMShLq+qfJwWLANQEzFq58hyzS89piDN4B2w10as//5srjuN?= =?Windows-1252?Q?YzycbX9DGXEejbmPQpU/h61PXfh9AdZ/xoCNZeMHp/FP72tVwYHrzAzh?= =?Windows-1252?Q?p1VfuObWKNaWwwBSXAuAsLsYNed2ajK2KDDX2njJfSF8PuTOiCwzxOEH?= =?Windows-1252?Q?msns4+g59UT1tbDmGVxuZUVPqN1f0IyqlpbHueKmNcpmHvLIcA6VrbrW?= =?Windows-1252?Q?oGC7ypV6meATrDsRIWJ7iqzsiwCL7N3qosFrMuiyzpE3vCj2NKsE+Wfk?= =?Windows-1252?Q?i+4W2/evOXQI24vCjr1ZgK+Q0lvZXW+n5Lw8re0EGMbibyFFaUR/on2H?= =?Windows-1252?Q?1yoxH7O+7E8P0S2JtYIJMzR/FT4cqhiYlMKIgSIu6lNx/aZ6WGWBfYZR?= =?Windows-1252?Q?RS4MRRl0FrobivgAX+4UmR5w5oumBwOiH1EeW9cqHvDqmLaKKaWdk0ea?= =?Windows-1252?Q?vhwr0h75F3h80zlL3GbmOwzEKYyWelPOLE4ed7aKhhkyHK5FcwK0CPqY?= =?Windows-1252?Q?Ye4Wa49If/fM0co1?= Content-Type: multipart/alternative; boundary="_000_PAXPR06MB85566CD9E65347E22C43D772BCEF9PAXPR06MB8556eurp_" MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-6e454.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PAXPR06MB8556.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: e47b2fb9-e521-403c-9c63-08da1e4db86c X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Apr 2022 19:33:58.0693 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR06MB4406 --_000_PAXPR06MB85566CD9E65347E22C43D772BCEF9PAXPR06MB8556eurp_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable To integrate the polling into an existing WOEnvironment you could do the fo= lllowing: - Two AjaxUpdateContainer. One with an AutoRefresh which contains an AjaxUp= dateTrigger - If you have a new task the Trigger refreshes the big container. Then you have fast and small polling. On the conceptual side there could also be a message broker system consider= ed (some small Mqtt-broker). But this is hard to fit into the WO-World. I c= hecked the Wonder-Code and there also would be some Websocket-Support avail= able. Best Regards, Wolfy Get Outlook for Android ________________________________ From: WebObjects & WOnder Development on b= ehalf of Samuel Pelletier Sent: Thursday, April 14, 2022 3:14:36 PM To: WebObjects & WOnder Development Subject: [WO-DEV] Re: Need conceptual help Hi Markus, I see at least 2 options that works for a web app in a controlled environme= nt like this: 1 - Assign a persistent cookie to the device in a special page that identif= y the device in your system. 2- If you use DHCP assigned IP, your iPad have "static" its that can be use= d to identify them. Both informations are available in the WORequest. About the pooling comment, I do not see a real problem there for few device= s that need to pool slowly. I do not see a requirement for faster than 20-3= 0 seconds since either the device is given to the person (and a manual refe= ree can be done there) or the person need to walk to the device. You can im= plement that kind of pooling with AjaxPing very easily. Implementing WebSoc= ket is way more complex and kind of overkill for something like this. BTW, is there anyone with a WebSocket integration sample ? I searched to im= plement the server part and did not found useful sample or implementation t= o integrate inside a Java app, The most complete and interesting informatio= n are all using an external server for this and the developper need to find= a way to identify the client and build some custom protocol for the messag= ing. Anyway WebSocket is cool for single page app but for standard full page ref= resh app, the socket is closed on every page load unless I missed something= . Regards, Samuel Le 10 avr. 2022 =E0 14:48, Markus Ruggiero (rucotec) > a =E9crit : Thanks, this might help eventually. However I did not want to create a native iPad app, just wanted to make sur= e that the browser was known to the WO server application. But maybe in the= end a native app will be the solution - just not yet. ---markus--- On 10 Apr 2022, at 18:20, J=E9r=E9my DE ROYER > wrote: Bonsoir Markus, Each app on an iPad has a unique ID set when the app is installed. In Swift code, I use the code below : - UIDevice.current.identifierForVendor!.uuidString Using that, I can authorize the acces to an app for specific iPads. I hope it will help you, J=E9r=E9my Le 10 avr. 2022 =E0 16:05, Markus Ruggiero (rucotec) > a =E9crit : Dear WO-ers, I need your expertise. I want to have a defined set of tablets (iPad) tied into my application. Th= e tablets act as a satellite device in the context of a customer checking i= nto a clinic. The person comes up to the registration desk and is checked i= n. The receptionist sees that there is some registration data missing and h= ands the patient a tablet with the running application (or directs the cust= omer to "use the green screen over there=94). The receptionist should now b= e able to remotely open the registration screen on that green iPad, the cus= tomer filling in the data and then pressing Save. My train of thoughts goes like this: As a one-time operation an admin opens the application from that green iPad= , goes to a registration screen, and creates a =93Satellite" entry in the d= atabase. This entry gets a UUID (or something similar) and that UUID should= be put into the green iPads Web Storage. This is a one-time registration o= f the device (actually the browser on that device, not the device itself). When the workday starts the receptionist logs into the application on the g= reen iPad and goes to a dedicated screen. This screen then polls every coup= le of seconds whether there is some task available on the server. There may= be a number of different tasks that the receptionist can create. The recep= tionist assigns such a task to the green iPad (or the red one or...) as an = entry in the database and the polling iPad then displays the task screen. T= his kind of pushes a task to a browser. When the task is done the iPad goes= back to polling. The server also knows that the green iPad is busy or not. I need to identify the polling iPad and I want to pre-register the iPad as = a security measure. How would you tackle such a requirement? Thanks ---markus--- --_000_PAXPR06MB85566CD9E65347E22C43D772BCEF9PAXPR06MB8556eurp_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable
To integrate the polling into an existing WOEnvironment you could do the fo= lllowing:
- Two AjaxUpdateContainer. One with an AutoRefresh which contains an AjaxUp= dateTrigger
- If you have a new task the Trigger refreshes the big container.
Then you have fast and small polling.

On the conceptual side there could also be a message broker system consider= ed (some small Mqtt-broker). But this is hard to fit into the WO-World. I c= hecked the Wonder-Code and there also would be some Websocket-Support avail= able.

Best Regards,
Wolfy


From: WebObjects & WOnd= er Development <webobjects-dev@wocommunity.org> on behalf of Samuel P= elletier <samuel@samkar.com>
Sent: Thursday, April 14, 2022 3:14:36 PM
To: WebObjects & WOnder Development <webobjects-dev@wocommuni= ty.org>
Subject: [WO-DEV] Re: Need conceptual help
 

I see at least 2 options that works for a web app in a cont= rolled environment like this:

1 - Assign a persistent cookie to the device in a special p= age that identify the device in your system.

2- If you use DHCP assigned IP, your iPad have "static= " its that can be used to identify them.

Both informations are available in the WORequest.

About the pooling comment, I do not see a real problem ther= e for few devices that need to pool slowly. I do not see a requirement for = faster than 20-30 seconds since either the device is given to the person (a= nd a manual referee can be done there) or the person need to walk to the device. You can implement that kind of p= ooling with AjaxPing very easily. Implementing WebSocket is way more comple= x and kind of overkill for something like this.

BTW, is there anyone with a WebSocket integration sample ? I searched = to implement the server part and did not found useful sample or implementat= ion to integrate inside a Java app, The most complete and interesting infor= mation are all using an external server for this and the developper need to find a way to identify the clie= nt and build some custom protocol for the messaging.

Anyway WebSocket is cool for single page app but for standard full pag= e refresh app, the socket is closed on every page load unless I missed some= thing.

Regards,

Samuel



Le 10 avr. 2022 =E0 14:48, Markus Ruggiero (rucotec) <markus.ruggiero@ruco= tec.ch> a =E9crit :


However I did not want to create a native iPad app, just wa= nted to make sure that the browser was known to the WO server application. = But maybe in the end a native app will be the solution - just not yet.

---markus---

On 10 Apr 2022, at 18:20, J=E9r=E9my DE ROYER <jeremy.deroyer@ingencys.= net> wrote:


Each app on an iPad has a unique ID set when the app is ins= talled.

In Swift code, I use the code below :
UIDevice.current.identifierForVendor!.uuidString

Using that, I can authorize the acces to an app for specifi= c iPads.

I hope it will help you,

J=E9r=E9my

Le 10 avr. 2022 =E0 16:05, Markus Ruggiero (rucotec) <markus.ruggiero@ruco= tec.ch> a =E9crit :

Dear WO-ers, I need your expertise.

I want to have a defined set of tablets (iPad) tied into my application. Th= e tablets act as a satellite device in the context of a customer checking i= nto a clinic. The person comes up to the registration desk and is checked i= n. The receptionist sees that there is some registration data missing and hands the patient a tablet with the = running application (or directs the customer to "use the green screen = over there=94). The receptionist should now be able to remotely open the re= gistration screen on that green iPad, the customer filling in the data and then pressing Save.

My train of thoughts goes like this:

As a one-time operation an admin opens the application from that green iPad= , goes to a registration screen, and creates a =93Satellite" entry in = the database. This entry gets a UUID (or something similar) and that UUID s= hould be put into the green iPads Web Storage. This is a one-time registration of the device (actually the browser on tha= t device, not the device itself).
When the workday starts the receptionist logs into the application on the g= reen iPad and goes to a dedicated screen. This screen then polls every coup= le of seconds whether there is some task available on the server. There may= be a number of different tasks that the receptionist can create. The receptionist assigns such a task to = the green iPad (or the red one or...) as an entry in the database and the p= olling iPad then displays the task screen. This kind of pushes a task to a = browser. When the task is done the iPad goes back to polling. The server also knows that the green iPad is bu= sy or not.

I need to identify the polling iPad and I want to pre-register the iPad as = a security measure.

How would you tackle such a requirement?
Thanks
---markus---








--_000_PAXPR06MB85566CD9E65347E22C43D772BCEF9PAXPR06MB8556eurp_--