PDA

View Full Version : Using AppLauncher


ABC123

richard@tbdinc.net
07-05-2013, 04:55 PM
Is there a video or does anyone have a sample AppLauncher component. While I understand the basic concept of the AppLauncher, I don't know how to configure one. I need a place to start.

Davidk
07-06-2013, 01:51 AM
Here's a really quick overview of the AppLauncher. There are a lot more features to it, but these are the basics. Generally, you set conditions which test for specific devices. Each one of the conditions is tested, in turn, until a true condition is found and then the component attached to that condition is run.

The instructions say to always include, as a last condition, something that will be always be true, just in case you run into a device you didn't plan on. So, for example, the last condition would be 1=1 with a component specified that tells the user their device isn't supported, or a very generic component that would run on anything.

If you have any questions just shout.

EDIT: Removed screencast version... replaced with youtube version

http://youtu.be/r7YUW5Z0DAU

Clipper87
07-06-2013, 07:04 AM
I'd be interested to know how to navigate to other a5w pages using the applauncher

DaveF
07-06-2013, 09:10 AM
Wow! I completely missed this new AppLauncher web component. I never saw it in the release notes and never noticed it in the component list.

David - What product are you using to mirror the mobile devices in your video?

Clipper87
07-06-2013, 09:32 AM
Dave,

I use Airserver for that, costs like 14$ I believe airserver.com

DaveF
07-06-2013, 10:05 AM
Thanks Frank. I will check it out today.

iRadiate
07-06-2013, 02:41 PM
Thanks for the video David. I have only recently upgraded to v12 and was starting to wonder about how to determine mobile devices. Very helpful.

How would you would make the Startup Component a login component? The Login Component itself is not actually in the list of available options.
I'm guessing the old Login Component from earlier versions has to be redesigned to be a UX component now? Not sure I'd know how to do that.

Davidk
07-06-2013, 02:44 PM
Reflector is the one I used... http://www.airsquirrels.com/reflector/

Davidk
07-06-2013, 02:50 PM
Stephen,

There is a checkbox labelled "Display login form" in the AppLauncher. As soon as you check that, go back to the Freeform layout and a number of new placeholders are how available... Username, Password etc.

If you had already put the default template in place, and then checked the "Display login form" checkbox, you could click the "Revert to default template" link again and a new template will be inserted which includes all the login stuff.

There's also a property to customize login failure message.

iRadiate
07-06-2013, 04:12 PM
Thanks David. Much appreciated.

richard@tbdinc.net
07-06-2013, 04:38 PM
Is there a video or does anyone have a sample AppLauncher component. While I understand the basic concept of the AppLauncher, I don't know how to configure one. I need a place to start.

Thanks, that was exactly what I needed to get an understanding of how to start using the AppLauncher.

kiwibruce
07-06-2013, 07:41 PM
This is great info David, Anyone working with V12 should read this... could a moderator make this thread sticky??

dfricke10
07-07-2013, 09:18 AM
I think I'm missing something. I'm trying to specify the same UX app with different style sheets based on the device. It seems no matter what I set, it picks up the Style of the AppLauncher in the Other Component Properties of the AppLauncher.
The default is iOS in the AppLauncher. I have isWindows set to MobRed but the Live Preview and remote server show iOS. What simple thing am I missing?

dfricke10
07-07-2013, 11:37 AM
Just a bit more information on the AppLauncher. You have to either specify "Full Page Reload" or enter the CSS Styles in the "Additional Component Styles" that you are using in the Startup Component. Otherwise it gets confused and doesn't know which style to load. This will be well documented in the next release. Actually, a big giant popup that tells you and adds it for you. Thanks to Selwyn for this one. :)

datacrunch
07-10-2013, 06:16 PM
I tried this and I have a Tabbed UI that it launches and the Menus go away. Has anyone tried this or know what could cause this? The tabbed UI menu works fine but if it's launched through the AppLauncher it disappears.

Thanks

Davidk
07-10-2013, 07:02 PM
You mean the menu down the left hand side (of a standard Tabbed UI setup)? I created a Tabbed UI, added two components to it, previewed it. Then added it to the AppLauncher to launch under Windows and iPad and the Tabbed UI is all there. Buttons down the left side, tabs across the top. I tested with LivePreview and RemoteTest.

