Home Forum Download/Upload Links Search

NetTalk User Group

NetTalk User Group Meeting!
Live Webinar!
Saturday Nov. 16 
7am PST
Click Here To Register!
Home arrow Forum
NetTalk Central
April 24, 2014, 06:37:11 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Welcome to the NetTalk Central Forums!
 
  Home Help Search Login Register  
  Show Posts
Pages: [1] 2 3 ... 15
1  The Rest Of NetTalk / The Rest - Ask For Help / Re: Multiple page requests with NetWebClient on: March 27, 2014, 08:08:30 PM
Thanks Bruce,

I did as you suggested and split the routine up into two parts, i.e. populate a queue from the SQL database, then run a process to 'run down' the queue and perform the fetches.

It still needed some deft timing to ensure that the processing didn't start a race condition.  I tried using the ThisNetWebClient.Busy property within the loop to see if the previous Fetch() was still working but didn't seem to have much luck with that, so I ended up creating a local BYTE variable called LOC:Busy which I set upon calling the Fetch() routine and cleared when ErrorTrap() and PageReceived() were called, and that seemed to work fine for my needs.

Cheers,
Devan
2  The Rest Of NetTalk / The Rest - Ask For Help / Multiple page requests with NetWebClient on: March 26, 2014, 08:43:37 PM
I have a small Clarion applet which runs a NetWebClient Fetch() against a web service.  Sometime only one page, but often 3 or 4 pages depending on the results of a SQL query.

I have the Fetch()es in a loop, i.e.

Code:
Loop
  Next(SQLFile)
  If Error() Then Break.
  ThisNetWebClient.Fetch('http://mywebservice.com/getarecord?id=' & SQL:SomeID)
End

I thought with asynchronous Fetch()es, that the ThisNetWebClient.PageReceived will be called each time a Fetch() returned some data, but it doesn't seem to be doing that.  So far, I trace multiple Fetch() calls going out, but only one PageReceived() being called - for the first Fetch() only.

What is the best way to queue up multiple concurrent Fetch() calls?

Thanks,
Devan
3  NetTalk Web Server / Web Server - Ask For Help / Re: CSS hierarchy tool on: March 03, 2014, 10:02:17 PM
I also use Chrome's Developer Tools option (F12 on the PC) for inspecting CSS.  Best thing ever for checking the hierarchy and also changing/removing/adding CSS code on the fly to see what will happen.

NOTE: It's all built into Chrome natively.  No need to install an extension.
4  NetTalk Web Server / Web Server - Ask For Help / NetTalk threads and open files on: March 03, 2014, 10:00:36 PM
Hi all, just come across a curious situation here, and wondering if someone can shed some light on where the problem lies.

We have designed a small NetTalk app for a customer to register walk in members for a gym.  Really simple NetTalk site with a page that asks for the member ID (which is scanned at the terminal), then another Process that checks the number against a legacy database and then displays either a "Welcome" screen or a "Please Register" screen momentarily before going back to the main screen.

The only file access is during the CheckLogin procedure that gets called by the IndexPage.  The CheckLogin process opens up the user file on the legacy database using an ODBC driver, then closes the files straight afterwards.

I thought this would only momentarily touch the files and exit, leaving those files free from locks, however the customer's IT department is saying that they cannot backup the legacy database every night because it is saying the files are open in the NetTalk app.  Closing down or restarting the NetTalk app completely appears to clear the locks.

Now, I thought that once I deliberately closed the files in the Process, or the process thread ended, the files would be closed and any locks released?  Could there be phantom threads still running in the background?  Is the fault with the third party ODBC driver?  Or the Clarion ODBC driver architecture?

The files are defined in the main app dictionary, but the files are ONLY referenced in the CheckLogin NetWebPage - which is not actually a displayed page, but a snippet of embed code that then redirects the user depending on the check login status.

It's not a huge problem, but I'm curious to know where to start looking for the issue.

Thanks,
Devan
5  NetTalk Web Server / Web Server - Ask For Help / How many using C9 now? on: February 25, 2014, 05:02:12 PM
Hey all - This is off topic I know, but I was wondering how many NetTalkers have moved up and are using C9.x for production code?

I am still on 8.0.9759 but am on the CSP and have C9 as well - just haven't bothered to upgrade all my myriad of 3rd party libraries etc. up to C9 to begin using it properly.  Been really happy with the stability of C8, so was wondering if there was any compelling reasons to step up to 9?

At this point in time, our app development word is around 60% NetTalk webapp projects and 40% Windows native projects.  All straight up Clarion, not Clarion.NET.

What are others using?  I'd be interested to hear if anyone is still on C7 or C6 even...

6  NetTalk Web Server / Web Server - Ask For Help / Re: Browse not saving data back to database? on: February 12, 2014, 12:21:58 AM
EDIT: Actually, I just checked the NetWebForm, and I must have been getting really stressed at it not working, because I have the price calculation routine called on the:

