Delphi Live Chat on WebBroker

By: John Kaster

Abstract: Here is the complete chat transcript from 24 Feb 2000 with the Delphi development team

Delphi 5 Live Chat on Thursday, February 24, 2000

Subject: WebBroker

Chat Formatting Conventions

chatter 1

This is a question asked by a chat participant

speaker 1

This is an answer or message posted by a speaker

chatter 2

This is another question asked by a chat participant

speaker 2

This is another answer or message posted by a speaker

editor

This is an editorial comment

Chat Transcript from Thursday, February 24, 2000

Please note: Some of the text for this chat has been edited for clarity.

Chat User

Message

jkaster

Chat will be starting shortly. You can begin asking your questions now using /ask

cellis

Welcome to today's LIVE moderated chat on Delphi WebBroker!
Your moderator for today's event is:
John Kaster - Developer Relations
The speaker(s) present at today's chat are:
Steve Trefethen
Jim Tierney
Allen Bauer
Gregorio Chavez-Montiel

cellis

Forward-looking statements in this chat, including but not limited to, those concerning Inprise's future financial performance, product availability dates, results of the Company's strategic review, and the potential features of or benefits to be derived from the Company's products, involve a number of uncertainties and risks, and actual events or results may differ materially. Factors that could cause actual events or results to differ materially include, among others, the following: possible disruptive effects of organizational or personnel changes by the Company, shifts in customer demand, market acceptance of the Company's new or enhanced products, delays in scheduled product availability dates, actions or announcements by competitors, software errors, general business conditions and market growth rates in the client/server and Internet software markets, and other factors described in the Company's S.E.C. reports on Forms 10-K and 10-Q.

cellis

This auditorium is currently quiet. General chat has been disabled to keep the noise down. You will not be able to see other users also logged into this auditorium. To ask a question, use /ask and type in your question.

Flutterbye

Do we have to pay a MIDAS fee if we want to use the Internet Express?

jkaster

In most cases, yes. For details, see the new MIDAS licensing article at http://community.borland.com/article/0,1410,20870,00.html

Flutterbye

Is there documentation on the JavaScript files that we use with Internet Express?

jkaster

There is some, but more will be coming. Go to http://community.borland.com/delphi/webtech/xml for more information on InternetExpress

Peter

Will I be able to use my existing web apps in Kylix without changing anything (assuming no WinAPI use)?

abauer

While I cannot comment on the specifics, we are planning on having as high a degree of compatiblity with existing applications. Whether or not it is a simple recompile, I honestly cannot say.

Flutterbye

Will the WebBroker be part of Kylix, and if so, will there be any changes compared to the Delphi 5.0 version of the Web Broker?

gmontiel

Yes! We are currently investigating how to implement Apache support into the WebBroker, so web apps will require a minimum change to run under kylix.

Marcusjm

My question is the following:With the new Ericsson deal on the pipline. Will Borland me more commited now to the new web-mobile technologies like WAP? I am thinking of support for WAP-apps in WebBroker. Also in general if more could be done when it comes to mobile internet apps normally Java based. Bluetooth etc.

abauer

We see that as a potentially important platform in the future. We are very aware of the developments in that space and will continue to evaluate where, if at all, WebBroker or InternetExpress fits.

BlaineWhittle

doh that last question got screwed becuase of the html parsing, what i meant to show was any type of html tags inside of the " screws up the parsing

jkaster

Can you post the text in the public.delphi.internet newsgroup.

Flutterbye

What is the difference between CGI and WinCGI applications? Are there advantages to using one or the other?

abauer

First of all, WinCGI was created in order to allow VB programmers to create web applications. VB had no ability to read and write to stdin and stdout. Delphi, being a truly compiled language, has always supported stdin/stdout through Readln/Writeln. CGI applications will typically perform much better that WinCGI apps. In fact, in previous versions of IIS a special ISAPI module was required to support WinCGI.. CGI was natively supported.

cellis

This auditorium is currently quiet. General chat has been disabled to keep the noise down. You will not be able to see other users also logged into this auditorium. To ask a question, use /ask and type in your question.

Peter

There has been talk on the newsgroups about a technology that Microsoft wants to use in future versions of Visual Studio, called "WebForms". Is Borland planning something similar for its development tools? Check http://msdn.microsoft.com/vstudio/nextgen/webforms.asp.

jkaster

We definitely are interested in making HTML-based interfaces and applications as easy and RAD as feasible, and investigating the best way to do this.

Peter

It would be nice if one could run web apps from within the IDE, without having to start a separate web server, copy the exe to the cgi-bin directory and then make an HTML page to call the app. Will we see something like this in D6?

abauer

Yes it would ;-). We are looking into providing a better mechanism for the user to debug and test their applications without wrestling with IIS or Netscape..

ecardenas

Do you know a way in order to kill the ISAPIs DLL when the Web Server is Personal Web Server? In IIS we can disable the ISAPI cache with PWS no.

jkaster

Sorry, we don't know. There may be an IDE registry. There may also be people in the borland.public.delphi.internet newsgroup that know. We usually use NT and IIS for testing.

jkaster

All the current questions are currently being answered by the speakers. You can use /ask to put more in the queue

Flutterbye

What changes are planned for the Web Broker in Delphi 6?

jtierney

Here are some of the WebBroker enhancements that are likely to be included in Delphi6:
- Easier debugging of cgi, isapi and other types of web applications.
- Support for multiple data modules.
- Improved tag support. For example, global tag handlers.
- Additional support for component oriented development of web forms using the InternetExpress component framework.
- Improved support for separation of HTML development and business logic development.
- Support for maintaining session state.
- Apache support

ecardenas

I've been able to make individual dynamic pages using Webbroker and ISAPI, but there is a problem when is not a individual page rather a Website, because i need to save the Session, there will be a improve so we don't need to use Cookies and rich URL's?

abauer

Since HTTP is inherently a stateless connection, the client *must* present some unique identifier in order for the server to restore its internal state. Currently Cookies, Rich URLS, and hidden fields are the preferred mechanisms for achieving this.

Peter

Have you considered including a tutorial of sorts for WebBroker in the docs? Many people seem to have problems learning how to use webmodules, etc.

ccalvert

I have a fairly complete WebBroker tutorial for C++Builder in the TechVoyage section of the community site. It translates very easily to Delphi. Hopefully some day I can find the time to translate the article into Delphi. There is also material in the book "Delphi 4 Unleashed" and other Delphi texts. David Intersimone has tutorial information on WebBroker in his Sip from the Firehose columns in the Community site at http://community.borland.com. Again some of his articles are in C++, but porting to Delphi is very simple, mostly just changing the "pointer" arrows to "dot" notation, and the occasional equals sign to a colon equals, etc.... I don't know why so many of these articles ended up being C++Builder specific rather than Delphi specific, it was just coincidence, really, but the components in each product are essentially identical....

Marcusjm

not a question really but I would like to add that Cantus book has a good tutorial as well

jkaster

(This is in regard to WebBroker tutorials)

cellis

This auditorium is currently quiet. General chat has been disabled to keep the noise down. You will not be able to see other users also logged into this auditorium. To ask a question, use /ask and type in your question.

BlaineWhittle

I know there are methods such as ContentFromString, and ContentFromStream, and then again you can assign HTMLDoc, or HTMLFile. Which approach is the most efficient for generating content?

abauer

It depends on your requirements. If you need to simply tweak a static page, then use HTMLDoc or HTMLFile. If you want to be able to process many different pages using the same Producer, then use the ContentFromXXXX methods.

ecardenas

abauer: I was asking about the ways that web broker has or will has in order to encapsulate this ways. The ASPs Sessions are fine but they are still far from perfect.

abauer

See the answer given by jtierney. We do have plans for asisting with session management.

cellis

This auditorium is currently quiet. General chat has been disabled to keep the noise down. You will not be able to see other users also logged into this auditorium. To ask a question, use /ask and type in your question.

Flutterbye

Do Apache servers support the ISAPI/NSAPI API, and if so, will we have support for it in Kylix, and will the support be identical to what we see in Delphi for Windows?

gmontiel

Apache for windows provides support for ISAPI, but not the linux version. There are plans for supporting both API's under Delphi 6. Under kylix only the CGI and Apache native API are under development.

Marcusjm

I would like to add to my previous question about ASP and webbroker. I realise that C/S is the one with the server object support but maybe some client side ASP support could be added somehow to WB?

abauer

I'm not sure I follow.. Active Server Objects is a server-side technology. We currently do support sending of an ActiveX control to the client and then script that object on the client using either VBScript or JavaScript. Although, ActiveX controls on the client have fallen out of favor. You can, however, still send VBScript'ed or JavaScript'ed pages to the client.

NickHodges

Can you give us any hints as to the direction you are going with InternetExpress?

jtierney

InternetExpress introduced a web component framework. We intend to expand this framework with additional components. In addition to components that are used to browse and edit a data set, we plan on adding additional support for developing simple, singe record forms.

Flutterbye

How can I get reliable redirection with WebBroker?

strefethen

If SendRedirect isn't working reliably for your server please provide details in the internet newsgroup. It sets error code 301, which means "page temporarily moved". Error code 302 means "page permanently moved" so maybe setting that manually will help. There is also meta tags you can use and javascript that will help with redirection. There may be issues with setting cookies while you do a redirect as well. We'll edit the transcript with more details when we've had time to investigate.

ecardenas

Why the QueryTableProducer doesn't work with the ADO Queries? There will be improved this in patch of D5 or we will have to wait to D6?

abauer

You're right, that is an issue. I doubt than an update would resolve this as it would require significant amount of changes. What might be a better solution for now is to use a TDataSetTableProducer and manually assign the query parameters.

BlaineWhittle

you listed the delphi 6 web features, i think they sound great. My question is this each Delphi version has been released each year. Should i still expect Delphi 6 for this summer / fall? Will kylix delay delphi 6? and what features will kylix be targeting, will kylix be more like delphi 5 or delphi 6?

jkaster

We'll just have to follow the long and glorious tradition of not speculating on release dates. Sorry. We have said that Kylix will be out some time in the middle of this year.

cellis

We will only be accepting new questions for few more minutes. Please use /ask to get your questions into queue.

NickHodges

Will InternetExpress always be tied to MIDAS?

jkaster

Yah sure, you betcha.

Chuck Bale

Are there going to be more in-depth WebBroker sessions at this years conference?

jkaster

Definitely.

Chuck Bale

Regarding reliable redirection: The best solution I've found is to use an HTML meta-tag to redirect the page. IIS3 -> IIS5 have a documented bug in redirect and cookies. In addition they occasionally have problems with simple redirects.

cellis

We will no longer be accepting new questions for the speaker(s). We will continue to answer the questions that have already been accepted.

Flutterbye

How can I force a page to be refreshed every time it is viewed in the browser?

jkaster

From the internet newsgroup (saved the message): Hadi Hariri (Team Winshoes) wrote META HTTP-EQUIV="refresh" CONTENT="10; URL=/somepage.htm"
will refresh the page in 10 seconds. I *think* using 0, instead of 10, will cause an immediate refresh.
Also, try meta http-equiv="pragma" content="no-cache". (Removed less than and greater thans from the code so it would look ok)

BlaineWhittle

it would be nice to see a complete directory of web applications written with delphi or c++ builder. Not just one or two case studies, but somthing more along the lines of a delphi web community listing

abauer

What about the web community itself? A large amount of it is written using WebBroker, for instance the login system, CodeCentral and Threads. We plan on publishing the source-code to all the applications we've written for the site. As far as a full directory of sites using WebBroker we should encourage community members to speak up and list what they've done with it. There is already a web site that collects information regarding applications built with Delphi. http://www.balticsolutions.com/bwd/

BlaineWhittle

i know this is more of a design thing, but for web apps ive found that using exception handling for error checking doesn't work. For one example you have a form, using exception handling and checking for one error on one field at a time and then showing only one error doesn't work very well. One thing ive had to do is create a number of error routines that check for each condition and log the error and then display all of the errors. One feature you may want to thing about is some build in standard way to handle stuff like this. It may help delphi become more of a RAD tool for web devlopment.

sysrpl

I can into this chat late, so please pardon if this question has already been answered. At what point in creating a web site does it make sense to use WebBroker versus plain HTML with ISAPI CGI or ASP? Does WebBroker work along side all of these technologies?

jtierney

Use WebBroker when you need to programatically generate web pages. Typically a WebBroker application will make use of HTML containing special tags that are replaced by the WebBroker application as the HTML is processed. The resulting HTML is viewable in a browser. WebBroker can be used to develop ISAPI, CGI, and WinCGI (Apache support in D6) applications. You can also use the WebBroker components (including InternetExpress) to develop ASP objects. Another use of the WebBroker components is to build a stand alone application that is used to periodically generate HTML files that will be used in a web site.

Chuck Bale

What about support of FAST-CGI on the Apache platform?

gmontiel

We are investigating support for FAST-CGI under Kylix.

hhariri

Any special considerations (similar to TSession with BDE) when using IBX in an ISAPI? There is very few docs about this.

jkaster

Haven't encountered anything definite yet. I'm going to be converting login to using IBX instead of BDE connections, so I should know a lot more shortly. Jim Tierney has also put up a complete example using InterbaseExpress on CodeCentral. CodeCentral ID 14000.

gergul

Will we ever be able to debug ISAPI's if ISS is running as a service (not a process)? Not sure, but AFAIK VS does this.

abauer

Delphi 5 does allow attaching to a process, however, it requires that the Delphi process be given the proper access rights. Basically, the Delphi process needs to run a little bit of code to aquire that right. This code can simply be in a design-time package. We will try and post a code snipet. It will be fixed for D6.

Marcusjm

without having the C/S version i would like to ask if WebBroker might have more support for making ASP apps in the future? (i should add that i don't know exactly what's in the C/S ASP suite)

jtierney

D5 has support for creating an Active Server Object. Delphi Active Server Objects can make use of WebBroker components to generate page content. There are a few examples of Active Server Objects in CodeCentral. Item 13992 demonstrates how to use InternetExpress components with ASP. We are likely to have additional ASP support in D6.

Chuck Bale

Since MIDAS was brought up... Just make sure everyone is aware of the AWESOME new pricing for MIDAS. My question is: Is MIDAS under as great a revision as in previous version? i.e. Will a new MIDAS release come with D6?

jkaster

Good suggestion. The new price is US$299.95. Licensing info can be found at http://community.borland.com/article/0,1410,20870,00.html. The response from the community has been extremely enthusiastic.
Also, MIDAS 3 has lots of new features, and we've accelerated MIDAS development, adding more developers to the MIDAS team. It's going to be the core of data access for Kylix, and things are looking really, really good so far.

Chuck Bale

(add to previous question about the conference). Especially regarding database, and specifically IBX components with WB.

jkaster

I'll make sure this gets covered. (I'm the Delphi Track Conference Chair, so I can do this :-0).

gergul

Any plans to add native session-management features to WB (w/o ASP, that is)?

jtierney

Yes. We intend to provide built-in support for identifying, starting, and terminating a session.

Flutterbye

Can I pass a live adoconnection from a vb6 exe to a delphi 5 web broker app? Is there a way to preserve connections to an sql7 server in this scenario. In general how can any one use as a parameter a live adoconnection to a dll?

jkaster

That sounds cool! We'll check into it.

jkaster

The last two questions are being answered right now, then we'll unhush the auditorium and join it for a few minutes. Sorry it's taking so long, but some of the questions take a little while to get the details.

Chuck Bale

Regarding saving state: are there any plans to use a technology similar to that of CookieMunger, so that the server determines a unique ID for a session based on information provided in the HTTP header (not requiring Cookies, rich URLS, or hidden fields)

abauer

Hmmm.. Interesting. We'd have to investigate the feasibility of doing something similar.

jkaster

One question left. Jim's considering it very intently.

abauer

Well folks, I gotta run... something about Kyl.... needing work. ;-)

jkaster

Jim's still working on the question. It's a good one.

gmontiel

See ya soon with more kylix stuff ...

BlaineWhittle

to be honest, i don't know if xml can handle binary date types such as pictures stored in blobs. I know how to handle this without using InternetExpress. But it would be cool to see support for something like that in InternetExpress.

jtierney

HTML image elements specify a URL that accesses an image from a web server. So embedding an image in XML doesn't help. What is needed is an image server that can retrieve an image giving a URL. JavaScript in the browser can dynamically modify the URL as the user scrolls through the result set.

jkaster

Okay, that's the last question. Thanks everyone! See you in the auditorium shortly.

cellis

Thank you for joining us today!
The auditorium will be unhushed shortly so that you can resume general chat.
Please join us for future Inprise/Borland Team chats. The schedule of upcoming live chats can be found at http://community.borland.com/article/1,1410,10208,00.html.
Hope to see you here again!

jtierney

Thanks everyone.



Server Response from: ETNASC02