|
Posted
over 15 years
ago
We've been fielding a few questions concerning the relatively new rewrite engine you can download for IIS7. It purports to be as good as Apache mod_rewrite but unfortunately Microsoft have decided to invent a rewrite rule syntax of their own --
... [More]
surprising, eh ;)
IIS URL Rewrite 2.0 enables Web administrators to create powerful rules to implement URLs that are easier for users to remember and easier for search engines to find. http://www.iis.net/expand/URLRewrite
Turns out the simplest way to get friendly urls to work on IIS7 is to use the built-in "import rule" functionality for existing mod_rewrite rules.
Jason has put together a quick little tutorial with screenshots to help you through: http://docs.farcrycms.org/display/FCDEV50/Friendly+URLS+IIS7 Enjoy!
Permalink
| Leave a comment »
[Less]
|
|
Posted
over 15 years
ago
farcry: Working with File Uploads greater than 4Mb on IIS7 http://post.ly/YAWZ
|
|
Posted
over 15 years
ago
We've had some folks report problems uploading larger files through FarCry CMS on IIS7. It appears the default max file size upload allowed for IIS7 is only 4MB, so you need to update the IIS7 config to allow larger uploads. Found this blog post
... [More]
on configuring web.config: Request Filtering module is configured to deny a request that exceeds request content length http://khairie.net/request-filtering-module-is-configured-to-deny-a-request-t... Hopefully that helps! PS. There's also a file upload limit setting in ColdFusion Administrator -- the CFIDE default setting is 100Mb but it might be worth a check if you are having difficulty uploading larger files.
Permalink
| Leave a comment »
[Less]
|
|
Posted
over 15 years
ago
farcry: getNavID() replaces application.navid http://post.ly/Y9GR
|
|
Posted
over 15 years
ago
application.navid's should never be referenced directly in code anymore. The problem with referencing these application variables directly is if for any reason the alias doesn't exist you will end up with a broken page. Besides it's just plain bad
... [More]
coding practice. The right way is to use the FarCry API (fapi) function: ex: application.fapi.getNavID("signupenews","home") The second parameter is the default fallback node to use in the event the primary is not created. "home" is the safety fallback as it always exists. Thanks to Jasbar for this insight ;) PS. NavID's are a great way to nominate an alias for a specific point in the tree (there's also a similar catid concept for categories). You create NavID's by adding an "alias" to the relevant navigation folder content item in the site overview tree. You can then refer to this alias in your code. If the position in the tree changes, just change the alias. Beats hardcoding UUIDs.
Permalink
| Leave a comment »
[Less]
|
|
Posted
over 15 years
ago
farcry: Form Components http://post.ly/Vn0T
|
|
Posted
over 15 years
ago
Ever wondered what the components in ./packages/form are all about? Form components unlock the power of formtools just like content types, but are not persisted in the database. Think "forms", think formtools. Formtools you say? Formtools are one
... [More]
of the things that make working with FarCry awesome. Let me count the ways: - the library of standard form inputs - automatic javascript and server side validation - handling of fields that need multiple inputs (like dates) - managed file upload - library pickers - image manipulation - uniform formatting - ajax functionality - and much more The "formtools" engine is all about sophisticated forms that basically build themselves. But in FarCry 4.x formtools could only be used with content types. A developer was out of luck if they needed a form for data that wasn't destined for the database. Which was a problem when it came to refactoring FarCry's security architecture to support custom user directories and the configuration UI. Thus "forms" components were born. "Forms" are identical to content types, but all the database persistence functions have been overriden to support in-session storage only. From the point of view of the COAPI framework they can do everything a normal type could do. This means that a form component can be used in: - ft:object to output a form - ft:processformobjects can detect and process form component posts For completeness an extra function got added to forms, "process", which is also processed on a successful form post. This makes it possible to keep the UI metadata and data processing in the same component. A side benefit of all this is that forms can have their own webskins. Since 5.0 the login pages have been overridable the same way as any other webskin. This "side benefit" turns out to be one of the most fantastics things about "forms" but hey, that's another post entirely. There are a couple of gotcha's to watch out for: - form webskins can't easily be cached because they aren't associated with persistent data - forms can't have array properties since the array formtool makes use of the database Enjoy "forms". Cheers, Blair
Permalink
| Leave a comment »
[Less]
|
|
Posted
over 15 years
ago
farcry: New FAPI function: getContentObjects() http://post.ly/UWat
|
|
Posted
over 15 years
ago
There are a couple of dopplegangers for this functionality in core, buried in FourQ and the database gateways. Both are awkward, and offer little more than arguments for the where and order by clauses. All are about to be deprecated and replaced
... [More]
with getContentObjects() in FarCry 6.0.1. application.fapi.getContentObjects() massively improves on older methods by: - using dynamic arguments for filtering - handling filters on date columns that can have null values - automatically filtering results by their status - using cfqueryparam for all filter values The arguments are: - typename (req) - lProperties (default=objectid) - status (default=request.mode. lValidStatus) - orderBy (default=unordered) - [property filters]* Property filters are arguments in the form propertyname_comparison=value. Supported comparisons are: - eq, neq (equality filters) - in, notin (list filters) - like (standard DB like comparison) - isnull (boolean value to specify whether to return null properties or not) - gt, gte, lt, lte (standard comparisons, null dates always pass these filters) Examples: qLatestNews = application.fapi.getContentObjects(typename="dmNews",lProperties="objectid,title",publishDate_lt=now(),expiryDate_gt=now(),orderBy="publishDate desc") qLockedHTML = application.fapi.getContentObjects(typename="dmHTML",locked_eq=1) qNotActiveUsers = application.fapi.getContentObjects(typename="dmUser",userstatus_in="inactive,pending") This FAPI function is only intended to replace the 90% of queries we use the most in webskins. Other functionality like filters on related tables, grouping, and aggregates will still be handled in custom SQL. Cheers, Blair
Permalink
| Leave a comment »
[Less]
|
|
Posted
over 15 years
ago
farcry: Updating FarCry CMS Features FAQ: Help Needed http://post.ly/SHds
|