Re[9]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.11.11 12:03
Оценка: :)
Здравствуйте, AlexNek, Вы писали:

AN>Ну и рассчитывал то я прежде всего на обновление старой версии. Да и 16 загрузок за два месяца можно считать нулем.


Я тебе с самого начала говорил, что стоит все таки научится работать в команде и вносить правки в основную версию.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[11]: Кто/Где/Почём :)
От: _Raz_  
Дата: 18.11.11 19:30
Оценка: +1
Здравствуйте, Буравчик, Вы писали:

Б>Я тоже считаю не совсем правильным подход, выбранный AlexNek. Лучше б править основной проект. Однако это позволило ему достаточно активно развивать проект, не оглядываясь на других. И это очень хорошо.


Б>В то же время, было достаточно мало изменений в оригинальном Janus. Может, пока не поздно, есть смысл объединить проекты? Перенести наработки в оригинальный проект или сосредоточить усилия только на JanusEx, или еще какие-нибудь варианты. Есть у кого какие мысли по этому поводу?


А я считаю, что согласившись с предложением IT
Автор: IT
Дата: 21.05.11
о переезде на гитхаб, подобных бы проблем не было.
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[21]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 24.11.11 19:11
Оценка: :)
Здравствуйте, Anton Batenev, Вы писали:

a>> AVK>Я, конечно, за hg, он намного более дружелюбен, но там и гит есть.

a>> Вот, кстати, да. Hg куда въезжабельнее гита.

AB>После пары месяцев более-менее интенсивного использования становится без разницы.


А если без разницы, то зачем тогда пару месяцев с гитом трахаться?
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[19]: Кто/Где/Почём :)
От: Mamut Швеция http://dmitriid.com
Дата: 26.11.11 10:35
Оценка: +1
AB>Здравствуйте, Mamut, Вы писали:

M>> Единственное но — генерация ключей для гитхаба может оказаться нетривиальной, но решается описанием процесса (я его, правда, не помню )


AB>Неужели генерация RSA ключа под виндой такая большая проблема (при наличии Putty)?


Сама генерация — нет, но надо еще, чтобы git подхватил этот ключ для работы с GitHub'ом. Помнится, я далеко не сразу заставил его это сделать.


dmitriid.comGitHubLinkedIn
Кто/Где/Почём :)
От: Tom Россия http://www.RSDN.ru
Дата: 14.11.11 10:47
Оценка:
Всем привет!

В очередной раз решил поставить offline клиента.
1. Расскажите у нас сейчас что то реально рабочее кроме Януса?
2. Где брать Януса нынче?

Сенькс
Народная мудрось
всем все никому ничего(с).
Re: Кто/Где/Почём :)
От: о_О
Дата: 14.11.11 10:49
Оценка:
Здравствуйте, Tom, Вы писали:

http://janusex.codeplex.com/

но он как и стандартный, как не запускался так и не запускается :D
Re: Кто/Где/Почём :)
От: _Raz_  
Дата: 14.11.11 10:55
Оценка:
Здравствуйте, Tom, Вы писали:

Tom>Всем привет!


Tom>В очередной раз решил поставить offline клиента.

Tom>1. Расскажите у нас сейчас что то реально рабочее кроме Януса?
Tom>2. Где брать Януса нынче?

INFO:Дополнительные возможности 'общения' с сайтом
Автор: AlexNek
Дата: 22.10.11
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[2]: Кто/Где/Почём :)
От: Tom Россия http://www.RSDN.ru
Дата: 14.11.11 11:06
Оценка:
_R_>INFO:Дополнительные возможности 'общения' с сайтом
Автор: AlexNek
Дата: 22.10.11

А что реально работакт и рекомендовано лучшими собаководами?
Народная мудрось
всем все никому ничего(с).
Re[3]: Кто/Где/Почём :)
От: xBlackCat Россия  
Дата: 14.11.11 14:13
Оценка:
Здравствуйте, Tom.
Вы писали:

T> _R_>INFO:Дополнительные возможности 'общения' с сайтом
Автор: AlexNek
Дата: 22.10.11

T> А что реально работакт и рекомендовано лучшими собаководами?

Как автор Rojac, заявляю, что мой Rojac работает и рекомендую его
Rojac v0.1 / rev. 733
Rojac &mdash; Rsdn Offline JAva Client
Анонсы и обсуждение здесь
Автор: xBlackCat
Дата: 08.02.10
Re[2]: Кто/Где/Почём :)
От: AlexNek  
Дата: 15.11.11 17:19
Оценка:
Здравствуйте, о_О, Вы писали:

о_О>Здравствуйте, Tom, Вы писали:


о_О>http://janusex.codeplex.com/


о_О>но он как и стандартный, как не запускался так и не запускается :D

Вообще то ошибки первого запуска исправлены, но не делал специального релиза, так как хотел добить сетап. (Однако, в последнее время совсем не получается добраться ). Так что, если срочно, билд с исходников должен помочь.
И если есть аллергия на Яву, можно взять еще Авалон.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[3]: Кто/Где/Почём :)
От: о_О
Дата: 15.11.11 18:47
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Вообще то ошибки первого запуска исправлены, но не делал специального релиза, так как хотел добить сетап. (Однако, в последнее время совсем не получается добраться ). Так что, если срочно, билд с исходников должен помочь.

AN>И если есть аллергия на Яву, можно взять еще Авалон.

я пробовал запустит пару месяцев назад, быстро все сделал и он опять упал (где база создается чтоли)
Re[4]: Кто/Где/Почём :)
От: AlexNek  
Дата: 15.11.11 19:43
Оценка:
Здравствуйте, о_О, Вы писали:

о_О>Здравствуйте, AlexNek, Вы писали:


AN>>Вообще то ошибки первого запуска исправлены, но не делал специального релиза, так как хотел добить сетап. (Однако, в последнее время совсем не получается добраться ). Так что, если срочно, билд с исходников должен помочь.


о_О>я пробовал запустит пару месяцев назад, быстро все сделал и он опять упал (где база создается чтоли)

С исходников? Или с готового?
По крайней мере, в начале сентября у меня уже ничего не падало при установке. Хотя возможно еще что то и осталось необнаруженным. На всех виртуалках не тестировал.
Если что, нужно описание шагов для вылета, те что я знал исправил.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[5]: Кто/Где/Почём :)
От: о_О
Дата: 16.11.11 11:23
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Здравствуйте, о_О, Вы писали:


о_О>>Здравствуйте, AlexNek, Вы писали:


AN>>>Вообще то ошибки первого запуска исправлены, но не делал специального релиза, так как хотел добить сетап. (Однако, в последнее время совсем не получается добраться ). Так что, если срочно, билд с исходников должен помочь.


о_О>>я пробовал запустит пару месяцев назад, быстро все сделал и он опять упал (где база создается чтоли)

AN>С исходников? Или с готового?
AN>По крайней мере, в начале сентября у меня уже ничего не падало при установке. Хотя возможно еще что то и осталось необнаруженным. На всех виртуалках не тестировал.
AN>Если что, нужно описание шагов для вылета, те что я знал исправил.

готовый брал. ты говорил, что асинхронное неконтролируемое создание БД было пофиксено, но во время ошибки в голове у меня проскочило "нифига не исправил". я понимаю, что это ни о чем не говорит. судя по дате это было 21 сентября
Re[6]: Кто/Где/Почём :)
От: AlexNek  
Дата: 16.11.11 11:48
Оценка:
Здравствуйте, о_О, Вы писали:

о_О>Здравствуйте, AlexNek, Вы писали:


AN>>Здравствуйте, о_О, Вы писали:


о_О>>>Здравствуйте, AlexNek, Вы писали:


AN>>>>Вообще то ошибки первого запуска исправлены, но не делал специального релиза, так как хотел добить сетап. (Однако, в последнее время совсем не получается добраться ). Так что, если срочно, билд с исходников должен помочь.


о_О>>>я пробовал запустит пару месяцев назад, быстро все сделал и он опять упал (где база создается чтоли)

AN>>С исходников? Или с готового?
AN>>По крайней мере, в начале сентября у меня уже ничего не падало при установке. Хотя возможно еще что то и осталось необнаруженным. На всех виртуалках не тестировал.
AN>>Если что, нужно описание шагов для вылета, те что я знал исправил.

о_О>готовый брал. ты говорил, что асинхронное неконтролируемое создание БД было пофиксено, но во время ошибки в голове у меня проскочило "нифига не исправил". я понимаю, что это ни о чем не говорит. Да именно так, даже какое-то обсуждение было в нескольких тредах. Могу исправления на ревью выложить может и найдется еще что.
Re[6]: Кто/Где/Почём :)
От: AlexNek  
Дата: 16.11.11 19:09
Оценка:
Здравствуйте, о_О, Вы писали:

о_О>Здравствуйте, AlexNek, Вы писали:


AN>>Здравствуйте, о_О, Вы писали:


о_О>>>Здравствуйте, AlexNek, Вы писали:


AN>>>>Вообще то ошибки первого запуска исправлены, но не делал специального релиза, так как хотел добить сетап. (Однако, в последнее время совсем не получается добраться ). Так что, если срочно, билд с исходников должен помочь.


о_О>>>я пробовал запустит пару месяцев назад, быстро все сделал и он опять упал (где база создается чтоли)

AN>>С исходников? Или с готового?
AN>>По крайней мере, в начале сентября у меня уже ничего не падало при установке. Хотя возможно еще что то и осталось необнаруженным. На всех виртуалках не тестировал.
AN>>Если что, нужно описание шагов для вылета, те что я знал исправил.

о_О>готовый брал. ты говорил, что асинхронное неконтролируемое создание БД было пофиксено,

Да пофиксено, но релиз не делал. Так что готовый пока не годится.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[7]: Кто/Где/Почём :)
От: о_О
Дата: 16.11.11 19:18
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Да пофиксено, но релиз не делал. Так что готовый пока не годится.


дык люди качают. разве такая проблема подменить орхив?
Re[8]: Кто/Где/Почём :)
От: AlexNek  
Дата: 16.11.11 19:56
Оценка:
Здравствуйте, о_О, Вы писали:

о_О>Здравствуйте, AlexNek, Вы писали:


AN>>Да пофиксено, но релиз не делал. Так что готовый пока не годится.


о_О>дык люди качают. разве такая проблема подменить орхив?

Релиз, есть релиз. Нужно хотя бы описание добавить и треккер обновить. Да и планы другие на следующий релиз.
Ну и рассчитывал то я прежде всего на обновление старой версии. Да и 16 загрузок за два месяца можно считать нулем.
Хотя пожалуй, можно сделать промежуточный, так как пока не получается активно работать в этом направлении.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[9]: Кто/Где/Почём :)
От: Mamut Швеция http://dmitriid.com
Дата: 17.11.11 08:28
Оценка:
AN>>>Да пофиксено, но релиз не делал. Так что готовый пока не годится.

о_О>>дык люди качают. разве такая проблема подменить орхив?

AN>Релиз, есть релиз. Нужно хотя бы описание добавить и треккер обновить. Да и планы другие на следующий релиз.
AN>Ну и рассчитывал то я прежде всего на обновление старой версии. Да и 16 загрузок за два месяца можно считать нулем.
AN>Хотя пожалуй, можно сделать промежуточный, так как пока не получается активно работать в этом направлении.

Если есть возможность на каждый билд выкладывать готовый архив/установщик (типа nightly builds) было бы гениально


dmitriid.comGitHubLinkedIn
Re[10]: Кто/Где/Почём :)
От: AlexNek  
Дата: 17.11.11 17:51
Оценка:
Здравствуйте, Mamut, Вы писали:

AN>>>>Да пофиксено, но релиз не делал. Так что готовый пока не годится.


о_О>>>дык люди качают. разве такая проблема подменить орхив?

AN>>Релиз, есть релиз. Нужно хотя бы описание добавить и треккер обновить. Да и планы другие на следующий релиз.
AN>>Ну и рассчитывал то я прежде всего на обновление старой версии. Да и 16 загрузок за два месяца можно считать нулем.
AN>>Хотя пожалуй, можно сделать промежуточный, так как пока не получается активно работать в этом направлении.

M>Если есть возможность на каждый билд выкладывать готовый архив/установщик (типа nightly builds) было бы гениально

Вроде на Codeplex-e есть возможность подцепить CruiseControl, но даже и не разбирался. Тут бы побольше ошибок исправить, а уж "непрерывная сборка" вполне может подождать. Была бы хоть сотня пользователей еще можно было подумать. А так по подписи насчитал в моей базе чуть больше 30 пользователей.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[10]: Кто/Где/Почём :)
От: AlexNek  
Дата: 17.11.11 17:51
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AN>>Ну и рассчитывал то я прежде всего на обновление старой версии. Да и 16 загрузок за два месяца можно считать нулем.


AVK>Я тебе с самого начала говорил, что стоит все таки научится работать в команде и вносить правки в основную версию.

Что-то никак не припомню . Просто обсуждали немного принципы, не больше.
Тем более, что "совместимые" правки изначально и планировалось дописывать, но почти никого это предложение не заинтересовало.

А вот Сцинциллу на "русскую" заменить или допустим, "вредные" синглтоны убрать, видимо не захочется. Так что просто пошел по пути "наименьшего сопротивления". Хотя и стараюсь без особой нужды больших изменений не делать.

Еще я вижу небольшую проблемку совсем другого плана. Как я могу видеть из форума, управление проектом чрезвычайно мягкое. По крайней мере я не заметил ни планов, ни заданий разработчикам. А я привык быть либо "снизу", либо "сверху". Как получится быть "посередине" пока просто не знаю.
Ну а с форматированием кода проблему видимо можно решить программным способом.
Хотя что делать с со строковыми "монстрами", пока не знаю.
Вот для примера "младенчик", всего лишь 3-го уровня.
info.Driver.CreateSchemaDriver().CreateDatabase(info.ConfigControl.ConnectionString);

Я их часто рефакторю (для отладки/понимания) почти на автомате, до примерно такого уровня.
driver.CreateDatabase(connectionStr);

По крайней мере, после "()" не должно быть ".", по моей религии (ну разве как в отдельных ислючительных случаях, когда сильно по дурному будет иначе). И как религию менять для "удовольствия", я тоже пока не представляю.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[10]: Кто/Где/Почём :)
От: Буравчик Россия  
Дата: 18.11.11 16:09
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Я тебе с самого начала говорил, что стоит все таки научится работать в команде и вносить правки в основную версию.


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

В то же время, было достаточно мало изменений в оригинальном Janus. Может, пока не поздно, есть смысл объединить проекты? Перенести наработки в оригинальный проект или сосредоточить усилия только на JanusEx, или еще какие-нибудь варианты. Есть у кого какие мысли по этому поводу?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Best regards, Буравчик
Re[11]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 18:08
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>В то же время, было достаточно мало изменений в оригинальном Janus. Может, пока не поздно, есть смысл объединить проекты? Перенести наработки в оригинальный проект или сосредоточить усилия только на JanusEx, или еще какие-нибудь варианты. Есть у кого какие мысли по этому поводу?


Да мысли то очень простые. Конечно лучше, но соблюдать стиль кодирования, к примеру — обязательное требование.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[11]: Кто/Где/Почём :)
От: AlexNek  
Дата: 18.11.11 18:32
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, AndrewVK, Вы писали:


AVK>>Я тебе с самого начала говорил, что стоит все таки научится работать в команде и вносить правки в основную версию.


Б>Я тоже считаю не совсем правильным подход, выбранный AlexNek. Лучше б править основной проект.

Для начала нужно оглянуться хотя бы на полгода назад. Первое, что мне хотелось — это русские буквы на английской винде, а затем "Ответы мне" как в Авалоне. При этом, даже сейчас, думается, это не найдет поддержки. А тогда, практически незнакомому человеку, я бы ни за что не разрешил делать такие большие изменения на месте администратора проекта (главная проблема добавок разделов — это синглтоны форума, а по сцинтилле тема была уже закрыта раньше из-за принципиальных ошибок отображения. Возможно какие — то ошибки отображения в Сцинтилле и остались, но мне они пока не попадались). И поэтому идея была следующей: все новое делать в другой ветке, а исправленные ошибки, "по заказу" переносить в основной проект. К тому же весь проект, как и "исправленные" тикеты лежат в открытом доступе, вполне доступные для ревью. Но похоже рабочим оказался только вариант, когда исправления публикуются прямо в форуме.

Б>В то же время, было достаточно мало изменений в оригинальном Janus. Может, пока не поздно, есть смысл объединить проекты?

Объединить, думаю не получится, так как видимо, не все исправления захочется иметь. Да и были уже сделаны некоторве несовместимые изменения, как дополнительная локализация проекта.
Вот скопировал историю Здесь более подробно.

История проекта:
релиз 06
Обновлено взаимодействие между ИЕ, лисой, птичкой и Янусом.
Парсинг ссылок теперь сделан только в Янусе.
Расширен список команд GotoJanusCmd для работы со сылками.
Произведено обновление русских и английских текстов во всех проектах. Теперь при переключении на английский не должно быть русских текстов.
Исправлена ошибка неперехода во входящие из поиска.
В диалоге перейти к сообщению можно использовать и ссылку на РСДН.
В диалоге перейти к сообщению увеличена высота lable c текстом для переноса увеличенного шрифта.

релиз 05
Убраны дополнительные символы в конце сообщения (крякозябры)
Добавлен виртуальный форум "новые сообщения" — показывает все сообщения написанные с момента последней синхронизации с сервером запомненным при старте программы. Иными словами, после старта программы, до первой синхронизации список пустой. Затем после каждой синхронизации в него добавляются новые сообщения. Не забывайте, что есть команда "выделить все".
Разделена папка исходящих сообщений на черновики и все остальное.
Сделано время сообщений в форуме локальным, а не московским.
Вставлена проверка длины заголовка темы — нельзя набрать больше чем максимум в 64 символа.
Дополнение для разработчиков: добавлены исходники RSat для удобства отладки.
Теперь при включенной автоотметки прочтения сообщения, происходит обновление как самого сообщения так и всего дерева.

релиз 04
Сделано звуковое оповещение о статусе пришедших сообщений
Сделано автосохранение редактора при вылете проги/ отключения питания.
Запрещено непроизвольное закрытие редактора. Например при назначении шорката Ctrl/X на выход программы.
Добавлено в главное меню и контекстное меню форумов команда из тоолбара — "создать новое сообщение".
Добавлен новый пункт в контекстное меню форумов — "занести в избранное"
Исправлены некоторые ошибки

релиз 03
Теперь можно загружать отсутствующую тему и по ссылке.
Теперь восстанавливается последнеее состояние просмотра и для виртуальных форумов. Что было при закрытии программы получаем и при следующем открытии.
После синхронизации не меняется текущее положение.
Ссылки в сообщениях не всегда правильно отображались
Исправлены мелкие ошибки

релиз 02
Сделано Ctrl+A для выделения всех сообщений.
При ответах, когда в конце возникают крякозябры, возникала ошибка при передаче
Исправлены мелкие ошибки

релиз 01
Сделан виртуальный форум "ответы мне"
Сделан виртуальный форум "мои ответы"
Возможно просматривать/вводить русский текст на не "русских ОС". При этом правда пока приходится удалять крякозябры в конце сообщения.
Исправлена ошибка, когда добавление первой записи в фавориты приводит к вылету
Теперь для полной закачки 70 тыс. пользователей надо просто подождать минут 10.

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

По крайней мере, относительно безболезненно можно объединить тикеты. При этом хотелось бы иметь подобие TFS клиента с задачами. (На содеплексе это возможно, но хотя бы MyZilla или подобное пользовать) Тогда, думаю, можно было хоть чуть лучше планировать работу по проекту.
Еще хорошо бы иметь тему с долго- и кратко-срочным "концептом" развития проекта.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[12]: Кто/Где/Почём :)
От: AlexNek  
Дата: 18.11.11 18:35
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Буравчик, Вы писали:


Б>>В то же время, было достаточно мало изменений в оригинальном Janus. Может, пока не поздно, есть смысл объединить проекты? Перенести наработки в оригинальный проект или сосредоточить усилия только на JanusEx, или еще какие-нибудь варианты. Есть у кого какие мысли по этому поводу?


AVK>Да мысли то очень простые. Конечно лучше, но соблюдать стиль кодирования, к примеру — обязательное требование.

Это кстати, и было одной из причин почему я думал переносить именно готовые изменения. Тогда труднее что то "поломать".
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[12]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 19:01
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Например, в основном проекте я даже не смогу пользоваться редактором


Ой, не лукавь. Ссылку на утилиту, переключающую дефолтную локаль для конкретного приложения тебе давали.

AN>, ну и работу без "виртуальных" форумов я тоже как то не представляю. По крайней мере, я начинаю всегда с просмотра ответов мне и новых сообщений (в одном линейном списке каждый). Еще хочется сделать "мои вопросы" и "сообщения без ответов".


Это все можно сделать отдельным плагином либо у себя, либо в репозитории януса.

AN>При этом хотелось бы иметь подобие TFS клиента с задачами. (На содеплексе это возможно, но хотя бы MyZilla или подобное пользовать)


У нас есть SVN и Trac. Какого конкретно функционала тебе не хватает?

AN>Еще хорошо бы иметь тему с долго- и кратко-срочным "концептом" развития проекта.


Ну так напиши, обсудим. Очень примерный план в траке есть.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[12]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 19:35
Оценка:
Здравствуйте, _Raz_, Вы писали:

_R_>А я считаю, что согласившись с предложением IT
Автор: IT
Дата: 21.05.11
о переезде на гитхаб, подобных бы проблем не было.


Зато были бы другие проблемы, связанные с гитом.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[12]: Кто/Где/Почём :)
От: Буравчик Россия  
Дата: 18.11.11 19:39
Оценка:
Здравствуйте, _Raz_, Вы писали:

_R_>А я считаю, что согласившись с предложением IT
Автор: IT
Дата: 21.05.11
о переезде на гитхаб, подобных бы проблем не было.


Согласен. А что помешало/мешает переезду?
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Best regards, Буравчик
Re[13]: Кто/Где/Почём :)
От: _Raz_  
Дата: 18.11.11 20:07
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Согласен. А что помешало/мешает переезду?


Я в команду не вхожу, поэтому как на самом деле не знаю. Но со стороны, лично мое мнение:

1. Отсутствие практики работы с гитом у людей, принимающих решение. Касательно Януса это, как я понимаю, AndrewVK.
2. Не очевидность профита от переезда.
3. Дополнительная нагрузка по рассмотрению и внедрению pull requests. Ну это уже мои домыслы, не думаю, что до этого доходило.
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[13]: Кто/Где/Почём :)
От: _Raz_  
Дата: 18.11.11 20:07
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Зато были бы другие проблемы, связанные с гитом.

Безусловно. Но немерлисты же переехали. Может попросить их поделиться опытом? Или у них другие проблемы были? У них и команда побольше и комиты почаще.
К тому же, почему прошедшее время? Эти проблемы ушли?
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[14]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 20:11
Оценка:
Здравствуйте, _Raz_, Вы писали:

_R_>Безусловно. Но немерлисты же переехали.


Ну мало ли. На данный момент у гита под виндой очень высокий входной порог.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[14]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 20:11
Оценка:
Здравствуйте, _Raz_, Вы писали:

_R_>1. Отсутствие практики работы с гитом у людей, принимающих решение. Касательно Януса это, как я понимаю, AndrewVK.


IT вынудил — перевел сайт на git. Результат практики — я еще больше не хочу git.

_R_>2. Не очевидность профита от переезда.


Верно.

_R_>3. Дополнительная нагрузка по рассмотрению и внедрению pull requests. Ну это уже мои домыслы, не думаю, что до этого доходило.


Да нет, это (пока) не проблема.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[13]: Кто/Где/Почём :)
От: AlexNek  
Дата: 18.11.11 20:13
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AN>>Например, в основном проекте я даже не смогу пользоваться редактором


AVK>Ой, не лукавь. Ссылку на утилиту, переключающую дефолтную локаль для конкретного приложения тебе давали.

Если бы хотелось что-то подобное ставить давно бы и поставил. Речь идет именно о "чистой" проге. Но я так до сих пор и не могу понять, отчего нельзя использовать "русифицированную" версию Сцинтиллы. Много раз слышал об ошибках позиционирования из-за переменной кодировки символов, но вот ни разу еще с ними еще не сталкивался.
Не хочу утверждать, что их нет, я их просто еще не встречал. Но так тогда будет и с подавляющим большинством пользователей.
Вот были в первых версиях "крякозябры", но ошибка нашлась и с тех пор не удалось заметить каких либо других проблем в редакторе.

AN>>, ну и работу без "виртуальных" форумов я тоже как то не представляю. По крайней мере, я начинаю всегда с просмотра ответов мне и новых сообщений (в одном линейном списке каждый). Еще хочется сделать "мои вопросы" и "сообщения без ответов".


AVK>Это все можно сделать отдельным плагином либо у себя, либо в репозитории януса.

Как то совсем не представляю этот способ, в дерево то как занести?

AN>>При этом хотелось бы иметь подобие TFS клиента с задачами. (На содеплексе это возможно, но хотя бы MyZilla или подобное пользовать)


AVK>У нас есть SVN и Trac. Какого конкретно функционала тебе не хватает?

Вообще то заломали все эти веб based. Хочется открыть прогу и там все смотреть. Самому себе таски раскидывать смысла нет, но иметь все в студии, а не где-то там в вебе как то гораздо приятней. Но это была скорее как мечта , а не как требуется.

AN>>Еще хорошо бы иметь тему с долго- и кратко-срочным "концептом" развития проекта.


AVK>Ну так напиши, обсудим. Очень примерный план в траке есть.

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

Могу только еще раз повторится, что противопоставлять, что либо я никак не намереваюсь, как и ставить какие либо особые условия.
Прицип мне видится примерно такой. Вот что я смог сделать, смотрите, что нравится (или считается полезным и возможным изменить) — это могу добавить, только скажите. Иначе говоря, я не хочу самостоятельно решать, что можно добавлять, а что нет в основной проект, хотя бы из-за того, что у меня нет такого "обзора проекта". Ну и кроме этого, я считаю, что подобные решения должен принимать именно координатор проекта, что бы не было "бардака", когда каждый добавляет, что ему хочется.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[13]: Кто/Где/Почём :)
От: AlexNek  
Дата: 18.11.11 20:16
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, _Raz_, Вы писали:


_R_>>А я считаю, что согласившись с предложением IT
Автор: IT
Дата: 21.05.11
о переезде на гитхаб, подобных бы проблем не было.


AVK>Зато были бы другие проблемы, связанные с гитом.

А какие проблемы есть у Гита, вроде тут расписывали насколько он лучше SVN.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[14]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 20:31
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Если бы хотелось что-то подобное ставить давно бы и поставил.


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

AN> Речь идет именно о "чистой" проге.


Что значит "чистой"?

AN> Но я так до сих пор и не могу понять, отчего нельзя использовать "русифицированную" версию Сцинтиллы.


Ну если ты все глюки выловил — можно и попробовать. А то, помнится, у тебя часть функционала отвалилась и с цитированием периодически какие то взбрыки.

AVK>>Это все можно сделать отдельным плагином либо у себя, либо в репозитории януса.

AN>Как то совсем не представляю этот способ, в дерево то как занести?

В дерево — надо его отрефакторить с целью добавления extension point. Дерево рефакторить надо в любом случае, в том числе и для борьбы с теми самыми синглтонами.

AVK>>У нас есть SVN и Trac. Какого конкретно функционала тебе не хватает?

AN>Вообще то заломали все эти веб based.

Это несерьезно.

AN> Хочется открыть прогу и там все смотреть.


http://www.entomologist-project.org/
http://trac-hacks.org/wiki/TracPeekIntegration

Но вообще веб-интерфейса для трака с головой хватает. Я по работе пользуюсь активно — особых проблем не испытал.

AVK>>Ну так напиши, обсудим. Очень примерный план в траке есть.

AN>Я могу написать только "свое видение", а хотелось бы иметь именно от координатора проекта.

Так я ж и говорю — напиши, обсудим. Писать лучше сразу в траковской вике, сюда кросспост.

AN>Но это чисто мысли вслух. Я так понимаю, что твое мнение — опеп соурсе должен идти самотеком, иначе народ совсем разбежится.


Он не должен идти совсем самотеком — в частности, стиль кодирования ломать я точно не дам. И делать фичи, не нужные никому кроме автора, тоже. Но в остальном не вижу причин сдерживать энтузиазм.

AN> Мне же кажется, что должно быть "рекомендательное" управление, что бы как то "подстегнуть".


Не работает. Ты ж сам проигнорил все мои предложения и занялся в основном интересным тебе лично. О чем еще тут можно говорить?

AN>Иначе говоря, я не хочу самостоятельно решать, что можно добавлять, а что нет в основной проект


А тебе и не надо это делать.

AN>, хотя бы из-за того, что у меня нет такого "обзора проекта". Ну и кроме этого, я считаю, что подобные решения должен принимать именно координатор проекта, что бы не было "бардака", когда каждый добавляет, что ему хочется.


Не сомневайся — если я что то посчитаю вредным для проекта, я это в транк не пущу.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[14]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 20:31
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>А какие проблемы есть у Гита, вроде тут расписывали насколько он лучше SVN.


Убогий неконсольный клиент, геморой по настройке ssh под виндой.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[15]: Кто/Где/Почём :)
От: AlexNek  
Дата: 18.11.11 21:20
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AN>>Если бы хотелось что-то подобное ставить давно бы и поставил.


AVK>Ой, да ладно — не такая уж серьезная проблема — выставить индивидуально эту грешную локаль для януса.

Дело просто в дополнительной "системной" проге которую нужно везде поставить.

AN>> Речь идет именно о "чистой" проге.


AVK>Что значит "чистой"?

Ну только то что идет в компекте с самой прогой. Одно Exe и DLL-ки

AN>> Но я так до сих пор и не могу понять, отчего нельзя использовать "русифицированную" версию Сцинтиллы.


AVK>Ну если ты все глюки выловил — можно и попробовать. А то, помнится, у тебя часть функционала отвалилась и с цитированием периодически какие то взбрыки.

Все, что было с редактором — это "крякозябры" из-за того что "0" в конце строки не учитывался.
Больше я ничего не помню.

AVK>>>Это все можно сделать отдельным плагином либо у себя, либо в репозитории януса.

AN>>Как то совсем не представляю этот способ, в дерево то как занести?

AVK>В дерево — надо его отрефакторить с целью добавления extension point.

А что такое extension point? Это не то, что я называю виртуальным форумом (форум которого нет на сайте, но в нем есть сообщения по определенной зависимости)?

AVK>Дерево рефакторить надо в любом случае, в том числе и для борьбы с теми самыми синглтонами.

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

AVK>>>У нас есть SVN и Trac. Какого конкретно функционала тебе не хватает?

AN>>Вообще то заломали все эти веб based.

AVK>Это несерьезно.

Я не утвердаю, что это серьезно, но открывать окошко, думать что открыть, а после искать пароль уже порядком достало. Да и сам принцип вебовской работы не люблю, сколько уж текста терялось, не упомню.

AN>> Хочется открыть прогу и там все смотреть.


AVK>http://www.entomologist-project.org/

AVK>http://trac-hacks.org/wiki/TracPeekIntegration
На первый взляд "звучит" неплохо.

AVK>Но вообще веб-интерфейса для трака с головой хватает. Я по работе пользуюсь активно — особых проблем не испытал.

Это скажем, так личные проблемы, не переношу "консольные" проги и веб интерфейс.

AVK>>>Ну так напиши, обсудим. Очень примерный план в траке есть.

AN>>Я могу написать только "свое видение", а хотелось бы иметь именно от координатора проекта.

AVK>Так я ж и говорю — напиши, обсудим.

Можно попробовать, но нужно еще придумать как все описать

AVK>Писать лучше сразу в траковской вике, сюда кросспост.

Ссылочку можно? Вика для Януса есть?

AN>>Но это чисто мысли вслух. Я так понимаю, что твое мнение — опеп соурсе должен идти самотеком, иначе народ совсем разбежится.


AVK>Он не должен идти совсем самотеком — в частности, стиль кодирования ломать я точно не дам.

Я имел в виду немного другое, без планирования и заданий.
AVK>И делать фичи, не нужные никому кроме автора, тоже.
Тут не всегда можно быть достаточно объективным, гланое, что бы вреда не было.
AVK>Но в остальном не вижу причин сдерживать энтузиазм.
Энтузиазм обычно держится какое либо время и без обратной связи, довольно быстро угасает. То бишь скорее нужно подталкивать.

AN>> Мне же кажется, что должно быть "рекомендательное" управление, что бы как то "подстегнуть".


AVK>Не работает. Ты ж сам проигнорил все мои предложения и занялся в основном интересным тебе лично. О чем еще тут можно говорить?

Хотя бы одно можно напомнить? Просто обычно я старюсь совмещать полезное и приятное.
Но имелось в виду следующее, что например, ошибки не выбираются самостоятельно а назначаются из "выбранной области".

AN>>Иначе говоря, я не хочу самостоятельно решать, что можно добавлять, а что нет в основной проект


AVK>А тебе и не надо это делать.

Тогда я не понимаю, как происходит здесь работа. Кстати, даже актуального спика команды не видел, приходится только догадываться. По Скайпу еще бы неплохо регулярные открытые и закрытые "конференции" команды делать.

AN>>, хотя бы из-за того, что у меня нет такого "обзора проекта". Ну и кроме этого, я считаю, что подобные решения должен принимать именно координатор проекта, что бы не было "бардака", когда каждый добавляет, что ему хочется.


AVK>Не сомневайся — если я что то посчитаю вредным для проекта, я это в транк не пущу.

А куда тогда коммитит "обычный" разработчик?
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[15]: Кто/Где/Почём :)
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 18.11.11 21:21
Оценка:
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, AlexNek, Вы писали:

AN>>А какие проблемы есть у Гита, вроде тут расписывали насколько он лучше SVN.

AVK>Убогий неконсольный клиент, геморой по настройке ssh под виндой.

С github можно не только по ssh, но и по http работать, правда тогда пароль при операциях с удаленным репозиторием придется вводить. Тем не менее, я только так и работаю из под винды, лень с ключами возиться На RSDN доступ к git-репам по http не сделали, потому что мы с Игорем так и не смогли найти ничего приличного, что позволило бы развернуть это под виндой.

Но в целом, от перевода nemerle на github впечатления крайне положительные. Проблемы сторонних правок со стороны авторов, не являющихся участниками проекта, вообще нет. Работа с ветками стала проще некуда. Ну и довольно приличные средства roadmapping и bugtracking тоже радуют.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[15]: Кто/Где/Почём :)
От: AlexNek  
Дата: 18.11.11 21:24
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AN>>А какие проблемы есть у Гита, вроде тут расписывали насколько он лучше SVN.


AVK>Убогий неконсольный клиент,

Я ставил плагин в студию,особой убогости не заметил, а что неконсольная это же класс
AVK>геморой по настройке ssh под виндой.
С этим не сталкивался.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[15]: Кто/Где/Почём :)
От: _Raz_  
Дата: 18.11.11 21:31
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK> На данный момент у гита под виндой очень высокий входной порог.


Не согласен. Входной порог не такой уж и высокий, но вот чем дальше в лес, тем толще партизаны — это да. Но я уверен, что это не должно пугать. Ведь, насколько я помню, проект возник не просто так, а для изучения новой (на тот момент) технологии .net. Почему же сейчас новая система версионности отпугивает?

Вот Tom спрашивает — какой клиент рулит. А я не знаю, что ему ответить. Нет, как патриот, конечно же я скажу Янус. Но тут будет проблема в том, что есть официальный Янус, есть у AlexNek-а, да и я под себя немного подточил. Что ему сказать? Что аутентичный Янус с первого раза не запустишь и он не рассчитан на работу на современных осях? Или что у него нет ответов мне? Я даже знаю чего он захочет — что бы все вопросы были решены сразу и в одной программе.

Таким образом получается что? Решения есть, но они не консолидированы. Для себя я вывод сделал, и он не в твою пользу. Версия AlexNek-а доступна в сети, моя лежала пол-года на гитхабе. Ни одной строчки кода не было перенесено в основную ветку (борьбу с ресурсами ixor проводил сам, Alexnek тогда лишь озвучил проблему).

Разговоры о том, что мы должны были комитить в основной репозиторий уже были. Они так и остались разговорами. И у меня и у AlexNeka-а свои, различные причины. Правы мы или нет — не важно. Главное, что у нас есть новый функционал и фикс багов, а в основной ветке нет.

Но вот в чем я уверен, это в том, что я бы сделал pull request на каждое свое изменение.
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[16]: Кто/Где/Почём :)
От: _Raz_  
Дата: 18.11.11 21:35
Оценка:
AN>Ссылочку можно? Вика для Януса есть?
http://projects.rsdn.ru/Janus/wiki
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[17]: Кто/Где/Почём :)
От: AlexNek  
Дата: 18.11.11 22:05
Оценка:
Здравствуйте, _Raz_, Вы писали:

AN>>Ссылочку можно? Вика для Януса есть?

_R_>http://projects.rsdn.ru/Janus/wiki

Ааа, эту я видел, но не думал что туда можно, что то записывать. Но записывать туда идеи для обсуждения как то "не комильфо". Для начала может обсудить "историю" изменений, что я раньше выложил. Что хотелось бы видеть в основной ветке. Может откроешь новую ветку и с твоими?
Или эту Хотелки на будущее
Автор: AlexNek
Дата: 23.10.11
курочить.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[18]: Кто/Где/Почём :)
От: _Raz_  
Дата: 18.11.11 22:33
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Ааа, эту я видел, но не думал что туда можно, что то записывать.


Эта вики януса единственная, которую я знаю.

AN>Но записывать туда идеи для обсуждения как то "не комильфо". Для начала может обсудить "историю" изменений, что я раньше выложил. Что хотелось бы видеть в основной ветке.


Ну, собственно, ты ведь просил вики.

AN>Может откроешь новую ветку и с твоими?


Уже [Хотелки] Снова админские права
Автор: _Raz_
Дата: 21.05.11
. И я даже сделал это Re[6]: [Хотелки] Снова админские права
Автор: _Raz_
Дата: 21.05.11
.

AN>Или эту Хотелки на будущее
Автор: AlexNek
Дата: 23.10.11
курочить.


Почитай вот эту ветку Оцените Янус
Автор: _Raz_
Дата: 04.04.11
. Там нет ни одного комментария по делу, но при этом половина реплик о том, что не смогли запустить. О каком развитии функционала можно говорить в закрытом клубе "Я сумел!"?

Я молодец, что довел Янус до удовлетворяющего меня состояния и ты молодец, что есть безусловные успехи и, главное, что не остановился. И спасибо тиму, что дали нам эту возможность. Но Стагнация?
Автор: _Raz_
Дата: 04.04.11


И заметь, что всем ссылкам по пол года.
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[17]: Кто/Где/Почём :)
От: AlexNek  
Дата: 18.11.11 22:40
Оценка:
Здравствуйте, _Raz_, Вы писали:

AN>>Ссылочку можно? Вика для Януса есть?

_R_>http://projects.rsdn.ru/Janus/wiki
Я вот только не понимаю почему за три года (2008-2011) всего 135 тикетов от всех.
Здесь &mdash; All Tickets
Когда за полгода я насобирал более 600. Правда я "крал" и чужие ошибки/замечания.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[16]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 23:06
Оценка:
Здравствуйте, AlexNek, Вы писали:

AVK>>Ой, да ладно — не такая уж серьезная проблема — выставить индивидуально эту грешную локаль для януса.

AN>Дело просто в дополнительной "системной" проге которую нужно везде поставить.

Блин, ну добавь правку реестра в инсталлер или напиши свою утилитку и положи рядом с янусом.

AVK>>В дерево — надо его отрефакторить с целью добавления extension point.

AN>А что такое extension point?

Точка расширения. Возможность модифицировать дерево из плагинов давно запланирована. Надо просто реализовать.

AVK>>Дерево рефакторить надо в любом случае, в том числе и для борьбы с теми самыми синглтонами.

AN>Не знаю как будет тебе удобней, но можешь глянуть, что я сделал, если подойдет, могу повторить.

Ты лучше вкратце опиши, что именно ты сделал. Так будет быстрее. А там уж, если понадобятся детали, залезу в код.

AN>>>Вообще то заломали все эти веб based.


AVK>>Это несерьезно.

AN>Я не утвердаю, что это серьезно, но открывать окошко, думать что открыть, а после искать пароль уже порядком достало.

Пароль трак умеет запоминать

AN> Да и сам принцип вебовской работы не люблю, сколько уж текста терялось, не упомню.


Поставь хром, он умеет не терять заполненные текстбоксы.

AN>На первый взляд "звучит" неплохо.


Там есть ограничения.

AVK>>Писать лучше сразу в траковской вике, сюда кросспост.

AN>Ссылочку можно? Вика для Януса есть?

Для януса есть не просто вика, для януса есть целый трак. Ссылка очень простая — http://projects.rsdn.ru/Janus , логин совпадает с сайтом

AVK>>Он не должен идти совсем самотеком — в частности, стиль кодирования ломать я точно не дам.

AN>Я имел в виду немного другое, без планирования и заданий.

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

AN>Тут не всегда можно быть достаточно объективным, гланое, что бы вреда не было.


Я предпочитаю опираться на мнение тех, кто в форум пишет.

AN>Энтузиазм обычно держится какое либо время и без обратной связи, довольно быстро угасает. То бишь скорее нужно подталкивать.


Чем?

AVK>>Не работает. Ты ж сам проигнорил все мои предложения и занялся в основном интересным тебе лично. О чем еще тут можно говорить?

AN>Хотя бы одно можно напомнить?

Ну, например, нужно прикрутить спеллчекер. Или то же дерево навигации отрефакторить, о чем как раз обсуждали.

AN>Но имелось в виду следующее, что например, ошибки не выбираются самостоятельно а назначаются из "выбранной области".


Зачем? Вот уж ошибки то править можно в любом случае, было бы желание. По факту так получается, что кроме меня ошибки править желающих исчезающе мало.

AVK>>А тебе и не надо это делать.

AN>Тогда я не понимаю, как происходит здесь работа.

Очень просто. Кто то хочет что то прикрутить, пишет об этом сюда, если сильных возражений нет то он это реализует. Потом доводит до ума. Главное последний пункт, потому что недоделки очень часто мне потом приходится выпиливать.

AN> Кстати, даже актуального спика команды не видел


Его в природе не существует.

AN>По Скайпу еще бы неплохо регулярные открытые и закрытые "конференции" команды делать.


В данный момент реально что то делаю я и ixor. Мой скайп — andrew.koryavchenko

AVK>>Не сомневайся — если я что то посчитаю вредным для проекта, я это в транк не пущу.

AN>А куда тогда коммитит "обычный" разработчик?

В транк или в свою ветку, по желанию. У нас постмодерирование
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[18]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 23:06
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Ааа, эту я видел, но не думал что туда можно, что то записывать. Но записывать туда идеи для обсуждения как то "не комильфо".


Это, собственно, почему ты так решил?
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[18]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 23:06
Оценка:
Здравствуйте, AlexNek, Вы писали:

_R_>>http://projects.rsdn.ru/Janus/wiki

AN>Я вот только не понимаю почему за три года (2008-2011) всего 135 тикетов от всех.

Потому что тикеты писать — это работа. Некоторых даже на работе приходится заставлять.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[16]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 23:06
Оценка:
Здравствуйте, _Raz_, Вы писали:

AVK>> На данный момент у гита под виндой очень высокий входной порог.


_R_>Не согласен.


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

_R_>Ни одной строчки кода не было перенесено в основную ветку


Не совсем так. Кое что ixor перенес.

_R_>Разговоры о том, что мы должны были комитить в основной репозиторий уже были. Они так и остались разговорами.


Ну, если нет желания придерживаться элементарных правил или просто нет желания, то чем я тут еще могу помочь?

_R_> И у меня и у AlexNeka-а свои, различные причины.


Верно. И никакой возможности на них повлиять у меня нет. Так чего ты тогда хочешь?

_R_>Но вот в чем я уверен, это в том, что я бы сделал pull request на каждое свое изменение.


И кто бы его ревьювил?
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[16]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 23:06
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

KV>С github можно не только по ssh, но и по http работать, правда тогда пароль при операциях с удаленным репозиторием придется вводить. Тем не менее, я только так и работаю из под винды, лень с ключами возиться На RSDN доступ к git-репам по http не сделали, потому что мы с Игорем так и не смогли найти ничего приличного, что позволило бы развернуть это под виндой.


Я предлагаю переехать на bitbucket и не морочить бабушке моск.

KV>Ну и довольно приличные средства roadmapping и bugtracking тоже радуют.


Этого в гите нет. Ты github имеешь в виду?
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[16]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.11.11 23:06
Оценка:
Здравствуйте, AlexNek, Вы писали:

AVK>>Убогий неконсольный клиент,

AN>Я ставил плагин в студию,особой убогости не заметил, а что неконсольная это же класс

Авторы гита так не считают, поэтому консолью пользоваться все равно иногда приходится.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[19]: Кто/Где/Почём :)
От: AlexNek  
Дата: 18.11.11 23:14
Оценка:
Здравствуйте, _Raz_, Вы писали:

_R_>Здравствуйте, AlexNek, Вы писали:


AN>>Ааа, эту я видел, но не думал что туда можно, что то записывать.


_R_>Эта вики януса единственная, которую я знаю.


AN>>Но записывать туда идеи для обсуждения как то "не комильфо". Для начала может обсудить "историю" изменений, что я раньше выложил. Что хотелось бы видеть в основной ветке.


_R_>Ну, собственно, ты ведь просил вики.

Это просто, то что сегодня в теме обсуждалось.


_R_>Почитай вот эту ветку Оцените Янус
Автор: _Raz_
Дата: 04.04.11
. Там нет ни одного комментария по делу, но при этом половина реплик о том, что не смогли запустить.

Вначале это меня вообще не интересовало, хотелось просто сделать чтобы можно было работать, а после как и хотелось бы работать. Но вот как раз подобные комментарии и вынудили занятся сетапом, хотя при этом все остальное пришлось приостановить.
Да и сейчас гоняю на виртуалке в 7-ке с ограниченной памятью, так вылетает. А вот под ХП из под студии было нормально. Так что все ошибки то и непонятно как выловить.
_R_>О каком развитии функционала можно говорить в закрытом клубе "Я сумел!"?
То что первичная задача- вылов ошибок, понятно. Но без фукнционала не будет и развития.
По крайней мере, команда и пользователи должны видеть как "свет в конце туннеля", так и следующую станцию назначения.
Ну а по ошибкам, я еще не потерял веру, что можно сделать не постоянно падающее приложение.
На работе то получается, хотя там и народу побольше.
_R_>Я молодец, что довел Янус до удовлетворяющего меня состояния и ты молодец, что есть безусловные успехи и, главное, что не остановился. И спасибо тиму, что дали нам эту возможность. Но Стагнация?
Автор: _Raz_
Дата: 04.04.11

Почему проект не переделывается каждые полгода под новые технологии?

вопрос мне кажется просто смешным, уупс — это от тебя
И я даже там что то отвечал, блин все уже забыл
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[17]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 00:00
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AVK>>>Ой, да ладно — не такая уж серьезная проблема — выставить индивидуально эту грешную локаль для януса.

AN>>Дело просто в дополнительной "системной" проге которую нужно везде поставить.

AVK>Блин, ну добавь правку реестра в инсталлер или напиши свою утилитку и положи рядом с янусом.

А разве дело шло о правке реестра? Мне казалось что речь шла о проге которая постоянно сидит в памяти и что то делает. Почему тогда просто при старте януса не менять реестр, если так просто?

AVK>>>В дерево — надо его отрефакторить с целью добавления extension point.

AN>>А что такое extension point?

AVK>Точка расширения. Возможность модифицировать дерево из плагинов давно запланирована. Надо просто реализовать.

Где то хоть намеки есть? В текущей реализации основной ветки я даже не представляю как это может работать. Все завязано на сцепке синглтонов.

AVK>>>Дерево рефакторить надо в любом случае, в том числе и для борьбы с теми самыми синглтонами.

AN>>Не знаю как будет тебе удобней, но можешь глянуть, что я сделал, если подойдет, могу повторить.

AVK>Ты лучше вкратце опиши, что именно ты сделал. Так будет быстрее. А там уж, если понадобятся детали, залезу в код.

Надо будет вспомнить и глянуть в SVN. Но помню, что пришлось оочень много курочить.

AN>>>>Вообще то заломали все эти веб based.


AVK>>>Это несерьезно.

AN>>Я не утвердаю, что это серьезно, но открывать окошко, думать что открыть, а после искать пароль уже порядком достало.

AVK>Пароль трак умеет запоминать


AN>> Да и сам принцип вебовской работы не люблю, сколько уж текста терялось, не упомню.


AVK>Поставь хром, он умеет не терять заполненные текстбоксы.

У меня и так уже 2 разных, за которыми нужно следить. Да и дома я решил эту проблему по другому. А на работе официально стоит ИЕ.

AN>>На первый взляд "звучит" неплохо.


AVK>Там есть ограничения.


AVK>>>Писать лучше сразу в траковской вике, сюда кросспост.

AN>>Ссылочку можно? Вика для Януса есть?

AVK>Для януса есть не просто вика, для януса есть целый трак. Ссылка очень простая — http://projects.rsdn.ru/Janus , логин совпадает с сайтом

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

AVK>>>Он не должен идти совсем самотеком — в частности, стиль кодирования ломать я точно не дам.

AN>>Я имел в виду немного другое, без планирования и заданий.

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

Нужно тогда должность планировщика завести. Так отчего они не в траке?

AN>>Энтузиазм обычно держится какое либо время и без обратной связи, довольно быстро угасает. То бишь скорее нужно подталкивать.


AVK>Чем?

Хотя бы заданиями.

AVK>>>Не работает. Ты ж сам проигнорил все мои предложения и занялся в основном интересным тебе лично. О чем еще тут можно говорить?

AN>>Хотя бы одно можно напомнить?

AVK>Ну, например, нужно прикрутить спеллчекер.

От тебя впервые слышу, хотя мог и забыть. Но это как раз это и у меня записано
но пока никаких идей по релизиции нет. Ясно только что нужно что-то тырить.
AVK>Или то же дерево навигации отрефакторить, о чем как раз обсуждали.
Ок, тогда вначале опишу как я сделал.

AN>>Но имелось в виду следующее, что например, ошибки не выбираются самостоятельно а назначаются из "выбранной области".


AVK>Зачем? Вот уж ошибки то править можно в любом случае, было бы желание. По факту так получается, что кроме меня ошибки править желающих исчезающе мало.


Ну этоя и имел в виду, под "рекомендательным управлением", хотя при таком размере команды это
не имеет особого смысла
AVK>>>А тебе и не надо это делать.
AN>>Тогда я не понимаю, как происходит здесь работа.

AVK>Очень просто. Кто то хочет что то прикрутить, пишет об этом сюда, если сильных возражений нет то он это реализует. Потом доводит до ума. Главное последний пункт, потому что недоделки очень часто мне потом приходится выпиливать.

А реализация разве не есть доводка до ума? Поиграться то можно и локально.

AN>> Кстати, даже актуального спика команды не видел

Жаль, было бы хорошим стимулом для всех недовольных. Что может сделать с таким проектов всего два человека?

AVK>Его в природе не существует.


AN>>По Скайпу еще бы неплохо регулярные открытые и закрытые "конференции" команды делать.


AVK>В данный момент реально что то делаю я и ixor. Мой скайп — andrew.koryavchenko

Кинул контакт, только я его не держу всегда открытым. Может вот на эти выходные буду подгружать.

AVK>>>Не сомневайся — если я что то посчитаю вредным для проекта, я это в транк не пущу.

AN>>А куда тогда коммитит "обычный" разработчик?

AVK>В транк или в свою ветку, по желанию. У нас постмодерирование

ааа...
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[19]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 00:00
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AN>>Ааа, эту я видел, но не думал что туда можно, что то записывать. Но записывать туда идеи для обсуждения как то "не комильфо".


AVK>Это, собственно, почему ты так решил?

Оно больше на документацию смахивает, еще кто то перепутает.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[19]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 00:00
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


_R_>>>http://projects.rsdn.ru/Janus/wiki

AN>>Я вот только не понимаю почему за три года (2008-2011) всего 135 тикетов от всех.

AVK>Потому что тикеты писать — это работа. Некоторых даже на работе приходится заставлять.

На и работе и мне приходится себя заставлять
Просто иначе все забывается, да и неясно что в релизе исправлено.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[17]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 00:00
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AVK>>>Убогий неконсольный клиент,

AN>>Я ставил плагин в студию,особой убогости не заметил, а что неконсольная это же класс

AVK>Авторы гита так не считают, поэтому консолью пользоваться все равно иногда приходится.

Я только поигрался с гитом, но UI хватило, как хватает черепашки или анка.

Мне вот раз нужно было под какими-то ..нихами работать (хакеры на сайт напали), так пока не поставил аналог фара мучался капитально.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[18]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.11.11 00:33
Оценка:
Здравствуйте, AlexNek, Вы писали:

AVK>>Блин, ну добавь правку реестра в инсталлер или напиши свою утилитку и положи рядом с янусом.

AN>А разве дело шло о правке реестра? Мне казалось что речь шла о проге которая постоянно сидит в памяти и что то делает.

Тебе казалось. Прога просто прописывает ключик в реестре.

AN> Почему тогда просто при старте януса не менять реестр, если так просто?


Потому что уже поздно при старте. Да и никому особо было не надо.

AVK>>Точка расширения. Возможность модифицировать дерево из плагинов давно запланирована. Надо просто реализовать.

AN>Где то хоть намеки есть? В текущей реализации основной ветки я даже не представляю как это может работать. Все завязано на сцепке синглтонов.

Вот поэтому текущую реализацию и надо рефакторить.

AN>>>Энтузиазм обычно держится какое либо время и без обратной связи, довольно быстро угасает. То бишь скорее нужно подталкивать.


AVK>>Чем?

AN>Хотя бы заданиями.

Не помогает, проверено.

AVK>>Ну, например, нужно прикрутить спеллчекер.

AN>От тебя впервые слышу, хотя мог и забыть. Но это как раз это и у меня записано
AN>но пока никаких идей по релизиции нет.

А какие идеи тебе нужны? Берешь hanspell и вперед.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[19]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 09:06
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AVK>>>Блин, ну добавь правку реестра в инсталлер или напиши свою утилитку и положи рядом с янусом.

AN>>А разве дело шло о правке реестра? Мне казалось что речь шла о проге которая постоянно сидит в памяти и что то делает.

AVK>Тебе казалось. Прога просто прописывает ключик в реестре.

А ключик известен? А что он меняет? "Активный" язык? Тогда другой язык уже не будут основным?
Если так, то менять реестр нельзя и действительно нужна прога.
AN>> Почему тогда просто при старте януса не менять реестр, если так просто?

AVK>Потому что уже поздно при старте. Да и никому особо было не надо.

Ну тогда, для второго старта. А что стоИт то ключик прописать? Если бы про ключик вначале сказал уже давно бы сделал. Хотя если верен первый абзац, весь смысл ключика теряется.

AVK>>>Точка расширения. Возможность модифицировать дерево из плагинов давно запланирована. Надо просто реализовать.

AN>>Где то хоть намеки есть? В текущей реализации основной ветки я даже не представляю как это может работать. Все завязано на сцепке синглтонов.

AVK>Вот поэтому текущую реализацию и надо рефакторить.

Бум пробовать, а почему вообще было разрешено использовать синглотоны для подобных сцепок?

AN>>>>Энтузиазм обычно держится какое либо время и без обратной связи, довольно быстро угасает. То бишь скорее нужно подталкивать.


AVK>>>Чем?

AN>>Хотя бы заданиями.

AVK>Не помогает, проверено.

То есть считаешь любое "подталкивание" бессмысленно?

AVK>>>Ну, например, нужно прикрутить спеллчекер.

AN>>От тебя впервые слышу, хотя мог и забыть. Но это как раз это и у меня записано
AN>>но пока никаких идей по релизиции нет.

AVK>А какие идеи тебе нужны? Берешь hanspell и вперед.

Вообще то я ничего и не искал пока. Но все равно непонятно как его к сцинтилле прикрутить, хотя все равно нужно манадгед мост делать. ... Ооо нашел NHunspell, но фтп со словарями недоступен
dictionaries/ru_RU-pack.zip
Но видимо, раньше нового года не доберусь. Хорошо бы если кто исключительно на спелчекер завязался, там по идее довольно большой объем. Сделать выделение в сцинтилле, прикрутить новые менюшки и диалоги да и вообще разобраться с спелчекером.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[20]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.11.11 09:48
Оценка:
Здравствуйте, AlexNek, Вы писали:

AVK>>Тебе казалось. Прога просто прописывает ключик в реестре.

AN>А ключик известен?

Лично мне — нет, но н едумаю что это какой то секрет.

AN> А что он меняет? "Активный" язык?


Дефолтную локаль для неюникодного кода.

AN>Тогда другой язык уже не будут основным?


Не понял.

AN>Если так, то менять реестр нельзя и действительно нужна прога.


Опять не понял.

AN>Ну тогда, для второго старта. А что стоИт то ключик прописать? Если бы про ключик вначале сказал уже давно бы сделал.


Если бы желание было, ты бы и сам давно разобрался.

AVK>>Вот поэтому текущую реализацию и надо рефакторить.

AN>Бум пробовать, а почему вообще было разрешено использовать синглотоны для подобных сцепок?

Коду примерно 9 лет.

AVK>>Не помогает, проверено.

AN>То есть считаешь любое "подталкивание" бессмысленно?

Я считаю что данное конкретное "подталкивание" имеет нулевую эффективность.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[17]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 11:27
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>>>Дерево рефакторить надо в любом случае, в том числе и для борьбы с теми самыми синглтонами.

AN>>Не знаю как будет тебе удобней, но можешь глянуть, что я сделал, если подойдет, могу повторить.

AVK>Ты лучше вкратце опиши, что именно ты сделал. Так будет быстрее. А там уж, если понадобятся детали, залезу в код.

Оказывается это не так просто. На SVN я перелез уже после того. Так что осталось только сравнивать исходники. То бишь переделывать нужно будет с нуля, по новому. А это не менее месяца (по вечерам)
А что сравнивать тоже не знаю точно. В общем, будет немного хаотично, по ходу нахождения очередного файла, который по идее связан. Ну и заодно сопутствующие обновления. И буду копировать несколько больше, что бы код был понятен без исходников.

Core\Navigation\NavigationDummyForm.cs
        internal void RefreshTree()
        {
            if (InvokeRequired)
            {
                MethodInvoker method = delegate { RefreshTree(); };
                Invoke(method);
            }
            else
            {
                using (_treeGrid.UpdateScope())
                {
                    _treeGrid.Nodes = null;
                    _treeGrid.Nodes = Features.Instance;
                    IFeature activeFeature = Features.Instance.ActiveFeature;

                    // active feature could be pointed to an old feature (before refresh)
                    if (activeFeature != null)
                    {
                        IFeature activeNode = Features.Instance.FindFeatureByKey(activeFeature.Key);
                        _treeGrid.ActiveNode = activeNode;
                    }
                    else
                    {
                        _treeGrid.ActiveNode = Features.Instance.ActiveFeature;
                    }
                }
            }
        }

