Как подружить проект с JS?

Есть проект, где регистрируется компания и заводит своих сотрудников/клиентов. А те в свою очередь заполняют разные таблицы или совершают другие действия. Сейчас реализован некоторый базовый функционал, с помощью которого компания может сформировать отчеты или получать уведомления.
Но этого не достаточно, надо дать компаниям возможность создавать свою логику поверх текущей.
Например: сейчас при создании задачи, сотруднику отправляется уведомление на email. А вдруг эта задача очень важная и нужно отправить еще смс-уведомление.
Соответственно возникла идея реализовать доп.функционал в виде js-сценариев. Т.е. они пишут js-код, и этот код работает так, будто написан он нами на серверном языке.
В связи с этим вопрос:
1. в какую сторону копать?
2. решал ли кто-то похожую задачу и с чем пришлось столкнуться?

P.S.
Все данные в БД хранятся в виде событий. Любые ваши действия, вплоть до нажатия кнопки на определенной странице, это событие, которая будет сохранена в нашей БД. Поэтому имея список событий и такой инструмент, компании смогут реализовать такую логику, до которого мы бы просто не додумались или подсчитали не нужным. Так же мы не будем засорять проект логикой, которую можно будет писать в виде js-сценариев.
  • Вопрос задан
  • 2561 просмотр
Пригласить эксперта
Ответы на вопрос 2
jakulov
@jakulov
Знаю людей, которые реализовывали такую задачу, теперь у нас есть 1C

Вообще, как Вы представляете отправку СМС через javascript сценарий?

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

Т.е. тупо создаете свою js-библиотеку с набором функционала (API), отвечающего предметной области. А пользователи уже вызывают эти методы и делают что-то.
Реализовать подобное можно, к примеру, на node.js, при этом ограничить пользовательские скрипты своеобразной песочницей (например, разрешать выполнение только методов API и не более).
Ответ написан
Комментировать
@AigizK Автор вопроса
Согласен с тем, что надо создать свою библиотеку. А отправить смс можно Get-запросом(например такая возможность есть у smsc). Меня больше интересует то, как мы должны на сервере обрабатывать всё это.
Т.е. хочется чтоб пользователь мог написать на чистом js+используя нашу библиотеку некий код, а на сервере мы должны выполнить этот код. Идея с Node.js интересная, но у меня вся реализация на C#/ASP.NET MVC, не очень хочется только ради этого туда еще node.js подключать.

По поводу безопасности, у каждый компании будет своя база, и доступ к нему будет ReadOnly.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы