zoukankan      html  css  js  c++  java
  • mojoportal学习——文章翻译之复制一个mojoportal存在的特色模块

    翻译的不好 大家见谅

    复制一个mojoportal存在的特色模块

    经常会有人问道如何优化mojoportal中的模块,这里我们讨论的是内容系统模块而不是用于站点管理的核心模块。

    比如 blolg ,image Gallery 或者 论坛模块等。

    我不建议你直接到mojoportal的模块上修改代码,因为那样你很难升级到下一个版本。

    一种可行的方法是,克隆已存在的模块,然后在你克隆的模块上进行修改。

    基本的目标/步骤 如下:

    1:建立你自己的工程,用于UI的网站应用程序,用于商业层的leisure,和用户数据层的类库。
    2:为你的模块中的文件夹使用不同的文件名,使之不与原有的文件路径及文件名冲突。
    3:使用你自己的命名空间,以区别原有的模块。
    4:使用一个新的模块GUID,来区别原有的模块。
    5:使用你自己的数据表,你可以自由的修改其架构
    6:使用一个不同的配置文件,以区别原先的模块中的。
    7:使用不同的资源文件(.resc)

    让我们以博客模块作为例子,假定你希望添加一个文件到每一次发表文章,或者其他改变。

    1:拷贝一个现有mojoportal.sln文件,然后重命名,然后你可以添加你的工程文件到这个解决方案文件中。

    建立相应的网站应用程序,商业层库类,数据层库类。

    2:从mojoPortal.Features.UI工程文件下拷贝Blog文件夹到你的网站应用程序下相同层次的位置上。

    然后重命名这个文件夹,更改命名空间,查看具体代码,修改需要修改的路径。

    3:从mojoportal.Features.UI/App_GlobalResources中的BlogResources.*.resc 文件到你的网站应用程序下的

    App_GlobalResources文件夹下。无需拷贝.designer.cs我饿你就按,当你重命名你得.resc文件时,VS将会自动生成
    .designer.cs文件。

    4:在你的网站应用程序下建立Setup文件夹,在其中建立一个applications文件夹,
    拷贝mojoPortal.Features.UI/Setup/Applications/blog文件夹到其中,并且重命名。

    5:查看FeatureDefinitions文件夹,重命名2000_BlogModule.config文件为 自定义文件名.config

    然后用文本编辑器打开这个文件,更改模块GUID ,你可以使用MS SQL的Select newid()或者在.net中使用Guid.NewGuid().ToString()来生成一个新的GUID,

    另外,你需要改变模块的名字,修改ControlSource来更新到新的路径。改变你得资源文件的名字 (rersource.rext),无需.resx扩展名。

    6:从mojoPortal.Features.Data.MSSQL/blog到你的数据层工程,并更改命名空间

    7:拷贝mojoPortal.Features.Business/blog到你得商业层工程中,并更改命名空间,并添加到数据层工程的引用。

    8:回到网站应用程序,修改并使用新的命名空间,在Setup文件夹下建立ProviderConfig文件夹,其下建立indexbuilders文件夹。

    拷贝mojoPortal.Features.UI/Setup/ProviderConfig/indexbuilders/blogindexbuilder.config文件到你的工程中

    相同文件夹下,重命名为 "yourcustomnameindexvbuilder.config",用文本编辑器打开,修改相应的命名空间和程序集名。

    9:下一步是建立相应的数据库表和存储过程,你可以使用不通前缀名来加以区别。在

    /setup/applications/[applicationname]/文件夹下,有2个文件夹,第一个用于数据库初始化安装,里面只有一个文件,

    第二个文件夹中是升级文件。如果你只对MSSQL数据库平台感兴趣,第一个脚本文件在 /SchemaInstallScripts/mssql,其他的脚本文件在

    SchemaUpgradeScripts/mssql文件夹中,使用文本编辑器,比如TextPad,你可以查找并替换 mp_ ,比如以joe_或者其他前缀。

    现在,当你运行这些脚本,将会创建你自定义的表和存储过程。

    10:
    最后的一步是建立你自己的post build 事件拷贝需要的文件到web 工程中,你可以从mojoPortal.Features.UI工程中拷贝并修改相关代码。

    11:运行setup/default.aspx来完成代码的运行,这样克隆模块就完成了,你可以在你得模块上随意的修改了。


     

  • 相关阅读:
    Vue(小案例_vue+axios仿手机app)_go实现退回上一个路由
    nyoj 635 Oh, my goddess
    nyoj 587 blockhouses
    nyoj 483 Nightmare
    nyoj 592 spiral grid
    nyoj 927 The partial sum problem
    nyoj 523 亡命逃窜
    nyoj 929 密码宝盒
    nyoj 999 师傅又被妖怪抓走了
    nyoj 293 Sticks
  • 原文地址:https://www.cnblogs.com/wenjie/p/1853642.html
Copyright © 2011-2022 走看看