sf-loader
Лоадер позволяет производить манипуляции с базой данных salesforce. Взаимодействие осуществляется при помощи библиотеки jsforce https://jsforce.github.io/ Документация: https://jsforce.github.io/document/
Last updated 20 days ago by onpoint-dev .
ISC · Original npm · Tarball · package.json
$ cnpm install sf-loader -g
SYNC missed versions from official npm registry.

#Loder Лоадер позволяет производить манипуляции с базой данных salesforce. Взаимодействие осуществляется при помощи библиотеки jsforce https://jsforce.github.io/ Документация: https://jsforce.github.io/document/

#Структура


- loader
   ╞ data
     ╞ config.json - данные для создания презентаций (заполнение темплейтов)
     ╞ configsf.json - конфиг для доступа к песочнице, загрузки через ftp
     ╞ data.xls - данные для заполнения description и display order
   ╞ functions
     ╞ connect.js - авторизыцяи и подключения к БД песочницы
     ╞ createCTL.js - создание CTL-файлов (файл-сопровождения архивов) для загрузки по ftp
     ╞ find.js - запрос и получение полной информации по презентации для дальнейшей работы
     ╞ ftpDeploy.js - авторизация и отправка файлов (CTL и zip) на ftp-сервер
     ╞ getConfirm.js - подтверждение для операции удаления презентации
     ╞ getDirsTree.js - получение структуры папок презентаций (работа с файловой системой в `zip\`)
     ╞ getInputValue.js - работа с консольным вводом
     ╞ parseJson.js - парсинг `loader\data\data.xls` в json
     ╞ getProductId.js - получение id продукта из SalesForce
   ╞ modules
     ╞ createPres.js - создание структуры презентации
     ╞ deletePres.js - удаление структуры презентации
     ╞ deploy.js - отправка презентации на ftp-сервер
     ╞ description.js - заполнение description презентации
     ╞ displayOrder.js - изменение display-order слайдов презентации
     ╞ manifest.js - создание манифеста
     ╞ checkStructure.js -  сравнивает структуру презентации в SalesForce и в папке zip на наличие новых слайдов или удаленных слайдов
     ╞ changeStructure.js - (перед запуском желательно проверить правильность изменений модулем checkStructure) добавляет в SalesForce записи о недостающих слайдах (если есть), удаляет из SalesForce лишние слайды(те которых нет в папке zip, но есть в SalesForce)
   ╞ index.js - исполняемый файл
- manifests - папка с выгруженными манифестами
- zip - папка с собранными презентациями

#Работа с загрузчиком, основные положения

Инструмент 'Loader' используется для автоматизации процессов создания, удаления, загрузки презентаций в тестувую среду salesforce Структура презентации представляет собой взаимодействие следующих сущностей (записи в бд salesforce):

  • презентация
  • слайды
  • keymessages
  • shared-ресурс (keymessage с типом shared-resource)

###Основные моменты:

  • Контент слайдов прикрепляется как zip-архив к keymessages
  • Презентация изначально никак не связана с keymessages
  • Для их связи используются cсущности с типом 'slide'. В нем указываются айдишники презентации и keymessage
  • shared-ресурс возможно прикрепить к keymessages обычного типа (в нем рационально хранить конфиги, pdf, общие скрипты и стили для уменьшения объема zip-архивов слайдов сборки и отсутствия необходимость перезаливать всю презу)
  • shared-ресурс опционален и возможность работы с ним оговаривается при получени задания от менеджера.

В loader'е реализована данная схема:

  1. Получение id продукта под которым будет загружена презентация
  2. Создается презентация (берется ее id)
  3. Создается shared-ресурс (берется его id)
  4. Создаются keymessages с указанием id shared'a (берутся их id)
  5. Создаются слайды (используются id презентации и keymessages)

##В данном репозитории реализуется сборка и загрузка презентации с использование shared-ресурса ##Манифесты также генерятся только для презентаций с shared-ресурсом ####shared-ресурс прикрепляется к основным key-mesages

##Последовательность

Если презентация не создана (отсутствует в песочнице), то создаем ее (список през прилетает из папки 'zip', по сути это названия папок собранных презентаций)

При создании презы есть возможность указать продукт. Дефолтное значение указано в package.json -> "product". Проверяем создан ли продукт в тестовой среде

###ВАЖНО!!! если презентация уже создана, то создается дубляж презы и песочница засирается. Нужно найти все вхождения по подстроке и удалить их. После этого создать заново.

Если необходимо обновить структуру презентации, то сначала удаляем ее из песочницы с помощью loader, затем создаем заново loader'ом.

Если возникает ошибка, то при попытке удалить презу из песочницы, вероятнее всего не удален shared ресурс у презы (смотрим внимательно на логи).

####В этом случае, вручную удаляем ненужный shared из песочницы (через web-интерфейс salesforce). Так же на всякий случай смотрим удалены ли key-messages (ищем все вхождения через поиск в интерфейсе salesforce).

Слайды после этого удалять не нужно, нужно лишь вручную (web-интерфейс salesforce) удалить объект презентации. После этого создаем презу с помощью loadera

Deploy

Соответственно, последовательность действий следующая:

  1. Создаем презу
  2. Деплоим ее
  3. В случае необходимости обновляем display order. Конфиги хранятся в файле loader\data\data.xls.
  • Для добавления, создаем новую вкладку с именем презы, первая ячейка 'name', последующие в желаемом порядке слайдов. Важно не оставлять пустых строк.
  1. Descriptions. Тот же файл, вкладка descriptions
  2. При передаче презентаций клиенту неодходимо создавать манифесты - слепок-эксель из песочницы salesforce

#Check-list

  • [ ] Добавить возможность создания презентации без shared (реализовано в https://bitbucket.org/onpoint_dev/boehringer_pradaxa_praxbind_19_2).
  • [ ] Добавить возможность удаления презентации без shared (реализовано в https://bitbucket.org/onpoint_dev/boehringer_pradaxa_praxbind_19_2).
  • [ ] Добавить возможность выгрузки манифестов без shared (реализовано в https://bitbucket.org/onpoint_dev/boehringer_pradaxa_praxbind_19_2).
  • [ ] Ошибка при удалении презентации (shared). Добавить повторную попытку с указанием идентификаторов и ошибки
  • [_] Добавить возможность создания и удаления всех презентаций сразу на основе зипов.
  • [_] Добавить возможность менять структуру презентации без необходимости удаления презы и создания новой.

Current Tags

  • 3.0.25                                ...           latest (20 days ago)

25 Versions

  • 3.0.25                                ...           20 days ago
  • 3.0.24                                ...           20 days ago
  • 3.0.23                                ...           a month ago
  • 3.0.22                                ...           a month ago
  • 3.0.21                                ...           a month ago
  • 3.0.20                                ...           a month ago
  • 3.0.19                                ...           a month ago
  • 3.0.18                                ...           a month ago
  • 3.0.17                                ...           a month ago
  • 3.0.16                                ...           a month ago
  • 3.0.15                                ...           a month ago
  • 3.0.14                                ...           a month ago
  • 3.0.13                                ...           a month ago
  • 3.0.12                                ...           a month ago
  • 3.0.10                                ...           a month ago
  • 3.0.9                                ...           a month ago
  • 3.0.8                                ...           a month ago
  • 3.0.7                                ...           a month ago
  • 3.0.6                                ...           a month ago
  • 3.0.5                                ...           a month ago
  • 3.0.4                                ...           a month ago
  • 3.0.3                                ...           a month ago
  • 3.0.2                                ...           a month ago
  • 3.0.1                                ...           a month ago
  • 3.0.0                                ...           a month ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 273
Dependencies (7)
Dev Dependencies (15)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |