Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Something needs to be done about the help system...

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    Re: Something needs to be done about the help system...

    v4 for dos was not the fist - seems there was a version 3? I just got on the tail end of it and there was a bit before that I never had.
    Ever heard electric desk? or Alphaworks?
    before my time.

    I do remember somethink like 7 or 8 3.5 floppies to install. I remember more with some apps though.

    I don't know about the desktop being less powerful or even less rich, but it is true that desktop anything is slowly going away just like dos fell to the wayside in the 90's.

    The trick right now is to build a web app that can sit on a cloud, website(several types here), all the different desktops depending on deployment.
    What do we do for the few million with a Mac that wants to run the software? we either build it on the web or build it so it can run on a mac if he has enough money.
    Last edited by DaveM; 10-21-2015, 07:28 PM.
    Dave Mason
    [email protected]
    Skype is dave.mason46

    Comment


      #17
      Re: Something needs to be done about the help system...

      Originally posted by mbunds View Post
      In fact, a few minutes ago I started working through some help documents describing the use of UX list controls. Too bad one of these same documents describes great benefits using dialog controls, which don't appear to be present in the build I am working from.
      Just to be clear, there are 3 development areas in Alpha:
      1. Traditional Desktop (non-web) - typically dbf environment, but not exclusively
      2. Web (called "desktop" by the mobile guys)
      3. Mobile

      In ver 11 and previous, there were no UX controls in the web environment, but there were "dialogs". Those still exist in v12. They may be hidden under legacy controls.

      In the Traditional Desktop there are also dialogs, but those dialogs are a completely different animal from web dialogs. Never the twain shall meet.
      Peter
      AlphaBase Solutions, LLC

      [email protected]
      https://www.alphabasesolutions.com


      Comment


        #18
        Re: Something needs to be done about the help system...

        Originally posted by mbunds View Post
        I only recently began to suspect that the "Windows desktop" environment and its controls were being phased...
        Possibly not suitable for your project, but the Alpha Desktop environment and its controls are not being phased out. Enhancements continue in this area.

        Comment


          #19
          Re: Something needs to be done about the help system...

          I have a friend that runs a very large software company that I worked for some time back. Friendship is now 40+- years.
          He is running vb6 almost entirely for his software and is just now looking for his web platform to build the next one.
          he started with basic and a database system, graduated to vb6 and access db in 97-98 after about 15 years with basic.
          We talked at length yesterday about what he would use for his next. Pretty sure he is going to vs and mssql, but he is still partially undecided. He is not a single developer. He has 4 programmers working for him now. He also does websites for the sector he is in and does the hosting himself. His customer base extends all of North America, Canada and parts of central/south America.
          Deployments number in the thousands for desktop. We were discussing SaaS as an option since that segment he is in is mostly rental now and not outright purchases.

          He told me that for him to stay profitable like he is now, he will have to go web. The other is just getting worn out. He wants to be useable on tablets(does not care about phones) and, desktops, laptops.

          He does know his market for sure.

          He seems to think that each working day for 6 days a week(half on Sunday), he will have several thousands of people on his sites/apps working at the same time. He also wishes to expand to crm wich will quadruple the online presence. I know he normally has 3 - 4 in a business in the segment on his system. Multiply that by at least 6500 businesses? Plus Quadruple+ the numbers it with crm?

          Scary numbers to me.
          Dave Mason
          [email protected]
          Skype is dave.mason46

          Comment


            #20
            Re: Something needs to be done about the help system...

            Originally posted by GGandhi View Post
            regarding post # 12
            disclaimer: i am a hobbyist not anywhere near your standard , just by looking at way you write the code. but i do have a question.

            since the post is rather long and the code is rather long i am unable to grip the question you have about cascading dropdown when multiple tables are involved.
            since you say alpha does well with flat table and the problem comes when multiple tables are involved and the code you have generously provided seems that it shows that when you select a record from one table then it uses the primary key to search the second table to construct the dropdown, and so on so on. is this correct?
            or i am proving what i said that i am nowhere near your standard.
            You are almost right (actually you are totally right, but are probably wondering why I did what I did); and please don't take my word as gospel because I am very new at working with Alpha and have already done many things the hard way that an experienced Alpha developer would accomplish with a few clicks, but in my case, I believe the complications arise because of our use of linking tables.

            Using Alpha's automatic cascading works exceptionally well when they are being used with typical database schemas, and you are exactly right, that typically one control (it doesn't necessarily have to be a drop-down control, but Alpha has provided some special functions for working with these) gets populated with data from a table, and then can trigger a query that automatically populates the second control with data filtered by the search term, which is data passed to the query function by the user's act of making a selection.

            But the data passed to query for the population of the second control does not have to be a primary key; it can be sent as the actual text that appeared in the drop-down choice list. Alpha gives you the ability to populate your drop-down with single or dual values, so you can choose the best way to index your child query. A single value works very well for most applications, but value pairs provide you the option of displaying a different value than the one produced when a selection is made. And, of course, you may choose to display both values (but I believe you can only index by the second value when using automatic cascading). Alpha has some great videos illustrating this feature, and doing this the "conventional" way takes only a few minutes to produce really useful screens!

            Also keep in mind that the code I shared truly represents doing things the hard way inside of Alpha, which was designed primarily to allow developers to avoid writing low-level code. I have worked through many of the tutorials, and Alpha's automatic cascading works perfectly, is easy to understand and set up, but is unbelievably powerful and flexible in the options provided to facilitate cascading among various controls.

            The code examples are also lifted directly from the tutorials, existing only as placeholders representing my triumph over the Alpha help system; this code may not be totally complaint with their recommendations for best practices.

            So, on topic, you are absolutely correct about the typical way these controls are used. The confusion arises because, at the moment, I couldn't find a way to make automatic cascading work with our linking tables.

            I may be wrong, which would be a shame after all the time I've spent trying to get this to work, but it looks to me like Alpha wants these controls to operate on only one list, and pull data exclusively from only one table, at least that's what the examples appear to demonstrate. The demonstration for automatic cascading pulls customer names into the first drop-down, and then queries the very same table that the first data came from.

            This won't work for me because the MySQL project database has 67 tables in it already, and the Pervasive database has 1390 tables. I need to link tables, and I need to have extensive control over many-to-many relationships, which is something that Alpha does not provide unless you can create the custom code to manage it.

            And that is why my code examples are somewhat confusing when most Alpha users know there are usually easier ways, and is the same reason the code had to be created in the first place.

            You probably already know that linking tables are necessary to create many-to-many relationships, but these kinds of relationships are, well, let's say "unusual but not uncommon". One-to-one and one-to-many are far more common.

            So my table of categories (containing entries for sub-categories as well) might look like this:

            ID CATEGORY

            1 DRAWWORKS
            2 MUD PUMPS
            3 ROTARY TABLES
            4 FRAME
            5 FASTENERS
            6 PAINT AND FINISH
            7 SHAFTS
            8 GEARBOXES
            9 SPROCKETS

            If "MUD PUMPS" is a major category, it might have some sub-categories organized beneath it, because a mud pump has a frame, shafts, fasteners, and paint and finish. But a mud pump will never have a rotary table, and a fastener will never have a frame.

            It might be more intuitive to have made two tables, one for "categories," and one for "sub-categories," but since this data is non-repeating and self-related, it only needs one table.

            It might also seem easy to extend the columns to include a field which could reference which record in the table is a sub-category of the record in that row, but then if a category has more than one sub-category, the data in the major category row would have to be repeated. So you might add several columns that could contain entries for more than one sub-category, but now you've just limited yourself to allowing only that count of sub-categories, and I hate limits almost as much as I hate self-joins

            Normally, a linking table is used to join two tables, but it works exactly the same way in this instance. So if I want to produce a result set that populates the first drop-down with major categories only, ignoring the sub categories, I must run a DISTINCT query against the category table, but limited to only those records that appear in the linking tables "category_id" fields by an inner join.

            The linking table structure might look like this:

            ID CATEGORY_ID SUB_CATEGORY_ID
            01 1 6
            02 1 4
            03 1 5
            04 1 7
            05 2 4
            06 2 7
            07 2 5
            08 3 4
            09 3 8
            10 7 5
            11 7 9


            The DISTINCT query returns the first instance of EACH record that is joined to the link table by the (in this instance) category_id field. With the above configuration, the first drop-down would contain:

            DRAWWORKS
            MUD PUMPS
            ROTARY TABLES
            SHAFTS

            I had to store dual values, because the next query had to be performed against the link table alone, and obviously you can't query the CATEGORY_ID index value using the string "MUD PUMPS", so the data is stored in the drop-down choice list as the category string, and its numeric category_id index:

            DRAWWORKS 1
            MUD PUMPS 2
            ROTARY TABLES 3
            SHAFTS 7

            Also, I instructed the drop down to display only the text, but produce the index value when a selection is made.

            So if the user selects "MUD PUMPS", the DD produces "2" which is passed to the function that populates the sub-categories. It queries the link table for all records with a category id of "2", and the a loop is used to iterate through the result set, one record at a time, and issue a query against the category table for records where the ID of each category record matches one sub-category ID index value.

            Since the sub-category indices for the MUD PUMP are 4, 7, and 5, the second DD is populated with:

            FRAMES
            SHAFTS
            FASTENERS

            If the user selects "DRAWWORKS", the 2nd DD is cleared, and then populated with:

            PAINT AND FINISH
            FRAME
            FASTENERS
            SHAFTS

            This was the only way I could find to make this work, but I guarantee people working within Alpha's intended paradigm won't have these issues.

            Comment


              #21
              Re: Something needs to be done about the help system...

              I had to store dual values, because the next query had to be performed against the link table alone, and obviously you can't query the CATEGORY_ID index value using the string "MUD PUMPS", so the data is stored in the drop-down choice list as the category string, and its numeric category_id index:
              really?

              I have tables that have2 and 3 lookups built in with an index for each lookup.

              Just use different fields

              There are people on here with hundreds of dbf files - just for your info going forward
              Dave Mason
              [email protected]
              Skype is dave.mason46

              Comment


                #22
                Re: Something needs to be done about the help system...

                http://screencast.com/t/tPJ2bHx1bDI

                http://screencast.com/t/GNCOlxBKG

                I have made these screencasts to show what can be done with alpha, of course my example table are simple. the example is only to show you that you can make alpha do the heavy lifting and you can concentrate on other things that are vital to you.
                I will make one more video adjusting to show the name of the country, region, and subregion and storing the id which are primary keys but referenced to the cascading dropdown.
                if this example is not what you have in your mind please let me know.
                thanks for reading

                gandhi

                version 11 3381 - 4096
                mysql backend
                http://www.alphawebprogramming.blogspot.com
                [email protected]
                Skype:[email protected]
                1 914 924 5171

                Comment


                  #23
                  Re: Something needs to be done about the help system...

                  last one showing name as a dropdown instead of the numbers so people can relate to it.
                  http://screencast.com/t/qQCwzMqg
                  thanks for reading

                  gandhi

                  version 11 3381 - 4096
                  mysql backend
                  http://www.alphawebprogramming.blogspot.com
                  [email protected]
                  Skype:[email protected]
                  1 914 924 5171

                  Comment


                    #24
                    Re: Something needs to be done about the help system...

                    Originally posted by Peter.Greulich View Post
                    Just to be clear, there are 3 development areas in Alpha:
                    1. Traditional Desktop (non-web) - typically dbf environment, but not exclusively
                    2. Web (called "desktop" by the mobile guys)
                    3. Mobile
                    Node has changed the game in Alpha. It ties all parts together.
                    Today we are just using Alpha Anywere and its features.

                    In my opinion in Alpha Anywhere version 12 it is all about data and how to handle it.

                    If our application needs desktop part you add it. If you need to add a tablet/phone part you add this feature. If you need desktop browser support you add it. You can do this with Alpha Anywhere . And all these parts can be integrated using Node.

                    Alpha Anywhere "destop application" can run any node module and for example start its own Node server and communicte directly with Alpha Anywhere browser/tablet/phone application and use browser/tablet/phone for reporting or input.

                    Today I fully understand what Selwyn did mean a year ago in the Road Map telling that Alpha Anywhere is a full stack. Selwyn really knows what he is doing and all respect to him and his team. Today we are using amazing software: a full stack Alpha Anywhere.

                    Comment


                      #25
                      Re: Something needs to be done about the help system...

                      Originally posted by DaveM View Post
                      really?

                      I have tables that have2 and 3 lookups built in with an index for each lookup.

                      Just use different fields
                      Thanks for taking a look at this.

                      I meant that I had to store dual values in the drop-down, and configure it to display the text in its choice list, but supply the index value when a selection is made. The link table contains no text, just the foreign key values that map categories with sub-categories.

                      Each key value in the link table corresponds to one record in the table supplying the category text, so the first query includes the joining syntax that filters the result set to only distinct, top-level categories. The first query populates the first drop-down with major categories immediately after the form is rendered.

                      The second query is triggered by the action of the user making a selection from the first drop-down by the DD control's "onChange" event. The Xbasic function receives both the control text, and the index value as arguments passed to the function.
                      Since the first DD choice list is populated only with records filtered by their major categories, and since I want to populate the second drop-down choice list with only entries filtered as "sub-categories," the query must be made against the linking table, and can only be done using index (key) values, which is why I stored the index value in the first drop-down.

                      I considered using look-up fields within the same table, but they did not seem to be useful in this instance because of their intrinsic limitations. Look-up fields could work in a couple of different ways:
                      • A single additional field could contain a pointer to a sub-category for another entry elsewhere in the table, but this would duplicate data if a major category had more than one sub-category...
                      • Multiple additional fields could contain key values for sub-category entries elsewhere in the table, but this will limit the number of possible sub-categories to only the number of additional look-up fields, and could potentially set the stage for circular references...


                      When you created your tables with multiple look-ups; did you use self-joins to produce record sets using recursive queries? These can be very useful, but can become very complex.

                      Comment


                        #26
                        Re: Something needs to be done about the help system...

                        @Ken
                        Ken, I have read a lot of your posts and I'm really curious why you use Alpha? Which parts of Alpha do you use?

                        Comment


                          #27
                          Re: Something needs to be done about the help system...

                          Originally posted by Peter.Greulich View Post
                          Just to be clear, there are 3 development areas in Alpha:
                          1. Traditional Desktop (non-web) - typically dbf environment, but not exclusively
                          2. Web (called "desktop" by the mobile guys)
                          3. Mobile

                          In ver 11 and previous, there were no UX controls in the web environment, but there were "dialogs". Those still exist in v12. They may be hidden under legacy controls.

                          In the Traditional Desktop there are also dialogs, but those dialogs are a completely different animal from web dialogs. Never the twain shall meet.
                          Thanks for clearing this up!

                          So, just to be sure I'm finally getting it:
                          • "Traditional" desktop applications were usually created to run applications on a local machine, usually set up for data access from local data sources, usually using .dbf databases. These applications require the Alpha runtime environment, for which a license must be purchased for each seat. The runtime is required to create a local instance of an application server, and interprets the Alpha desktop project for the workstation OS API?

                          • "Web applications" (A5W pages?) are nearly synonymous with "mobile applications," except for the fact that a "desktop" workstation usually won't employ a touch screen, so a "desktop web application" would not normally be expected to respond to "touch events," more often being created to respond to "mouse events"?

                          • "Mobile applications" are created mainly to run on phones, tablets, and other compatible mobile devices, and differ from the "desktop web applications" only in the way their interface is designed for touch-response rather than mouse events, although mouse events will function if the mobile device has an HID connected. These applications may also employ special add-ons or UX components for the development environment that assist the developer in the creation of mobile device/tablet controls, like the "Tablet Optimized Forms" being developed by the Alpha team. These add-ons would not normally make sense for use in a "desktop web application" since desktop PC's don't traditionally use a touch-screen or stylus?


                          This information is mainly academic now, since the good people on these forums have recommended working within the web applications environment, using UX components for desktop and mobile applications.

                          Comment


                            #28
                            Re: Something needs to be done about the help system...

                            "Traditional" desktop applications were usually created to run applications on a local machine, usually set up for data access from local data sources, usually using .dbf databases. These applications require the Alpha runtime environment, for which a license must be purchased for each seat. The runtime is required to create a local instance of an application server, and interprets the Alpha desktop project for the workstation OS API?
                            NO
                            >desktop applications may be built with dbf, the usual case or sql backend employing xdialogs to communicate to the db.
                            > desktop application can run in single machine, aka single user, or in a local area network, aka multiuser. single user does not require runtime, multiuser requires runtime.
                            > the runtime creates non dynamic skeletons to which dynamic data can be fetched and the look and feel can be recreated in each terminal.
                            > application server is not needed for desktop applications even when grids are involved, as far a i know.

                            web applications are just that, they need regular browser to run the applications, it can run in touch enabled screens too , i am sure. just run your browser application in an iPhone. it will work.

                            mobile applications are built with chromeless or headless browser interface using most commonly employed phonegap which will convert regular html5 files to native phone codes without involvement of another language like obj-c.

                            of course this is my impression, i could be wrong somewhere or totally.
                            Last edited by GGandhi; 10-22-2015, 06:32 PM.
                            thanks for reading

                            gandhi

                            version 11 3381 - 4096
                            mysql backend
                            http://www.alphawebprogramming.blogspot.com
                            [email protected]
                            Skype:[email protected]
                            1 914 924 5171

                            Comment


                              #29
                              Re: Something needs to be done about the help system...

                              Also, please master the panels. This is what makes it all work: UX, List Control, Panels.

                              Comment


                                #30
                                Re: Something needs to be done about the help system...

                                Multi user requires multiple seat runtime engine license or multiple developer licenses.
                                There can be only one.

                                Comment

                                Working...
                                X