gifts2017

Автоменю (стартер программ)

Опубликовал Эдуард Аскадуллин (AERoport) в раздел Администрирование - Стартеры 1С

Целью разработки программы является упрощение (унификация) администрирования  в решении следующей задачи:
Автоматическое построение списка приложений для конечных пользователей (Автоменю). Программа проверяет доступность приложения, если приложение недоступно-соответствующий пункт меню не появляется. Умеет работать с переменными среды (%programfies%, %username% и др.)
Текущая версия 1.2.8.2 от 18.07.2013 г.

Программа написана по мотивам "StartPlus - стартер 1С всех версий и других программ" (http://infostart.ru/public/86205/).
АЛГОРИТМ:
1. Программа периодически (задается в настройках) перезагружает (обновляет) меню, например из общей сетевой папки.
2. При построении списка программ (меню) проверяется доступность каждого пункта меню. Если файл запуска недоступен (а это можно ограничить сетевыми правами), то данный пункт меню у пользователя не появляется. Есть возможность задать дополнительный путь проверки. Например это нужно когда запускной файл 1С один и тот же, а баз несколько, тогда путь к базам задаем в этом дополнительном пути.
3. Программа сворачивается в трей. При попытке закрыть - также сворачивается в трей.
4. При запуске программы проверяется, не запущена ли она уже (чтоб не запускать несколько копий).
5. Возможность удобного интерактивного редактирования списка , а не ручное редактирование текстового файла.

02.10.2011 Релиз 1.1.6.1.
В пунктах меню теперь можно использовать переменные среды, например %programfies%, %username% и др.

13.10.2011 Релиз 1.1.7.1
Теперь при запуске пункта меню-программа сворачивается.
Подправлен скрипт запуска st.cmd для случая, когда системный диск не c:, а другой.

11.09.2012 Релиз 1.1.8.2
1.Изменен формат хранения файла меню (start.txt) на более понятный ini-формат (menu.ini). Возможна конвертация.

13.09.2012 Релиз 1.2.2.1 (Отделение конфигуратора, "Живое" меню. )
1.Программа разделена на два модуля:automenu - клиентская часть, automennu_config - конфигуратор меню.
Думаю решение правильное, теперь клиенту недоступно настройка полного меню. По соображениям безопасности - в будущем можно будет шифровать файл меню.
2.Клиентская часть сделана более дружественной  - структура меню -"живая" - откликается на движение мыши. Запуск конечных (нераскрываемых пунктов) возможен по одиночному нажатию мыши.
3.Расширены настройки: а)можно задавать интервал автоматического обновления в минутах, раньше был жестко заданный -10 минут. б) можно указать свой файл иконки программы. Ранее был жестко заданный  -"желтый колобок".
ПРИМЕЧАНИЕ.
Это бета версия, но можно использовать одновременно и предыдущий релиз 1.1.8.2 (так как файлы меню совместимы). Конфигуратор позволяет загрузить старый формат файла меню (start.txt) и сохранить в новом (ini-формат).

17.09.2012 Релиз 1.2.2.4 (Исправление ошибок 1.2.1.1)
Исправлены мелкие ошибки.

03.06.2013 Обновление до 1.2.6.1
Это  -  исправление ошибок утечки памяти. Нового пока ничего нет, просто "причесанная" стабильная версия.

04.07.2013 Релиз 1.2.7.2
Реализованы дополнительные настройки: вкл./выкл. отображения имен пользователя и компьютера, текущего времени, снятие блокировки от закрытия программы. Модернизирован конфигуратор, теперь более понятный и красивый. В конфигураторе реализован Drag&Drop, т.е. редактирование перетаскиванием.

18.07.2013 Релиз 1.2.8.2
Реализована работа с группами Active Directory, а именно: теперь для каждого пункта меню можно указать группу пользователей ActiveDirectory, для которой этот пункт будет отображаться.

Скачать файлы

Наименование Файл Версия Размер
AUTOMENU_1.2.8.2 20
.ZIP 523,30Kb
18.07.13
20
.ZIP 523,30Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
0. Эдуард Аскадуллин (AERoport) 22.09.11 16:38
Целью разработки программы является упрощение (унификация) администрирования в решении следующей задачи:
Автоматическое построение списка приложений для конечных пользователей (Автоменю). Программа проверяет доступность приложения, если приложение недоступно-соответствующий пункт меню не появляется. Умеет работать с переменными среды (%programfies%, %username% и др.)
Текущая версия 1.2.8.2 от 18.07.2013 г.

Перейти к публикации

1. Алексей Плутенко (Noy) 22.09.11 18:25
Ну не знаю... привык уже давно просто папку с ярлыками и файлами привязывать как панель инструментов на панель задач справа возле часиков. Все штатно и функционал практически такой-же, а в чем-то даже и лучше
2. Эдуард Аскадуллин (AERoport) 23.09.11 09:07
Отличия от панели инструментов с ярлыками:
1. Каждому пользователю отображается но полное меню, а только то, что ему доступно.
2. На панели инструментов вложенное меню откроется как отдельная папка.
ВОПРОС. Как можно всем пользователям домена подвязать панель инструментов ?
3. Алексей Плутенко (Noy) 23.09.11 11:27
(2) я не про пользователей, а про себя любимого ;)
а вложеное меню открывается не как папка - попробуйте сами
4. Эдуард Аскадуллин (AERoport) 23.09.11 13:04
"Для себя", конечно, удобнее ярлыками.
Назначение программы: построение меню для сетевых пользователей.
5. J G (JRG) 28.09.11 17:02
рабочий стол для 1с 8.1 надо у кого есть?
6. Эдуард Аскадуллин (AERoport) 29.09.11 08:11
JPG. Не понял Вашего вопроса.
7. Павел Хорев (w22u) 29.09.11 21:12
Давно собираю похожий софт, для некоторых, похожих задач отлично подходят программы для создания Autorun меню для CD DVD дисков. Для удобной работы с текстовым файлом, хранящим список меню неплохо бы иметь обработку для его заполнения и проверки корректности путей.
зы
Нужен пример содержимого start.txt
почему-то встроенный редактор с пустым файлом работать не желает, постоянно просит выбрать узел.
8. Эдуард Аскадуллин (AERoport) 02.10.11 12:47
w22u. Спасибо за комментарий. Действительно с пустым меню программа стартует, но не дает редактировать меню.
Сегодня будет выпущена доработанная версия программы, в которую кроме этого войдут новые возможности.
9. Павел Хорев (w22u) 03.10.11 08:31
(8) AERoport,
Попробую в работе Вашу программку, с переменными это хорошо придумано. У меня стоят две системы и возможно, попробую одним файлом с меню обойтись.
10. Павел Хорев (w22u) 03.10.11 20:37
(8) AERoport,
До сих пор не понял физики работы с настройками программы, что бы я не прописывал в файле start.ini у меня приложение Automenu.exe считывает файлы только из C:\start.txt
11. Павел Хорев (w22u) 03.10.11 20:53
(8) AERoport,
Ещё, зачем уведомлять "Приложение уже запущено!" может я горячие клавиши на это приложение хочу приделать? Лучше бы было, чтобы вместо этого сообщения происходил переход в это приложение.
12. Павел Хорев (w22u) 03.10.11 21:22
Приложение очень нужное.
Заметил, что при повторном запуске приложения она честно предупреждает, что "Unable to assign Alt-Shift-F9 as hotkey", но в трее оставляет ещё одну свою иконку. Внимательным пользователям это не страшно, а для забывчивых как я уже критично )))

ps
извиняюсь, хотел ответить вот сюда: http://forum.infostart.ru/forum24/topic32009/message463837/?result=reply#message463837
13. Эдуард Аскадуллин (AERoport) 06.10.11 10:50
Если start.txt находится в одной папке то нужно указывать "точку"
menuPath=.
14. Павел Хорев (w22u) 09.10.11 18:55
(13) AERoport,
Программа Automenu.exe читает при запуске файл, находящийся в одной с ним директории: start.ini (если его переименовать, то ругается программа). Но чтобы в него не записали, информация о содержимом меню всегда берётся из файла C:\start.txt
"menuPath=." - эта строчка тоже не помогает.
15. Alexander Nick (nickkey) 11.10.11 07:13
Хорошая программа удобный стартер для сетевых пользователей которые работают в терминалах прописал в автозагрузку и у пользователей ничего лишнего только то что им положено запускать спасибо автору и творческих успехов :))
16. Эдуард Аскадуллин (AERoport) 11.10.11 22:08
w22u. Спасибо за замечание, был немного занят эти дни, в ближайшие дни проверю ваши замечания.
nickkey. Спасибо за поддержку, программа обязательно будет развиваться. какие будут пожелания ?
17. Эдуард Аскадуллин (AERoport) 12.10.11 22:45
Документация от 13.10.2011

СОСТАВ.
Automenu.exe - сама программа Автоменю.
start.ini - файл параметров
start.txt - содержимое автоменю
st.cmd - пример запускного скрипта
ico - папка для ico-файлов. Используется для "своих" иконок и ускорения обновления.
ico\стандарт.ico - иконка по умолчанию!!!

УСТАНОВКА.
1. Копируем все файлы в сетевую папку, доступную "только для чтения" обычным пользователям.
2. в start.ini прописываем путь к сетевой папке с меню без слэша, например, "s:\start".

МЕТОДЫ запуска:
Первый. Запуск Automenu.exe
ПЛЮСЫ: Простой. МИНУСЫ:Постоянно открытый *.exe на сервере.
Второй. Запуск *.cmd, который копирует *.exe на "локалку" и запускает уже оттуда.
ПЛЮСЫ: Нет постоянно открытого *.exe на сервере. Минусы: требует продуманного скрипта запуска.

В любом варианте методами GPO (Групповой политики домена)
или вручную даем всем пользователям ярлык на Automenu.exe или st.cmd соответственно.

ПРИНЦИП РАБОТЫ
1.В папке запуска (exe) ищется start.ini, параметр [main]/MenuPath - это путь к меню.
Если параметр не найден, то предпологается папка запуска программы.
2.Читаем файл меню start.txt
3.Фильтруем недоступные по основному пути запуска пункты (убираем),
Если указан дополнительный пункт путь проверки, то проверяем его тоже.
4.Чистим пустые группы(папки) в меню.
5.Грузим иконки. Если есть соответствующий \ico\*.ico, то читаем его (быстрее),
иначе вытаскиваем иконку из запускаемого файла (дольше).

