Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 12 total
Thread Possibility of Offline web Application / efficiently using exisitng mysql database.
Wed, Feb 6 2013 10:36 AMPermanent Link

Justmade

We are looking an replacement for our web interface front-end developed with intraweb.

We were very exciting when we first inspect your product and your pretty demos.  We discovered many exciting feature but some of our desire we are not so sure if they can be done or not.  So We would like to ask here to clear things up.

1.  We would definitely need to continue using our existing databases which reside in MYSQL, with hundreds of tables and many store procedure and store functions.  So we would need to use your Elevate Web Builder Module to create plug-in for your web server or if possible, communicate with other web service.  However, I see that call to add-on module can only return strings?  So, we need to do all the phrasing of a dataset to string by ourselves and cannot use the TDataset component as well as the data binding to other controls?  Or is there a better way to transfer a Delphi TDataSet's data to EWB TDataset?

2.   We would like the site to be able to work as Offline Web Application.  That is user can continue proceed part of the operation when offline and store the data locally (best can use the EWB TDataset for those data).  When the user go online, we can do a sync for the data.

Is EWB capable of doing the above 2 point now or in the near future?

Thanks in advance for your kind attention.



Wed, Feb 6 2013 12:13 PMPermanent Link

Robert Devine

This might be of interest for your second requirement. I haven't tried
it yet myself but it looks like it has some potential (although it does
use Node.js for the server side).

https://github.com/rogerwang/node-webkit

Cheers, Bob


On 06/02/2013 15:36, Justmade wrote:
> We are looking an replacement for our web interface front-end developed with intraweb.
>
> We were very exciting when we first inspect your product and your pretty demos.  We discovered many exciting feature but some of our desire we are not so sure if they can be done or not.  So We would like to ask here to clear things up.
>
> 1.  We would definitely need to continue using our existing databases which reside in MYSQL, with hundreds of tables and many store procedure and store functions.  So we would need to use your Elevate Web Builder Module to create plug-in for your web server or if possible, communicate with other web service.  However, I see that call to add-on module can only return strings?  So, we need to do all the phrasing of a dataset to string by ourselves and cannot use the TDataset component as well as the data binding to other controls?  Or is there a better way to transfer a Delphi TDataSet's data to EWB TDataset?
>
> 2.   We would like the site to be able to work as Offline Web Application.  That is user can continue proceed part of the operation when offline and store the data locally (best can use the EWB TDataset for those data).  When the user go online, we can do a sync for the data.
>
> Is EWB capable of doing the above 2 point now or in the near future?
>
> Thanks in advance for your kind attention.
>
>
>
>
Wed, Feb 6 2013 4:05 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com


<< 1.  We would definitely need to continue using our existing databases
which reside in MYSQL, with hundreds of tables and many store procedure and
store functions.  So we would need to use your Elevate Web Builder Module to
create plug-in for your web server or if possible, communicate with other
web service.  However, I see that call to add-on module can only return
strings?  So, we need to do all the phrasing of a dataset to string by
ourselves and cannot use the TDataset component as well as the data binding
to other controls?  Or is there a better way to transfer a Delphi TDataSet's
data to EWB TDataset? >>

Currently the dataset JSON handling isn't surfaced to the web modules, but I
can see about adding this.  At the very least, I can give you the code that
we use for it - it uses the Delphi TDataSet architecture, so it will fit
right in with a Delphi application that uses TDataSet descendants.

<< 2.   We would like the site to be able to work as Offline Web
Application.  That is user can continue proceed part of the operation when
offline and store the data locally (best can use the EWB TDataset for those
data).  When the user go online, we can do a sync for the data. >>

This is a little tricky due to browser restrictions on how much data can be
stored using the local storage options.  How much data are you looking to be
stored offline ?

Thanks,

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Feb 6 2013 8:44 PMPermanent Link

Justmade

Dear Tim,

Thank you for your quick response.

<<Currently the dataset JSON handling isn't surfaced to the web modules, but I
can see about adding this.  At the very least, I can give you the code that
we use for it - it uses the Delphi TDataSet architecture, so it will fit
right in with a Delphi application that uses TDataSet descendants.>>

It will be great if you can create a Delphi DataSetProvider component to link to Delphi TDataSet Component and
1. Once registered, can appear as a table/query in your server to be able to directly open in EWB
2. Can be returned as response (result set based on request) and map to EWB dataset for operation / display.

Even better will be the insert / update / delete to EWB TDataset can pass back to the DataSetProvider which in turn either trigger events or do the corresponding action to the Delphi TDataSet.

With such functionalities, EWB will become immediate useful for the large group of Delphi Database users no matter what database they are using.  They can immediately use EWB to create front-end using their existing data-modules and business code to work for the server module.

