Меня не перестают радовать мои коллеги.
Apr. 28th, 2003 04:41 pmЛирическое отступление: существует такой класс решений, называется "через жопу". Т.е. практически для каждой задачи можно найти решение из данного класса.
Нельзя сказать, что люди, генерящие такие решение - тупые. Вовсе нет. У них бурлит фантазия, они достаточно образованы. Просто не дочитали до какой-то страницы учебника. Или в силу каких-то обстоятельств загнаны в рамки, не позволяющие решить задачу нормально.
Вот и мои коллеги так...
Задача - встроить существующее HTML-приложение в некий "портал". Начальство спустило им две аксиомы:
1. Сделать нужно именно "портал". Т.е. чтобы все к одном окошечке и красивенько.
2. Существующие приложения не трогать, потому как они работают.
Соответственно, решение очевидно - делаем iframe, внутри пускай бегает приложение. Потом эти iframe раскидаем куда надо по страничке.
Но приложение активно использует javascript понятие top, что подрывает всю идею в корне. Тогда рождаются следующие решения (в порядке появления):
1. Написать небольшой proxy, через который будут проходить все запросы и ответы, соответственно, в ответах выкусывать все top и заменять на значения в зависимости от контекста. Сложно.
2. Сделать примерно то же самое, но на javascript и уже на стороне клиента. По примеру безумного кода, который принимал за-zip-ованные html странички и разархивировал их на клиенте javascript-ом. Тоже нетривиально.
3. (сейчас над этим работают) Сделать подобие портала. Т.е. приложение открывать не в iframe, а отдельным окошком. Только окошко это кастрировать по самое немогу, точно позиционировать его на месте белого квадрата в портале и запретить всяческие прермещения этого окна.
Нельзя сказать, что люди, генерящие такие решение - тупые. Вовсе нет. У них бурлит фантазия, они достаточно образованы. Просто не дочитали до какой-то страницы учебника. Или в силу каких-то обстоятельств загнаны в рамки, не позволяющие решить задачу нормально.
Вот и мои коллеги так...
Задача - встроить существующее HTML-приложение в некий "портал". Начальство спустило им две аксиомы:
1. Сделать нужно именно "портал". Т.е. чтобы все к одном окошечке и красивенько.
2. Существующие приложения не трогать, потому как они работают.
Соответственно, решение очевидно - делаем iframe, внутри пускай бегает приложение. Потом эти iframe раскидаем куда надо по страничке.
Но приложение активно использует javascript понятие top, что подрывает всю идею в корне. Тогда рождаются следующие решения (в порядке появления):
1. Написать небольшой proxy, через который будут проходить все запросы и ответы, соответственно, в ответах выкусывать все top и заменять на значения в зависимости от контекста. Сложно.
2. Сделать примерно то же самое, но на javascript и уже на стороне клиента. По примеру безумного кода, который принимал за-zip-ованные html странички и разархивировал их на клиенте javascript-ом. Тоже нетривиально.
3. (сейчас над этим работают) Сделать подобие портала. Т.е. приложение открывать не в iframe, а отдельным окошком. Только окошко это кастрировать по самое немогу, точно позиционировать его на месте белого квадрата в портале и запретить всяческие прермещения этого окна.
no subject
Да, историйка - плакать хооццц, но такова программерская судьбина (наша(?))
no subject
Date: 2003-04-28 11:28 am (UTC)К apache прикрутить сервер-сайд java-script и дополнительную приблуду, преобразующую пропускаемый HTML, чтобы клиентские Java-script-включения конвертировались налету в серверные. Насколько я помню синтаксис, это очень примитивно можно сделать.
То, что там отрабатывает на сервере - вытаскивать юзеру в броузер.
А мне понравился подход!
(с) Вовочка.
С таким же успехом можно, к примеру, объявить набор из дюжины геймбоев "многооконной" многопроцессорной многозадачной операционной системой со 100% масштабированием. И еще диссертацию защитить :-)
no subject
Date: 2003-04-29 01:45 am (UTC)Например, как чувак, который не знал, как нормально сделать refresh данных на MS Access сделал невидимую форму с процедуркой по таймеру, которая опрашивала все открытые в настоящий момент окна, сверялась, какие данные используют эти окна, какие из них изменились, и перерисовывала соответственно.
Т.е. простенько так переписал стандартную штучку Windows.
Глючило все безобразно.
А к геймбоям можно еще пропихнуть тезис о защищенности процессов, крутящихся каждый в своем окне :) Последнее слово в компьютерной безопасности и т.д.
no subject