РЕЖИМ НАСТРОЙКИ
Режим настройки (администратора) включается по маленькой кнопочке возле диаграмы загрузки.
Здесь появляются кнопочки управления, думаю все понятно.
В форме редактирования пункта меню:
1."Пункт меню": собственно само название пункта
2."Имя файла" - что запускаем, может быть любым файлом или папкой (*.exe, *doc, *.mp3, папка).
3."Параметры запуска" - параметры, применяются к исполняемым файлам.
4."Путь проверки (опц.)" - путь дополнительнйо проверки.
Например,
1."Пункт меню":Касса
2."Имя файла":\\Server\1Cv77\bin\1cv7.exe,
3."Параметры запуска":enterprise /D\\Server\1C_Db\ /N%USERNAME%,
4."Путь проверки (опц.)":\\Server\1C_Db\,
так как файл запуска "\\Server\1Cv77\bin\1cv7.exe" может быть общим для несколькиз баз,
то доступность нужно проверять по пути к конкретной базе(\\Server\1C_Db\).
18. Эдуард Аскадуллин (AERoport) 12.10.11 22:45
ВОЗМОЖНЫЕ ПУТИ РАЗВИТИЯ ПРОГРАММЫ (TO DO ?)
1.Drag and Drop при редактировании меню:
а) Пункты меню между собой,
б) Перетаскивание внешних файлов (ярлыков).
2.Использовать другой формат для файла меню start.txt, например JSON или ini.
3.Необходимость шифрования файла start.txt ?
(элемент безопасности, так как доступен на чтение всем, даже с "закрытыми" пунктами меню.)
4.Файл дополнительных настроек в сетевой папке, например частота обновления (сейчас строго -10 минут);
сворачивание программы после запуска пункта меню; что-то еще...
5.Автозапуск указанных пунктов меню при старте программы? Возможно, что лучше сделать под каждого пользователя индивидуально ?
6.Принудительное закрытие запущенного пункта меню по команде администратора (насколько корректно получится ?)
7.Расписание (кукушка на перерыв и т.д. и т.п.)
8.Привязка некоторого функционала чата (например программы unichat) или интеграция?
19. Эдуард Аскадуллин (AERoport) 20.10.11 22:53
Имеется обновленный релиз. Основное добавление - отображение имени пользователя и компьютера. (Бывает необходимо, когда пользователь звонит по телефону администратору(HELP-DESK) и не может сообщить имя компьютера). Пока не выложено, так как ожидаются еще добавления в программу. Но если кому срочно нужно, обращайтесь.
20. Виктор - (winsloow) 09.11.11 14:19
Для windows 2008 R2 в терминале + конечно AD рабочий стол настрайвается как угодно
если немного покрутить групповые политики и разрешения
Лично мое мнение это и проще в администровании и пользователи меньше вопросов задают
21. Эдуард Аскадуллин (AERoport) 09.11.11 15:56
(20) winsloow, Не пробовал. Терминалки 2008 R2 нет к сожалению. Терминалки -это само по себе отдельная хорошая песня. А если в ней есть такая возможность, то я очень рад, что MS понимает потребности сисадминов. Спасибо за информацию. При возможности попробуем -сравним. Инструкцией по "покрутить групповые политики и разрешения " поделитесь ?
22. Виктор - (winsloow) 13.11.11 18:48
Групповые политики очень гибкий инструмент настройки для сети
очень много нюансов если есть конкретные вопросы пишите в личку
постараюсь помочь
23. Павел Хорев (w22u) 20.11.11 20:44
(19) AERoport, можно прислать на w2u@sinn.ru версию с отображением имени пользователя и компьютера?
24. Александр Ф (leon111) 16.01.12 10:54
25. Эдуард Аскадуллин (AERoport) 17.01.12 16:06
Готовится новая версия программы. Прошу вносить предложения.
26. stark temp (stark.temp) 19.01.12 12:46
Хорошая программа удобный стартер для сетевых пользователей которые работают в терминалах прописал в автозагрузку и у пользователей ничего лишнего только то что им положено запускать спасибо автору и творческих успехов :))
AERoport; +1 Ответить
27. Эдуард Аскадуллин (AERoport) 08.09.12 23:03
В готовящемся релизе:
1)Формат файла меню изменен на более понятный ini-формат.
2)Исправлена ошибка утечки памяти
3)Имя пользователя и компьютера выделены цветом.
Планируется:
1)Добавить отбор приложений по принадлежности пользователя к группе ActiveDirectory.
2)Расширить возможности настройки программы.
3)Для обновления задействовать отдельный поток.

Пожалуйста, еще пожелания к новой версии.
28. Антон Лапот (kievanton) 12.09.12 12:19
Спасибо! Когда-то давно была аналогичная программа Starter1C, но она куда-то исчезла из интернетов. Давно искал такую!
29. Эдуард Аскадуллин (AERoport) 12.09.12 15:28
(28) kievanton, "спасибо" можете в плюс(+) положить.
30. Эдуард Аскадуллин (AERoport) 16.09.12 22:52
Что-то молчание про "живое" меню - может зря ?
31. Эдуард Аскадуллин (AERoport) 19.09.12 16:06
Вышла 1.2.2.4 Исправлены мелкие ошибки 1.2.1.1. Конфигуратор пока остался старой версии. Он вполне работоспособен.
32. Павел Хорев (w22u) 19.09.12 19:32
(31) AERoport, в связи с тем, что у программы появился свой конфигуратор, предложу включить возможность автоматического запуска программ указанных в настройках при запуске и выходе из этого меню. Сделать доп. разделы для этого в ini файле. Зачем это нужно? К примеру логировать как часто пользователь заходит на терминальный сервер, и как редко из него выходит ))) А ещё что бы командный файл не загромождать лишней информацией.
Или ещё если при каждом запуске программы синхронизировать из какой-то расшаренной в сети папки иконки (локально расположенные на компьютере пользователя), то удобно будет добавлять новые разделы с этими новыми иконками.
Если при запуске проанализировать файл меню и сгруппировать сетевые ресурсы используемые в ярлыках, то проверив доступность хоста можно исключить дальнейшие проверки используемых на нём ресурсов, и как следствие ускорение прорисовки меню. Сейчас запуск программы с приложенным примером menu.ini занял 10 сек. видимо программа ждала что сетевые ресурсы всё-таки будут доступны. В итоге доступными оказались два пункта блокнот и калькулятор, а где в меню ссылка на эту страницу с публикацией, правильно, там где и положено в разделе о программе, но не кликабельна и не копируема.
33. Эдуард Аскадуллин (AERoport) 20.09.12 09:31
(32) w22u. Спасибо за активность.
Если правильно понял,то:
1)Сделать возможность автозапуска для пунктов меню при старте Automenu.exe. Правильно ?
2)Вот по иконкам не совсем понял, что нужно. Копировать *.ico в локальную папку, чтобы потом использовать их ?
Если так, то копировать в какой момент - в момент запуска программы?, а потом при динамическом обновлении нужно копировать? Или что-то другое имелось ввиду ?
Вообще работу с иконками нужно дорабатывать, на данный момент она мне самому не нравится:
а)нужна поддержка иконок большего разрешения,
б)нужно выбор/редактирование иконки при редактировании пункта меню.
3)Про доступность хоста я думал, логически здесь может быть много подводных камней. Если дело в скорости загрузки меню, то планировалось использовать отдельный программный поток для этого, чтобы интерфейс не "притормаживать" на время загрузки/обновления. Но проверка хоста тоже не помешает, в целом согласен, попробуем сделать проверку хоста.
4) Ссылку на страницу сделаю.

