Кто-нибудь использует платформу ColdFusion, которая имеет определенные требования к пути без сопоставления или размещения ресурсов в корневом каталоге сервера?


Позвольте мне сначала сказать, что я знаю этот faq для Mach-II, в котором обсуждается использование конкретных отображений приложений в качестве третьего варианта, когда:

  1. Локализация фреймворка в корне сервера невозможна и

  2. Создание широкого сопоставления сервера с каталогом Mach-II framework невозможно

Использование специфичных для приложения отображений также будет работать для других платформ ColdFusion с аналогичными требованиями (ColdSpring). Вот однако моя проблема: все мои (я бы сказал "их") производственные серверы работают под управлением ColdFusion MX7, и в ColdFusion 8 были введены специальные сопоставления приложений. Скорее всего, я не смогу сделать Вариант 1 или 2, потому что они включают в себя создание изменений на уровне сервера, которые могут конфликтовать с другими приложениями (У меня нет окончательного слова об этом, но я готовлюсь к этому).

Тем не менее, есть ли там кто-нибудь, кто был в подобной связке и сделал вариант 4, в любом случае Версия ColdFusion, или с любым подобным фреймворком? Единственный вариант 4, который я могу придумать, - это изменение всего фреймворка, чтобы изменить этот жестко заданный путь, и даже если это сработает, это будет отнимать много времени и рискованно. Я совершенно уверен, что если бы была простая модификация или другое простое решение, оно уже было бы включено в фреймворк (возможно, оно включено в версию 1.8 Mach-II, и я еще не знаю об этом).

Любые мысли о решении этой проблемы или даже неортодоксальные установки с библиотеками, которые имеют определенные требования к пути, было бы полезно. Любые мысли от команды Mach-II были бы особенно оценены...мы здесь в одной команде, Мэтт! ;- )

EDIT

Очевидно, фреймворк ColdBox включает в себя задачу refactor.xml ANT, которая включает в себя цель, которая рефакторирует код ColdBox, чтобы использовать другой абсолютный путь в качестве основы наряду с несколькими другими полезными целями рефакторинга. Таким образом, проблема решена для пользователей ColdBox.

Глядя на построение.XML для Маха-второй (1,6 и 1,8) я не вижу никакой цели в там, что позволит мне выполнить рефакторинг кода. Я думал о создании билета запроса функции для такой задачи для Mach-II, но, честно говоря, я не думаю, что создание такой задачи муравья является большим приоритетом для команды MachII, так как потребность действительно относится только к любому

  • a) пользователи версий ColdFusion ниже 8
  • b) кто-то, кто хочет использовать несколько версий Mach-II в одном приложении, использование которых я сомневаюсь, что они хотите поддержать
Код ColdSpring, который у меня есть, вообще не поставляется с муравьиными задачами, хотя у меня есть модульные тесты, и я уверен, что если бы я покопался в SVN, то нашел бы несколько сценариев сборки.

Использование муравьиных задач для рефакторинга и повторного тестирования кода или более простое (и вроде как копируемое) решение создания отдельного экземпляра ColdFusion для приложения - это лучшие ответы, которые я смог придумать. Мне не нужно, чтобы это приложение существовало в общей области других поэтому моим первым решением будет попытаться получить выделенный экземпляр CF для этого приложения.

Я также собираюсь посмотреть на рефактор ColdBox.задача xml ANT, однако, и посмотреть, если я могу изменить его, чтобы работать в общем для распознавания и рефакторинга ссылок CFC с измененными абсолютными путями. Если я выполню эту задачу, я обязательно опубликую код где-нибудь и отредактирую создать ответ, чтобы связать его. Если кто-то еще хочет попробовать это или помочь мне с этим, чувствуйте свободный.

А до тех пор я оставлю этот вопрос открытым и посмотрю, не придумает ли кто-нибудь лучшее решение.

6 2

6 ответов:

Возможно, вы могли бы создать символическую ссылку и позволить операционной системе решить эту проблему за вас?

Fusebox не так строг, я думаю.

В режиме XML (возможно, я называю это не 100% корректно, просто имею в виду использование приложения .cfm ) это просто правильно включить в индекс .cfm , что-то вроде:

<cfinclude template="fusebox5/fusebox5.cfm" />

В режиме без XML он будет нуждаться в надлежащем расширении в корневом Приложении .cfc :

<cfcomponent extends="path.to.fusebox5.Application" output="false">
Все, что вам нужно, - это знать путь.

Следуя изответа Аарона , символические ссылки поддерживаются и сопровождаются CF7/8, так что это может быть очень простым решением, если ваш системный администратор пропустит его. К сожалению, это не поможет вам, если ваш на windows

Решение, которое я столкнулся в stackoverflow с другой, носвязанной проблемой , предложило создать отдельный экземпляр ColdFusion на сервере. Это позволило бы мне пойти с вариантом 1), не создавая конфликтов с другими приложениями на сервере. Я не с нетерпением жду, чтобы плавающий этот к системным администраторам, хотя так что я надеюсь, что есть другое решение там.

В последнее время я играл с FW/1, и хотя это может выглядеть так, что вам нужно добавить отображение и расширить организацию.Корфилд.фреймворк, вы можете фактически переместить фреймворк.файл cfc в ваш веб-корень и просто extend= "framework". Это очень просто, и вы попадаете прямо в большую структуру без беспорядка и очень мало накладных расходов.

Это должно быть так же просто, как удаление папки "MachII" в корне вашего домена (т. е. example.com/MachII). никакие сопоставления не требуются для использования Mach-II, Если вы просто развертываете в корне домена вашего веб-сайта.

Также:

Пожалуйста, подайте заявку на задание муравья, которое вы упомянули в своем вопросе. Команда Mach-II хотела бы, чтобы эта проблема была зарегистрирована:

Введите новый билет на маршрут Мах-II

Если вы хотите решить для нас задачу муравья, мы можем получить материал например, это включается в сборки быстрее, чем ждать, пока член команды будет работать над билетом. Предложения по коду от сообщества приветствуются и приветствуются.

Мы не очень часто следим за переполнением стека, поэтому приглашаем Вас присоединиться к нашей официальной группе сообщества под названием "Mach-II for ColdFusion" в Google Groups. Группа Google-лучшее место, где можно задать вопросы или комментарии, если вы хотите получить обратную связь от команды.