Validate::LIN:Price (even though this field is read only)
Validate::LIN:ProductCode
Validate::LIN:Quantity
PreInsert
ValidateAll
ValidateInsert

embed points within the form !!! Smiley


7  NetTalk Web Server / Web Server - Ask For Help / Re: Browse not saving data back to database? on: February 12, 2014, 12:16:17 AM
Bruce,

Your questions are actually GREAT, because they are leading me in the right track to find out what is happening.

I remember now that we DO have a calculation routine in the form to calculate the price and line total, but it never worked 100% of the time.  So I worked around this by putting the price calculation routine in the browse as well, forgetting that the Browse procedure DOESN'T ACTUALLY SAVE the line item data.  So in effect, I was just masking the fact that the problem was there, and caused by the NetWebForm in the first place! Smiley

Now, the NetWebForm really only has two changeable fields, the Product Code (which is always called from a lookup button), and the quantity.  I have set the code in the Validate::LIN:Quantity embed point to calculate the Price and LineTotal, but as I mentioned - it doesn't always seem to fire.  I think it may be depending on whether the user [Tabs] out of the quantity field, or whether they just hit the [Save] button immediately after keying in the quantity.

Need to find a better embed point to do the calculation, I think...

Cheers,
Devan
8  NetTalk Web Server / Web Server - Ask For Help / Re: Browse not saving data back to database? on: February 11, 2014, 10:42:38 PM
Thanks for the replies Kevin & Bruce.

Bruce - good call about the timing of the screenshots.  It turns out that the web screenshot was AFTER they found the missing data in the report.  I was amazed that the pricing appeared again AFTER it was zero in the database.

I checked the code again, and there IS a routine being called when the browse fields are being built.  Upon the Value::Routine embed for the LIN:Price field, a procedure gets called to calculate the default item price (It is a stupidly LONG and complicated pricing calculation).

I am thinking that this price is getting kludged at some other point when saving?

In the Value::Routine for the LIN:LineTotal field, I have a simple formula which is just LIN:LineTotal = LIN:Price * LIN:Quantity

I am assuming the LineTotal value is zero because at that point, the Price field was also zero.

Is this the best embed point(s) to be pre populating the pricing for the line items?  Should I be using a different validation embed point perhaps?

Note: These are the only two embedded bits of code in the entire browse procedure.

9  NetTalk Web Server / Web Server - Ask For Help / Re: send sms using WinEvent on a web app on: February 11, 2014, 10:34:08 PM
Robert,

Rather than worrying about setting up a GSM modem etc. on the server so you can send SMS via WinEvent, I'd actually look at a service provider such as Clickatell.com, who allow you to send SMS messages via HTTP or SMTP.

That way you can stick with just NetTalk and not have to worry about hardware etc. - just send an HTTP request to the Clickatell service with the SMS info and it will all get taken care of.  Cheaper than paying normal Telco 'per message' SMS fees in a lot of cases too.

Clickatell is global, but most countries have localised services as well which are usually even cheaper.  Here in Australia, I use SMSBroadcast.com.au.  It took me less than 30 minutes to add SMS capability to one of my Clarion apps recently.

Hope this helps,
Devan
10  NetTalk Web Server / Web Server - Ask For Help / Browse not saving data back to database? on: February 10, 2014, 06:09:01 PM
Just got a very concerning heads up from one of my clients that they are experiencing an issue with a NetTalk app I wrote for them.  They have shown me instances where a Browse screen (order form) does not appear to be saving SOME information back to the back end SQL database.

There is no real extra coding etc. on the browse that I think could be doing it - pretty standard NetWebBrowse embedded in a form.

As you can see on the attached screenshots - ALL the lines have quantity, price and line total, yet when we print the order report, two of the lines STILL have the quantity, but no price and line total?!?  Checking the database shows that the price and line total of those order lines are zero!

Seems to be intermittent.  This particular site has been up for over a year, but the problem seems to have raised it's head in the past few months, around the time I did an upgrade for them using 7.31 (or thereabouts) of NetTalk.

Anyone else seen this, or can shed some light on why this may be happening?

Cheers,
Devan

11  NetTalk Web Server / Web Server - Ask For Help / Re: Possible bug in lookups? on: February 10, 2014, 03:54:03 AM
Hey Bruce,

Just wondering if this issue has been resolved in the latest build?

I've checked through the history logs on the website, but nothing jumped out at me...

Cheers,
Devan
12  NetTalk Web Server / Web Server - Share Knowledge / Comparison of NetTalk and other web dev frameworks on: January 28, 2014, 10:54:15 PM
Hey all, just thought I might try and see if we can get an open discussion going on the comparative strengths and weaknesses of different web application frameworks.

In recent months, I've been involved in creating several web apps using a Ruby framework.  No, not Ruby on Rails, but one called Padrino, which is based on Sinatra.

Overall, I found the Ruby syntax to be quite elegant - in a similar way that I think the Clarion syntax is also elegant.

