How to manage the CFC (subsystem), which is used on several sites?

How can you manage something like that? I tried my best to create a subsystem for reuse, but there are only certain things that are unique to the site that need to be configured (for example, the fields in the Account object or cfc = "" in the orm annotation).

I thought about using SVN and debugging the setup, but we found it to be very cumbersome quickly, because the person who completed the transaction should decide that the patch for improvement / fix applies to Truck or Branch every time and once that missed, not easy to cancel.

So ... What is the best way to handle this situation? Just clone the code set into a new source control and fix errors on both / all controls?

+5
source share
2 answers

It seems to me that you are trying to reuse the code between the two sites, but there are subtle differences from the code. I know this will sound easier than done, but I think you will have to separate the differences. So if this is only the AccountsCFC that needs to be changed, then support two versions of it, one for each site.

CF. CFC com.common.model, - com.mysite.model, - com.myothersite.model.

, , .

, .

+1

, - MVC... ...

.

, , -, CFC, :

1)

, , CFC, . , , .

, . , , API, - .

2) mix-ins

, , , , /, , cfc, . mixins mixins.

, CF , Ruby.

, "- , /- , ", Rails Django .

, cfproperty , , -. 95% , , , cfc, .

:

    <cfcomponent output="false" persistentLayer="GAE" persistentClass="asana" extends="com.bespokelogic.framework.BaseModel">
        <cfproperty name="id" type="string" persistentDatatype="string" settable="true" gettable="true" required="true">
        <cfproperty name="deckSet" type="string" persistentDatatype="string" settable="true" gettable="true" default="basic">
        <cfproperty name="englishName" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="traditionalName" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="pronunciation" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="pronunciationNotes" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="description" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="type" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="anatomicalFocus" type="array" persistentDatatype="array" settable="true" gettable="true" default="#arrayNew(1)#">
        <cfproperty name="therapeuticFocus" type="array" persistentDatatype="array" settable="true" gettable="true" default="#arrayNew(1)#">
        <cfproperty name="benefits" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="variations" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="contraindications" type="array" persistentDatatype="array" settable="true" gettable="true" default="#arrayNew(1)#">
        <cfproperty name="skill" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="instructions" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="skill" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="prelimAsana" type="asana" persistentDatatype="Key[]" settable="true" gettable="true" default="#arrayNew(1)#">
        <cfproperty name="followupAsana" type="asana" persistentDatatype="Key[]" settable="true" gettable="true" default="#arrayNew(1)#">
        <cfproperty name="thumbnailImage" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="primaryImage" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="images" type="array" persistentDatatype="array" settable="true" gettable="true" default="#arrayNew(1)#">
        <cfproperty name="primaryVideo" type="string" persistentDatatype="string" settable="true" gettable="true">
        <cfproperty name="videos" type="array" persistentDatatype="array" settable="true" gettable="true" default="#arrayNew(1)#">
    </cfcomponent>
+3

All Articles