-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
70 lines (51 loc) · 3.82 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
0.
1. Сделать признак у атрибута - использовать его как Name. Name отображается в дереве.
1.1 Добавить API для работы с контейнерами. Специальная таблица не нужна - просто выбирать из блоков по типу.
Также сделать и со справочниками. Выделать работу со справочниками (и контейнерами) в отдельный интерфейс? Нет. Делать методы в StoreServer.
1.2
1.3 Далее надо делать API ПЛВ?
1.4 Для удаления атрибутов из типа блока надо сделать у них поле "Disabled" и при "удалении" = 1 (а ничего не удаляется из БД)
1.5 Сделать поле Примечание у атрибутов.
1.6 Надо убрать makeVersion из dbSetFactData. Эту процедуру надо делать при сохранении блока наверное?
1.7 Children у Assembly - это дочерние элементы в дереве. Они определяются по ParentID из БД,
а Content - это атрибут контейнера. А нужен ли контент?
В какой момент определять Children у Assembly? В момент создания из Блока или вызывать дополнительный метод?
В момент, когда из сборки создаётся пользовательский тип?
1.8 Делать поддержку иконок для блоков - надо сделать такой атрибут у всех типов.
1.9 Может быть Граммемы не сохранять отдельными блоками (не ясно, как их юзать в дальнейшем).
Их можно сохранять в двух списковых атрибутах слова - один для ключей, второй - для значений.
2.0 Что такое Сохранение термина в ParagraphOperator?
2.1 Для ускорения считывания фраз и слов из БД можно делать это не по одному, а через механизм store.GetChildren
Делаю синтан по старинке, потом временно перекодирую Map в Asm.
Сделал Добавление документов.
Начал делать редактирование абзацев. Сделал считывание абзаца из БД.
Далее делать сохранение абзаца после редактирования (синтан неактуальных предложений).
Можно в клиенте не использовать рич едит. Инфу о ссылках хранить отдельно. Отрисовывать ссылки по этой инфе подчеркнутым курсивом.
Отрабатывать двойной клик вычисляя предложение и слово в нем.
Но как быть с форматированием?
1.1 Посмотреть, почему долго делается синтан
1.2 Сделать транзакции и убрать try-catch из функций SQL
Может лучше в SQL-функциях сделать возвращаемым результат операции (0/1), а значение SELECT возвращать через OUT параметр.
1.3 Сделать индикатор - нужно ли сохранять предложение в БД
2. Надо понять, надо ли делать морф.анализ после ввода слова или достаточно после ввода предложения.
3. Наверное можно делать синтаксический анализ в отдельном потоке. Но тогда непонятно, как разделять доступ
к внутреннему объекту абзаца.
Синт. анализ будет делаться в сервере и сохраняться в объекте абзаца, принадлежащем клиенту.
Обмен между клиентом и сервером - сообщения.
4. Можно вынести ComBuilder из серверов и объдинить. Затем вынести общий код из GetResultBytes и параметризовать его.
5. Объединить SentProps и SentenceMap ?
6. В клиенте сделатьзаполнение датасетов из списков, а не напрямую из БД.
Обновление БД через датасеты не нужно, потому что будет редактирование объектов через карточки,
и поэтому в БД нужно будет обновлять объекты по одному.
7. Сделать выгрузку фолиантов в XML
8. Клиент
Нужно сделать в клиенте просмотр и редактирование одного документа.
Любое редактирование и сохранение документа даёт новый срез, то есть новую сборку, состоящую из множества блоков.
Где хранить информацию о срезах (журнал транзакций)?
В LogicProcessor надо реализовать логику ПЛВ - придумать язык по типу сиквела mSql и парсить его в ПЛВ.
В клиенте нужно предоставить возможность через интерфейс формировать запросы на mSql , передавать эти запросы в ПЛВ и
возвращать дерево сборок, соответствующее заданным условиям выборки.
Для начала нужно реализовать один документ, с параграфом и фразами, чтобы прикрутить реализацию синтана, пока без ПЛВ.
Далее клиент должен работать только через mSql.
Надо отделить класс Сборки от класса Блока. Блок должен быть доступен до кода ПЛВ . Он наш, внутренний.
Снаружи доступен только класс Сборки. Пусть деревья сборок возвращаются после запросов из ПЛВ.