\Core\ObjectModel\Features\Model\Feature.cs
    public abstract class Feature : IFeature, IGetData,
        IFeatureGui, IDisposable
    {
        public virtual string Description
        {
            get { return _description; }
      
            protected set
            {
                _description = value;
            }
        }
        /// <summary>
        /// Проверяет нужно ли обновление объекта если статус сообщения изменился.
        /// Требуется если нужно обновить одновременно несколько папок (форумов).
        /// Функция должна быть достаточно быстрой иначе проще перечитать всю папку.
        /// </summary>
        /// <param name="msg">Проверяемое сообщение.</param>
        /// <returns>
        ///     <c>true</c> если обновление необходимо; иначе, <c>false</c>.
        /// </returns>
        public abstract bool IsUpdateNeed(object msg);

        /// <summary>
        /// Обновляет содержимое с учетом <see cref="Rsdn.Janus.ObjectModel.IFeature.IsUpdateNeed"/>
        /// Если полное обновление не нужно обновляем только строку названия при необходимости (если там есть различные счетчики)
        /// </summary>
        public abstract void Refresh();

Здесь Singleton оставлен
\Core\ObjectModel\Features\Model\Features.cs
    public sealed class Features : ITreeNode, IDisposable
    {
           public void Refresh()
        {
            //_activeFeature = null; // Note AN : why it was?
            if (_activeFeature is Forum)
            {
                Forum activeForum = _activeFeature as Forum;
                IMsg activeMsg = activeForum.ActiveMsg;
                int id = -1;

                if (activeMsg != null)
                {
                    id = activeMsg.ID;
                }
                //activeForum.Parent;
                activeForum.Refresh();
                IFeature savedActiveFeature = ActiveFeature;
                ActiveFeature = null;

                // It could be a trouble when forum is deleted from the list
                // set feature active only if it is inside inbox folder
                if (savedActiveFeature != null)
                {
                    IFeature findFeatureByKey = FindFeatureByKey(savedActiveFeature.Key);
                    if (findFeatureByKey != null)
                    {
                        ActiveFeature = findFeatureByKey;


                        if (id > 0)
                        {
                            // force read messages
                            IMsg msgs = activeForum.Msgs;

                            // find message and reselect it;
                            IMsg msg = activeForum.FindMsgById(id);
                            activeForum.ActiveMsg = msg;
                        }
                    }
                }
            }
            else if (_activeFeature != null)
            {
                _activeFeature.Refresh();
            }


            // refresh all features
            foreach (IFeature feature in _features)
            {
                if (feature != _activeFeature)
                {
                    feature.Refresh();
                }
            }
        }

        public void RefreshSelection()
        {
            if (_activeFeature is Forum)
            {
                Forum activeForum = _activeFeature as Forum;
                IMsg activeMsg = activeForum.ActiveMsg;
                int id = -1;

                if (activeMsg != null)
                {
                    id = activeMsg.ID;
                }

                if (id > 0)
                {
                    // force read messages
                    IMsg msgs = activeForum.Msgs;

                    // find message and reselect it;
                    IMsg msg = activeForum.FindMsgById(id);
                    activeForum.ActiveMsg = msg;

                    // force message selection in the viewer
                    IFeatureGui featureGui = ActiveFeature as IFeatureGui;
                    if (featureGui != null)
                    {
                        Control associatedControl = featureGui.GuiControl;
                        ForumDummyFormBase forumDummyFormBase = associatedControl as ForumDummyFormBase;
                        if (forumDummyFormBase != null)
                        {
                            //ApplicationManager.Instance.ForumNavigator.ViewHistory.CurrentEntry = null;
                            forumDummyFormBase.SelectMessage(msg, true);
                        }
                    }
                }

            }
        }

Core\ObjectModel\Features\Model\FolderDummyForm.cs
    public partial class FolderDummyForm : UserControl, IFeatureView
    {
        public void ActivateView()
        {
            // Nothing to do
        }

        public void DeactivateView()
        {
            // Nothing to do
        }

        public void Clear()
        {
            // nothing to do
        }

Core\ObjectModel\Features\Model\IFeatureView.cs
Здесь уже были комменты на английском.
   public interface IFeatureView
    {
        /// <summary>
        /// Activates the view.
        /// Need for views switch
        /// </summary>
        void ActivateView();

        /// <summary>
        /// Deactivates the view.
        /// Need for views switch
        /// </summary>
        void DeactivateView();


        /// <summary>
        /// Clears this instance.
        /// </summary>
        void Clear();

\Core\ObjectModel\Features\Model\IFeature.cs
    public interface IFeature : ITreeNode
    {
        /// <summary>
        /// Проверяет нужно ли обновление объекта если статус сообщения изменился.
        /// Требуется если нужно обновить одновременно несколько папок (форумов).
        /// Функция должна быть достаточно быстрой иначе проще перечитать всю папку.
        /// </summary>
        /// <param name="msg">Проверяемое сообщение.</param>
        /// <returns>
        ///   <c>true</c> если обновление необходимо; иначе, <c>false</c>.
        /// </returns>
        bool IsUpdateNeed(object msg);

        /// <summary>
        /// Обновляет содержимое с учетом <see cref="Rsdn.Janus.ObjectModel.IFeature.IsUpdateNeed"/>
        /// Если обновление не нужно обновляем только строку названия при необходимости (если там есть различные счетчики)
        /// </summary>
        void Refresh();

Core\ObjectModel\Features\Forum.cs
Тут я многое переформатировал, сложно сравнивать (например все поля,event перенесены в начала класса, а не валяются где попало)
   public class Forum : Feature, IMessagesFeature, IGetData, IForum
    {

                protected virtual IMsg GetActiveMsg()
                {
            lock (this)
            {
                IMsg activeMsg = ActiveMsgTarget;

                if (activeMsg != null)
                {
                    return activeMsg;
                }

                if (ActiveMsgId >= 0)
                {
                    activeMsg = FindMsgById(ActiveMsgId);
                    ActiveMsgTarget = activeMsg;

                    return activeMsg;
                }

                //Check for forum ID not message id
                if (Config.Instance.RestoreForumPosition && Config.Instance.IsLastReadMessageInForum(ID))
                {
                    int msgId = Config.Instance.GetLastReadMessageInForum(ID);

                    //if (msgId >= 0)
                    //{
                    //    ActiveMsgId = msgId;
                    //}

                    activeMsg = FindMsgById(msgId);
                    ActiveMsgTarget = activeMsg;

                    return activeMsg;
                }

                return null;
            }
            
        }
        
        protected virtual void SetActiveMsg(IMsg value)
        {
            lock (this)
            {
                if (value == null)
                {
                    //ActiveMsgId = -1;
                    ActiveMsgTarget = null;

                    Config.Instance.RemoveLastReadMessageInForum(ID);

                    return;
                }

                if (value == WeakMsgRoot.Target)
                {
                    return;
                }

                IMsg curr = value;
                IMsg root = Msgs;

                while (curr.Parent != null)
                {
                    if (root == curr.Parent)
                    {
                        //ActiveMsgId = value.ID;
                        ActiveMsgTarget = value;
                        Control guiControl = GuiControl;

                        Config.Instance.SetLastReadMessageInForum(ID, ActiveMsgId);
                        return;
                    }

                    curr = curr.Parent;
                }

                string message = string.Format(ml.ml_string(246, "Сообщение '{0}' отсутствует в списке сообщений."), value);

                throw new ApplicationException(message);
            }
        }
        
        /// <summary>
        /// Gets or sets the active message.
        /// </summary>
        /// <value>The active MSG.</value>
        /// <exception cref="ApplicationException"><c>ApplicationException</c>.</exception>
        [MapIgnore]
        public IMsg ActiveMsg
        {
            get 
            {
                return GetActiveMsg();
            }

            set 
            {
                SetActiveMsg(value);
            }
        }
        
        public virtual IMsg Msgs
        
        public override void Refresh()
        
        public virtual IMsg FindMsgById(int idMsg)
        
        /// <summary>
        /// Загружает данные.
        /// Введено только для использования в наследуемых классах
        /// 'Старый код' не хочется изменять, можно внести новые 'большие' ошибки.
        /// </summary>
        /// <param name="isLoadAll">if set to <c>true</c> [is load all].</param>
        internal virtual void LoadData(bool isLoadAll)
        {
            // do nothing here
        }
        
        private IMsg ReadMsg(bool isLoadAll)
        {
            if (OnBeforeLoadData != null)
            {
                OnBeforeLoadData(this, EventArgs.Empty);
            }
            _isLoadAll = isLoadAll;

            // На всякий пожарный сбрасываем активное сообщение.
            ActiveMsgTarget = null;

            IMsg root = LoadTopicsAsChildren(isLoadAll);

            WeakMsgRoot.Target = root;

            return root;
        }
        
        [CanBeNull]
        protected virtual IMsg LoadTopicsAsChildren(bool isLoadAll)
        {
            IMsg root = Msg.GetTopics(ServiceProvider, ID, Config.Instance.ForumSortCriteria, isLoadAll);
            return root;
        }
        
               public override string  Key
        {
            get { return "Inbox" + Name; }                            //MLHIDE
        }

        public override bool IsUpdateNeed(object msg)
        {
            // don't need to update this future folder if any message changed. It is already did in an other way
            return false;
        }
        
        public virtual IEnumerable<IMsg> ActiveMessages
        
        public IServiceProvider ServiceProvider
        {
            get
            {
                return _serviceProvider;
            }
        }

        protected WeakReference WeakMsgRoot
        {
            get
            {
                return _weakMsgRoot;
            }
        }

        public virtual event EventHandler ActiveMessagesChanged

        /// <summary>
        /// Loads the counters only.
        /// </summary>
        /// <param name="id">The forum id.</param>
        internal virtual void LoadCounters(int id) //was LoadData //FillForums
        {
        ...
        }

        public virtual bool IsVirtual
        {
            get
            {
                return false;
            }
        }
    }


Core\ObjectModel\Features\ForumFolder.cs
    internal class ForumFolder : FolderFeature
    {
        public override bool IsUpdateNeed(object msg)
        {
            // don't need to update this future folder if any message changed. It is already did in an other way
            return false;
        }

        public override void Refresh()
        {
            // по умолчанию ничего не обновляем
        }


Core\ObjectModel\Features\Forums.cs
   internal sealed class Forums : FolderFeature, IFeature, IGetData
    {
        public const int VirtualForum = 0x7FFF0000;
        public const int VirtualForumAnswersMeId = VirtualForum | 0x1;
        public const int VirtualForumMyAnswersId = VirtualForum | 0x2;
        public const int VirtualForumNewMessages = VirtualForum | 0x4;

        private readonly AnswersMeFeature _answersMeFolder;
        private readonly MyAnswersFeature _answersMyFolder;
        private readonly NewMessagesFeature _newMessagesFolder;
        
        private Forums(IServiceProvider provider)
            : base(provider)
        {
             ...
            _answersMeFolder = new AnswersMeFeature(_serviceProvider);
            _answersMyFolder = new MyAnswersFeature(_serviceProvider);
            _newMessagesFolder = new NewMessagesFeature(_serviceProvider);
            _folders.Add(_unsubscribedFolder);
            _flags = NodeFlags.AutoExpand;
            _description = SR.Forum.Incoming.DisplayName;

            LoadData();
            _answersMeFolder.Refresh();
            _answersMyFolder.Refresh();
            _newMessagesFolder.Refresh();
        }

        public override bool IsUpdateNeed(object msgIn)
        {
            if (msgIn is Msg)
            {
                Msg msg= msgIn as Msg; // debug
            }

            // It was wish to check if msg included in current forum but forum implented in an other way
            return true;
        }

        /// <summary>
        /// Adds the virtual forums.
        /// </summary>
        /// <param name="dynForums">The existing forums.</param>
        private void AddVirtualForums(List<Forum> dynForums)
        {
            _answersMeFolder.Clear();
            dynForums.Add(_answersMeFolder);

            _answersMyFolder.Clear();
            dynForums.Add(_answersMyFolder);

            _newMessagesFolder.Clear();
            dynForums.Add(_newMessagesFolder);
        }
        
             public override void Refresh()// after reading Db
       {
            LoadData(); // here loaded all forum counters at once
            if (ForumList != null)
            {
                foreach (Forum forum in ForumList)
                {
                    // active feature already refreshed in Features
                    IFeature activeFeature = ObjectModel.Features.Instance.ActiveFeature;
                    if (activeFeature == null || activeFeature.Key != forum.Key)
                    {
                        forum.Refresh();
                    }
                }
            }
        }

новый файл
Core\ObjectModel\Features\VirtualForum.cs
namespace Rsdn.Janus
{
    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;

    internal class VirtualForum : Forum
    {
        public VirtualForum(IServiceProvider provider)
            : base(provider)
        {
        }

        /// <summary>
        /// Clears this forum.
        /// </summary>
        public void Clear()
        {
            ActiveMsg = null;
        }

        /// <summary>
        /// Загружает данные.
        /// Так как данные загружаются только при непосредственном выборе раздела
        /// То здесь загружаем только счетчики
        /// </summary>
        /// <param name="isLoadAll">if set to <c>true</c> [is load all].</param>
        internal override void LoadData(bool isLoadAll)
        {
            LoadCounters(0);
        }

        /// <summary>
        /// Creates the GUI control.
        /// </summary>
        /// <returns></returns>
        protected override Control CreateGuiControl()
        {
            VirtualForumDummyForm.Instance.VirtualForumId = ID;
            return VirtualForumDummyForm.Instance;
        }

        /// <summary>
        /// Occurs when [active messages changed].
        /// </summary>
        public override event EventHandler ActiveMessagesChanged
        {
            add { VirtualForumDummyForm.Instance.SelectedMessagesChanged += value; }
            remove { VirtualForumDummyForm.Instance.SelectedMessagesChanged -= value; }
        }

        /// <summary>
        /// Детали реализации FindMsgByID...
        /// </summary>
        /// <param name="idMsg">ID сообщения которое нужно найти.</param>
        /// <returns>Найденая ветка.</returns>
        public override IMsg FindMsgById(int idMsg)
        {
            IMsg root = Msgs;
            IMsg ret = null;
            foreach (MsgBase msg in root)
            {
                if (msg.ID == idMsg)
                {
                    ret = msg;
                    break;
                }
            }
            return ret;
        }

        /// <summary>
        /// Sets the active MSG.
        /// </summary>
        /// <param name="value">The value.</param>
        protected override void SetActiveMsg(IMsg value)
        {
            lock (this)
            {
                if (value == null)
                {
                    //ActiveMsgId = -1;
                    ActiveMsgTarget = null;

                    // by init we use clear froum and it clear last saved message id
                    //Config.Instance.RemoveLastReadMessageInForum(ID);

                    return;
                }

                if (value == WeakMsgRoot.Target)
                {
                    return;
                }

                IMsg curr = value;
                //IMsg root = Msgs;

                //while (curr.Parent != null)

                //if (root == curr.Parent)
                {
                    //ActiveMsgId = value.ID;
                    ActiveMsgTarget = value;
                    Control guiControl = GuiControl;

                    Config.Instance.SetLastReadMessageInForum(ID, ActiveMsgId);
                    return;
                }

                //string message = string.Format("Сообщение '{0}' отсутствует в списке сообщений.", value);

                //throw new ApplicationException(message);
            }
        }

        /// <summary>
        /// Gets the active messages.
        /// </summary>
        /// <value>The active messages.</value>
        public override IEnumerable<IMsg> ActiveMessages
        {
            get
            {
                return VirtualForumDummyForm.Instance.SelectedMessages;
            }
        }


        /// <summary>
        /// Gets the description.
        /// </summary>
        /// <value>The description.</value>
        public override string Description
        {
            get
            {
                return Name;
            }
        }

        /// <summary>
        /// Gets the key.
        /// </summary>
        /// <value>The key.</value>
        public override string Key
        {
            get { return GetType().Name; }
        }

        /// <summary>
        /// Gets a value indicating whether this instance is virtual.
        /// Получает значение, указывающее, является ли этот форум виртуальным
        /// </summary>
        /// <value>
        ///   <c>true</c> if this instance is virtual; otherwise, <c>false</c>.
        /// </value>
        public override bool IsVirtual
        {
            get
            {
                return true;
            }
        }
    }
}

\Features\ForumViewer\ForumDummyForm.cs
    //было
    //internal sealed partial class ForumDummyForm : UserControl, IFeatureView

    internal sealed class ForumDummyForm : ForumDummyFormBase
    {
    //тут почти ничего не осталось все перенесено
    
#pragma warning disable 1692

namespace Rsdn.Janus
{
    using System;

    internal sealed class ForumDummyForm : ForumDummyFormBase
    {
        private static ForumDummyForm _instance;

        public ForumDummyForm(IServiceProvider provider) 
            : base(provider)
        {
            
        }

        #region Instance Property

        /// <summary>
        /// Gets the instance. Make singleton
        /// </summary>
        /// <value>The instance.</value>
        public static ForumDummyForm Instance
        {
            get
            {
                if (_instance == null)
                {
                    _instance = new ForumDummyForm(ApplicationManager.Instance.ServiceProvider);
                }

                return _instance;
            }
        }
        #endregion
    }
}

\Framework\DockingRsdn\ContentDummyForm.cs
Здесь многое новое

namespace Rsdn.Janus.Framework
{
    public partial class ContentDummyForm : DockContent
    {
        ManualResetEvent replaceControlReady = new ManualResetEvent(false);
        public ContentDummyForm()
        {
            InitializeComponent();
            this.DockAreas = DockAreas.Document;
            this.ShowHint = DockState.Document;
        }

        private void ReplaceControlInternal(Control oldAssociatedControl, Control value)
        {
            if (InvokeRequired)
            {
                MethodInvoker method = delegate { ReplaceControlInternal(oldAssociatedControl, value); };
                Invoke(method);
            }
            else
            {
                if (oldAssociatedControl != null)
                {
                    oldAssociatedControl.Visible = false;
                }

                Controls.Clear();
                if (value != null)
                {
                    value.Dock = DockStyle.Fill;
                    Controls.Add(value);
                    IFeatureView newFeatureView = value as IFeatureView;
                    if (newFeatureView != null && oldAssociatedControl != value)
                    {
                        newFeatureView.ActivateView();
                    }

                    // make control visible again because it is singleton
                    if (!value.Visible)
                    {
                        value.Visible = true;
                    }

                    replaceControlReady.Set();
                }
            }
        }

        /// <summary>
        /// Связанный с формой элемент управления.
        /// </summary>
        public Control AssociatedControl
        {
            get
            {
                return Controls.Count > 0 ? Controls[0] : null;
            }

            set
            {
                SuspendLayout();
                Control oldAssociatedControl = AssociatedControl;
                IFeatureView oldFeatureView = oldAssociatedControl as IFeatureView;

                if (oldFeatureView != null && oldAssociatedControl != value)
                {
                    oldFeatureView.DeactivateView();
                }

                replaceControlReady.Reset();
                // it is important to hide control for preventing bad data refresh
                ReplaceControlInternal(oldAssociatedControl, value);
                replaceControlReady.WaitOne();
                ResumeLayout();
            }
        }

        private void ContentDummyForm_Closing(object sender, CancelEventArgs e)
        {
            Controls.Clear();
        }

        public void SetTextThreadSafe(string text)
        {
            if (InvokeRequired)
            {
                MethodInvoker method = delegate { SetTextThreadSafe(text); };
                Invoke(method);
            }
            else
            {
                Text = text;
            }
        }
    }
}

\Features\ForumViewer
новый файл
namespace Rsdn.Janus
{
    internal sealed class VirtualForumDummyForm : ForumDummyFormBase
    {
        private static VirtualForumDummyForm _instance;
        private int virtualForumId = -1;

        public VirtualForumDummyForm(IServiceProvider provider)
            : base(provider)
        {
            //ServiceManager.Publish<IDefaultCommandService>(
            //    new DefaultCommandService("Janus.Forum.GoToMessage"));

        }

        #region Instance Property

        /// <summary>
        /// Gets the instance. Make singleton
        /// </summary>
        /// <value>The instance.</value>
        public static VirtualForumDummyForm Instance
        {
            get
            {
                if (_instance == null)
                {
                    _instance = new VirtualForumDummyForm(ApplicationManager.Instance.ServiceProvider);
                }

                return _instance;
            }
        }
        #endregion

        internal override bool SelectMessage(IMsg msg, bool ignoreOldId)
        {
            if (!ignoreOldId && msg.ID == OldMsgId)
            {
                return false;
            }

            SetMessageView(msg);
            OldMsgId = msg.ID;

            IMsg curMsg = msg;

            // Игрушечная асинхронность, которой на самом деле нет.
            // Однако позволяет не блокировать сразу цикл обработки сообщений,
            // что позволяет быстро перещелкивать сообщения в гриде с клавиатуры
            // без неприятного замедления времени отклика
            ForumNavigator forumNavigator = ApplicationManager.Instance.ForumNavigator;
            AsyncHelper.CreateOperation().PostOperationCompleted(
                () => forumNavigator.SelectMessage(VirtualForumId, curMsg.ID, ignoreOldId)); //force navigation
            return true;
        }

        //protected override bool ActionAfterActivateNode(TreeGrid.ITreeNode activatedNode)
        //{
        //    if (activatedNode == null)
        //    {
        //        return false;
        //    }

        //    IMsg msg = (IMsg)activatedNode;
        //    if (!SelectMessage(msg)) return false;


        //    StartMarkTimer();
        //    return true;
        //}


        protected override void UpdateColumnTitle(ColumnHeader columnHeader, ImageList imageList)
        {
            switch (columnHeader.Index)
            {
                case ColumnSubjectRate:
                    columnHeader.Text = SR.TGColumnForumName;
                    break;
                default:
                    base.UpdateColumnTitle(columnHeader, imageList);
                    break;
            }
        }

        protected override SortType TranslateColumnToSortOrder(int columnId, SortType sort)
        {
            switch (columnId)
            {
                case ColumnRate:
                //case ColumnSubjectRate:
                    sort = sort == SortType.BySubjectRateAsc
                               ? SortType.BySubjectRateDesc
                               : SortType.BySubjectRateAsc;
                    break;

                case ColumnDate:
                    sort = sort == SortType.ByDateAsc
                               ? SortType.ByDateDesc
                               : SortType.ByDateAsc;
                    break;

                default:
                    return base.TranslateColumnToSortOrder(columnId, sort);
            }
            return sort;
        }

        /// <summary>
        /// Gets or sets the virtual forum id.
        /// </summary>
        /// <value>The virtual forum id.</value>
        public int VirtualForumId
        {
            get { return virtualForumId; }
            set { virtualForumId = value; }
        }

    }
}

Наверняка еще что то забыл, вроде намного больше было.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[21]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 11:46
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AN>> А что он меняет? "Активный" язык?


AVK>Дефолтную локаль для неюникодного кода.

Теперь проде вспоминаю проблему. У меня уже стоит одна и на русскую менять не хочу. А прога наверняка не определит старт из под студии.

AN>>Тогда другой язык уже не будут основным?


AVK>Не понял.

Если уже установлена локаль для неюникодного кода через системные установки.

AN>>Если так, то менять реестр нельзя и действительно нужна прога.


AVK>Опять не понял.

Что бы менять локаль непосредственно перед стартом какой либо конкретной проги. А не глобально для всех.

AN>>Ну тогда, для второго старта. А что стоИт то ключик прописать? Если бы про ключик вначале сказал уже давно бы сделал.


AVK>Если бы желание было, ты бы и сам давно разобрался.

Ну для русской винды это нафиг не нужно, понятно. А она у меня стоит только на виртуалке для теста и то потому что по МСДН подписке была.

AVK>>>Не помогает, проверено.

AN>>То есть считаешь любое "подталкивание" бессмысленно?

AVK>Я считаю что данное конкретное "подталкивание" имеет нулевую эффективность.

Ну какой либо стимул все равно нужен.
Если к Янусу, допустим, не будет никакого пользовательского интереса и я сделаю все что хотелось, то пока не вижу какой интерес будет все продолжать. Хотя окончания хотелок/ошибок пока тоже не видно
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[22]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.11.11 12:20
Оценка:
Здравствуйте, AlexNek, Вы писали:

AVK>>Дефолтную локаль для неюникодного кода.

AN>Теперь проде вспоминаю проблему. У меня уже стоит одна и на русскую менять не хочу.

Ты, чувствуется, настолько не хочешь, что даже понимать написанное отказываешься. Локаль можно установить для конкретного приложения, а не для системы в целом. Именно в этом суть утилиты.

AN>>>Если так, то менять реестр нельзя и действительно нужна прога.

AVK>>Опять не понял.
AN>Что бы менять локаль непосредственно перед стартом какой либо конкретной проги. А не глобально для всех.

Локаль не меняется перед стартом, локаль меняется исключительно для одного приложения. Однократно.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[18]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.11.11 12:20
Оценка:
Здравствуйте, AlexNek, Вы писали:

AVK>>Ты лучше вкратце опиши, что именно ты сделал. Так будет быстрее. А там уж, если понадобятся детали, залезу в код.

AN>Оказывается это не так просто. На SVN я перелез уже после того.

Вот вот.

Вобщем, надо рефакторить дерево нормально. Для этого надо ввести сущность провайдера. Интерфейс у него должен быть примерно таким:
public interface INavTreeProvider
{
  string[] GetItemsForParent(string parentId);
  NavTreeItemInfo GetItemInfo(string itemId);
  IObservable<string[]> ItemsChanged {get;}
}

public class NavTreeItemInfo
{
  string Command {get;}
  Func<string> DisplayName {get;}
  Func<string> AdditionalInfo {get;}
  string ImageId {get;}
  string ContextMenuName {get;}
}

Конкретные реализации провайдеров регистрируются через стандартную механику расширений.
При инициализации специальный код опрашивает всех провайдеров, передавая в качестве родителя корень (null или специально зарезервированный и задекларированный ID). Затем рекурсивно формирует все композитное дерево. Далее, на основании ItemInfo, формируется полная структура, отображаемая в контроле дерева и комбике навигации.
При срабатывании ItemsChanged нужно обновлять контролы. Или можно развернуть — сделать публичную возможность сказать менеджеру дерева обновиться.
При выборе пункта должна запускаться связанная с ним команда через стандартную механику. Обработчик команды должен в основной части окна обеспечить соотв. UI.
По правой кнопке нужно обращаться к стандартной механике менюшек для формирования контекстного меню. Меню, опять же, описывается через стандартную механику.
Ну а синглтоны можно пока оставить, просто завернув их в провайдеры.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[23]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 13:18
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AVK>>>Дефолтную локаль для неюникодного кода.

AN>>Теперь проде вспоминаю проблему. У меня уже стоит одна и на русскую менять не хочу.

AVK>Ты, чувствуется, настолько не хочешь, что даже понимать написанное отказываешься. Локаль можно установить для конкретного приложения, а не для системы в целом.

AVK>Именно в этом суть утилиты.
Так о том то и речь. Отличия проги от изменений в реестре.

AN>>>>Если так, то менять реестр нельзя и действительно нужна прога.

AVK>>>Опять не понял.
AN>>Что бы менять локаль непосредственно перед стартом какой либо конкретной проги. А не глобально для всех.

AVK>Локаль не меняется перед стартом, локаль меняется исключительно для одного приложения. Однократно.

Чисто в регистре? Как то еще не встречалось подобной информации. Ну тогда в сетапе это будет сделать достаточно просто. Да и самой проге нет проблем для второго старта.
Мне известен только такой способ
How do I change the system locale

Вот еще нашел
[HKEY_CURRENT_USER\Control Panel\International]
"Locale"="00000409"
--------------------------------------------------------------------------------

409 -- американский английский
419 -- русский


System Locale: Or "Language for non-Unicode programs" in Windows XP. 
This per system variable does not affect anything but ANSI applications. 
It allows the OS to emulate ANSI applications by using the selected language's code-page to convert
between ANSI/OEM and Unicode encodings. Use GetACP / GetOEMCP APIs to retrieve that value. 
No API available to set this locale (by design). 

*In Windows XP, users can change it thru the Advanced tab of the Regional and Language Options 
applet (requires a reboot for the change to take effect).


Вот еще проблемка
Если поменять Standards and Formats вручную или с помощью вызова rundll32.exe shell32,Control_RunDLL
intl.cpl,,/f:"%temp%\regopts.txt" - программа благополучно стартует. Однако, если внести изменения в
реестр в ветку HKCU\Control Panel\International, то в Панели Управления все выглядит, 
как будто Locale переключили на Russian, но программа все равно показывает знаки вопроса вместо шрифтов.


Почему?
•If you frequently use non-Unicode applications in a given script (or set of languages), 
it is strongly recommended to set your system locale variable to the language of the target application
and not to use AppLocale.


AppLocale runs on both English and localized versions of Windows XP or Server 2003.

А остальные системы? Хотя похоже народ ставит и на остальные.

Microsoft Applocale и решение проблем с отображением
Далее можно создать ярлык для того, чтобы выбранная программа в дальнейшем всегда запускалась через перекодировщик:(applocale)

То бишь "напрямую" Янус не запустится — только через ярлык. Значит GoJanusCmd не будет работать правильно, точнее опять появятся вопросики.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[19]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 13:18
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AVK>>>Ты лучше вкратце опиши, что именно ты сделал. Так будет быстрее. А там уж, если понадобятся детали, залезу в код.

AN>>Оказывается это не так просто. На SVN я перелез уже после того.

AVK>Вот вот.

Мне казалось что эти изменения точно уж никто не захочет делать в официальной версии.

По крайней мере, записал себе в таски еще раз вернуться к дереву навигации.

AVK>Ну а синглтоны можно пока оставить, просто завернув их в провайдеры.

Там с другими (виртуальными) форумами не получится, насколько помню, список сообщений помнится было не так просто "оторвать".
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[20]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.11.11 13:33
Оценка:
Здравствуйте, AlexNek, Вы писали:

AVK>>Ну а синглтоны можно пока оставить, просто завернув их в провайдеры.

AN>Там с другими (виртуальными) форумами не получится

Получится, если с умом.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[21]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 14:07
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AVK>>>Ну а синглтоны можно пока оставить, просто завернув их в провайдеры.

AN>>Там с другими (виртуальными) форумами не получится

AVK>Получится, если с умом.

Жалко, уже не помню, где искать пример и что конкретно было. Но что то типа этого, что список сообщений вызывает синглтон форума. То бишь, список сообщений можно использовать исключительно с форумом.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[22]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.11.11 14:09
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Жалко, уже не помню, где искать пример и что конкретно было. Но что то типа этого, что список сообщений вызывает синглтон форума.


Я прекрасно помню этот код, можешь не рассказывать.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[23]: Кто/Где/Почём :)
От: AlexNek  
Дата: 19.11.11 16:13
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AN>>Жалко, уже не помню, где искать пример и что конкретно было. Но что то типа этого, что список сообщений вызывает синглтон форума.


AVK>Я прекрасно помню этот код, можешь не рассказывать.

Не спорю, что папа лучше знает ребенка, чем чужой дядя. Поэтому давай просто рассмотрим абстрактную задачу и как ее нужно решать правильно.

Есть вьювер отображающий объекты типа М, однако эти объекты не поступают списку извне как ожидалось бы, а список их запрашивает через ид контейнера и через синглтон и синглтон может использовать только контейнеры одного типа Ф.

Теперь задача.
Мне нужно отобразить эти же объекты М однако находящиеся в контейнере типа Ф2, никак не совместимого с Ф.
Можно сделать "костыль" и в синглтоне и переключатся между двумя коллекциями контейнеров. А если будет Ф3, развивать "костыль" дальше. Мне такой вариант как то не нравится.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[17]: Кто/Где/Почём :)
От: kochetkov.vladimir Россия https://kochetkov.github.io
Дата: 19.11.11 16:49
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, kochetkov.vladimir, Вы писали:


KV>>С github можно не только по ssh, но и по http работать, правда тогда пароль при операциях с удаленным репозиторием придется вводить. Тем не менее, я только так и работаю из под винды, лень с ключами возиться На RSDN доступ к git-репам по http не сделали, потому что мы с Игорем так и не смогли найти ничего приличного, что позволило бы развернуть это под виндой.


AVK>Я предлагаю переехать на bitbucket и не морочить бабушке моск.


В смысле, на mercurial и в смысле, переехать исходникам сайта или януса?

KV>>Ну и довольно приличные средства roadmapping и bugtracking тоже радуют.

AVK>Этого в гите нет. Ты github имеешь в виду?

Да, конечно.

[Интервью] .NET Security — это просто
Автор: kochetkov.vladimir
Дата: 07.11.17
Re[24]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.11.11 18:58
Оценка:
Здравствуйте, AlexNek, Вы писали:

AN>Мне нужно отобразить эти же объекты М однако находящиеся в контейнере типа Ф2, никак не совместимого с Ф.

AN>Можно сделать "костыль" и в синглтоне и переключатся между двумя коллекциями контейнеров. А если будет Ф3, развивать "костыль" дальше. Мне такой вариант как то не нравится.

А что мешает развернуть зависимость? Введи абстрактный источник данных, и реализуй его как в синглтоне, так и в своих выборках.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[18]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 19.11.11 18:58
Оценка:
Здравствуйте, kochetkov.vladimir, Вы писали:

AVK>>Я предлагаю переехать на bitbucket и не морочить бабушке моск.


KV>В смысле, на mercurial


Я, конечно, за hg, он намного более дружелюбен, но там и гит есть.

KV> и в смысле, переехать исходникам сайта или януса?


Исходникам сайта. Янус опенсорсный, ему приватные репозитории не нужны.

AVK>>Этого в гите нет. Ты github имеешь в виду?


KV>Да, конечно.


В bitbucket тоже все есть. И, если честно, Трак мне нравится больше этих двух.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[25]: Кто/Где/Почём :)
От: AlexNek  
Дата: 20.11.11 11:53
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, AlexNek, Вы писали:


AN>>Мне нужно отобразить эти же объекты М однако находящиеся в контейнере типа Ф2, никак не совместимого с Ф.

AN>>Можно сделать "костыль" и в синглтоне и переключатся между двумя коллекциями контейнеров. А если будет Ф3, развивать "костыль" дальше. Мне такой вариант как то не нравится.

AVK>А что мешает развернуть зависимость? Введи абстрактный источник данных, и реализуй его как в синглтоне, так и в своих выборках.

Ладно сделаем, для этого случая, хотя это мне это не кажется правильным решением. Дело в том что завязка на одиночный источник происходит и при других случаях, то бишь везде нужно искать эти случаи и делать "подпорку" и к ним.

А правильным, мне кажется решение, когда источник отображения просто отображает поступившие данные, он не должен знать откуда они поступают. И также во всех остальных случаях, не делать подпорки, а искать более правильное решение.
Иначе говоря, если объект перестал быть одной единственной сущностью (не будет дискутировать о том должен ли он быть единственной сущностью и при дизайне проекта), как того требует концепт синглтона, то синглтон просто требуется убрать, а не изобретать варианты как бы красивее это сделать с ним.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
Re[19]: Кто/Где/Почём :)
От: akasoft Россия  
Дата: 23.11.11 11:53
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Я, конечно, за hg, он намного более дружелюбен, но там и гит есть.


Вот, кстати, да. Hg куда въезжабельнее гита.
... << RSDN@Home 1.2.0 alpha 5 rev. 1536>> SQL Express 2008 R2
Re[20]: Кто/Где/Почём :)
От: Anton Batenev Россия https://github.com/abbat
Дата: 24.11.11 18:42
Оценка:
Здравствуйте, akasoft, Вы писали:

a> AVK>Я, конечно, за hg, он намного более дружелюбен, но там и гит есть.

a> Вот, кстати, да. Hg куда въезжабельнее гита.

После пары месяцев более-менее интенсивного использования становится без разницы. hg даже обламывать немного начинает своей коммит-ориентированостью.
avalon 1.0rc3 build 428, zlib 1.2.3
Re[17]: Кто/Где/Почём :)
От: Mamut Швеция http://dmitriid.com
Дата: 25.11.11 18:28
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, _Raz_, Вы писали:


AVK>>> На данный момент у гита под виндой очень высокий входной порог.


_R_>>Не согласен.


AVK>Тут несоглашаться нечего. Я лично потратил не один час, чтобы хоть как то заработало. Большинство просто плюнут через 10 минут и уйдут.


Сейчас уже полегче: http://code.google.com/p/gitextensions/ + http://code.google.com/p/msysgit/ дают хорошу связку. Единственное но — генерация ключей для гитхаба может оказаться нетривиальной, но решается описанием процесса (я его, правда, не помню )

Но по сравнению тем же svn это конечно, увы, не настолько все streamlined


dmitriid.comGitHubLinkedIn
Re[18]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 25.11.11 23:07
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Сейчас уже полегче: http://code.google.com/p/gitextensions/ + http://code.google.com/p/msysgit/ дают хорошу связку.


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

M>Но по сравнению тем же svn это конечно, увы, не настолько все streamlined


А вот hg в плане дружелюбности особо от svn не отличается. Так зачем платить больше?
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[22]: Кто/Где/Почём :)
От: Anton Batenev Россия https://github.com/abbat
Дата: 26.11.11 00:45
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK> А если без разницы, то зачем тогда пару месяцев с гитом трахаться?


А вот фиг его знает. Когда коту делать нечего...
Я так в свое время на линукс перешел, потом прошел цепочку svn -> bzr -> hg -> git и, в общем-то, ни о чем не жалею. Есть там какая-то магия, а вот какая словами рассказать не смогу.
avalon 1.0rc3 build 428, zlib 1.2.3
Re[18]: Кто/Где/Почём :)
От: Anton Batenev Россия https://github.com/abbat
Дата: 26.11.11 00:57
Оценка:
Здравствуйте, Mamut, Вы писали:

M> Единственное но — генерация ключей для гитхаба может оказаться нетривиальной, но решается описанием процесса (я его, правда, не помню )


Неужели генерация RSA ключа под виндой такая большая проблема (при наличии Putty)?
avalon 1.0rc3 build 428, zlib 1.2.3
Re[2]: Кто/Где/Почём :)
От: Anton Batenev Россия https://github.com/abbat
Дата: 26.11.11 01:09
Оценка:
Здравствуйте, _Raz_, Вы писали:

R> INFO:Дополнительные возможности 'общения' с сайтом
Автор: AlexNek
Дата: 22.10.11


Ох, спасибо за ссылку... Как оказывается давно это все начиналось — время тикает просто незаметно
avalon 1.0rc3 build 428, zlib 1.2.3
Re[19]: Кто/Где/Почём :)
От: ixor Россия  
Дата: 26.11.11 10:36
Оценка:
Здравствуйте, _Raz_, Вы писали:

AN>>Может откроешь новую ветку и с твоими?


_R_>Уже [Хотелки] Снова админские права
Автор: _Raz_
Дата: 21.05.11
. И я даже сделал это Re[6]: [Хотелки] Снова админские права
Автор: _Raz_
Дата: 21.05.11
.


Я приглядываю за локальной копией с оверлейными иконками:

  Overlay.patch

