I was encouraged by Arthur Kay to start a thread here after I posted some frustration on Twitter, so here we go.
First off, the instructions for setting up the Packager were great and I had it installed and ready for usage in a couple minutes.
Second, I specifically scoured the documentation to see if there were any special instructions for getting an ExtJS 4.1 project that I'm building with Sencha Command to get packaged. I didn't find anything so I assumed that following the basic instructions would work.
That's what I did.
I created a projectConfig.json file in the root folder of my project. The source for the UI is contained in a www sub-folder. I then use Sencha Command to build that project into a sub-sub-folder of www/build/crescendo/testing.
So I then ran ionpackage crescendoConfig.json and it ran fine. Inserting output here for sake of completeness.
-- License is valid
Packing from configuration file crescendoConfig.json...
Output path already exists. Overwrite (Y/N)? y
Output path will be overwritten.
Searching for files. Please wait...
Total of 2315 files to be packaged.
Target package file /Users/stevebrownlee/DRProjects/synex-demo/packaged/app.ion
Package created at /Users/stevebrownlee/DRProjects/synex-demo/packaged
Package /Users/stevebrownlee/DRProjects/synex-demo/packaged/app.ion (28250844 bytes) is verified. Everything looks good.
Encrypting package with basic encryption...
Package encrypted successfully.
Extracting run-time to /Users/stevebrownlee/DRProjects/synex-demo/packaged
Run-time is extracted.
NOTE: You are currently evaluating Sencha Desktop Packager 1.1.
Your evaluation period will end in 29 days.
Applications packaged using this evaluation edition will function
for 14 days from the date it was packaged.
Visit http://www.sencha.com/contact for more information.
Awesome so far.
However, when I launch the packaged application, I get a blank screen and when I open up Chrome inspector and point it to the debug port, the HTML is there, with links to all my resources and script tags for my scripts, but, alas still a blank screen.
So my assumption that I could simply run Sencha Command to build my project, and then immediately run Desktop Packager against that build directory was a false assumption.
The thing is, I can't glean anything from the documentation that comes with the packager about what I'm doing wrong.
That was basically a copy from the getting started guide in the Sencha Desktop Packager API docs. I changed the applicationName to be Desktop Packager, the outputPath I put in the build/DesktopPackager/package/ dir to be like Cmd builds and the webAppPath I pointed to the production build from Cmd.
So now we are setup and just need to do the actual packaging which is as simple as:
I then had a Desktop Packager app in the /path/to/DesktopPackager/build/DesktopPackager/package/ directory. Launched it and I see the app just like when I tested the production build in the browser.
Do you have an index.html file in the root of your webAppPath? The Desktop Packager's entry point is index.html in the root of the packaged application.
For sanity's sake, can you add a trailing "/" to your webAppPath value, so it reads "webAppPath": "/Users/stevebrownlee/DRProjects/synex-demo/www/build/crescendo/testing/", just to see if that is an issue? We had a bug regarding trailing slashes and our file indexing logic, but it was most certainly "fixed" before our release...just want to make sure it isn't rearing its ugly head.
Thanks, and sorry you are having trouble out-of-the-gate! We'll get you squared away.
Yes, there is an index.html file in the web app path.
Luckily, I did make progress, but not there yet. I discovered that since I'm using the Less CSS processor library in my app, the packager was choking on that because I hadn't specified "allowCrossSite": true in the config file.
So, the application now renders, but Less doesn't work properly. I see the following error after the application renders, and, of course, the styles aren't being used.
I'm also using a third-party link graph tool (KeyLines) and when it attempt to draw to the screen, this additional error is thrown.
Uncaught Error: INDEX_SIZE_ERR: DOM Exception 1
Which is completely useless to anyone, I know, because it doesn't isolate what went wrong, and the code is licensed and obfuscated so I can't debug it. Bummer.
As for the trailing slash, that actually busted the application entirely. The packager created the application, but then almost nothing was in the resulting DOM. Just an HTML, HEAD, and BODY tag, and that was it.
Thanks for the info Steve. Is there any way you can ship your app (contents of webAppPath) to me, jarred [at] sencha.com? It would be the easiest way for me to debug the issues you are running into. If not, perhaps we can work together on establishing a small reproducible test case that gets you past the .less load issue (XHR?)