Project Ideas
 | We're looking for projects that add value to the FarCry framework itself or optionally extend the usefulness of FarCry overall. Plugins, user directories, formtools, and other extensions are very welcome. |
Formtool UI Library Conversion to JQuery
Formtools is a remarkable system in the framework for dynamically building edit interfaces for the underlying FarCry data model.
We've made a decision to standardise UI elements in the formtools engine on JQuery. We need to re-write all non JQuery items to use the JQuery Javascript library; namely to replace those based on extJS and Scriptaculous. In the transition we hope to significantly improve various UI elements and add to the growing library of UI controls already available in the framework.
Experience: JQuery experience pretty important.
Difficulty: Moderate
ATOM API
Build a plugin that allows developers to add a standard blogging API. This should be configurable to allow external clients to update any content type. How cool would it be to be able to "blog" any content, rather than just blog posts?
Ultimate Goal of this project is to allow data entry for FarCry web applications through third-party APIs and desktop applications such as Windows Livewriter, Adobe Contribute and anything else that supports ATOM publishing APIs
Experience: ColdFusion, understanding of blogger API a plus
Difficulty: Moderate
FarCry Lucene
Free text search is a commodity requirement for the framework. The current dependence on Verity for free text searching causes difficulties in unsupported environments. We need to develop a more universally usable solution.
Build a plugin that utilises the Lucene search engine and provides free text search options for any content or associated media asset. Could use the FarCry Verity plugin as a blueprint for this work although configuration options for Lucene will be significantly different. Plus the ColdFusion community has some prototype ColdFusion components for hooking into and configuring Lucene that would form a good starting point for integration.
Experience: ColdFusion, understanding of Lucene a plus
Difficulty: Moderate
Google Analytics Plugin
 | Progress Thus Far
Daemon has made significant progress with respect to a GA plugin over the last year. We have a couple of sites currently running the prototype, and we're finalising the feature set for the v1.0 due April 2009. |
Google Analytics is a very popular addition to many FarCry sites. While adding functionality to populate pages with a basic urchin is udimentary, we're after a cunning way of integrating advanced Analytic features. Build a plugin that makes it easy to track external links, file downloads, and especially important, point-n-click goal tracking set up.
Experience: ColdFusion, knowledge of Google Analytics a bonus
Difficulty: Moderate
Plugin Explorer
Plugins are the lifeblood of FarCry applications – they are very powerful. However, they have to be manually deployed and undeployed by a developer. We want to make this something non-technical users can do by providing a simple, yet powerful Plugin deployment system – the Plugin Explorer.
The oproject will involve the building of an online webservice to manage the community plugin library. Build an interface within the webtop to deploy and remove plugins as desired. Extend the plugin architecture to incorporate plugin dependencies, plugin deactivation and plugin installation.
Experience: ColdFusion
Difficulty: Moderate-High
OpenID User Directory
Creating an OpenID user directory that allows users to register and log in with OpenID's. The project would involve hooking in with the standard FarCry user profile, and providing synchronisation with the remote OpenID profile as required.
FarCry already provides support for external directories, LDAP and Active Directory. The User Directory extension API is well defined in FarCry. However, the developer would likely need a good understanding of OpenID (or be prepared to do some research!).
Experience: ColdFusion
Difficulty: Moderate
OpenID Server
Extending the default internal user directory so that it provides OpenIDs for users to use outside FarCry – in effect turning FarCry into an OpenID server. Would be super cool to actually allow FarCry to provide an openID server interface to other FarCry user directory options. For example, you might have extended FarCry to use ActiveDirectory as an authentication method – why not then allow the user to use those active directory credentials through OpenID.
Experience: ColdFusion
Difficulty: High
Forum application
A FarCry port of industry standard forum functionality. Several FarCry forum integrations have been done – it's about time we had a native forum solution. Afterall FarCry makes for a fantastic framework for forum construction.
Experience: ColdFusion
Difficulty: Moderate
Local File DB support
For testing, distribution and development it would be extremely useful to have a working framework environment that id not require a full blown database server implementation. FarCry can currently run on MS SQL, MySQL, PostgreSQL, and Oracle. The recent ColdFusion release now has Derby built in and can support other local file based db solutions such as SQL Lite.
This project would involve adding local file based db support to FarCry core. Other possible features:
- Create database on install
- Refactoring of fourq / db gateways
Experience: ColdFusion
Difficulty: High
i18n webtop
 | Progress Thus Far
The FarCry 5.1 release has incorporated a new engine for i18n development. We're now looking for translators and testers to put the engine through its paces. We need support with the further development of a plugin to assist translators and developers building resource bundles. |
The devised i18n framework needs to be fleshed out, tested, and then fully implemented throughout the codebase. The i18n model follows an inheritence model similar to plugins. We need support implementing utilities to simplify the translation process and visualise missing or incorrect properties within applications.
Experience: ColdFusion, some experience with locales and i18n issues a plus
Difficulty: Moderate
Translation Engine (Codename: Polyglot)
 | Progress Thus Far