Жду ответов.
34. Эдуард Аскадуллин (AERoport) 20.09.12 20:12
Пункт 1)Автозапуск и 4)Ссылка на сайт
сделаны в очередном релизе. Пока не выкладываю - тестируется.
35. Павел Хорев (w22u) 20.09.12 20:19
(34) AERoport, установил программу для оповещения пользователей о смене режима работы учётной программы, изменяю иконку главного меню в каталоге и изменил интервал опроса на 5 минут, теперь пользователи могут понять кой режим установлен в данный момент. Что бы собрать такую коллекцию программ, наверное много времени нужно?
36. Эдуард Аскадуллин (AERoport) 20.09.12 21:16
(35) w22u,
[ Что бы собрать такую коллекцию программ, наверное много времени нужно? ]
Извините, не понял. Это Вы про мое меню имеете ввиду или это относится к смене режима, иконок и интервала на 5 минут ?
37. Павел Хорев (w22u) 20.09.12 21:54
(36) AERoport, ну да я имел ввиду коллекцию программ в Вашем меню. Собственное меню придётся внимательно собирать, чтобы административные утилиты не попали в меню рядовым пользователям.
38. Эдуард Аскадуллин (AERoport) 01.10.12 15:35
Автозапуск пунктов меню сделан.
Идет работа над удобством работы с иконками для пунктов меню.
Как завершу, будет новый релиз.
39. Эдуард Аскадуллин (AERoport) 01.10.12 15:38
(37) w22u, Административные утилиты, например, тот же автоменю-конфигуратор прячется с помощью обычного разграничения прав пользователей к ресурсам. Я делаю так.
40. Эдуард Аскадуллин (AERoport) 05.10.12 15:27
Для выуживания/редактирования иконок пользуюсь GreenFish Icon Editor Pro.
К сожалению, официальный сайт не нашел.
На http://download.cnet.com/windows/greenfish/3260-20_4-6300794.html?tag=rb_content;contentBody
ссылка на официальный сайт http://greenfish.extra.hu/ , к сожалению домен закрыт. Может уже и разработчики пропали.
Ссылка на CNET для скачивания: http://download.cnet.com/Greenfish-Icon-Editor-Pro/3000-2193_4-10773415.html
41. Lika Ivanova (Lik2707) 13.06.13 06:29
Нет предела совершенству (С) (чьё-то)
42. Екатерина Игоревна (Alekta) 27.06.13 16:13
Спасибо за программу. Весьма полезная вещь, и очень бы многим пригодилась. Хотя, на мой взгляд, не совсем удобная для юзабилити пользователя и не универсальная(отображение имени пользователя, ПК, времени и т.д.) Постоянно активное клиентское окно совсем ни к чему, почему бы просто не сделать обновление списка при запуске приложения.
На чем писали, если не секрет?))
43. Эдуард Аскадуллин (AERoport) 28.06.13 09:40
(42) Alekta, спасибо за отклик
1) "Отображение имени пользователи и компьютера" - это удобно для администратора сети, когда к нему обращается пользователь по телефону, например. Было сделано для этого. Отображение времени - опция, могу отключить. А Вы как программу используете ?
2) "Постоянное активное окно" - это Вы имеете ввиду, что оно не закрывается, а сворачивается в трей? Если об этом речь, то это было сделано, чтобы пользователь случайно(для кого-то специально) не закрыл программу, а потом искал как ее запустить. Собственно, а как Вам нужно ?
3) Написана на Delphi.
Мне стало интересно как Вы ее используете ?
По тем вопросам, что Вы задали (отображение имен пользователя и компьютера, времени, сворачивать или закрывать) я мог бы вынести это в параметры в файл настройки, т.е. добавить универсальности.
Спасибо.
44. Екатерина Игоревна (Alekta) 28.06.13 10:40
(43) AERoport,
Я бы очень хотела использовать вашу программу, но при детальном рассмотрение, к сожалению, пока она не очень подходит.
1. Если дать возможность включать/отключать отображение доп. функционала(пользователя, компьютера, времени) в конфигураторе, это было бы очень хорошо. У нас, как и у многих, используются терминальный сервер, и данная информация совсем не нужна. А вот для нескольких терминальных серверов может быть актуальна.
2. Возможность закрытия клиентского окна тоже должна быть, т.к. его иначе чем через Task Manager не снять. Обычному пользователю привычней запускать приложение с рабочего стола, да и если он в течении дня работает только с 1 базой, смысл приложению висеть активным целый день.
3. И совсем бы было замечательно, чтобы была привязка к группам в AD. Сейчас, если я правильно понимаю, можно реализовать эту схему через доступ к каким-то файлам на диске для определенных групп пользователей в AD. Но будет ли в этом случае корректно осуществляться проверка доступности пунктов меню, т.к. доступ к файлу дается группе в целом, а не конкретному пользователю?
45. Эдуард Аскадуллин (AERoport) 28.06.13 11:01
(44) Alekta,
п.1 взят на реализацию
п.2 взят на реализацию
п.3 привязка к группам AD прорабатываем, там есть ньюансы.
По поводу "привязки к файлам" все работает. Например у нас Клиент-серверная 1С, сделали папку на сервере, разместили в ней файл (например, dirinfo) дали сетевые права только группе AD "УПП" на эту папку для чтения. В конфигураторе Автоменю прописали дополнительный пункт проверки к этому файлу. Теперь если пользователю нужно 1С.УПП, просто включаем его в группу AD "УПП".
46. Екатерина Игоревна (Alekta) 28.06.13 15:57
47. Эдуард Аскадуллин (AERoport) 04.07.13 23:30
Запрошенные пункты реализованы в релизе 1.2.7.2.(Кроме групп ActiveDirectory). Дополнительно поработали над удобством в конфигураторе: внутреннее редактирование перетаскиванием(Drag&Drop), подсветка верности путей к файлам.
48. Эдуард Аскадуллин (AERoport) 24.07.13 07:28
(46) Alekta,
Реализовано в релизе 1.2.8.2 от 18.07.2013 г.
49. Leo Po (webresurs) 27.11.13 11:20
добавьте вывод по пользователям терминала(компьютера), т.е. отображать этот значок только пользователю определенному пользователю, а в конечном итоге выйти на вот Intro for Terminal

Задумка не плохая
50. Leo Po (webresurs) 30.11.13 19:49
Intro дорогая - все остальные не нравится и решил сам сделать, просто и со вкусом :-).
Как там говорят: Все гениальное просто и уже сделано, осталось только объединить!
Вот и объеденил - Замена окна Explorer (проводник, рабочий стол) в терминальном режиме в стиле METRO для запуска 1С в терминале