Forum Discussion

GaryBoyd's avatar
GaryBoyd
Qrew Assistant Captain
7 years ago

Best way to Frame App and remove all headers

Hi,
I want to remove all the headers for users of the app, both for viewing benefit and security - I am using roles and permissions, so this is more for viewing and removing dead screen space. 

&ifv=1 works fine and I can add it to most buttons. However, when using native QB functions, like: save from a form, or click a record to view it, you see all the headers again. 

Is there a good way to frame the app and keep the native functionality?
If no option for this, is there a way at least to hit a save button and then add an &ifv1?

Thanks.
  • There are pretty granular settings that can be enforced from the User Interface tab on the role settings form for a particular role.  

    Are these not restrictive enough?



    ~Rob
  • GaryBoyd's avatar
    GaryBoyd
    Qrew Assistant Captain
    Thanks Rob. Hiding all the UI elements is better, but does not remove the row entirely. So at the top, you are left with 3 rows I don't need:
    1. Row with My Apps and New App
    2. Home button row- only home button left 
    3. Row with table name on left, and Edit and More options on right.

    I want to remove the row altogether as it is wasting screen space.
  • GaryBoyd's avatar
    GaryBoyd
    Qrew Assistant Captain
    Any ideas?
    If not, is there a way that save and keep working can at least work in an &ifv=1 view?
  • I don't recommend doing this but it is possible using either a Service Worker or the BOL technique.
    QuickBase was not designed to work like this and I think you would be constantly tweaking the code to get it to operate the way you want.

    This demo knocks out the various "headers" on a successive five second delay for demonstration purposes.

    BOL Example ~ Add New Record
    https://haversineconsulting.quickbase.com/db/bnsqxwfef?a=nwr

    Code Page moduleBOL.js
    https://haversineconsulting.quickbase.com/db/bnsqw7ep7?a=dbpage&pagename=moduleBOL.js
  • GaryBoyd's avatar
    GaryBoyd
    Qrew Assistant Captain
    Thanks - like it. It does what i want to achieve, but obviously don't want to do anything not secure in quick base.
    Would be good if there was a safe way to suppress the headers when required, as they take al lot of screen space.
    • _anomDiebolt_'s avatar
      _anomDiebolt_
      Qrew Elite
      It isn't a security issue . It is perfectly safe and can only be implemented by an administrator.

      But is it fragile in that it could break without warning if QuickBase wittingly or unwittingly makes a change in a new release, Also, you may well have to make your own changes as you discover some other needed functionality is being killed by wholesale removal of the various bars.

      It is good to have a workaround (and there always is a workaround with script) but you have to balance the benefits against the costs of making the change.
    • _anomDiebolt_'s avatar
      _anomDiebolt_
      Qrew Elite
      >But is it fragile in that it could break without warning if QuickBase wittingly or unwittingly makes a change in a new release

      I have to add a comment: While it could break, it probably won't for years. Software tends to accumulate and it is only willfully purged if some new project or initiative is started and there has to be greenfield development. 

      On this point it is interesting to read the most recent engineering blog post:

      Death by 30,000 Files
      Who Cares? Our largest build artifact was 256 MB and 30,000 files.  ... 
      ...  20,000 � 66% � of those files were cruft.
      https://engineering.quickbase.com/
    • GaryBoyd's avatar
      GaryBoyd
      Qrew Assistant Captain
      Thank you. Do you know how to do this directly without delay. I would like to check if the outcome is different to &ifv=1 ?
      The missing functionality for me  if i use &ifv=1 :
      1.  'Save and keep working' does not function.
      2. Will need to disable direct viewing or editing of records from all reports, and restrict everything to buttons, as can't add &ifv=1 to the url otherwise.
  • GaryBoyd's avatar
    GaryBoyd
    Qrew Assistant Captain
    Finally had some courage to try iol - my only regret is not trying earlier. Great advice Dan- many thanks.

    I used your iol setup page ( https://community.quickbase.com/quickbase/topics/how-do-i-setup-the-image-onload-technique-iol ) with your bol instructions above:

    $("#brandBarHeader").hide();
    $("#navTop").hide();
    $("#tablesMenuBarWrapper").hide();
    //$("#pageNavBar").hide();

    I don't have the courage to try bol yet & iol will hopefully meet my needs.
    • _anomDiebolt_'s avatar
      _anomDiebolt_
      Qrew Elite
      >Finally had some courage to try iol - my only regret is not trying earlier.

      IOL is not as complicated as it might appear is it?

      My only regret is not coming up with it earlier.
    • GaryBoyd's avatar
      GaryBoyd
      Qrew Assistant Captain
      iol was definitely easier than expected- although I've only touched the tip of the iceberg.
      Is there a way to remove the toolbar the top of the browser, so the url is not visible?
  • This was very informative.

    I tried the BOL method and it worked for my app. It was a bit scary as it definitely obliterated all of the QB headers even for me as the admin. Took a bit of fiddling to get back to the branding page to turn it off.

    What I would really like to be able to do is to remove the QB headers only for certain user roles - and not globally for the app for all users / roles.

    It seems that the Service Worker (SW) approach might be able to do this as it is dynamic for every page/resource fetched.

    Could anyone point me to an SW method of removing the QB headers that I could make selective based on User Role?

    thanks in advance for any info, Kirsten
  • >It seems that the Service Worker (SW) approach might be able to do this as it is dynamic for every page/resource fetched.

    Service Workers is so powerful it is essentially god mode for QuickBase as it can do just about anything you can dream up. The only real drawback is that when you register a Service Worker you have to specify its scope which is either (1)  every URL in the entire account or (2) every URL in an individual table dbid. This is behavior is due to the URL structure QuickBase uses and cannot be changed.

    The only reason I have not provided more working demos of Service Workers is because I have created a lot of earlier demos that need to be individually checked that they still work if I turn Service Workers on for my entire account. Also, enabling Service Workers for individual tables becomes rather work intensive if the goal it to apply it to all tables in an application.

    Eventually I will get around to converting my entire account to work seamlessly with Service Workers. For the time being if you want to pursue using Service Workers feel free to contact me off-world using the information in my profile:

    https://getsatisfaction.com/people/dandiebolt
  • I want to keep my brand bar, but get rid of that pesky spacer beneath it and these do nothing!

    $("#backToTop").hide();
    $("#brandBarSpacer").hide();

    so frustrating. Any suggestions?
    • RichardCapone's avatar
      RichardCapone
      Qrew Trainee
      I know this is an old post.  Any way to make ifv=1 work on mobile?
      I just need to show records in a knowledge base so I'm not worried about buttons or anything.  ifv=1 doesn't work on mobile, still shows the QB header.

      ------------------------------
      Richard Richard
      ------------------------------
      • DavidRascon's avatar
        DavidRascon
        Qrew Trainee

        Hi Richard...

        I know this is old post but I have the same question than you.

        Did you solve hiding Save&Close, Save&New and Cancel Buttons on Mobile App?

        If you did, I will appreciate if you post how you did it. 

        I am very frustrated trying to do it.

        Thank you!



        ------------------------------
        David Rascon
        ------------------------------