<?xml version="1.0"?>
<rss version="2.0">
  <channel><title>Features</title><link>http://bill.welliver.org//space/pike/Fins/Features</link><description>&lt;h3 class="heading-1"&gt;Features&lt;p class="paragraph"/&gt;&lt;/h3&gt;
&lt;b class="bold"&gt;Model&lt;/b&gt;&#xD;
&lt;ul class="minus"&gt;
&lt;li&gt;Object relational mapping with support for mySQL, SQLite and Postgres (preliminary support) database engines&lt;/li&gt;
&lt;li&gt;Numerous mapping classes allow rich functionality while seamlessly mapping a SQL database onto Pike objects&lt;/li&gt;
&lt;li&gt;Write an entire web application without writing a single SQL statement&lt;/li&gt;
&lt;li&gt;Object instances can be created using either factory methods (which allows caching) or through direct creation of objects from datatype classes&lt;/li&gt;
&lt;li&gt;Built in Caching system enhances performance with sliding expirations&lt;/li&gt;
&lt;li&gt;Model can be automatically configured from database schema (see &lt;a href="/space/pike/Fins/Developer/Model"&gt;Model&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Validation, with separate validation available for creation and updates.&lt;/li&gt;
&lt;li&gt;Model can be used in standalone applications without the full Fins framework (see &lt;a href="/space/pike/Fins/Developer/StandaloneModel"&gt;StandaloneModel&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;b class="bold"&gt;View&lt;/b&gt;&#xD;
&lt;ul class="minus"&gt;
&lt;li&gt;Modular template system is easily extended for custom functionality&lt;/li&gt;
&lt;li&gt;Two template systems are provided out of the box: Simple tempaltes, a Smarty-like markup syntax, and a Standards-compliant XSLT template engine.&lt;/li&gt;
&lt;li&gt;Simple templates are high-performance and provide rich functionality, such as runtime configurable Macros while promoting separation of application logic from interface display logic.&lt;/li&gt;
&lt;li&gt;Several macros (such as remote_form and remote_link) designed to make AJAX functionality quick and easy.&lt;/li&gt;
&lt;li&gt;Support for layouts that separate application (and controller level) formatting from event level content.&lt;/li&gt;
&lt;li&gt;Full set of &lt;a href="/space/pike/Fins/i18n"&gt;i18n&lt;/a&gt; tools.&lt;/li&gt;
&lt;/ul&gt;&lt;b class="bold"&gt;Controller&lt;/b&gt;&#xD;
&lt;ul class="minus"&gt;
&lt;li&gt;Maps Pike functions and objects onto a web URI namespace.&lt;/li&gt;
&lt;li&gt;Functions are provided for returning various types of data and web server responses and passing information between requests&lt;/li&gt;
&lt;li&gt;XMLRPCController makes public functions available via XML-RPC permitting simple integration&lt;/li&gt;
&lt;li&gt;DocController eases application development by automatically selecting the proper template based on a request's position in the controller tree. Additionally, DocController automatically sets the layout for the controller the event is located within.&lt;/li&gt;
&lt;li&gt;ScaffoldController eases &lt;a href="CRUD" class="wiki_link_external" &gt;http://en.wikipedia.org/wiki/Create%2C_read%2C_update_and_delete&lt;/a&gt; interface generation by providing automatic interface generation based on a data model's schema.&lt;/li&gt;
&lt;li&gt;Built-in support for &lt;a href="JSON" class="wiki_link_external" &gt;http://www.json.org&lt;/a&gt; encoding and decoding (see the Tools.JSON module) to ease data transport as well as a JSON-RPC controller.&lt;/li&gt;
&lt;li&gt;Pre and post request filtering for purposes such as authorization, encoding, etc.&lt;/li&gt;
&lt;/ul&gt;&lt;b class="bold"&gt;Integration&lt;/b&gt;&#xD;
&lt;ul class="minus"&gt;
&lt;li&gt;XMLRPC and JSON-RPC Controllers for providing automatic bindings of Pike methods to standards based RPC technologies.&lt;/li&gt;
&lt;li&gt;StompController for messaging integration using &lt;a href="Stomp" class="wiki_link_external" &gt;http:// stomp.codehaus.org&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;JMSController for &lt;a href="JMS" class="wiki_link_external" &gt;http://www.sun.com/products/jms/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;messaging integration&#xD;
&lt;ul class="minus"&gt;
&lt;li&gt;SMTPController for handling inbound email.&lt;/li&gt;
&lt;/ul&gt;&lt;b class="bold"&gt;Development&lt;/b&gt;&#xD;
&lt;ul class="minus"&gt;
&lt;li&gt;A template is available for the &lt;a href="TextMate" class="wiki_link_external" &gt;http:// www.macromates.com&lt;/a&gt; text editor&lt;/li&gt;
&lt;li&gt;Runs on UNIX, Linux and MacOS X; Windows support is planned.&lt;/li&gt;
&lt;li&gt;Fins provides a built in web server, which means no additional web server is required for development.&lt;/li&gt;
&lt;li&gt;Provides Rendezvous bookmarks on Rendezvous enabled systems, such as MacOS X.&lt;/li&gt;
&lt;li&gt;All of the power of the Pike language is immediately available to Fins applications.&lt;/li&gt;
&lt;li&gt;Templates can be set to automatically reload on change, speeding development.&lt;/li&gt;
&lt;li&gt;&lt;a href="/space/pike/Fins/Developer/Breakpointing"&gt;Breakpointing&lt;/a&gt; support, which allows you to specify breakpoints, and access an interactive hilfe session mid- request.&lt;/li&gt;
&lt;li&gt;pike -x fins tools provide easy access to the built in http server, as well as a new application creation tool.&lt;/li&gt;
&lt;/ul&gt;&lt;b class="bold"&gt;Deployment&lt;/b&gt;&#xD;
&lt;ul class="minus"&gt;
&lt;li&gt;Provides a HTTP container for development or simple production deployments&lt;/li&gt;
&lt;li&gt;A connector module is available for the Caudium web application server, allowing easy deployment of Fins applications&lt;/li&gt;
&lt;li&gt;FCGI and SCGI containers for use with any FastCGI or SCGI capable webserver&lt;/li&gt;
&lt;li&gt;Built in application packaging features make it easy to distribute your application.&lt;/li&gt;
&lt;/ul&gt;New features are being added regularly, so it's often best to have a look at the CVS changelog:&lt;p class="paragraph"/&gt;
RSS: invalid RSS document&lt;p class="paragraph"/&gt;
&#xD;
</description><generator>Fins 0.9.7</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs></channel>
</rss>
