Jack, thank you for your detailed response.
Did I get that right? If yes, please consider either
- Writing modules for your own code and install them to stay maintainable. You can then use
abp upgrade
again- Shift the process. Keep one repository - lets say "MyAbpTextTemplatingModule". When a new version is available, create a branch for example "abp-722" and merge that into your custom repository. That way you will have way less headaches and you will be way faster in adapting new versions.
kind regards Jack
What is the suggested way of making changes or additions to the projects that are created by ABP so that conflicts are minimized? For example, changes to the 'Module' classes.
Thank you, that does solve the problem.
I think this is a bug though, the publicly available source code should not be 'broken' out of the box.
* **Exception message and stack trace**: C:\Users\chris\.nuget\packages\microsoft.build.tasks.git\1.1.1\build\Microsoft.Build.Tasks.Git.targets(25,5): warning : Unable to locate repository with working directory that contains directory 'D:\Blazr4722\abp\framework\src\Volo.Abp.Core'. [D:\Blazr4722\abp\framework\src\Volo.Abp.Cor
e\Volo.Abp.Core.csproj]
C:\Users\chris\.nuget\packages\microsoft.sourcelink.common\1.1.1\build\Microsoft.SourceLink.Common.targets(53,5): warning : Source control information is not available - the generated source link is empty. [D:\Blazr4722\abp\framework\src\Volo.Abp.Core\Volo.Abp.Core.csproj]
abp.exe new MyNewProject --template app-pro --ui blazor --pwa --database-provider ef --database-management-system PostgreSQL --mobile maui --separate-identity-server --separate-tenant-schema --tiered --with-public-website --no-random-port --local-framework-ref --abp-path ..\..\..\ --version 7.2.2 --output-folder D:\Blazr4722
Fix all references to 'licensing' projects, so that the solution will actually compile https://support.abp.io/QA/Questions/5140/New-Solution-Does-Not-Compile
Go to the solution directory and run dotnet build
You will receive hundred of errors related to Source Link
abp.exe new MyNewProject --template app-pro --ui blazor --pwa --database-provider ef --database-management-system PostgreSQL --mobile maui --separate-identity-server --separate-tenant-schema --tiered --with-public-website --no-random-port --local-framework-ref --abp-path ..\..\..\ --version 7.2.2 --output-folder C:\Src\MyNewProject
Create a new ABP solution which references source code. The solution will contain a number of references to projects in the 'licensing' folder, which is not part of the source code which is made available. The new solution will not build successfully until all of these project references have been changed to package references.
We have had to write scripts to process the 831 projects that result (download of source framework, plus Pro modules, plus the new project which was created), and parse all references, removing references which contain 'licensing' and replacing them with package references.
This should not be necessary. Since the 'upgrade' command has not worked well for us in the past, we are creating a new ABP solution each time a new version is published, and moving our changes in to that new version. This extra work also is a barrier to new companies trying to use ABP for the first time.
Here's an example - I've spent quite a bit of time looking for this information: https://support.abp.io/QA/Questions/4042/Lepton-x-Theme-Source-Files-SCSS
I can't find the information anywhere, and the question that should have the answer was closed, with no resolution.
I see that most of the comments are abstract.
To fine-tune our documentation and get started steps, we need concrete examples.
Because for me it's very straightforward to kick-start a project.
Imagine that you start a new scratch ASP.NET Core project with Docker, DevExpress, and Identity Server with a tiered architecture, would it be slaphappy?
You asked for input on ways the support could be improved, and your responses say that you don't want to hear it.
Try to create a new solution with version 7.0.2 or 7.1.0 preview - app-pro, tiered, maui-blazor, PWA, separate identity server, and PostgreSQL. It doesn't run. You can't see the error because the screen is white and the text is white. It isn't immediately obvious if the program is hanging, or crashing, or not even starting. Once you change the text color the error just says an exception occurred in the Initialize function of one of the base ABP classes, which is not something you can debug unless you have full source code. The only way to find a more specific exception was to step through every single line of code. This is not "slaphappy".
You are selling a product that is supposed to allow the users to NOT have to become experts on all of the awesome features you have coded, but your documentation and tips for getting started are written from the perspective of people who ARE experts in all of those areas, and are expecting the audience to have a similar level of knowledge as well. I think you will have a much better chance of success with new perspective customers if you take the time to understand what things can go wrong for first time users, and provide some guidance on what a user needs to understand if they are going to deviate from the "out of the box" experience. We are very happy we are using ABP, but we had a LOT of frustration getting our solution off the ground, and we still get frustrating responses many times from support. Multiple DETAILED tickets where the response is effectively "RTFM". One was "You can't use DevExpress with a tiered solution". REALLY? We aren't expecting ABP to hand us fully functional solutions when we are doing custom integrations, but we do expect help understanding how to respect the benefits of ABP and still do what our business requires.
The framework is great, but the support frequently leaves us frustrated.
That does not answer the question at all. It is VERY frustrating that each time we open a ticket, the first response is to link to some generic documentation page. Did you actually read the question?
According to Microsoft documentation, System.Net.Mail.SmtpClient is obsolete and should not be used.
Additionally, Office 365 is going to disable basic authentication for SMTP as of December 31, 2022. https://learn.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/deprecation-of-basic-authentication-exchange-online
All of the documentation indicates that MailKit https://github.com/jstedfast/MailKit is now the recommended solution.
I did not see a way to use OAuth2 with MailKit using the ABP module. Is there any sample code that demonstrates how to do this?
You keep avoiding answering my direct question.
We cannot implement any .NET classes because the legacy application is not written by us, it is a 3rd party C++ application which is writing directly to the database.
We have no problems using Auditing within ABP. We are looking to populate the audit log tables for changes made OUTSIDE of ABP in our legacy application (which does direct SQL queries, and cannot be modified to use the ABP APIs). Is there a documented approach? If not, is there a specific class we can look at to determine how best to emulate the logic? We have a subscription that includes full source code.