mojoPortal 笔记

最近研究 CMS 建站,要有个人主页的功能。网上搜了一把,好多人提到 mojoPortal ,受这些明明没用过反而把它列在CMS列表中显示技术与国际接轨的人的文章的影响,展开了两天的研究。个人主页功能没有成功,有些失望,怀着,把这两天的成果记录一下,以后再也不碰它的想法,写下此文。

1. 所有数据操作都采用存储过程。 开发时应该有工具把存储过程直接生成不同数据库的 DAL 层。

  这个方法显的很笨,代码量大增,不使用缓存的情况下可以使用存储过程来保证性能。

  有如下项目:mojoPortal.Data.MSSQL , mojoPortal.Data.MySql ,mojoPortal.Data.pgsql,mojoPortal.Data.SqlCe,mojoPortal.Data.SQLite,mojoPortal.Data.FirebirdSql。

 

  相应的,还有一个 Features 层,上面的 Data  层好比是数据库原始功能, Features 就像是业务封装,业务封装可能调用几个不同的存储过程组合成一个业务。也有傻逼到一个方法只调用一个 Data 方法的时候,估计是为了不跨层访问搞出来的畸形玩意。

  这导致,我想建表扩展功能,这两层真伤不起。

2.  一些小Bug:

     ~/Amin/SiteSettings.aspx  135 行 这个标签应该是: <mp:SiteLabel ID="Sitelabel85" runat="server" ForControl="chkAllowUserEditorChoice" CssClass="settinglabel"   ConfigKey="AllowUserEditorLabel" EnableViewState="false">

     所有皮肤缺少: textarea.widetextbox { width:23em;}

      引用 官方图片 和 google 脚本分析的页面在各个皮肤分散着,不好去除。

3.  最关键的是整站是单站点设计,也就是说,不能建个人主页, 皮肤是设置到登录用户的,而不是个人主页上。由于数据层的限制想扩展比较困难。

4. 所有显示资源全部在 resx 文件中,控件使用 ConfigKey="ResKey" 属性来调用相应的资源

5. 和大多数的CMS一样,重写了所有的显示控件。 因为 A 标签或 Span Div 类的标签,不能根据 ConfigKey 来设置InnerHTML

6. 系统带有 log4net , UpdatPanel,海量的配置文件项,jQuery。

7. 设计页面,并没有拖动布局的功能, 这是WebPart 典型功能,类似很多技术都有。看官方视频,mojo 早前版本也有,但最新版本没有了。

8. 一个 Admin 文件夹,可以有125 个文件,一个 SiteUtils.cs  文件 4000 行码。 从中可以看出项目没有那么严谨的规则和架构。有明显堆砌效果。 官方代码如此,二次开发比这种情况更糟!

在我看来,该项目笨拙臃肿,不伦不类,不值得使用。

posted @ 2013-04-16 15:50  NewSea  阅读(1581)  评论(2编辑  收藏  举报