We aware that using Angular causes a lot more data/javascript to be loaded on every page. If you're app is truely a single page app then you should be fine, as per the speed of page loading issue.
We found that the jquery verison was MUCH faster, but we needed to use .net core and therefore had to migrate to angular.
I could be wrong but it looks like there is a timeout when the update, (database migration) is being applyed.
An error occurred while updating the entries. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out
A simple test would be to increase the timeout in the connectionstring and see if it goes away.
https://stackoverflow.com/questions/4308417/connection-timeout-for-sql-server
But thats not a solution, because eventually when you have more rows, the same problem will occur again.
I've found that blob's and/or large binary objects should be put in a seporate data base table, or even a different database, and use a seporate query to retrieve one blob row at a time, when its needed.
Reason: Doing any querying on that table requires the blob to be loaded, even if blob field is NOT in the returned result set. The timeout is caused because the blob field is pushing all values out of cache , or the large amount of IO required to bring the blob off disk, makes the query hit the Max IO bytes per second, and therefor the database pauses your query.
We have found the same thing.. Enableing --aot and --prod flags on build will help but inital load is still slow.
We are investigating two approaches, but dont have any answers yet.
Create a non angular login dialog that has a hidden iframe where the angular compoment will load. This will allow user to see the login dialog faster, and while there typing in ther password or clicking on oauth, it will give the machien a change to load.
Were looking at Angular server side rendering.
Just to be be clear, im not saying the product is not worth the money. I'm saying that its important that you find a way to support companys that have made an investment in your technology and have been with you for a while.
By the way, I don't know any product with its source code with such a price.
http://www.servicestack.net
https://www.telerik.com/
Anyway, we will work harder to make AspNet Zero's documentation better as I said in the other topic.
Thank You!
@leonkosak
@commondesk: It's not fair that you blame application framework for not knowing library or framework "inside" ABP/ANZ. Just accept reallity - modern full-stack web is noticeable more complex than native (desktop and other native) frameworks. There are so many libraries and frameworks and each of them have active development.
Google, does a fine job of documenting Angular. Microsoft documents ASPNET and C#. Telerik documents their proudcts.. Im happy to learn new framework, but you cant unless there is some documenation.
Modern full stack web frameworks are not more or less complicated that desktop ones. The problem is there written my many groups of people and therefore the documantion standard is lower.
Don't get me wrong, I like the platform and the product. My goal in posting this is to air out several architectural problems, and search for ways to manage these issues.
These are the problem i see
1 - New templates are made available, 6 in 2019 alone, and there is no documented way to upgrade your code to them. New templates serve two purposes, they provide new features and they fix bugs. Fixing bugs is a non-optional requirements while adding feature is completely optional.
While this is a problem for anyone who changes the source code of a large system, little to no thought has going into best practices for attempting to upgrade. We must find a way to merge bug fixes into later version.
In the past i made a suggestion that changes between each template be provided as a set of GIT patch/diff files. This way we could apply the diff's that represent bug fixes. I hope to hear more feedback about his approach
2 - Beyond adding fixing bugs and adding new ANZ template features, we as developers need to add our own change to the template. This is non-optional for us as we need mold ANZ to meet our business needs. In this thread, you will see that i made a proposal for how, ANZ could structure their system so changes could be made easyer to merge. Creating TypeScript base classes and empty Stub classes etc. I hope to hear more feedback on this approach.
3 - Source code for the system is provided, but there is little documentation for the source code. I know that asking developers for source code documenation is always a difficult subject. But for a comerical product its much more expected than for an open-source product. This is a commerical product with a $2500 a year renewal. Im not looking for source code telling me how each line works, but i would like to know many things includeing:
I applaud ANZ as their last version of the documentation. It was much improved. But I hope to see more additions in the near future. These are the topics i would find useful. What topics do you need documented?
I hope everyone views my sharp comments as a way to find better solutions to help all of us. But to solve these problems, you need to admit there are problems.
<br> <br>
From what i can see about abp.io, it appears to be a container framework around the backend of aspnetzero. (yes a vast over-simplication). but the backend of the system is not the problem.
The frontend is the problem. the problem is compounded by the fact that the angular specific internal documentation is sparse. im new to angular, but people with years of experience also find it confusing.
if this was an opensource project i would not complain. but i put down my $2500 so i did not have these sort of issues. im fealing tricked!
They keep saying that, this is a starter project, but the nasa logo on the home page, is not a startup company.
i see they just added graphql support. not sure about everyone else, but based on my limited understanding of graphql, im not going to ditch rest api's anytime soon. so why take the time to implement graphql??. they need to focus on supporting EXISTING customers, who pay yearly renewals.
But the problem is, after you use different options, those are merged with the current options, and used next time the dialog is called.
And there is not way to undo this?
Why would anyone want that feature?
If the "Excluding features using the DI object" is a non starter, I will choose to provide different versions of topbar.component.html. So i can simply not show the relivent sections at the top.
You might want to consider adding https://www.uservoice.com/ It would allow the customers to give you feedback on what changes are important and whats not. While i understand that GraphQL is a great technology, it might be voted higher or lower than other topics. The guys who run servicestack.com use it.
You really need a FAQ section in your forum. You should create multiple FAQ pages for for Angular, MVC etc. Then topics that keep coming up over and over can be better documented. I keep seeing places where someone comments and links to another post, which links to another post. Its a mess. A FAQ page would be the place where these reoccuring posts can be moved to.
Any dates on when Metronic V6 or aspentzero V7 are scheduled to complete?
Your company is at a intersting stage in development. You got to where you are by adding new features to attract new customers. But now, you have a lot of customers who all make yearly renewals.. So you need to decide which group you want to continue to make happy. I think you should add more tools and support for your existing customers.
If your company is just to "provide a startup template" and its very costly to upgrade templates, few of your existing customers will ever upgrade, and therefor will not see the new features. Why would i continue to pay you yearly support, if you make it difficult to upgrade to the latest template where bugs are fixed and new features added.
Thanks for taking the time to read my comments..
Mitch
@ismcagdas, @maliming -- any comments on my last past would be greatly apprciated!