これで猫の皮を剥ぐ方法は確かにたくさんあります。Galleon 2フォーラムコードをダウンロードして、user.cfcを確認しました。
この関数のクエリを変更して、必要なフィールドをCMSから取得できます。
<cffunction name="getUser" access="public" returnType="struct" output="false" hint="Returns a user.">
<cfquery name="qGetUser" datasource="#variables.dsn#">
SELECT
[cmsusertable].cmsid as ID,
[cmsusertable].cmsuser as username,
[cmsusertable].cmspassword as password,
[cmsusertable].cmsemail as emailaddress,
[cmsusertable].createDate as datecreated,
[cmsusertable].cmsactive as confirmed,
[cmsusertable].cmssignature as signature,
[cmsusertable].cmsavatar as avatar
FROM
[cmsusertable]users
WHERE
[cmsusertable].username = <cfqueryparam value="#arguments.username#" cfsqltype="CF_SQL_VARCHAR" maxlength="50">
</cfquery>
Galleonが期待するとおりにクエリからフィールドを返す必要があることに注意してください。そのため、「as」ステートメントを使用して、CMSデータベースフィールドの名前をGalleonが期待する名前に変更します。これで、Signature / Avatarなど、CMSテーブルにない可能性のあるこれらの無関係なフィールドの一部が表示されます。これらのフィールドに対応するためにCMSテーブルとユーザールーチンを拡張できるのであれば、それは良いことかもしれません。または、Galleonのプロファイルルーチンを変更して、プロファイル全体ではなく、署名/アバターのみを更新することもできます。Galleonテーブルを使用してこの情報を格納する場合は、ユーザーデータの再統合が要求された場所にこれらのフィールドを含めるために結合を追加することを忘れないでください。
また、プロジェクト内の約4つのファイル(user.cfc、conference.cfc、message.cfc、thread.cfc)の結合を変更して、代わりにCMSユーザーテーブルに結合する必要があります。
最後に、login.cfmを変更して、CMSユーザーセッションの情報を使用してsession.user構造体を設定しようとし、失敗した場合は、ユーザーをCMSログインページにリダイレクトする必要があります。
全体的に、それほど難しいことではないと思います。私が見逃したものがあると確信していますが、おそらくそれはあなたを動かすでしょう。