Is there anything in it's place when it disappears... any message? Or just a blank screen?

There is a message that you get after adding a Tabbed UI about checking the option for a full page reload.

datacrunch
07-10-2013, 07:45 PM
Yes it's the menu on the left. No message or error just gone. The page loads no problem. The UI was done in 11 and now I'm using 12.

Thanks for your quick response.

Davidk
07-10-2013, 08:02 PM
Can you open your UI in 12 and change something insignificant and then save it? Is there something unique about the Tabbed UI?

datacrunch
07-10-2013, 09:09 PM
Ok I'll try that and post the results. Thank you

datacrunch
07-11-2013, 12:24 PM
Ok its fixed. It was a bug. If you have this problem it will be fixed in the next update.

Thanks David

Beilfus
07-11-2013, 01:09 PM
I've clicked on this link http://www.screencast.com/t/Dqkm2m7fs ... screencast comes up but no video just a blank screen?

Is this still on screencast?

Thanks -

Richard Rabins
07-13-2013, 01:41 PM
here it is on you tube

http://youtu.be/RC8A-Af072s

DoronF
07-14-2013, 09:45 PM
Hi David,

Checking the YouTube link at: http://youtu.be/RC8A-Af072s
It seems that video start showing again the same steps right from the middle.

Regards,

Doron
The Farber Consulting Group, Inc.

