it-swarm.cn

我如何决定是否应该使用自己的软件或使用打包的CMS(以及相应的插件)?

我是一名软件工程师,目前很少有网络经验,希望实际使用我的网站主机和域名,而不是文件转储地,我需要让其他人访问的文件。我的计划是以某种方式部署个人/专业网站和博客,使用FOSS现成产品,定制软件或现成组件与自定义模块/插件。

我的要求是:

  1. 语义HTML(格式正确,适当使用属性,适当时使用微格式,使用CSS作为样式,使用HTML作为标记)
  2. 验证HTML和CSS(XHTML,HTML4,HTML5都可以接受 - 只要它开箱验证)
  3. 支持博客
  4. 支持以HTML格式编辑和管理我的简历,以及管理我提供下载的PDF,ODT和DOC格式的上传文件
  5. 用我所知道的语言和我的主机支持 - PHP首选,因为这对我主持人来说最简单,我也很熟悉它
  6. 轻松获取或编写主题
  7. 支持不经常更改的静态页面(关于我),有时会更改的静态页面(项目列表),动态页面(博客,评论)和表单(与我联系)
  8. 在同一环境中与其他工具很好地配合使用 - 我在同一台主机上使用Trac进行项目管理,并可能部署其他软件,如个人MediaWiki部署
  9. 易于与其他社交媒体整合(Twitter?Facebook?潘多拉?) - 不需要,但会很好
  10. 生成和维护站点地图和/或robots.txt

我的问题:

  • 什么,如果有的话,FOSS解决方案适合我?我过去常常玩Drupal和WordPress - WordPress让我觉得它是一个可靠的工具,但当时非常关注博客(我了解它最近更改为更像CMS)。
  • 什么免费(但不是开源)解决方案可能适合我?我更愿意完全访问源代码,但这不是必需的。
  • 如果我要自己动手,我应该从哪里开始?我宁愿不自己动手 - 我的软件工程背景告诉我,我的要求应该是常见的,我应该能够找到一些现有的解决方案,我可以将它们结合起来使其发挥作用。

谢谢。

11
Thomas Owens

买入与构建问题是永恒的问题。我会说 WordPressDrupal 都符合你的标准。我对WordPress有更多经验,所以我会在WordPress中这样做。满足您的要求:

  1. 语义HTML(格式正确,适当使用属性,适当时使用微格式,使用CSS表示样式,使用HTML表示标记)

    ,大多数 主题 对于WordPress默认情况下使用xhtml没有问题。您可能需要在html视图中手动完成与微格式相关的标记,尽管可能有插件可以实现这一点。

  2. 验证HTML和CSS(XHTML,HTML4,HTML5都可以接受 - 只要它开箱验证)

    ,WordPress的大多数主题_验证或非常接近验证而没有太多麻烦。主题文档很棒。

  3. 支持博客

    是的,绝对。

  4. 支持以HTML格式编辑和管理我的简历,以及管理我可以下载的PDF,ODT和DOC格式的上传文件

    ,只需将简历作为静态页面,并使用WordPress中的本机媒体管理工具管理上传的文件。

  5. 用我认识的语言编写,我的主机支持 - PHP首选,因为这对我主持人来说最简单,我也熟悉它

    ,WordPress = PHP + MySQL + Apache最适合mod_rewrite

  6. 轻松获取或写入主题

    ,见 主题发展

  7. 支持不经常更改的静态页面(关于我),有时会更改的静态页面(项目列表),动态页面(博客,评论)和表单(联系我)

    页面在界面的Pages部分下的WordPress中管理。联系表格适用于插件,如 联系表格7

  8. 与同一环境中的其他工具很好地配合 - 我在同一台主机上使用Trac进行项目管理,并可能部署其他软件,如个人MediaWiki部署

    ,虽然您可能需要添加一些重写规则,以便不是所有内容都指向WordPress。我在子目录中运行WordPress并让它通常处理所有内容。您可能需要添加一个说明符以使WordPress忽略MediaWiki目录词干。

  9. 易于与其他社交媒体整合(Twitter?Facebook?潘多拉?) - 不需要,但会很好

    ,通过插件。默认情况下,您还可以将RSS提要拉入WordPress sidebars。

  10. 站点地图的生成和维护和/或robots.txt

    Google Sitemap Generator

