This Question is Answered

15 "helpful" answers available (3 pts)
12 Replies Last post: Apr 29, 2008 12:45 PM by Duke

Desktop integration [Nitro beta]

Apr 24, 2008 12:57 AM

Click to view friedger's profile MVP friedger 108 posts since
Jan 13, 2008

Hi,

the documentation says that an application can support to "create application icons on the desktop and in the host platform's launcher menu, and otherwise register the application with the host operating system. "

However, I couldn't find any hints how to do that. I would be greatful if anybody could provide details of this new feature. Or am I missing something?

Friedger

Click to view URPradhan's profile Level 7 URPradhan 141 posts since
Mar 6, 2008
1. Re: Desktop integration [Nitro beta] Apr 24, 2008 5:10 AM
Yes.. Exactly ...
I'm too missing the documentation for installation, un-installation, creating Desktop icon/short-cut AND also for SQLite support :(
Click to view mgordon's profile Curl mgordon 47 posts since
Oct 17, 2007
2. Re: Desktop integration [Nitro beta] Apr 24, 2008 5:32 AM
Earlier versions of Curl also supported offline operation. For this release we enhanced the procedure occ-install-or-update so that you can pass in icons and other information used for desktop installation. Look up occ-install-or-update in the 7.0 Beta documentation to find out more. Also, you can look up the index entry for OCC. We will try to make this information easier to find in the next beta.

One other change we made in this release is that when an application is installed for offline operation, the RTE always runs the code stored locally on the client. This means that the applet will not be interrupted if you disconnect from the network while it is running. The code on the client is updated each time the applet starts up, if an update is available on the server.
Click to view friedger's profile MVP friedger 108 posts since
Jan 13, 2008
3. Re: Desktop integration [Nitro beta] Apr 24, 2008 5:55 AM
in response to: mgordon

Thanks for the hint.

Friedger

Click to view friedger's profile MVP friedger 108 posts since
Jan 13, 2008
4. Re: Desktop integration [Nitro beta] Apr 24, 2008 2:54 PM
in response to: URPradhan

The sql support is contained in the package CURL.IO.SQLITE-LIBRARY. This package is contained in the documentation of the IDE (not yet available in the online docs)

Friedger

Click to view friedger's profile MVP friedger 108 posts since
Jan 13, 2008
5. Re: Desktop integration [Nitro beta] Apr 24, 2008 7:49 PM
in response to: friedger

I have tried to use the installer feature. As far as I understand the following would be sufficient to get the applet installed:

{occ-install-or-update install-filename = "c:\\temp\\start.scurl", occ-root-installer}

Then copy to the root of the web server (localhost) and type in the url.

I can see the dialog asking about the installation. However, after clicking "Proceed" I still don't see any icons/links.

The local-root-for/localhost exists. Is there anything else I have to do so that I can see a link on the desktop?

Friedger

Click to view Duke's profile Curl Duke 154 posts since
Oct 17, 2007
6. Re: Desktop integration [Nitro beta] Apr 24, 2008 11:40 PM
in response to: friedger
I think the problem you are having is that you do not want a full path for install-filename, just a name part. Actually I'm not too sure how this stuff works yet, maybe it gets the start file's name from the applet doing the installing and the install-filename is actually used for a directory name to hold all the applet's installed files. Here is some code that I think would make a shortcut named Friedvision on your desktop.

{curl 7.0 applet}
{curl-file-attributes character-encoding = "windows-latin-1"}
{applet manifest = "manifest.mcurl",
    curl-root = ".",
    {compiler-directives careful? = true}
}

{do
    def (permission?, network?, allowed?, updated?) =
        {occ-install-or-update
            occ-root-installer, 

            install-name = "Friedvision",
            install-filename = "Friedvision",
            install-version = null,
            install-directory = null,
            install-description = "test Nitro applet",
            install-icons =
                {new {Array-of Url},
                    {url "fried-icon.png"}
                }
        }
    def installed? = permission?
    {if not installed? then
        {error {message Unable to install for offline use}}}
}
Click to view friedger's profile MVP friedger 108 posts since
Jan 13, 2008
7. Re: Desktop integration [Nitro beta] Apr 25, 2008 4:23 AM
in response to: Duke

Thanks, Duke.

Sometimes it works, sometimes not. I am not sure why.

I deploy for OCC into a directory that I can directly access in IIS http://localhost/abc/start.curl. I renamed the deploy folder ("abc1", "abc2") and I also renamed the install-filename. I couldn't make a rule when it is installed properly.

I also noticed that the size of my little applet is 65MB if I extent ".curl" to the install-filename, otherwise no size is given in the list of installed software (Win XP, German)

Friedger

Click to view URPradhan's profile Level 7 URPradhan 141 posts since
Mar 6, 2008
8. Re: Desktop integration [Nitro beta] Apr 27, 2008 9:37 PM
in response to: friedger
Though I'm testing a sample application (using occ-install-or-update occ-root-installer) having the localhost-pro license, Its throwing "Invalid License Exception" :(
Click to view Duke's profile Curl Duke 154 posts since
Oct 17, 2007
9. Re: Desktop integration [Nitro beta] Apr 28, 2008 5:22 PM
in response to: URPradhan
I just tried installing an OCC application from my localhost server using the localhost-pro license, and I did not have a problem. I'm using a slightly newer Nitro build than the public beta, but I don't think there have been any changes that would affect this. We will probably update the Nitro beta soon, by the way.

When making changes to server license files, you need to restart the Curl RTE to see the effects of the changes because the RTE caches licenses that it finds.

If you are still having this problem with the localhost-pro license, you could send the exact error message to the support email address. I can report back here if we solve the problem by doing that.
Click to view Duke's profile Curl Duke 154 posts since
Oct 17, 2007
10. Re: Desktop integration [Nitro beta] Apr 28, 2008 5:27 PM
in response to: friedger
About the 65MB install size reported, that seems to be a mysterious number generated by Windows. We are trying to figure it out, so we will have to keep an eye on the reporting of the size as work on Nitro.
Click to view URPradhan's profile Level 7 URPradhan 141 posts since
Mar 6, 2008
11. Re: Desktop integration [Nitro beta] Apr 29, 2008 3:15 AM
in response to: Duke
Thank you for your reply.

I was not restarting the RTE earlier, but now even after restarting the RTE it throws the funny exception like ...

<Error> - An error occurred while loading this applet.
Error: The file 'http://localhost/mysite/OCCDemo/curl-timestamp.txt' must have exactly one line.

I really do not understand from where this curl-timestamp.txt file comes from (I'm not using it in code and did not found it in my m/c).
May be I'm doing some mistake :(

//Thanx
Click to view Duke's profile Curl Duke 154 posts since
Oct 17, 2007
12. Re: Desktop integration [Nitro beta] Apr 29, 2008 12:48 PM
in response to: URPradhan
I think you want to use the Pro IDE tools for deploying OCC applets, although I think you can do it without the Pro IDE tools. From the section on OCC in the IDE documentation, here are two relevant paragraphs:

====

The applet above uses occ-root-installer, which assumes that a curl-timestamp.txt file, as well as an appropriate curl-contents.txt or curl-archive.car file, are present in the curl-root directory on the Web server. The IDE can generate these files (see below). If there is no local copy, or the curl-timestamp.txt file indicates that the local copy is out of date, then the files listed in the curl-contents.txt file are acquired, or the files contained in the curl-archive.car file are extracted, and the curl-timestamp.txt file is copied, yielding a new local copy of the application.

.....

Deploying for OCC

As described above, occ-root-installer depends on the server having a special curl-timestamp.txt file, and a special curl-archive.car file, at the curl-root of the applet. The occ-module-installer also depends on these files, and it also uses a special curl-modules.txt file to indicate inter-module dependencies. The deployment tools available through the IDE can generate these files, and manage other aspects of OCC deployment.

====

The curl-timestamp.txt file is supposed to have a time in it, on one line apparently, like "2007-11-14 21:22:44.145000 +0000" (no quotes in file). I suspect the reason you are getting the error message about "must have exactly one line" but do not have the file anywhere is that your webserver is responding with some error page but not giving a 404 status, so that the Curl RTE is reading the text of the error page as being the contents of the expected curl-timestamp.txt file , and having an error because the contents are not in the expected format. Webservers that do odd things with 404 errors (special human readable error pages) can result in this kind of error message from the Curl RTE; it can be a little puzzling until you realize what is happening.