NetTalk Central

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - jking

Pages: 1 [2] 3 4 ... 8
16
Hi Bruce,

     I updated 5 dll apps and the Multi-Site host app from NT 12.41 to 12.61.  I tested each locally on port 88 and all seems to work as expected.  There were no changes to the apps, just recompiled all in the newer NT 12.61.  I moved the apps and the host to a California server and tested from my location in Florida.  A user in Australia opens one of the apps and as I watch the log as they move through the app, the host.exe just closes, with no error messages.
     I have the WebServer and WebHandler prototypes set properly with the Name attribute.  All the dll apps and the host are compiled with the same version, NT 12.61. 
     I did see a post here from 10-28-2012 that having the SelfService template in a dll could cause a similar issue.  Is this still the case?  Otherwise, I cant think of anything else to check.  Any other suggestions?

Thanks,

Jeff King

17
Web Server - Ask For Help / Multi-select drop
« on: August 20, 2023, 04:32:54 PM »
Hi everyone,

     I have a drop with 13 entries in it.  I would like to use the multi-select feature and return the user selections to the target field.  The user is required to select 3 items from the drop and no more.  When I select the "Allow Multiple Selections" option on the template, the drop starts in the open state on the form.  I can select multiple items but nothing is returned except the following:  ;|;multiple;|;

I would expect it to return the selected items.  Any thoughts on hove to make this work?

Thanks,

Jeff King

18
Web Server - Ask For Help / Web Service question, part 2
« on: December 20, 2022, 05:39:26 PM »
Hi Bruce,

          Two years ago I posted about creating a web service, and decided to add the web service (API) to an existing NT app.  This has worked very well.  I store user credentials in a tps file with the password stored as a salted hash.  Authentication is done with code in the WebHandler Authenticate method.  Users can log into the NT app and use the API, all with the same login and password.

          I have a user who now wants to create their own program using R-Code, to send data to the NT App via the API.  Here is a sample of their R-code:

          response <- POST(url=paste0(host,path),
                 accept("application/json"),
                 content_type("application/json"),
                 authenticate(user,passwd),
                 #add_headers(Authorization=paste0("Basic ",auth)),
                 body=request)


          Using their username and password, they successfully add data to the NT app.  There won't be any user interface involved, just their R-Code running from another app they created, to send data to my NT App via the included API (Web Service).  However, the user has a concern about "hardcoding" their username and password into the R-code they created.  I have the following questions:

1.  Is this a valid concern, coding the username and password in their R-code?

2.  Is this technique, using a username and password to access a web service/API, the preferred way?

3.  I use another unrelated API, where I send a key/code to the API.  It does not involve a username and password.  I'm not sure how or if this can be done with a NT API/Web Service.  Can this be done in NT?  If it can, is it a better way to authenticate?

Thanks,

Jeff King


19
Hi Bruce,

     Two years ago I posted about building a NT app to listen for forms and form data coming from DocuSign.  It has worked well for two years and I continue to receive form data daily.  You mentioned previously that this is essentially a Webhook scenario, where DocuSign acts as a client and sends me a "request" when one is available.  My NT Service app (listener) acts as the server.
     Today, my local University DocuSign Administrator emailed saying DocuSign has an issue.  Here is what he received from DocuSign:

"Information from DocuSign:


SUMMARY:
This email is to inform you that your account has been identified for containing a DocuSign Connect configuration that is no longer working or has not been configured to the HTTP standards we require to be considered a successful configuration. This email provides important information and resources to assist you with removing or correcting this configuration. Failure to complete this update by this date may result in an interruption of this service.

OVERVIEW:
Administrators will often set up testing configurations and then forget that they have an active configuration that they are not intending to use. When this is done in our demo environment we automatically disable a configuration14 days after it begins to fail. Starting in September 2022 we are going to begin implementing this same protocol within our production environments.