6
artlung

我用Wordpress设置了一些网站,每个网站都有不同的需求,我认为Wordpress也可以满足你的需求:

  • http://chaos.trader.name/ - 主要是一个面向页面的信息网站,有一些博客。
  • http://ludus.unicornsrest.org/ - 主要是一个博客,但有一个深层嵌套的页面结构。我写了一个插件来创建帖子中的页面链接,同时允许我重新排列页面。
  • http://driia.com/ - 我妻子的商业网站,包括博客和销售网站。我编写的插件允许根据类别和标签自动将帖子分组到页面上,并识别具有特定标签的帖子代表待售的珠宝或艺术品。销售价格作为元数据存储在帖子上。
  • http://barkingmad.org/ - 非盈利娱乐集团的广告网站。

Wordpress可用的主题和插件的数量和质量令人震惊,但GPL许可证意味着任何不能完全满足您需求的内容都可以根据您的需要进行改进。

2
Craig Trader

我认为你不会找到任何你希望它做OTB的FOSS项目。 WordPress是稳固的,但你必须工作一点才能生成你想要的东西。 Drupal可能比起初看起来更令人头疼。我知道人们喜欢它,我知道我已经尝试过,但我不想担心在版本升级之间必须保持那么多黑客。

坦率地说,如果你还没找到一些FOSS,我会选择WordPress如果我在你的鞋子里,并为你需要的东西定制构建插件。

需要注意的是,自Matt Mullenweg(AutoPtic的首席执行官,WordPress背后的公司)开始在每个人身上拉出Richard Stallman之后,他相信并提倡任何和所有主题(主题代码,不是图像/ css)和插件(插件代码)因为WordPress在他的(我个人觉得被扭曲的)观点中的衍生作品是GPL。所以如果你自己做的话你会很好,但是如果你有“发行版”,就像把插件给2个人一样,你可能在法律上自行操作它们,这是你可能想要或不想做的事情。

1
intlect

这取决于你想做什么,并取消它:

  1. 学习技术堆栈
    我写了大部分代码,这些代码为我的个人网站提供了一个学习练习,以便快速了解我正在使用的技术的最新变化,并且随着我的焦点发生变化而改变它 - 原来是经典ASP site,然后它转移到ASP.NET 1.1,然后转到2.0,并且最近从ASP.NET MVC 1.0升级后运行在ASP.NET MVC 2.0上
  2. 只需运行您的网站
    无论是在工作中,还是在业余时间运行的几个教会场所,我都使用了套装软件 - 在工作中我们正在谈论“企业”CMS(MOSS,Tridion),用于教堂网站它是FOSS( N2 CMS ) - 因为它们提供的功能超出了我准备编写的功能。

如果你的专业是建立网站,那么就会有使用你正在“销售”的技术的争论,如果它是别的,那么我建议你花时间在内容而不是技术上。


回应评论

然后我会建议选择一个现成的 - 我不能在PHP sphere中提供很多推荐,因为这不是我的专长,我害怕。如果你可以应付一些C# N2 CMS 非常灵活,但没有像WordPress这样的巨大插件/主题基础,它的声音可能会公平地满足你的需求好...

1
Zhaph - Ben Duguid

我建立企业级CMS以谋生......我个人讨厌像Joomla,Wordpress和Drupal这样的现成系统。这是我的理由:

1)我工作的地方已经多次利用这些(类型)包,因为我们没有足够快地更新它们....在某些情况下,更新可以是每周更新。一旦你被黑了,你就会严肃地质疑你为什么走这条路......它就是一团糟。

