I'm no guru so i couldn't really say, but maybe the training guide
will help:
http://blog.daemon.com.au/go/blog-post/farcry-4-0-training-course-released



On Oct 3, 6:04 am, Mike Haggerty <[EMAIL PROTECTED]> wrote:
> Hello!
>
> WARNING: noob ramblings and really long post.  Only read if very bored
> or feeling very benevolent.
>
> I need some help conceptualizing and determining the 'best practice'
> with app development in the farcry 4.0 world.
>
> Here's my scenario:
>
> I have a crm plugin.  It has a crmOrganization type and a
> ruleCrmOrganization rule.  In fact, heck, here's the directory structure:
>
> /plugins
> -/crm
>
> --/customadmin
> ---crm.xml
> ---/customlists
> ----crmOrganization.cfm
> ----crmOrganizationType.cfm
> ----crmSpecies.cfm
> ----crmState.cfm
>
> --/packages
> ---/rules
> ----ruleCrmOrganization.cfc
> ---/types
> ----crmOrganization.cfc
> ----crmOrganizationType.cfc
> ----crmSpecies.cfc
> ----crmState.cfc
>
> --/webskin
> ---/crmOrganization
> ----displayEditOrganization.cfm
>
> OK, now that I've got that laid out, here's a little explaination of
> what I have done so far:
>
> 1) Basically all that I have this doing so far is some simple CRUD
> operations on the admin webtop by way of the ft:objectAdmin tag in the
> customlists.
> 2) I've also got the rule working so that a user can add a content
> container to the front end and choose displayEditOrganization.cfm as the
> template.  This will display a form using the formtools tags.
>
> Here's how I'm doing that:
>
> ------ entirety of ruleCrmOrganization.cfc ------
> <cfcomponent displayname="CRM Organization rule"
> extends="farcry.core.packages.rules.rules"
>             hint="Allows you to place an edit form to register an
> organization.">
>     <cfproperty ftSeq="1" ftFieldSet="Intro" name="intro"
> type="longchar" hint="Introduction HTML for map." ftLabel="Intro"
> ftType="longchar" />
>     <cfproperty ftseq="3" ftFieldset="List" name="displayMethod"
> type="string" hint="Display method to render." required="yes"
> default="display" fttype="webskin" ftprefix="display"
> ftTypename="crmOrganization" ftlabel="Content Template" />
>
> <cffunction name="execute" hint="Displays the text rule on the page."
> output="true" returntype="void" access="public">
>     <cfargument name="objectID" required="true" type="uuid" default="" />
>
>     <cfset var stObj = getData(arguments.objectid) />
>     <cfset var oOrg =
> createObject("component","farcry.plugins.crm.packages.types.crmOrganization")
> />
>     <cfset var stData = oOrg.getData(createUUID()) />
>     <cfset var stInvoke = structNew() />
>     <cfscript>
>         if (len(stobj.intro))
>             arrayAppend(request.aInvocations,stobj.intro);
>         stInvoke.objectID = stData.ObjectID;
>         stInvoke.typename = application.types.crmOrganization.typepath;
>         stInvoke.method = stObj.displayMethod;
>         arrayAppend(request.aInvocations,stInvoke);
>     </cfscript>
> </cffunction>
> </cfcomponent>
> ------ end ruleCrmOrganization.cfc ------
>
> ------ entirety of displayEditOrganization.cfm ------
> <cfimport taglib="/farcry/core/tags/formtools/" prefix="ft" />
>
> <ft:form>
>     <ft:object typename="crmOrganization" />
>     <ft:farcrybutton />
> </ft:form>
> ------ end displayEditOrganization.cfm ------
>
> Which leads me to my questions:
>
> 1) Is this breaking any 'best practices'?  What if I had multiple
> display templates?  One to view an organization, and one to edit an
> existing, and one to add a new?  How would I go about rendering the
> different templates?  Should I have a cfcase statement inside my execute
> function to run different methods depending on which template was selected?
>
> 2) How would I go about submitting this form and saving the data?
> Should I write a save function in my rule cfc?  How would I pass the
> data along?  I know that there's an action="" attribute that I can throw
> in the ft:form tag...is there a way to pass along a typename and a
> methodname so that it will call the save method for me?
>
> 3) Any general comments/suggestions/examples/noob bashing....?
>
> If you've made it this far without hitting the delete button,
> Thanks!
> Mike
>
> --
> Michael Haggerty
> Internet Applications Developer
> SiteVision, Inc.
> <e>[EMAIL PROTECTED]</e>
> <p>540.343.8322 x116</p>


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"farcry-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/farcry-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to