Index: Dependencies/WindowsAPICodePack
===================================================================
--- Dependencies/WindowsAPICodePack (revision 0)
+++ Dependencies/WindowsAPICodePack (working copy)

Property changes on: Dependencies/WindowsAPICodePack
___________________________________________________________________
Added: bugtraq:url
## -0,0 +1 ##
+http://projects.rsdn.ru:8080/Janus/ticket/%BUGID%
Added: tsvn:logminsize
## -0,0 +1 ##
+5
Added: bugtraq:logregex
## -0,0 +1 ##
+#(\d+)
Index: Dependencies/WindowsAPICodePack/DirectX
===================================================================
--- Dependencies/WindowsAPICodePack/DirectX (revision 0)
+++ Dependencies/WindowsAPICodePack/DirectX (working copy)

Property changes on: Dependencies/WindowsAPICodePack/DirectX
___________________________________________________________________
Added: bugtraq:url
## -0,0 +1 ##
+http://projects.rsdn.ru:8080/Janus/ticket/%BUGID%
Added: tsvn:logminsize
## -0,0 +1 ##
+5
Added: bugtraq:logregex
## -0,0 +1 ##
+#(\d+)
Index: Dependencies/WindowsAPICodePack/DirectX/x64
===================================================================
--- Dependencies/WindowsAPICodePack/DirectX/x64 (revision 0)
+++ Dependencies/WindowsAPICodePack/DirectX/x64 (working copy)

Property changes on: Dependencies/WindowsAPICodePack/DirectX/x64
___________________________________________________________________
Added: bugtraq:url
## -0,0 +1 ##
+http://projects.rsdn.ru:8080/Janus/ticket/%BUGID%
Added: tsvn:logminsize
## -0,0 +1 ##
+5
Added: bugtraq:logregex
## -0,0 +1 ##
+#(\d+)
Index: Dependencies/WindowsAPICodePack/DirectX/x64/Microsoft.WindowsAPICodePack.DirectX.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/DirectX/x64/Microsoft.WindowsAPICodePack.DirectX.dll
===================================================================
--- Dependencies/WindowsAPICodePack/DirectX/x64/Microsoft.WindowsAPICodePack.DirectX.dll (revision 0)
+++ Dependencies/WindowsAPICodePack/DirectX/x64/Microsoft.WindowsAPICodePack.DirectX.dll (working copy)

Property changes on: Dependencies/WindowsAPICodePack/DirectX/x64/Microsoft.WindowsAPICodePack.DirectX.dll
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/DirectX/x64/Microsoft.WindowsAPICodePack.DirectX.pdb
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/DirectX/x64/Microsoft.WindowsAPICodePack.DirectX.pdb
===================================================================
--- Dependencies/WindowsAPICodePack/DirectX/x64/Microsoft.WindowsAPICodePack.DirectX.pdb (revision 0)
+++ Dependencies/WindowsAPICodePack/DirectX/x64/Microsoft.WindowsAPICodePack.DirectX.pdb (working copy)

Property changes on: Dependencies/WindowsAPICodePack/DirectX/x64/Microsoft.WindowsAPICodePack.DirectX.pdb
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/DirectX/x86
===================================================================
--- Dependencies/WindowsAPICodePack/DirectX/x86 (revision 0)
+++ Dependencies/WindowsAPICodePack/DirectX/x86 (working copy)

Property changes on: Dependencies/WindowsAPICodePack/DirectX/x86
___________________________________________________________________
Added: bugtraq:url
## -0,0 +1 ##
+http://projects.rsdn.ru:8080/Janus/ticket/%BUGID%
Added: tsvn:logminsize
## -0,0 +1 ##
+5
Added: bugtraq:logregex
## -0,0 +1 ##
+#(\d+)
Index: Dependencies/WindowsAPICodePack/DirectX/x86/Microsoft.WindowsAPICodePack.DirectX.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/DirectX/x86/Microsoft.WindowsAPICodePack.DirectX.dll
===================================================================
--- Dependencies/WindowsAPICodePack/DirectX/x86/Microsoft.WindowsAPICodePack.DirectX.dll (revision 0)
+++ Dependencies/WindowsAPICodePack/DirectX/x86/Microsoft.WindowsAPICodePack.DirectX.dll (working copy)

Property changes on: Dependencies/WindowsAPICodePack/DirectX/x86/Microsoft.WindowsAPICodePack.DirectX.dll
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/DirectX/x86/Microsoft.WindowsAPICodePack.DirectX.pdb
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/DirectX/x86/Microsoft.WindowsAPICodePack.DirectX.pdb
===================================================================
--- Dependencies/WindowsAPICodePack/DirectX/x86/Microsoft.WindowsAPICodePack.DirectX.pdb (revision 0)
+++ Dependencies/WindowsAPICodePack/DirectX/x86/Microsoft.WindowsAPICodePack.DirectX.pdb (working copy)

Property changes on: Dependencies/WindowsAPICodePack/DirectX/x86/Microsoft.WindowsAPICodePack.DirectX.pdb
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.dll
===================================================================
--- Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.dll (revision 0)
+++ Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.dll (working copy)

Property changes on: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.dll
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll
===================================================================
--- Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll (revision 0)
+++ Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll (working copy)

Property changes on: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.dll
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.pdb
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.pdb
===================================================================
--- Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.pdb (revision 0)
+++ Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.pdb (working copy)

Property changes on: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ExtendedLinguisticServices.pdb
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.pdb
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.pdb
===================================================================
--- Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.pdb (revision 0)
+++ Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.pdb (working copy)

Property changes on: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.pdb
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Sensors.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Sensors.dll
===================================================================
--- Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Sensors.dll (revision 0)
+++ Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Sensors.dll (working copy)

Property changes on: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Sensors.dll
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Sensors.pdb
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Sensors.pdb
===================================================================
--- Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Sensors.pdb (revision 0)
+++ Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Sensors.pdb (working copy)

Property changes on: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Sensors.pdb
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Shell.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Shell.dll
===================================================================
--- Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Shell.dll (revision 0)
+++ Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Shell.dll (working copy)

Property changes on: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Shell.dll
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Shell.pdb
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Shell.pdb
===================================================================
--- Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Shell.pdb (revision 0)
+++ Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Shell.pdb (working copy)

Property changes on: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.Shell.pdb
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ShellExtensions.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ShellExtensions.dll
===================================================================
--- Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ShellExtensions.dll (revision 0)
+++ Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ShellExtensions.dll (working copy)

Property changes on: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ShellExtensions.dll
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ShellExtensions.pdb
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ShellExtensions.pdb
===================================================================
--- Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ShellExtensions.pdb (revision 0)
+++ Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ShellExtensions.pdb (working copy)

Property changes on: Dependencies/WindowsAPICodePack/Microsoft.WindowsAPICodePack.ShellExtensions.pdb
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Janus-Model/CoreServices/TaskbarApi
===================================================================
--- Janus-Model/CoreServices/TaskbarApi (revision 0)
+++ Janus-Model/CoreServices/TaskbarApi (working copy)

Property changes on: Janus-Model/CoreServices/TaskbarApi
___________________________________________________________________
Added: bugtraq:url
## -0,0 +1 ##
+http://projects.rsdn.ru:8080/Janus/ticket/%BUGID%
Added: tsvn:logminsize
## -0,0 +1 ##
+5
Added: bugtraq:logregex
## -0,0 +1 ##
+#(\d+)
Index: Janus-Model/CoreServices/TaskbarApi/IOverlayIconService.cs
===================================================================
--- Janus-Model/CoreServices/TaskbarApi/IOverlayIconService.cs (revision 0)
+++ Janus-Model/CoreServices/TaskbarApi/IOverlayIconService.cs (working copy)
@@ -0,0 +1,10 @@
+п»їusing System;
+
+namespace Rsdn.Janus.TaskbarApi
+{
+ public interface ITaskbarApiService
+ {
+ void Start(IntPtr handle);
+ void Stop();
+ }
+}
Index: Janus-Model/CoreServices/TaskbarApi/OverlayIconType.cs
===================================================================
--- Janus-Model/CoreServices/TaskbarApi/OverlayIconType.cs (revision 0)
+++ Janus-Model/CoreServices/TaskbarApi/OverlayIconType.cs (working copy)
@@ -0,0 +1,20 @@
+п»їnamespace Rsdn.Janus.TaskbarApi
+{
+ public enum OverlayIconType
+ {
+ /// <summary>
+ /// Нет иконки
+ /// </summary>
+ None,
+
+ /// <summary>
+ /// Иконка "Есть новые сообщения"
+ /// </summary>
+ New,
+
+ /// <summary>
+ /// Иконка "Есть сообщения мне"
+ /// </summary>
+ Me
+ }
+}
Index: Janus-Model/Janus-Model.csproj
===================================================================
--- Janus-Model/Janus-Model.csproj (revision 1539)
+++ Janus-Model/Janus-Model.csproj (working copy)
@@ -56,6 +56,8 @@
<Compile Include="CoreServices\Commands\CommandType.cs" />
<Compile Include="CoreServices\Commands\Extensibility\CommandProviderAttribute.cs" />
<Compile Include="CoreServices\Commands\Extensibility\CommandProviderInfo.cs" />
+ <Compile Include="CoreServices\TaskbarApi\IOverlayIconService.cs" />
+ <Compile Include="CoreServices\TaskbarApi\OverlayIconType.cs" />
<Compile Include="CoreServices\Commands\Extensibility\CommandTargetAttribute.cs" />
<Compile Include="CoreServices\Commands\Extensibility\CommandTargetInfo.cs" />
<Compile Include="CoreServices\Commands\ICommandContext.cs" />
Index: Janus/Core/Janus.cs
===================================================================
--- Janus/Core/Janus.cs (revision 1539)
+++ Janus/Core/Janus.cs (working copy)
@@ -7,6 +7,8 @@

using BLToolkit.Data;

+using Microsoft.WindowsAPICodePack.Taskbar;
+
using Rsdn.Janus.Framework;
using Rsdn.SmartApp;

@@ -29,6 +31,8 @@
return true;
}

+ internal static bool TaskbarManagerIsPlatformSupported { get; private set; }
+
[STAThread]
public static void Main()
{
@@ -64,6 +68,8 @@
if (!CheckEnvironment())
return;

+ TaskbarManagerIsPlatformSupported = TaskbarManager.IsPlatformSupported;
+
TraceVerbose("ResMgr");

var rootManager = new ServiceManager(true);
Index: Janus/Core/Synchronization/UI/SyncForm.cs
===================================================================
--- Janus/Core/Synchronization/UI/SyncForm.cs (revision 1539)
+++ Janus/Core/Synchronization/UI/SyncForm.cs (working copy)
@@ -4,6 +4,8 @@
using System.Drawing;
using System.Windows.Forms;

+using Microsoft.WindowsAPICodePack.Taskbar;
+
using Rsdn.SmartApp;

namespace Rsdn.Janus
@@ -138,7 +140,7 @@
get { return _progressPie.Value; }
set
{
— _progressPie.Value = value;
+ _progressPie.Value = value;
_progressPie.Invalidate();
}
}
@@ -157,9 +159,41 @@
Clipboard.SetText(_errors.GetText());
}

+ #region Windows Taskbar Progress
+
+ private void WindowsTaskbarSetProgressState(int current, int max)
+ {
+ var state = _errorMode
+ ? TaskbarProgressBarState.Error
+ : (max >= 0 ? TaskbarProgressBarState.Normal : TaskbarProgressBarState.Indeterminate);
+ WindowsTaskbarSetProgressState(state, current, max > 0 ? max : (int?) null);
+ }
+
+ private void WindowsTaskbarSetProgressState(TaskbarProgressBarState state, int? current, int? max)
+ {
+ if (!Janus.TaskbarManagerIsPlatformSupported)
+ {
+ return;
+ }
+
+ var taskbar = TaskbarManager.Instance;
+ _asyncOp.Post(() => taskbar.SetProgressState(state, Handle));
+
+ if (!current.HasValue || !max.HasValue)
+ {
+ return;
+ }
+
+ _asyncOp.Post(() => taskbar.SetProgressValue(current.Value, max.Value, Handle));
+ }
+
+ #endregion
+
#region IProgressVisualizer Members
public void ReportProgress(int total, int current)
{
+ WindowsTaskbarSetProgressState(current, total);
+
_asyncOp.Post(
state =>
{
@@ -182,6 +216,7 @@
#endregion

#region ITaskIndicatorProvider Implementation
+
private void RefreshIndicators()
{
_asyncOp.Post(() => _syncTaskList.Invalidate());
@@ -204,10 +239,10 @@
indicator.TaskName,
indicator.StartTime != null
? indicator.StartTime.Value.TimeOfDay.ToSecondsString()
— : "",
+ : string.Empty,
duration != null
? duration.ToSecondsString()
— : "",
+ : string.Empty,
indicator.StatusText
}) { ImageIndex = _taskStateImageIndexes[indicator.CurrentState] };
}
@@ -218,13 +253,14 @@
_indicators.Add(indicator);
_asyncOp.Post(
() =>
— {
— _syncTaskList.VirtualListSize = _indicators.Count;
— _refreshDurationTimer.Enabled = true;
— });
+ {
+ _syncTaskList.VirtualListSize = _indicators.Count;
+ _refreshDurationTimer.Enabled = true;
+ });
RefreshIndicators();
return indicator;
}
+
#endregion

#region ISyncErrorInformer Members
@@ -233,7 +269,7 @@
DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 0)
— switch ((SyncErrorType)e.Value)
+ switch ((SyncErrorType) e.Value)
{
case SyncErrorType.Warning:
e.Value = _warningIcon;
@@ -262,6 +298,7 @@
Height = _errorHeight;
_copyButton.Visible = true;
_errorMode = true;
+ WindowsTaskbarSetProgressState(TaskbarProgressBarState.Error, null, null);
}
});
}
@@ -278,6 +315,7 @@
}
return false;
}
+
#endregion
}
}
\ No newline at end of file
Index: Janus/Core/TaskbarApi
===================================================================
--- Janus/Core/TaskbarApi (revision 0)
+++ Janus/Core/TaskbarApi (working copy)

