Развитие продукта

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

Готово

Ядро модели данных

То, переделка чего означала бы переписать доступ к данным во всех продуктах сразу.

  • Объект и file_id как постоянный идентификатор
  • Таблица держателей: прямое владение и привязки продуктов
  • Владелец квоты и учёт потребления по единому аккаунту
  • Права на файлы и папки, права доступа интеграций
  • Контракт из четырёх методов: put, get, bind, unlink
  • Регион как свойство объекта и организации
Готово

Функции для сотрудников

То, что превращает слой хранения в продукт для сотрудника компании.

  • Диски компании, сотрудника и проектов
  • Версии, откат и корзина со сроками
  • Публичные ссылки на файл и папку с паролем и отзывом
  • Совместное редактирование документов по WOPI и блокировки
  • Предпросмотр документов и готовые размеры изображений
  • Поиск по имени и содержимому
Готово

Расширения

Добавлены поверх той же модели данных без переделки основы.

  • Синхронизация с клиентами для Windows и macOS по журналу изменений
  • Импорт из внешних облаков: OneDrive, Google Drive, Dropbox и Яндекс Диск
  • Конвертация видео в пределах лимита тарифа
  • Дедупликация при загрузке по контрольной сумме содержимого
  • Подсказки по очистке места и разбор потребления
Дальше

Что дальше

Строится поверх того же контракта и не требует переделки уже выпущенного.

  • Смысловой поиск по документам организации совместно с A3.Documents
  • Регион хранения на уровне проекта или папки для крупных клиентов
  • Кэширование чтения для файлов, открытых партнёрам в других регионах: оригинал остаётся в регионе аккаунта

Почему порядок именно такой

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

API