Переключение на Главную Страницу Страницы: [1] 2  ОтправитьПечать
Очень популярная тема (более 25 ответов) Коллективная разработка, плагин (число прочтений - 13326 )
progr
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 20. Марта 2007
Коллективная разработка, плагин
20. Марта 2007 :: 06:12
Печать  
Господа, кто нибудь реализовывал коллективную работу с репозитарием классов. Хотя бы на примитивном уровне. Например когда кто-нибудь начинает редактировать файл, программа тут же пытается блокировать его на сервере, при записи  - объект автоматически освобождается. Естетственно что блокировка нужна только от редактирования, а не от чтения, стобы не блокировать работу пользователей программы 1С.
Собвственно что мне нужно, либо готовый плагин от того кто это уже делал, либо чтобы подсказали точки входа:
-мне нужен перехват начала редактирования текста модуля (или хотя бы в какую сторону копать)
-перехват момента записи
Я готов сам написать dll на с++ (у меня уже есть большой опыт такого написания с использованием Rainbow)
  
Наверх
 
IP записан
 
progr
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 20. Марта 2007
Re: Коллективная разработка, плагин
Ответ #1 - 20. Марта 2007 :: 11:23
Печать  
Дайте кто-нибудь пример написания плагина, плз!!!
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Коллективная разработка, плагин
Ответ #2 - 20. Марта 2007 :: 11:29
Печать  
В ветке http://www.1cpp.ru/forum/YaBB.pl?num=1148975574 во вложениях есть примеры плагинов.

И еще в догонку: http://www.1cpp.ru/forum/YaBB.pl?num=1150990860
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
progr
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 20. Марта 2007
Re: Коллективная разработка, плагин
Ответ #3 - 20. Марта 2007 :: 12:05
Печать  
Спсибо, буду создавать новый плагин...
  
Наверх
 
IP записан
 
kuntashov
Full Member
***
Отсутствует


1С:Специалист

Сообщений: 130
Местоположение: Саратов
Зарегистрирован: 13. Июня 2006
Пол: Мужской
Re: Коллективная разработка, плагин
Ответ #4 - 20. Марта 2007 :: 12:12
Печать  
Цитата:
Господа, кто нибудь реализовывал коллективную работу с репозитарием классов. Хотя бы на примитивном уровне. Например когда кто-нибудь начинает редактировать файл, программа тут же пытается блокировать его на сервере, при записи  - объект автоматически освобождается. Естетственно что блокировка нужна только от редактирования, а не от чтения, стобы не блокировать работу пользователей программы 1С.


CVS? SVN?

Хотя, возможно, я чего-то не понял...
  

С уважением, &&Александр Кунташов&&http://kuntashov.ru/
Наверх
 
IP записан
 
progr
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 20. Марта 2007
Re: Коллективная разработка, плагин
Ответ #5 - 21. Марта 2007 :: 18:51
Печать  
Нет это не CVS, просто у нас все запущено в этом плане и хочется в качестве первого этапа хотябя разруливать захват объектов (классов и текстовиков форм).

....
....
Начал уже копать и понял, что блин много крови придется потратить. Самое главное понять какие точки (методы) перехватить.
Кстати, ни у кого нет опыта перехвата виртуальных методов?
  
Наверх
 
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Коллективная разработка, плагин
Ответ #6 - 21. Марта 2007 :: 18:56
Печать  
progr писал(а) 21. Марта 2007 :: 18:51:
Нет это не CVS, просто у нас все запущено в этом плане и хочется в качестве первого этапа хотябя разруливать захват объектов (классов и текстовиков форм).

....
....
Начал уже копать и понял, что блин много крови придется потратить. Самое главное понять какие точки (методы) перехватить.
Кстати, ни у кого нет опыта перехвата виртуальных методов?


Не совсем понятно что подразумевается под коллективной разработкой...

Это что будет АНАЛОГ SVN (CVS)... Тогда действительно будет МНОГО крови попорчено...

Или просто единый каталог файлов на сервере с правами доступа разграниченными????

Или проблема в управлении проектом ?
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
progr
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 20. Марта 2007
Re: Коллективная разработка, плагин
Ответ #7 - 21. Марта 2007 :: 18:59
Печать  
Это будет "просто единый каталог файлов на сервере с правами доступа разграниченными". Совершенно точно подмечено.
  
Наверх
 
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Коллективная разработка, плагин
Ответ #8 - 21. Марта 2007 :: 19:05
Печать  
progr писал(а) 21. Марта 2007 :: 18:59:
Это будет "просто единый каталог файлов на сервере с правами доступа разграниченными". Совершенно точно подмечено.


Сейчас задам глупый вопрос.... Улыбка Улыбка

"А когда возникнет вопрос с версионностью и откатом ревизии класса, историей разработки и т.д. - каталог файлов превращается в реальный репозитарий"

Может лучше не изобретать велосипед... (чистое ИМХО)
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
progr
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 10
Зарегистрирован: 20. Марта 2007
Re: Коллективная разработка, плагин
Ответ #9 - 21. Марта 2007 :: 19:08
Печать  
Гм, а что уже есть ткой плагин?? Я ведь не хочу создавать новый, хочется сначала поискать есть ли готовый, время-то оно деньги...
  
Наверх
 
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Коллективная разработка, плагин
Ответ #10 - 21. Марта 2007 :: 19:28
Печать  
Сейчас я озвучу то мнение которое у меня сформировалось за последнее время... А точнее решение которое использую я...

Задача: Реализовать систему коллективной разработки классов, конфигураций, ert и всякой другой 1С-ной (и не только) ерунды

1. НА стороне разработчика (пользователя репозитария)
- 1С + OpenConf (и IDE Интеллигент) + плагин Подсистемы от Phoenix'а (очень помогает)
- Tortoise (черепаха CVS or SVN = у меня кстати обе установлены)
- gcomp естественно....

2. На стороне сервера
- subversions (svn) = собственно сам движок, где права доступа и настроены
- svnserve - для удаленного доступа из локалки и внешки...
- Trac (система управления репозитарием (проектами репозитария)) = ставится локально за час со всеми настройками под управлением localhost на Python (c Апатчем будет посложнее но решаемо)

3. На стороне клиента - реального пользователя разработки
- система получения обновлений из репозитария
- собственно обновление

Я в своих поисках в свое время ничего УНИВЕРСАЛЬНОГО не нашел...
и часть действий до сих пор приходится проделывать ручками Нерешительный

P.S. В КУРИЛКЕ да и не только в ней есть много подобных тем...
http://www.1cpp.ru/forum/YaBB.pl?num=1167283876 ;   Например вот одна из них...
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Коллективная разработка, плагин
Ответ #11 - 21. Марта 2007 :: 20:01
Печать  
Я в свое время еще на itland предлагал идею, но что-то единомышленников не нашлось.

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

А для этого надо, чтобы этот файл разобрался, обновился, собрался и загрузился обновленный вариант в конфигуратор. То есть нужно выполнить цикл "decompile-update-compile-refresh".

Для того, чтобы зафиксировать свои изменения в указанный цикл достаточно добавить операцию commit. Получается второй вариант цикла: "decompile-update-commit-compile-refresh". (Кстати, в этом случае не обязательно дожидаться завершения операции commit. В принципе, пользователь может от нее и отказаться.)

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

Для того, чтобы все это делать не выходя из конфигуратора, планировалось собрать GComp в виде плагина для Openconf. А также были мысли по использованию/доработке плагина 1CVS.
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: Коллективная разработка, плагин
Ответ #12 - 22. Марта 2007 :: 07:24
Печать  
О, вот и первое упоминание о первой попытке Улыбка
Хотя щас я на subversion перешел, и тащусь неподетски.
Для желающих могу сообщить, как в конфигураторе получить IStorage темпового мдшника, с которым идет вся работа в конфигураторе. А уж через него можно вообще все перебрать, имея наработки gcomp'а.
По сути, получается, надо только из конфигуратора выгружать тексты в локальный каталог, и вызывать команды TortoiseSVN. Ну и загружать обратно.
Также могу поделиться кодом, как создать встроенное окно проводника, и управлять им и файлами, в нем находящимися. Самое то для черепашки.
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Коллективная разработка, плагин
Ответ #13 - 22. Марта 2007 :: 07:49
Печать  
я использую черепаху + gcomp
скриптом вызываю разбор МД, далее из подсистем, закладка Explorer вызываю фиксацию изменений.
Саш, описанный тобой функционал очень интересен. получилось бы намного удобней чем нынешние решения.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: Коллективная разработка, плагин
Ответ #14 - 22. Марта 2007 :: 09:13
Печать  
orefkov писал(а) 22. Марта 2007 :: 07:24:
По сути, получается, надо только из конфигуратора выгружать тексты в локальный каталог, и вызывать команды TortoiseSVN. Ну и загружать обратно.

В принципе, да. Только надо, чтобы описанные мною циклы всегда завершались. Иначе возникают описанные мною накладки, с которыми потом приходится бороться.

Артур может все это подтвердить, так как тоже прошелся по этим граблям.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 
ОтправитьПечать