站点完整性和定制开发



我们正在考虑在很短的时间内购买Sitefinity(或DotNetNuke),我有一个问题,我很难找到一个快速的答案。(我有一个独立但类似的帖子,以DotNetNuke为重点,如果你能更好地回答或补充。)

我们目前没有使用任何CMS,我们有一些自定义开发不会因为我们使用CMS而消失。

我们的自定义开发是c# ASPX与站点母版和嵌套站点母版页面。这些自定义应用程序在我们的网站中没有自己的顶层,而是分支的一部分,通常是一到两层(例如http://www.contoso.com/branch/app/default.aspx)。

  • 如何在CMS/自定义"混合模式"中配置Sitefinity ?例如,Sitefinity是安装在网站的"顶部",还是安装在网站的"需要的地方"?
  • 当混合CMS和自定义web应用程序时,这是如何关联的?
  • CMS界面是否允许添加这些自定义应用程序,或者您只是去web服务器并将它们添加到结构中?
  • 从阅读其他帖子来看,我们可以创建自己的自定义c#模块,并让CMS编辑器"插入"页面上的模块。有人能帮我确认一下吗?

如果我没有提供足够的细节,请随时要求更多。

我们将Sitefinity安装在根目录下,其中包含大量包含自定义页面的子文件夹。我们通常构建一个用户控件,并将其添加到sitefinity ToolboxesConfig中。配置文件,然后将其拖放到站点完整性CMS页面中。我相信这就是你所说的关于"CMS编辑器在页面上添加模块"。

我们也有主/子页面作为页面模板导入到Sitefinity,他们工作得很好。您也可以从任何CMS页面链接到您自己的子文件夹中的常规.aspx页面,并在那里实现使用siteity API的代码,但我们个人发现这要棘手得多,并且尽可能地避开这种方法。

简而言之,自定义代码相对容易集成到站点完整性中,只要你可以将其压缩到用户控件或母版页面中。

免责声明:这些都是通过常规的web表单开发完成的。我不确定MVC站点如何与Sitefinity交互(我相信它本身就是使用MVC架构构建的)。

你的问题的一部分,我不确定是关于自定义web应用程序在嵌套的分支。我建议安装siteity的试用版,并尝试将单个分支集成为原型。这可能要花一天的时间,但如果你想知道这条路线是否会让你心痛,这是值得的。

完整免责声明:我在Sitefinity工作

首先,我要说的是,在整个Sitefinity的历史中,可扩展性和开发人员友好性一直是我们的首要任务。我们尝试创建一个使用ASP熟悉的概念的CMS。. NET开发人员,并在他们的基础上构建。

现在让我把你的每一个观点都讲一遍。

  • 你可以组织Sitefinity的部署,但你喜欢。在子应用程序的情况下,您可以在IIS中创建虚拟目录,并在每个目录中部署单独的Sitefinity实例,或者您可以使用CMS来执行子应用程序。在CMS中,它们可以是单独的页面分支,应用单独的模板,感觉就像单独的站点。您仍然可以通过一个界面来管理它们。这取决于你选择一种方法。
  • Sitefinity是一个正常的ASP。使用BIN文件夹中的CMS程序集创建。NET web应用程序。您可以在Visual Studio中打开该项目,并像运行普通ASP一样运行它。从开发人员的角度来看,自定义应用程序和Sitefinity应用程序之间没有区别-它们只是ASP。
  • 如果你遵循在根目录下安装Sitefinity,然后使用CMS创建子应用的方法,你可以通过UI完成。如果选择运行单独的虚拟目录,则必须手动上传文件。此外,Sitefinity有一个内置的文件浏览器,你可以用它来管理服务器上的文件。
  • 您所指的模块在Sitefinity中称为小部件。对于开发人员来说,它们只不过是定制的ASP。. NET控件和用户控件。Sitefinity页面编辑器UI允许您在页面上的占位符中放置小部件并配置其属性。占位符定义在母版页(一个普通的ASP。. NET主页)或通过UI。创建自定义小部件非常容易。这里是一个快速入门:http://www.sitefinity.com/blogs/gabesumner/posts/11-08-29/ldquo_hello_world_rdquo_guide_to_custom_sitefinity_widgets_amp_controldesigners.aspx

我们也有模块,这是更复杂的概念。它们管理数据,有后端和前端UI。我鼓励您浏览我们的博客和文档以获取更多信息。

我们还有一个SDK,其中包含扩展CMS的源代码示例。

你可能想看看Kentico CMS支持类似的场景-你可以很容易地混合你自己的ASPX页面和CMS控制的ASPX页面,所以它是非常灵活的

最新更新