Geoff Bowers谈FarCry框架

tech2024-04-03  61

Although it’s better known as an open source content management system, FarCry is in fact a powerful framework for building ColdFusion applications. Geoff Bowers, CEO of Sydney-based Daemon and self-styled "benevolent dictator", lets us in on what makes FarCry tick.

尽管它以开放源代码内容管理系统而闻名,但FarCry实际上是构建ColdFusion应用程序的强大框架。 总部位于悉尼的Daemon首席执行官,自封为“仁慈独裁者”的杰夫·鲍尔斯(Geoff Bowers)让我们深入了解FarCry的发展方向。

SitePoint: Geoff, can you give us your elevator pitch? Summarize the essence of FarCry in a sentence or two.

SitePoint:Geoff,您能给我们您的电梯间距吗? 用一两个句子概括FarCry的本质。

FarCry Core is a web application framework based on the ColdFusion language. FarCry CMS is a popular content management solution built with FarCry Core. As a community, we provide support for the framework, CMS, and a host of community plugins including libraries for Google Maps, image manipulation, free text searching, and many more. The FarCry Community was formed in April 2003, when Daemon open sourced the underlying FarCry Core framework and associated FarCry CMS solution. Since that time, FarCry has grown into one of the largest ColdFusion code bases, with an active community of developers around the globe.

FarCry Core是基于ColdFusion语言的Web应用程序框架。 FarCry CMS是使用FarCry Core构建的流行内容管理解决方案。 作为一个社区,我们为框架,CMS和一系列社区插件提供支持,包括Google Maps,图像处理,自由文本搜索等库。 FarCry社区成立于2003年4月,当时Daemon开源了底层的FarCry Core框架和相关的FarCry CMS解决方案。 从那时起,FarCry已成长为最大的ColdFusion代码库之一,在全球拥有活跃的开发人员社区。

The community comprises of a cross section of individuals, web development firms, and larger corporate, government, and education institutions. Although code contributions come from a large spectrum of the community, primary feature development is driven and managed by a close-knit team at Daemon, and a small coterie of additional core committers.

该社区由个人,Web开发公司以及较大的公司,政府和教育机构组成。 尽管代码贡献来自整个社区,但主要功能开发是由Daemon的紧密合作团队以及少量核心提交者来驱动和管理的。

SP: Let’s dig a little deeper: tell us more about the main features. I’ll talk about FarCry Core — the framework. By extension, FarCry CMS has all of these features and more, wrapped up in a sample solution that installs out of the box.

SP:让我们进行更深入的了解:向我们详细介绍主要功能。 我将讨论FarCry Core(框架)。 通过扩展,FarCry CMS具有所有这些功能以及更多功能,它们都包装在一个示例解决方案中,该解决方案可以立即安装。

FarCry Core is a toolbox for building web applications that contains, among many other things, a roles-based security model, an object relational mapper (ORM), an in-memory caching broker for both objects and views, a fully configurable administration webtop, a "formtools" engine for rapidly building user interfaces, a totally flexible templating environment, and a extensible plug-in architecture for sharing code. It’s difficult to explain in a sentence or two, but each of these features represents years of work that developers can leverage.

FarCry Core是用于构建Web应用程序的工具箱,其中包括基于角色的安全模型,对象关系映射器(ORM),用于对象和视图的内存中缓存代理,可完全配置的管理Webtop,用于快速构建用户界面的“ formtools”引擎,完全灵活的模板环境以及用于共享代码的可扩展插件体系结构。 用一两句话很难解释,但是每个功能都代表开发人员可以利用的多年工作。

One of my personal favourites is "formtools," an engine that builds your ui dynamically, based on the attributes that you attach to the properties of your underlying component. We’re not talking basic HTML forms — it’s a really rich ui library that can be tweaked mercilessly to work just the way you want. Formtools makes life easy for me, but at the same time, it gives me the low-level access to write my own interface, for those one-off or unique ui elements I come across.

