Malik, On 20/01/2010, at 1:42 PM, Malik Robinson wrote: > FarCry has been touted as a Framework for application development but it > seems to take a different approach as a framework for building applications, > not a bad approach by any means, just different in my opinion. The biggest > hurdle for me with FarCry is the docs are a bit sparse, there aren't a ton of > examples, and as you said you need to look at the code to try to figure > things out.
It would help immensely if people outlined documentation they need -- we work with the product day to day and so what seems obvious to us may well be totally obscure to others. That sort of insight would help us focus our efforts. > I took a peek under the hood at the database schema and it seems a lot of the > tables don't have primary keys/foreign keys, when you create new content > types it seems by default you end up with fields in your database that don't > have the ideal datatype and length. For example, I created a content type > and one of the fields was called "state", typically I would use a char(2) > field for a 2 character state but FarCry seemed to create the field as a > varchar(255). Maybe this is configurable and I just didn't know any better. The FarCry schema can be inefficient at times but generally it shouldn't affect your application -- though it does annoy me sometimes as well. There has been a planned enhancement to add precision to column creation, we're just waiting for an idle moment or a corporate sponsor to implement. You can alter the column in your database directly, FarCry will just warn you that it doesn't match what it believes the column should be. As to keys and indexation -- the current approach is to require developers to optimise there own databases, and there are various reasons for this. However, if the installer is not generating a primary key for a table by default that would be considered a bug and should be reported as such. > With FarCry, I don't feel like I know if I am putting things in the right > place even though it works. FarCry seems used a lot of custom tags and > includes, I'm not a big include fan, but they seem to be everywhere with > FarCry. FarCry development should not involve *any* calls to CFINCLUDE. Although the framework itself uses these for some internal chicanery, there is no reason for a developer using FarCry to use CFINCLUDE. I'd be very interested to hear where you've been using CFINCLUDE because we may be able to help clean up that problem straight away. As for custom tags, these typically encapsulate framework calls that folks should really not have to understand -- we have a philosophy that working with FarCry should be ColdFusion'esque and simplifying things with tag calls is part of that. In most cases you could make a series of object instantiations and method calls if you wanted to. > I like to follow a more MVC approach with a Front Controller pattern. FarCry does follow an MVC approach ;) In FarCry, the controller is the framework itself: the machinery that sends a request to the appropriate view, according to the URL convention. Although in truth you could quite easily write your own, but I can't think of a reason to do this. The views are defined by the "webskins". In fact view and webskin are synonymous. The model is defined in your content type cfproperty tags. The framework automatically passes a structure of the model data to every view. One significant difference to many other frameworks is that FarCry views *always* execute in the context of a content type (rules and forms are equivalent but I don't want to muddy the water here). That is, you need to have a content type instantiated first in order to execute a view; the controller calls the model which calls the view. > We've just implemented FarCry where I work and it's been great for > non-technical users to be able to add content without IT intervention and > little to no training at all. If you are building a content rich site I think > FarCry is a great solution. That's great to hear! We're hoping users will see 6.0 as an enormous leap forward in usability. > I think you really need to look at what your building and choose the right > tool based on your requirements. Typically, a developer is going to say the > framework that they are most familiar with is the best. I've used FuseBox > 4/5, ColdBox, and a Mate for Flex/Air Development. I really like ColdBox a > lot though. The documentation is really amazing and there are tons of > examples so I would strongly consider that. FarCry works well with other frameworks. There are several potential integration points. While you can probably do a huge amount in FarCry, there is no reason you can't use a specific framework for a particular task and integrate the results into FarCry. That way you can leverage the extremely powerful templating/caching/editing of FarCry. > I also haven't worked with FarCry enough so some of my comments may appear > negative, but that is probably just due to my lack of knowledge but I will > say some more documentation, more examples, including some ajax ones would be > nice. We're always keen to get constructive feedback. FarCry is what it is as a result of folks pointing out what they do and don't like ;) All the best, -- geoff http://www.daemon.com.au/ -- You received this message cos you are subscribed to "farcry-dev" Google group. To post, email: [email protected] To unsubscribe, email: [email protected] For more options: http://groups.google.com/group/farcry-dev -------------------------------- Follow us on Twitter: http://twitter.com/farcry
