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



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

Программа написана по мотивам «StartPlus — стартер 1С всех версий и других программ» (//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, для которой этот пункт будет отображаться.

51 Comments

  1. AERoport

    Целью разработки программы является упрощение (унификация) администрирования в решении следующей задачи:

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

    Текущая версия 1.2.8.2 от 18.07.2013 г.

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

    Reply
  2. Noy

    Ну не знаю… привык уже давно просто папку с ярлыками и файлами привязывать как панель инструментов на панель задач справа возле часиков. Все штатно и функционал практически такой-же, а в чем-то даже и лучше

    Reply
  3. AERoport

    Отличия от панели инструментов с ярлыками:

    1. Каждому пользователю отображается но полное меню, а только то, что ему доступно.

    2. На панели инструментов вложенное меню откроется как отдельная папка.

    ВОПРОС. Как можно всем пользователям домена подвязать панель инструментов ?

    Reply
  4. Noy

    (2) я не про пользователей, а про себя любимого 😉

    а вложеное меню открывается не как папка — попробуйте сами

    Reply
  5. AERoport

    «Для себя», конечно, удобнее ярлыками.

    Назначение программы: построение меню для сетевых пользователей.

    Reply
  6. JRG

    рабочий стол для 1с 8.1 надо у кого есть?

    Reply
  7. AERoport

    JPG. Не понял Вашего вопроса.

    Reply
  8. w22u

    Давно собираю похожий софт, для некоторых, похожих задач отлично подходят программы для создания Autorun меню для CD DVD дисков. Для удобной работы с текстовым файлом, хранящим список меню неплохо бы иметь обработку для его заполнения и проверки корректности путей.

    зы

    Нужен пример содержимого start.txt

    почему-то встроенный редактор с пустым файлом работать не желает, постоянно просит выбрать узел.

    Reply
  9. AERoport

    w22u. Спасибо за комментарий. Действительно с пустым меню программа стартует, но не дает редактировать меню.

    Сегодня будет выпущена доработанная версия программы, в которую кроме этого войдут новые возможности.

    Reply
  10. w22u

    (8)

    Попробую в работе Вашу программку, с переменными это хорошо придумано. У меня стоят две системы и возможно, попробую одним файлом с меню обойтись.

    Reply
  11. w22u

    (8)

    До сих пор не понял физики работы с настройками программы, что бы я не прописывал в файле start.ini у меня приложение Automenu.exe считывает файлы только из C:start.txt

    Reply
  12. w22u

    (8)

    Ещё, зачем уведомлять «Приложение уже запущено!» может я горячие клавиши на это приложение хочу приделать? Лучше бы было, чтобы вместо этого сообщения происходил переход в это приложение.

    Reply
  13. w22u

    Приложение очень нужное.

    Заметил, что при повторном запуске приложения она честно предупреждает, что «Unable to assign Alt-Shift-F9 as hotkey», но в трее оставляет ещё одну свою иконку. Внимательным пользователям это не страшно, а для забывчивых как я уже критично )))

    ps

    извиняюсь, хотел ответить вот сюда: http://forum.infostart.ru/forum24/topic32009/message463837/?result=reply#message463837

    Reply
  14. AERoport

    Если start.txt находится в одной папке то нужно указывать «точку»

    menuPath=.

    Reply
  15. w22u

    (13)

    Программа Automenu.exe читает при запуске файл, находящийся в одной с ним директории: start.ini (если его переименовать, то ругается программа). Но чтобы в него не записали, информация о содержимом меню всегда берётся из файла C:start.txt

    «menuPath=.» — эта строчка тоже не помогает.

    Reply
  16. nickkey

    Хорошая программа удобный стартер для сетевых пользователей которые работают в терминалах прописал в автозагрузку и у пользователей ничего лишнего только то что им положено запускать спасибо автору и творческих успехов :))

    Reply
  17. AERoport

    w22u. Спасибо за замечание, был немного занят эти дни, в ближайшие дни проверю ваши замечания.

    nickkey. Спасибо за поддержку, программа обязательно будет развиваться. какие будут пожелания ?

    Reply
  18. AERoport

    Документация от 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.»Имя файла»:\Server1Cv77in1cv7.exe,

    3.»Параметры запуска»:enterprise /D\Server1C_Db /N%USERNAME%,

    4.»Путь проверки (опц.)»:\Server1C_Db,

    так как файл запуска «\Server1Cv77in1cv7.exe» может быть общим для несколькиз баз,

    то доступность нужно проверять по пути к конкретной базе(\Server1C_Db).

    Reply
  19. AERoport

    ВОЗМОЖНЫЕ ПУТИ РАЗВИТИЯ ПРОГРАММЫ (TO DO ?)

    1.Drag and Drop при редактировании меню:

    а) Пункты меню между собой,

    б) Перетаскивание внешних файлов (ярлыков).

    2.Использовать другой формат для файла меню start.txt, например JSON или ini.

    3.Необходимость шифрования файла start.txt ?

    (элемент безопасности, так как доступен на чтение всем, даже с «закрытыми» пунктами меню.)

    4.Файл дополнительных настроек в сетевой папке, например частота обновления (сейчас строго -10 минут);

    сворачивание программы после запуска пункта меню; что-то еще…

    5.Автозапуск указанных пунктов меню при старте программы? Возможно, что лучше сделать под каждого пользователя индивидуально ?

    6.Принудительное закрытие запущенного пункта меню по команде администратора (насколько корректно получится ?)

    7.Расписание (кукушка на перерыв и т.д. и т.п.)

    8.Привязка некоторого функционала чата (например программы unichat) или интеграция?

    Reply
  20. AERoport

    Имеется обновленный релиз. Основное добавление — отображение имени пользователя и компьютера. (Бывает необходимо, когда пользователь звонит по телефону администратору(HELP-DESK) и не может сообщить имя компьютера). Пока не выложено, так как ожидаются еще добавления в программу. Но если кому срочно нужно, обращайтесь.

    Reply
  21. winsloow

    Для windows 2008 R2 в терминале + конечно AD рабочий стол настрайвается как угодно

    если немного покрутить групповые политики и разрешения

    Лично мое мнение это и проще в администровании и пользователи меньше вопросов задают

    Reply
  22. AERoport

    (20) winsloow, Не пробовал. Терминалки 2008 R2 нет к сожалению. Терминалки -это само по себе отдельная хорошая песня. А если в ней есть такая возможность, то я очень рад, что MS понимает потребности сисадминов. Спасибо за информацию. При возможности попробуем -сравним. Инструкцией по «покрутить групповые политики и разрешения » поделитесь ?

    Reply
  23. winsloow

    Групповые политики очень гибкий инструмент настройки для сети

    очень много нюансов если есть конкретные вопросы пишите в личку

    постараюсь помочь

    Reply
  24. w22u

    (19) можно прислать на w2u@sinn.ru версию с отображением имени пользователя и компьютера?

    Reply
  25. leon111

    Спасибо за меню!

    Reply
  26. AERoport

    Готовится новая версия программы. Прошу вносить предложения.

    Reply
  27. stark.temp

    Хорошая программа удобный стартер для сетевых пользователей которые работают в терминалах прописал в автозагрузку и у пользователей ничего лишнего только то что им положено запускать спасибо автору и творческих успехов :))

    Reply
  28. AERoport

    В готовящемся релизе:

    1)Формат файла меню изменен на более понятный ini-формат.

    2)Исправлена ошибка утечки памяти

    3)Имя пользователя и компьютера выделены цветом.

    Планируется:

    1)Добавить отбор приложений по принадлежности пользователя к группе ActiveDirectory.

    2)Расширить возможности настройки программы.

    3)Для обновления задействовать отдельный поток.

    Пожалуйста, еще пожелания к новой версии.

    Reply
  29. kievanton

    Спасибо! Когда-то давно была аналогичная программа Starter1C, но она куда-то исчезла из интернетов. Давно искал такую!

    Reply
  30. AERoport

    (28) kievanton, «спасибо» можете в плюс(+) положить.

    Reply
  31. AERoport

    Что-то молчание про «живое» меню — может зря ?

    Reply
  32. AERoport

    Вышла 1.2.2.4 Исправлены мелкие ошибки 1.2.1.1. Конфигуратор пока остался старой версии. Он вполне работоспособен.

    Reply
  33. w22u

    (31) в связи с тем, что у программы появился свой конфигуратор, предложу включить возможность автоматического запуска программ указанных в настройках при запуске и выходе из этого меню. Сделать доп. разделы для этого в ini файле. Зачем это нужно? К примеру логировать как часто пользователь заходит на терминальный сервер, и как редко из него выходит ))) А ещё что бы командный файл не загромождать лишней информацией.

    Или ещё если при каждом запуске программы синхронизировать из какой-то расшаренной в сети папки иконки (локально расположенные на компьютере пользователя), то удобно будет добавлять новые разделы с этими новыми иконками.

    Если при запуске проанализировать файл меню и сгруппировать сетевые ресурсы используемые в ярлыках, то проверив доступность хоста можно исключить дальнейшие проверки используемых на нём ресурсов, и как следствие ускорение прорисовки меню. Сейчас запуск программы с приложенным примером menu.ini занял 10 сек. видимо программа ждала что сетевые ресурсы всё-таки будут доступны. В итоге доступными оказались два пункта блокнот и калькулятор, а где в меню ссылка на эту страницу с публикацией, правильно, там где и положено в разделе о программе, но не кликабельна и не копируема.

    Reply
  34. AERoport

    (32) w22u. Спасибо за активность.

    Если правильно понял,то:

    1)Сделать возможность автозапуска для пунктов меню при старте Automenu.exe. Правильно ?

    2)Вот по иконкам не совсем понял, что нужно. Копировать *.ico в локальную папку, чтобы потом использовать их ?

    Если так, то копировать в какой момент — в момент запуска программы?, а потом при динамическом обновлении нужно копировать? Или что-то другое имелось ввиду ?

    Вообще работу с иконками нужно дорабатывать, на данный момент она мне самому не нравится:

    а)нужна поддержка иконок большего разрешения,

    б)нужно выбор/редактирование иконки при редактировании пункта меню.

    3)Про доступность хоста я думал, логически здесь может быть много подводных камней. Если дело в скорости загрузки меню, то планировалось использовать отдельный программный поток для этого, чтобы интерфейс не «притормаживать» на время загрузки/обновления. Но проверка хоста тоже не помешает, в целом согласен, попробуем сделать проверку хоста.

    4) Ссылку на страницу сделаю.

    Жду ответов.

    Reply
  35. AERoport

    Пункт 1)Автозапуск и 4)Ссылка на сайт

    сделаны в очередном релизе. Пока не выкладываю — тестируется.

    Reply
  36. w22u

    (34) установил программу для оповещения пользователей о смене режима работы учётной программы, изменяю иконку главного меню в каталоге и изменил интервал опроса на 5 минут, теперь пользователи могут понять кой режим установлен в данный момент. Что бы собрать такую коллекцию программ, наверное много времени нужно?

    Reply
  37. AERoport

    (35) w22u,

    [ Что бы собрать такую коллекцию программ, наверное много времени нужно? ]

    Извините, не понял. Это Вы про мое меню имеете ввиду или это относится к смене режима, иконок и интервала на 5 минут ?

    Reply
  38. w22u

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

    Reply
  39. AERoport

    Автозапуск пунктов меню сделан.

    Идет работа над удобством работы с иконками для пунктов меню.

    Как завершу, будет новый релиз.

    Reply
  40. AERoport

    (37) w22u, Административные утилиты, например, тот же автоменю-конфигуратор прячется с помощью обычного разграничения прав пользователей к ресурсам. Я делаю так.

    Reply
  41. AERoport

    Для выуживания/редактирования иконок пользуюсь 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

    Reply
  42. Lik2707

    Нет предела совершенству (С) (чьё-то)

    Reply
  43. Alekta

    Спасибо за программу. Весьма полезная вещь, и очень бы многим пригодилась. Хотя, на мой взгляд, не совсем удобная для юзабилити пользователя и не универсальная(отображение имени пользователя, ПК, времени и т.д.) Постоянно активное клиентское окно совсем ни к чему, почему бы просто не сделать обновление списка при запуске приложения.

    На чем писали, если не секрет?))

    Reply
  44. AERoport

    (42) Alekta, спасибо за отклик

    1) «Отображение имени пользователи и компьютера» — это удобно для администратора сети, когда к нему обращается пользователь по телефону, например. Было сделано для этого. Отображение времени — опция, могу отключить. А Вы как программу используете ?

    2) «Постоянное активное окно» — это Вы имеете ввиду, что оно не закрывается, а сворачивается в трей? Если об этом речь, то это было сделано, чтобы пользователь случайно(для кого-то специально) не закрыл программу, а потом искал как ее запустить. Собственно, а как Вам нужно ?

    3) Написана на Delphi.

    Мне стало интересно как Вы ее используете ?

    По тем вопросам, что Вы задали (отображение имен пользователя и компьютера, времени, сворачивать или закрывать) я мог бы вынести это в параметры в файл настройки, т.е. добавить универсальности.

    Спасибо.

    Reply
  45. Alekta

    (43)

    Я бы очень хотела использовать вашу программу, но при детальном рассмотрение, к сожалению, пока она не очень подходит.

    1. Если дать возможность включать/отключать отображение доп. функционала(пользователя, компьютера, времени) в конфигураторе, это было бы очень хорошо. У нас, как и у многих, используются терминальный сервер, и данная информация совсем не нужна. А вот для нескольких терминальных серверов может быть актуальна.

    2. Возможность закрытия клиентского окна тоже должна быть, т.к. его иначе чем через Task Manager не снять. Обычному пользователю привычней запускать приложение с рабочего стола, да и если он в течении дня работает только с 1 базой, смысл приложению висеть активным целый день.

    3. И совсем бы было замечательно, чтобы была привязка к группам в AD. Сейчас, если я правильно понимаю, можно реализовать эту схему через доступ к каким-то файлам на диске для определенных групп пользователей в AD. Но будет ли в этом случае корректно осуществляться проверка доступности пунктов меню, т.к. доступ к файлу дается группе в целом, а не конкретному пользователю?

    Reply
  46. AERoport

    (44) Alekta,

    п.1 взят на реализацию

    п.2 взят на реализацию

    п.3 привязка к группам AD прорабатываем, там есть ньюансы.

    По поводу «привязки к файлам» все работает. Например у нас Клиент-серверная 1С, сделали папку на сервере, разместили в ней файл (например, dirinfo) дали сетевые права только группе AD «УПП» на эту папку для чтения. В конфигураторе Автоменю прописали дополнительный пункт проверки к этому файлу. Теперь если пользователю нужно 1С.УПП, просто включаем его в группу AD «УПП».

    Reply
  47. Alekta

    (45) Будем ждать)

    Reply
  48. AERoport

    Запрошенные пункты реализованы в релизе 1.2.7.2.(Кроме групп ActiveDirectory). Дополнительно поработали над удобством в конфигураторе: внутреннее редактирование перетаскиванием(Drag&Drop), подсветка верности путей к файлам.

    Reply
  49. AERoport

    (46) Alekta,

    Реализовано в релизе 1.2.8.2 от 18.07.2013 г.

    Reply
  50. webresurs

    добавьте вывод по пользователям терминала(компьютера), т.е. отображать этот значок только пользователю определенному пользователю, а в конечном итоге выйти на вот Intro for Terminal

    Задумка не плохая

    Reply
  51. webresurs

    Intro дорогая — все остальные не нравится и решил сам сделать, просто и со вкусом :-).

    Как там говорят: Все гениальное просто и уже сделано, осталось только объединить!

    Вот и объеденил — Замена окна Explorer (проводник, рабочий стол) в терминальном режиме в стиле METRO для запуска 1С в терминале

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *