By: John Kaster
Abstract: Here is the complete chat transcript from 24 Feb 2000 with the Delphi development team
This is a question asked by a chat participant
This is an answer or message posted by a speaker
This is another question asked by a chat participant
This is another answer or message posted by a speaker
This is an editorial comment
Please note: Some of the text for this chat has been edited for clarity.
Chat will be starting shortly. You can begin asking your questions now using /ask
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:
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.
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.
Do we have to pay a MIDAS fee if we want to use the Internet Express?
In most cases, yes. For details, see the new MIDAS licensing article at http://community.borland.com/article/0,1410,20870,00.html
There is some, but more will be coming. Go to http://community.borland.com/delphi/webtech/xml for more information on InternetExpress
Will I be able to use my existing web apps in Kylix without changing anything (assuming no WinAPI use)?
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.
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?
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.
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.
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.
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
Can you post the text in the public.delphi.internet newsgroup.
What is the difference between CGI and WinCGI applications? Are there advantages to using one or the other?
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.
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.
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.
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?
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..
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.
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.
All the current questions are currently being answered by the speakers. You can use /ask to put more in the queue
What changes are planned for the Web Broker in Delphi 6?
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
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.
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.
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....
not a question really but I would like to add that Cantus book has a good tutorial as well
(This is in regard to WebBroker tutorials)
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?
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.
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.
See the answer given by jtierney. We do have plans for asisting with session management.
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?
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.
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?
Can you give us any hints as to the direction you are going with InternetExpress?
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.
How can I get reliable redirection with WebBroker?
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?
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.
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?
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.
We will only be accepting new questions for few more minutes. Please use /ask to get your questions into queue.
Will InternetExpress always be tied to MIDAS?
Yah sure, you betcha.
Are there going to be more in-depth WebBroker sessions at this years conference?
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.
We will no longer be accepting new questions for the speaker(s). We will continue to answer the questions that have already been accepted.
How can I force a page to be refreshed every time it is viewed in the browser?
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)
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
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/
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.
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?
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.
What about support of FAST-CGI on the Apache platform?
We are investigating support for FAST-CGI under Kylix.
Any special considerations (similar to TSession with BDE) when using IBX in an ISAPI? There is very few docs about this.
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.
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.
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.
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)
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.
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?
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.
(add to previous question about the conference). Especially regarding database, and specifically IBX components with WB.
I'll make sure this gets covered. (I'm the Delphi Track Conference Chair, so I can do this :-0).
Any plans to add native session-management features to WB (w/o ASP, that is)?
Yes. We intend to provide built-in support for identifying, starting, and terminating a session.
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?
That sounds cool! We'll check into it.
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.
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)
Hmmm.. Interesting. We'd have to investigate the feasibility of doing something similar.
One question left. Jim's considering it very intently.
Well folks, I gotta run... something about Kyl.... needing work. ;-)
Jim's still working on the question. It's a good one.
See ya soon with more kylix stuff ...
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.
Okay, that's the last question. Thanks everyone! See you in the auditorium shortly.
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!
Download Delphi 10 now!
Webinars on demand!
More social media choices:
Delphi on Google+
@RADTools on Twitter
Server Response from: ETNASC03