Функционал универсальные внутренние ссылки

Рейтинг: 0.0039  
Новая
Предложил Эскеров Ислам 23.04.2016 14:50:21

Функционал универсальные внутренние ссылки

Просим реализовать функционал для добавления универсальных внутренних ссылок на страницы и объекты портала.

Причина просьбы: При изменении ip адреса или URL портала на котором находился портал, Все внутренние ссылки на другие объекты портала(задачи, сообщения, ссылки на файлы и папки) становятся битыми.
Проблема решается, если при предоставлении внутренних ссылок, пользователи будут указывать адрес ссылки без указания URL или IP например вместо :
"http//xxx.xxx.xxx/company/personal/user/8/tasks/task/view/3180/"
будет указывать "/company/personal/user/8/tasks/task/view/3180/"
В таком случае, ссылкам на портале не страшно изменение адреса.
Но в силу определенных причин этот механизм не эффективен:
  • Не всех возможно этому обучить
  • Не все это будут делать (оправдание может быть самым разным-  не видел не знаю не умею)
  • Кто то все равно будет ошибаться при добавлении и сокращении такой ссылки.
Примерное описание желаемого функционала:
Везде в редакторе, где можно вставить гиперссылку на какой либо объект или страницу, просим добавить чекбокс внешняя ссылка. Пользователям можно объяснить, что эту галку нужно трогать, если распознавание  системы ложное, например ссылку на яндекс, система определила как внутреннюю.

Работало бы это так:
Пользователь ввел (скопировал вставил) адрес ссылки.Если ссылка действительно внутренняя (думаю система это может мгновенно определить) указанный чекбокс автоматически устанавливается. Снять его нужно только в случае некорректного определения системой принадлежности ссылки.
Возможно в предложении логика немного усложнена, так как тут ссылка по умолчанию считается внутренней. Но у нас 80-90% ссылок которые публикуют пользователи это внутренние. И логика у меня строиться исходя из этого.


В общем очень нужный функционал если у Вас обращение идет к порталу  по IP  или проблема с доменным именем.

И вдвойне полезный, если у Вас обращение к порталу может происходить по разным ip - разные интернет провайдеры, в случае сбоя одного, заходить по другому. И ссылки пользователей будут целыми при любом раскладе.

Рейтинг: -0.2146  
Николаев Андрей 24.04.2016 13:37:15
Я думаю, это будет сильное усложнение системы. Проще использовать несколько SQL запросов для изменения ссылок, и делать это после переноса, чем писать то что Вы предлагаете.

Вообще такая операция занимает SQL порядка 1-2 часов
Рейтинг: 0  
Николаев Андрей 24.04.2016 13:37:28
Я думаю, это будет сильное усложнение системы. Проще использовать несколько SQL запросов для изменения ссылок, и делать это после переноса, чем писать то что Вы предлагаете.

Вообще такая операция занимает SQL порядка 1-2 часов
Рейтинг: 0  
Эскеров Ислам 25.04.2016 13:31:17
Уважаемый Андрей, постараюсь описать причины, которые побудили меня это написать как идею:
1. Создавался соответствующий запрос в техподдержку с описанием проблемы.  В запросе обсуждался также и этот вопрос тоже. Я просил их дать какой нибудь скрипт, который обойдет все таблицы и внесет нужные изменения. Скрипт они не дали, а пожелание сказали публиковать сюда. В итоге сам указанный скрипт как раз за указанное Вами время организовал и почти все исправил на тестовом портале. Но разработчики и техподдержка  такие фокусы не одобряют.
2. Я всегда стараюсь мыслить и действовать не в эгоистическом русле, так как указанный функционал(необязательно именно в том виде как мной описано) помог бы и многим остальным пользователям(клиентам) битрикс. Так же это снизило число обращений в техподдержку с указанной проблемой.
3. Что касается сложности функционала, да возможно логика описана тяжело, но преследуемая цель так лучше понятна, а разработчики могли бы реализовать более оптимально. И еще один аргумент- недавно появившийся функционал - богатые ссылки. Вот это может быть сильным усложнением, хотя все работает прекрасно и прозрачно для пользователя. Так почему моя идея не имеет права на воплощение ?
Рейтинг: 0  
Николаев Андрей 25.04.2016 19:00:44
Уважаемый Ислам!
как часто ваш портал меняет адрес ? Я работаю в компании-интеграторе и на моей памяти из ~15 долгостроев лишь у одного портала один раз менялся адрес за все время работы (более 2х лет).

что касается описанной вами логики, то работать такая ссылка будет не везде. Есть же еще комментарии и области куда пользователь сам может вписать такой текст.

что касается SQL запросов, то можно 1 раз заказать у веб-интегратора или вашего программиста скрипт, который бы менял везде ссылки с одной на другую. Эдакое массове изменение ссылок.

Но это отдельный инструмент, а не глобальное дополнение, предлагаемое Вами.

Всего хорошего.
Рейтинг: 0  
Эскеров Ислам 26.04.2016 12:35:37
Андрей, по хорошему да адрес портала меняется нечасто. Но есть регионы области где интернет не такая постоянная вещь. При этом требование руководства о сохранении портала на своем сервере не отменяется.
В связи с чем, у нас стоит 2 провайдера интернета. Когда отключается 1-й провайдер все инфраструктуры переключаем на другого. В плане этого есть определенная автоматизация  и отработанные сценарии.
Но так уж устроен Web что для сайта(портала)  это целая  проблема.
Остальные сервисы (телефония, VPN, RDP) все адаптировано под наличие резервного канала связи.
Тут сама завязанность контента портала к имени (ip) узла, на котором находиться система, является камнем преткновения.  Я бы хотел чтоб такой привязанности не было. И мне кажется это реализуемо. Вот такая философия.
Моя цель не переубедить Вас или кого либо. Цель обратить на это внимание. И быть может оно будет обращено и продукт станет лучше.  
Рейтинг: 0  
Николаев Андрей 27.04.2016 16:43:08
Вот я и предлагаю - не усложнять и без того не легкую для понимания логику работы битрикса, а отдельным инструментом сделать функционал массовой замены ссылок с одной на другую.

Это будет значительно проще сделать для стандартного битрикса.
Рейтинг: 0  
Эскеров Ислам 27.04.2016 18:32:43
Уважаемый Андрей, при всем моем нежелании, обсуждение идеи вы превращаете спор и тем самым нисколько не способствуете благим намерениям.  ;)
Если у нас в неделю 3 раза отключиться основной интернет и смениться внешний IP,  более чем на полчаса не буду же я скриптами по 3 раза в неделю переделывать перекрестные ссылки в задачах и форумах.:D
Я хочу чтоб работа системы не была жестко привязана к IP или доменному имени.
А Вы так и не поняли сути проблемы, ходите вокруг да около со своими размышлениями сути не постигаете.
Никакой пользы от Ваших комментариев нет.  Так зачем тратить Ваше и мое время?
Рейтинг: 0  
BX Solutions 29.04.2016 19:47:26
А че при добавлении ресурса нельзя сделать str_replace(current_ip,'',$var) ? И у вас все ссылки на текущий ресур станут относительными. Либо я не до конца понял ситуацию
Рейтинг: 0  
Эскеров Ислам 29.04.2016 20:41:45
Алексей, может и возможно, я не web программист. Я предлагаю идею именно за встроенный функционал от разработчиков.