Ru-Board.club
← Вернуться в раздел «Программы»

» CintaNotes

Автор: er456
Дата сообщения: 06.11.2011 20:04
jenter
Цитата:
А информация-то какого рода - текст или мультимедиа?
В любом случае синта вам тут вряд ли подойдет.
Если не будет замедления работы при нескольких миллионах записей - то подойдет. Файлы будут и текст и мультимедиа, локальные пути буду писать в поле "ссылка", открываться они будут внешними программами. Только потребуется еще функция импорта данных из текстового файла с разделителями полей.
Автор: Zakkazak
Дата сообщения: 07.11.2011 21:10
jenter

Цитата:
Оказалось даже проще реализовать, чем я думал. Перезагрузите pre-1-5-2

спасибо очень рад этой фиче ..

-----------

Цитата:
Думаю, с размером базы можно что-то придумать. Как вариант, по команде выгружать дамп базы и пересоздавать базу из него. Это, по крайней мере, будет удобнее и быстрее, чем текущий "ручной" вариант.
Есть еще вариант - FTS4 поддерживает сжатие данных. Но тогда придется отказаться от поиска внутри слов.(

по моему выделенное не очень хорошее решение, смысл существования Синты именно в таких возможностях.
Автор: DoctorTuamOsesRu
Дата сообщения: 11.11.2011 21:13

Цитата:
Оказалось даже проще реализовать, чем я думал. Перезагрузите pre-1-5-2

Чёта не работает. Ввёл щас метку "1мама-папа".

Потом ввожу в строке поиска "папа" и в выпадающем меню метка "1мама-папа" не появляется. Появляются только метки на букву "п".

P.S. Хочу ещё спросить у разработчика программы: А Вы продукт, называемый MiTaggedMarks видели? Если нет, то очень рекомендую к нему присмотреться. Очень много можете для себя почерпнуть идей в плане как дальше развивать Вашу программу.


MiTaggedMarks - это Bookmark Manager, а не Notes Manager.

Тем не менее его можно использовать и для быстрых заметок (что я и делаю).

Добавлено:

Цитата:


Цитата: строка поиска на мой взгляд могла бы стать более "умной" , можно было бы ее снабдить некоторыми алгоритмами

какими например?
Автор: Arregy
Дата сообщения: 12.11.2011 09:25
Portable 1.5.2 уже есть?
Автор: DoctorTuamOsesRu
Дата сообщения: 12.11.2011 11:50
Разработчику (насчёт "умной строки поиска" и прочего:

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

В результате появляются по несколько РАЗНЫХ меток выражающих одно и то же.

Может их (метки) сделать иерархическими?

И ещё. По поводу "морды" программы. Сделайте уж наконец чтобы ширину боковой панели, где отображаются метки можно было динамически менять просто перетаскивая её правую границу мышкой. А то она очень узкая, а у меня большинство тегов имеют длину более 40 символов, посему они в этой узкой панели отображаются только частично.

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

Добавлено:
И ещё по поводу "умной строки поиска": Вы не планируете возможность задавать сложные запросы в виде ЛОГИЧЕСКИХ выражений (с операциями NOT, OR и AND) из меток?

К примеру такой запрос: <(папа AND мама) NOT Гладышевы>

И чтобы ещё поисковые запросы можно было сохранять под заданным именем.


К примеру сохранил я приведенный в примере выше запрос по именем "Родители-Не-гладышевы" и потому мне заново не надо регулярку набивать в строке поиска - достаточно выбрать имя поиска в списке сохранённых поисков.

Не планируете такую фичу?

Добавлено:

Цитата:

Цитата: Как я понимаю категории = теги? Т.е. прямо в тексте ссылки на теги? И что должно происходить при нажатии на эти ссылки?

Есть похожая идея, вставлять в заметках ссылки на другие заметки, за нее можно проголосовать на roadmap вот тут:
Прямо в тексте заметки ссылка на какой-либо тег.
При нажатии на ссылку должно происходить тоже что и сейчас при нажатии слева на тег - открываться в правом окне все содержащие этот тег(tags='') заметки
Автор: jenter
Дата сообщения: 12.11.2011 19:01
DoctorTuamOsesRu

Цитата:
Чёта не работает. Ввёл щас метку "1мама-папа".

Потом ввожу в строке поиска "папа" и в выпадающем меню метка "1мама-папа" не появляется. Появляются только метки на букву "п".

Странно, должно работать. Попробуйте вот эту версию - это еще не совсем законченная 1.5.2


Цитата:
P.S. Хочу ещё спросить у разработчика программы: А Вы продукт, называемый MiTaggedMarks видели? Если нет, то очень рекомендую к нему присмотреться. Очень много можете для себя почерпнуть идей в плане как дальше развивать Вашу программу.

Спасибо за совет, посмотрю.

Цитата:
Т.е. я сразу на одном листе вижу содержимое десятка, а то и больше заметок.
И нахожу это очень правильным и удобным. Спасибо Вам за эту фичу.

Не за что, рад что программа оказалась Вам полезной)

Arregy


Цитата:
Portable 1.5.2 уже есть?

Пока еще нет, но если не терпится.. До полного 1.5.2 там не хватает еще исправления двух багов:
- Monospace and highlight are lost when copy-pasting from Word
- URL link display can get broken

DoctorTuamOsesRu

Цитата:
Может их (метки) сделать иерархическими?

Как раз это планируется на следующую версию.


Цитата:
Сделайте уж наконец чтобы ширину боковой панели, где отображаются метки можно было динамически менять просто перетаскивая её правую границу мышкой. А то она очень узкая, а у меня большинство тегов имеют длину более 40 символов, посему они в этой узкой панели отображаются только частично.

На все рук увы не хватает, хотя есть уже это давно в роадмапе, голосуйте.


Цитата:
И ещё по поводу "умной строки поиска": Вы не планируете возможность задавать сложные запросы в виде ЛОГИЧЕСКИХ выражений (с операциями NOT, OR и AND) из меток?

Частично этот функционал покрывается Cltrl, Shift и Alt кликами на панели тегов. Хотя конечно более сложные выражения тоже могут пригодиться. Добавил в роадмап тут.

Насчет сохранения запросов - тоже уже в планах.
Автор: DoctorTuamOsesRu
Дата сообщения: 12.11.2011 19:50

Цитата:
Странно, должно работать. Попробуйте вот эту версию - это еще не совсем законченная 1.5.2

Я юзал 1.5.1.
Версии 1.5.2 на Вашем сайте ещё вчера не было
Автор: jenter
Дата сообщения: 12.11.2011 19:53

Цитата:
Версии 1.5.2 на Вашем сайте ещё вчера не было

Ее и сейчас нет, она не вышла еще. Боюсь что ввел в заблуждение - в сообщении "перегрузите pre_1_5_2 " речь шла о предварительной версии для читателей этой ветки, которую я выкладывал выше. То, что я выложил в предыдущем сообщении - тоже предварительная версия, и окончательная 1.5.2 будет отличаться. Различать их можно будет по дате в About диалоге.
Автор: DoctorTuamOsesRu
Дата сообщения: 12.11.2011 20:19

Цитата:
Не за что, рад что программа оказалась Вам полезной)

Просто реально я попробовал более 200(!!!) различных органайзеров, "древовидных редакторов", оутлайнеров, mind-менеджеров, "усилителей интеллекта", "менеджеров заметок", "менеджеров записей", "менеджеров закладок", "персональных менеджеров информации(PIM)" и т.п. чёрт знает каких прог И НИ В ОДНОЙ(!!!) из них я не нашёл такой полезной фичи, как в у Вас: чтоб содержимое ВЫБРАННЫХ мною заметок можно было просматривать как единый сплошной текст.

Добавлено:

Цитата:
Как раз это планируется на следующую версию.

Отлично

И сразу тогда добавлю пожелание на будущее (раз уж разговор у нас с Вами зашёл об иерархической организации тегов).

Хорошо бы было иметь чекбокс: "выбранные теги добавлять к заметке вместе со всеми родительскими тегами"

К примеру, есть у меня ветка иерархии тегов:
"автомобиль -> легковой -> гоночный -> феррари."

Так вот, чтобы я мог настроить CintaNotes так, чтобы если я добавляю заметке
тег "феррари", то сразу АВТОМАТОМ добавляются теги "гоночный", "легковой", "автомобиль", т.е. все связанные с ним по иерархии теги.


Можно так сделать?



Добавлено:
Вдогонку (по поводу удобства добавления тегов к новой заметке при её создании).

Хорошо бы было если бы можно было сказать цынте (когда она создаёт новую заметку) "возьми все теги из заметки, которая была создана перед этим".

Или (это было бы вообще круто) вообще, можно было бы в диалоге выбрать заметку-прототип для новой заметки из которой нужно взять теги для новой заметки.

И затем, после выбора заметки-прототипа, цынта осуществляла бы копирование тегов заметки-прототипа в новую заметку и уж только после этого открывала бы обычное окошко добавления/удаления меток новой заметки, в котором (о чудо!!!) уже содержаться метки, скопированные из выбранной заметки-прототипа.

Я ясно излагаю?

А то реально очень долго, нудно и гиморно: каждый раз вручную шарить в огромном списке выбирая по 4-8 тегов для новой заметки, хотя очередная заметка у меня как правило отличается от предыдущей (созданной непосредственно до этой) всего лишь одним-двумя тегами
Автор: Zakkazak
Дата сообщения: 13.11.2011 05:26
DoctorTuamOsesRu

Цитата:
я метки, скопированные из выбранной заметки-прототипа.
 


Цитата:
Вдогонку (по поводу удобства добавления тегов к новой заметке при её создании).
 
Хорошо бы было если бы можно было сказать цынте (когда она создаёт новую заметку) "возьми все теги из заметки, которая была создана перед этим".


така функция есть в веб-сервисе http://www.diigo.com, иногда помогает



Добавлено:
В Синте возможно имеет смысл, опционально сделать промежуточное окно где кликами выбирались бы теги, заголовок корректировался итп.
Автор: er456
Дата сообщения: 13.11.2011 16:34
jenter
Ранее здесь я писал о дополнительных таблицах для тегов, а сейчас через консоль sqlite3.exe увидел, что они там уже есть (Tags, Notes_Tags). Такую же структуру базы и я предлагал.

Для иерархической структуры Foreign key может помочь?
http://www.sqlite.org/foreignkeys.html
http://www.sql.ru/Forum/actualthread.aspx?tid=703751

Как промежуточный вариант можно сделать ручную сортировку тегов как в сортировке заметок, тогда обнотипные теги можно будет группировать в одном месте.
Автор: jenter
Дата сообщения: 13.11.2011 20:47
DoctorTuamOsesRu

Цитата:
И сразу тогда добавлю пожелание на будущее (раз уж разговор у нас с Вами зашёл об иерархической организации тегов).

Хорошо бы было иметь чекбокс: "выбранные теги добавлять к заметке вместе со всеми родительскими тегами"

Да, так собственно и планировалось все, иерархия тегов будет реализована в полном соответствии с теорией множеств
На самом деле тега "феррари" существовать не будет, внутри базы будет только тег "автомобиль/легковой/гоночный/феррари", но синта будет делать вид, что такой тег есть.


Цитата:
Хорошо бы было если бы можно было сказать цынте (когда она создаёт новую заметку) "возьми все теги из заметки, которая была создана перед этим".

Подойдет что-нибудь вроде дроп-дауна в поле тегов новой заметки, с раннее введенными?


Цитата:
Или (это было бы вообще круто) вообще, можно было бы в диалоге выбрать заметку-прототип для новой заметки из которой нужно взять теги для новой заметки.

Это можно уже и сейчас, хотя должен признать достаточно неинтуитивно)
Находите нужную заметку. Нажимаете Ctrl+BkSp чтобы выбрать все ее теги. Нажимаете Ins - у новой заметки автоматом выбранные теги.

Есть еще другие полезные "спрятанные" фичи - напр. клик средней кнопкой на теге применяет/удаляет его к выделенным заметкам.

Добавлено:

Цитата:
Ранее здесь я писал о дополнительных таблицах для тегов, а сейчас через консоль sqlite3.exe увидел, что они там уже есть (Tags, Notes_Tags). Такую же структуру базы и я предлагал.

Для иерархической структуры Foreign key может помочь?
http://www.sqlite.org/foreignkeys.html
http://www.sql.ru/Forum/actualthread.aspx?tid=703751

Возможно даже не буду возиться с ключами в базе, просто все теги будут записаны в полностью квалифицированном виде (т.е. как "тег/подтег/подподтег")
Автор: DoctorTuamOsesRu
Дата сообщения: 13.11.2011 21:44
А как быстро Вы это (я имею ввиду поддержку "иерархических тегов" и добавления тега вместе с автоматическим добавлением всех тегов-родителей) сможете реализовать?

Просто реально очень нужно. Я уже весь инет облазил, сотни прог изучил, но нигде этого нет. А нужно позарез.

Учтите ещё при продумывании алгоритма такую вещь:

тег может входить в несколько иерархий.

К примеру вышеупомянутый тег "феррари" может входить в несколько иерархических цепочек:
1)"автомобиль -> легковой -> гоночный -> феррари"
2)"моё наследство -> тачки -> феррари"


Цитата:
На самом деле тега "феррари" существовать не будет, внутри базы будет только тег "автомобиль/легковой/гоночный/феррари", но синта будет делать вид, что такой тег есть.

Желательно все же чтобы тег "феррари" реально существовал.
А теги-родители чтобы не хранились в заметке, а невидимым для юзверя образом каждый раз заново "копировались" в список тегов выбранной для просмотра заметки автоматически при открытии вкладки "теги" выбранной заметки.

Объясню для чего это нужно.

Допустим, я решил изменить цепочку "автомобиль -> легковой -> гоночный -> феррари" и сделать например такой: "виды транспорта -> автомобиль -> легковой -> гоночный -> феррари", тогда цынта должна автоматом "добавить" (виртуально, т.е. просто отображать его при открытии окна со списком тегов заметки) тег "виды транспорта" ВО ВСЕ заметки, в которых есть теги из исходной цепочки и которые были добавлены с включённой опцией "добавлять тег вместе со всеми родителями"

Это наверное слишком сложно и быстро сделать не получиться?

Тогда более просто предложение: сделать поиск и замену по ВСЕМ меткам.
Причём чтобы можно было искать не только строку целиков, а даже подстроку.

К примеру, хочу я найти метки, в которых есть подстрока "олн" (причем не в начале названия, а в середине).
Или, к примеру, хочу я в названиях всех меток заменить цепочку символов "ожн" (тоже расположенную где угодно, а не только в начале имени метки) на цепочку "ажн". Пока что цинта этого сделать не позволяет.

Добавлено:
Да. И ещё пожелание (может оно и было уже, я все тему прочесть "ниасилил").

Чтобы цинта работала с линками.
Чтобы в тексте заметки можно было вставить
1) линк на другую заметку
2) тег в качестве группового линка.
Поясняю опять же на примере "ферарри".

Есть кусок дерева тегов:

Код:
автомобили
|___легковые
|____ферарри
|____ламборждини
|____лексус
Автор: dzh2000
Дата сообщения: 13.11.2011 23:27
jenter

Цитата:
Возможно даже не буду возиться с ключами в базе, просто все теги будут записаны в полностью квалифицированном виде (т.е. как "тег/подтег/подподтег")

Новые термины придумываете?

DoctorTuamOsesRu
Не грузите автора, он только осваивает базы данных. Ему бы для начала почитать Грабера "Введение в SQL".
Автор: DoctorTuamOsesRu
Дата сообщения: 14.11.2011 00:14

Цитата:
Не грузите автора, он только осваивает базы данных.

Я так не думаю. Ведь уже 3 года прошло как он впервые зарелизил цЫнту.

Просто видите ли в чём дело.
Я увлекаюсь цивИлизом.
И для этого мне просто позарез нужна прога, работающая с иерархией тегов.

Пока вот юзаю Dream Navigator.

Но он какой-то недоделанный.
Как будто автор сначала загорелся идеей, а потом потерял к ней интерес.

Плюс в нём мне не хватает многих нужных мне для успешного занятия цивилизом фич.



Добавлено:

Цитата:

Цитата: И ещё по поводу "умной строки поиска": Вы не планируете возможность задавать сложные запросы в виде ЛОГИЧЕСКИХ выражений (с операциями NOT, OR и AND) из меток?
Частично этот функционал покрывается Cltrl, Shift и Alt кликами на панели тегов. Хотя конечно более сложные выражения тоже могут пригодиться. Добавил в роадмап тут.

Насчет сохранения запросов - тоже уже в планах.
Автор: vivek
Дата сообщения: 14.11.2011 09:03

Цитата:
Я увлекаюсь цивИлизом.


А это ты про что?
Автор: Kate_rina
Дата сообщения: 14.11.2011 11:47
v1.5.2 с инсталлятором
v1.5.2 портабельная

Цитата:
- Tag autocomplete now matches any word in multi word tags. Enhancement
Words within tags can be delimited by many common non-alphabetic characters, like this: "my-tag", "projects/cintanotes", "prio:high", "cn_rocks".
- New option "Options/Editor/Auto-Indent" which controls whether a new line in editor gets automatically indented like the previous one. Enhancement
- Turning off Options/Editor/Text Formatting now warns about possible loss of text formatting (if notebook contains notes with formatting). Enhancement
- Note editor: if nothing is selected, Ctrl+Del clears formatting of the whole current paragraph. Enhancement
- Updated translations. Enhancement
- Search highlight positions could be wrong because of tabs. Fix
- Note editor: links were still highlighted even when "highlight links" was off. Fix
- Resolved performance issues with XML import. Fix
- Eliminated possible crash on XML export. Fix
- Layout of "Preview min max lines" option labels was not suited for all languages. Fix
- CN could fail to start on WinXP 2002 SP2 with large font sizes. Fix
- Note editor: URL highlighting could get broken Fix
- Note editor: "Monospace" and "Highlight" text styles were lost on copy-pasting. Fix
Автор: DoctorTuamOsesRu
Дата сообщения: 14.11.2011 13:14
vivek
Ну это же В МОЁМ ПРОФИЛЕ в графе "мои интересы" расшифровано:


Цитата:
Увлекаюсь цивилизом (т.е.разработкой новых концепций и теорий, которые перевернут/сотрясут всю цивилизацию) разработкой новых парадигм в программировании и новых концепций построения систем виртуальных миров ("цифровых вселенных"™)


Или Вы не заглядываете в профили юзверей, с которыми беседуете?
Автор: jenter
Дата сообщения: 14.11.2011 14:24
DoctorTuamOsesRu

Цитата:
А как быстро Вы это (я имею ввиду поддержку "иерархических тегов" и добавления тега вместе с автоматическим добавлением всех тегов-родителей) сможете реализовать?

Сейчас планирую к концу декабря.


Цитата:
тег может входить в несколько иерархий

Это просто два разных тега с одним именем получается)
В вашем примере как раз так и вышло: "феррари" в смысле "все авто марки феррари" и в смысле "конкретно мой феррари".



Цитата:
Допустим, я решил изменить цепочку "автомобиль -> легковой -> гоночный -> феррари" и сделать например такой: "виды транспорта -> автомобиль -> легковой -> гоночный -> феррари", тогда цынта должна автоматом "добавить" (виртуально, т.е. просто отображать его при открытии окна со списком тегов заметки) тег "виды транспорта" ВО ВСЕ заметки, в которых есть теги из исходной цепочки и которые были добавлены с включённой опцией "добавлять тег вместе со всеми родителями"


Давайте представим все-таки, что теги все хранятся с полным путем, тогда у нас имеется следующий набор:
автомобиль
автомобиль/легковой
автомобиль/легковой/гоночный
автомобиль/легковой/гоночный/феррари

Теперь даем команду синте переименовать "автомобиль" в "виды-транспорта/автомобиль".
Она будет достаточно умной, чтобы переименовать не только сам тег, но и все подчиненные:
виды-транспорта/автомобиль
виды-транспорта/автомобиль/легковой
виды-транспорта/автомобиль/легковой/гоночный
виды-транспорта/автомобиль/легковой/гоночный/феррари

Видите - отдельного тега "легковой" на самом деле не существует, а все прекрасно работает. Разумеется при открытии заметки она будет отображать их как отдельные теги. Но если вы например удалите "автомобиль", но оставите "легковой", и сохраните, то "автомобиль" не удалится. Возможно вообще "родительские" теги будут выводиться в отдельной строке - это я еще не решил как лучше.


