Code Monkey home page Code Monkey logo

metadata.js's People

Contributors

admake avatar lukasdrgon avatar nmivan avatar rnpoddor avatar unpete avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metadata.js's Issues

Параллельный доступ к базе данных

Как решается вопрос с одновременной (почти одновременной) записью разными пользователями в базу данных? Например уникальность номера у документа 1С.

Вопросы http://infostart.ru/public/540168

Регламентное задание срабатывает. В чем может быть причина что изменения с сайта не попадают в 1С

Код загрузки из couchdb можно пройти в конфигураторе по шагам. Регламентные задания запускать не обязательно - в обработке администрирования интеграции есть кнопка. Скорее всего, значение параметр since = 0. Укажите в поле since номер изменения, начиная с которого требуется прочитать данные. Далее, при каждом цикле обмена, значение будет увеличиваться автоматически

Использование CouchDB и metadata.js для поставщика данных на несколько интернет магазинов как лучше реализовать? Возможно в этом случае лучше запускать metadata.js на сервере в node.js

Есть разные сценарии. Metadata.js на сервере может пригодиться для построения сложных индексов или серверного рендеринга. В большинстве случаев, хватает возможностей metadata в браузере.

Данную связка для создания публично доступного api с авторизацией как лучше применить

Есть положительный опыт использования [URL=https://github.com/colinskow/superlogin]superlogin[/URL] - со временем оформлю, как стандартный компонент для metadata v2

клиентское приложение на JS ходит за данными в http api cauchDB через интернет. Этот обмен шифруется?

Да

файлы, в частности картинки, которые хранятся в базе 1С будут кэшироваться

В нашем сценарии, присоединенные файлы и картинки хранятся в couchdb. На стороне 1С реализовано API, имитирующее работу с обычными присоединенными файлами.

Не получается установка metadata-js по инструкции (но в linux)

Добрый день.
Устанавливаю metadata-js по инструкции http://infostart.ru/public/540168/
Но делаю все это в вирт.машинке с linux Ubuntu 16.04,
node'а установилась v6.8.1

команды
npm install -g metadata-js
npm install -g gulp-cli
выполняется без ошибок

а вот
metadata init
получаю ошибку:
/usr/bin/env: ‘node\r’: No such file or directory

и судя по всему ‘node\r’ - это где-то в коде перенос строки стоит в кодировке Windows или типа того

Где и что можно посмотреть?
Или вариант только ставить все под Windows?

Обновлять DataObj в памяти для doc

Если в браузер прибежали изменения объектов ram - проблем не возникает. Мы синхронно обновляет такие объекты в памяти. Для doc, объектов в памяти не ожидается и синхронного обновления нет.
Но! его надо делать для тех объектов, которые были прочитаны но еще не выгружены из памяти

Абстрактные классы для настройки динсписка и отчетов

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

  • В библиотеке metadata-abstract-ui невизуальные классы, по аналогии с объектной моделью компоновки данных в 1С
  • В библиотеке metadata-react-ui компоненты для управления настройками отчетов и списков

Есть набросок визуальной части управления настройками и описание доступных полей списка но правильнее сначала реализовать невизуальные классы, а затем - прикрутить к ним редактор

  • Структура отчета и динсписка SchemeSettings - на первом этапе, можно сделать заглушку, возвращающую один из двух вариантов: плоский список или единственный уровень иерархии
  • Доступные поля (списка, отбора, сортировки, группировки) - это свойства SchemeSettings
  • Выбранные поля (списка, отбора, сортировки, группировки) - это свойства SchemeSettings
  • Дополнить описание метаданных поля признаками (измерение, ресурс, агрегатная функция - для ресурса, доступность для отбора, доступность для сортировки, функция сотрировки)
  • Класс Selection по аналогии с 1С-ным Отбором компоновки данных + вложенные семейства
  • Визуальный компонент SchemeSettingsEditor по аналогии с 1С-ным Настройки компоновки данных
  • Он должен уметь строиться по умолчанию по метаданным отчета или списка + модифицироваться пользователем + сохраняться в настройках текущего пользователя

Поле формы DataField

Добавил описание компонента

Задачи:

  • Редактор ссылочных данных - исправить паразитное кеширование списка
  • Редактор ссылочных данных - протестировать, систематизировать, документировать и исправить ошибки
  • Редактор числовых данных - поддержка клавиатурного ввода + калькулятор. Есть прототип в metadata v0.11 eXcell_calck. В названии компонента присутствуют буквы dhtmlx, но писал его я почти с нуля - с лицензией там всё в порядке. Если известен готовый компонент для React, имеет смысл задействовать и не изобретать велосипед
  • Редактор дат и диапазона дат - не первое время, можно подключить DatePicker из material-ui, но там не поддержан ввод с клавиатуры
  • Реализовать поддержку свойства kind
  • Реализовать поддержку свойства label_position
  • Реализовать поддержку свойства mandatory
  • Реализовать поддержку составных типов данных
  • Открытие формы списка в дополнение к фильтру по подстроке
  • При открытии формы списка, учесть параметры выбора и связи параметров выбора из текущих метаданных поля
  • Подписка на событие для отслеживания изменений объекта
  • Генерировать события при редактировании

Сортировка по дате и номеру в автоформах документов

Сейчас, для включения сортировок, требуются действия программиста. Это можно улучшить:

  • При создании автоформы списка проверять наличие нужных индексов
  • При наличии индексов, использовать их для сортировки

Ошибка записи meta

Нажимаю на кнопку и ничего не происходит, и не выводит об ошибке.
image

отложенная запись

реализовать свойство метаданных async_write

  • false|undefined - запись синхронная
  • true|"auto" - отложенная асинхронная запись
  • "script"|"manual" - запись через отдельно определяемый пользовательский скрипт

Развести движок данных и ui по разным модулям

В 1С-ном наследии, когда класс данных имеет свойства, определенные только на клиенте или только на сервере, нет ничего страшного (пример - метод Показать() у ТаблицыЗначений).
Задача: полностью отделить ядро, которое должно одинаково работать в Nodejs и браузере от визуальных методов DataObj, что упростит реализацию UI альтернативными библиотеками

Версия 2

Есть ли исходники v2, если да, то как их найти.

Расширение функциональности Toolbar_filter

  • Запоминать последние значения фильтра по ключу формы
  • Интерфейс для настройки отбора
  • Улучшить функциональность выбора периода
  • Адаптивный css для мобильных устройств

Production

Используется ли библиотека у кого-нибудь на production?

Синхронный режим для данных, кешируемых в "ram"

Сейчас, поля ввода ссылочных типов получают список доступных значений асинхронно вне зависимости от способа кеширования

  • Проанализировать целесообразность синхронного получения списков для данных в озу
  • Реализовать

Инспектор кода и ReactJs

Проекту также не хватает здесь travel ci подобных систем, проверки кода, написание кода по выбранному стандарту и ReactJs)

