Список форумов www.integro.ru www.integro.ru
ЦСИ ИНТЕГРО
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Дилемма о дублирующихся именах элементов в структуре ИнГео

 
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков
Предыдущая тема :: Следующая тема  
Автор Сообщение
Tulon



Зарегистрирован: 11.07.2006
Сообщения: 77
Откуда: Сочи

СообщениеДобавлено: Вт 13 Май 2008 19:36    Заголовок сообщения: Дилемма о дублирующихся именах элементов в структуре ИнГео Ответить с цитатой

Знал об этом всё время работы с ИнГео, но серьезно задумался об этом и натолкнулся, как на проблему, только сейчас...
Почему в ИнГео не стоит условие на уникальность имен элементов в пределах одного родителя? Поясню, в одной территории можно создать несколько карт с одним именем, в одной карте несколько слоёв с одним именем и т.д.
Даже при работе с ИнГео в режиме пользователя у меня иногда возникали затруднения с этими дубликатами. Когда создано несколько одноименных слоёв или карт, то приходится совершить несколько не сложных манипуляций, чтобы найти требуемую карту или слой.
Но руками это хоть как-то возможно, а сейчас я просто встал в ступор, когда понял, что не могу программно однозначно привязаться к элементу (например, стиль), если у меня есть его путь ("Название проекта\Название карты\Название слоя\Название стиля"). А механизм такой привязки я уже успел заложить в основу нескольких проектов(((. Это необходимо при написании самонастраивающихся модулей, которые не привязаны к ID элементов, а находят их только при необходимости. К нам в базу постоянно (1 раз в неделю) вливают обновленные данные из разных источников, и при этом происходит полная смена ID у соответствующих карт (а также слоёв, стилей...).
В связи с этим вопрос, а нужна ли эта дублируемость?! В конце-концов те кому надо хранить в базе большое кол-во одноименных элементов могут присваивать им особоые имена ("Моя карта 23.02.2008", "Моя карта 02.03.2008" и т.д.). Им же самим потом будет облегчена навигация во всем этом архивном богатстве!
В принципе, эти ограничения даже заложены в основу файловых систем. Ведь при указании пути к папке вы не указываете комбинацию смещений или кластеров, а указываете имена папок. Иначе вы были бы жестко привязаны к конкретному хранилищу информации или даже к его конкретному состоянию!
Резюмирую: Добавьте в ИнГео обязательную уникальность имен дочерних элементов в пределах одного родителя. А для совместимости с имеющимися базами можно добавить механизм автоматического добавления уникального параметра к имени элемента-дубликата.

_________________
Нет ни чего сложнее, чем достигнуть простоты.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Михаил Власов



Зарегистрирован: 14.02.2005
Сообщения: 580
Откуда: ИНТЕГРО

СообщениеДобавлено: Ср 14 Май 2008 14:07    Заголовок сообщения: Ответить с цитатой

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

_________________
С уважением, Михаил Власов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
andreichernov



Зарегистрирован: 14.02.2005
Сообщения: 209
Откуда: Самара

СообщениеДобавлено: Чт 15 Май 2008 08:37    Заголовок сообщения: Ответить с цитатой

Если необходимо, вы можете сами програмно создать эту уникальность.
Например, откликаясь на сообщение о создании/изменении крты, слоя, стиля, проверяя уникальность и переименовывая, если надо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Tulon



Зарегистрирован: 11.07.2006
Сообщения: 77
Откуда: Сочи

СообщениеДобавлено: Ср 21 Май 2008 21:57    Заголовок сообщения: Ответить с цитатой

Спасибо Службе поддержки и Андрею Чернову за ответ и совет.
_________________
Нет ни чего сложнее, чем достигнуть простоты.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.integro.ru -> Вопросы разработчиков Часовой пояс: GMT + 5
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять приложения в этом форуме
Вы можете скачивать файлы в этом форуме


© phpBB Group
Русская поддержка phpBB