[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now


Scheduler(agenda) maintained on the internet

Posted on 2006-07-05
Medium Priority
Last Modified: 2010-04-05

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,
Question by:Delphiwizard
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Assisted Solution

sun4sunday earned 400 total points
ID: 17041068
LVL 11

Expert Comment

ID: 17048548
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.


Author Comment

ID: 17048798
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.
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

LVL 17

Assisted Solution

by:Wim ten Brink
Wim ten Brink earned 1600 total points
ID: 17097719
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.

Author Comment

ID: 17098330
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.
LVL 17

Assisted Solution

by:Wim ten Brink
Wim ten Brink earned 1600 total points
ID: 17098499
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.

Author Comment

ID: 17098539
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)
LVL 17

Assisted Solution

by:Wim ten Brink
Wim ten Brink earned 1600 total points
ID: 17099893
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.

Author Comment

ID: 17100598
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).
LVL 17

Assisted Solution

by:Wim ten Brink
Wim ten Brink earned 1600 total points
ID: 17102545
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.

Author Comment

ID: 17103112
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 http://www.scibit.com).
Would be nice if you could point me to one or more free agenda websolutions.
LVL 17

Accepted Solution

Wim ten Brink earned 1600 total points
ID: 17106530
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 http://calendar.google.com 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 http://scripts.franciscocharrua.com/ where you'll find some easy PHP scripts.
http://www.planet-source-code.com/ has hundreds of scripts written in all kinds of languages. Useful if you have to do some of the programming on ASP yourself.
http://www.codeproject.com/aspnet/  offers http://www.codeproject.com/aspnet/DayRentalWebCal.asp which is a complete rental agenda for cars. Might be useful for you to modify.
http://www.maxwebportal.com/maxwebportal.asp is a more complete solution. It has an agenda but also a lot more.
http://www.aspin.com/home/webapps is an index of all kinds of ASP web applications. With 52 calendar solutions you'll have a lot to check out there.
http://www.hotscripts.com/ 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 http://www.php.net/ 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: http://www.workshop-alex.org/Scripts/Banner.exe
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.

Author Comment

ID: 17106577
Thank you all very much for supplying me with information..

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses

650 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question