Кто-нибудь использует платформу ColdFusion, которая имеет определенные требования к пути без сопоставления или размещения ресурсов в корневом каталоге сервера?
Позвольте мне сначала сказать, что я знаю этот faq для Mach-II, в котором обсуждается использование конкретных отображений приложений в качестве третьего варианта, когда:
-
Локализация фреймворка в корне сервера невозможна и
-
Создание широкого сопоставления сервера с каталогом 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 в одном приложении, использование которых я сомневаюсь, что они хотите поддержать
Использование муравьиных задач для рефакторинга и повторного тестирования кода или более простое (и вроде как копируемое) решение создания отдельного экземпляра ColdFusion для приложения - это лучшие ответы, которые я смог придумать. Мне не нужно, чтобы это приложение существовало в общей области других поэтому моим первым решением будет попытаться получить выделенный экземпляр CF для этого приложения.
Я также собираюсь посмотреть на рефактор ColdBox.задача xml ANT, однако, и посмотреть, если я могу изменить его, чтобы работать в общем для распознавания и рефакторинга ссылок CFC с измененными абсолютными путями. Если я выполню эту задачу, я обязательно опубликую код где-нибудь и отредактирую создать ответ, чтобы связать его. Если кто-то еще хочет попробовать это или помочь мне с этим, чувствуйте свободный.
А до тех пор я оставлю этот вопрос открытым и посмотрю, не придумает ли кто-нибудь лучшее решение.
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-лучшее место, где можно задать вопросы или комментарии, если вы хотите получить обратную связь от команды.