Unable to deploy FROG application

I have been trying to build and deploy the FROG application following the instructions on Github. Unfortunately, I get the following error message "You do not have permission to view this directory or page."  I was able to build the project with zero errors. The only instructions that I did not follow is  to "Open gruntfile.js in the Blackbaud.AppFx.MajorGiving.Mobile.Sky directory and modify the vroot variable to your local installation's virtual directory root.". If I set the vroot variable with my application root the project does not compile. If I do not make any changes at all to the grunt.js file the project does not compile. I was able to compile after removing the vroot variable and a reference of vroot variable in the result variable One thing to be noted is we have the CRM instance running on our server. I have followed the instructions on https://github.com/blackbaud/Blackbaud-CRM-SKY to the letter. Any help regarding this would be much appreciated. 


Thanks, 


Kayes

Comments

  • Darryl Eychner
    Darryl Eychner Blackbaud Employee
    Seventh Anniversary Participant Facilitator 1 Blackbaud Staff
    Kayes,

    Thanks for posting this on the Community. We're very excited to see that clients are picking up FROG and looking to customize it! Let's see if we can help you get underway. There are a couple things that could be happening here. I can give a few tips that could help!


    The vroot variable in the grunt file is very important. It tells the build where to put the compiled results of your source code. Aside from directory access permission issues, it's possible the directory path string was being built incorrectly. Line 48 of gruntfile.js attempts to build the directory path for CRM instances made using the Blackbaud CRM Installer. Note there is no "/" in the hard-coded string that follows the vroot variable. As such, please add a slash to your string. For example, if your CRM vroot is located at: "C:/Program Files/Blackbaud/MyInstallation/bbappfx/vroot/" the value of vroot should be "MyInstallation/" to build the right path. You can also modify line 48 to use an alternate path if you're not using C:\\Program Files as your location. Also, please make sure isCrmInstallation on line 15 is set to true. The best way to check that everything happened correctly is if the "browser/htmlforms/custom/frogger" folder exists in your vroot.


    If this does not resolve the issue, it's possible there is a directory access permission issue standing in the way, which may be a little tougher to diagnose. Hopefully you can find the right vroot setting and be on your way soon!


    - Darryl Eychner

     
  • Hi Darryl,


    Thank you for your response. I currently do not have a CRM instance running on my local machine. According to what you said in my case vroot variable should be an empty string as bbappfx directory is in C:\\Program Files\\Blackbaud on the dev server. I also made sure isCrmInstallation is true. After running the grunt buildcustom command the frogger directory was created in (C:\\Program Files\\Blackbaud\\bbappfx\\vroot\\browser\\htmlforms\\custom) on my local machine and Done, without errors was printed in command prompt administrator mode. Then I copied the frogger directory on my local machine and pasted it to  (C:\\Program Files\\Blackbaud\\bbappfx\\vroot\\browser\\htmlforms\\custom) directory on dev server. Then I ran IISReset in command prompt admin mode on the dev server. Now I'm getting the error below:

     

    An error occurred loading this page. If you accessed this page from a bookmark, the bookmarked URL may no longer be valid.

    and there is a broken.svg image below the error message. 


    Please let me know if you have any suggestions on how to resolve this.


    Thanks,


    Kayes

     
  • Darryl Eychner
    Darryl Eychner Blackbaud Employee
    Seventh Anniversary Participant Facilitator 1 Blackbaud Staff
    Kayes,

    I've played around with this on my machine today, trying to duplicate what you are seeing. Unfortunately, I was not able to. The error you are seeing is a very generic error message. There could be many reasons why it is being thrown, and thus it is hard to troubleshoot. Here are a couple things to try:


    1. I looked at your set up steps. Based on what you've described, it seems like you've done everything correctly. Sometimes, moving FROG code from one installation to another could cause problems because some files rely on a specific directory structure. Since the vroot directory path is identical in both installations, that shouldn't be an issue. However, since you've had to modify the vroot, you might have to regenerate the FROG code from scratch. This would eliminate the possibility of a directory issue. To do that, simply delete the build and tmp folders on your local machine and run grunt buildcustom again. It will generate a fresh copy of FROG that should have all the correct paths.

    2. Also, please double check that the web config changes and the Blackbaud.CustomFx.SkyUI.dll are present on the dev server.

    3. Please double check you made the changes in Step 6 before building the code. These flags are important and may be causing the error you're seeing.

    4. Append "&scriptdebug=true" to your FROG URL to debug through the javascript code in Chrome. If an error is being thrown, that might point you to it.

    5. Check the directory access permissions on the dev server. It's possible the server is denying access to one or more files, thus causing the error.


    I'm sorry I can't give you anything more specific! There are too many factors at play for me to nail down a specific problem. Hopefully one of those tips puts you on the right track!


    - Darryl Eychner
  • Darryl,

    1. You are right, the directory structure on my local machine and Dev server is identical. As the directory structure is there, grunt buildcustom command generated the frogger directory there.

    2. Web.config changes were done long ago and I'm certain it was done properly otherwise I could not have deployed and worked on customizations especially the ones with uimodel. I have double-checked Blackbaud.CustomFx.SkyUI.dll file is in the bin/custom directory of dev server.

    3. I followed everything in step 6 as far as I understood. I changed function (customizableRoot) to function () as the instructions say to remove injection of customizableRoot.


    angular.module("frog.api")

            .factory('customizable', ['customizableRoot', function () {

                return {

                    /**

                     * Gets the name of the application's root folder. Corresponds to customizableRoot.getRootFolder.

                     * 

                     * Do not remove this function.

                     */

                    // getRootFolder: function () {

                    //     return customizableRoot.getRootFolder();

                    // },

                    // Added code

                    getRootFolder: function () {

                        return 'frogger';


                    }, 
    isCustomApp: function () {

                        return true;

                    }



    In the above code I made changes only to the part that is in bold font. Everything else in cr.custom.js remains the same.

    4. I tried by appending "&scriptdebug=true" to the end of the url and tried to inspect the page in chrome. There are some errors messages in the console window. The error messages is given below:

    ?databaseName=BBInfinity&scriptdebug=true:1 GET https://marqitdev.mu.edu/android-chrome-192x192.png 404 (Not Found)

    ?databaseName=BBInfinity&scriptdebug=true:1 Error while trying to use the following icon from the Manifest: https://marqitdev.mu.edu/android-chrome-192x192.png (Download error or resource isn't a valid image)

    [Violation] Forced reflow while executing JavaScript took 34ms





    5. I gave "everyone" access to the vroot folder in windows on dev server yet I keep on getting the same error message.


    The last thing I can think of is to try to set up dev environment and then compile and build on dev server and see what happens (to avoid moving the files). Please let me know if you know anybody else who might be able to help me run this. I appreciate you taking the time to recreate this error I'm getting. Let me know if you later think of anything else that can be done to figure out why this is happening or a way to fix it.


    Thanks,


    Kayes
  • Darryl Eychner
    Darryl Eychner Blackbaud Employee
    Seventh Anniversary Participant Facilitator 1 Blackbaud Staff
    Kayes,

    Everything looks correct on that list except for item 4. This may be the real cause of the generic error you're seeing in the browser. That image is supposed to be located in the browser/htmlforms/custom/frogger/images folder under your vroot. The URL suggests it is not looking in that location. I looked at my installation and was seeing the correct URL in all image HTTP GET requests.


    At this point, it seems like your best bet is to compile and deploy directly on the development server to avoid moving the files, like you suggested.


    - Darryl Eychner
  • Darryl,

    I found out that the deployed FROG application does not work at all if I copy the content in Build directory but it works if I copy the frogger directory that is generated after running the
    grunt buildcustom command (This is happening probably because the index.html file and web.config file is different from the files created in the frogger directory). I've also found out that the reason my application is not working is probably because authenticateFailure(error) method is being invoked in index.angular.js. The error object contains this - "You must either provide a baseUrl and databaseName as parameters or set them globally using bbuiShellServiceConfig". I am not sure how to set baseUrl and databaseName. I also looked for references of bbuiShellServiceConfig but could not find anything. I have done the same in DEV environment but I get the same message as before "

    An error occurred loading this page. If you accessed this page from a bookmark, the bookmarked URL may no longer be valid.

    "Let me know if this is helpful or not.


    Thanks,


    Kayes  
  • Darryl Eychner
    Darryl Eychner Blackbaud Employee
    Seventh Anniversary Participant Facilitator 1 Blackbaud Staff
    Kayes,

    It's no surprise that copying the build folder doesn't work. That folder is a result of the grunt build task. The copy operation is what moves the compiled results to the target directory. Given that your URL seems correct, you're accessing FROG correctly, and you're now building and deploying it on the same machine, I'm not sure what else I can do remotely. We're currently exploring to find the best way in which we can help you get up and running.


    - Darryl Eychner
  • Finally found out that there is nothing wrong with the way I deployed FROG. My browser is probably the culprit. We made many configurational changes and we're not sure what solved this problem. Right now I cannot open FROG in chrome but other browsers work for me. If you have the same issue try to log in from another account and see if it works.
  • Hi Kayes and Darryl,

    I'm running into your previous issue trying to deploy FROG. Hopefully you can help me. Thank YOU in advance.

    for the following link:
    https://crm-importer.foundation.fsu.edu/bbAppfx/vroot/htmlforms/custom/frogger?databaseName=BBInfinity

    I get:

    The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.


    And I get redirect generic Error page

    https://crm-importer.foundation.fsu.edu/bbappfx/GenericErrorPage.htm?aspxerrorpath=/bbAppFx/browser/htmlforms/custom/frogger

    with message:
    when try the links with out /vroot
    https://crm-importer.foundation.fsu.edu/bbAppfx/htmlforms/custom/frogger?databaseName=BBInfinity

    grunt buildcustom finally ran without error from command line.

    CRM is not install locally, BB SDK installed local machine with deploy folder pointed to crm development server \\\\crm-importer.foundation.fsu.edu\\d$\\

    vroot file folder: \\\\crm-importer.foundation.fsu.edu\\d$\\Program Files\\Blackbaud\\CRM\\bbappfx\\vroot

    deployment folder \\\\crm-importer.foundation.fsu.edu\\d$\\Program Files\\Blackbaud\\CRM\\bbappfx\\vroot\\bin\\custom

    landing page: https:\\\\crm-importer.foundation.fsu..edu\\bbAppFx.

    Not sure if I understand correctly, since I don't have CRM installed on local machine so I set Local variable to development (instead of "local").

    I hope to hear back from you guys soon.

    Thank you again,

    Mydieu


Categories