Scheduler(agenda) maintained on the internet


Currently I use DevExpress Scheduler 2. This component can't be used on the internet.
Some of my users however, need to have access to the agenda through the internet.
So what I'm looking for is a internet agenda application (component or not) that can be synchronised with the data from my Delphi application.

Does anybody know of such a component or application?

With kind regards,
Stef MerlijnDeveloperAsked:
Who is Participating?
Wim ten BrinkConnect With a Mentor Self-employed developerCommented:
Unfortunately I never used any agenda software on my own webserver. And there are so many solutions available in either PHP or ASP that it's difficult to choose between them all. Mostly it depends on what you want your agenda to look like. And there are sources for simple agenda's all the way up to complete CRM solutions with lots of additional functionality.

Then there's of course which you can use for free without even the need for your own webhost. Google might even have a special API for their calendar which you could use.

You could look at where you'll find some easy PHP scripts. has hundreds of scripts written in all kinds of languages. Useful if you have to do some of the programming on ASP yourself.  offers which is a complete rental agenda for cars. Might be useful for you to modify. is a more complete solution. It has an agenda but also a lot more. is an index of all kinds of ASP web applications. With 52 calendar solutions you'll have a lot to check out there. also has plenty of available scripts.

I would advise you to test whatever server solution on a local machine first. Since your webhost supports ASP it is likely they're using IIS so you could install IIS on a local system (should be on the Windows setup disk as additional component) and maybe download PHP from if you want to use PHP instead.

I would avoid the creation of ISAPI DLLs if you don't have physical control over the server. ISAPI DLLs are loaded into memory when IIS is using them and they'll stay in memory until your webserver is reset. Thus, especially when testing your ISAPI DLL you might be unable to replace the DLL with a new version because the DLL is locked by IIS. Your webhost will have to at least restart their IIS service every time you want to update your DLL, which is a real pain, and they might not comply to your wishes. If you're going to build a Delphi webapplication which must be hosted by some hosting company, use CGI instead.

Also keep in mind that you not only have to write a webapplication but you'll also have to configure the webserver correctly. This can be a bit difficult with a Delphi CGI application since default behaviour for those kinds of applications is you ending up with downloading the executable instead of having it executed on the webserver. Yet if it works, a Delphi CGI application would have an URL like this:
It's just that your webserver needs to know that it should execute the executable instead of sending it to the client as a download. And I had some troubles getting my webhost to make it possible for me to adjust this behaviour.

If you don't have much experience with the many scripting languages then try to see if you can use ASP.NET instead. Otherwise, PHP or ASP would be the best choices. I myself found PHP to be an easy language to learn, although you have to get used to the fact that it's a case-sensitive language with more similarities to C++ than Pascal.
sun4sundayConnect With a Mentor Commented:
Why not building one yourself? Using for example a PostgreSQL or MySQL server database on a webserver where you have access... You just need to build your connection string according to your database used and after that it's just about database programming...

And of course it will be accesible from the internet and everything.

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Stef MerlijnDeveloperAuthor Commented:
I guess you mean that I use a MySQL-database to store the appointments and access them from a Delphi application.
But I want the scheduler to be available on the internet, without the need of installing an application on the local computer.
Wim ten BrinkConnect With a Mentor Self-employed developerCommented:
So you want a web interface for your agenda? Have a webserver with some Delphi CGI/ISAPI project on it and users using Internet Explorer to access this server and see a webpage with the agenda on it, right?

Means you have to start doing some webdevelopment. Maybe Delphi isn't the proper tool for that, although it can be used. If your appointments are stored in a MySQL database then you could use PHP instead. Or ASP if your database is accessible through ADO. Maybe even use any of the .NET languages to write your server code.

Of course there already are plenty of similar (free) applications available on the Internet.

Or write an ActiveX control which you can insert inside a webpage.
Stef MerlijnDeveloperAuthor Commented:
Workshop Alex:
Yes I do want to have a agenda on the internet, but my main application is on a local computer (locally a MS Access database is used).
From this computer all appointments should be synchronized with the database on the internet (MySQL database).
The application on the internet is mainly used to view the appointments. But might also be used to make new appointment. So, synchronization must go both ways, but can be initiate by the local computer.
I have no experience with PHP, ActiveX or ASP.
Maybe an existing webapplication can be used, but then I need to have names of webagenda's.
Wim ten BrinkConnect With a Mentor Self-employed developerCommented:
Okay, let's start with proper definitions here... :-)

You have a local machine. This machine has a Delphi application which maintains an agenda. This agenda is stored in a local database.

You also have a server which uses a MySQL database. This server will be accessed over the Internet and should communicate with your local application.

If your local machine is connecting to this server in some way then keep in mind that your local computer becomes a client. Or are you going to use your local machine as a server? This is the definitions problem. You need to decide what will be a server and what will be a client. And what you'll be running on both the server and the client...

Should users also have access to this server through a web interface, thus without your local application?

If yes, the best solution would be a combination of a webservice with ASP/PHP. You could use Delphi 2006 with a webserver running IIS to create an ASP.NET application/webservice where your main code would still be written in Delphi, with some additional HTML markup for the webpages.

If the users don't need to have a webpage as user interface then all you need is a server running MySQL and use the appropiate DBExpress or ZEOS controls to access this database remotely. You would then just have a database server. You will have to find a way to make the database available over the Internet but that's just a matter of configuring your MySQL database.
Stef MerlijnDeveloperAuthor Commented:
The database on the local computer can be seen as the server.

> Should users also have access to this server through a web interface, thus without your local application?

> You could use Delphi 2006 with a webserver running IIS to create an ASP.NET application/webservice where your main code would still be written in Delphi, with some additional HTML markup for the webpages.
I do own Delphi 8 Pro. (not Delphi 2006) (Currently I still use Delphi 7 Pro)
Wim ten BrinkConnect With a Mentor Self-employed developerCommented:
Well, Delphi 8 would do the same trick too. You could use it to write a .NET webservice or, simpler, a .NET website. You would be mostly using Delphi code for the tasks behind your webpage and some simple HTML combined with a bit of ASP for the webpages itself. There will be a steep learning curve at first, but I don't expect it to be a long one.

But keep in mind that if you use your local machine as the server, then your system becomes a webserver for all the other users. This means you will have to either write your own webserver software (with e.g. the Indy components) or you'll have to start and use IIS or Apache on your local system.

And you'll have to think about designing those webpages and the technique that you want to use behind them. There are too many options and unfortunately there's not no 'best one'. Options are:
*) Write your own webserver application in Delphi
*) Create a CGI application in Delphi
*) Create an ISAPI DLL for IIS in Delphi
*) Use Delphi 8 to write an ASP.NET website
*) Use PHP with MySQL (or any other database)
*) Use ColdFusion, ASP or any other web development language

You might want to use the IntraWeb components with Delphi which will offer you lots of functionality. Or scroll up to the message from sun4sunday and check out his links, which seem to be doing precisely what you want: generate an agenda webpage for your clients.
Stef MerlijnDeveloperAuthor Commented:
Thank you very much for your time.
Maybe we still have some missunderstanding about the server.
For the external users (that use the webapplcation) the server will be at the hostingcompany.
The actual Delphi application runs only at ONE SINGLE local computer.
To let external users look into their agenda, they need webaccess. Therefor the agenda must be available on the internet.
This will at least discard building of a webserver (as it is already provided by the hostingcompany).
Wim ten BrinkConnect With a Mentor Self-employed developerCommented:
Ah! Now I get it.
So then the question remains on what you're allowed to run on the server from the hosting coma=pany and the related limitations. For example, on my own website I am allowed to run CGI and ISAPI applications that are written in Delphi. My webhost also allows the use of ASP.NET, which I happily use with Delphi 2006. (Mostly personal experimental stuff anyways.) I just don't have any MySQL database on my webhost, but I can use Access databases instead. Makes it a bit more difficult to control, though.

But it all depends on the limitations of your webhost. For example, you might be limited to using PHP or ASP only on that host. Which means you have to learn some new skills. Then again, if they allow ASP.NET pages then you can make some good use of your Delphi 8.

You will have to solve two things here, though. First of all you need a way for your application to connect to the server and update the database. If the server is running MySQL then it's likely that you can connect directly to it. If not, then the other option would be to write a webservice that will do the inserts, updates and deletes for you. Takes more time to develop and tends to be slower. And you need something to write that webservice with, which might be a PHP page. Yet if you're lucky you can stick to using Delphi and write a CGI executable. (Basically, stick to CGI when you're testing the application and turn it into an ISAPI DLL once you know it will work, because ISAPI DLL's tend to stay loaded into memory until the server is reset.)

The second thing you'll need to work on is the web application itself, which might also be written in many different ways. There are already plenty of free agenda websolutions available on the Internet so maybe you can re-use some or all of one of those applications.
Stef MerlijnDeveloperAuthor Commented:
I can use a lot of stuff. CGI, PHP, Perl, ASP, MySQL on my webhost and they are very flexible.
Not sure about ASP.NET and ISAPI - I'll check that.
I know how to connect to the MySQL-database (using MyComponents
Would be nice if you could point me to one or more free agenda websolutions.
Stef MerlijnDeveloperAuthor Commented:
Thank you all very much for supplying me with information..
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.