2)Wordpress的模板令人抓狂。一个将拥有一个功能齐全的管理区域,而下一个没有,并希望你破解代码。在哪里看? AHHHHH!我已经部署了很多,但每次都让我很痛苦。在我看来,Wordpress是一个博客系统......将它用于它的目的。

3)我在以前的工作中放了数百个Joomla(和Mambo)网站。即使你知道自己在做什么,也要试着打破那种“Joomla布局”类型的外观......特别是如果时间不在你这边。 Wordpress也一样......当你在Wordpress网站上时,你可以告诉你。不,谢谢......我得到报酬,原来的工作。

4)培训。尝试在5分钟或更短的时间内向某人解释Joomla或Drupal管理。我建立的CMS可以通过一段书面说明(或更少)教给某人,因为我将其构建为仅包含每个特定网站所需的工具......否则,按钮就会消失。我挑战你,试着训练一个不到电话簿值得指导的人,特别是如果他们不精通技术。

5)符合标准......这是我个人不会妥协的事情。我控制了CMS输出的所有内容,并且我已经构建了它,这样就可以在几分钟内将十几行代码插入到任何符合HTML的模板中,以便每次都生成兼容的代码。 Wordpress对此没问题,Joomla和Drupal并不总是那么多。

6)可销售性。 CMS都做同样的事情。但尝试进入潜在客户并说“我想向您收取很多费用以定制免费的现成产品”与“这是专为您的需求而构建的系统”如果它是一个好产品,你几乎每次都会赢得这项业务。在你的情况下,这并不重要....但是谁知道,也许你能够在未来项目的基础上建立......支付项目....

当然有缺点。你自己建造一切,这需要时间。如果你在多个站点进行,规模经济会带来打击。您没有一大群人发现漏洞......再次,多次部署可以帮助代码发展。但是,如果您有编写高质量代码的知识,那么这是一个很好的解决方案。

祝好运。

1
bpeterson76

听起来,对于您的用例,打包的CMS可能是最好的方法。

自从我上次评估PHP CMS以来,已经过了几年,当时我的主要要求是干净的可扩展性。当时,Joomla是一个强有力的竞争者,虽然开发周期似乎很慢,但Xaraya在智力上看起来很有趣。

如果你有兴趣尝试一些, opensourceCMS网站 允许你尝试而不必实际安装自己。上次我尝试它似乎不那么广告,但我想你必须支付账单。许多CMS也运行自己的演示站点(例如 Joomla DemoXaraya Demo

0
JasonBirch

如果你有大量的时间和痒不会消失 - 是的,滚动你自己。否则安装WordPress(“ 着名的5分钟安装 ”)并给自己2小时......这就是你应该得到一个非常好的主意所需的一切。

我想在回复之前的回复时发表一些评论 - 你绝对可以用WP建立网站 - 不仅仅是博客(这对于构建带有集成博客的网站非常有用),并且同意@intlect关于主题的评论。某些主题的质量可能会有很大差异(也是学习/查看WP如何工作的好地方) - 我已被咬了几次也升级WP找到主题与新版本不兼容(然后你会发现开发人员的支持有多好)。

0
Dan

当然还有第三个选项,你可以使用一个不那么“重”的CMS,如 MODX 这将允许你选择不必重新发明所有标准cms东西的轮子(用户管理,文档管理等)同时为您提供了一个简单灵活的环境来制作您自己的代码。我已经使用了许多CMS'并且它们都有自己的利基,但是如果你想要的东西很容易开发和足够轻,你可以理解它而无需数周的挖掘(一些CMS系统是真正强大的野兽...个人网站可能不需要的东西)。 MODX基本上是为你想要做的事情而构建的,它为你提供了一个核心功能,然后你自己添加它们。此外,人们会共享他们的代码,因此您可以找到其他人使用的代码段,模块等。

0
Astaldaran