Base solution for your next web application
Starts in:
01 DAYS
01 HRS
01 MIN
01 SEC

Activities of "mdframe"

I know this is me... so I apologize for the dumb questions. My Windows 10 machine was sent back for repair so I am trying to understand development on my Mac. When I run the command I get the following error while executing from the angular directory:

$ "..\node_modules\.bin\nswag" run -bash ..\node_modules\.bin\nswag: command not found

When I look through the directory I see that nswag is nswag.js.

Thanks.

Hi @slamj1, this sounds like a solution and I have heard of NServiceBus before. Would you care to share any additional details how you implemented within ANZ?

Answer

I was looking for more on how the backend API and business rules are used and less of what Angular and the GUI would look like.

Thanks,

Matt

Hi ismcagdas,

Thank you for the quick response. We were just a few screens into development of our new product and decided it would be very worthwhile to upgrade at this time.

We never touch the master branch of the framework so the issues are very limited with our merge. Here are the steps we took and the methods utilized to correct the issues.

  1. Re-generated our project on the ASPNetZero site with the current version.
  2. Updated our master repository then merged with our branch to pull in the latest updates to both the client and server solutions. (We have separate solutions for angular and aspnet-core)
  3. Removed the nodes_module directory from our angular folder and ran yarn to update to the latest updates.
  4. Recompiled the API side and found that -ExcelExporter had updates to include ITempFileCacheManager so updated our modules with the new interface as below: Before
      public ProductsExcelExporter(
            ITimeZoneConverter timeZoneConverter,
            IAbpSession abpSession)
        {
            _timeZoneConverter = timeZoneConverter;
            _abpSession = abpSession;
        }
        
**After** 
        using _CompanyName.Product_.Storage;
        
        public ProductsExcelExporter(
            ITimeZoneConverter timeZoneConverter,
            IAbpSession abpSession,
            ITempFileCacheManager tempFileCacheManager)
            : base(tempFileCacheManager)
        {
            _timeZoneConverter = timeZoneConverter;
            _abpSession = abpSession;
        }
  1. Executed the API (Web Server) and performed a ./refresh.bat from angular/nswag to update all proxies
  2. Performed npm start in angular and tested functionality
  3. Found in the screens we had added that the Action button no longer functioned so went into admin Users to look at function and worked as expected. Went into source module users.component.html and compared the differences with our warehouses.component.html code and updated our code to match your updates as:
<td style="width: 130px"
                      [hidden]="!isGrantedAny('Pages.Warehouses.Edit', 'Pages.Warehouses.Delete')">
                    <div class="btn-group dropdown" dropdown container="body">
                        <button dropdownToggle class="dropdown-toggle btn btn-sm btn-primary">                                                 
                            <i class="fa fa-cog"></i><span class="caret"></span> {{l("Actions")}}
                        </button>
                        <ul class="dropdown-menu" *dropdownMenu>
                                <li>
                                    <a href="javascript:;"
                                            (click)="viewWarehouseModal.show(record)">{{l('View')}}</a>
                                </li>
                                <li>
                                    <a href="javascript:;"
                                           *ngIf="permission.isGranted('Pages.Warehouses.Edit')"
                                            (click)="createOrEditWarehouseModal.show(record.warehouse.id)">{{l('Edit')}}</a>
                                </li>
                                <li>
                                    <a href="javascript:;"
                                           *ngIf="permission.isGranted('Pages.Warehouses.Delete')"
                                                (click)="deleteWarehouse(record.warehouse)">{{l('Delete')}}</a>
                                </li>
                        </ul>
            </div>
 </td>

The big items here were removing normalizedPosition and replacing with dropdown and adding the href="javascript:;" statements. 8. Updated our main.module.ts with import { BsDropdownModule } from 'ngx-bootstrap'; and then added BsDropdownModule.forRoot(), in the @NgModule imports section

At this point we believe we have rectified the challenges with a single screen so the others must be updated accordingly. At this point we can add, view, delete, and edit any of the information on this screen as before and the Action performs as expected.

We did notice in the users.component.html button input that the class dropdown-toggle was repeated as shown below. We are assuming this is not a requirement and does not need it replicated.

    <button dropdownToggle class="dropdown-toggle btn btn-sm btn-primary dropdown-toggle">      

One thing we did notice that is not our code. Previously the sample Dashboards page had values that would randomly populate to show graphs and data, now all of them just show "No data" as a message.

If you feel other steps are required or items should be checked please let me know. I posted all of this here in hopes to help others with their upgrade challenges and a reminder for myself.

Thanks again for your help.

Matt

So does this just automatically use this table if a record exists? I have been unable to locate any documentation on this table is utilized by the framework. Meaning, if I load all the fields from the language XML file the framework will use this table without any other coding or configuration?

Answer

amitjpat - this is a great question from my perspective as I just learned how to get ANZ with Core and Angular 6 working and additionanl documentation would be beneficial.

First, deploy your ASP.NET solution by right-clicking on the Web.Host project and selecting publish. You will need to set your appsettings.production.json as Publish is a release which equals production. At this point its like any other IIS ASP.NET release. You should be able to point to the URL you specified in your appsettings.production.json file, if you also matched it in IIS. I recommend this first to verify IIS is hosting your application correctly.

Once the above step is complete you will need to install cors.exe and rewrite_amd64.msi on your web server. These items are very important to support the web.config and appsettings.json files in your angular application. To deploy your angular portion perform ng build --prod to create the dist directory for deployment. Also, make sure to add the web.config file from the root of your angular directory that was included with your download.

Deploy this to your root IIS folder. I recommend looking at the Azure release documentation on ASPNETZero.com as it does give some details on setups not stated here.

Everything above assumes you are hosting on a Windows 2016 web server. If everything is deployed correctly and setup in IIS the application should execute as expected.

Good luck!

Matt

I found the answer was an issue with not having the web solution file in the root directory based on the tool looking in WebContentDirectoryFinder.cs. *.Web.sln file must be in the same directory so do not remove or move this file.

Thank you for the details. Is version 6.0 being released soon?

Are you stating it is being fixed, has been fixed or will be fixed? The code differences are so great I am unsure what you are trying to state with the github link. Should I update angular/src/app/shared/layout/nav/side-bar-menu.component.html with the same code changes and it will be fixed or their other code dependencies with all the updates associated with the change link?

Thanks,

Matt

Thank you very much for the speedy reply and information! I really appreciate providing this level of feedback to my needs. I will read through the documentation and let you know if I have any other questions.

Thanks again,

Matt

Showing 41 to 50 of 54 entries