Обработчики событий объектов и списков

Обработчики событий по умолчанию, имеет смысл поместить в контекст AppContainer, а в формы объектов и списков передавать только индивидуальные обработчики для реализации нестандартного поведения формы.

Стандартные обработчики:
handleSelect: PropTypes.func, // обработчик выбора значения в списке
handleAdd: PropTypes.func, // обработчик добавления объекта
handleEdit: PropTypes.func, // обработчик открытия формы редактора
handleRevert: PropTypes.func, // откатить изменения - перечитать объект из базы данных
handleMarkDeleted: PropTypes.func, // обработчик удаления строки
handlePost: PropTypes.func, // обработчик проведения документа
handleUnPost: PropTypes.func, // отмена проведения
handlePrint: PropTypes.func, // обработчик открытия диалога печати
handleAttachment: PropTypes.func, // обработчик открытия диалога присоединенных файлов

Их можно объединить в объект data_obj_handlers

Учесть в _DataObj_ часовые пояса utc, gmt

  • Задействовать moment.js вместо кучи разных нестандартных алгоритмов
  • Учесть часовые пояса при сериализации и десериализации объектов

Порядок развития проекта

Несколько вопросов:

  1. лицензия используется достаточно странная - при нескольких фазах её прочтения выходит, что вы запрещаете делать форк этого проекта. Что означает что вы используете github только как хостинг исходного кода для чтения. Просьба чуть расширить описание вариантов легального использования согласно лицензии.
  2. не наблюдаю в вашем проекте тестов, однако вижу что в описание пакета включено игнорирование каталога тестов. отсюда вопрос - используется ли тестирование в проекте ?

Метаданные конкретного приложения

Пример: подключили библиотеку интеграции к базе 1с, выполнили настройку couchdb и выгрузили туда метаданные и данные.

Теперь конструируем конректное веб приложение. Для этого нам нужны метаданные отправленные в couchdb.

Правильно я понимаю, что метаданные подтягиваются в наше приложение npm скриптом ' prebuild:meta?

Результатом его работы является файл src/metadata/init.js ?

Typescript

Планируете ли вы переход на Typescript или использование es6, es7 с babel и webpack для улучшения кода?

Свойство grouping метаданных объекта

  • Для ссылочных типов с grouping = array, разворачивать массив при чтении и записывать таблицу alasql целиком, вместо текущего объекта
  • Для регистров поддержать balances, slice_last, day, month

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.