我个人最喜欢的一个工具是“ formtools”,它是一个引擎,可根据您附加到基础组件属性的属性来动态构建用户界面。 我们不是在谈论基本HTML表单-这是一个非常丰富的ui库,可以无情地对其进行调整,使其以您想要的方式工作。 Formtools使我的生活变得轻松,但同时,它为我遇到的那些一次性或独特ui元素提供了低级访问权限来编写我自己的界面。

For those who just can’t get enough, we’ve put together a more complete list of features from a business (as opposed to technical) perspective.

对于那些无法满足需求的人,我们从业务(相对于技术)角度整理了更完整的功能列表 。

SitePoint: How did FarCry come about, and what was the reason for creating it? How are you involved?

SitePoint:FarCry是如何产生的,创建它的原因是什么? 您如何参与?

Back in 2002, Daemon had to make a decision about what do to with our code base: sell out to another vendor, ramp up the marketing and compete as a commercial vendor, or build a services-focused business around an open source code base? We didn’t want to risk the financial investment required to ramp up marketing, especially in the middle of the "dot-com bomb." We really preferred our code base over the variety of vendors who approached us for a buy out, and we couldn’t bear the thought of seeing our solution tossed on the scrap heap for the sake of a lesser offering. In April 2003, we released FarCry CMS under the Common Public License, and had a crack at building an open source community.

早在2002年,Daemon就必须决定如何使用我们的代码库:将其出售给其他供应商,扩大营销并竞争为商业供应商,还是围绕开放源代码库建立以服务为中心的业务? 我们不想冒险加大营销力度,尤其是在“网络炸弹”中间的金融投资。 我们真的更喜欢我们的代码库,而不是向我们求购的各种供应商,而且我们不忍心看到为了减少产品数量而将我们的解决方案扔在废品堆上的想法。 2003年4月,我们根据通用公共许可证发布了FarCry CMS,并在建立开放源代码社区方面有所作为。

FarCry Core became a distinct framework code base for the release of v4.0 when we decoupled the content management solution from the underlying framework, and added a sophisticated plugin architecture. The CMS itself is now a very popular, but optional, plugin.

当我们将内容管理解决方案与底层框架脱钩,并添加了复杂的插件架构时,FarCry Core成为v4.0发行版的独特框架代码库。 CMS本身现在是一个非常流行但可选的插件。

Interestingly, the name FarCry comes from the old English term for when criers or messengers were sent to the far ends of the kingdom to deliver a royal proclamation. It seemed like a fitting name for a web application delivery platform!

有趣的是,FarCry这个名字源于古老的英语术语,是指当传教士或使者被派往王国的远端进行皇家宣誓时。 这似乎是Web应用程序交付平台的合适名称!

As for how I’m involved, I’m what you might call the "Benevolent Dictator." I’m no longer the lead developer on the project, but I’m still the final arbitrator for what ultimately makes it in and what doesn’t with respect to functionality changes and enhancements, if there’s ever any dissent in the community. I dabble in the code base regularly, but spend most of my time looking after the community, writing documentation, and managing the bug database. Recently, I’ve been putting together a bunch of great open source plugins for blogging and Picnik integration, just to name two.

至于我的参与方式,我就是你所说的“仁慈独裁者”。 我不再是该项目的首席开发人员,但是如果社区中有任何异议,我仍然是最终参与其中,与功能更改和增强无关的最终仲裁人。 我经常涉猎代码库,但大部分时间都花在照顾社区,编写文档和管理错误数据库上。 最近,我一直在整理大量用于博客和Picnik集成的优秀开源插件,仅举两个。

SitePoint: When should a developer seek out FarCry? What has it got going for it?

SitePoint:开发人员何时应寻求FarCry? 它有什么用呢?

Most developers seek out FarCry CMS as a means to an end: they want a comprehensive content management solution. It’s only after they’ve had a bit of a play and built their own extensions that they begin to realize just how powerful the underlying framework actually is.

大多数开发人员都将FarCry CMS视为达到目的的一种方法:他们想要一个全面的内容管理解决方案。 只是在他们玩了一段时间并构建了自己的扩展之后,他们才开始意识到底层框架实际上是多么强大。