Web site: http://www.dFarber.com
Blog: http://www.dfarber.com/computer-consulting-blog.aspx
Alpha Five Software Developer (http://www.dfarber.com/website-design-development/alpha-five-developer.aspx)
Convert Ms Access to Web (http://www.dfarber.com/website-design-development/convert-access-to-web.aspx)

Andy
07-15-2013, 03:39 AM
here it is on you tube

http://youtu.be/RC8A-Af072s

This says it has been removed by the user

Davidk
07-15-2013, 11:14 AM
Sorry Andy... it was a bad copy of the video... it's up again here...

http://youtu.be/r7YUW5Z0DAU

DoronF
07-16-2013, 12:59 PM
Thanks for the Video.


Regards,

Doron
The Farber Consulting Group, Inc.

Web site: http://www.dFarber.com
Blog: http://www.dfarber.com/computer-consulting-blog.aspx
Alpha Five Software Developer (http://www.dfarber.com/website-design-development/alpha-five-developer.aspx)
Convert Ms Access to Web (http://www.dfarber.com/website-design-development/convert-access-to-web.aspx)

datacrunch
07-17-2013, 05:56 PM
I have a security question. I have the app launcher going to a Tabbed UI component and I only want certain links to have security. Most of my options don't have security so I don't want to have everyone log in all the time to use it.

My problem is, the tab UI doesn't let me log in after being launch from the launcher. I get a 403 forbidden error. If I go to the A5W page by it's self it works fine. I've attached the error.36267

Thanks

M.Richard
07-30-2013, 10:06 AM
Really guys I am getting quite tired of searching for documentation on v12 stuff, including this new AppLauncher.

I have configured and installed the component, it leads me nicely to the TUI when I am approaching it with a Windows pc, but it doesn't seem to do anything (that is: I get the TUI anyway) when I approach it per smartphone. Now there is a list of client.xxxxx available, but what do they all mean? What type of client to choose when the user is approaching with a Android phone for instance? Why is there a client.Galaxy and not other Samsungs?

Is the applauncher self executing? It seems not needing to be wrapped in an A5W page? Does the Application Server find it automatically when published to the webroot?

I can't find anything about the AppLauncher v12 in AlphaPedia
I can't find anything about the AppLauncher in the v12 Release Notes page either.

So what am I missing? How do you all do this? Or do I look at the wrong place for documentation on this?

Clipper87
07-30-2013, 10:31 AM
If you put the applauncher on your index.a5w page as the first component then it will execute. In the applauncher you define the conditions as to what component to run or what page/URL to redirect to.

It is plain simple. Simply publishing a component does not do anything; components need to be on an a5w page.

This is a sample A5W page with an applauncher component called "start" on it:

If the client is mobile it will launch UX1 otherwise UX2:

36344

I advise you to first play with sample UX components then with tabbed UI because that is kind of special as a tabbed ui cannot be put on an a5w page (it generates it's own a5w page)

Also use the source tab NOT the WYSIWYG tab in the htm editor.

it is all very simple.




<!DOCTYPE html>
<html>
<head>
<meta name="generator" content="Alpha Anywhere HTML Editor Version 12 Build 1564-4158">
<!-- must use in order to make XP Themes render -->
<meta HTTP-EQUIV="MSThemeCompatible" content="Yes" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />

<title>Nexco on the web</title>


<%a5
Delete tmpl_START
DIM tmpl_START as P
tmpl_START = a5w_load_component("start") ''SYSTEM GENERATED COMMENT - PLEASE DO NOT REMOVE (LOAD:start)

'Override settings start -----------------------------------------
with tmpl_START
.alias = "START"
_customComponentFilename = "start"
end with
'Override settings end -----------------------------------------

delete x_START
dim x_START as p
x_START = a5w_run_Component(tmpl_START) 'SYSTEM GENERATED COMMENT - PLEASE DO NOT REMOVE (RUN:tmpl) (EDIT:start)

?x_START.Output.Head.JavaScript
?x_START.Output.Head.CSS_Link

?x_START.Output.Head.Title
%>


<!--Alpha Five Temporary Code Start - Will be automatically removed when page is published -->
<!--CSS for tmpl -->
<link rel="stylesheet" type="text/css" href="file:///C:/Program Files (x86)/a5V12/css/GrGray/style.css">
<!--Alpha Five Temporary Code End -->


</head>
<body>

<body class="GrGrayPage">

<%a5 ?x_START.Output.Body.CustomComponent_HTML %>



<div>
This is the normal version of index.a5w that you get to see with a non mobile device.
</div>
<div>
<a href="http://www.alphasoftware.com" target="_blank"><img src="images/alpha-img8.png" title="click to go to the Alpha Software website" style="border:none;" /></a>
</div>
<div>
<a href="http://www.alphasoftware.com" target="_blank">This is a normal link to the Alpha Software Website</a>
</div>


</body></html>

M.Richard
07-30-2013, 11:52 AM
First, thank you Frank for your effort to state all of this and to put the code there together with screenprints. I believe I pretty much did the same, for the code I used the tool available that shows the code you need to insert in the A5W page per component.


it is all very simple.
Then, obviously, I must be very dumb...... to expect at least some documentation.

Since I would not know how to get to all of these conclusions without proper (or any at all for that matter) documentation.
My AppLauncher actually WAS on an A5W page (when it would not work without), with the right code in the right elements of the A5W page.
I also stated, that it worked since it connected the user with a windows environment to the TUI component A5W page.
What the problem was, is that the mobile device I used was not detected by the 3 different mobile rules I put in the AppLauncher, hence, the TUI option fired again.
I can't make out what device to use since there is a list, but there is no documentation about what all of these choices mean or what choice to make for what device.
There is a "client.Galaxy", but why for this Samsung type device and why not for all other Samsung devices? Many other questions pop up in relation to this, none of them are answered by any documentation.
Especially when it is all so simple as you state, it should be even more simple to write a bit of documentation on it wouldn't you say?

It simply doesn't make sense to "trial and error" around a bit, waiting until you have the documentation on what it exactly is that you are doing.
So for now I have stopped this development until there is documentation available.

Clipper87
07-30-2013, 12:08 PM
Did you try to use "client.ismobile" as a condition rather then trying to identify specific types of devices ? There will always be devices that will not yet be supported/recognized and with the pace mobile devices come to market it will ask a close follow up with Alpha I suspect.

Jim Coltz
07-30-2013, 12:56 PM
There is some documentation located in the pre-release version notes located here (http://downloads.alphasoftware.com/A5V12Download/ReleaseNotes/prereleasenotes.html). Scroll down the page a bit or search for "AppLauncher Component" in the page. It is a fairly detailed description.

M.Richard
07-30-2013, 12:58 PM
Yeah, I had 3:

1) Ios
2) Galaxy
3) IsMobile

to no avail for a Samsung Google S.

But don't worry, I halted the work. I want some proper documentation first, I don't like running blindfolded. Too much obstacles around....

Clipper87
07-30-2013, 05:33 PM
I think -not sure- that Alpha may need to setup some webpage that you can browse to, identify your device (brand, model, os version, browser version etc) with a device so that they can grab whatever is in the header so that they can update their database for the applauncher. This is going to be an ongoing something because every device will have it's specific behavior & anomalies and I don't think Alpha will buy each & every mobile product that is around worldwide.

Selwyn Rabins
07-30-2013, 05:51 PM
the expressions that you define in the applauncher to select the startup component has full access to the browser's user agent string.

in other words, when you define the expression to select the startup component in the applauncher, in addition to system fields like 'client.isIpad' and 'client.isMobile' there is also a field called 'client.userAgent'

this is the full user agent string returned by the browser, and your expression can look for 'flags' in this string.

basically when we set the value in the client.isPhone field we are just looking for certain flags in the userAgent string.

by analyzing the useragent string yourself in your appLauncher expressions you can make a much more 'fine grained' decision about that component or page to launch.

DoronF
07-30-2013, 07:44 PM
Hi David,

Thanks for the Video.

Regards,

Doron
The Farber Consulting Group, Inc.

Web site: http://www.dFarber.com
Blog: http://www.dfarber.com/computer-consulting-blog.aspx
Alpha Five Developer (http://www.dfarber.com/website-design-development/alpha-five-developer.aspx)
Convert MS Access to Web (http://www.dfarber.com/website-design-development/convert-access-to-web.aspx)
Remote DBA Services (http://www.dfarber.com/microsoft-solutions/mssql-server/ms-sql-remote-dba-services.aspx)

gregincolumbus
08-02-2013, 12:06 PM
It appears that the App Launcher ignores some of the settings in the security settings. For example, I have a setting to go to a log in processing page to perform some session setting before redirecting to the post-login page. My list controls that are filtered by one of those session variables are not working. Has anybody else had trouble with this?

Clipper87
08-02-2013, 12:28 PM
I take it that you are using the login feature of the applauncher ?

Clipper87
08-02-2013, 01:05 PM
This site contains a list of all useragent strings http://www.useragentstring.com/pages/useragentstring.php

Comes in handy when using 'client.userAgent' in the Applauncher

gregincolumbus
08-02-2013, 01:06 PM
Yes, I should have stated that. I am trying the login feature of the app launcher. My old login scheme works fine with the session variables and post-login processing page. I might try using the app launcher page POST login and see how that goes.

gregincolumbus
08-04-2013, 12:06 PM
I can confirm that if you use the sequence: Login then redirect to a login processing page (as defined in the security properties for your project) and THEN redirect to the AppLauncher page...that session variables are honored and the app redirects the user to the proper component as defined in the app launcher.

JerryBrightbill
08-05-2013, 09:46 AM
It appears that the App Launcher ignores some of the settings in the security settings. For example, I have a setting to go to a log in processing page to perform some session setting before redirecting to the post-login page. My list controls that are filtered by one of those session variables are not working. Has anybody else had trouble with this?The login in the app launcher (as well as the login in the tabbedUI) does igniore some properties that are not applicable in that environment. The App launcher is intended to specify the next target component or page, and the TabbedUI should normally stay on the TAbbedUI after login. Therefore the property "Redirect page after login" has no meaning in those contexts and is ignored.

There are a couple other properties that really only apply when using the login component. The context help in the Security Settings genie has been changed in the latest V12 pre-release to specify which properties apply to the login component only.

If you want to set session variables after login when using the App Launcher, you can use the "onLogin" server-side event and set the session variables there after a successful login
if e.loginSucceeded = .T.
'set session vars
end if

gregincolumbus
08-05-2013, 10:07 AM
Thanks Jerry....very helpful

lilmofo812
08-08-2013, 04:00 PM
I'd be interested to know how to navigate to other a5w pages using the applauncher

I am curious as to how to do this as well because i have a TabbedUI sitting on an a5w page and wasn't sure if just loading the tabbedUI alone would allow it to work in the same way? (There is some free form text at the top of the a5w page).

Thanks

gregincolumbus
08-08-2013, 04:41 PM
Josh,

I built a basic login component and placed it into a5w page.

I have a login processing page as my landing page after successfully logging in. This was setup in the security settings for the appl.This page handles setting many session variables, etc that are used by the web app.

The last item on that processing page is a response.redirect. This redirects to the a5w page where I placed my app launcher component. That then handles the variables I setup regarding where to go based upon device, etc.

Please let me know if any of this is unclear.

Greg

Clipper87
08-08-2013, 04:43 PM
In the mean time this has been added (as of some prereleases ago). I have a page with a tabbed ui included on my index page + the startup component. It allows to redirect to another url (full page reload needed + a new property to suppress warnings because the only condition I have is client.ismobile) The result is that a mobile user who browses gets redirected to a subdomain m.domain.com, if it is a desktop user then the tabbed UI just continues to load and the user sticks to domain.com. Very cool feature! There is some extra javascript needed to delete the html layer that the startup component generates even if you don't put any html in there.
There is only one issue left if you have the tabbed ui login feature enabled; that generates an error. I still need to discuss this with Selwyn. I plan on making a small video of this because it enables in a very easy way to redirect to a subdomain and allows you to use the smae a5w pagenames for both the mobile & desktop version of your app/site.
364183641936420

lilmofo812
08-08-2013, 06:30 PM
Josh,

I built a basic login component and placed it into a5w page.

I have a login processing page as my landing page after successfully logging in. This was setup in the security settings for the appl.This page handles setting many session variables, etc that are used by the web app.

The last item on that processing page is a response.redirect. This redirects to the a5w page where I placed my app launcher component. That then handles the variables I setup regarding where to go based upon device, etc.

Please let me know if any of this is unclear.

Greg

This is good for the mobile side of things but the issue I am running into is my tabbedUI doesn't run properly if it isn't embedded into an a5w page, any idea why this is happening?

The tabbedUI does load as it is suppose to but when I try to click one of the buttons in the menu on the side nothing happens and I have it set up to load one of the tabs automatically (other than the home tab) and this doesn't work either. So to me the only way to fix this is to have my default redirect to the a5w page rather than to the tabbedUI directly.

lilmofo812
08-08-2013, 06:31 PM
In the mean time this has been added (as of some prereleases ago). I have a page with a tabbed ui included on my index page + the startup component. It allows to redirect to another url (full page reload needed + a new property to suppress warnings because the only condition I have is client.ismobile) The result is that a mobile user who browses gets redirected to a subdomain m.domain.com, if it is a desktop user then the tabbed UI just continues to load and the user sticks to domain.com. Very cool feature! There is some extra javascript needed to delete the html layer that the startup component generates even if you don't put any html in there.
There is only one issue left if you have the tabbed ui login feature enabled; that generates an error. I still need to discuss this with Selwyn. I plan on making a small video of this because it enables in a very easy way to redirect to a subdomain and allows you to use the smae a5w pagenames for both the mobile & desktop version of your app/site.
364183641936420

The only issue I have with this is I don't have another domain set up and am trying to do this without a second domain being alpha anywhere has the ability to detect the device.

gregincolumbus
08-08-2013, 06:45 PM
I am trying to confirm I understand your issue.

On the properties of the tabbed UI, you indicate the name of the a5w page for that tabbed UI. On your redirect are you pointing to that page? Does the tabbed UI work correctly if you DON'T use the App Launcher after login and you simply go to the a5w page?

Does it fail if the App Launcher is used after logging in but before redirecting to the a5w page that contains your tabbed UI?

lilmofo812
08-08-2013, 07:00 PM
Original set up:

Login component is used --> login processing page is called --> at bottom of login processing redirect to a5w page holding tabbedUI = WORKS PERFECT

Login component is used --> login processing page is called --> at bottom of login processing redirect to page holding app launcher --> load tabbedUI if not on mobile (but its not contained in a5w page) = DOESN'T WORK

As for your last statement concerning using the app launcher first, the login processing info is contained on an a5w page itself so I would still have to call this and I would have to call it regardless of the device being used which would render the app launcher useless would it not?

gregincolumbus
08-08-2013, 07:20 PM
I will research this more, but I believe the app launcher and tabbed UI are both variations of iframes. I am guessing that the app launcher going to the a5w page containing the tabbed UI has a conflict between the two iframes (one in the app launcher and another in the tabbed UI)

I am using the app launcher to distinguish between mobile devices. I have a separate domain for the tabbed UI so that is why my experience has been different than yours.

lilmofo812
08-08-2013, 07:31 PM
My tabbedUI is not contained on the page set in its properties (called "index") but rather has been added to a completely different a5w page manually (called "dashboard"). Do you think this is causing the issue and if I change the name set in the tabbedUI's properties to dashboard it will be resolved (I'll probably try this next).

If this doesn't work I plan to look into using xbasic's request.UserAgent in order to figure out the device and then I can redirect appropriately to the a5w page. If you have any experience with this or know where I can read up on it that would be great!

Clipper87
08-08-2013, 08:33 PM
Josh,

include the tabbed ui's A5W page in dashboard.a5w & put the applauncher component on the dashboard.a5w page as well. In your applauncher set just 1 condition (for example client.ismobile) & redirect to the page where you want mobile visitors to go to. Select full page reload & suppres errormessage (you will need the latest build for that)

lilmofo812
08-09-2013, 02:05 AM
It says I have the most current version yet I am not seeing the "suppress error message" setting? Is it in the app launcher properties or am I suppose to be looking somewhere else? Also, I'm not sure how I managed this (unless it was allowed in an older version of alpha5v11) but I have a tabbedUI that has just been placed on an a5w page using the insert component feature? And yes by this I mean that the tabbedUI actually shows up when looking at the WYSIWYG pane of the HTML editor rather than having nothing here and only information in the source area (which with testing is what happens when you just save a tabbedUI). So I believe this may also cause errors in the future but I think can still be worked around as long as I can find the "suppress error setting" mentioned above.

On a side note, is there anyway to make it so my tabbedUI doesn't have to show up before the applauncher does the redirect (as in can I set some sort of timeout function?). The redirect is working properly but because the code runs asynchronously the tabbedUI shows up before the Ajax call is finished.

I really appreciate all of your help as you all know a mobile presence is important and as soon as I get this figured out I can finally focus on building and testing mobile pages (this is due to the fact that the remote test on my machine does not work and I can't use the remote test feature on the sever as we won't be on the same network being it is a zebrahost server). That being said the error I get says something along the lines of not being able to write to a remote test directory that is suppose to have a txt document in it (I can get exact error if this isn't enough info but on my phone now so impossible to replicate). I have a feeling this may be due to the fact that all of my files are located in a folder that is housed in dropbox (easier for keeping local files the same across machines) but not sure if this is a common error that other people are having and I just need to fix some settings.

Thanks

Jmo

lilmofo812
08-09-2013, 02:16 AM
Josh,

include the tabbed ui's A5W page in dashboard.a5w & put the applauncher component on the dashboard.a5w page as well. In your applauncher set just 1 condition (for example client.ismobile) & redirect to the page where you want mobile visitors to go to. Select full page reload & suppres errormessage (you will need the latest build for that)


I actually think much of my problem will be solved if I had the ability to load an a5w page as my start-up component in the app launcher but that option is not available. As I previously stated it says I have the most current version so was this option nixed or is there a beta build out there that you are running to have this option available? I'd love to give this a try and see if it fixes my problems because I'm pretty sure all would be well! Thanks!

Jmo

JerryBrightbill
08-09-2013, 07:58 AM
You can specify an a5w page as the start up "component" in the app launcher in the latest pre-release builds.

You can get the pre-release builds HERE (http://downloads.alphasoftware.com/A5V12Download/ReleaseNotes/prereleasenotes.html)

lilmofo812
08-09-2013, 09:42 AM
Thank you for this! Now the only problem is it explicitly says to not use pre-releases in production (are any of you doing this?) because if I can't put it in production then this doesn't help other than the fact it gives me piece of mind that soon I will be able to accomplish what I am trying to do without a lengthy work around. You guys have been of great help and it is very appreciated. I believe my only choice now (until this option is officially released) is to look into a programmatic solution using request.UserAgent in order to filter the proper user to the correct site, any help on some basic code to get me started would be great or pointed to some documentation on this? I know on one of the boards someone posted all the possible userAgents but now I just need to figure out how to implement a loop going through the ones I want to check for and redirecting to particular pages (please correct me if I am wrong here). Thanks!

Jmo

Clipper87
08-13-2013, 03:52 AM
Josh,

First of all; when you create a tabbed ui there is a property called "A5W pagename" causing every time you save the tabbed UI component that an A5W page is created with the name in that property. The tabbed UI is different from all other components at this point and it is . So you should not put a tabbed ui on an A5W page yourself. It is clearly documented:

36450

Second you should avoid using the WYSIWYG mode of the html editor because it tends to try & do some stuff with your carefully crafted A5W pages. Use Source mode & set that as the preference:

36451

Third: with a tabbed ui on a page you cannot put any other component on that page + it does not make sense to alter the generated A5W page (as explained above) because everything gets overwritten every time you edit &save your tabbed ui component. So what you do instead is create an A5W page & include your tabbed UI generated A5W page. For example put "index_" as a name in the property "A5W pagename" of your tabbed UI, then create an A5W page named index.a5W (notice no underscore) then in the body section of that page put this include statement:

<%a5 a5w_include("index_.a5w") %>

This allows you to put another component on your A5W page such as the applauncher.

About the prereleases: it really depends on how mission critical your system is. I find them very stable & in fact it is a continued version of the last official release with new features, bugfixes etc, just to say that it all really depends. An official release is not bugfree either, in fact no software is bugfree (they may have great errorcatching so that it appears bugfree because you don't see it but believe me they are not & will never be)
I use the prereleases all the time but it is your call.

About sifting the request.UserAgent: on your newly created A5W page index.a5W you just write some xbasic that does the job:

<%a5 'open xbasic tag so the server knows it has to interpret the code that follows

if at("iPad",Request.UserAgent) <> 0
response.redirect("http://www.yourdomain.com/mobilepage.a5w")
end if

'close the tag server will continue to interpret html / js (if tagged) from here on
%>

This is just a sample for 1 useragent, you should use a select case xbasic structure to check for the platforms/useragents you want to support.

The applauncher takes care of this for you but at is was first designed it always expected a condition to be true, as of a few prereleases ago that is no longer needed. In fact it never really needed a condition to be true but it did generate an errormessage when you browsed to index.a5w when none of the conditions that were in the applauncher were satisfied. With the "suppres errormessage" this is no longer the case.

What will happen though is that your tabbed ui continues to load while the applauncher is looking what to do. In case you're browsing with an ipad for example you therefor see a "flash" of your desktop version of index.a5w while it is loading but it disappears real quick. I am discussing this Alpha.

The only issue currently with this is the login feature of the tabbed ui; that causes an issue in this setup. I am working on a bug report for that so it will probably get fixed.

The nice thing about that though is that if none of the conditons are met (for example if your only condition is client.ismobile & you browse with a desktop browser on a pc) that your page just loads & is ready for use. Get the picture ?

The nice thing about the Alpha IDE that comes into play here is the projects concept: you can now have a mobile index.a5w page & a desktop index.a5w page because in 1 workspace you can simply create a web project (for use with desktop browsers) & a mobile project (for use with mobile browsers) and your customer/user will have the same url to remember: www.yourdomain.com/index.a5w for example (or any other pagename in your project)

36452

Last: make sure that your appserver is on the same release as your developer copy (best) or (not recommended) on a higher build then your developer. In fact the appserver & the developer are in a sense the same program with different interfaces if you like. So if you use a feature in developer & then publish it to a server that is on a lower build how could the server then know about it ? Conclusion:if you put the prerelease on your developer, then also put the relevant appserver patch on your server.

Hope this helps you get going; continue to dive in the code, test play & spend every minute you have with this wonderful product. There is a learning path of course because it is not just alpha, it's also javascript, html, sql, xbasic but the concept of Alpha is so powerful that soon you won't believe you were able to accomplish the things you'll have created! Keep going!