Here are my findings so far...

THE GOOD:

* MVC - Biggest advantage I can see to Rails/Padrino etc. is the separation of the data models from the rendered views etc.  The MVC (Model/View/Controller) methodology took a bit of getting used to, but once I figured it out, it became quite a productive process to create new pages and tie them all back to the back end data models.  Like Clarion, the MVC paradigm allows for different back ends to be interchanged.

* Environments - I love the way that Rails/Padrino allows you to switch between development, testing and production environments, including creating and managing separate data sets for each stage of the development process.  I can freely create junk testing data in 'development' mode, then switch to 'production' and check reports in the live database without fear of overwriting the wrong database.  Just one system flag to change between environments.

* Rendering engines - I like the way that these frameworks can use different 'engines' for rendering the final HTML.  I am particularly enjoying using HAML as a markup language.  The 'View' paradigm really makes in a cinch to create chunks of HTML and arrange them on a page.  This is probably the BIGGEST advantage of NetTalk that I am really enjoying.  I like that you can create code snippets in NetTalk too, but it is a lot more difficult to 'see' the big picture of how the whole page will eventually look when you have lots of snippets that are inserted into a page programatically.  If we could pull all the page rendering code out into a separate templating system in NetTalk, I will be in heaven!

* View independence - Related to my point above, I found it SO much easier to integrate third party templates that are available for sale out there into my Padrino projects that I did into my NetTalk projects.  I like that you can opt to use a Bootstrap framework, or even a WordPress one with some mods.  I like the themes that are provided in NT, but I would really like to be able to pull a third party one off the shelf and have it work quickly and easily.


THE "I'M STILL NOT SURE"

* ORMs - Object Relational Models.  In one aspect, I find them great.  I can add or change fields in a model file and then run a 'migrate' task to make on the fly changes to the actual database.  Very much like a Clarion dictionary sync.  The ORM also contains all the relationships between the model object, which aren't really as intuitive as you first think, but eventually make sense.

I LOVE: That you don't have to write SQL any more, even for complex multi table joins.  If I wanted the invoice date, I would just ask for:

Code:
invoice.date

which I could place on a view to show the user.  What astounded me is how easy it was to do complex things, such as finding out the total cost of all line items belonging to the current invoice.  It is as easy as:

Code:
invoice.invoice_detail.sum(:item_total)

where 'invoice_detail' is the child model for 'invoice' and ':item_total' is the symbol pointing to the table column 'item_total'.

I HATE: That some of the SQL generated by the ORM and sent to the back end is quite inefficient.  Also ORMs seem to have great difficulty interpreting custom Views that you might have created yourself, or even legacy databases that a rigid in nature.


THE BAD

Still haven't found anything REALLY bad here that I think is worthy of mention, but I am sure I may come across some as I delve deeper into this world.




Given that Bruce has talked about NetTalk evolving into a more of a 'stand alone' product which is not necessarily linked to Clarion, I am wondering if things such as MVC, ORMs etc. are part of the roadmap.

How about others out there in the NetTalk world?  Anyone dabbled in other frameworks?  How have you found them?

Just to clarify, I still love and use NetTalk for a lot of projects - I just thought I would share my discoveries as I venture out into other parts of the web development world.

NOTE: If you want to check out
13  NetTalk Web Server / Web Server - Ask For Help / Re: CPE9.0.10376/NT6.55 - Why does my app crash? on: January 19, 2014, 05:42:47 PM
What is your back end database?

We had a NetTalk site that used MySQL on the back end that used to crash quite a lot.  Ended up upgrading the MyODBC driver from v3 to v5 which reduced the crashing, but it still happens from time to time.  The GPF Reporter logs always seem to point to the MYODBC.DLL as the cause (or at least the last call before the GPF)...
14  NetTalk Web Server / Web Server - Ask For Help / Re: Custom CSS and Javascript includes? on: January 11, 2014, 09:26:42 PM
Scrub second question - I figured out an alternate way of doing the popups just within NT (using NetWebForm)
15  NetTalk Web Server / Web Server - Ask For Help / Re: Custom CSS and Javascript includes? on: January 11, 2014, 02:57:05 PM
Ah! Thanks Bruce - this worked perfectly.

The only other thing is the widget initialisation code that goes with this library that has to be in the $(document).ready() section.

I've put it in the PageFooterTag procedure as an embed point, and it seems to work *sometimes*.

It's a jQuery lightbox plugin, and when I open a browse with images on it, the very first click doesn't pop a lightbox up, but subsequent clicks work perfectly.  Either there is another event handler that is interrupting that first click (happens when I open the browse or PgUp/PgDn to a new page and click on an image), or the initialisation code isn't getting called when it first opens?!?



Pages: [1] 2 3 ... 15
Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC
Joomla Bridge by JoomlaHacks.com
Valid XHTML 1.0! Valid CSS!

Login Form

Welcome Guest.






Lost Password?
No account yet? Register
home contact search contact search