Developers should consider FarCry Core, the framework, for any web application — it’s not "just a CMS." In fact, FarCry is being used to build complex web applications all over the place, including CRM systems, ecommerce solutions, online TV guides, intranets, directory services and more. And with the growing list of available plugins, it’s becoming even easier to hit the ground running with any number of sophisticated solutions almost "out of the box".

开发人员应为任何Web应用程序考虑框架FarCry Core,而不仅仅是“ CMS”。 实际上,FarCry已被用于在各地构建复杂的Web应用程序,包括CRM系统,电子商务解决方案,在线电视指南,内联网,目录服务等。 随着可用插件列表的不断增加,使用几乎“开箱即用”的许多复杂解决方案运行变得越来越容易。

SitePoint: What are the prerequisites for using FarCry? Is there any prior knowledge that would help new users? Does it use any other frameworks that could simplify or complicate things?

SitePoint:使用FarCry的前提条件是什么? 是否有任何有助于新用户的先验知识? 它是否使用其他任何可以简化或复杂化的框架?

There are no real prerequisites for FarCry, although knowing how to program in ColdFusion obviously helps. As with any framework, you need to do things the "framework’s way". FarCry Core describes an approach to organizing your code, leveraging the underlying services available in the code library and addressing different sorts of problems. If you fight against the "FarCry Way", you’re going to get frustrated. The framework does a huge amount for you, and if you can bring yourself to "let go," you may suddenly find yourself being super-productive. FarCry can be an absolute joy to work with.

尽管知道如何在ColdFusion中进行编程显然会有所帮助,但FarCry并没有真正的先决条件。 与任何框架一样,您需要按照“框架的方式”进行操作。 FarCry Core描述了一种组织代码的方法,利用代码库中可用的基础服务并解决各种问题。 如果您与“孤岛惊魂之路”作斗争,您会感到沮丧。 该框架为您做了大量工作,如果您可以“放手”,您可能会突然发现自己非常有生产力。 与FarCry合作绝对是一种快乐。

Unlike other frameworks in the ColdFusion community that work with each other to form a more complete offering, FarCry kind of does it all. There’s an ORM, a comprehensive caching engine, a roles-based security model, a nested tree model, a templating engine, a categorization engine, plugin architecture, and more. While we think our own code base is pretty cool, there’s some great functionality on offer in other more specific frameworks, such as Transfer ORM and ColdSpring. To better leverage these libraries, we’re planning a series of plugins to hook up third-party frameworks and make them more readily accessible within the FarCry environment.

与ColdFusion社区中的其他框架相互协作以形成更完整的产品不同,FarCry可以做到这一点。 有一个ORM,一个全面的缓存引擎,一个基于角色的安全模型,一个嵌套树模型,一个模板引擎,一个分类引擎,插件体系结构等等。 尽管我们认为自己的代码库很酷,但是其他更特定的框架(例如Transfer ORM和ColdSpring)提供了一些出色的功能。 为了更好地利用这些库,我们正在计划一系列插件来连接第三方框架,并使它们在FarCry环境中更易于访问。

SitePoint: What sets FarCry apart from other frameworks?

SitePoint:是什么让FarCry与其他框架区分开?

The current trend in ColdFusion frameworks is to force the developer into a very object oriented mind-set. Under the bonnet, FarCry relies heavily on OO concepts, but does its best to present developers with a less intimidating interface — a more "ColdFusion-esque" way of doing things.

ColdFusion框架的当前趋势是迫使开发人员进入非常面向对象的思维定势。 在引擎盖下,FarCry高度依赖于OO概念,但尽其所能为开发人员提供了一个不太令人生畏的界面-一种更具“ ColdFusion风格”的工作方式。

Take webskins for example; these are analogous to the View in your classic MVC pattern. If you’re comfortable building in HTML you can build a FarCry webskin. Just drop your template into the webskins directory and it’s automatically registered. It comes complete with all the data for the specific object you’re rendering, access to all the functions of the parent content type, a library of custom tags to assist in building your user interface, and is automatically cached in memory. And then there’s "formtools" — the engine that dynamically builds rich user interfaces for adding and updating content without a single line of code. Of course, in all cases, if you want to get your hands dirty and code in a more object oriented style, you can.

