From 21c46846fff34461dddab88129aba48b879a3db7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 17 Dec 2020 17:13:19 +0300 Subject: [PATCH 1/4] Added section: Creating a Simple Plug-In --- docs/en/PlugIn-Modules.md | 69 ++++++++++++++++++++- docs/en/images/simple-plug-in-dll-file.png | Bin 0 -> 35011 bytes docs/en/images/simple-plugin-library.png | Bin 0 -> 17231 bytes 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 docs/en/images/simple-plug-in-dll-file.png create mode 100644 docs/en/images/simple-plugin-library.png diff --git a/docs/en/PlugIn-Modules.md b/docs/en/PlugIn-Modules.md index 5df505ade0..5522aec05e 100644 --- a/docs/en/PlugIn-Modules.md +++ b/docs/en/PlugIn-Modules.md @@ -53,4 +53,71 @@ There are two more built-in Plug-In Source implementations: * `PlugInSources.AddFiles()` gets a list of assembly (typically `dll`) files. This is a shortcut of using `FilePlugInSource` class. * `PlugInSources.AddTypes()` gets a list of module class types. If you use this, you need to load the assemblies of the modules yourself, but it provides flexibility when needed. This is a shortcut of using `TypePlugInSource` class. -If you need, you can create your own `IPlugInSource` implementation and add to the `options.PlugInSources` just like the others. \ No newline at end of file +If you need, you can create your own `IPlugInSource` implementation and add to the `options.PlugInSources` just like the others. + +## Creating a Simple Plug-In + +Create a simple **Class Library Project** in a solution: + +![simple-plugin-library](images/simple-plugin-library.png) + +You can add ABP Framework packages you need to use in the module. At least, you should add the `Volo.Abp.Core` package to the project: + +```` +Install-Package Volo.Abp.Core +```` + +Every [module](Module-Development-Basics.md) must declare a class derived from the `AbpModule`. Here, a simple module class that resolves a service and initializes it on the application startup: + +````csharp +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp; +using Volo.Abp.Modularity; + +namespace MyPlugIn +{ + public class MyPlungInModule : AbpModule + { + public override void OnApplicationInitialization(ApplicationInitializationContext context) + { + var myService = context.ServiceProvider + .GetRequiredService(); + + myService.Initialize(); + } + } +} +```` + +`MyService` can be any class registered to [Dependency Injection](Dependency-Injection.md) system, as show below: + +````csharp +using Microsoft.Extensions.Logging; +using Volo.Abp.DependencyInjection; + +namespace MyPlugIn +{ + public class MyService : ITransientDependency + { + private readonly ILogger _logger; + + public MyService(ILogger logger) + { + _logger = logger; + } + + public void Initialize() + { + _logger.LogInformation("MyService has been initialized"); + } + } +} +```` + +Build the project, open the build folder, find the `MyPlugIn.dll`: + +![simple-plug-in-dll-file](images/simple-plug-in-dll-file.png) + +Copy `MyPlugIn.dll` into the plug-in folder (`D:\Temp\MyPlugIns` for this example). + +If you have configured the main application like described above (see Basic Usage section), you should see the `MyService has been initialized` log in the application startup. \ No newline at end of file diff --git a/docs/en/images/simple-plug-in-dll-file.png b/docs/en/images/simple-plug-in-dll-file.png new file mode 100644 index 0000000000000000000000000000000000000000..3155708d68e59ecfc8d2c954f9cb2c5360182766 GIT binary patch literal 35011 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 literal 0 HcmV?d00001 diff --git a/docs/en/images/simple-plugin-library.png b/docs/en/images/simple-plugin-library.png new file mode 100644 index 0000000000000000000000000000000000000000..9fefd57dda8c1cbfa2b597ef441e6ab966623a5a GIT binary patch literal 17231 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 literal 0 HcmV?d00001 From 7fe4c98e45fb5c52c58565658cd3a650ce2d8869 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 17 Dec 2020 18:05:25 +0300 Subject: [PATCH 2/4] Example: Creating a Plug-In With Razor Pages --- docs/en/PlugIn-Modules.md | 94 +++++++++++++++++- docs/en/images/simple-plugin-output.png | Bin 0 -> 39597 bytes .../images/simple-razor-plug-in-dll-file.png | Bin 0 -> 52768 bytes docs/en/images/simple-razor-plugin.png | Bin 0 -> 25725 bytes 4 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 docs/en/images/simple-plugin-output.png create mode 100644 docs/en/images/simple-razor-plug-in-dll-file.png create mode 100644 docs/en/images/simple-razor-plugin.png diff --git a/docs/en/PlugIn-Modules.md b/docs/en/PlugIn-Modules.md index 5522aec05e..c8e6a58169 100644 --- a/docs/en/PlugIn-Modules.md +++ b/docs/en/PlugIn-Modules.md @@ -55,7 +55,7 @@ There are two more built-in Plug-In Source implementations: If you need, you can create your own `IPlugInSource` implementation and add to the `options.PlugInSources` just like the others. -## Creating a Simple Plug-In +## Example: Creating a Simple Plug-In Create a simple **Class Library Project** in a solution: @@ -120,4 +120,94 @@ Build the project, open the build folder, find the `MyPlugIn.dll`: Copy `MyPlugIn.dll` into the plug-in folder (`D:\Temp\MyPlugIns` for this example). -If you have configured the main application like described above (see Basic Usage section), you should see the `MyService has been initialized` log in the application startup. \ No newline at end of file +If you have configured the main application like described above (see Basic Usage section), you should see the `MyService has been initialized` log in the application startup. + +## Example: Creating a Plug-In With Razor Pages + +Creating plug-ins with views inside requires a bit more attention. + +> This example assumes you've [created a new web application](https://abp.io/get-started) using the application startup template and MVC / Razor Pages UI. + +Create a new **Class Library** project in a solution: + +![simple-razor-plugin](images/simple-razor-plugin.png) + +Edit the `.csproj` file content: + +````xml + + + + net5.0 + Library + true + + + + + + + +```` + +* Changed `Sdk` to `Microsoft.NET.Sdk.Web`. +* Added `OutputType` and `IsPackable` properties. +* Added `Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared` NuGet package. + +> Depending on [Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared) package is not required. You can reference to a more base package like [Volo.Abp.AspNetCore.Mvc](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc/). However, if you will build a UI page/component, it is suggested to reference to the [Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared](https://www.nuget.org/packages/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared) package since it is the most high-level package without depending on a particular [theme](UI/AspNetCore/Theming.md). If there is no problem to depend on a particular theme, you can directly reference to the theme's package to be able to use the theme-specific features in your plug-in. + +Then create your module class in the plug-in: + +````csharp +using System.IO; +using System.Reflection; +using Microsoft.AspNetCore.Mvc.ApplicationParts; +using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; +using Volo.Abp.Modularity; + +namespace MyMvcUIPlugIn +{ + [DependsOn(typeof(AbpAspNetCoreMvcUiThemeSharedModule))] + public class MyMvcUIPlugInModule : AbpModule + { + public override void PreConfigureServices(ServiceConfigurationContext context) + { + PreConfigure(mvcBuilder => + { + //Add plugin assembly + mvcBuilder.PartManager.ApplicationParts.Add(new AssemblyPart(typeof(MyMvcUIPlugInModule).Assembly)); + + //Add views assembly + var viewDllPath = Path.Combine(Path.GetDirectoryName(typeof(MyMvcUIPlugInModule).Assembly.Location), "MyMvcUIPlugIn.Views.dll"); + var viewAssembly = new CompiledRazorAssemblyPart(Assembly.LoadFrom(viewDllPath)); + mvcBuilder.PartManager.ApplicationParts.Add(viewAssembly); + }); + } + } +} +```` + +* Depending on the `AbpAspNetCoreMvcUiThemeSharedModule` since we added the related NuGet package. +* Adding the plug-in's assembly to the `PartManager` of ASP.NET Core MVC. This is required by ASP.NET Core. Otherwise, your controllers inside the plug-in doesn't work. +* Adding the plug-in's views assembly to the `PartManager` of ASP.NET Core MVC. This is required by ASP.NET Core. Otherwise, your views inside the plug-in doesn't work. + +You can now add a razor page, like `MyPlugInPage.cshtml` inside the `Pages` folder: + +````html +@page +@model MyMvcUIPlugIn.Pages.MyPlugInPage +

Welcome to my plug-in page

+

This page is located inside a plug-in module! :)

+```` + +Now, you can build the plug-in project. It will produce the following output: + +![simple-razor-plug-in-dll-file](images/simple-razor-plug-in-dll-file.png) + +Copy the `MyMvcUIPlugIn.dll` and `MyMvcUIPlugIn.Views.dll` into the plug-in folder (`D:\Temp\MyPlugIns` for this example). + +If you have configured the main application like described above (see Basic Usage section), you should be able to visit the `/MyPlugInPage` URL when your application: + +![simple-plugin-output](images/simple-plugin-output.png) + diff --git a/docs/en/images/simple-plugin-output.png b/docs/en/images/simple-plugin-output.png new file mode 100644 index 0000000000000000000000000000000000000000..71f6a78c0ea8661a590a4ae37c1c0423eb4f3832 GIT binary patch literal 39597 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 *mZx;M5=kDQtkoFTcl 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 jKZZ(#nrlKgHahlE_2*yW6YAks#e8`k}8rL7K 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 literal 0 HcmV?d00001 diff --git a/docs/en/images/simple-razor-plugin.png b/docs/en/images/simple-razor-plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..92e0e00d2962f7336b23e7f0c53bb732bd091633 GIT binary patch literal 25725 zcma%@WmFyAvaTDF;2I#fySw|sfBnk#Wu) z_x2CQV6`$=&skM(Jue|j3R1`jcnAOhAWOd$e+K~23IG7b0S66!qGm}S4*(>9w796M zYx2R8hlYxJGtd3;T8Vg06Z7@Yj!q+)_r)N`Q&ahK^eu!2s|<(zsr?_BIjXyv35-)ksw{O zkoyJA$hk_c0--8$aA^2Jie)4zp3GHK!b+>o8-?Ndn$KoPPC?EDH28A#TNuTt2w&c- zUub#)h8JtA!Fxf7;XJ=PvXB7VuxRL?FJP+mQIaX}e8?q& zHNWwDsci0C6*0@qUmE9y?{q!l=BAldgwaliXmUz3myu*}`Pr<#OwYR>I9%uv|9XkA zG`FidRq>a=%vj|1w!qVxY&a``qfog}?^MX&Ro~En&MMK22FTzKKdoW6oLpZMYlVgP z{qfJchf)75_5J%WDjV0VXq!PZvkY%!*f!g`$~r7IXHRf5BGjptF#+}Zlq^Sm`(iQ% za>reCcQeZ-S&XH3rGFKlJ9fvLVqH%CcAV^ zMS^?WsKA|);>O{E;G_K(nAcn*AWICF{K|0%QB*`FgHd$7hjpliZjI5duMTo?cXz+P z59G0?m)A{<-gZp)%X|B~F2e;IQ1&o((SM*(9G-9fyv=>2GhIvV^RvgfO@2pEUbKum%n=GsXAFl1PUj1n*|>GdScCc&K+*!$|D_mgl}e3 z@`qPNI#W}LfLWI9m>z0>0U=W3j%4+8?nmTiEY8OtQnBzcxb0FyEVBo^|eg`q=c|@g{K{ zvZ^Q<1XSzsJOmic+s>@`{{DXF>1cEpKM6{tzfVAOH}8X7TFqUHQ!rXmvz$<~Uk&@L z`=R|<+k=#Fu?23YW;kb6eB(4Vgvc#*kx>H4!0>HFY9B!ikC~toJV31H<^%qr-YjN? zCU_2`F?b4?YPlw7vg2yhD5@78>Q$;ktdnZ7Vh}2$*ap|}SYhKcIhy4qADGus)y*-u z!b;GxS)(t@-{sn7c}iSeaadgXEU2w9RK48n!`BdB%1leZ-3=}bhPl7K~3)xdrWPD0Y^ z-HYZWYLUzSTPHgLqu{{3AAYcBmuuN3#VeyT<%G>T1>4r|e2+xxt+uc0(Ou$hTh)C549PKcDn z`r;I7&iNSRhJF>}h{lZO6X;siP{JaH1*Wv_R6a`Bzw@PPWAQ(_@;k$tTj0)f!$p8e zQP9>!CTOwqxO#U@%+k;1T}SR9{Ze(;Q7gqaJWSop)K(gA@lTPC_AB5W)2~va_~e)- zb`?VASE9KSdyX*OeSZcIQU)+l?#jFfVW-siQa-cdmJTmBP~t{ao7%3RSxuEs9=25C z^JIcwesfB~o@>79M~Q`(1U<}}H4kxqP5!F}MY~~Vc-^T=rC!Rofh0o9+DYg`vzLZR z>1&XkM&gobhIlAWC#RV`E$w&;0j&xP`B1->5W{h9%a6nahO?Pf3tX13)8OD)r>Ara z3mcsA+bPBnCkwr6#d%w|eR=r34khK+Fi1&K_iHW6XDx>?Uc*}*T9X-f7sY?_jV=6p zWptqIGI92Eee7~Ywe_TUP|#v^eaXoO!6z#5jT=FhJ8;a|hDBTQWznIDif$+H!+he% z^fjhy%PLpzl?tZy$2qgJW!7I~Qsd#>qGWjnP`yd7Cu#Zod9X=^g;(f}5)A{5%cXi_ z{5b6n6SA-gIxDZ02VPJ7(TUA~d7mY1S1TvWo3wuX(Cf!ZHmx7b9@arxZwfVOnTh4z zWs9PrG1f?mOGsY9q*mbGg%ZljFI5(eQ#A$H$xe%|HXm+nb&4|f*m{P+X1HEQE>Cnt zX6NK?T%$M>>Inh8QPoGi;a_#HW!~NNn)H{=D?Yspn=aV4dVf3_-!Nlew-cSzflZ~E zu2B2_VoaaGkL4VP>4Te0gf)uU4n!^Z^h~M=7FP@mL6*(_<@K3<(_*Zw%%*|25+)H7 zpTcNTYPiU?45O6DOY+~AS=N_oEagwU(%1a;u{}Br0u^4hjbKH}KuOQXdhfg>j8M$R z(y`4LZh93n(ILBruBQpH5v&Fmw4h*TmAE&IsENXjXF|Ze!SM8N_^+rL_T3k55^CXn z?MlI@{ruI%7WY;UGI z3xCb2@1;7~IY)2|CW(;!#Byt&Bj>0d(Do%OiKX3L~tk;qVzI} z@r5ggkFB~wVI~If=$4nX1(e#+MKolltF2o;@qEOCM$)c)FR0(HQRt>I(XQe8#obLN zzM&;}zbj2ck&A7;ZX!mqyB$MyrHZMWVl~Gw={I#CMo~qYJ;${7?bzlU@Esp=5DE>w z(aZGzkTQhud0DhTZ6ek%K)t9!I-+V@hnWB=#vjTzKl|8%+ep4jQY%74pjEpeTO)G` zuBYzk$fhi%zS5LC0$wb>kKw6EqpYt0Ey!`}G+|wZ&Z)Xa*G?1igww6zxutD;yl~y) zb@%vZI`TkHFYrsXahjPVK3k*%PZz?iEZ?;aRj^j^At&4WoMIxIp5&p2MB$p?w+nUp zZ3cJ7qa<*E!IP9<{IF5i?&fv31hz#<@Obp{Nu8nW^lSV>DHMCc#b$?+ET^lrFB~zq zyewofPH~-NAg7;?F}c@VgdhPS=!q}s-9^%~C6n}QM4;>ReAA_)hoGc8CmeWL+-UR0 zaejnuU|;apJf1RX7~qhMb7^+Z7HK4hhQ~-~B$u;%T0O6Mn~19VA52>IXnGNKCwmWTP3fW%9DOTZLxWiM7v@$ z7QVG@#pOL(_G-p&j+-tM9HC6`}q7A93v#xxyK708KjKnGaDTQCU zaJYEK-ug?yuXsQ4I$6jkcUKN~9~>MYAt5=okb3ETW^xkyxHtZ@@nQ4ZkJSEzApYT} zuey4lv@nw1;HN=jnE>fBicw#b-YHqSL@vFy2Yk!R6K5+rJ(Eqvnl3jH`K&8C#v$u) zP6L!i7Q<<}+o*N9+^;Jqr{J!h3@w{WRC)&CQt$$I%GEY1eeh=<)IK$Tp*0LsL|muQYPTSR9um#Y~Ro@uM%VBr7i^7b(2#04b%=oAmqw zdrTOOWI3o&0~eMb=YtqDH3s9;a;chUb~qFGiBQ=vx}W{3piGGxH2E7n0SV)m00(#E z@nL^^Zs3=saz+LL0?WJO_Zz=p>^6x5D<@-o)*P?dy4{0T6%s$aVArD+aF@_=N)Pdd zq*Tvxm^yzWU61?fS<&XJ5;xsxAvcg|FaFWimRQxHNzo-Xhu?i;THp4EL?abBf-1a# z(bO=tKv4UhXnF!&n>)7xYi96*>wKD(_IROEGnt2OvaV%_C>nvwphKs{_MgyIy2&AjX-#AZUlTU#VN?po>_(Ps z+P%U#r!bT27emq5I30Pg(4m25^u5JoaH7XW%q=Y~&CTt4hZ(LBudlg9@_KG;iMVB> zDEE(GajT8-4Sc|5c%an9n59I^6yUYeP4>E5Lui?lpDr9Ch`oSe&EW6=@JhAnmRId zV0n}J%`~b3J;zfNV+gG@#)q}lRFF|Wxm3(}Y~b*hbVoFEkphy7uAgfOh26yK>?JzB zeEUAcSbw~2d4^xI_3+>Q7gRHot&`9(m~aig1fsb_w7?GzC2{i$91TxqcNsxN5v8Gh z@ipYi;fdhQqjp|f=MMV1NU$fbpqU9HlHxHohP>vgoPs-&UvYgFxMvDQ#*-Qa-xW|l zS*fxA1DV=Eb`1;xdxW;R2!?$;sYZ~~3`1|R0;z2l+^Fo5C(4yO@|lKGT!i^G@1%H^ z_puesY~YZjB{aFDWaMj^!vqHhuXi#l(4DBp4HkdeJ7~&pD(+0I(K%I3EYudvf4Imx zDVhpd4M~)T--}(Sfg+JxeE0M6tPR2)JN;olKxV>oXfLH;+KLLpe>nI%OW^D~w~xQE zcEWXOdAOVo3vPaN%9m19E;ie6d~V>>7>=0!=q|D3VPhUH{&zKmH79!+9@8@%YNBOX zQcX1&C(f*2u|*q2i=?H996tJVH{~DQBMW z1XfSyRNQ8|h!Ep{rj~PfnRfqd?E^k-#+Gc{>O&cnd5Ba5MoCOr?5DS0a?fhwe{^)L zp~gBs3c%V;U&3Z)BVu5DX)_-N)GAu3h(2X60vjB^i!m{g*F|+3!+ubaez0@v+L&M~@k^uiJUHG)%s%W9h8S{C-zE6qoKXUD%=aJl7`s`q9T z^EIlg<_-AMp1S$wq@R%xVCe?6jz%xttp~a!h2sUmz~(Y*9{o-k$@oj6_~qeAoW5$f zQ!ag+saN0z1LF*Cj*dEY*$wuxGs3@3IvY30dcn`xj-S#r7gf8u5E{oww}{=%ljPU< z+i8jY|Dfo@IT>J;C%g&wg&i(>yphFq=K;(m^boa*KIwwqskS0Kg&pXD}4w7bbS zvh5=@Z*}Sz?<&jhxh76SQ4}x{w*p8a*W=w}*T(Mf6T;+G&Sj@VcH>$lI_htsS zi_CI%pdi&vg*W8})5Qx4P8H^=++{5--&y8$%Yx#Qt8B#>R0-#rTMRFnk7B?h1MG13 z-Y|N18*}VA>Z54<*xvRJ3`pU>yMeptzb2tFGqDYhL7==_9we4sQ6@ts*6xB-z01AC3y%;(ya*6swjUbI%oX@w;Yx_?G@O^4DD-SIH^}?gSGcIc}MrgGkchvo6a+i6qqjvfCwLjlOLsfvfWP^t(xY!BMId`8E z>$(oMckY}_4-l2cqor|zYZT5xC(9PYyk<|`dYb3Ku9p(fz|+*k#QJ0FFsFl_$;7T#gQBmcNj+7>HV%+(kjKR5 znhrVM)42&fIJ6kwds?Fkrk zBoSH4h6)YT9Fk^2VydJu2J8ksu_z^Mx71zNN4|Ut!M8)PbH1$($E{%|y8F%0$?!gZ zODZgcv6yjYKoM*DO7OZJ48Q6_sCB8=+h1biFE$f*K6P5fntcYd@Mm#Bd%H`Aky%*V zD#qK;2GQ~$l_YUQ9*jOc|Huj>T$fvW|CSXxy4b)NwD1}V&|)UWB%UXgF&d96H1*e{ zD`j|+wP1W8l= z7`J6mbwFu!&k;Z;82MZL|61}m)0N=A4zc@gg!D?xsRC#{z3)Dpo8J??QewGgiQHbB zN;oCBzYwvd!0;m*!9mc{bvRb*%{*&kk24_mw4?!ap5}+<21eb4Cn*Ar_N(god`HX7 zrClpcClXKm9x4PFXj$GEVn#m)S9P}I%m^TcS#j4A|#gOW0UjJOJH<<++(^r+`PN&QY$6@y1u<`+}ket zo75-|%JUew(GJH z;jvP*Gjz=Tb@m-MW8sC!xUix9^c6=W>(c5{?02$EGIEdHM5ADvi*H@IXMt-?!c~rv z%?DM4mYPMT*^T$&FN}cn-nZMh7@>FV?3s{k9Mcs-y+}vBc~5vFrz-urs2A-Nh?DR$ zp+dJ|CTONa9h3};`Q^GeX!S~1hK={i$D-Y6X1S$_%pZzMcG54E802o+L3x9Hl9|pb z+4M7+%y#ima4gFJNzwK1?w5r*ccD`$zw|`Wb968f42lHRH4s10YL11h*6cqjn`4pu zt1$2JZ@8g-y|&){U_;Bd6bFi*8sQvzp$>;Bf=}DVf`Gu&2A+-mPuG)*`Ssgs{Kbvl z?KGVi&oi3nWBG0GBSPV~ZajspSh(l1T_sSz4#!`~rPp0Dn$=71$f7Mpg!-zimuhG4 zUv>EovMF2S3tzBeal*htE(vr5pJ}1`!B9SQ@=%sFSD#8oV}H}HL`rqK1lz|@aIQCe zTR|NU7g15kYo;D2%0DU8`b!#)LfNo)|Cq+zu2h^hjt7MEtHZqI;Pq=tr2UWY;aH|G zB-|q8|0%T95%8==rs{Rlu<77m04iYyx^Bha10DT=KO%WA3eC48Kymf>4L4UJUo!@q zgT-dz-@;igF=ijc{IR(Q7nPvUf+$9QKmkcEN!^zKnZY z>x|dA7#*yLb@v~b3L}33fbvB39~(AKILde!gfIZyErCDfKI8?sJ~UtdvahTLXOPgg)PcM>uskP`&&bg5 z&tbjo;@mZb+zlj=kLqQ(lLX2*pH7|Ez~qy`0ON!RZF2DVi4wq4UCDF1qccsCI-udY zwwDruf~bMT4!bV;=&aSuqeh`w0@h>|?z!{Q)rh2D8NfW}cM1vh-cg&0qJXd%Tg8)h zPYZ8iZ}#A~K^?pbwx{`A@b!X%YCivt0&8>|`l5w4j@qnP5qrY&%Cb_*-kQqv5J%SG zanUw!R|%AB_Bug1UCHydXy2mg1MAY+A5$a4#E>j*8{`Vp?nFyO2g`QT++0RX3~N1Q zU3#I15Nu&$NH=OdGwR@(NJ&f366(rKQ-k2<6!>PVc%Nr}DlN~=?HL(CoM;d2g#*lO zKAsE?#YNEqcn2tw_8r7r^M=SKuvgI`g(%>VIqj?CIj7-lQ3l%$Gg%qcb`mJm7;0;{ z@=RW>c=wnfKdbG4nATpuuw6YRmC;sPN(I$oYq&bXS3PufLi5ZtrCdfXuTRc$hbS_= zc_#s8PI_b|nMSQ#Jx?^f!o8a1d!~oN7iM4X{lHIxp)f}9-V|=2AgZ~8g{+UF z&&}Os-c9r^ca@jaM-p?hpRVU=__Fyb_m#NCUXICoc^(E{#Y%At z2c}Hbx{ZM7E=28jqk~8-$ zp-vgCa%cz)n2kt)V^GlDp}V2X1JWhxOddg#HJ^`TI$>J*B_!LT+4NFD?YRg916%NZ z8~s=0`!2ZuSz=<&xHPEvZ7!M*<)}|KZ3lM0r9djr{^jXQ1!)Bn%_5DQ>@7>Hc2DVx zGft~iwuJWdOVu`Pw37Z&^VphdJ@y0~S*mQaZI-XUs46#m7Iz^-(2OBul>%3r( z0St${o8L9_uPE`)d@5!P)XxkQc#U1ng)O@;VkFcWsUp|ccu@cmv`UG(G-OwJn;BxJ z?>sz_kt#w5Q3haaGOZ%zH=W?()M43^22rf!INERro$}Tzbyup4U z%wyc`KuplUsaVA_Z_iX+IX!1fw^bIhznN?4&My31M|P>q6c|zbpr&}8M-L6I1^rf; zYFp%BR^VQIe<4gm9e{@Z9~BFmZMV!Vx}(b3 znpuV$Yx{qL8p|6lPft%D9v;@3m=cbCu-T)qm>=|U+u~2`fu_<#5V%fp z_XqFL;BpMzT6`z}l*R9QzmJ-B6G>&g^(#M$3@{K(dj-@Sai=|UJ)Qf!5!|V_<-H#E zJGvg>Z1S;5X8f&2(PGIj)Yc1;8}1F|m=(H@qPAYjh`qGIk#yPqAR0ZaqFD`hH~G%rHz^_79&ca z@T=?ZBn%?WJkJkF2qoIT`1XhSbr}`la5XXa7B{!Ix$V|E;W4O!p-|oZ7HjVi?7RCB zBE`Q@F+uuIlWz(&U+Kp1OQ&{bYuAWvCACBzo#jJnT+*rhUGYr}K-S>YZrx%&0u8JI zq5pvz{#A}Lk(i(4`#mZ%yJgXXrDibqXx{(AFqp&N{F#0ztIE2xoLNd*N^yZ|75*gC z8f_u^L-P@Xz^f0L)L-BS&18i3tiy`Z{G2;hG1uyW_v}1)PRAdobmM6XO@xcPBT@*Q z+e_s_q0ZnlW!MlP zA|pS{jd*i;-8v4SXTQr=rNd^_y0}|;S~j+9w53VGquP@Uye!R|!v(}9_=$N3O9zjmo}kf6lKAsp#f zp2Q_QpW#%&g^7vtLH3bgyQ9mMd#SngQ)_L9`Rc7`L87Ny+s6)LHu*H6hXk`!(Su#{ zCcgOxO8;-lk{LGl`6VSVz5$5X(5>Z0Jx3$jAWq=-`x6|BS=jVaTFusMxlt^%u8VD? zjV(N>@gz7BK3ZB@fWdsF1@P%|Pwh>b=>t=kVuSl-LAHqEcGK7nIf$i@f;z$}j`(IN z%Kc6$Y^*>K&%76@|3yY+G?YL}Yr>I0(POn!>yL7F%8ajye>}2(A2J051#xq5EH=71 zYz-zjQIrlxXQy#c^I7{EO=HGk1dR*wA|t7$o-;2cz+OJUeOU9Tse z%(I!}Y(`@wW-RX~)T$#FCu1$#T72a`-co8>JbLf5WTC^KMEpY;&MHl z8XXQ)WR(vLY&Ll2^YhP*BARnY-`!4c;&)byEW9+ zXO4ZI?!X)Q2L{?K)nB@_+$|k@UpIhb5^8sJ-SXt6uCD%DBh@{ zmkrJdjfd>{+YBKeyoC3XM1`dfm!))j=vWR$rjcnj7-w*qO57koW3#cI+`F=p#%juz zuH1)&mqgOfm>N~Lw9SNc~pRAB*gp_5&OB+`(U5Jvgc zr@1moM)HY%n%WOVu)e*c$KlQ(v&1y|a;voypbF&JPZ&fGb6D%B0|}CD95TppD+*9w zUmyB+yG@&NDm^`lm{4hs5)wH?&JJRxHW^WSFc96{$G&T7AaNVw2#m9o6-gM1r<4=C zwiWJA9oRc3kXu~6rwmw#zRIUuwtdB_T1RrT5;qc_NJaG{{vyuG=PnK9Oi7?$V+9V8 zET!3cIJnMp{>Ux0V)AwPJ5#~5MpGM_c;<|QnkNg-s~Rh?@{I8})Ljt9{&{cUHV!!z ztJS<)HK!OxW1Ak$8)kgyaVE#uMk_BYEX>W73U{96r+_>IG2+Hd$LrouU+X4h`c6aL zJ6{c`+@jXKi!vii6cW%|Kfw&js+`@BzEZx~Uny}jOJcLcD{N8qczjn( zL=h^!SuxQz(4I*Kg(v@XA+C!PlYH(zpIDdSI^p>E?l52gjnk#i=Yfm2{}3-z{b8Sf zK~?$W@J6<3+mW~Bx0}5(eNEV% zw=pR0J75C4hugcv|0*U71IjkG#Rtl_&ZQqsD@10v((={w;$VT8TYf7W(DE>XH^5@E zb#H7tLLaJ`bs1+FDC{h*`gnW!lcsz4>Beuyqvyl>LQa^H&#apR4)Rhi4{;{SJ%e%6 z%~9y}25$X>h|5Gvui0|O@@&wGz%ge@73)mz6Sa76bul`ami^73 z>y_Dv7J{OuCmB$=Vo~F9xRn>lsxq8!i;L)WbAz+LoQeF!~ z|HP^AMzULu*QeloYJWEoV>g#`dDze_ z7d@P)r)u^*q*%NTs;K>xwdI+m%}FwyTJ?Z~TPWz^_D7f8crgopP_)9I`?!nOPV3zp z`lQs4k5>1$0sB5a+sCnR*nc#BGdQh$sq29dz3{zSICL&uqK-_PHojoIcq65-t;n15 z$FS(?V6!s7AtnsFb){1-YL^v}9Exd%ui?@oCuW%-cG*h~l4a85;&!Y!cF9P}jWZG# zlTv4J(c78siUoAnES%KC#gueu zVwf23(#x*~k(sN0G*b3U(0>>!A(Fz~$8Xyur?+F-%V6kVwR6S#pgfGtjs{s2&9Gr$ z%T0Tm8!WtR(YRi;v9fY==TW$_?>_qqI4<>BxxJJUet-kw(;6~R0881ffaN~nPY=Dt zrD=vaA#4t6I1EZm#s^={^Ltk-$*6J}AR^!}f^Xw=X_w2xBGD8SP{_>hi95@& z*={k|Mb3?nZ8<_tx78iIkdo{a+rifOzHco}*lXh5Be?@F&gs?2%!a*ASSn z)Tsz85L~V1KWn`pIVl$bTm{bT%*=|tJ*s&AAjYGW-HEINETacV^sOi#~gSdGbe$YvaZa>ml+3-&F*)DX%ZWq(V_l!A`?zH z38FR+W2I2({r#_>ucj$IJZiTh(i%Ng7G4D8k}6qA z19QR!Nl0R$4v%`i`NyWRme$+v%QeJ4Wyb2OW3oB!op}}+$`cTD`OCQe>-#+)y_TIW zT!?e|NskYcun)#u)i@C`m7J65&Yd zTRcf9%t(tp6vWw`bx#DL&3i z4RcG&;}dq+zyoydpH~VfNU6(q4b=@x7VfEccR!KjCpjpASua}@TsCl7Ss{iQh*AFj zBcQ2}WRH1@sG4va9TMm(`IjOmC@%c3JorDo!P<88v1a9;gdRU)TT4s4@;4st?(+)^FQB1+Ra88m&4IV#^YlP26^Z%g z&Et96Q+Q-#Y@hMU!;#BK3jfU16c!Fn?~b+y9O*i2Ks~G3*qT|Y7t>|_Ttx&UBl(*{ zA|cP&rKOa_#Cr2FvaGQ`-T1bXQ&WQf6Qb_Zhn!E#6!$*g}zz_~taj zldi*TPDb!jWuc?v8jZC4c|9_Mn;_XxUk@0pwg&*84ra?iWkIXO0~{oM*v*C#)wHxM)kOv;o7~QGG+g22N$_Os ztzmG35dtiC-Q__RbuM*?aIUH4OJ)i+%X?=7#e_fh(G8H^S&@;wZl;u@0kC-~z&3K& z$q{wFJ@TTpK&>!GF2V5OD4JH~eX*7a?eF|#%R$!M?wksgE? z4@X=|Q@JRKvac{g>u5tPi zS5qARwN_otOV=FoyY`V1R)rL9==0N$IyRzXHQg2_4$>aGUkP@K1Gby`HkF|S&q%a> za>uJIgS=)v@Ve|bx!4piE3gWDnty(!XO?phx;9(L4fj9po+BEo5s?x?N zxG6Duw{I1|EWm=#<|RD!sVyq$R;aIUNMFk*+&^53qX2*3)jN{sr&#B654>q3`tJIe z-0;(<6HsoUcpaiwx>8|=3LGrfsbnaDv&v{BRS>kmTpzEbaajD=PU41x&aAwq{s#aC z`KBYm8}~v#eiaq4=~yXk`(g2i)4RjfCR?pHjOl*~`+T*&HnrY06*sZdHA_d$^LTb012R3lzS$7~9Qb?11F9UeBPp-h zj=)u+p%HHz)T)n`8eF!AQ}|tuDyyn^!yQ2B4BSw%bhWjUT#uSOuEApjW?8?}389QB zy)$Upg6gLST@mQCH3-zfTGn-5q96oppk^PB^$f;V^OCLe^kD5V?|!6?7hJ9c&jJdn z9_Sp0hlFrmLIH-Hr4-8EXs3)EpLr$Sn1@N%z&mu7>Q)ih;cRz?^n+h>*q8!CnZve1 zxv#5@%im2(ss{`hK~=Do;p;dU{*r)*YA=~DYl3^vf@M&g!L>t_!H)jhm02VbPW|5` z^aQ~gq`n5DsAY~rvhqpfnI52#!)tV#P+-uye`B59rLk#P+7gv?9UV+~dkfcjS%(7x z0*W;&w(@gRp?wn*@#=J#qWW&ZhG0DSGU--&Tu!Ou( z$8WHjVaght9UEhjrM9;U^Vfc6C0$E7DQd#CLS=z}`4lzS1kd~WOM2u6iv=#W=CO);R%#B0 zK@T??P*w)YOotL5$;$!*1FNgKy5l=u4oF8)v37&(4<6pZaj8m<9B6Zk$Of4{kn?bQ z?&B^t-{p&<{q39CsC`KJH6|OA+RZvW$*+g26Yv7vFK8V>4ZhJ@^~7}|hOg~|P#B`v z&I_a4vt++6=r7R@v9r>>u3+sm$m?=-&hA5h`mQ7m{aSDa(%Y5cZbBC9I7-MvzVM%LO&s!I?$1^xJ$x{XB5Kv`S)0BF{ zVby0nJ3VORmyErb`lBkQyXImpTqg_z!dGe?666EG`8#askc;}afmSDfn>Pd(^X)W@ zilryh!AzL=kja(E=-1?B%Z7)~hI8SXdirKOJVKEDr0s^G38KXqeZV5KQRLpcsQgoDy`vuT*&IXJU z=2+ME)kB*X6r2Z`_~yQWff(8B|ItZdvie=GFk zDI6`&#D7m6?y)CeUI);Szmyc@wYFU^sBImv8Z%7&><&q?fUj?V?1E9t;KzIJK$Vf{ zMs+)|rAB2Kj1mgPtDxXEdP#rf9(ul%i*!u0v{Akiiz+r@kz*=4p8+w>g!&t`(?lN7 zB*y~)qN8s%y(M{RJ7HN)2Q(Kcs0dx1YxLQEfJ+OQwH=PX1Ac?ckfCK?X9z~hgLjZa zNu0*5|5)Iq7RmKGl~vu$vd1Qk`9?{C2_5wVbG-jwCjpB`bn2uU!!_Yipu z;%~c0xS${F%Hho@Z$QXVNiS@gJc|`V_{-)Z2aL!b^x{Yjj{TFQfW38 z_-7~Q|7NEA{~+@I1@cwGQsF);wSKUui?p}|1P6!1XpmlmvAjs6)(0L?4>iJw*bAnQ z<*C`^or~QzW|9$VDzyK}CjnwzVp)7^(RY7AJT|;3!O;Hz^VpWb^J^jCp0yX|s@FTW zclhvGORvBd4Lq3XeFI&Pthf;%r}83pzN_Po3 zH%Bm7(1Y;a*4*|xbaX&Ria#~&{637CwHq*K6z4}r2&6iViC(XDWnvfNd>oB@VUo2# z4*^RaCGPj}|I^Lb{rzygjKuQm!Lt4sfAw=O`wCg0#cumox8My&HMzg*^STTPw>HFa zcym~^zIduApATrXNfp3az=6ou~6UG_6c@Q?ZoJzI1-G9D^|1p;vEI<5cUN|6) z{mY41PB=1B?mdHVXA}L8sZTkSnzXYJ#1yM}@E2|jl3xJkn299s=dVGGD5hMsqsNZm z1t2cwBrPhcm%kK``Y)>;RjkE-!fM5QznW|#D@)t|OK#|E&4lzXWKFX_8nY=uUo=Y& z;`v-wt7M75VHP`@D^lSqDjtJ58A5H)&v0gk_w|pfPtE`iqmfYN`s2u8aM> zVR@cU<#`tmY-qS+DyyhVzU}C=juVfIkA#@*9s(WPFPEHdFf)$Z;tpPK+$cH(twHr2 z4UB#j%{U=mG34L@+$RJWp~WwfKnlyu666YEY(udU?+mmhvvEEbQu~J!fQ7K6rf|)9 z6Hm~8brQLsk{I3Izc|)fOLqPFj+%w4LSP7k90PO~DMHwCMg{~KHDLJwB}O#|(Dz$3 z!4IY?SZb_Pvhs@PUwe5_fJEfWX%jj;^S4sLiW$mFvnIF;P`;?0yxnW;EAIRgdvFNz zKXj6$tVmD_R2@uC39#EF0BWJi3NWq7%=np(*?Og!`1qrQmT_vYJdI9h*skwPW~sh* zHux>C;R_=eQ9$oap&Mmi*$Q9(YltU2_|*)(Uheit#sEb}+kfmX*3&q_yQB$?ZZE0f zV9ZO#MF~bOhs^rP01=j*!}T~XvAk~*fDzkeWX%)`;zjd+PbZYe5lA~>!D+JZN!}~k zLb(9|)$67DNmU5 z;G8F~<7g-E%vH)GH-gS2`@D@-CFPt}h7z<^!J++c$45nClktB9{qvMpjD_zt#O6K= znlyFv{|lo@S3C6ogCrwMYUD3p^!jpGBQXRjoE0|>%|u@{#-Jvp60~5%IYzR2xed1& zLRqNslL`ew2yw~r0;miag!D`vH3^LJttZ~~BPt*Uk59@EYC5mgH7Il9!yytgtku?s(K_=0Qwznw->vGm20l+Y`IDbM*~3ZAtCyLe}} zbVflf4(LB3ePhLwp#8c=j8Wy-m0wKhD z6dBnX&$D$LVX(_M5ji0N|CQ*%BGMY30~q(JM-VCf!>us)dNszrJtZ{-7Vpn=+35)M zd`_odjB|iy^UimU;1T8eHw&QjQR10VH5Q;2YfI<%e5Unpt@-}Oum2eeldsz2n}6kn z&ctiK{Ez76{|D#4knytJrC@4wa#8c`-{69vM($nbLz7{fH!5h}hjM=}<>^nx27OyS z0W#cH9G`D?UiW-x7X6Oa!x}ggQ3>%y8z+v~>vjDS-}rGLl%j6PIqvLdG5_SRW$RYZ z=1&x{Mve^Q{@7*?B zRWF5xSLoX3cbsB3IAbmro(U=-ATOsPlSQpbzGZ*Yw!j z*xZ~2?`C-q5h7f=Pl7+%*Nlj^VC<@z8W(5hKn0`)p{J=`(lL|)j>@SPr&Hm?V{T32 zpXO3hXWe3PN3eKwNTqg+d&^dKqgJKid$#1aV z?B7oFAp(d5Tt}y-IML7Tze=n4hv!Whv+0jjwZteYX5C$qtZo^ZIN(wI5W4 z<>m&;!D0F79L4djX`f?-J!*NJ6_z$b`^M0#Ljw^YE07A|{w_72*)<|?r&AD*zk6y< z{hl5*@)v>IhpYKb#YT$eH@Qp>EraMj$#04PAgYhz@$DEG>qWs=>@7QPL~t*T2PhqZ z^|Kj0w%AgqZx4gi8@f~|-w0~GMb|Y6;KaxqI7#`I0E{kQ0syFWnbRJ;U{46{)4qEA zaJ*a$5{8Vuz4(_aU3o6Q(WQJCgvUF-FP<|uQ%Lfkw9gK6N}OB}7kY!(Qw|^B-89RQxnvnVloVf3%}QhUebxxK{B z!uNmnpFVqMpaim38_9vnO&wDf2nGk$*bu(*BY8yqz78VPa~?GmsJZQ9YwXx-=roFY z)tgnI@j7b>eT|i)fP9&7p-R9!GMNlp-^YFP1%Nj3u9Msv^;n19>*4d!w@;<$0KpNO zsbDoC3W{@!g#~CU6v%x+C@uj#g1q(ab|zi$S3{|HG_{%aO6xhk3zOAilyGXGxR3*B zYUbOw>gQ~tIEUV7BN<9kKqJN>sHF1o^S6La0Q=CzuQ!(lirmh`cY7!0r6~OLsDO5j zO%;LL^^!{$Hoba@fcJgvojf^SLE-1^bxvGmtYMq!XK?_Yj}cr-mrCb(rvf8OL2E7?y!gV`_5k9-shjQPFB`pWrfKz zlT4ob`dxEhPh2-=>@!-tZErJ5PhH>{Nd!;1ga;jSiv(B`jN{7%oWABRH2-5-l*7sJ zxt>*{bbe#??_K?(($akYlbp`(12ebZSCnL#oX2LFIQXhy2GA$1=BjOv$thVc=x8e*dpD!*hk&;^eL-aTU%GX#rsZ?V_cnaPf}bJ-@(+5%YGrRF~6(=CQvW2FfH~ogZd7u0wheu z8%y5M7q~*2=T|WNr8)w2Li9S{NFFtu! zE|AgOmRrwMMGvdm8d%K-tz{1q)wnoNFWbr>)*%mGpDP)~)$k~J|IikxVt;~GZ|SwI zeqldvSbWvRxCVN57;P{tXL&Uc63gxbN(03v1olZpbEG~T8**-UK>j*>By-_{2nX~J z$uD{HI>%2EZ`xVRsOKdS+n>MmtYk27a5#>Blcj*YuO#_zNn0gSF8AO~OeQz^hkKIR zIa741l)w3N^ar~ZQ&m4vTl8i)f;D$P_B4aS{HkSkENI3iwj{!~WBeK>+}7{Qj)Uv3zU%3B@0y^0Dy!xYPEU%JGWnB;u{IBFog71 zFC%#VfYPJz+bNtsW)DT{PPd9~*y=B}agLL)2y?}FSwuvX;+u}q@OgT%$3oWMPq}wy zK0HL`t@SdQL~@?(3fOn&o%I`tPLtJT9q?@#xUQ_xC@fJ1eQgr)#U2 zJ-P5~U#V|oRrlEhkCdoLQII@!OV^X2op%uWv5(OrPr*)X6I}j=AaMuv;NRu9+2U8- z?Gth>krL#GW*Ix%+wUD5dPc50wa7p-fJ=m$sZAUQ2oC{`d&9V~XF{A5e|`UVz&*!= z!yjQ({dLSwOLzavxbH&)|J8zKYtL!u=Pio=)c*^ld$R|XI`RMZ8BsH`Cqz|r$Nq

wlL(BEY(XaGsJ{4cZ?-2dPR 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 q>M@NXCk|ttVwo315l_y(N9RgyyQ{~`1b Date: Thu, 17 Dec 2020 18:22:11 +0300 Subject: [PATCH 3/4] Update PlugIn-Modules.md --- docs/en/PlugIn-Modules.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/en/PlugIn-Modules.md b/docs/en/PlugIn-Modules.md index c8e6a58169..1d613582ab 100644 --- a/docs/en/PlugIn-Modules.md +++ b/docs/en/PlugIn-Modules.md @@ -211,3 +211,23 @@ If you have configured the main application like described above (see Basic Usag ![simple-plugin-output](images/simple-plugin-output.png) +## Discussions + +In real world, your plug-in may have some external dependencies. Also, your application might be designed to support plug-ins. All these are your own system requirements. What ABP does is just loading modules on the application startup. What you do inside that modules is up to you. + +However, we can provide a few suggestions for some common cases. + +### Library Dependencies + +For package/dll dependencies, you can copy the related dlls to the plug-in folder. ABP automatically loads all assemblies in the folder and your plug-in will work as expected. + +> See [Microsoft's documentation](https://docs.microsoft.com/en-us/dotnet/core/tutorials/creating-app-with-plugin-support#plugin-with-library-dependencies) for some additional explanations for that case. + +### Database Schema + +If your module uses a relational database and [Entity Framework Core](Entity-Framework-Core.md), it will need to have its tables available in the database. There are different ways to ensure the tables have been created when an application uses the plug-in. Some examples; + +1. The Plugin may check if the database tables does exists and create the tables on the application startup or migrate them if the plug-in has been updated and requires some schema changes. You can use EF Core's migration API to do that. +2. You can improve the `DbMigrator` application to find migrations of the plug-ins and execute them. + +There may be other solutions. For example, if your DB admin doesn't allow you to change the database schema in the application code, you may need to manually send a SQL file to the database admin to apply it to the database. \ No newline at end of file From 831e9fff0c8df7050a4cdb210594e9868ca279a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 17 Dec 2020 18:24:08 +0300 Subject: [PATCH 4/4] Update docs-nav.json --- docs/en/docs-nav.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 19a8589e1a..edfebc9544 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -349,7 +349,8 @@ "path": "Module-Development-Basics.md" }, { - "text": "Plug-In Modules" + "text": "Plug-In Modules", + "path": "PlugIn-Modules.md" }, { "text": "Customizing the Application Modules",