Alpha Video Training
Page 2 of 2 FirstFirst 12
Results 31 to 58 of 58

Thread: Using AppLauncher

  1. #31
    "Certified" Alphaholic Clipper87's Avatar
    Real Name
    Frank
    Join Date
    Dec 2008
    Location
    Antwerp, Belgium
    Posts
    1,891

    Default Re: Using AppLauncher

    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.
    Frank

    Tell me and I'll forget; show me and I may remember; involve me and I'll understand

  2. #32
    Member
    Real Name
    Jim Coltz
    Join Date
    Oct 2005
    Location
    Western Pennsylvania
    Posts
    600

    Default Re: Using AppLauncher

    There is some documentation located in the pre-release version notes located here. Scroll down the page a bit or search for "AppLauncher Component" in the page. It is a fairly detailed description.
    Jim Coltz
    Alpha Custom Database Solutions, LLC
    A5CustomSolutions.com
    jimcoltz@a5customsolutions.com

  3. #33
    Banned
    Join Date
    Feb 2010
    Posts
    37

    Default Re: Using AppLauncher

    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....

  4. #34
    "Certified" Alphaholic Clipper87's Avatar
    Real Name
    Frank
    Join Date
    Dec 2008
    Location
    Antwerp, Belgium
    Posts
    1,891

    Default Re: Using AppLauncher

    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.
    Frank

    Tell me and I'll forget; show me and I may remember; involve me and I'll understand

  5. #35
    Alpha Software Employee Selwyn Rabins's Avatar
    Real Name
    Selwyn Rabins
    Join Date
    Mar 2000
    Location
    Boston, MA
    Posts
    5,297

    Default Re: Using AppLauncher

    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.

  6. #36
    Member
    Real Name
    Doron
    Join Date
    Dec 2011
    Location
    NJ, USA
    Posts
    174

    Post Re: Using AppLauncher

    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
    Convert MS Access to Web
    Remote DBA Services

  7. #37
    Member
    Real Name
    Greg Taylor
    Join Date
    Feb 2009
    Location
    Columbus, Ohio
    Posts
    435

    Default Re: Using AppLauncher

    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?

  8. #38
    "Certified" Alphaholic Clipper87's Avatar
    Real Name
    Frank
    Join Date
    Dec 2008
    Location
    Antwerp, Belgium
    Posts
    1,891

    Default Re: Using AppLauncher

    I take it that you are using the login feature of the applauncher ?
    Frank

    Tell me and I'll forget; show me and I may remember; involve me and I'll understand

  9. #39
    "Certified" Alphaholic Clipper87's Avatar
    Real Name
    Frank
    Join Date
    Dec 2008
    Location
    Antwerp, Belgium
    Posts
    1,891

    Default Re: Using AppLauncher

    This site contains a list of all useragent strings http://www.useragentstring.com/pages...gentstring.php

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

    Tell me and I'll forget; show me and I may remember; involve me and I'll understand

  10. #40
    Member
    Real Name
    Greg Taylor
    Join Date
    Feb 2009
    Location
    Columbus, Ohio
    Posts
    435

    Default Re: Using AppLauncher

    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.

  11. #41
    Member
    Real Name
    Greg Taylor
    Join Date
    Feb 2009
    Location
    Columbus, Ohio
    Posts
    435

    Default Re: Using AppLauncher

    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.

  12. #42
    Former Alpha Employee JerryBrightbill's Avatar
    Real Name
    Jerry Brightbill
    Join Date
    Apr 2000
    Posts
    5,172

    Default Re: Using AppLauncher

    Quote Originally Posted by gregincolumbus View Post
    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
    Code:
    if e.loginSucceeded = .T. 
    	'set session vars 
    end if

  13. #43
    Member
    Real Name
    Greg Taylor
    Join Date
    Feb 2009
    Location
    Columbus, Ohio
    Posts
    435

    Default Re: Using AppLauncher

    Thanks Jerry....very helpful

  14. #44
    Member
    Real Name
    Jmo
    Join Date
    May 2013
    Posts
    367

    Default Re: Using AppLauncher

    Quote Originally Posted by Clipper87 View Post
    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

  15. #45
    Member
    Real Name
    Greg Taylor
    Join Date
    Feb 2009
    Location
    Columbus, Ohio
    Posts
    435

    Default Re: Using AppLauncher

    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

  16. #46
    "Certified" Alphaholic Clipper87's Avatar
    Real Name
    Frank
    Join Date
    Dec 2008
    Location
    Antwerp, Belgium
    Posts
    1,891

    Default Re: Using AppLauncher

    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.
    s1.pngs2.pngs3.png
    Frank

    Tell me and I'll forget; show me and I may remember; involve me and I'll understand

  17. #47
    Member
    Real Name
    Jmo
    Join Date
    May 2013
    Posts
    367

    Default Re: Using AppLauncher

    Quote Originally Posted by gregincolumbus View Post
    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.

  18. #48
    Member
    Real Name
    Jmo
    Join Date
    May 2013
    Posts
    367

    Default Re: Using AppLauncher

    Quote Originally Posted by Clipper87 View Post
    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.
    s1.pngs2.pngs3.png
    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.

  19. #49
    Member
    Real Name
    Greg Taylor
    Join Date
    Feb 2009
    Location
    Columbus, Ohio
    Posts
    435

    Default Re: Using AppLauncher

    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?

  20. #50
    Member
    Real Name
    Jmo
    Join Date
    May 2013
    Posts
    367

    Default Re: Using AppLauncher

    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?

  21. #51
    Member
    Real Name
    Greg Taylor
    Join Date
    Feb 2009
    Location
    Columbus, Ohio
    Posts
    435

    Default Re: Using AppLauncher

    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.

  22. #52
    Member
    Real Name
    Jmo
    Join Date
    May 2013
    Posts
    367

    Default Re: Using AppLauncher

    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!

  23. #53
    "Certified" Alphaholic Clipper87's Avatar
    Real Name
    Frank
    Join Date
    Dec 2008
    Location
    Antwerp, Belgium
    Posts
    1,891

    Default Re: Using AppLauncher

    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)
    Frank

    Tell me and I'll forget; show me and I may remember; involve me and I'll understand

  24. #54
    Member
    Real Name
    Jmo
    Join Date
    May 2013
    Posts
    367

    Default Re: Using AppLauncher

    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

  25. #55
    Member
    Real Name
    Jmo
    Join Date
    May 2013
    Posts
    367

    Default Re: Using AppLauncher

    Quote Originally Posted by Clipper87 View Post
    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

  26. #56
    Former Alpha Employee JerryBrightbill's Avatar
    Real Name
    Jerry Brightbill
    Join Date
    Apr 2000
    Posts
    5,172

    Default Re: Using AppLauncher

    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

  27. #57
    Member
    Real Name
    Jmo
    Join Date
    May 2013
    Posts
    367

    Default Re: Using AppLauncher

    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

  28. #58
    "Certified" Alphaholic Clipper87's Avatar
    Real Name
    Frank
    Join Date
    Dec 2008
    Location
    Antwerp, Belgium
    Posts
    1,891

    Default Re: Using AppLauncher

    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:

    t1.png

    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:

    t2.png

    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)

    t3.png

    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!
    Frank

    Tell me and I'll forget; show me and I may remember; involve me and I'll understand

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •