Легкие метаданные из json-схемы

сценарий

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

В настоящее время существует функция для создания json-schema из метаданных ActiveRecord через json_schema_builder и ведутся работы по динамически отображать определение схемы в реальном времени. Если кто-то хочет принять участие, сообщите о своих намерениях по проблеме с github, поскольку это не является темой данного разговора.

легкие метаданные и json-схема

Очень обрадовался, обнаружив страницу с названием Meta Schema, впечатлен тем, что ветер принял json-схему для представления своих метаданные. Столь же разочарован тем, что json-schema используется только для описания их собственного определения схемы, подобно тому, как метасхемы используется для описания самой json-схемы.

Использование метаданных json-schema 2

Давайте не будем вдаваться в дискуссию о том, почему у нас есть json-схема, определяющая еще одно определение метаданных, и насколько ценно было бы, чтобы эти усилия, которые потребовались для этого, были направлены на получение json-схемы, если бы она была признана неадекватной. . Вместо этого все, что я пытаюсь найти, - это способ превратить существующую json-схему в то, что breeze.js может понять. Google не выпускает дополнительных материалов по этой теме, которые я все равно могу найти, и проект Breeze предлагает нам заняться этим здесь.

В документации объясняется способ загрузки метаданных из скрипта путем захвата метаданных из то, что я могу только предположить, является MC-CSDL вкладом Microsoft в еще один стандарт, определяющий то же самое.

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

  • превратить json-схему в простые метаданные
  • возможно любая поддержка отражений ActiveRecord
  • по крайней мере, что-то, чтобы запросить postgresql для информации

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

Спасибо!


person nickl-    schedule 13.05.2014    source источник


Ответы (1)


Я ценю вашу дилемму. Я продолжаю смотреть на json-schema в надежде, что Breeze сможет присоединиться к ней в качестве стандарта. Он просто не несет информации, необходимой Breeze для управления данными на клиенте.

json-schema действительно несет большую часть данных схемы, которые необходимы клиенту Breeze. Хотя сам по себе он может быть неадекватным, он должен дать вам преимущество при написании метаданных Breeze вручную.

В один прекрасный день я представляю себе такой сценарий:

  • Модуль JavaScript breeze-metadata-builder, который может комбинировать потоки информации метаданных из нескольких источников.

  • Файл конфигурации JSON, который идентифицирует эти источники.

    • Один источник - это канал json-schema

    • Другой источник возвращает рукописные "настройки", которые заполняют пробелы с точки зрения метаданных Breeze.

  • breeze-metadata-builder объединяет два источника в один канал формата метаданных Breeze.

  • Запустите этот процесс в узле как задачу Grunt, выводя файл json или JavaScript.

  • Клиент при запуске импортирует эти метаданные в MetadataStore

Кто напишет это и поделится с сообществом? Как насчет тебя, @nicki? Я с радостью протяну руку помощи.

person Ward    schedule 16.05.2014
comment
Увы, звучит забавно, но я уже и так разошелся, обсуждали ли вы недостатки json-schema с командой json-schema на github? Поскольку работа над ней еще не завершена, вы можете извлечь выгоду из вашего опыта / знаний, и если она вообще будет полезной, то она должна быть завершенной, согласны ли вы? Что касается ваших рассказов, я согласен со всем, кроме импорта с ворчанием в клиент. Почему это не может быть динамичным? Я имею дело с подобными изгибами ума с json-схемой из ActiveRecord, где складывается впечатление, что это должно быть статичным. Не понимаю почему?!? - person nickl-; 19.05.2014
comment
Нет особой причины. По моему опыту, они обычно статичны, но это не имеет большого значения. В любом случае это конвейер, так что вы можете свободно вставлять что угодно и двигаться в другом направлении, когда дух движет вами. - person Ward; 19.05.2014