Merge branch 'dev' into auto-merge/rel-4-3/284

pull/8551/head
İsmail ÇAĞDAŞ 5 years ago committed by GitHub
commit 5f557257e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -272,6 +272,11 @@
"PaymentProduct": "Payment Product",
"ProductName": "Product Name",
"Code": "Code",
"GenerateInvoice": "Generate Invoice"
"GenerateInvoice": "Generate Invoice",
"ExportOrganizationsToExcel": "Export to Excel",
"ThisExtensionIsNotAllowed": "This extension is not allowed.",
"TheFileIsTooLarge": "The file is too large!",
"ArticleDeletionConfirmationMessage": "Are you sure you want to hard delete this article?",
"ChooseCoverImage": "Choose a cover image..."
}
}

@ -221,6 +221,12 @@
"PaymentProduct": "Ödeme Ürünü",
"ProductName": "Ürün İsmi",
"Code": "Kod",
"GenerateInvoice": "Fatura Oluştur"
"GenerateInvoice": "Fatura Oluştur",
"ExportOrganizationsToExcel": "Excel'e aktar",
"ThisExtensionIsNotAllowed": "Bu uzantıya izin verilmiyor.",
"TheFileIsTooLarge": "Dosya çok büyük.",
"ArticleDeletionConfirmationMessage": "Bu makaleyi kalıcı olarak silmek istediğinizden emin misiniz?",
"ChooseCoverImage": "Bir kapak resmi seçin...",
"CoverImage": "Kapak Resmi"
}
}
}

@ -256,6 +256,11 @@
"PaymentProduct": "付款产品",
"ProductName": "产品名称",
"Code": "代码",
"GenerateInvoice": "生成发票"
"GenerateInvoice": "生成发票",
"ExportOrganizationsToExcel": "将组织导出到Excel",
"ThisExtensionIsNotAllowed": "不允许此扩展名.",
"TheFileIsTooLarge": "文件过大.",
"ArticleDeletionConfirmationMessage": "您确定要硬删除这篇文章吗?",
"ChooseCoverImage": "选项一张封面图片"
}
}

@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
<Version>4.3.0-rc.2</Version>
<LangVersion>latest</LangVersion>
<Version>4.4.0</Version>
<NoWarn>$(NoWarn);CS1591;CS0436</NoWarn>
<PackageIconUrl>https://abp.io/assets/abp_nupkg.png</PackageIconUrl>
<PackageProjectUrl>https://abp.io/</PackageProjectUrl>

@ -1,6 +1,6 @@
# ABP Commercial 4.3 RC Has Been Published
ABP Commercial version 4.3 RC (Release Candidate) has been published alongside ABP Framework 4.3. RC (TODO: link). I will introduce the new features in this blog post. Here, a list of highlights for this release;
ABP Commercial version 4.3 RC (Release Candidate) has been published alongside [ABP Framework 4.3. RC](https://blog.abp.io/abp/ABP-Framework-4.3-RC-Has-Been-Published). I will introduce the new features in this blog post. Here, a list of highlights for this release;
* The **microservice starter template** is getting more mature. We've also added a **service template** to add new microservices to the solution.
* New option for the application starter template to have a **separate database schema for tenant databases**.
@ -15,7 +15,7 @@ Here, some other features already covered in the ABP Framework announcement, but
* **Email setting** management UI
* **Module extensibility** system is now available for the **Blazor UI** too.
> This post doesn't cover the features and changes done on the ABP Framework side. Please also see the **ABP Framework 4.3. RC blog post** (TODO: link).
> This post doesn't cover the features and changes done on the ABP Framework side. Please also see the **[ABP Framework 4.3. RC blog post](https://blog.abp.io/abp/ABP-Framework-4.3-RC-Has-Been-Published)**.
## The Migration Guide
@ -69,7 +69,7 @@ Automatic migration only tries one time. If it fails, it writes the exception lo
### New Module: CMS Kit
CMS Kit module initial version has been released with this version. As stated in the ABP Framework 4.3 announcement post (TODO: link), it should be considered premature for now.
CMS Kit module initial version has been released with this version. As stated in the [ABP Framework 4.3 announcement post](https://blog.abp.io/abp/ABP-Framework-4.3-RC-Has-Been-Published), it should be considered premature for now.
For ABP Commercial application startup template, we are providing an option to include the CMS Kit into the solution while creating new solutions:

@ -10,11 +10,11 @@ We are super excited to announce the ABP Framework 4.3 RC (Release Candidate). H
* CLI support to easily add the **Basic Theme** into the solution.
* New **IInitLogger** service to write logs before dependency injection phase completed.
Besides the new features above, we've done many performance improvements, enhancements and bug fixes on the current features. See the [4.3 milestone](https://github.com/abpframework/abp/milestone/49) on GitHub for all changes made on this version.
Besides the new features above, we've done many performance improvements, enhancements and bug fixes on the current features. See the [4.3 milestone](https://github.com/abpframework/abp/milestone/49?closed=1) on GitHub for all changes made on this version.
This version was a big development journey for us; [~160 issues](https://github.com/abpframework/abp/issues?q=is%3Aopen+is%3Aissue+milestone%3A4.3-preview) resolved, [~300 PRs](https://github.com/abpframework/abp/pulls?q=is%3Aopen+is%3Apr+milestone%3A4.3-preview) merged and **~1,700 commits** done only in the [main framework repository](https://github.com/abpframework/abp). **Thanks to the ABP Framework team and all the contributors.**
This version was a big development journey for us; [~160 issues](https://github.com/abpframework/abp/issues?q=is%3Aissue+milestone%3A4.3-preview+is%3Aclosed) resolved, [~300 PRs](https://github.com/abpframework/abp/issues?q=is%3Apr+milestone%3A4.3-preview+is%3Aclosed) merged and **~1,700 commits** done only in the [main framework repository](https://github.com/abpframework/abp). **Thanks to the ABP Framework team and all the contributors.**
> ABP Commercial 4.3 RC has also been published. We will write a separate blog post for it.
> ABP Commercial 4.3 RC has also been published. Check out [the commercial blog post](https://blog.abp.io/abp/ABP-Commercial-4.3-RC-Has-Been-Published).
## The Migration Guide
@ -63,7 +63,7 @@ CMS (Content Management System) Kit was a module we worked on for the last coupl
* **Reactions**: Allows users to react to content via emojis, like a smile, upvote, downvote, etc.
* **Rating**: This component is used to rate content by users.
All features are separately usable. For example, you can create an image gallery and reuse the Comments and Tags features for the images. You can enable/disable features individually using the [Global Features System](https://docs.abp.io/en/abp/4.3/global-features).
All features are separately usable. For example, you can create an image gallery and reuse the Comments and Tags features for the images. You can enable/disable features individually using the [Global Features System](https://docs.abp.io/en/abp/4.3/Global-Features).
> We will create a separate blog post for the CMS Kit module, so I keep it short.

@ -30,7 +30,9 @@ namespace Volo.Abp.AspNetCore.SignalR
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddSignalR();
var signalRServerBuilder = context.Services.AddSignalR();
context.Services.ExecutePreConfiguredActions(signalRServerBuilder);
Configure<AbpEndpointRouterOptions>(options =>
{

@ -12,7 +12,7 @@ namespace Volo.Abp.Modularity
{
var moduleTypes = new List<Type>();
logger.Log(LogLevel.Information, "Loaded ABP modules:");
AddModuleAndDependenciesResursively(moduleTypes, startupModuleType, logger);
AddModuleAndDependenciesRecursively(moduleTypes, startupModuleType, logger);
return moduleTypes;
}
@ -37,7 +37,7 @@ namespace Volo.Abp.Modularity
return dependencies;
}
private static void AddModuleAndDependenciesResursively(
private static void AddModuleAndDependenciesRecursively(
List<Type> moduleTypes,
Type moduleType,
ILogger logger,
@ -55,7 +55,7 @@ namespace Volo.Abp.Modularity
foreach (var dependedModuleType in FindDependedModuleTypes(moduleType))
{
AddModuleAndDependenciesResursively(moduleTypes, dependedModuleType, logger, depth + 1);
AddModuleAndDependenciesRecursively(moduleTypes, dependedModuleType, logger, depth + 1);
}
}
}

@ -19,7 +19,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Devart.Data.Oracle.EFCore" Version="9.14.1204" />
<PackageReference Include="Devart.Data.Oracle.EFCore" Version="9.14.1228" />
</ItemGroup>
</Project>

@ -20,6 +20,10 @@
abp.notify.success(l('SuccessfullySaved'));
abp.ui.clearBusy();
location.href = "../Pages";
},
error: function(result){
abp.ui.clearBusy();
abp.notify.error(result.responseJSON.error.message);
}
});
}

@ -20,7 +20,7 @@
"CmsKit:Comments:0001": "The entity {EntityType} is not commentable.",
"CmsKit:Media:0001": "'{Name}' is not a valid media name.",
"CmsKit:Media:0002": "The entity can't have media.",
"CmsKit:Page:0001": "The given url ({0}) already exists.",
"CmsKit:Page:0001": "The given url ({Slug}) already exists. Please try with different url.",
"CmsKit:Rating:0001": "The entity {EntityType} can't be rated.",
"CmsKit:Reaction:0001": "The entity {EntityType} can't have reactions.",
"CmsKit:Tag:0002": "The entity is not taggable!",
@ -58,6 +58,7 @@
"NewTag": "New Tag",
"OK": "OK",
"PageDeletionConfirmationMessage": "Are you sure to delete this page?",
"Pages": "Pages",
"PageSlugInformation": "Slug is used on url. Your url will be '/pages/{{slug}}'.",
"Permission:BlogManagement": "Blog Management",
"Permission:BlogManagement.Create": "Create",

@ -21,7 +21,7 @@
"CmsKit:BlogPost:0001": "Aynı url etiketi zaten mevcut.",
"CmsKit:Comments:0001": "{0} ögesi yorumlanabilir değil.",
"CmsKit:Media:0002": "Bu öge için medya eklenemez.",
"CmsKit:Page:0001": "Girilen url ({0}) kullanımdadır.",
"CmsKit:Page:0001": "Girilen url ({Slug}) kullanımdadır. Başka bir url giriniz.",
"CmsKit:Rating:0001": "{EntityType}, puanlanabilir değil.",
"CmsKit:Reaction:0001": "Bu ögeye tepki verilemez.",
"CmsKit:Tag:0002": "Bu öge etiketlenebilir değil.",

@ -29,6 +29,7 @@
"devDependencies": {
"@abp/ng.core": "~4.3.0-rc.2",
"@abp/ng.feature-management": "~4.3.0-rc.2",
"@abp/ng.account": "~4.3.0-rc.2",
"@abp/ng.identity": "~4.3.0-rc.2",
"@abp/ng.permission-management": "~4.3.0-rc.2",
"@abp/ng.schematics": "~4.3.0-rc.2",

@ -8,6 +8,8 @@
integrity sha512-JjRRbE9RHh8X82PKLO1VKsEMui+mCNzGgkmBVL1qwTrlLcfUW6IYjCVXUxQX67e6waHVT+cIFFWWk00zfVEMJw==
dependencies:
ng-zorro-antd "^11.0.0"
tslib "^2.0.0"
"@abp/ng.core@~4.3.0-rc.1":
@ -17,6 +19,8 @@
dependencies:
"@abp/utils" "^4.2.2"
"@angular/localize" "~10.0.10"
"@ngxs/router-plugin" "^3.7.0"
"@ngxs/storage-plugin" "^3.7.0"
"@ngxs/store" "^3.7.0"
angular-oauth2-oidc "^10.0.0"
just-clone "^3.1.0"
@ -96,7 +100,7 @@
"@abp/ng.core" "~4.3.0-rc.1"
"@fortawesome/fontawesome-free" "^5.14.0"
"@ng-bootstrap/ng-bootstrap" "^7.0.0"
"@ngx-validate/core" "^0.0.13"
"@ngx-validate/core" "^0.0.12"
"@swimlane/ngx-datatable" "^17.1.0"
bootstrap "~4.6.0"
chart.js "^2.9.3"
@ -2506,6 +2510,13 @@
enhanced-resolve "5.6.0"
webpack-sources "2.2.0"
"@ngx-validate/core@^0.0.12":
version "0.0.12"
resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.12.tgz#4924247c363e0e876e6d63794215914ac9232e8d"
integrity sha512-AhHfb44M2E2Wc37IX9DxAWjgSIZMNrzzpjnPL+VXMNJQj9GqynBjqw0zQtrGYANsAYeFPFhn7UuX6uqrkRvHtQ==
dependencies:
tslib "^1.9.0"
"@ngx-validate/core@^0.0.13":
version "0.0.13"
resolved "https://registry.yarnpkg.com/@ngx-validate/core/-/core-0.0.13.tgz#954c6d247df8107668f23a39db24ca45c274f3d9"
@ -2527,6 +2538,20 @@
dependencies:
tslib "^1.9.0"
"@ngxs/router-plugin@^3.7.0":
version "3.7.1"
resolved "https://registry.yarnpkg.com/@ngxs/router-plugin/-/router-plugin-3.7.1.tgz#cd73224d5dd54ee070dd54cc26ba09a1fde189a8"
integrity sha512-5Pg+Ija4Z4eCYTLtVgZYxsbYqN35YD+Tak/WhHFXvOqFpt0zPMt8VQbgfEFXKOgoUsJYQ4qz/EWqc0GaRXL+Jw==
dependencies:
tslib "^1.9.0"
"@ngxs/storage-plugin@^3.7.0":
version "3.7.1"
resolved "https://registry.yarnpkg.com/@ngxs/storage-plugin/-/storage-plugin-3.7.1.tgz#39fbce9cf6585cc094d74e5efd54daae3fcd334d"
integrity sha512-2e/iHu2Ax/Z7hEfGZPCuUIPNiTb33e9kIM7xIho5BG18liKy1MTeZ7BS5PQKmMc7oY9Ji90ZjhU9uXnex/Em2w==
dependencies:
tslib "^1.9.0"
"@ngxs/store@^3.7.0":
version "3.7.1"
resolved "https://registry.yarnpkg.com/@ngxs/store/-/store-3.7.1.tgz#3333379eb36cfe475d019b6c894b263ea515b8a5"

2464
npm/package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1,43 @@
const glob = require('glob');
var path = require('path');
const childProcess = require('child_process');
const { program } = require('commander');
program.version('0.0.1');
program.option('-r, --rc', 'whether version is rc');
program.option('-rg, --registry <registry>', 'target npm server registry')
program.parse(process.argv);
const packages = (process.argv[3] || 'abp').split(',').join('|');
const check = (pkgJsonPath) => {
try {
return childProcess
.execSync(
`ncu "/^@(${packages}).*$/" --packageFile ${pkgJsonPath} -u${
program.rc ? ' --target greatest' : ''
}${program.registry ? ` --registry ${program.registry}` : ''}`
)
.toString();
} catch (error) {
console.log('exec error: ' + error.message);
process.exit(error.status);
}
};
const folder = process.argv[2] || '.';
glob(folder + '/**/package.json', {}, (er, files) => {
files.forEach((file) => {
if (
file.includes('node_modules') ||
file.includes('ng-packs/dist') ||
file.includes('wwwroot') ||
file.includes('bin/Debug')
) {
return;
}
console.log(check(file));
});
});

@ -4,13 +4,14 @@
"lerna": "lerna",
"ncu": "ncu",
"update-gulp": "node update-gulp.js",
"replace-with-tilde": "node replace-with-tilde.js"
"replace-with-tilde": "node replace-with-tilde.js",
"update": "node package-update-script.js . abp"
},
"devDependencies": {
"@types/fs-extra": "^8.0.1",
"glob": "^7.1.5",
"lerna": "^3.18.4",
"npm-check-updates": "^3.1.25"
"npm-check-updates": "^11.3.0"
},
"dependencies": {
"commander": "^6.0.0",

@ -4,6 +4,7 @@ const fse = require('fs-extra');
program.version('0.0.1');
program.option('-n, --nextVersion', 'version in common.props');
program.option('-r, --rc', 'whether version is rc');
program.option('-cv, --customVersion <customVersion>', 'set exact version');
program.parse(process.argv);
@ -12,6 +13,7 @@ if (program.nextVersion) console.log(getVersion());
if (program.rc) console.log(getVersion().includes('rc'));
function getVersion() {
if (program.customVersion) return program.customVersion;
const commonProps = fse.readFileSync('../common.props').toString();
const versionTag = '<Version>';
const versionEndTag = '</Version>';

@ -1,5 +1,6 @@
param(
[string]$Version
[string]$Version,
[string]$Registry
)
npm install
@ -11,26 +12,35 @@ if (-Not $Version) {
$Version = $NextVersion;
}
$NgPacksPublishCommand = "npm run publish-packages -- --nextVersion $Version --skipGit"
$PacksPublishCommand = "npm run lerna -- exec 'npm publish --registry https://registry.npmjs.org'"
if (-Not $Registry) {
$Registry = "https://registry.npmjs.org";
}
$NgPacksPublishCommand = "npm run publish-packages -- --nextVersion $Version --skipGit --registry $Registry"
$PacksPublishCommand = "npm run lerna -- exec 'npm publish --registry $Registry'"
$UpdateGulpCommand = "npm run update-gulp"
$UpdateNgPacksCommand = "yarn update --registry $Registry"
$IsRc = $(node publish-utils.js --rc --customVersion $Version) -eq "true";
$IsRc = $(node publish-utils.js --rc) -eq "true";
if ($IsRc) {
if ($IsRc) {
$NgPacksPublishCommand += " --rc"
$UpdateGulpCommand += " -- --rc"
$PacksPublishCommand = $PacksPublishCommand.Substring(0, $PacksPublishCommand.Length - 1) + " --tag next'"
$UpdateNgPacksCommand += " --rc"
}
$commands = (
"npm run lerna -- version $Version --yes --no-commit-hooks --skip-git --force-publish",
"npm run replace-with-tilde",
$PacksPublishCommand,
$UpdateNgPacksCommand,
"cd ng-packs\scripts",
"npm install",
$NgPacksPublishCommand,
"cd ../../",
"npm run lerna -- version $Version --yes --no-commit-hooks --skip-git --force-publish",
"npm run replace-with-tilde",
$PacksPublishCommand,
"cd scripts",
"yarn",
"yarn remove-lock-files",

@ -30,7 +30,7 @@ const updatePackages = (pkgJsonPath) => {
const result = childProcess
.execSync(
`ncu "/^@abp.*$/" --packageFile ${pkgJsonPath} -u${
program.rc ? ' --greatest' : ''
program.rc ? ' --target greatest' : ''
}`
)
.toString();

@ -5,7 +5,7 @@
"main": "index.js",
"scripts": {
"prepare": "node prepare",
"start": "docker-compose rm -f && docker-compose build --build-arg next_version=\"4.1.0\" && docker-compose up"
"start": "yarn prepare && docker-compose rm -f && docker-compose build --build-arg next_version=\"4.1.0\" && docker-compose up"
},
"keywords": [],
"author": "",

@ -7,7 +7,7 @@ namespace MyCompanyName.MyProjectName
{
public void SayHello()
{
Console.WriteLine("Hello World!");
Console.WriteLine("\tHello World!");
}
}
}

@ -6,7 +6,7 @@
{
public string SayHello()
{
return "Hello world!";
return "\tHello world!";
}
}
}

Loading…
Cancel
Save