Solved

Scheduler(agenda) maintained on the internet

Posted on 2006-07-05
13
442 Views
Last Modified: 2010-04-05
Hi,

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
0
Comment
Question by:Delphiwizard
13 Comments
 
LVL 9

Assisted Solution

by:sun4sunday
sun4sunday earned 100 total points
Comment Utility
0
 
LVL 11

Expert Comment

by:calinutz
Comment Utility
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.

Regards
0
 

Author Comment

by:Delphiwizard
Comment Utility
Calinutz:
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.
0
 
LVL 17

Assisted Solution

by:Wim ten Brink
Wim ten Brink earned 400 total points
Comment Utility
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.
0
 

Author Comment

by:Delphiwizard
Comment Utility
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.
0
 
LVL 17

Assisted Solution

by:Wim ten Brink
Wim ten Brink earned 400 total points
Comment Utility
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.
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 

Author Comment

by:Delphiwizard
Comment Utility
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?
Yes

> 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)
0
 
LVL 17

Assisted Solution

by:Wim ten Brink
Wim ten Brink earned 400 total points
Comment Utility
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.
0
 

Author Comment

by:Delphiwizard
Comment Utility
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).
0
 
LVL 17

Assisted Solution

by:Wim ten Brink
Wim ten Brink earned 400 total points
Comment Utility
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.
0
 

Author Comment

by:Delphiwizard
Comment Utility
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.
0
 
LVL 17

Accepted Solution

by:
Wim ten Brink earned 400 total points
Comment Utility
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.
0
 

Author Comment

by:Delphiwizard
Comment Utility
Thank you all very much for supplying me with information..
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
Here's a very brief overview of the methods PRTG Network Monitor (https://www.paessler.com/prtg) offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

762 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

Need Help in Real-Time?

Connect with top rated Experts

5 Experts available now in Live!

Get 1:1 Help Now