Список ошибок:
+ при клике и обнолении выделяется не тот элемент
+ закрывается последняя папка - понятно, что программа хочет держать ее открытой
+ поиск путей/не заданная вкладка - сделать понятно
+ закрываются внутренние папки
+ исправление путей в контексте
+ длинные пути в истории и контексте, подсказка адреса
+ кнопка Select с возможностью AutoSelect
+ запросы, специальные папки "Часто посещаемые" ...
+ Добавил Settings c флагами вкл/откл опции
+ переключение с поиска Firefox на Path manager
+ в имени не допустимый символ "\","/",";" <- золотодобыча
+ дублирующие имена
+ Вынести все строки
+ Языки английский и русский
+ Сжатие JavaScript
+ Описание для Ромы
+ Справка для Плагина
+ Установить Роме Плагин
+ Перенести репозиторий к Жене
2-3 локальных задачки:
* Установить Apache+PHP+SQL на Линукс
* Использовать RESTful
* Использовать виртуальный сервер
??? Хранение Контекстов на Сервере!!!
<<< * Отделить Плагин >>>
* Супер надежность, Версии, Структура, Будущее, ... все варианты, Документация, ... Версия 1.00
* Реклама ... Работа над Инфо-системой
* Ошибка с переименованием
* Исправление пути. Путь без статуса!!!
* не работает "поиск существующего таба во всех окнах" - в защищенном режиме
* истаревший код???
----------------------
Защита продукта
-------------------------------------
* Перенос репозитория к Жене
* Хранение Контекстов на Сервере у Жени
* Сайт, Оплата, Аккаунт
* Автоматическое обновление?
запрос версии, обновление,
пользователь -> поставить предыдущую версию, написать об ошибках,
* Хранение Контекстов на Сервере
Что ценное хранить?
данные:
контексты -> синхронизация
настройки -> версия, настройки,
код:
загрузчик расширения с сервера
1. ширование программы
2. программа меняется
3. данные связаны с программой
Клиент <-> Сервер
модуль <-
* SSL соединение с сервером
Инфо-Панель
* Индексирование Windows только нужных папок и файлов
* Связи Windows <-> Firefox
* Связи папок ПК, Google, Firefox
* Панель редактирования Google Document
* Панель создания Инфо-объектов
* документ дублирует
* инфо-объекта(описание,закладки,файлы,связи),
инфо-папки(закладки,файлы,связи),
инфо-докумета(описание,связи)
* Служба синхронизации Firefox
* Исправление имен папок и файлов
* Отслеживать Firefox операции с закладками
* Отслеживать Google дисковые операции из Firefox
* Web Extension <-> plugin
* Соединить ПК и Add-On Firefox (Web Extension)
* Отслеживать ПК дисковые операции Windows
* Отслеживать Google дисковые операции (Google->Dropbox+Word)
* Сервер->Облочное хранилище
* Закладки в SQLite
* Службу синхронизации на javascript ищет
- изменения firefox - javascript
- изменения google - javascript
- изменения ПК - javascript
* Взаимодействие ПК <-> javascript
* сделать панель Инфо-система:
для работы с Google документом,
* создать в открытой папке с тем же именем
* добавить ссылку -
* редактировать ссылку
для работы с Инфо-объектами,папками -> запрос в Службу синхронизации
* Службу синхронизации
работать с Google документом
изменения Google документов, папок, ...
Подготовка к продаже
* вынести контекст на сервер -> google?
* защита сжатием *.js
* регистрация плагина в mozilla.
* автоматическое обновление.
* вычленить плагин.
* аккаунты пользователей.
* написать статью? один день использования "path manager".
Продажа
* сайт. аккаунты. оплата. (собрать информацию) ключи для активации?
Исправление ошибок/защита от сбоев?
* fix path после правки папки Плагин Google
* ПК\Разработка\Алгоритмы и математика\Математика и программирование: нужны ли они друг другу? -...
(не переименовала)
* Заменить пути на ItemId
* Много контекстов??? ...
(***) (интерес) отсортировать файлы для plugin.
Продолжение разработки через 2 недели: 01/11/2016
(***) Инфо-система. синхронизация с google/total commander.
* (долго) Отделить плагин. -> Связать с контекстом. Продажи.
* (долго) Совместимость с Firefox. Изменить архитектуру. -> Изучение
* (долго) Сделать свой Поиск (regexp,query,template,folders)
* (долго) Множественное выделение. Удобно
-------------------
Индексирование Windows
(AQS) и (SQL)
Windows Search
локальных поисковиков
Superior Search 2005
DVYGUN Smart Search
«Архивариус 3000»
SearchInform (учетом синонимов, фразы )
локальных поисковиков: Superior Search, SearchInform, «Ищейка», «Архивариус 3000», DVYGUN.
(***) dtSearch Desktop
+ dtSearch Spider еще Web
во всех морфологических формах слов и поиск с коррекцией ошибок
с использованием синонимов
* Google Desktop Search с GDE Enterprise
GDS <- Google
TweakGDS
* Copernic Desktop Search
индексировать закладки Internet Explorer.
из mp3-тегов (артист, альбом, дата и т.п.)
(***) iSYS Desktop
готовых шаблонов «Мои документы», «Почта», «Почта и документы», «Определенная папка», «Папка с выбором типов файлов»
функционал как dtSearch
(***) SearchInform Desktop Professional
HTML, PDF и DOC
документы «1С», архивы почтовых сообщений, мультимедийные библиотеки
требование полноты
к разделам Linux
почтовые системы, клиенты систем мгновенного обмена сообщениями
учетом синонимов
более сложный анализ текста
поиск в том числе по фразам
(
Так, в формате MP3 есть специальные поля, в которых принято записывать
автора композиции, стиль и другие характеристики.
Локальный поисковик может применять эти дополнительные сведения для более точного поиска.
)
Системы локального поиска
непрерывным ростом объемов информации
скрость индексации, так и собственно поиска
поддерживаемые форматы файлов
поддержка морфологии, синонимов, разных видов поиска
DOC, TXT и HTML размером около 20 Гбайт.
-------------------
Google-Drive
getFileById(id)
getFolderById(id)
File.getId()
Folder.getId()
Google-docs
var doc = DocumentApp.openById('DOCUMENT_ID_GOES_HERE');
Document
Body
Bookmark
Google-forms
FormApp
DocumentApp.getUi().createAddonMenu().addItem('Start', 'showSidebar')
var ui = HtmlService.createHtmlOutputFromFile('Sidebar')
.setTitle('Translate');
DocumentApp.getUi().showSidebar(ui);
https://drive.google.com/drive/u/0/folders/0B1zAMlrMqIjuOHl0ZnlXdUwwNTQ
https://docs.google.com/document/d/1eQC-4J0Nn6qgS9hKsO-OseprmSZSNNHhsHooZsZm2g0/edit#
// Open a document by ID.
var doc = DocumentApp.openById('DOCUMENT_ID_GOES_HERE');
// Create and open a document.
doc = DocumentApp.create('Document Name');
getCursor()
-------------------
Большие задачи:
* Сделать свой Поиск(regexp,query,template,folders)
поиск: 5 разных запросов, далее смотрю и выбираю ...
----------------------
* Сделать свой Запрос(regexp,query,template,folders)
var options = historyService.getNewQueryOptions();
var query = historyService.getNewQuery();
maxResults - 0 все,
queryType - для запросов, но не папок, (QUERY_TYPE_BOOKMARKS -> QUERY_TYPE_HISTORY)
resultType - RESULTS_AS_URI
sortingMode - для запроса -> надо для всего дерева
SORT_BY_TITLE_ASCENDING - название
SORT_BY_URI_ASCENDING - URI
SORT_BY_DATE_ASCENDING - (?? создана, старая, новая)
SORT_BY_DATEADDED_ASCENDING - (?? создана, старая, новая)
SORT_BY_LASTMODIFIED_ASCENDING - (изменена, старая, новая)
SORT_BY_FRECENCY_ASCENDING - частота обращений (полезная, новая)
SORT_BY_VISITCOUNT_ASCENDING - количество обращений (полезная, старая)
nsINavHistoryQuery
название
searchTerms
URI
domain - часть URi
uri
uriIsPrefix
датой
beginTimeReference
beginTime - bookmarks начиная с текущей даты
endTime - bookmarks заканчивая текущей датой
посещения
minVisits,maxVisits - посещения
queriesToQueryString -> БОЛЕЕ функциональные запросы
executeQueries -> запрос из нескольких запросов
query.setFolders([toolbarFolder], 1); - ЗАПРОС ДЛЯ ПАПКИ
var uri = histServ.queriesToQueryString([query], 1, opts);-
СТРОКА ЗАПРОСА place="place:terms=mozilla&onlyBookmarked=1&queryType=1"
tree.place = uri;
СТОЛБЦЫ В ДЕРЕВЕ
<tree type="places">
<treecols>
<treecol id="title" flex="1" primary="true" />
<treecol id="url" flex="1" />
</treecols>
<treechildren />
selectItems() -> МНОЖЕСТВЕННОЕ ВЫДЕЛЕНИЕ-> TotalCommander
Добавление запроса:
Places utilities for JavaScript
boolean nodeIsQuery(nsINavHistoryResultNode aNode);
boolean nodeIsReadOnly(nsINavHistoryResultNode aNode);
boolean isReadonlyFolder(nsINavHistoryResultNode aNode);
nsITransaction makeTransaction(string data, string type, nsINavHistoryResultNode container, int index, boolean copy);
nsINavBookmarksService
AUTF8String getItemTitle(in long long aItemId);
void setItemTitle(in long long aItemId, in AUTF8String aTitle);
nsIURI getBookmarkURI(in long long aItemId);
void changeBookmarkURI(in long long aItemId, in nsIURI aNewURI);
PRTime getItemDateAdded(in long long aItemId);
void setItemDateAdded(in long long aItemId, in PRTime aDateAdded);
PRTime getItemLastModified(in long long aItemId);
void setItemLastModified(in long long aItemId, in PRTime aLastModified);
unsigned short getItemType(in long long aItemId);
placesRoot
toolbarFolder
bookmarksMenuFolder
unfiledBookmarksFolder - android, быстро
var result = historyService.executeQuery(query, options);
Как создать папку-запрос?
nsINavBookmarksService
unsigned short getItemType(in long long aItemId);
TYPE_FOLDER
PlacesUtils
boolean nodeIsQuery(nsINavHistoryResultNode aNode);
utils.js
QI_node(aNode, aIID) -> получить интерфейс запросов для aNode
asQuery(aNode)
PlacesUtils/PlacesUIUtils
string wrapNode ( nsINavHistoryResultNode aNode, string aType, nsIURI aOverrideURI);
leftPaneQueries
tree.applyFilter(aSearchString,
[PlacesUtils.bookmarksMenuFolderId,
PlacesUtils.unfiledBookmarksFolderId,
PlacesUtils.toolbarFolderId]);
----------------------