Property changes on: Janus/Core/TaskbarApi
___________________________________________________________________
Added: bugtraq:url
## -0,0 +1 ##
+http://projects.rsdn.ru:8080/Janus/ticket/%BUGID%
Added: tsvn:logminsize
## -0,0 +1 ##
+5
Added: bugtraq:logregex
## -0,0 +1 ##
+#(\d+)
Index: Janus/Core/TaskbarApi/TaskbarApiService.cs
===================================================================
--- Janus/Core/TaskbarApi/TaskbarApiService.cs (revision 0)
+++ Janus/Core/TaskbarApi/TaskbarApiService.cs (working copy)
@@ -0,0 +1,144 @@
+п»їusing System;
+using System.ComponentModel;
+using System.Drawing;
+using JetBrains.Annotations;
+using Microsoft.WindowsAPICodePack.Taskbar;
+using Rsdn.Janus.Core.NotifyIcon;
+using Rsdn.SmartApp;
+
+namespace Rsdn.Janus.TaskbarApi
+{
+ [Service(typeof (ITaskbarApiService))]
+ internal class TaskbarApiService : ITaskbarApiService
+ {
+ #region Fields
+
+ private static Icon _overlayMe;
+ private static Icon _overlayNew;
+
+ private readonly IForumsAggregatesService _forumsAggregatesService;
+ private IDisposable _aggregatesChangedSubscription;
+ private readonly AsyncOperation _uiAsyncOperation;
+ private IntPtr _handle;
+
+ #endregion
+
+ #region Constructor
+
+ public TaskbarApiService([NotNull] IServiceProvider serviceProvider)
+ {
+ if (serviceProvider == null)
+ throw new ArgumentNullException("serviceProvider");
+
+ var serviceManager = new ServiceManager(serviceProvider);
+
+ var assembly = typeof (TaskbarApiService).Assembly;
+ _overlayMe = assembly.LoadIcon(ApplicationInfo.ResourcesNamespace + "OverlayMe.ico");
+ _overlayNew = assembly.LoadIcon(ApplicationInfo.ResourcesNamespace + "OverlayNew.ico");
+
+ _uiAsyncOperation = serviceManager
+ .GetRequiredService<IUIShell>()
+ .CreateUIAsyncOperation();
+
+ _forumsAggregatesService = serviceManager.GetService<IForumsAggregatesService>();
+ }
+
+ #endregion
+
+ #region Methods
+
+ private void UpdateIcon()
+ {
+ var iconType = OverlayIconType.None;
+ string text = null;
+
+ var totalUnread = _forumsAggregatesService.UnreadMessagesCount;
+ var meUnread = _forumsAggregatesService.UnreadRepliesToMeCount;
+
+ if (totalUnread > 0)
+ {
+ if (meUnread > 0)
+ {
+ text = "{0} {1}".FormatStr(
+ meUnread,
+ meUnread.GetDeclension(
+ NotifyIconResources.HintMeMessages1,
+ NotifyIconResources.HintMeMessages2,
+ NotifyIconResources.HintMeMessages5));
+ iconType = OverlayIconType.Me;
+ }
+ else
+ {
+ text = "{0} {1}".FormatStr(
+ totalUnread,
+ totalUnread.GetDeclension(
+ NotifyIconResources.HintUnreadMessages1,
+ NotifyIconResources.HintUnreadMessages2,
+ NotifyIconResources.HintUnreadMessages5));
+ iconType = OverlayIconType.New;
+ }
+ }
+
+ SetIcon(iconType, text);
+ }
+
+ private void SetIcon(OverlayIconType iconTypeType, string text)
+ {
+ if (!Janus.TaskbarManagerIsPlatformSupported)
+ {
+ return;
+ }
+
+ Icon icon = null;
+ switch (iconTypeType)
+ {
+ case OverlayIconType.New:
+ icon = _overlayNew;
+ break;
+
+ case OverlayIconType.Me:
+ icon = _overlayMe;
+ break;
+ }
+
+ _uiAsyncOperation.Post(() => TaskbarManager.Instance.SetOverlayIcon(_handle, icon, text));
+ }
+
+ #endregion
+
+ #region Implementation of IOverlayIconService
+
+ public void Start(IntPtr handle)
+ {
+ if (!Janus.TaskbarManagerIsPlatformSupported)
+ {
+ return;
+ }
+
+ _handle = handle;
+
+ if (_aggregatesChangedSubscription == null)
+ {
+ _aggregatesChangedSubscription = _forumsAggregatesService.AggregatesChanged.Subscribe(args => UpdateIcon());
+ }
+ UpdateIcon();
+ }
+
+ public void Stop()
+ {
+ if (!Janus.TaskbarManagerIsPlatformSupported)
+ {
+ return;
+ }
+ if (_aggregatesChangedSubscription != null)
+ {
+ _aggregatesChangedSubscription.Dispose();
+ _aggregatesChangedSubscription = null;
+ }
+
+ SetIcon(OverlayIconType.None, null);
+ }
+
+ #endregion
+ }
+}
Index: Janus/Core/UI/MainForm.cs
===================================================================
--- Janus/Core/UI/MainForm.cs (revision 1539)
+++ Janus/Core/UI/MainForm.cs (working copy)
@@ -7,6 +7,7 @@
using JetBrains.Annotations;

using Rsdn.Janus.ObjectModel;
+using Rsdn.Janus.TaskbarApi;
using Rsdn.Shortcuts;
using Rsdn.SmartApp;
using Rsdn.Janus.Framework;
@@ -113,8 +114,14 @@
_navigationComboBoxGenerator = new NavigationComboBoxGenerator(_serviceProvider, _navigationBox);
_mainMenuGenerator = new StripMenuGenerator(_serviceProvider, _menuStrip, "MainForm.Menu");
_toolBarGenerator = new StripMenuGenerator(_serviceProvider, _toolStrip, "MainForm.Toolbar");
— }

+ var overlayService = _serviceProvider.GetService<ITaskbarApiService>();
+ if (overlayService != null)
+ {
+ overlayService.Start(Handle);
+ }
+ }
+
protected override void OnClosing(CancelEventArgs e)
{
base.OnClosing(e);
@@ -163,6 +170,12 @@
// GUI-контролы отображающие интерфейс для фич сохраняют свое
// состояние непосредствено внутри себя.
Features.Instance.Dispose();
+
+ var overlayService = _serviceProvider.GetService<ITaskbarApiService>();
+ if (overlayService != null)
+ {
+ overlayService.Stop();
+ }
}

protected override void OnLocationChanged(EventArgs e)
Index: Janus/Janus.csproj
===================================================================
--- Janus/Janus.csproj (revision 1539)
+++ Janus/Janus.csproj (working copy)
@@ -145,6 +145,16 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Dependencies\lucene\Lucene.Net.dll</HintPath>
</Reference>
+ <Reference Include="Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\Dependencies\WindowsAPICodePack\Microsoft.WindowsAPICodePack.Shell.dll</HintPath>
+ </Reference>
+ <Reference Include="PresentationCore">
+ <RequiredTargetFramework>3.0</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="PresentationFramework">
+ <RequiredTargetFramework>3.0</RequiredTargetFramework>
+ </Reference>
<Reference Include="R.SAT-Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\Dependencies\R.SAT\R.SAT-Common.dll</HintPath>
@@ -537,6 +547,8 @@
<Content Include="ReadMe.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
+ <EmbeddedResource Include="Resources\OverlayMe.ico" />
+ <EmbeddedResource Include="Resources\OverlayNew.ico" />
<Content Include="Sound\Alarm.wav">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
@@ -611,6 +623,7 @@
<DependentUpon>NotifyIconResources.resx</DependentUpon>
</Compile>
<Compile Include="Core\NotifyIcon\NotifyIconService.cs" />
+ <Compile Include="Core\TaskbarApi\TaskbarApiService.cs" />
<Compile Include="Core\Synchronization\AutoSyncActivePart.cs" />
<Compile Include="Core\Synchronization\ProxyAuthForm.cs">
<SubType>Form</SubType>
Index: Janus/Resources/OverlayMe.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Janus/Resources/OverlayMe.ico
===================================================================
--- Janus/Resources/OverlayMe.ico (revision 0)
+++ Janus/Resources/OverlayMe.ico (working copy)

Property changes on: Janus/Resources/OverlayMe.ico
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Janus/Resources/OverlayNew.ico
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: Janus/Resources/OverlayNew.ico
===================================================================
--- Janus/Resources/OverlayNew.ico (revision 0)
+++ Janus/Resources/OverlayNew.ico (working copy)

Property changes on: Janus/Resources/OverlayNew.ico
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
Index: Rsdn/Janus.Rsdn/Janus.Rsdn.csproj
===================================================================
--- Rsdn/Janus.Rsdn/Janus.Rsdn.csproj (revision 1539)
+++ Rsdn/Janus.Rsdn/Janus.Rsdn.csproj (working copy)
@@ -3,7 +3,7 @@
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
— <ProductVersion>8.0.30703</ProductVersion>
+ <ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{05DB1D31-EC6E-4AF8-A554-57FF1C5F4171}</ProjectGuid>
<OutputType>Library</OutputType>


Вот он твой патч
Как сайчас помню — затрачено 6 часов на внедрение того, что ты дал, в то, что было. Скорее всего еще часа три времени понадобится на админские права. Делай выводы сам.

Что касается конкретно этого патча: добавляются новые библиотеки от стороннего производителя и такую зависимость вводить без указания лицензии — нельзя.
В лицензионных соглашениях я не силен, поэтому ждал (и по сей день жду) разрешения от AWK.

_R_>И заметь, что всем ссылкам по пол года.


Простите, а как Вы хотели?
Что касается админских прав: я готов потратить некоторое время на слияние кода, но дать положительный кодревью — я не смогу. Проблемматика админских прав мне совершенно не знакома (столкнулся с ней всего пару месяцев назад и для себя решил этот вопрос радикально — отказом от действий с админскими правами), поэтому как этот вопрос правильно протестировать представляется смутно. Иными словами, я могу сделать это только в слепую, полностью доверяя тебе как специалисту. Если сломается релиз — кто будет его чинить?? и кто будет виноват, что залил непроверенный код?? Разумеется — ixor. Поэтому я и не лезу.
Об этом я тебе и Алексу говорил пол года назад — заостряю внимание и сейчас.

С уважением, ixor.

P.S.: Я вижу, что ты отличный программист (очевидно, что опытнее меня), но не понимаю почему ты так боишься коммитеть сам.

С уважением, ixor.
<< RSDN@Home 1.2.0 alpha 5 rev. 1535>> Windows 7 x86 v6.1.7601.65536 framework v2.0.50727.5448
Re[20]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.11.11 11:41
Оценка:
Здравствуйте, ixor, Вы писали:

I>Что касается конкретно этого патча: добавляются новые библиотеки от стороннего производителя и такую зависимость вводить без указания лицензии — нельзя.

I>В лицензионных соглашениях я не силен, поэтому ждал (и по сей день жду) разрешения от AWK.

Новые библиотеки это Code Pack, который API к семеркиным фичам? Его можно, у него лицензия весьма либеральная.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[21]: Кто/Где/Почём :)
От: ixor Россия  
Дата: 26.11.11 13:21
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, ixor, Вы писали:


I>>Что касается конкретно этого патча: добавляются новые библиотеки от стороннего производителя и такую зависимость вводить без указания лицензии — нельзя.

I>>В лицензионных соглашениях я не силен, поэтому ждал (и по сей день жду) разрешения от AWK.

AVK>Новые библиотеки это Code Pack, который API к семеркиным фичам? Его можно, у него лицензия весьма либеральная.


Хорошо. Тогда я лицензию в "О программе" добавлю по образцу, посмотрю что бы все аккуратно было и залью.

P.S.: В тысячный раз извиняюсь за "AWK". Не знаю чо меня так клинит...
P.P.S.: Кинул запрос в скайп. Если есть конференция — добавляйте.

С уважением, ixor.
<< RSDN@Home 1.2.0 alpha 5 rev. 1535>> Windows 7 x86 v6.1.7601.65536 framework v2.0.50727.5448
Re[20]: Кто/Где/Почём :)
От: _Raz_  
Дата: 26.11.11 17:27
Оценка:
Здравствуйте, ixor, Вы писали:

[все скипнуто]

Что я? Это АВК надо разбудить!
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[21]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.11.11 17:44
Оценка:
Здравствуйте, _Raz_, Вы писали:

_R_>Что я? Это АВК надо разбудить!


АВК на прошлых выходных задал тебе вопрос, что конкретно он может сделать, чтобы тебе помочь, но ответа так и не дождался.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[22]: Кто/Где/Почём :)
От: _Raz_  
Дата: 26.11.11 17:55
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>АВК на прошлых выходных задал тебе вопрос, что конкретно он может сделать, чтобы тебе помочь, но ответа так и не дождался.

А там не о чем конкретном речи не было. Только мои претензии. Или мы, все таки, пришли к конкретным вопросам?
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[23]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.11.11 17:58
Оценка:
Здравствуйте, _Raz_, Вы писали:

AVK>>АВК на прошлых выходных задал тебе вопрос, что конкретно он может сделать, чтобы тебе помочь, но ответа так и не дождался.

_R_>А там не о чем конкретном речи не было.

Ну а чего ты тогда от меня вообще хочешь услышать или получить?

_R_>Или мы, все таки, пришли к конкретным вопросам?


Пришли? С этого начинать надо было.
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[24]: Кто/Где/Почём :)
От: _Raz_  
Дата: 26.11.11 18:03
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ну а чего ты тогда от меня вообще хочешь услышать или получить?

D. Большую букву D. Dcvs.

_R_>>Или мы, все таки, пришли к конкретным вопросам?

AVK>Пришли? С этого начинать надо было.
Да понятно, что это только разговоры.
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[25]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.11.11 18:04
Оценка:
Здравствуйте, _Raz_, Вы писали:

AVK>>Ну а чего ты тогда от меня вообще хочешь услышать или получить?

_R_>D. Большую букву D. Dcvs.

Hg тебя устроит?
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[26]: Кто/Где/Почём :)
От: _Raz_  
Дата: 26.11.11 18:06
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Hg тебя устроит?

Вполне
... << RSDN@Home 1.2.0 alpha 5 (M6) rev. 1511>>
Re[27]: Кто/Где/Почём :)
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 26.11.11 18:16
Оценка:
Здравствуйте, _Raz_, Вы писали:

AVK>>Hg тебя устроит?

_R_>Вполне

https://bitbucket.org/andrewvk/janus
... << RSDN@Home 1.2.0 alpha 5 rev. 1537 on Windows 7 6.1.7601.65536>>
AVK Blog
Re[20]: Кто/Где/Почём :)
От: Anton Batenev Россия https://github.com/abbat
Дата: 26.11.11 22:45
Оценка:
Здравствуйте, Mamut, Вы писали:

M> Сама генерация — нет, но надо еще, чтобы git подхватил этот ключ для работы с GitHub'ом. Помнится, я далеко не сразу заставил его это сделать.


Соглашусь с тем, что интерфейс github странный. Например, я только недавно обнаружил, что там можно аттачить файлы (после того, как прочитал про выкладку сборок Nemerle). Но если ты вспомнишь про суть проблем с выкладыванием ключа и опишешь ее, то, думаю, это может кому-нибудь помочь в будущем.
avalon 1.0rc3 build 428, zlib 1.2.3
Re[11]: Кто/Где/Почём :)
От: ixor Россия  
Дата: 27.11.11 10:54
Оценка:
Здравствуйте, Буравчик, Вы писали:

Б>Здравствуйте, AndrewVK, Вы писали:


AVK>>Я тебе с самого начала говорил, что стоит все таки научится работать в команде и вносить правки в основную версию.


Б>Я тоже считаю не совсем правильным подход, выбранный AlexNek. Лучше б править основной проект. Однако это позволило ему достаточно активно развивать проект, не оглядываясь на других. И это очень хорошо.


Б>В то же время, было достаточно мало изменений в оригинальном Janus. Может, пока не поздно, есть смысл объединить проекты? Перенести наработки в оригинальный проект или сосредоточить усилия только на JanusEx, или еще какие-нибудь варианты. Есть у кого какие мысли по этому поводу?


Объединять сейчас будет трудозатратно. Алекс, применяет другое форматирование кода...)) Геморрой
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Re[12]: Кто/Где/Почём :)
От: AlexNek  
Дата: 27.11.11 13:07
Оценка:
Здравствуйте, ixor, Вы писали:

I>Здравствуйте, Буравчик, Вы писали:


Б>>Здравствуйте, AndrewVK, Вы писали:


AVK>>>Я тебе с самого начала говорил, что стоит все таки научится работать в команде и вносить правки в основную версию.


Б>>Я тоже считаю не совсем правильным подход, выбранный AlexNek. Лучше б править основной проект. Однако это позволило ему достаточно активно развивать проект, не оглядываясь на других. И это очень хорошо.


Б>>В то же время, было достаточно мало изменений в оригинальном Janus. Может, пока не поздно, есть смысл объединить проекты? Перенести наработки в оригинальный проект или сосредоточить усилия только на JanusEx, или еще какие-нибудь варианты. Есть у кого какие мысли по этому поводу?


I>Объединять сейчас будет трудозатратно. Алекс, применяет другое форматирование кода...)) Геморрой

Если совсем ничего не менять, то я просто не буду "понимать код" да и перестраиваться между работой и "домом" будет проблематично. Так что отдельные "свежие изменения" нужно просто "дублировать", и безусловно, что никто другой этим заниматься не будет.
Cообщение написано в &lt;&lt; RSDN@Home 1.2.0 alpha 5-AN-R6 rev. 8461&gt;&gt;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.