-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'dev' into salihozkara/abpUnited
- Loading branch information
Showing
98 changed files
with
11,100 additions
and
263 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
62 changes: 62 additions & 0 deletions
62
docs/en/Blog-Posts/2024-07-23-AbpIo-United-Is-Live/post.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
|
||
# The new ABP Platform is live! | ||
|
||
We're thrilled to announce that the **new ABP.IO Platform is now live!** Our team has been hard at unifying and enhancing the entire platform to deliver a seamless, user-friendly experience. Here's what's new: | ||
|
||
|
||
### Unified domain and enhanced navigation 🌍 | ||
All our services are now consolidated under a single domain; [abp.io](https://abp.io). This means you no longer need to navigate through multiple subdomains. The new mega menu makes finding what you need easier and faster. | ||
|
||
|
||
### Modern design and improved UX 🎨 | ||
The platform boasts a fresh, modern design aimed at improving both aesthetics and functionality. This redesign enhances usability, making your interaction with ABP.IO more intuitive. | ||
|
||
|
||
|
||
### Documentation in one place 📃 | ||
We’ve combined the ABP (open-source) and ABP Commercial (paid) documents into a single, comprehensive resource. This unified documentation will help you find what you're looking for more efficiently. The new documentation address is [abp.io/docs](https://abp.io/docs). When you switch to old ABP versions before v8.3, you will see the old documents are still available. | ||
|
||
|
||
|
||
### Introducing "ABP Studio Community Edition" 🪄 | ||
We're excited to introduce the **ABP Studio Community Edition**, which is now **available for free**. This edition provides powerful tools to streamline your development process. You can easily create a new project with a configuration wizard in ABP Studio. It also provides module management, which means you can add/remove an ABP Module easily. You can also debug your microservice project and track the HTTP requests easily. Connecting your local development environment to a local or remote Kubernetes cluster is another cool feature of ABP Studio. We aim for ABP Studio to be the primary tool for ABP developers to manage their projects. | ||
|
||
> Download ABP Studio 👉 [abp.io/studio](https://abp.io/studio). | ||
|
||
### Enhanced "ABP CLI" 🚀 | ||
ABP CLI is also renewed. The new CLI is compatible with ABP Studio. It adds new commands. The new CLI is now available on NuGet at [nuget.org/packages/Volo.Abp.Studio.Cli](https://www.nuget.org/packages/Volo.Abp.Studio.Cli). It's a dotnet global tool. When you install ABP Studio, the new ABP CLI is automatically installed. You can still use the old ABP CLI commands. To use the legacy ABP CLI commands just add `--old` parameter to your commands. | ||
|
||
> The docs of the new ABP CLI 👉 [abp.io/docs/latest/cli](https://abp.io/docs/latest/cli). | ||
|
||
|
||
### 20% Celebration discount 💰 | ||
To celebrate the launch of the new platform, we're offering a **20% discount** for a limited time. This discount is valid for all new purchases, renewing existing licenses and buying additional developer seats. | ||
|
||
> Discounted prices 👉 [abp.io/pricing](https://abp.io/pricing). | ||
|
||
### Existing customers 🛂 | ||
In terms of licensing rules, existing customers will not be affected by this change. You can manage your license just like before at [abp.io/my-organizations](https://abp.io/my-organizations). | ||
|
||
> The new support website address 👉 [abp.io/support](https://abp.io/support). | ||
--- | ||
|
||
### Why choose the ABP Platform? 🙄 | ||
ABP Platform simplifies modern software development with well-architected startup templates, modular design infrastructure, multi-tenancy support, comprehensive security features, and a vibrant community. If you are starting a new web project or transforming your legacy application, ABP is the perfect solution! If you still wonder why you need such a solution, see [abp.io/why-choose-abp](https://abp.io/why-choose-abp). | ||
|
||
There are several startup ASP.NET Core templates for your requirements. Read [abp.io/how-it-works](https://abp.io/how-it-works) page to understand ABP's approach. We have a FAQ page where you can find answers to many of your questions [abp.io/faq](https://abp.io/faq). | ||
|
||
> Start your new ABP project -for free- 👉[abp.io/get-started](https://abp.io/get-started)! | ||
|
||
### Join our community 👨👨👦 | ||
We invite developers, IT professionals, and businesses to join the ABP Community. Our community website is now [abp.io/community](https://abp.io/community). On this website, you can read ABP-related posts, watch live community shows and core team's fundamental video courses... | ||
|
||
------ | ||
|
||
For more information, visit our newly unified platform at [abp.io](https://abp.io). We look forward to your feedback and continued support as we grow together! | ||
|
||
> Found a bug in the new platform? Or if you have an idea, write to us 👉 [abp.io/contact](https://abp.io/contact). |
Binary file added
BIN
+58.1 KB
...nouncing-ABP-Studio/abp-studio-new-layered-solution-template-wizard-options.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+63.4 KB
...07-30-Announcing-ABP-Studio/abp-studio-new-layered-solution-template-wizard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
36 changes: 36 additions & 0 deletions
36
docs/en/Blog-Posts/2024-07-30-Announcing-ABP-Studio/post.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
# Announcing ABP Studio (beta) General Availability | ||
|
||
I am very excited to announce that the ABP Studio (beta) is generally available to everyone. It is now downloadable on the [get started page](https://abp.io/get-started) of the [new ABP Platform website](https://abp.io/blog/new-abp-platform-is-live). | ||
|
||
## What is ABP Studio? | ||
|
||
[ABP Studio](https://abp.io/docs/latest/studio) is a cross-platform desktop application for ABP and .NET developers. It aims to provide a comfortable development environment for you by automating things, providing insights about your solution, making develop, run, browse, monitor, trace and deploy your solutions much easier. | ||
|
||
**From now on, ABP Studio is the default way to start with the ABP Platform**; | ||
|
||
* The [get started page](https://abp.io/get-started) has updated so it offers to download ABP Studio to create a new ABP based solution. | ||
* The ABP CLI ([Volo.Abp.Cli](https://nuget.org/packages/Volo.Abp.Cli)) is replaced by the ABP Studio CLI ([Volo.Abp.Studio.Cli](https://www.nuget.org/packages/Volo.Abp.Studio.Cli)). [The new ABP CLI](https://abp.io/docs/latest/cli) is compatible with the old one, but extends it by introducing new commands. | ||
* [Startup solution templates](https://abp.io/docs/latest/solution-templates) are completely renewed. The solution structures are similar to the old ones, but they are totally new templates built with the new templating engine. | ||
* All the documentation and tutorials now uses ABP Studio and ABP Studio CLI. | ||
|
||
> ABP Studio is in beta stage now. It is also in rapid development and release cycle. We frequently release new feature and patch versions. Please [file an issue](https://github.com/abpframework/abp/issues/new/choose) if you find any bug. | ||
> | ||
> If you want to continue to use the old CLI and old startup templates, please [refer that document](https://abp.io/docs/latest/cli/differences-between-old-and-new-cli). | ||
## The New Startup Templates | ||
|
||
As mentioned about, the [startup solution templates](https://abp.io/docs/latest/solution-templates) are completely renewed with ABP Studio. They provide much more options compared to the old startup templates. The following screenshot is taken from the New Solution wizard of ABP Studio, which provides an comfortable and easy way to create new solutions: | ||
|
||
 | ||
|
||
For example, you can now select all the non-fundamental modules as optional: | ||
|
||
 | ||
|
||
### The Microservice Startup Template | ||
|
||
The most important change is made on the [microservice startup template](https://abp.io/docs/latest/solution-templates/microservice) (which is available only for Business or higher license holders). We've designed the solution structure, integrations, Kubernetes/Helm configuration, database migrations and all others from scratch and well documented all the decisions we applied. Developing microservice solutions with ABP Framework is now easier and more understandable than ever. | ||
|
||
## The Solution Explorer | ||
|
||
One of the main purposes to build ABP Studio is to simplify to create multi-modular and distributed systems. Either you create a modular monolith application or a microservice solution, [ABP Studio's solution explorer](https://abp.io/docs/latest/studio/solution-explorer) provides a convenient way to design your high-level solution. You can think it as an architectural tool to create modules and packages and arrange their dependencies. |
2 changes: 1 addition & 1 deletion
2
...mmunity-Articles/2023-02-22-Streamline-Localization-In-Your-ABP-Project/POST.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
# Marked Item System | ||
|
||
CMS kit provides a marking system to mark any kind of resource, like a blog post or a product, as a favorite, starred, flagged, or bookmarked. | ||
|
||
Marked toggling component allows users to mark your items via pre-defined icons/emojis. Here how the marked toggling components may look like: | ||
|
||
 | ||
|
||
|
||
you can also customize the marking icons shown in the toggling components. | ||
|
||
## Enabling the Marked Item Feature | ||
|
||
By default, CMS Kit features are disabled. Therefore, you need to enable the features you want, before starting to use it. You can use the [Global Feature](../../Global-Features.md) system to enable/disable CMS Kit features on development time. Alternatively, you can use the ABP Framework's [Feature System](https://docs.abp.io/en/abp/latest/Features) to disable a CMS Kit feature on runtime. | ||
|
||
> Check the ["How to Install" section of the CMS Kit Module documentation](Index.md#how-to-install) to see how to enable/disable CMS Kit features on development time. | ||
## Options | ||
|
||
Marking system provides a simple approach to define your entity type with mark types like favorite or starred. For example, if you want to use the marking system for products, you need to define an entity type named `product` with the icon name. | ||
|
||
`CmsKitMarkedItemOptions` can be configured in YourModule.cs, in the `ConfigureServices` method of your [module](https://docs.abp.io/en/abp/latest/Module-Development-Basics). Example: | ||
|
||
```csharp | ||
Configure<CmsKitMarkedItemOptions>(options => | ||
{ | ||
options.EntityTypes.Add( | ||
new MarkedItemEntityTypeDefinition( | ||
"product", | ||
StandardMarkedItems.Favorite | ||
) | ||
); | ||
}); | ||
``` | ||
|
||
`CmsKitMarkedItemOptions` properties: | ||
|
||
- `EntityTypes`: List of defined entity types (`CmsKitMarkedItemOptions`) in the marking system. | ||
|
||
`MarkedItemEntityTypeDefinition` properties: | ||
|
||
- `EntityType`: Name of the entity type. | ||
- `IconName`: The name of the icon. | ||
|
||
## The Marked Item widget | ||
|
||
The marking system provides a toggle widget to allow users to add/remove the marks from an item. You can place the widget with the item as shown below: | ||
|
||
``` csharp | ||
@await Component.InvokeAsync(typeof (MarkedItemToggleViewComponent), new | ||
{ | ||
entityId = "...", | ||
entityType = "product", | ||
needsConfirmation = true // (optional) | ||
}) | ||
``` | ||
* `entityType` was explained in the previous section. | ||
* `entityId` should be the unique id of the product, in this example. If you have a Product entity, you can use its Id here. | ||
* `needsConfirmation` An optional parameter to let the user confirm when removing the mark. | ||
|
||
# Internals | ||
|
||
## Domain Layer | ||
|
||
#### Aggregates | ||
|
||
This module follows the [Entity Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Entities) guide. | ||
|
||
##### UserMarkedItem | ||
|
||
A user markedItem represents a user has marking on the item. | ||
|
||
- `UserMarkedItem` (aggregate root): Represents a marked item in the system. | ||
|
||
#### Repositories | ||
|
||
This module follows the [Repository Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Repositories) guide. | ||
|
||
Following custom repositories are defined for this feature: | ||
|
||
- `IUserMarkedItemRepository` | ||
|
||
|
||
#### Domain services | ||
|
||
This module follows the [Domain Services Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Domain-Services) guide. | ||
|
||
##### Marked Item Manager | ||
|
||
`MarkedItemManager` is used to perform some operations for the `UserMarkedItem` aggregate root. | ||
|
||
### Application layer | ||
|
||
#### Application services | ||
|
||
- `MarkedItemPublicAppService` (implements `IMarkedItemPublicAppService`): Implements the use cases of marking system. | ||
|
||
### Database providers | ||
|
||
#### Common | ||
|
||
##### Table / collection prefix & schema | ||
|
||
All tables/collections use the `Cms` prefix by default. Set static properties on the `CmsKitDbProperties` class if you need to change the table prefix or set a schema name (if supported by your database provider). | ||
|
||
##### Connection string | ||
|
||
This module uses `CmsKit` for the connection string name. If you don't define a connection string with this name, it fallbacks to the `Default` connection string. | ||
|
||
See the [connection strings](https://docs.abp.io/en/abp/latest/Connection-Strings) documentation for details. | ||
|
||
#### Entity Framework Core | ||
|
||
##### Tables | ||
|
||
- CmsUserMarkedItems | ||
|
||
#### MongoDB | ||
|
||
##### Collections | ||
|
||
- **CmsUserMarkedItems** | ||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
21 changes: 21 additions & 0 deletions
21
modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/IconDictionaryHelper.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
using System.Collections.Generic; | ||
using Volo.Abp; | ||
|
||
namespace Volo.CmsKit.Web.Icons; | ||
|
||
public static class IconDictionaryHelper | ||
{ | ||
public static string GetLocalizedIcon( | ||
Dictionary<string, LocalizableIconDictionary> dictionary, | ||
string name, | ||
string cultureName = null) | ||
{ | ||
var icon = dictionary.GetOrDefault(name); | ||
if (icon == null) | ||
{ | ||
throw new AbpException($"No icon defined for the item with name '{name}'"); | ||
} | ||
|
||
return icon.GetLocalizedIconOrDefault(cultureName); | ||
} | ||
} |
18 changes: 18 additions & 0 deletions
18
modules/cms-kit/src/Volo.CmsKit.Common.Web/Icons/LocalizableIconDictionaryBase.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
using System.Collections.Generic; | ||
using Volo.Abp; | ||
|
||
namespace Volo.CmsKit.Web.Icons; | ||
|
||
public class LocalizableIconDictionaryBase : Dictionary<string, LocalizableIconDictionary> | ||
{ | ||
public string GetLocalizedIcon(string name, string cultureName = null) | ||
{ | ||
var icon = this.GetOrDefault(name); | ||
if (icon == null) | ||
{ | ||
throw new AbpException($"No icon defined for the item with name '{name}'"); | ||
} | ||
|
||
return icon.GetLocalizedIconOrDefault(cultureName); | ||
} | ||
} |
7 changes: 7 additions & 0 deletions
7
modules/cms-kit/src/Volo.CmsKit.Common.Web/MarkedItems/MarkedItemIconDictionary.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
using Volo.CmsKit.Web.Icons; | ||
|
||
namespace Volo.CmsKit.Web.MarkedItems; | ||
|
||
public class MarkedItemIconDictionary : LocalizableIconDictionaryBase | ||
{ | ||
} |
Oops, something went wrong.