Of cause that would take quite some time for development and might become an Enterprise version (I hope not much more expensive).  For short term purpose, I think providing a method to turn TDataSet to JSON format to respond to request and a method in EWB to turn the returned JSON to EWB TDataset is a good start.

<< This is a little tricky due to browser restrictions on how much data can be
stored using the local storage options.  How much data are you looking to be
stored offline ? >>

We know that there are browser restrictions on data size and it is not good to store large amount of data in clients as a website.  So we only need to store a strip down version of item list and some orders the user is working on.  A few MB is acceptable.

The easiest way is to provide two functions of the TDataSet class :
1. SaveAsKey(KeyName : String);
2. LoadByKey(KeyName : String);
which save/load the dataset as JSON counterpart to the local storage.

Supporting websql will be a more powerful tool but I understand they are missing in FF/IE and are not under development now.

To tackle the case of a truly standalone web-based database front-end you might need to take reference of what Smart Mobile Studio are doing, which target the output to run as local files (no need web-server) and only connected to specific server for data or service when needed.  They also allow the output to be turn into an app by Phone Gap which overcome the storing size problem.  I don't know if it is applicable to EWB though.
Wed, Feb 6 2013 9:43 PMPermanent Link

Justmade

Two more thing regarding offline web application

1.  To let the output to act as offline web application, EWB also need to generate the manifest file and tags.  Then the browser will know to cache those file and work on the local copies when offline.
reference : http://diveintohtml5.info/offline.html

2.  Have properties / events to let the program know if it is online/offline so the program can act according to the status / change.
Thu, Feb 14 2013 11:23 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com


<< To tackle the case of a truly standalone web-based database front-end you
might need to take reference of what Smart Mobile Studio are doing, which
target the output to run as local files (no need web-server) and only
connected to specific server for data or service when needed. >>

I'm not sure how they're doing this without running afoul of security
issues - the single-origin security policy of most web browsers prevent you
from making requests to other URLs when the application is loaded from the
local file system.  Plus, there is this issue with Chrome:

http://www.elevatesoft.com/supportfaq?action=view&category=ewb&question=google_chrome_filesystem_display

Tim Young
Elevate Software
www.elevatesoft.com
Fri, Mar 22 2013 11:57 PMPermanent Link

Justmade

"Tim Young [Elevate Software]" wrote:
<<
I'm not sure how they're doing this without running afoul of security
issues - the single-origin security policy of most web browsers prevent you
from making requests to other URLs when the application is loaded from the
local file system.  Plus, there is this issue with Chrome:

http://www.elevatesoft.com/supportfaq?action=view&category=ewb&question=google_chrome_filesystem_display
>>

Using standalone file is just an option which is not necessary.  So the concern on the security of different  URLs can be put assigned at this stage.

Some customer really need offline operation for some part of our application so we are about to decide which product to go for in our next phrase of development.  

One example is that some customer had counters in basement supermarket which they had no wifi as well as 3G connection to the internet.  They need to records the orders using the tablet and take it out after business to sent the collected data via 3G to the server.  Even they exit the browser or restart the tablet, they should be able to start the application using the cached html/js.

So the most important part we need is the generated application to be able to work as offline web application.
 
Q1 : Will EWB tackle that offline web application standard in the very near future?
Q2 : Will the local storage be implemented in the very near future?

We also concern on the data access but I see that there is already many discussion which I can study and I am sure we can find a way to work it out.
Sat, Mar 23 2013 5:58 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com


<< Q1 : Will EWB tackle that offline web application standard in the very
near future?
Q2 : Will the local storage be implemented in the very near future? >>

The next minor release of EWB will include a flag to enable HTML5 support
(required for EWB to determine whether it is targeting IE8, or IE9 and
higher) for applications, and that will be accompanied by some new HTML5
features and components like canvas support.

I've done a quick review of the HTML5 web application functionality in the
past, and it shouldn't be too difficult to add.  At the very least, the next
release will include the ability to save database transactions/datasets as
JSON strings that can be stored in local storage.  The real key with offline
usage is being able to store the logged transactions for the entire
database, which EWB can do quite easily.

If you have any other questions, please let me know.

Tim Young
Elevate Software
www.elevatesoft.com
Mon, Mar 25 2013 6:36 AMPermanent Link

Matthew Jones

> Q2 : Will the local storage be implemented in the very near future?

You realise that the basic local storage is available today yes? I presume that
your local storage requirement is "database" and not basic config etc info, which
obviously needs EQB to support it.

/Matthew Jones/
Mon, Mar 25 2013 12:25 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< You realise that the basic local storage is available today yes? I
presume that your local storage requirement is "database" and not basic
config etc info, which obviously needs EQB to support it. >>

Yes, I think he's referring specifically to the "save dataset to a JSON
string" functionality at runtime (but I could be wrong Smile).

Tim Young
Elevate Software
www.elevatesoft.com
Page 1 of 2Next Page
Jump to Page:  1 2
Image