Сообщество программистов Autodesk в СНГ

ADN Club => Адаптация AutoCAD и вертикальных приложений => Тема начата: Андрей Бушман от 10-01-2014, 14:41:47

Название: Bundle: спецификация файла PackageContents.xml
Отправлено: Андрей Бушман от 10-01-2014, 14:41:47
Доброго времени суток.

Вопрос, конечно избитый и уже давно похож на риторический, но всё же задам его (чем чёрт не шутит): на какой стадии находится спецификация конфигурационного файла PackageContents.xml, входящего в состав BUNDLE пакетов? Что слышно по данной теме?

Формат существует не первый год, однако время от времени меняется. Если в версии 2015 он будет "устаканен", то весьма востребована была бы информация с полным описанием этого формата (информацию по предварительным версиям в справке и блогах я читал, однако по факту востребован именно конечный результат).

Задумка с PackageContents.xml изначально хорошая, но хотелось бы знать, когда можно было бы начинать пользоваться ею, не боясь очередных изменений в спецификации формата... В идеале, конечно же, наличие XSD файла (файл XML схемы) моментом расставило бы все точки над "i".

P.S. Если это, конечно, не "закрытая" информация :)

Спасибо.
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Александр Ривилис от 12-01-2014, 05:02:32
Я передал вопрос в ADN DevHelp, но боюсь что до выхода очередной версии AutoCAD эта информация будет закрытой.
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Александр Ривилис от 16-01-2014, 14:22:13
Пока могу посоветовать вступить в ряды "бетатестировщиков" AutoCAD (http://beta.autodesk.com/) и проверить/спросить это самостоятельно. А заодно высказать непосредственно разработчикам AutoCAD всё что ты о них думаешь. ;)
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Андрей Бушман от 16-01-2014, 14:39:11
Пока могу посоветовать вступить в ряды "бетатестировщиков" AutoCAD (http://beta.autodesk.com/) и проверить/спросить это самостоятельно. А заодно высказать непосредственно разработчикам AutoCAD всё что ты о них думаешь.
Не люблю работать в ведро. :)
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Александр Ривилис от 17-01-2014, 14:26:26
Даю перевод того, что написал мне Стивен Престон (руководитель ADN DevTech/DevHelp):
Цитировать
Автозагрузчик предназначен для упрощения загрузки приложений в различных версиях AutoCAD. Поэтому было бы глупо, если бы команда разработчиков AutoCAD радикально меняла формат файла PackageContents.xml в каждой очередной версии. Кроме того очевидно, что если параметр SeriesMax установлен в R19.1, то приложение не загрузится ни в какой AutoCAD новее 2014.

"Гусары, молчать!" (c) п. Ржевский
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Андрей Бушман от 17-01-2014, 15:21:29
Автозагрузчик предназначен для упрощения загрузки приложений в различных версиях AutoCAD. Поэтому было бы глупо, если бы команда разработчиков AutoCAD радикально меняла формат файла PackageContents.xml в каждой очередной версии. Кроме того очевидно, что если параметр SeriesMax установлен в R19.1, то приложение не загрузится ни в какой AutoCAD новее 2014.
Я спрашиваю об одном, а мне "отвечают" о другом... Меня не интересует, будет ли там что-то грузиться у Престона или же не будет. Мой вопрос был чётким: когда появится "устаканившаяся" спецификация, полностью соответствующая реальной структуре файла PackageContents.xml?

Заметьте, я не спрашивал о том, для чего предназначен PackageContents.xml и о том, когда плагин будет\не будет грузиться. Пока что это напоминает разговор глухого со слепым.

Теперь немного о капитане "Очевидность"... Я мог бы напомнить Стивену Престону, что далеко не всё "очевидное" в PackageContents.xml действительно работает, хотя это, казалось бы, как раз и должно было бы быть "очевидным".... Как сейчас помню: если в обозначенном файле установить опцию, при наличии которой AutoCAD не должен загружать данный плагин, то по факту плагин всё равно будет загружаться. Баг был подтверждён в ADN и, в качестве решения, мне предложили одевать трусы через голову  в наименовании каталога плагина убирать суффикс (т.е. ".bundle"), т.к. каталоги без обозначенного суффикса AutoCAD игнорирует.

А теперь о том, чем мотивирован мой "глупый" вопрос (если Стивену Престону это не "очевидно"): для того, чтобы мой программный код, работающий с файлом PackageContents.xml пошёл "гулять лесом", порой достаточно и не очень (с точки зрения Стивена Престона) "радикальных изменений".

В качестве ответа он мог бы просто выложить спецификацию, либо XSD схему.

P.S. Гусары постарались выразить свои эмоции в как можно более нейтральной форме...
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Александр Ривилис от 17-01-2014, 15:29:54
Мой вопрос был чётким: когда появится "устаканившаяся" спецификация, полностью соответствующая реальной структуре файла PackageContents.xml?
Они не уполномочены давать ответ на этот вопрос.
Я мог бы напомнить Стивену Престону, что далеко не всё "очевидное" в PackageContents.xml действительно работает, хотя это, казалось бы, как раз и должно было бы быть "очевидным"....
Не путай "заданное поведение" и "баг" - Стивен пишет о том, как оно должно себя вести. А если ты хочешь проверить - шагом марш на бета тестирование или жди выхода очередного релиза.
P.S. Гусары постарались выразить свои эмоции в как можно более нейтральной форме...
:D :D :D
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Андрей Бушман от 17-01-2014, 15:34:18
Они не уполномочены давать ответ на этот вопрос.
Тогда вопрос закрыт, а оформление плагинов в виде BUNDLE пакетов по прежнему остаётся нецелесообразным, раз уж "воз и поныне там".
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Александр Ривилис от 17-01-2014, 15:45:04
Андрей. Спецификация автозагрузки через реестр устаканивалась тоже достаточно долго. Всё начиналось в AutoCAD R14, когда arx/dbx-приложения грузились только из HKLM (ветка HKCU игнорировалась). В каждой версии появлялось что-то новое и не всегда оно было совместимо со старыми версиями. С появлением AutoCAD 2005 появился флаг MANAGED для .NET-приложений. Так что если учесть, что у BUNDLE пока всего три года истории - это очень молодая технология. По аналогии .NET-приложениями AutoCAD: AutoCAD 2005 - первая попытка, 2006 - радикальное изменение - даже Namespace'ы поменяли, 2007 - косметические изменения, несмотря на то, что в ObjectARX и вообще в AutoCAD была "революция" - переход с ANSI к UNICODE. И т.д. и т.п.
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Андрей Бушман от 17-01-2014, 15:51:14
Я не говорю, что BUNDLE - это плохо. Идея хорошая. Однако для того, чтобы сесть и грамотно продумать структуру XML файла, вместе с совместными обсуждениями, тестированием и постепенными внесениями необходимых изменений - достаточно пары-тройки месяцев, причём для одного человека. А то, что этот процесс растягивается на годы (т.е. жуются носки), говорит скорее о хреновой организации труда и об отсутствии нормальной проработки архитектуры приложения (т.е. сначала пишут код, потом думают). :(

В общем жаль, что по данному вопросу всё столь неопределённо...
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Александр Ривилис от 18-01-2014, 07:11:56
1. Цель этого форума не в критике Autodesk, а в решении проблем, которые возникают при работе с продуктами Autodesk.  Точнее при создании программ для этих продуктов.
2. Не забывай, что технология BUNDLE используется не только для AutoCAD, и даже не только для вертикальных приложений для AutoCAD, но и для других продуктов Autodesk, таких как Revit и т.д. Нужно учесть разные приложения, разные продукты, разные операционные системы, разные версии .NET и еще кучу всяких нюансов. Это всё делает принципиально невозможным зафиксировать раз и навсегда структуру BUNDLE.

P.S.: Предлагаю решать проблемы по мере их поступления. Вернёмся к это теме после того, когда можно будет открыто публиковать информацию о BUNDLE в новой версии AutoCAD.
 
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Андрей Бушман от 18-01-2014, 08:30:52
Цель этого форума не в критике Autodesk
Извиняюсь :-[ Язык мой - враг мой (с).
Вернёмся к это теме после того, когда можно будет открыто публиковать информацию о BUNDLE в новой версии AutoCAD.
Ок.
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Андрей Бушман от 22-01-2014, 16:35:54
К слову: здесь (http://adndevblog.typepad.com/autocad/2013/01/autodesk-autoloader-white-paper.html) вся XML разметка, опубликованная автором (Fenton Webb), является некорректной в виду того, что в ней многие тэги пишутся слитно с именами атрибутов, а так же почти везде отсутствуют пробелы и между атрибутами. Так что после Ctrl + C \ Ctrl + V придётся вручную перелопачивать всё. Полагаю, что это баг форматирования.

Сообщить об этом автору нет возможности, т.к. добавление комментариев заблокировано, хотел добавить это:
Цитировать
@Fenton, almost all your XML code is invalid: the spaces between tags and attributes is absent in many places.
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Александр Ривилис от 22-01-2014, 20:22:37
Сообщить об этом автору нет возможности, т.к. добавление комментариев заблокировано, хотел добавить это:
Добавление не заблокировано. Я процитировал там твой комментарий. Другое дело, что Фэнтон сейчас работает в другом подразделении Autodesk и может не увидеть этот комментарий.
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Андрей Бушман от 22-01-2014, 20:33:48
Добавление не заблокировано.
Хм... У меня на работе, почему-то, кнопка Post оставалась серой (заблокированной) и попытки её нажатия ни к чему не приводили. Сейчас дома пробую - да, не заблокировано. Возможно что-то глюкнуло в браузере.
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Александр Ривилис от 23-01-2014, 11:38:43
Ответил Стивен Престон. Причина отсутствия пробелов вероятнее всего из-за движка Typepad WYSIWYG, который "съел" табуляции и пробелы. Он попросит Фэнтона выложить оригинальный Word'овский файл, если тот у него сохранился. Кроме того Стивен рекомендовал поискать "PackageContents.xml Format Reference" в документации  http://docs.autodesk.com/ACD/2014/ENU/ Но эта ссылка тебе и так известна.   
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Андрей Бушман от 23-01-2014, 17:40:06
Но эта ссылка тебе и так известна
Не только ссылка, но и материал, который он рекомендует искать. Текущую версию документации я не сравнивал с предыдущими, но если она всё та же - это будет означать, что она по прежнему не соответствует реальному формату PackageContents.xml. Так обстоит дело с этим (http://exchange.autodesk.com/autocad/enu/online-help/browse#WS1a9193826455f5ff-4fe3487312ce8a8dba5-7feb.htm) (о чём я в своё время писал в ADN, указывая несоответствия). Несоответствия бросались в глаза в процессе изучения закрытого в то время материала по теме, предоставляемого подписчикам ADN. Материал очень похож на тот, который Фэнтон опубликовал в своём блоге (возможно это даже оно и есть).
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Александр Ривилис от 26-01-2014, 05:25:03
Стивен выполнил свое обещание и выложил исходный doc-файл Фэнтона: http://adndevblog.typepad.com/autocad/Downloads/AutoLoaderWhitePaperv2_3.docx
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: BearDyugin от 14-06-2022, 11:17:02
Здраствуйте.

В связи с расширением аудитории потребовался перевод модуля на разные языки.
Изначально знал что глобально путь к приложению прописывается в  ModuleName Для Русской версии(при этом не понятно чего, системы или версии AutoCAD) записывается в ModuleNameRus, для Японии, отфильтровал приложения в магазине, установил, и нашёл ModuleNameJpn, но есть у меня ещё и перевод модуля на Украинский язык, но вот в Магазине не нашёл фильтра по такому языку, отсюда вопрос существует ли вообще ModuleNameUkr?
Название: Re: Bundle: спецификация файла PackageContents.xml
Отправлено: Александр Ривилис от 14-06-2022, 19:49:25
но есть у меня ещё и перевод модуля на Украинский язык, но вот в Магазине не нашёл фильтра по такому языку, отсюда вопрос существует ли вообще ModuleNameUkr?
Пока нет. Но так как появилась украиноязычная ветка форума Autodesk (https://forums.autodesk.com/t5/ukrainskoyu/ct-p/6160), то есть надежда и на локализацию.