CONFIGURATION ID(s):
11118409, 11118409
Here are the configuration IDs on this account that will need to be addressed.

UPDATE OPTIONS:
To review the Connect Configurations go to your Connect Dashboard for your account. If you find that these configurations are no longer relevant or not being used you can select the Actions button to the right of the configuration and select the Deactivate or remove it entirely by using the Delete option from the drop-down menu.

If you find that your listener appears to be working but the configuration Id for this listener has been identified as failing your listener may not be reporting a http 200 message back to DocuSign as we require. To review best practices for healthy Connect configurations, see the API Usage Guidelines.

Disabling a configuration stops Connect from sending new event messages to the endpoint. It does not affect API access to those envelopes, templates, or clickwraps. After you address the issue, you can reactivate the configuration."

     


     I checked the DocuSign API Usage Guidelines and here is the entry for web hooks:

"Webhooks

When receiving webhook notifications from DocuSign, your computer is the server. DocuSign makes POST requests to your server.

Status: your server must be designed to always return a 200 status response to DocuSign when the message is successfully received. If your application does not need a particular notification message, it should respond with a 200 to DocuSign, then discard the message.

Availability: your server should be designed for 99% or better availability. It can have limited maintenance windows. It should be designed to be available 24 hours a day, 7 days a week. If this is difficult to achieve, you can use a PaaS (cloud) system to receive the messages from DocuSign and buffer them for your application. This configuration also enables your application server to receive the notification messages behind your firewall with no changes to your firewall.

Speed: your server should be designed to respond to each request from DocuSign within five seconds. Your server should use an asynchronous architecture: add incoming notification messages to an internal non-volatile queue, then send a 200 response to DocuSign. Asynchronously, one or more worker processes should process the messages from the queue."

   
     I'm not sure I have all the information I need yet, but thought I would post here to get your input.  In the guidelines above, it mentions that the NT Service app (server/listener) should return a 200 status response to DocuSign when the message is received successfully.  Does a NT Service app do this automatically or do I need to add something to do this?  I'm not sure where to do this if it is not automatic.

Thanks,

Jeff King




20
Web Server - Ask For Help / WebService Method, security
« on: August 12, 2022, 06:02:00 PM »
Hello all,

     Working with adding a NetWebServiceMethod to my NT 12.41, C11.13505 app.  I set the security tab on the NetWebService to require the user to log in.  I see two problems:

1.  When I type the URL to the WebServiceMethod, directly into the browser, such as:

                      https://www.myserver.org/databasePathology

I do see a login screen (login.png).  I have a demo user set up but when I type the user name and password, no login occurs and the login screen remains.

2.  When I call the URL, from a menu item, from within a logged in session of the app, I see all the generated documentation for the WebService.  I tried using the REST GET (JSON RESPONSE) item "Try It Live" (live.png).  I enter the user name and password and an ID of a record to "get" but I always get the response seen in the image.  There is a record in the pathology.tps file.

Any thoughts on what I might have missed in the configuration of the method, or things to check?

Thanks,

Jeff King

21
Web Server - Ask For Help / Radio buttons, NT 12.19 vs NT 12.41
« on: May 18, 2022, 03:59:12 PM »
Hi Bruce,

     I recently converted a number of NT 12.19 apps to NT 12.41. 

     In a NT 12.19 app, I have a form with 4 radio buttons, as seen in image RB 1219.png.  It stores the value in a field called Consent.  The dictionary is set to default Consent to 'No'.  When inserting a record, no radio button is selected, the Consent field defaults to 'No', and a record can be saved.
 
     In the NT 12.41 version of this app, when inserting a record, no radio button is selected, the Consent field defaults to 'No', and a record cannot be saved.  It genertaes an invalid error.  I find I must now include a fifth radio button for the option 'No', as seen in image RB 12.41.png.

     It seems something has changed with radio buttons between NT 12.19 and NT 12.41.  Any thoughts on this?

Thanks,