Цитата:
сделать поиск и замену по ВСЕМ меткам

Как видите, примерно так оно и будет работать.


Цитата:
Чтобы цинта работала с линками.
Чтобы в тексте заметки можно было вставить

Мало того что это давно в роадмапе, так еще и в 10-ке топовых )


Цитата:
Насчёт сохранения запросов.
Можно сделать как в зуте "умные папки".

Ну это уже просто выбор отображения сохраненных запросов. Существенных отличий от просто сохраненных запросов не вижу.


Цитата:
появлялось вышеуказанное дерево

Это как, появлялось дерево?

dzh2000

Цитата:
Новые термины придумываете?

Прошу прощения за неточность, это была калька с английского "fully-qualified". По-русски думаю проще всего будет обозначить это как "полное имя".


Цитата:
Не грузите автора, он только осваивает базы данных. Ему бы для начала почитать Грабера "Введение в SQL".

Мне вот интересно, чем оправдано такое высокомерие-то?)
И причем здесь вообще SQL?

DoctorTuamOsesRu


Цитата:
таб1) список названий всех заметок, в тексте которых есть "одиночные" ссылки на данную заметку
таб2) список названий заметок, на которые есть "одиночные" ссылки в тексте данной заметки
таб3) список тегов данной заметки
таб4) список тегов, которые использованы в тексте данной заметки как групповые ссылки (как ссылки на узлы деревьев тегов)

Это хорошая идея, которую можно будет применить после реализации вообще ссылок на заметки.
Только непонятно, зачем отдельный таб для списка тегов, если этот список и так есть в поле "Метки".




Автор: vivek
Дата сообщения: 14.11.2011 14:35

Цитата:
Увлекаюсь цивилизом (т.е.разработкой новых концепций и теорий, которые перевернут/сотрясут всю цивилизацию) разработкой новых парадигм в программировании и новых концепций построения систем виртуальных миров ("цифровых вселенных"™)

ого! чего только не придумают! интересно даже.


Цитата:
Или Вы не заглядываете в профили юзверей, с которыми беседуете?

нет конечно если ко всем заглядывать... вы уж извиняйте...
Автор: DoctorTuamOsesRu
Дата сообщения: 14.11.2011 14:54

Цитата:
нет конечно если ко всем заглядывать... вы уж извиняйте...

Зачем ко всем?! Только к тем, которые Вас заинтересовали (как в моём случае)

Добавлено:

Цитата:
Только непонятно, зачем отдельный таб для списка тегов, если этот список и так есть в поле "Метки".

Поясняю.

[список тегов данной заметки] и [список тегов, которые использованы в тексте данной заметки как групповые ссылки] - это совершенно разные понятия.

[список тегов данной заметки] - имеют как бы смысл (если использовать граф как иллюстрацию) входящих дуг, а [список тегов, которые использованы в тексте данной заметки как групповые ссылки] - исходящих.

Автор: dzh2000
Дата сообщения: 14.11.2011 16:11
jenter

Цитата:
И причем здесь вообще SQL?

SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world.
(c) sqlite.org

Цитата:
Да, так собственно и планировалось все, иерархия тегов будет реализована в полном соответствии с теорией множеств

Начните с изучения деревьев в SQL. Тогда отпадет желание делать следующее:

Цитата:
На самом деле тега "феррари" существовать не будет, внутри базы будет только тег "автомобиль/легковой/гоночный/феррари", но синта будет делать вид, что такой тег есть.
Автор: DoctorTuamOsesRu
Дата сообщения: 14.11.2011 16:19

Цитата:
Это как, появлялось дерево?

При клике по "групповой ссылке"


Добавлено:

Цитата:
SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world.
(c) sqlite.org


СЮДА смотрел?
Автор: jenter
Дата сообщения: 14.11.2011 18:30
DoctorTuamOsesRu

Цитата:
[список тегов данной заметки] - имеют как бы смысл (если использовать граф как иллюстрацию) входящих дуг, а [список тегов, которые использованы в тексте данной заметки как групповые ссылки] - исходящих.

Теперь понятно. Думаю проще всего тогда назвать их списками входящих и исходящих ссылок.


Цитата:
Начните с изучения деревьев в SQL. Тогда отпадет желание делать следующее:

Цитата:
На самом деле тега "феррари" существовать не будет, внутри базы будет только тег "автомобиль/легковой/гоночный/феррари", но синта будет делать вид, что такой тег есть.


А что с этим не так? Вполне известный способ представлять деревья. Если вас смущает нарушение 1ой нормальной формы, то я утверждаю, что тут оно допустимо. Ну да, можно было бы добавить колонку parentid и строить дерево по ней. Но давайте сравним по сценариям использования. Пусть мой вариант будет В1, а вариант с введением колонки parentid - В2.

1) Получить все теги заметки по ее id (требует скорости)
B1 тут проще и быстрее. B2 необходимо пройти по дереву и собрать все родительские теги. B1 же достаточно рассмотреть лишь напрямую связанные с заметкой теги.

2) Получить все заметки по тегу (требует скорости). B2 опять нужно идти по цепочке тегов, причем для каждой заметки. B1 достаточно одного несложного запроса вида WHERE T.name >= :tag AND T.name < :tag || cast(X'FFFF' as text). Быстро.

3) Получить список всех тегов и построить дерево. B1 тут может обойтись всего одним запросом, но пост-обработка чуть сложнее. Можно сказать что тут паритет.

4) Сложные запросы вида тег ИЛИ тег; тег и НЕ тег - с B1 опять проще и быстрее.

5) Переименовать тег. Тут выигрывает B2. Но в данном случае особая скорость не нужна.

6) Переместить тег из одной иерархии в другую. Выигрывает B2. Но опять, тут особая скорость не требуется.

7) Импорт/Экспорт. При использовании B1 ничего не нужно переделывать. Работает как XML, так и DB импорт, в XML не нужно менять схему и вводить дополнительные элементы. При использовании B2 необходимо либо вводить новые метаданные, либо преобразовывать теги в "плоский" вид.

8) Компактность представления. Тут выигрывает B2, хотя разница довольно мала. Верхняя оценка: для базы с 100 тегами верхнего уровня, в каждом из которых 10 подтегов, в каждом из которых в свою очередь еще 10 подтегов, со средней длиной тега 10 символов, объем таблицы тегов составит (100* 10) + (1000*21) + (10000*32) ~ 334 Кбайт. Для В2 он составит (100 + 1000 + 10000)*10+(1000 + 10000)*2 ~ 130 Кбайт. Т.е. максимальная разница будет порядка 200 КБайт.

По-моему должно быть очевидно, какой вариант предпочтительнее, или я что-то упустил?
Автор: er456
Дата сообщения: 14.11.2011 20:38
Я предполагаю, что поле parent таблицы Tags нужно только для построения дерева, а поиск заметок будет вестись так же как сейчас по уникальному ID тега.
Пример структуры http://demo.knowledgeroot.org/
Автор: jenter
Дата сообщения: 14.11.2011 20:58
er456

Цитата:
Я предполагаю, что поле parent таблицы Tags нужно только для построения дерева, а поиск заметок будет вестись так же как сейчас по уникальному ID тега.

Это, похоже, вариант 3 - почти такой же, как B2, но где родительские теги присваиваются заметке сразу же. Я предполагал, что в случае B2 родительские теги должны вычисляться "на лету", иначе непонятно что делать в такой ситуации:
Я присваиваю заметке тег "феррари". Она автоматом получает теги "автомобили" и "легковые". После чего переношу тег феррари из "легковых" в "спортивные". Что должно произойти с тегом "легковые" в заметке?
Как программа определит, был этот тег добавлен мной вручную или автоматически вместе с тегом "феррари"?
Кажется как будто бы надо тег удалять и добавлять "спортивные". А что делать в таком случае: иерархия "задачи/срочные/ПроектА". Потом тег "ПроектА" переносится в "проекты", и задача вдруг становится несрочной и.. не задачей вовсе)
Автор: jenter
Дата сообщения: 15.11.2011 10:23
Хотя подумав как следует, вышеописанная проблема относится ко всем трем подходам. Тогда в самом деле В3 представляется хорошей альтернативой. В общем, буду еще думать.

И все-таки очень важно выяснить, как программа должна себя вести при перемещении тега из одной иерархии в другую:
1) Автоматически удалять из заметок более неактуальные родительские теги и добавлять новые (равносильно динамическому определению родителей) - в этом случае теги похожи на папки;
2) Оставлять старые родительские теги и добавлять новые;
3) Показывать диалоговое окно с возможностью выбрать один из этих вариантов?
Автор: Zakkazak
Дата сообщения: 15.11.2011 14:24
интересно кто в чем видит приоритеты развития для себя ?

для меня на данный момент такие :

Иерархия тегов
возможны умные,настраевыемые,полуавтоматически правила по которым бы заметки оставались бы в верхушке, т.е. этот процес не был бы совсем ручным.
аналогично второму пункту или вручную (кликами), архивировать неактуальные заметки в файл или же вывод их при поиске тусклым менее заметном виде в конце списка.
объединение (merge) было бы настраиваемым




Добавлено:
сейчас сортировка возможна по
1 ссылке
2 размеру
3 заголовку
4 вручную
5 по дате

первые три на мой взгляд мало полезны,( мне ни разу не пригодились )
у меня сортировака стоит "вручную"

В голосовалке видел, но это не совсем то, совсем просто ..

есть софты которые выводят (удерживают в верхушке) нужные элементы (FARR, MLO) ... но в заметониках такое не встречал .
Автор: DoctorTuamOsesRu
Дата сообщения: 15.11.2011 15:11

Цитата:
ссылке

Кстати.
О ссылках.
Сейчас почему-то они не отображаются.


Дату вижу.
Заголовок - вижу.
Метки - вижу
А ссылку - нет.

И если говорить вообщем касательно выбора стиля отображения информации,
то хотелось бы иметь возможность галочками выбирать, что должно отображаться.

Мне вот иногда нужно, чтобы все (выбранные мной) заметки были выведены в виде plain-текста.
Без заголовков, меток и дат.
==============================================
Хотелось бы, чтобы цинта умела импортировать / экспортировать заметки в разных форматах.

К примеру, мне часто надо, чтобы тело (без дат, названий и т.п. - только одно тело) выбранных заметок был экспортирован в TXT-файл

Добавлено:

Цитата:
возможны умные,настраевыемые,полуавтоматически правила по которым бы заметки оставались бы в верхушке, т.е. этот процес не был бы совсем ручным.

А как Вам вариант с "умными папками" (как в зуте)?

Добавлено:

Цитата:
интересно кто в чем видит приоритеты развития для себя ?

для меня на данный момент такие :

# Иерархия тегов
# возможны умные,настраевыемые,полуавтоматически правила по которым бы заметки оставались бы в верхушке, т.е. этот процес не был бы совсем ручным.
# аналогично второму пункту или вручную (кликами), архивировать неактуальные заметки в файл или же вывод их при поиске тусклым менее заметном виде в конце списка.
# объединение (merge) было бы настраиваемым


Если можно будет делать сложные поисковые запросы (с использование AND, OR, NOT и вилдкардов и стемминга, возможности указывать дату и кол-во просмотров и т.п.) и сохранять их как папки в проводнике, то, ИМХО, необходимость в иерархических тегах уменьшается

Ибо, как я знаю по своему опыту, искать нужную инфу в базе приходится чаще, чем добавлять. Поэтому можно смириться с некоторым неудобством при добавлении тегов к новой закладке. Ибо (ИМХО конечно же) важней всё же навороченные возможности по поиску и сортировке инфы, чем по её добавлению.

Ибо что толку иметь кучу инфы, которая будет просто лежать мёртвым грузом.
Автор: SFC
Дата сообщения: 15.11.2011 16:26

Цитата:
интересно кто в чем видит приоритеты развития для себя ?

Я уже давно высказывался:
1) и самое главное и простое в реализации - возможность менять дату-время
2) все то что и было внесено в roadmap по моей просьбе:
- Ссылки из заметок друг на друга + Recognize tags in note's text and make clickable
- Support for multiple notebook files
- Different view modes: Minimal, Compact, Normal
реализация всего этого конечно не тривиальна и требует времени

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677

Предыдущая тема: Зарплата Камин 2 ....


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.