Content management system 站点有限性与定制开发

Content management system 站点有限性与定制开发,content-management-system,sitefinity,Content Management System,Sitefinity,我们正在考虑在很短的时间内购买Sitefinity(或DotNetNuke),有一个问题我很难快速找到答案。() 我们目前没有使用任何CMS的,我们有一些自定义的发展,将不会消失,只是因为我们有一个CMS的一些或大部分我们的网站 我们的定制开发是带有站点母版和嵌套站点母版页的c#ASPX。这些自定义应用程序在我们的网站中并不拥有自己的顶级应用程序,而是分支的一部分,通常是一个或两个级别(例如) 通常如何在CMS/自定义“混合模式”中配置Sitefinity?例如,Sitefinity是安装在网

我们正在考虑在很短的时间内购买Sitefinity(或DotNetNuke),有一个问题我很难快速找到答案。()

我们目前没有使用任何CMS的,我们有一些自定义的发展,将不会消失,只是因为我们有一个CMS的一些或大部分我们的网站

我们的定制开发是带有站点母版和嵌套站点母版页的c#ASPX。这些自定义应用程序在我们的网站中并不拥有自己的顶级应用程序,而是分支的一部分,通常是一个或两个级别(例如)

  • 通常如何在CMS/自定义“混合模式”中配置Sitefinity?例如,Sitefinity是安装在网站的“顶部”,还是安装在网站的“需要的地方”
  • 当混合使用CMS和定制web应用程序时,这两者之间有什么关系
  • CMS界面是否允许添加这些自定义应用程序,还是只需转到web服务器并将它们添加到结构中
  • 从阅读其他文章中可以看出,我们可以创建自己的定制c#模块,并让CMS编辑器“插入”页面上的模块。有人能帮我确认一下吗

如果我没有提供足够的详细信息,请随时询问更多信息。

我们在根目录下安装了Sitefinity,其中包含大量包含自定义页面的子文件夹。我们通常构建一个usercontrol,将其添加到sitefinity ToolboxesConfig.config文件中,然后将其拖放到sitefinity CMS页面中。我相信这就是你所说的“CMS编辑器在页面上插入模块”

我们还有主/子页面,它们作为页面模板导入到Sitefinity中,并且运行良好。您也可以从任何CMS页面链接到您自己的子文件夹中的常规.aspx页面,并在那里实现使用SiteFinityAPI的代码,但我们个人发现这要复杂得多,并尽可能避免使用这种方法

简而言之,自定义代码相对容易集成到sitefinity中,只要您可以将其压缩到用户控件或母版页中

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


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

您可能想看看支持类似场景的Kentico CMS-您可以轻松地将自己的ASPX页面和CMS控制的ASPX页面混合使用,因此非常灵活。

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

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

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

  • 您可以随意组织Sitefinity部署。对于子应用程序,您可以在IIS中创建虚拟目录,并在每个应用程序中部署单独的Sitefinity实例,也可以使用CMS执行子应用程序。在CMS中,它们可以是单独的页面分支,应用单独的模板,感觉像是单独的站点。您仍然可以通过一个界面来管理它们。这取决于你选择一种方法
  • Sitefinity是一个普通的ASP.NET web应用程序,其CMS程序集位于BIN文件夹中。您可以在Visual Studio中打开该项目,并像运行普通ASP.NET Web应用程序一样运行它。从开发人员的角度来看,自定义应用程序和Sitefinity应用程序之间没有区别——它们只是ASP.NET web应用程序
  • 如果您遵循在根目录中安装Sitefinity,然后使用CMS创建子应用程序的方法,那么您可以通过UI来完成。如果选择运行单独的虚拟目录,则必须手动上载文件。此外,Sitefinity还有一个内置的文件资源管理器,可用于管理服务器上的文件
  • 您所指的模块在Sitefinity中称为小部件。对于开发人员来说,它们只不过是自定义ASP.NET控件和用户控件。Sitefinity页面编辑器UI允许您在页面的占位符中放置小部件并配置其属性。占位符在母版页(普通ASP.NET母版页)中或通过UI定义。 创建自定义小部件非常容易。这里有一个快速的开始:
我们还有一些模块,它们是稍微复杂一点的概念。他们管理数据,拥有后端和前端用户界面。我鼓励您通过我们的和了解更多信息


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

Small correction-Sitefinity目前构建在WebForms上。它们为正在创建的网站提供了一个MVC选项,但它没有WebForms版本的所有小部件和工具(不过,看起来它可能会纠正这一点,并具有其他一些好处)