Using External Desktop Applications with Concrete5
Permalink
Hey all,
I am developing a web system that has to link up with external desktop applications sometimes to manage and add data to some databases. I chose C5 because of the ease of developing websites and the open source component. What I need to be able to do is allow for my external applications to call php files on my server (under concrete5) and prevent regular web browsers from accessing said files.
Can this be done rather easily?
I am developing a web system that has to link up with external desktop applications sometimes to manage and add data to some databases. I chose C5 because of the ease of developing websites and the open source component. What I need to be able to do is allow for my external applications to call php files on my server (under concrete5) and prevent regular web browsers from accessing said files.
Can this be done rather easily?
Thanks William for your reply,
From what it looks like I will be doing, I might run 2 different websites. One will be inside the Concrete5 system, the other will be located in a separate portion of the website to handle the data from my desktop applications specifically (forgot to tell you they were desktop applications not other php applications).
The reason why I want to link them together is the ease of installation for the end user. Basically the user does not have to worry about having to setup and worry about a second "site" outside the concrete5 system.
From what it looks like I will be doing, I might run 2 different websites. One will be inside the Concrete5 system, the other will be located in a separate portion of the website to handle the data from my desktop applications specifically (forgot to tell you they were desktop applications not other php applications).
The reason why I want to link them together is the ease of installation for the end user. Basically the user does not have to worry about having to setup and worry about a second "site" outside the concrete5 system.
Actually, there are several pieces of code lying around from people who dealt with the possibility. It's all Concrete5 5.6 though but the principles are the same for 5.7:
https://github.com/goradiantweb/radiantweb_api...
http://github.com/c5-api/api
https://github.com/olsgreen/slim-concrete5...
https://github.com/xclydes/Concrete5-OAuth-1.0a...
https://github.com/Remo/concrete5-remote-doc...
And there's an add-on in the marketplace:
http://www.concrete5.org/marketplace/addons/public-key-authenticati...
The github link he provides is the wrong one, the right one is:
https://github.com/jasny/php-pubkey...
It's not for the failt of heart and the beginner though so I hope you know what you're doing :)
https://github.com/goradiantweb/radiantweb_api...
http://github.com/c5-api/api
https://github.com/olsgreen/slim-concrete5...
https://github.com/xclydes/Concrete5-OAuth-1.0a...
https://github.com/Remo/concrete5-remote-doc...
And there's an add-on in the marketplace:
http://www.concrete5.org/marketplace/addons/public-key-authenticati...
The github link he provides is the wrong one, the right one is:
https://github.com/jasny/php-pubkey...
It's not for the failt of heart and the beginner though so I hope you know what you're doing :)
Update:
So from the looks of things, I am going to design a separate interface for my desktop applications to go to (outside the concrete5 system) and interlink with the database that way. I am however, working on a separate project that will interlink with this system. The desktop client that interlinks with the database's interface will be inside the web browser via a Websocket connection via Javascript to a Java desktop application. What I want to do is create a page where you can create and design the interface while keeping everything under one roof? (probably a different discussion entirely)
So from the looks of things, I am going to design a separate interface for my desktop applications to go to (outside the concrete5 system) and interlink with the database that way. I am however, working on a separate project that will interlink with this system. The desktop client that interlinks with the database's interface will be inside the web browser via a Websocket connection via Javascript to a Java desktop application. What I want to do is create a page where you can create and design the interface while keeping everything under one roof? (probably a different discussion entirely)
I didn't try this, but these links I found look promising:
http://stackoverflow.com/questions/3506208/jquery-ajax-cross-domain...
http://stackoverflow.com/questions/11736431/make-cross-domain-ajax-...
Calling a concrete php file from another domain might be a bit tricky.
I think it could be done creating a special single-page for this, with limited access (login, security-tokens, ip-filter...)
This page (controller) could be the interface to your database.
You should consider to setup a second database only for this, to keep both (your c5-site) worlds separated.
You can find info on single-pages, 2nd dbase and others in this forum and in the docs.
It would be nice to hear your progress.