The FarCry 5.1 release has incorporated a new engine for i18n development. We've made preliminary steps towards building a translation solution for online translation of resource bundles. Looking for developers and testers to take this forward. |
Polyglot is a translation solution for managing resource bundles through an online community of translators and contributors. It hopes to address the difficulties associated with keeping resource bundles accurate and up to date on a changing and evolving code base.
Although built in FarCry, there's no reason why this solution could not be used by any project managing i18n through resource bundles.
Experience: ColdFusion, some experience with locales and i18n issues a plus
Difficulty: Moderate
Unit Testing Framework
 | Framework Complete, Tests Needed
Daemon has recently released a complete Unit Testing Framework for FarCry based on the MX Unit testing framework. We need help constructing a suite of tests for the core framework and popular plugins. |
Although its relatively straightforward to leverage existing unit testing frameworks from the ColdFusion community, we need a special testing harness built to better enable unit tests to perform within the context and/or active state of an operational application.
Experience: ColdFusion, experience with unit testing
Difficulty: Easy-Difficult (depends on the test suites you want to tackle)
Reporting Plugin
The built-in web stats reporting engine was removed from FarCry Core 5.0 framework. The code needs to be re-purposed into an optional plugin for developers who want to continue to use these features. This is actually a nice little contained project we plenty of scope for experimentation.
Experience: ColdFusion
Difficulty: Moderate
Ecommerce Gateway Plugins
The development of a standard set of plugins for plug'n'play integration with ecommerce gateways. Suggested gateways include Amazon, Google Checkout and Paypal.
Experience: ColdFusion, some experience with the relevant API
Difficulty: Moderate
Ecommerce Shopping Cart Plugin
FarCry is used to build a lot of ecommerce solutions, however, there is no community plugin for the provision of standard product cataloguing and shopping cart options.
Experience: ColdFusion, some experience with the relevant API
Difficulty: Moderate
Nested Tree Model Refactoring
FarCry implements the Joe Celko nested tree model for managing nested content; for example, the site overview tree, and category tree structures. Although functional, we're limited by years of cruft having accumulated in this area. We need to re-write the nested tree model implementation whilst maintaining backward compatibility for existing applications.
Experience: ColdFusion, SQL
Difficulty: Difficult
Air Documentation App
An Air app to provide offline, desktop access to documentation. This app would need to be able to handle multiple sets of documentation. Preferably with the ability to add/update documentation after installation dynamically.
This app isn't necessarily FarCry specific.
Experience: AIR, WIKI, Parsing... mixed bag really
Difficulty: Moderate
Project Tracker
A FarCry implementation of a versatile project tracker. e.g. Base Camp or Unfuddle
Experience: ColdFusion
Difficulty: Moderate
Notes from Google...
An "Ideas" list should be a list of suggested student projects. This list is meant to introduce contributors to your project's needs and to provide inspiration to would-be student applicants. It is useful to classify each idea as specifically as possible, e.g. "must know Python" or "easier project; good for a student with more limited experience with C++." If your organization plans to provide an application template, it would be good to include it on your Ideas list.
Keep in mind that your Ideas list should be a starting point for student applications; we've heard from past mentoring organization participants that some of their best student projects are those that greatly expanded on a proposed idea or were blue-sky proposals not mentioned on the Ideas list at all.
Do the projects on your ideas list look feasible for student developers? Is your ideas list thorough and well-organized? Your ideas list is the first place that student participants are going to look to get information on participating in GSoC, so putting a lot of effort into this list is a good thing(tm). One thing we noticed and really appreciated this year was how some organizations classified their ideas by easy, medium and difficult, and specifically listed the skills and background required to complete a given task. It might also be cool to expand on each idea with some places to get started research-wise (pointers to documentation or specific bugs), as well as the impact finishing a given idea will have for the organization.
|
As an addition to the CMS features, a fully functional split level testing of content. The ability to create multiple version of content, have a user asigned that "thread" in order to test the content against other formats. As well as mutli veriance testing with content on a certain page, and allow for individually reportable combinations of content. So I know that version 3 of the header section, with version 4 of the body, and version 1 of the footer gets me the best results...
Adding marketing style features to the CMS project would be killer. I've already set up a custom type to allow for the loading and displaying of multiple content based on cookie, but I see no way to leverage Farcry to report on multi-variance testing. To start a solid split level test would rock...
Which I have accomplished by route of copying and pasting objectIDs, using a more GUI approach would rock.
Although there are many, many resources available in code comments, documentation, video, and community support, it might be an idea to set up a database / xml driven CMS help system.
I think it's only needed for the CMS, (as for the framework, farcry core, the code comments, documentation, video, and community support are sufficient) but it might could be used for more.
Such system could be used to show FAQ lists, CMS inline / tooltip help and so on.
Then you would have one source of that info that can easily be updated, translated, etc.
As there is already a translation system in progress and evolving, and a existing inline help structure is present, it would be a creative project to combine those features (if possible) into a dynamic driven CMS help system.
A generic CRM plugin might be a useful tool.
A plug-in that leavages Google Gears for custom mini-applications