Jeff

22
Web Server - Ask For Help / Multi-Site host and NT 12.41 issue
« on: May 15, 2022, 04:39:37 PM »
Hi Bruce,

     I recently began updating a series of NT apps to NT 12.41.  Each of these runs in the Multi-Site host, also updated to NT 12.41.  The apps began in NT 11 and were moved to NT 12.19, were they all worked as expected for about a year. 
     Now that I have them in NT 12.41, two apps are giving me trouble.  They are looking for files in the Host folder, not the specific app folder.  In the WebHandler, ProcessLink embed, I have the following:

      Demo{prop:name} = clip(self.site.appPath) & 'Demo.tps'
      Users{prop:name} = clip(self.site.appPath) & 'Users.tps'

It does seem to find the Demo.tps file in the app folder but always looks for the Users.tps file in the Host folder.  I know this because the create attribute is set in the dictionary and the Users.tps file is always created in the Host folder.  There are two other similar apps that work as expected.  Any thoughts on this?

Thanks,

Jeff King


23
Web Server - Ask For Help / Error when updating NT12.19 to NT12.41
« on: May 14, 2022, 04:20:29 PM »
Hello Bruce,

     I updated a NT 12.19 app to NT 12.41.  I get a single error as seen in the attached image:

          Unknown identifier: DATAMENU:ISINVALID

     The DataMenu procedure is a NetWebForm displayed/called on another NetWebForm.

      I scanned the latest docs and NetTalk Central but have not found anything.  Can you help?

Thanks,

Jeff King

24
Hi Bruce,

     I'm experimenting with placing an Accordion Menu to the right of a browse.  I'm using example web app Web56 for this.  I created an Accordion Menu on a NetWebSource procedure.  Next, I created a NetWebForm onto which I placed the browse procedure and my test menu procedure.  The NetWebForm procedure is called as a pop-up from a new item on the top Drop menu.  The results are seen in Image1.png.  I have added a custom.css file to help position the menu on the right so that it aligns with the top of the browse.
     Things look promising, however, the browse is too narrow as are it's buttons.  I can resize the pop-up window but this causes the browse to position itself vertically lower and then there is too much empty space on the right.  Do you have any suggestions on how to better place the browse and the test menu?

     I have attached the Web56 app and custom.css file should you want to look at what I have so far.

Thank you,

Jeff King

25
Web Server - Ask For Help / issues with disabling Save button
« on: March 15, 2022, 11:11:11 AM »
Hi Bruce,

     I'm having an issue with disabling the Save button on a form, or setting the form to View Only mode.  My app is C 11.0.13505 with NT 12.19.

     I want to prevent the users from saving the form unless they enter some specific data.  I have tried the following methods:

1.  Disabled the Save button with the Disable If condition on the Save button tab.  This causes the Save and Cancel buttons to be disabled as expected. 

In an embed, I then use the following to conditionally re-enable the Save button:

                        p_web.ntForm(loc:formname, 'enableSave'). 

     The Save button is enabled again but the Cancel button remains disabled.

2.  I set the form to View Only mode on the Security Tab with the condition:

                        p_web.GSV('PatMKD:EDC_STATUS') <> 'On Study'

The form now only has a Close button, and is View Only, as expected.  When I use loc:viewonly = FALSE in an embed, the form is now back in insert mode but the Save and Cancel buttons do not return.  The Close button remains.

I suspect I need to reset/refresh/redraw the form with some command in my conditional embed code.  Any thoughts on were I have gone wrong here?

Thanks,

Jeff King

26
Bruce,

     I have a number of dll web apps running in the multi-site host app.  All built with C11.0.13505 and NT 11.48.  All are hosted on a Windows Server 2012 R2 machine.  I have been monitoring the log for a day or two and see a lot of "deleted sessions" in a row.  Seems about 1 minute between these deleted sessions.  There are about 35 of these in a row, with others sporadically spread above and below this section.  Please see the attached image.

