From 318eea9e1473516b49ebb7ffd9f1558b979ccdfb Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 28 Jul 2021 09:56:26 +0300 Subject: [PATCH] Add CmsKit Menus documentation --- docs/en/Modules/Cms-Kit/Index.md | 1 + docs/en/Modules/Cms-Kit/Menus.md | 88 ++++++++++++++++++ docs/en/images/cmskit-module-menus-page.png | Bin 0 -> 18205 bytes docs/en/images/cmskit-module-menus-public.png | Bin 0 -> 12540 bytes 4 files changed, 89 insertions(+) create mode 100644 docs/en/Modules/Cms-Kit/Menus.md create mode 100644 docs/en/images/cmskit-module-menus-page.png create mode 100644 docs/en/images/cmskit-module-menus-public.png diff --git a/docs/en/Modules/Cms-Kit/Index.md b/docs/en/Modules/Cms-Kit/Index.md index fbdc37ec18..eb08a0c53c 100644 --- a/docs/en/Modules/Cms-Kit/Index.md +++ b/docs/en/Modules/Cms-Kit/Index.md @@ -12,6 +12,7 @@ The following features are currently available: * Provides a [**comment**](Comments.md) system to add comments feature to any kind of resource, like blog post or a product review page. * Provides a [**reaction**](Reactions.md) system to add reactions (smileys) feature to any kind of resource, like a blog post or a comment. * Provides a [**rating**](Ratings.md) system to add rating feature to any kind of resource. +* Provides a [**menu**](Menus.md) system to manage public menus dynamically. Click to a feature to understand and learn how to use it. diff --git a/docs/en/Modules/Cms-Kit/Menus.md b/docs/en/Modules/Cms-Kit/Menus.md new file mode 100644 index 0000000000..87486326da --- /dev/null +++ b/docs/en/Modules/Cms-Kit/Menus.md @@ -0,0 +1,88 @@ +# CMS Kit: Pages + +CMS Kit Menu system allows to manage public menus dynamically. + +## The User Interface + +### Menu items + +CMS Kit module admin side adds the following items to the main menu, under the *CMS* menu item: + +* **Menus**: Menu management page. + +`CmsKitAdminMenus` class has the constants for the menu item names. + +### Menus + +#### Menu Management + +Menus page is used to manage dynamic public menus in the system. + +![cms-kit-menus-page](../../images/cmskit-module-menus-page.png) + + + +Created menus will be visible on public site. + +![cms-kit-public-menus](../../images//cmskit-module-menus-public.png) + +# Internals + +## Domain Layer + +#### Aggregates + +This module follows the [Entity Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Entities) guide. + +##### Menus + +- `MenuItem` (aggregate root): A Menu Item presents a single node at menu tree. + +#### 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: + +- `IMenuItemRepository` + +#### Domain services + +This module follows the [Domain Services Best Practices & Conventions](https://docs.abp.io/en/abp/latest/Best-Practices/Domain-Services) guide. + +##### Menu Item Manager + +`MenuItemManager` is used to perform some operations for the `MenuItemManager` aggregate root. + +### Application layer + +#### Application services + +- `MenuItemAdminAppService` (implements `IMenuItemAdminAppService`): Implements the management operations of menu system. +- `MenuItemPublicAppService` (implements `IMenuItemPublicAppService`): Implements the public use cases of menu 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 + +- CmsMenuItems + +#### MongoDB + +##### Collections + +- CmsMenuItems \ No newline at end of file diff --git a/docs/en/images/cmskit-module-menus-page.png b/docs/en/images/cmskit-module-menus-page.png new file mode 100644 index 0000000000000000000000000000000000000000..c2657637880230eb512a62d2657b6ce7f2ad7f90 GIT binary patch literal 18205 zcmd_Sc{p3&+b^u6s;ah%qUcDCX=^Hqma5h~tGTLXF$F=84u-ahwu+kPF_M_)&{hql zf*?Ue%poK(&*bP=zu)uxe&@a3^IYe7|9H;z-q$78-h1t9uX|W)-S_9d_kOFZt;TYa z`y>Mc1Iyz_5A+!rj&3k89MV5=eE*F5hE2u(ze6B>HDv|_`r_>V!BL0%TK5?kN}`!} zY>w?8GkH8R1u-z3ZuuN?n8w$|f){d@blLb%5^T z#b(uK`?TR*+PV`+DePjG(&gbJ`*(~#NLd@@Sxo~7m4QJH6azb@yUJ`K_XKt~0Bd0}Jr3{U6ocWP3^UgqSTSGnC~LjVM+23#K4QBtFVaMpDpzZ) zBkYIs(L;sDz{Bt&g^}r68U5(SJ629`#r{GyHAj7RMG1y`3YaBzf>%e5GkyRohd5$x zJUb{ew-7N!9;>Z0mzY9Y=G*ZP0AKX4eKO4PcFi-^(ttjKkv8<$gFnM!W%DS{nHahm za-uK5`8rRQ+wZ}K9IK4NAy8nCK?JeVocjct*`?Eo{0)rQI>l>;6Zw?6ctooj?7Yh5 z_4ZQ~wD5Zq6FIp5NgX@Giw%$`S+&7KN3I+mSdF_~g8F1OlzC-3#C6`0ppcnH@Cf+A zHeN@&kZo0oC`=qduC4Y0(c5xcVb9HF7=Vx)6#Ojr%~1gsRAHW+V1?cs7VcbGuGQD9 z0GW9PnHi{GAKc|y17xI;y1T&a!4CrnAI7NWdlC_A7r3|s3Q$}Oy3C)XR-)SI>q9xG zyG-k8VPoo5Qsjrb3XL#G-sMpdy`OqQmt`$uhVWV?r)n&Nekr!1minrViE}A8D5hDB zRAD{k=)U%}*4bie7589ca}<@8g6hx9c(v&r-|^va=sJ_ap8n*VhV?^EN_Cq@%bVpte?wmzpiT zJxS73elLx+;PhDcBE+{+jqqQGcw~$vdRs5aIGW9S5@kdOyHjY9~v zejP$g=Fa9I%ZU!9mg(1Pz6|#$a@E)8>5WuOcR*{#eR;7%#3+R{Il*U^vC`trZV_(3 zy3beihP3Zygm6nVhIY6{k8V%%z&%0^^T~I(=g;dGoBSd!Pi&6q7Z7rH*p`g47*TV7Uel z-QrRwx+fg%Z@1oH+uu5Jn&IAEp|_8e%zW#$Z5w5js|dI2MTdJmV*{xp7Y&d+as@t* zGZeQ*fxEPC>W9x9Ma$?TZt$QDzdc)%_lcUD`S`5P?HUZpRmoFw>SDLf&-k_8)gwFj zZ4rtWr0Si8+#^)XIq#<${m`+YM&jln_kN+4VlzOS$WK5Y$p*@)pr(~lJK5$?iKr%l1P z8k-{7t9=GTb*@k_nDU-PYLS*{wR)3WT)$m%>xNTq%PC*JiHpSL8^byC4#BX3F5qfq zsAg)OkBXdJ8WgJ4mXyf_&Mkz<(@HcHLDc1WmBbbAA3+QZQXE(n*Kze&g&Z) zk(fgcN>Jntu)Z@f8=D($Osovmw#=sPwMwh_1ft5W&^QAu_j=;4Z=zj>307GKY*(il z#7nxA+ChMzAq^Lw!q8_`0u>A32cWbbuD(v&FtKk@6J4Xp8-!CaOL>kL~%D+zPpa}Ubp=5-& zM75_#3=E6kg46g5W?r$|5sCcLGQ|5C?vvf%5-~9vq;TH6?iw^=t%}02c0sR8?Nd}p z5bFcJycLU9Qy-eUcG^>k+yX{1(+W9G zRe6OV5J~Cz^4(vy^J01tzLruO4myrKlZJKf)dFuNDn^M&Bh2DqxcP(vG6W=7NUv5~ z**H_j#xR;)K0jzJV|;yBLeQ3Hr0CKx$YRI}$fjNntx^~a1R+n~A&vp%A6Pv78lr`M z`X&xY(}u*Xwv5oeHFtNG4_1wyu)0pAaj&ognS^Xbs(nk zsd`aYX2b54Lk#zA(Fy@`C=3nT$=C^Y+z7p;`E>G_j~x-_R!!Cqu=D(#VJ?k)ATU21UF(Q)aQWa{RUR9a+R!6Q7m-2C$6p5*-m7`Db5(=yA@mh!n zT3c~7SKMDpH_UHK+4~}VFUAk8T(|(L_J|n46}C1`JNBiYio8f?*1Di%_F7E`w`7S1 zImQ&?`EDr1Kh>fd)I6}$=7%W)volxGB}kr(kG6u&n4op%?B&-=qxMjp#-?`b#zzJc zZkS?uYJW%pn-m#aCnbaP-w8pem(lP`YMnu9b8ys1khGH05L|6!5q5!w%Ii9kPz!ef z#m@U1Nc^(>LK;&HE8DA+NwF3^*XREzH&>NwJGrk8w#2!od?cB)Jh5F*ime#=RraJG zCUS&9csvYJz}sJ1>Ou4SxFmzXmPWF7h4#Qyc&=ABfhfoQo4nbEDp{F7VCn>g$4288 z8s!>melS;LdajA>GSBaCv~{w%%j~IX23WlFgmq^!RPXx_uV2=YK?-@wtr31vcJ-HI z8P~S<`uZ+>BAS%OFq4Jv<**Q*}TZ1hZYJ|M&*Z2h)%sK zeY5EXWN$q}D2;dk1(tTBEw$vlOa z<08$jP6!T{C;IP^C<`MU_RdaS3a@;uE|?P@$zQUksNM;wDzX zdN~{k^!jn&yJytWi|lehQpeTlu5G9H9>u$lR>|Y#$M7r926Tr_&8i4aL)Tn%Yed@2 z)Ib%Zg3K!!VwMmqT%SWd>4WzyxV>x4Bxc(%x66;^=9t}>nVl-1JjOaWM^7msXUc|C zL$tey)wjk4$fjfOyTXGKIV<1VvA2u-9?m1bWW5nPjgV1sdA9O?xK=qP)xw22>mIWe z+J_h)vRr$M{|ZBL$iUc$C+|Sz!$BIbrxNIIw%&45LCL)&4j!?Q<|jMCuA;F<;XTmJF3 zhBwIR%IEyYsI2hUK`l9jb;}*v!6VE$O(2z0Y*Knjjd-KLLt4oz%N|G>s@`bR-q9su znoI=>8SLxOel(QoG5x(0=~Pga^NeC3Np@)L;ZLTQhy_ru+adjo=G0^?CAy z267$BP+}kB8tOE1l^!Mi7#TU9_8rClnSZaYUN>CRJZAkE!{|F+YOEuaDy*>GVn4OF z41@>T!o4afJ;4x{&|#6Vq4X=>haEV;eyXoN)#4Y%F&uJubLJBO&84syKV*R%3a+SR zp%^Hk5omHs)%-o=Za=oRU>TiiHT|RiF1=RaB@3&XM*RCZ@5Sr(UvxIs+QR`U z!+^(bI==%8Fn=p^E$jUIdH=IXJS#N{;&n!l{MfW@4ON9*)x!+qk@z{pWWMv#D(_EJ zA%fRyE*NYCBEL^8jG=jeH{i>OwFRyxO1X}^xSt;Jx0xbO1}QwwlNyy!0me717xY!b zFf9p}VQ&+?%?pQq2ftG7%@W@yXPWOyC|PF)5M0CS!UAR~gXeoR0ID+UD`D9JEME$I z24UYhc>=C`Q(%i!v+B&(R>-QQciy7oIFZtVG3W(|!{E8EXwHb(w?3@^w9cZSX3B%C4E z03ZiOmtbTkzH`ddJNKiLT$=Ze-E~w(!PRxXx(wmTDdGm%G;6-PY6-!ftt_E z*ZaJ0EY{eaX%3-7{3W~T352Y3Q;Hz!!V7QEGWlHm;F zh{dz6q{^8W@&JpCK(=?u(SzGpJrWABiMXvI^Gjv*m9wP#}8i-FnCU3JMhPnS=8yE9UZZV z0jet^nWy;r4WS$Xl)$`27+kIZj6WJX=^nYKp~?P(55vNcuk&orrY%LW34v?F2Vf~< z#?oq*^^0LL;YWAsZ>DQQzUKLW$}tu%*?m-;38Vr^09L#Tyo_=3%tsKRyDq zOz200cIQS+A5UN{eehyUF2&xu8tW%YzGMuruO!|CF&g!`^d1jkDw%#DI<<3GRW^9* zjiS2xoqUQQ9>&I?E29j(aI&rxK`F6^6{_=}-9w#$1UIIa7(5Mm=y?Gxt4=HKIK@b* zzp0qK_d@4bdjQtLFSAB`j$I)g);0`v_0i7nGK#(o&NqP++;I2#F$}&cHG=`ARNmun zc=9bR0Gc+jcKp4sk#&WJ(R80n)9c3a#l%|!-ZFQK)~(VefXlF-LBh)`B4!SV2R(bv zS_#ti7H3S`>rZF-CoPB^$s-`Q8;u&mGxeT-QXxq=Zu(Re{kVd14l_<-&feK}_cnLj zdm!R8dOiqQwVWF7+TT8Cw7D$Dke<6`5&Y3iMi^5G#yYAw<;}*huB#tG-iSFL|Fd6B zV2s(azyFlVVwaR{oG%3B-$u?VhEZ1aFdxMNoJ-takuWiVAjoyjiDHxL)y6d>E%G*_ zwNbRwNJj;F^8+2Fsntg^*Zy{9G~g+Ih;^lBY{GeXKqHq&hNV&2tv^1O>Uya);$%gy zg1+QPKM*%5V-Vd9;WDeOcqezrk84{Z*u#Ncx!-syikOwaHNt1RagJfM@8q^sl|}^# zB>}x)MhZ09rl$qhe73C|v@8_efn>O2&H|%iXd(R(S4XnWJE5Sb6|XvyLOs*}LSk)j zE`)q~;Nt{Tl1ppHuGErET~BPL6EvaV8ztwvRAc|>_IJRCF@lcS`gYRFgqI4~y>9|A zf|LXY)au0UE}YQv8$^8r;n>>w;)_CF$*fM8Lyc^@z8)Y1Ozlu$W|+cu*Cf|f4;0nav3(jHO74fCSjI*%pmaUha%Zn1I1c5?dNUN=?JI1*gi=63O40RySa zgv?o)!ZM~-C6VqZOa9rWtDXG{xAcHXG|X^PXG6pKq{qt<`smf|4PZGPW$El9{@~o& z6Exrrt7sqpaRIr;wxB{@{(1e!tw(_kn^sz2x1>^!*f5{roE)bt!cYv^l^$6}@W0Z^ zDgwocQwB^kD;4VGx^imDCr|5Pl??1iainPglnr5@3A7Rkw=o6*pu z1~Zwv0yIy8wZyL)k*4#m{DyGvae*%1pedUzE`&?}$P4Ix-PQKnF}&fl2_qU)*%g*k zSw5~!&Tv7iNf)3-CRHN9u{9ZC-Zl9S3d;?!;@58@0$n2}l4LM)ZbIN~ZIOGS_}r&_ zfpDgwXeMSE z)t!d@7;FvN`5~~clsJKU_8{$gAJ*qi-?k3NN-CP9K=Se-Y#`YW?~3|Y-b18pH;vi( zv~>03pXac6P;qE~q)cN$P4AWO3Jmw)Ps)NLPA5BNL?Hj-GN0Y|bc3Tw4Jyv)b02QG!zISnUt?)NDgveXo;TbfaqZ*WKQKB~ zgdSynG_)W5@|HxGvrL7wN#v@|)S*6!)oe!M&kH#=@o6Hw#KOofjP0p?c$rtYI|_(r zTHn7}yWK%f7-SQ+(nojRi!L(;p5T$p8HGc4~yrv zsi}!<4L50guP%K#M5IJJ_JEd?r>-j~UeenVRRi(c-4Xq(F9Ub#)8m1yo!%;L?zimfuUJ-HGzokb0QJ*Za zvOtzt>2Zjh=eYDm{4Oa(AP<_;BV;`&<`eyg$vz=A>h5?&i=5vtH-^KAepAfVBhhJ< zAO5*s;AZN80kL|vu1w-TZRWtq9H0Y5ypU6^4)^nxgCdyzR>glsHb>hdO&)Q@tET{2 zB)$Kn;4a;~eLFkeJvMby#%b|V-C4)cKWe!5^jfN&$wh}0ph@9V-(2r!wJQNib>Cx)|ECE-t1 zR?d>m;>bsDQ7(d$5;o6_qUF=0E#LO(aC@d&BEzXXS5w-`Rgb9tNdt0+yvFC$mt_mt z&WCM{1DzHXg-T-KIYU3tBGk5eunyM4kniN~xNOo2RIcd>$d=p^wa2l=b`!NU4(q!DiCmDj>NMzR1>-!&4j7fmm|(C#yNDT%eHbuQp^1iaNxpq;>{5# zkvc!&8gXjj8Fk`r7ZzO^JMBLZgz%{}njF$XFKfR$QISl-_R6-1qzw$UhS;K(JNTg5 zAD1^DoQjpQac(5|rWJ<4`aR&w0iARE=y77JBao=VMve3t>IQ*`Jb9~)(#sa*m^#94 zf`{TVTl}5vq3ynokUFI3%XEf(V|ZOrKhR>h`)4k#Is5!dSy7{Gf;A^1EYJ8 zn%-b7(@=oCRw`g6i8Aba(>manNY+Va!IWLCbV>AxJzrzL;_N39<#?+t2vv+&xm8%K zQz6@GHY;fxv<}@pN2&n6TQW-yI)0~fMfb++g(~s(o7QxYWGgt;dVI4IA%=E%Hhn62 zA`pFf8g=U>A+o`v=hWcopcX0!JQR!OITHY%mT)(Eo%XHw<=>M~ql*@II_^>HPKU|b z!-l~&({U{cwSv&)M-@aDx)+8BsmcuG_sy?sb%&keq(;w}hKaljsMw3_ z>#NcnbaMBe1fFVy&w4wxC9SonhXmBACV|j5QFX%%=*By(UYOQeryzU3O=7i2!Y zehe;s9_FPxd9mXZe`I~F`+atVqh4%KVFzW_{z$8?PK$2Wcdz7ifMjxiqoMTqYQ(R% zOT#+~d=pH6&!7(osR_N#WRJ57?V5n<_Aq;nfsEX@=q(X}?$QivonDBm^|6d6=QGB# zGBQeRR9*yWB2l{eCb2=zWFTpCoqBmy9^k9#2+u^aw zz0{D!s6U)aYPxGgtUo^TYr#CN+rrBRv?4pVH^kdMgg1TXic}0|YH5+fFa0_*;=IJl z6}7gp9=SMOpJWS3H?m9nKtBCes#W@%gAQr+$9yE|ZrJQ0S?Tdi?xZW^_Alvu&~Gug z6i(f&v-M(u3YS#UTpl3Xa4Do|^0C zv?cr$@zf=3IgF1edMtKW@YAfS)2sIG-A*IL!oXDy0}|CLD(kABb+%eCJpoXSoSuo=|F| zE|PCSS`{=?(VXaxn=mi&MOx*D(;78!N{?v=4(kg)Hs~Sia6?O<0#ko2Xs5WBOl*~! z27M>7w-VQ>(u>maggv6|_}AJ4EMdSjyw<@}-ta7PF2J2KCe4u^Cf2*l8bcI>>Oh5= zhL%Gm^Fzmb*6x2>`2$Z`Mr*Gj-BoE3p14_B-LRI8S9~W3kl(Y-sN!v8>uxR@UWvrc zZ%cd*2nC;wNS)wELTRt?K)%c;>+O zru9TO=0#rj;b)XGbC}ESDbRcG-DeeqoAOQaxn*~E5Cr>+MC59OgX7MqAp}y0Xmkj( z`URVmg_auYj7S)od;ywd&tVzkoT`GXPfv+qk&Q`+)SN0YY~|GvVDNS+CmFZ?{zeeA zF8g%&}Q%h#fA2ulziYx-%i3b2=eoRqwC}uQhCt$eY1bX5A|dKK=C>1p-b8 zR#>VFxIJFb$E+qjQ(}IcjHOHHAl>4{8_M&<-7K?#$j;snn_2F%fqIiEcJ~C>t=BY+ zEfN@?)XY1GTxAxV-P*S9rGg!1ur>x#bi(dPsP-^Emz?{yBhbdK1nUr~yJgucMX$I^ zalxqmMBApB)LYWNjQ!{tF+bq#Gh5oBG&9HUH>beBbr39eZVqTtZ(owSF<@GAS*1xX z0H4{u9n+#6pcS5InX%0QHyR-~2RO|-Pwg%{Mb3>6Hw2{y-%?V4w(cFrVVRIq;h$6< z)FA-$3n&-&bss ztSQq0=Q_#91NCG2Ue;zMlr1gtS2#xEqkrjTHv+6?!qjD0_bSZ-c(QI_iS$qVr8s6@ z)7}J-Dzkf8&ut^{`^P>eRl8lzQ?)LN@gqnjO>LaNbh>jwT)|H(Z2maw-ag>)wbyQ2 zBj8zrzsy6&rM?XED09Eu`)UpFm)NTvD>x}VabvG0Nd?8yh{P}3lCzl~W2h#j;0Q3D zSD_y>jID+rC&&(s#N~mN%3J05wluSSNofwai;+qBO)t*Ywp9ILqNEx4HBX>`d-F&y zsOU+Av73jA0=Z%qE9X#bOddGi&!vVA&QFO)xNfd}t{92rhfee2knZoq zPtOHmA5Z|~SvX?TB$Ct%W7(DtJKWyP&6aosP`*;HQAWULtEjc3)GcF1WbR&~_v73h8Lx)E*}V3n62?p+ExFrCwx4H#y2BY z*HtjoM)5wFHsP9WK4R(N=N3a((hC=_U>&eq^^8V;Z9+!ye7ivVUmM_bHsO4ph#E*KNREI$*6mg7!j(BDLX5JIRJr zyrsIV)c~G#WU1{V7`|Mq9kBW`o5r3~RtDPTMDX)(WxBATSyYx~?r7o+$Ouss- zz^94R_{-n(`jl|ayO-?B_@VfH1N~(N5qC- z;6v|35V-Zy%DFEP7p;nJDezu5Gf#9878#xs(Awad9~^wia$>7iKIJgbr=LOon!ie% z8wvwqVQrl2i-eFrbJe@I z*n72pNxXA!pa$OIsBq^ygmxe`-I5K~jlKsc#`g;W6NH<(xG(-Ag+FSD*>+~zE4#I_ zaE(DD8*{MU($`Z88!P8or>Eva0V~shD zKIoIew@zEaN#!klN33h(m#IN z8KN(BxZuaN^;btK3J?9`H;(^bi?vC~8C!ULN8k!y?L_w%7zmm-zr2cH9cMG$g1W2? zu;^XOB{%$x@$Njfy{e6sRM=^`Z0S9BO(C(zKxINbwK;tme*(cg_JNG&3K>1>d*iu4136*(rV8l#9_s-8LaN2Lxu

-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 hmjN1F1ph|~F${A1f*`|&QSugBFznyp|J$