以网皮为例; 这些类似于经典MVC模式中的“视图”。 如果您愿意使用HTML构建,则可以构建FarCry Webskin。 只需将模板放到webskins目录中,它就会自动注册。 它包含您要呈现的特定对象的所有数据,对父内容类型的所有功能的访问权,用于帮助构建用户界面的自定义标签库,并自动缓存在内存中。 然后是“ formtools”,该引擎可动态构建丰富的用户界面,无需添加任何代码即可添加和更新内容。 当然,在所有情况下,如果您想动手并以更加面向对象的风格编写代码,则可以。

SitePoint: Are there any great examples of FarCry "in the wild"?

SitePoint:“野外”有没有FarCry的出色范例?

Too many! Here are three recent projects Daemon has been involved in that I think are pretty special:

太多! 这是Daemon参与的三个最近的项目,我认为它们非常特别:

The Mayo Clinic – This enormous medical site is the public facing view of the famous Mayo Clinic, and averages around 2 million page impressions a day. It’s built end to end in FarCry and a fabulous example of ColdFusion writ large. Phil Truesdale from the Mayo team will be in Sydney to speak at the webdu developer conference in June.

梅奥诊所 ( Mayo Clinic) –这个巨大的医疗站点是著名梅奥诊所(Mayo Clinic)的面向公众的视图,平均每天有200万页面印记。 它在FarCry中端到端构建,并且神话般的ColdFusion示例广为人知。 Mayo团队的Phil Truesdale将于6月在悉尼在Webdu开发者大会上发表演讲。

Bluescope Steel – Bluescope Steel, one of Australia’s top 20 companies, uses FarCry throughout its various web assets. The Australian Products web site is probably one of the best manufacturing/industry web sites I’ve seen. It has tremendous depth of content, rich cross references throughout, beautiful images, interactive tools, video, Google Maps integration, and is hooked direct to their call center. It’s also the hub of several branded subsites, which leverage exactly the same content but are presented completely differently. Bluescope is seriously committed to its online presence.

Bluescope Steel – Bluescope Steel是澳大利亚排名前20位的公司之一,在其各种网络资产中都使用FarCry。 澳大利亚产品网站可能是我所见过的最好的制造/工业网站之一。 它具有丰富的内容深度,丰富的交叉引用,精美的图像,交互式工具,视频,Google Maps集成,并且直接连接到其呼叫中心。 它还是多个品牌子站点的中心,这些子站点利用完全相同的内容,但呈现方式却完全不同。 Bluescope致力于其在线业务。

SelecTV – SelecTV is very competitive alternative to pay tv provider FoxTel here in Australia. The company’s site is built in FarCry and is closely integrated with the backend Websphere client subscription engine. We recently put together a full-blown online TV guide, complete with personalized guides, print, and PDF delivery options, and SMS/Email reminder alerts. The FarCry framework is used from the import of XML channel feeds right the way through to the membership services and rendering of the guide itself.

SelecTV – SelecTV是澳大利亚付费电视提供商FoxTel极具竞争力的替代产品。 该公司的网站建立在FarCry中,并与后端Websphere客户端订阅引擎紧密集成。 我们最近汇总了功能全面的在线电视指南,其中包括个性化指南,打印和PDF传递选项以及SMS /电子邮件提醒警报。 FarCry框架从XML通道供稿的导入一直使用,一直到成员资格服务和指南本身的呈现。

SitePoint: What about licensing, community, support, and documentation?

SitePoint:关于许可,社区,支持和文档呢?

FarCry is licensed under the Common Public License 1.0. You can create derivative works and share or not share as you like. Unlike other open source licenses, this is something that’s commercially friendly.

FarCry是根据通用公共许可证1.0许可的 。 您可以创建衍生作品,并根据需要共享或不共享。 与其他开放源代码许可证不同,这是商业上友好的事情。

We’re always doing our best to get folks involved in the FarCry community, and to that end we’ve invested heavily in making FarCry available on all sorts of systems:

我们一直在尽力使人们参与FarCry社区,为此,我们投入了巨资,使FarCry可在各种系统上使用:

FarCry runs on Adobe ColdFusion, New Atlanta Bluedragon, and Railo, incorporating a range of ColdFusion application servers, from commercial options, to those that are free for community use.

FarCry在Adobe ColdFusion,New Atlanta Bluedragon和Railo上运行,并整合了一系列ColdFusion应用服务器,从商业选项到免费供社区使用的服务器。 FarCry supports Linux, Solaris, Windows, and OSX (basically anything you can get a ColdFusion server running on).

FarCry支持Linux,Solaris,Windows和OSX(基本上可以在其上运行ColdFusion服务器的任何方式)。 FarCry works with mySQL, Postgres, Oracle and MS SQL database servers.

FarCry可与mySQL,Postgres,Oracle和MS SQL数据库服务器一起使用。

The community itself is a vibrant and friendly place. We provide as many services as we can to help people learn, participate, and see what’s going on in the code base day to day:

社区本身是一个充满活力和友好的地方。 我们提供尽可能多的服务,以帮助人们学习,参与并了解日常代码库中发生的事情:

forums

论坛

bug tracking

错误追踪

fisheye for code tracking

鱼眼进行代码跟踪

crucible for peer code review (running under fisheye)

坩埚用于同行代码审查(在鱼眼下运行)

documentation wiki

文档维基

We’ve recently released Daemon’s entire FarCry Developer Course (130+ pages) under Creative Commons. We hope this will go a long way to helping developers become familiar with the platform quickly.

我们最近在创用CC下发布了Daemon的整个FarCry开发人员课程 (超过130页)。 我们希望这将有助于帮助开发人员快速熟悉该平台。

And of course, Daemon provides a range of commercial support, development, and training services for companies investing in FarCry as a platform for their online business.

当然,Daemon为投资于FarCry作为其在线业务平台的公司提供了一系列商业支持,开发和培训服务。

SitePoint: What’s coming up in the future for FarCry?

SitePoint:FarCry将来会发生什么?

Big news: "Fortress", the FarCry v5.0 release, is due out in March 2008 — we’re just in the final stages of beta testing. Fortress rocks! There are so many new features in Fortress, one of the biggest being the security theme, its namesake. And we’ll be following up this massive release with a series of plugins that leverage and showcase many of the new, underlying services of the Fortress build.

大新闻:FarCry v5.0版本“ Fortress”将于2008年3月发布-我们正处于Beta测试的最后阶段。 堡垒岩石! Fortress有许多新功能,其中最大的功能之一就是安全性主题,即同名主题。 我们将通过一系列插件来跟踪这个大规模发布,这些插件利用并展示了Fortress构建的许多新的基础服务。

SitePoint: Where can people find more information about FarCry?

SitePoint:人们在哪里可以找到有关FarCry的更多信息?

The best place to start is always the community site, and the developer forums. But if you want to kick back and listen to an overview of FarCry, there are several upcoming presentations that might be of interest:

最好的起点始终是社区站点和开发人员论坛 。 但是,如果您想回过头来听听FarCry的概述,那么可能会有一些即将到来的演示文稿很有趣:

FarCry Core Framework cf.frameworks online workshop 27 March 2008 6-7PM (Sydney time) Online Seminar

FarCry Core Framework cf.frameworks在线研讨会2008年3月27日(悉尼时间)下午6-7点在线研讨会

Using FarCry with ColdFusion Adobe Pacific eSeminar 4 April 2008, 2-3PM (Sydney time) Online Seminar

将FarCry与ColdFusion结合使用 Adobe Pacific网络研讨会2008年4月4日,(悉尼时间)下午2-3点在线研讨会

Workshop: FarCry 5.0 Jump Start webDU Developer Conference 11 June 2008, Sydney Australia Full Day Workshop

研讨会:FarCry 5.0快速启动 webDU开发者大会2008年6月11日,澳大利亚悉尼全日研讨会

翻译自: https://www.sitepoint.com/geoff-bowers-farcry-framework/

相关资源:jdk-8u281-windows-x64.exe
最新回复(0)