Remote updating questions...

Questions or information that don't quite fit anywhere else

Moderator: Neosoft Support

Locked
ebbevitt
Posts: 4
Joined: Fri Mar 24, 2006 1:58 pm

Remote updating questions...

Post by ebbevitt »

I have an idea for a project that I need a little help with.

I am thinking of creating an exe and in this exe will be 20 or so pages with basic text based information on them (think magazine pages with reviews on them for example).

I would like to be able to add pages to the distributed exe as and when necessary.

I have heard about the ability to remotely update a project from a web site (maybe by use of an FTP plugin?) but not really seen much on the forum regarding this.

Can anyone give me a small guide as to how this would work, logistically speaking (for example what structure I would need to use for my project, the possibilities of achieving what I want etc, where to look for further info etc). I am assuming that it can be done without having to download the exe each time I want to add or change a page? Are we talking about storing all information in a directory at runtime or are we talking about having to install the raw files on the clients computer? How is the security of the information kept intact if this is the case?

I dont need a step by step guide, but more of a poin in the right direction, and something to get me started on the right road.

Your help is appreciated.

Regards
Simon
User avatar
beno
Posts: 678
Joined: Fri Apr 01, 2005 9:03 am
Location: México
Contact:

Post by beno »

Hi simon,

You can accomplish what you are looking for in several ways.

The simplistic one would be that YOU can update, add pages, to your publication, compile it and your users simply download the new version.

Another approach, more ellegant and interesting, is to create a template for your publication. This template will use NB Article Objects, where its contents are defined using variables. Your index can be a List Object *or something else) where again, its contents will be controlled using a variable.

Next, you can code your publication so once the user select a article/news from the listbox your code will asign a text file to be displayed in the Article Object... and so on...

So, when dealing with updating your publication your code can only download the newer articles/news, the updated index file, and voila!! there you are.

I surely would recommend using a database to do this, but this is not a must.

Mmmh, I'm sure our good NeoFriends will come up here with other solutions...

HTH,

beno
User avatar
HPW
Posts: 2571
Joined: Fri Apr 01, 2005 11:24 pm
Location: Germany
Contact:

Post by HPW »

A very flexibel approach would be the use of the 'RunNeobook' command.
You could made a main-neobook-app and that scans the start-directory for loadable sub-books (using some naming conventions) Then you can jump to that offered chapters. If you add one later you will see this in the updated main-list. So you will have the maxiaml flexibility, because chapter can have their own layout/format or whatever neobook will let you do.
Hans-Peter
ebbevitt
Posts: 4
Joined: Fri Mar 24, 2006 1:58 pm

Post by ebbevitt »

Ok i'll explain this a little better...

Phase one of the project will be to create 217 pages, all of the same look but with different content. Currently I am hard-coding the pages (using the built in editor as apposed to external rtf text files) as the information in those pages will be static and linked from and to throughout the project. (I assumed this would be the easiest way for a newbie like me!)

Once phase one is complete I will distribute the project. The end user will install the project onto their computer so that the pub and associated files reside in a specified folder.

I will be adding new pages and changing parts of the contents of current pages but not that frequently. The new pages will not replace the old ones but will need to be merged onto and into the original pub.

I will also be adding extra functionality to the pub as and when I get the first few phases completed, so this will need to be updated in the original pub as well.

As phase one will weigh in at around 50mb, I would prefer not to have the user download this every time an update is available.

Now, the question is, how easy is this to acomplish?

Regards
Simon
User avatar
Gaev
Posts: 3782
Joined: Fri Apr 01, 2005 7:48 am
Location: Toronto, Canada
Contact:

Post by Gaev »

Simon:

a) Not sure if there is a typo(graphical error) in one of your posts ... but you said earlier that your application was of the order of 20 pages ... and in your last post you talk about 217 pages.

b) You may have some conflicting requirements ... security vs. flexibility ... embedding article object's content within the exe provides a measure of security ... but you lose the ability to add, change, delete this content on a selective (partial) basis ... given that your anticipated project size is of the order of 50 MB, I would NOT consider the embedded route ... users will not have the patience (or the capability) to start a 50 MB exe each time they want to use it.

c) This being the case, if you are going to deploy the Article object ... to display stuff in a Rich Text Format (a.k.a rtf) ... these files are going to have to be read from the user's local disk ... which compromises security.

d) If security is just as important, you might consider deploying the Browser Object ... to display content prepared in the html format ... NeoBook has the ability to display such content straight from an internal [variable] ... avoiding having to expose the contents on a local disk first ... and the actual content can be placed inside (encrypted) database (.dbf) files before download/transfer to users ... and NeoBook's (free) DBF PlugIn can be used to read the encrypted content into [variables] that are passed to the Browser object.

Note that the encryption used by the DBF plug-in is not as strong as the type you might deploy when communicating with your bank's website ... but will keep the average user from decoding it.

e) Using a Browser object also has the advantage of being more accomodating to dis-similar layout structures etc. ... however, to answer your other question ... you can not make partial changes to your exe ... so you should consider keeping your exe size as small as possible (by keeping no embedded data files within it) ... so changes can be accomodated by downloading/transfering a small (1 MB to 3 MB file) new exe file ... that now works with the old and the new data files (50 MB).

If you choose such an infrastructure, you can have your program check your website for updates etc., download the (dbf) files and display the contents to the user ... this in itself is no small project ... adding the facility to check for program revisions ... and then downloading/switching to the new version is a much more complicated task ... perhaps not undertaken without some experience.
ebbevitt
Posts: 4
Joined: Fri Mar 24, 2006 1:58 pm

Post by ebbevitt »

Wow.....

Where to start eh?

Well first, thank you for your help. I think that for the ease of use I will compile the whole thing before releasing it, that way it eliminates the need to updates via the web.

As for security, and without the need for updating, it looks like I will be better off embedding the whole thing in the exe, but will need to see how memory hungry this turns out to be.

Once again thanks for your help.

Regards
Simon
Locked