Подошло время взяться за метадату и ANT, и я начал с простых операций, но чувствую что в реальной жизни ANT используют для автоматизации сложных вещей в СФ.
Поэтому в этой теме прошу поделиться кратким описанием СЦЕНАРИЕВ того, чем обычно занят ваш муравей или то, что он может делать полезного в целом.
Вот например, сценарий (build.xml) который я могу представить (не сделать, пока просто представить):
(1) выгружает по списку метадату из одного Орга. (2) выгружает по списку метадату из другого Орга. (3) апдатируем package.xml (если это нужно) или что меняем в метадате на локальной машине. (4) загружает все это в третий Орг.
но это мое представление как можно заставить работать муравья по-серьезному.
Какими сценариями вы можете поделиться? можно самые простые и банальные
Плюс для тех у кого есть опыт с Груви\Gradle, напишите Муравьиный сценарий, а после добавьте, что с Груви\Gradle ко всему этому я могу сделать вот это и это.
Всем привет!
Подошло время взяться за метадату и ANT, и я начал с простых операций, но чувствую что в реальной жизни ANT используют для автоматизации сложных вещей в СФ.
Поэтому в этой теме прошу поделиться кратким описанием СЦЕНАРИЕВ того, чем обычно занят ваш муравей или то, что он может делать полезного в целом.
Вот например, сценарий (build.xml) который я могу представить (не сделать, пока просто представить):
(1) выгружает по списку метадату из одного Орга.
(2) выгружает по списку метадату из другого Орга.
(3) апдатируем package.xml (если это нужно) или что меняем в метадате на локальной машине.
(4) загружает все это в третий Орг.
но это мое представление как можно заставить работать муравья по-серьезному.
Какими сценариями вы можете поделиться? можно самые простые и банальные
кстати эту тему уже поднимали:
https://salesforce-developer.ru/forum/topic-build-project-ant-gradle-etc
Плюс для тех у кого есть опыт с Груви\Gradle, напишите Муравьиный сценарий, а после добавьте, что с Груви\Gradle ко всему этому я могу сделать вот это и это.
Спасибо
[quote="Den Brown"]но это мое представление как можно заставить работать муравья по-серьезному.[/quote]
Вот тут посмотри
https://github.com/financialforcedev/df12-deployment-tools
Уже не первый раз про это писали.
[quote="Den Brown"]Плюс для тех у кого есть опыт с Груви\Gradle, напишите Муравьиный сценарий, а после добавьте, что с Груви\Gradle ко всему этому я могу сделать вот это и это.[/quote]
Везде ты можешь сделать примерно одно и тоже, просто потратишь на это разное количество времени и сил.
А возможные сценарии мне самому интересны. Не раз уже спрашивал на форуме, но ответов нет. Могу реализовать твой сценарий)
А возможные сценарии мне самому интересны.
Не раз уже спрашивал на форуме, но ответов нет.
Могу реализовать твой сценарий)
Ну отчего же нет сценариев, упоминал я вроде и не раз. (опять же все из https://github.com/financialforcedev/df12-deployment-tools ) - очистка орга - загрузка проект на орг (все/по частям) - запуск тестов - запуск анонимного кода - выгрузка нужных данных Что тут еще можно придумать? вот с пунктом -запуск анонимного кода вообще можно творить ВСЕ ЧТО УГОДНО!!!!
[quote="Gres"]Не раз уже спрашивал на форуме, но ответов нет. [/quote]
Ну отчего же нет сценариев, упоминал я вроде и не раз.
(опять же все из https://github.com/financialforcedev/df12-deployment-tools )
- очистка орга
- загрузка проект на орг (все/по частям)
- запуск тестов
- запуск анонимного кода
- выгрузка нужных данных
Что тут еще можно придумать?
вот с пунктом -запуск анонимного кода вообще можно творить ВСЕ ЧТО УГОДНО!!!!
[quote="Dmitry Shnyrev"][quote="Gres"]Не раз уже спрашивал на форуме, но ответов нет. [/quote]
Ну отчего же нет сценариев, упоминал я вроде и не раз.
(опять же все из https://github.com/financialforcedev/df12-deployment-tools )
- очистка орга
- загрузка проект на орг (все/по частям)
- запуск тестов
- запуск анонимного кода
- выгрузка нужных данных
Что тут еще можно придумать?
вот с пунктом -запуск анонимного кода вообще можно творить ВСЕ ЧТО УГОДНО!!!![/quote]
Это все элементарные задачи!
Еще можно change sets генерить, но это тоже никого не впечатлило
Еще можно change sets генерить, но это тоже никого не впечатлило
Могу реализовать твой сценарий)
Милости просим!
Сценарий: (1) выгружаем из одного Орга ту метадату, что была изменена за последнюю неделю. (2) меняем на локальной машине все АПИ имена с упоминанием головного объекта с "Generic_Request__с' на "New_Request__с' . (3) загружаем все это во второй Орг.
- запуск анонимного кода - выгрузка нужных данных
как запуск анонимного кода? как выгрузка данных через Ант?
Еще можно change sets генерить, но это тоже никого не впечатлило
[quote="Gres"]Могу реализовать твой сценарий)[/quote]
Милости просим!
Сценарий:
(1) выгружаем из одного Орга ту метадату, что была изменена за последнюю неделю.
(2) меняем на локальной машине все АПИ имена с упоминанием головного объекта с "Generic_Request__с' на "New_Request__с' .
(3) загружаем все это во второй Орг.
[quote="Dmitry Shnyrev"]- запуск анонимного кода
- выгрузка нужных данных [/quote]
как запуск анонимного кода?
как выгрузка данных через Ант?
[quote="Gres"]Еще можно change sets генерить, но это тоже никого не впечатлило[/quote]
Как не впечатлило?!
[quote="Dmitry Shnyrev"][quote="Den Brown"]как выгрузка данных через Ант?[/quote]
сорри, метаданных[/quote]
Имея правильный package.xml все это реализуется достаточно просто. А вот его построить без других утилит сложновато.
В принципе могу описать как у иеня реализована выгрузка метадаты измененной после определенной даты. Не все так сложно как кажется.
Самый долгий путь начинается с первого шага. Ден заразил:)
[quote="wilder"]В принципе могу описать как у иеня реализована выгрузка метадаты измененной после определенной даты. Не все так сложно как кажется.[/quote]
На самом же деле все просто)
как запуск анонимного кода?
Tooling API -> Execute Anonymous
Если память не изменяет сейчас и через ант это можно делать.
[quote="Gres"][quote="Den Brown"]как запуск анонимного кода? [/quote]
Tooling API -> Execute Anonymous[/quote]
Если память не изменяет сейчас и через ант это можно делать.
Если память не изменяет сейчас и через ант это можно делать.
[quote="Gres"][quote="wilder"]Если память не изменяет сейчас и через ант это можно делать.[/quote]
У него только 6 тасков, как и раньше.[/quote]
Обнови salesforce-ant библиотеку до 33 версии и проверь executeApex
Обнови salesforce-ant библиотеку до 33 версии и проверь executeApex
[quote="wilder"]нежданчик[/quote]
Не получилось)
Это кастомная таска. Посмотри реализацию. У меня для градла тоже написана.
Ок, те кто уже на ты с муравьями, выкладывайте сюда несложные, но жизненные сценарии (build.xml) для того, чтобы другие начали пробовать: повторять эти сценарии, дополнять их, учиться.
Ок, те кто уже на ты с муравьями, выкладывайте сюда несложные, но жизненные сценарии (build.xml) для того, чтобы другие начали пробовать: повторять эти сценарии, дополнять их, учиться.
вот нашел статью, о том как можно работать с муравьиными скриптами прямо в IDE:
вот нашел статью, о том как можно работать с муравьиными скриптами прямо в IDE:
https://www.artlebedev.ru/tools/technogrette/soft/eclipse-ant/
а вы как запускаете АНТ: с консоли или в IDE?
Вот кстати хороший вопрос!!! Как раз для меня сегодня актуальный.
В MavensMate сегодня нечаянно нажал CTRL+B (вместо CTRL+V) и у меня открылась снизу консоль Sublime и попер выполняться ant скрипт. Что за мистика? Откуда ноги растут? Кто знает?
Вот кстати хороший вопрос!!! Как раз для меня сегодня актуальный.
В MavensMate сегодня нечаянно нажал CTRL+B (вместо CTRL+V) и у меня открылась снизу консоль Sublime и попер выполняться ant скрипт.
Что за мистика? Откуда ноги растут? Кто знает?
а вы как запускаете АНТ: с консоли или в IDE?
Использую Gradle, пишу скрипты, дебажу и запускаю в IDEA.
в одном managed package есть пара несложных объектов, которые хочу "взять за основу" при создании своих собственных объектов.
Хорошо бы их просто скопировать как метадату, чтобы не делать это в ручную.
попробовал выгрузить объекты через Эклипсе - их нет в перечне метадаты.
попробовал выгрузть объекты через Ант - выгрузились объекты...
осталось только перебить ВИН номе... АПИ имена и все.
не хорошо как-то. так сделаешь приложение, а его потом просто откопируют...
но то, что изучения Муравьишки приносит пользу - это, конечно, хорошо.
не хорошо как-то. так сделаешь приложение, а его потом просто откопируют...
ну кроме объектов больше ничего не "откопируют" если у тебя managed package. А структура базы данных я думаю не такой уж страшный секрет.
[quote="Den Brown"]не хорошо как-то. так сделаешь приложение, а его потом просто откопируют...[/quote]
ну кроме объектов больше ничего не "откопируют" если у тебя managed package. А структура базы данных я думаю не такой уж страшный секрет.
ну кроме объектов больше ничего не "откопируют" если у тебя managed package. А структура базы данных я думаю не такой уж страшный секрет.
[quote="Dmitry Shnyrev"]ну кроме объектов больше ничего не "откопируют" если у тебя managed package. А структура базы данных я думаю не такой уж страшный секрет.[/quote]
Её тоже можно защитить
ну кроме объектов больше ничего не "откопируют" если у тебя managed package. А структура базы данных я думаю не такой уж страшный секрет.
Её тоже можно защитить
А можно поинтересоваться, что означает защитить структуру, и как ето будет виглядеть?
[quote="Gres"][quote="Dmitry Shnyrev"]ну кроме объектов больше ничего не "откопируют" если у тебя managed package. А структура базы данных я думаю не такой уж страшный секрет.[/quote]
Её тоже можно защитить[/quote]
А можно поинтересоваться, что означает защитить структуру, и как ето будет виглядеть?
А можно поинтересоваться, что означает защитить структуру, и как ето будет виглядеть?
Кастом сеттинги нужно днлать приват. Вместо страниц делать компоненты. Может еще чего уже и не помню.
[quote="Alex Tsitsura"]А можно поинтересоваться, что означает защитить структуру, и как ето будет виглядеть?[/quote]
Кастом сеттинги нужно днлать приват. Вместо страниц делать компоненты. Может еще чего уже и не помню.
ну кроме объектов больше ничего не "откопируют" если у тебя managed package. А структура базы данных я думаю не такой уж страшный секрет.
Её тоже можно защитить
Как можно "защитить" структуру базы данных (объекты)? Сам занимался реверс инежнерингом пакета по объектам для дальнейшей интеграции на уровне триггеров, потому что не имел доступа к коду в пакете. Все отлично разбирается.
[quote="Gres"][quote="Dmitry Shnyrev"]ну кроме объектов больше ничего не "откопируют" если у тебя managed package. А структура базы данных я думаю не такой уж страшный секрет.[/quote]
Её тоже можно защитить[/quote]
Как можно "защитить" структуру базы данных (объекты)?
Сам занимался реверс инежнерингом пакета по объектам для дальнейшей интеграции на уровне триггеров, потому что не имел доступа к коду в пакете. Все отлично разбирается.
ну кроме объектов больше ничего не "откопируют" если у тебя managed package. А структура базы данных я думаю не такой уж страшный секрет.
Её тоже можно защитить
Как можно "защитить" структуру базы данных (объекты)? Сам занимался реверс инежнерингом пакета по объектам для дальнейшей интеграции на уровне триггеров, потому что не имел доступа к коду в пакете. Все отлично разбирается.
Wilder, как всегда абсолютно прав, объекты тоже можно сделать приватными.
[quote="Dmitry Shnyrev"][quote="Gres"][quote="Dmitry Shnyrev"]ну кроме объектов больше ничего не "откопируют" если у тебя managed package. А структура базы данных я думаю не такой уж страшный секрет.[/quote]
Её тоже можно защитить[/quote]
Как можно "защитить" структуру базы данных (объекты)?
Сам занимался реверс инежнерингом пакета по объектам для дальнейшей интеграции на уровне триггеров, потому что не имел доступа к коду в пакете. Все отлично разбирается.[/quote]
Wilder, как всегда абсолютно прав, объекты тоже можно сделать приватными.
Wilder, как всегда абсолютно прав, объекты тоже можно сделать приватными.
[quote="Gres"]Wilder, как всегда абсолютно прав, объекты тоже можно сделать приватными.[/quote]
Возможно я что-то пропустил, но приватными можно сделать custom settings, а custom objects нет. Или я не правильно понял?
Возможно я что-то пропустил, но приватными можно сделать custom settings, а custom objects нет. Или я не правильно понял?
[quote="Alex Tsitsura"]Возможно я что-то пропустил, но приватными можно сделать custom settings, а custom objects нет. Или я не правильно понял? [/quote]
Custom objects тоже можно
Возможно я что-то пропустил, но приватными можно сделать custom settings, а custom objects нет. Или я не правильно понял?
Custom objects тоже можно
Сорь за нубськый вопрос, но как можно custom object сделать приавтным?
Вот в метадате CustomбObject есть только customSettingsVisibility, но ето только когда компонента представляет custom setting.
Но что нужно указать и где чтоб сделать приватным custom object?
[quote="Gres"][quote="Alex Tsitsura"]Возможно я что-то пропустил, но приватными можно сделать custom settings, а custom objects нет. Или я не правильно понял? [/quote]
Custom objects тоже можно[/quote]
Сорь за нубськый вопрос, но как можно custom object сделать приавтным?
Вот в метадате [url=http://www.salesforce.com/us/developer/docs/api_meta/Content/customobject.htm]CustomбObject[/url] есть только customSettingsVisibility, но ето только когда компонента представляет custom setting.
Но что нужно указать и где чтоб сделать приватным custom object?