There have not been many users logging in today so wondering what could be causing this and is it anything to worry about?

Thanks,

Jeff King

 

27
Web Server - Ask For Help / NT 12.19 Security question
« on: October 15, 2021, 10:59:50 AM »
Hello Bruce,

     I have a NT 12.19 Server App running on a MS Server 2019 Standard virtual machine in Australia.  In the app is an API that looks up an ID Number on a similar NT 12.19 app running in California.  The app has been running successfully for the last 4 months.  After a server update last weekend, I noticed an issue.  The app runs and I can log into it.  However, the API does not run as expected.  I turned on the window of the API so I could monitor it on the server.  The request tab did not show any request, it seemed to be stuck, but could be closed.
     After some experimenting, I set the NT Server app EXE to run in Win 7 compatibility mode, as an Administrator.  The app and the API ran as expected this time.  The client wanted to know if there were any security implications when running in Win 7 compatibility mode.  I could not answer the question so thought I would ask here.  Is the NT 12.19 Server app any less secure running in Win 7 compatibility mode?

Thanks,

Jeff King

28
Web Server - Ask For Help / HTML Drawing Tools
« on: October 01, 2021, 05:40:42 PM »
Hello all,

     Has anyone integrated an HTML drawing tool into a NT web app?  My doctors currently use a physical piece of paper to draw notes etc.  I want to replace this with a tablet and a NT Web app that allows them to draw on a form page.  Then save the drawing as an image.  Looking for suggestions on recommended tools, etc.

Thanks,

Jeff King

29
Web Server - Ask For Help / NT 12.19, trouble calling two API Clients
« on: August 07, 2021, 08:46:23 PM »
Hello everyone,

     I have a C11.0.13505 app that calls two NT 12.19 API Clients.  The main app is a simple window, that I will call on a schedule.  Upon opening it I call the following code:

Access:Pathology_MKD.Open()
Access:Pathology_MKD.UseFile()
Set(PatMKD:STUDYID_KEY)
LOOP
CASE Access:Pathology_MKD.Next()
OF Level:Benign
    If PatMKD:LIS_STATUS <> 'Success' 
        myURL = 'https://********/AustraliaStudy/api/Study?'&|
        'firstName='&Clip(PatMKD:FirstName)&|
        '&lastName='&Clip(PatMKD:LastName)&|
        '&DateOfBirth='&Format(PatMKD:DateOfBirth, @D02)&|       
        '&city='&Clip(PatMKD:SubjectCity)&|
        '&country='&Clip(PatMKD:SubjectCountry)

        LIS_GET_Proc_AUS(myURL)  !!API Client

    END
    Cycle
OF Level:Notify OROF Level:Fatal
    BREAK
END!Case
END!Loop
Access:Pathology_MKD.Close()


     The idea is to loop through the Pathology_MKD tps file and process records that do not have "Success" in the LIS_Status field.  If LIS_Status is blank, I construct a URL and pass this as a parameter to the first API Client procedure called LIS_GET_Proc_AUS(myURL).  If this API returns a result field of "Success", that is data is returned, then a Study_ID string is passed to another API Client called EDC_POST_Proc_AUS.  Note this second API is called from within the first API Client code.  The two API clients do seem to communicate as I get 2-4 records processed, but no more.  In my test scenario, there are 10 records in the Pathology_MKD file that should be processed.  Any thoughts as to the problem...not processing all 10 records?  Timing issue?  My loop logic is incorrect?

Thanks,

Jeff King










30
Hello all,

     I added a new NetWebServiceMethod, databasePhysicians, to an existing app.  See image app.png.  It does not get added to my "documentation" page as seen in image WebServerDocs.png.  In addition I find I cannot call it directly with a URL.  I can't figure out what the issue is.  Any thoughts?

Thanks,

Jeff King

Pages: 1 [2] 3 4 ... 8