You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openmeetings.apache.org by Maxim Solodovnik <so...@gmail.com> on 2012/03/23 11:12:39 UTC

Openmeetings with jabber integration

Hello Sebastian,

While helping with integrating openmeetings with jabber I have created
JabberService with following methods:

/*Returns the list of all rooms available to the user identified by SID*/
public Rooms[] getAvailableRooms(String SID)

/*Returns number of users in particular room*/
int getUserCount(String SID, Long roomId)

/*Returns one-time invitation hash for the particular user*/
String getInvitationHash(String SID, String username, Long room_id)

The reasons for creating such service are:
1) the functionality above was necessary
2) There are no such methods available or there are methods but available
for admin only

Can I check this work into the trunk?
If yes should I create separate JabberService (as it is now) or add
necessary methods to correspondent services: UserService/RoomService?


And one additional question:
why do we have:
src/fileservice
src/jabberservice
src/roomservice
src/userservice

but not:
src/webservices
or even better:
src/app/org/openmeetings/axis/services


Thanks in advance for your answers

-- 
WBR
Maxim aka solomax

Re: Openmeetings with jabber integration

Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
Ok convinced :)

+1

2012/3/23 Maxim Solodovnik <so...@gmail.com>:
>>>>docgenerator is only needed while compiling the source code, it
>>>>contains code to generate the SOAP/REST API docs.
>
> I understand that. I will not add it to the dist and or any jars.
> But having all sources in src folder will:
> 1) make Eclipse source tree better organized
> 2) make build.xml simplier and easier to maintain
>
> For example right now I need to add new web service.
> I need to:
> 1) change eclipse project (add additional folder to build path
> 2) modify build.xml to add additional service
> 3) modify openmeetings-applicationContext.xml to add new beans
> IMHO it is too much.
>
>
> On Fri, Mar 23, 2012 at 22:05, seba.wagner@gmail.com <se...@gmail.com>
> wrote:
>>
>> No,
>>
>> docgenerator is only needed while compiling the source code, it
>> contains code to generate the SOAP/REST API docs.
>>
>> 2 + 3 => +1
>>
>> I already wanted to rename the the project too but I think you better
>> edit the file in the SVN directly then locally cause otherwise eclipse
>> might take 1-2 hours to copy all your files to new location :)
>>
>> Sebastian
>>
>> 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
>> > OK great :)
>> >
>> > 3 more questions:
>> > 1) currently src contains following folders:
>> > app
>> > calendarservice
>> > docgenerator
>> > fileservice
>> > META-INF
>> > red5-screenshare
>> > roomservice
>> > src_tool
>> > stored
>> > templates
>> > test
>> > userservice
>> >
>> > IMHO all of them can be substituted with org/openmeetings/... structure.
>> > And
>> > filtered on the level of jar creation.
>> > Can I implement that?
>> >
>> > 2) WebContent/WEB-INF/red5-services/* almost all of these xml files
>> > contains
>> > just 1 bean definition (with some exclusions). Can we merge it
>> > into openmeetings-applicationContext.xml or maybe
>> > into openmeetings-services.xml ?
>> >
>> > 3) I would like to rename Eclipse project. Let it be Openmeetings
>> > instead of
>> > ROOT?
>> >
>> > On Fri, Mar 23, 2012 at 18:33, seba.wagner@gmail.com
>> > <se...@gmail.com>
>> > wrote:
>> >>
>> >> 2012/3/23 seba.wagner@gmail.com <se...@gmail.com>:
>> >> > Yes that is kind of not consistent. Let me describe the "historical
>> >> > background":
>> >> >
>> >> > The compiled classes of the webservice once where packaged not in the
>> >> > openmeetings.jar but into the .aar file. Each webService had its own
>> >> > Beans like the "FLVRecordingReturn" ... we had to compile those Beans
>> >> > into the .aar file for beeing able to use it in the WebService as
>> >> > return type. Classes of the openmeetings.jar where not available to
>> >> > Axis2 at that time.
>> >> > My initial thinking was that I better create some separated source
>> >> > folder for each webservice as each webservice would have its own
>> >> > Beans
>> >> > individually designed for each RPC call / return type.
>> >> >
>> >> > Now the compiled classes are all in WEB-INF/lib, the .aar only
>> >> > contains the service.xml, the previous problem with the return type
>> >> > doesn't exist anymore.
>> >> >
>> >> >  Actually everything could be moved into src/main.
>> >> >
>> >> > Sebastian
>> >> >
>> >> > 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
>> >> >> I do understand why folders are named this way.
>> >> >> What I don't understand is: why they should be in different folders?
>> >> >> They go to the same folder after compiling, so why should they be in
>> >> >> different folders as sources?
>> >> >>
>> >> >> On Mar 23, 2012 6:17 PM, "seba.wagner@gmail.com"
>> >> >> <se...@gmail.com>
>> >> >> wrote:
>> >> >>>
>> >> >>> Hi Maxim,
>> >> >>>
>> >> >>> the source folder name is called "fileservice" as the axis
>> >> >>> webService
>> >> >>> URL path it is mapped to is also
>> >> >>> localhost:5080/openmeetings/services/FileService?wsdl
>> >> >>> same as source folder "roomservice" is
>> >> >>> localhost:5080/openmeetings/services/RoomService?wsdl
>> >> >>> so: Each Axis2 WebService has its own source folder with the
>> >> >>> package
>> >> >>> structure:
>> >> >>> org.openmeetings.axis.services.* (and the URL pattern in lowercase
>> >> >>> as
>> >> >>> source folder).
>> >> >>>
>> >> >>> I have given internally the Classes the names * + WebService to
>> >> >>> have
>> >> >>> an indicator in the name of the class for beeing used in the Axis2
>> >> >>> or
>> >> >>> related to the Axis2 WebService.
>> >> >>> Otherwise it is easy to mix it up with the "Services" that are in
>> >> >>> the
>> >> >>> package:
>> >> >>> org.openmeetings.app.remote.* (those are deployed as Red5 service
>> >> >>> and
>> >> >>> available via RTMP)
>> >> >>>
>> >> >>> I don't know "jabberservice" (yet :)) but is this a REST or a RTMP
>> >> >>> service?
>> >> >>> If its a RTMP related serveice the class would be simply in the
>> >> >>> package org.openmeetings.app.remote.JabberService in the main
>> >> >>> "src/app" folder.
>> >> >>> If JabberService is Axis2 related class it should have the same
>> >> >>> structure then the other  Axis2 webservices.
>> >> >>>
>> >> >>> Sebastian
>> >> >>>
>> >> >>> 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
>> >> >>> > Hello Sebastian,
>> >> >>> >
>> >> >>> > While helping with integrating openmeetings with jabber I have
>> >> >>> > created
>> >> >>> > JabberService with following methods:
>> >> >>> >
>> >> >>> > /*Returns the list of all rooms available to the user identified
>> >> >>> > by
>> >> >>> > SID*/
>> >> >>> > public Rooms[] getAvailableRooms(String SID)
>> >> >>> >
>> >> >>> > /*Returns number of users in particular room*/
>> >> >>> > int getUserCount(String SID, Long roomId)
>> >> >>> >
>> >> >>> > /*Returns one-time invitation hash for the particular user*/
>> >> >>> > String getInvitationHash(String SID, String username, Long
>> >> >>> > room_id)
>> >> >>> >
>> >> >>> > The reasons for creating such service are:
>> >> >>> > 1) the functionality above was necessary
>> >> >>> > 2) There are no such methods available or there are methods but
>> >> >>> > available
>> >> >>> > for admin only
>> >> >>> >
>> >> >>> > Can I check this work into the trunk?
>> >> >>> > If yes should I create separate JabberService (as it is now) or
>> >> >>> > add
>> >> >>> > necessary methods to correspondent services:
>> >> >>> > UserService/RoomService?
>> >> >>> >
>> >> >>> >
>> >> >>> > And one additional question:
>> >> >>> > why do we have:
>> >> >>> > src/fileservice
>> >> >>> > src/jabberservice
>> >> >>> > src/roomservice
>> >> >>> > src/userservice
>> >> >>> >
>> >> >>> > but not:
>> >> >>> > src/webservices
>> >> >>> > or even better:
>> >> >>> > src/app/org/openmeetings/axis/services
>> >> >>> >
>> >> >>> >
>> >> >>> > Thanks in advance for your answers
>> >> >>> >
>> >> >>> > --
>> >> >>> > WBR
>> >> >>> > Maxim aka solomax
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> --
>> >> >>> Sebastian Wagner
>> >> >>> http://www.openmeetings.de
>> >> >>> http://incubator.apache.org/openmeetings/
>> >> >>> http://www.webbase-design.de
>> >> >>> http://www.wagner-sebastian.com
>> >> >>> seba.wagner@gmail.com
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Sebastian Wagner
>> >> > http://www.openmeetings.de
>> >> > http://incubator.apache.org/openmeetings/
>> >> > http://www.webbase-design.de
>> >> > http://www.wagner-sebastian.com
>> >> > seba.wagner@gmail.com
>> >>
>> >>
>> >>
>> >> --
>> >> Sebastian Wagner
>> >> http://www.openmeetings.de
>> >> http://incubator.apache.org/openmeetings/
>> >> http://www.webbase-design.de
>> >> http://www.wagner-sebastian.com
>> >> seba.wagner@gmail.com
>> >
>> >
>> >
>> >
>> > --
>> > WBR
>> > Maxim aka solomax
>>
>>
>>
>> --
>> Sebastian Wagner
>> http://www.openmeetings.de
>> http://incubator.apache.org/openmeetings/
>> http://www.webbase-design.de
>> http://www.wagner-sebastian.com
>> seba.wagner@gmail.com
>
>
>
>
> --
> WBR
> Maxim aka solomax



-- 
Sebastian Wagner
http://www.openmeetings.de
http://incubator.apache.org/openmeetings/
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com

Re: Openmeetings with jabber integration

Posted by Maxim Solodovnik <so...@gmail.com>.
>>>docgenerator is only needed while compiling the source code, it
>>>contains code to generate the SOAP/REST API docs.

I understand that. I will not add it to the dist and or any jars.
But having all sources in src folder will:
1) make Eclipse source tree better organized
2) make build.xml simplier and easier to maintain

For example right now I need to add new web service.
I need to:
1) change eclipse project (add additional folder to build path
2) modify build.xml to add additional service
3) modify openmeetings-applicationContext.xml to add new beans
IMHO it is too much.

On Fri, Mar 23, 2012 at 22:05, seba.wagner@gmail.com
<se...@gmail.com>wrote:

> No,
>
> docgenerator is only needed while compiling the source code, it
> contains code to generate the SOAP/REST API docs.
>
> 2 + 3 => +1
>
> I already wanted to rename the the project too but I think you better
> edit the file in the SVN directly then locally cause otherwise eclipse
> might take 1-2 hours to copy all your files to new location :)
>
> Sebastian
>
> 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
> > OK great :)
> >
> > 3 more questions:
> > 1) currently src contains following folders:
> > app
> > calendarservice
> > docgenerator
> > fileservice
> > META-INF
> > red5-screenshare
> > roomservice
> > src_tool
> > stored
> > templates
> > test
> > userservice
> >
> > IMHO all of them can be substituted with org/openmeetings/... structure.
> And
> > filtered on the level of jar creation.
> > Can I implement that?
> >
> > 2) WebContent/WEB-INF/red5-services/* almost all of these xml files
> contains
> > just 1 bean definition (with some exclusions). Can we merge it
> > into openmeetings-applicationContext.xml or maybe
> > into openmeetings-services.xml ?
> >
> > 3) I would like to rename Eclipse project. Let it be Openmeetings
> instead of
> > ROOT?
> >
> > On Fri, Mar 23, 2012 at 18:33, seba.wagner@gmail.com <
> seba.wagner@gmail.com>
> > wrote:
> >>
> >> 2012/3/23 seba.wagner@gmail.com <se...@gmail.com>:
> >> > Yes that is kind of not consistent. Let me describe the "historical
> >> > background":
> >> >
> >> > The compiled classes of the webservice once where packaged not in the
> >> > openmeetings.jar but into the .aar file. Each webService had its own
> >> > Beans like the "FLVRecordingReturn" ... we had to compile those Beans
> >> > into the .aar file for beeing able to use it in the WebService as
> >> > return type. Classes of the openmeetings.jar where not available to
> >> > Axis2 at that time.
> >> > My initial thinking was that I better create some separated source
> >> > folder for each webservice as each webservice would have its own Beans
> >> > individually designed for each RPC call / return type.
> >> >
> >> > Now the compiled classes are all in WEB-INF/lib, the .aar only
> >> > contains the service.xml, the previous problem with the return type
> >> > doesn't exist anymore.
> >> >
> >> >  Actually everything could be moved into src/main.
> >> >
> >> > Sebastian
> >> >
> >> > 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
> >> >> I do understand why folders are named this way.
> >> >> What I don't understand is: why they should be in different folders?
> >> >> They go to the same folder after compiling, so why should they be in
> >> >> different folders as sources?
> >> >>
> >> >> On Mar 23, 2012 6:17 PM, "seba.wagner@gmail.com"
> >> >> <se...@gmail.com>
> >> >> wrote:
> >> >>>
> >> >>> Hi Maxim,
> >> >>>
> >> >>> the source folder name is called "fileservice" as the axis
> webService
> >> >>> URL path it is mapped to is also
> >> >>> localhost:5080/openmeetings/services/FileService?wsdl
> >> >>> same as source folder "roomservice" is
> >> >>> localhost:5080/openmeetings/services/RoomService?wsdl
> >> >>> so: Each Axis2 WebService has its own source folder with the package
> >> >>> structure:
> >> >>> org.openmeetings.axis.services.* (and the URL pattern in lowercase
> as
> >> >>> source folder).
> >> >>>
> >> >>> I have given internally the Classes the names * + WebService to have
> >> >>> an indicator in the name of the class for beeing used in the Axis2
> or
> >> >>> related to the Axis2 WebService.
> >> >>> Otherwise it is easy to mix it up with the "Services" that are in
> the
> >> >>> package:
> >> >>> org.openmeetings.app.remote.* (those are deployed as Red5 service
> and
> >> >>> available via RTMP)
> >> >>>
> >> >>> I don't know "jabberservice" (yet :)) but is this a REST or a RTMP
> >> >>> service?
> >> >>> If its a RTMP related serveice the class would be simply in the
> >> >>> package org.openmeetings.app.remote.JabberService in the main
> >> >>> "src/app" folder.
> >> >>> If JabberService is Axis2 related class it should have the same
> >> >>> structure then the other  Axis2 webservices.
> >> >>>
> >> >>> Sebastian
> >> >>>
> >> >>> 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
> >> >>> > Hello Sebastian,
> >> >>> >
> >> >>> > While helping with integrating openmeetings with jabber I have
> >> >>> > created
> >> >>> > JabberService with following methods:
> >> >>> >
> >> >>> > /*Returns the list of all rooms available to the user identified
> by
> >> >>> > SID*/
> >> >>> > public Rooms[] getAvailableRooms(String SID)
> >> >>> >
> >> >>> > /*Returns number of users in particular room*/
> >> >>> > int getUserCount(String SID, Long roomId)
> >> >>> >
> >> >>> > /*Returns one-time invitation hash for the particular user*/
> >> >>> > String getInvitationHash(String SID, String username, Long
> room_id)
> >> >>> >
> >> >>> > The reasons for creating such service are:
> >> >>> > 1) the functionality above was necessary
> >> >>> > 2) There are no such methods available or there are methods but
> >> >>> > available
> >> >>> > for admin only
> >> >>> >
> >> >>> > Can I check this work into the trunk?
> >> >>> > If yes should I create separate JabberService (as it is now) or
> add
> >> >>> > necessary methods to correspondent services:
> >> >>> > UserService/RoomService?
> >> >>> >
> >> >>> >
> >> >>> > And one additional question:
> >> >>> > why do we have:
> >> >>> > src/fileservice
> >> >>> > src/jabberservice
> >> >>> > src/roomservice
> >> >>> > src/userservice
> >> >>> >
> >> >>> > but not:
> >> >>> > src/webservices
> >> >>> > or even better:
> >> >>> > src/app/org/openmeetings/axis/services
> >> >>> >
> >> >>> >
> >> >>> > Thanks in advance for your answers
> >> >>> >
> >> >>> > --
> >> >>> > WBR
> >> >>> > Maxim aka solomax
> >> >>>
> >> >>>
> >> >>>
> >> >>> --
> >> >>> Sebastian Wagner
> >> >>> http://www.openmeetings.de
> >> >>> http://incubator.apache.org/openmeetings/
> >> >>> http://www.webbase-design.de
> >> >>> http://www.wagner-sebastian.com
> >> >>> seba.wagner@gmail.com
> >> >
> >> >
> >> >
> >> > --
> >> > Sebastian Wagner
> >> > http://www.openmeetings.de
> >> > http://incubator.apache.org/openmeetings/
> >> > http://www.webbase-design.de
> >> > http://www.wagner-sebastian.com
> >> > seba.wagner@gmail.com
> >>
> >>
> >>
> >> --
> >> Sebastian Wagner
> >> http://www.openmeetings.de
> >> http://incubator.apache.org/openmeetings/
> >> http://www.webbase-design.de
> >> http://www.wagner-sebastian.com
> >> seba.wagner@gmail.com
> >
> >
> >
> >
> > --
> > WBR
> > Maxim aka solomax
>
>
>
> --
> Sebastian Wagner
> http://www.openmeetings.de
> http://incubator.apache.org/openmeetings/
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com
>



-- 
WBR
Maxim aka solomax

Re: Openmeetings with jabber integration

Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
No,

docgenerator is only needed while compiling the source code, it
contains code to generate the SOAP/REST API docs.

2 + 3 => +1

I already wanted to rename the the project too but I think you better
edit the file in the SVN directly then locally cause otherwise eclipse
might take 1-2 hours to copy all your files to new location :)

Sebastian

2012/3/23 Maxim Solodovnik <so...@gmail.com>:
> OK great :)
>
> 3 more questions:
> 1) currently src contains following folders:
> app
> calendarservice
> docgenerator
> fileservice
> META-INF
> red5-screenshare
> roomservice
> src_tool
> stored
> templates
> test
> userservice
>
> IMHO all of them can be substituted with org/openmeetings/... structure. And
> filtered on the level of jar creation.
> Can I implement that?
>
> 2) WebContent/WEB-INF/red5-services/* almost all of these xml files contains
> just 1 bean definition (with some exclusions). Can we merge it
> into openmeetings-applicationContext.xml or maybe
> into openmeetings-services.xml ?
>
> 3) I would like to rename Eclipse project. Let it be Openmeetings instead of
> ROOT?
>
> On Fri, Mar 23, 2012 at 18:33, seba.wagner@gmail.com <se...@gmail.com>
> wrote:
>>
>> 2012/3/23 seba.wagner@gmail.com <se...@gmail.com>:
>> > Yes that is kind of not consistent. Let me describe the "historical
>> > background":
>> >
>> > The compiled classes of the webservice once where packaged not in the
>> > openmeetings.jar but into the .aar file. Each webService had its own
>> > Beans like the "FLVRecordingReturn" ... we had to compile those Beans
>> > into the .aar file for beeing able to use it in the WebService as
>> > return type. Classes of the openmeetings.jar where not available to
>> > Axis2 at that time.
>> > My initial thinking was that I better create some separated source
>> > folder for each webservice as each webservice would have its own Beans
>> > individually designed for each RPC call / return type.
>> >
>> > Now the compiled classes are all in WEB-INF/lib, the .aar only
>> > contains the service.xml, the previous problem with the return type
>> > doesn't exist anymore.
>> >
>> >  Actually everything could be moved into src/main.
>> >
>> > Sebastian
>> >
>> > 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
>> >> I do understand why folders are named this way.
>> >> What I don't understand is: why they should be in different folders?
>> >> They go to the same folder after compiling, so why should they be in
>> >> different folders as sources?
>> >>
>> >> On Mar 23, 2012 6:17 PM, "seba.wagner@gmail.com"
>> >> <se...@gmail.com>
>> >> wrote:
>> >>>
>> >>> Hi Maxim,
>> >>>
>> >>> the source folder name is called "fileservice" as the axis webService
>> >>> URL path it is mapped to is also
>> >>> localhost:5080/openmeetings/services/FileService?wsdl
>> >>> same as source folder "roomservice" is
>> >>> localhost:5080/openmeetings/services/RoomService?wsdl
>> >>> so: Each Axis2 WebService has its own source folder with the package
>> >>> structure:
>> >>> org.openmeetings.axis.services.* (and the URL pattern in lowercase as
>> >>> source folder).
>> >>>
>> >>> I have given internally the Classes the names * + WebService to have
>> >>> an indicator in the name of the class for beeing used in the Axis2 or
>> >>> related to the Axis2 WebService.
>> >>> Otherwise it is easy to mix it up with the "Services" that are in the
>> >>> package:
>> >>> org.openmeetings.app.remote.* (those are deployed as Red5 service and
>> >>> available via RTMP)
>> >>>
>> >>> I don't know "jabberservice" (yet :)) but is this a REST or a RTMP
>> >>> service?
>> >>> If its a RTMP related serveice the class would be simply in the
>> >>> package org.openmeetings.app.remote.JabberService in the main
>> >>> "src/app" folder.
>> >>> If JabberService is Axis2 related class it should have the same
>> >>> structure then the other  Axis2 webservices.
>> >>>
>> >>> Sebastian
>> >>>
>> >>> 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
>> >>> > Hello Sebastian,
>> >>> >
>> >>> > While helping with integrating openmeetings with jabber I have
>> >>> > created
>> >>> > JabberService with following methods:
>> >>> >
>> >>> > /*Returns the list of all rooms available to the user identified by
>> >>> > SID*/
>> >>> > public Rooms[] getAvailableRooms(String SID)
>> >>> >
>> >>> > /*Returns number of users in particular room*/
>> >>> > int getUserCount(String SID, Long roomId)
>> >>> >
>> >>> > /*Returns one-time invitation hash for the particular user*/
>> >>> > String getInvitationHash(String SID, String username, Long room_id)
>> >>> >
>> >>> > The reasons for creating such service are:
>> >>> > 1) the functionality above was necessary
>> >>> > 2) There are no such methods available or there are methods but
>> >>> > available
>> >>> > for admin only
>> >>> >
>> >>> > Can I check this work into the trunk?
>> >>> > If yes should I create separate JabberService (as it is now) or add
>> >>> > necessary methods to correspondent services:
>> >>> > UserService/RoomService?
>> >>> >
>> >>> >
>> >>> > And one additional question:
>> >>> > why do we have:
>> >>> > src/fileservice
>> >>> > src/jabberservice
>> >>> > src/roomservice
>> >>> > src/userservice
>> >>> >
>> >>> > but not:
>> >>> > src/webservices
>> >>> > or even better:
>> >>> > src/app/org/openmeetings/axis/services
>> >>> >
>> >>> >
>> >>> > Thanks in advance for your answers
>> >>> >
>> >>> > --
>> >>> > WBR
>> >>> > Maxim aka solomax
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Sebastian Wagner
>> >>> http://www.openmeetings.de
>> >>> http://incubator.apache.org/openmeetings/
>> >>> http://www.webbase-design.de
>> >>> http://www.wagner-sebastian.com
>> >>> seba.wagner@gmail.com
>> >
>> >
>> >
>> > --
>> > Sebastian Wagner
>> > http://www.openmeetings.de
>> > http://incubator.apache.org/openmeetings/
>> > http://www.webbase-design.de
>> > http://www.wagner-sebastian.com
>> > seba.wagner@gmail.com
>>
>>
>>
>> --
>> Sebastian Wagner
>> http://www.openmeetings.de
>> http://incubator.apache.org/openmeetings/
>> http://www.webbase-design.de
>> http://www.wagner-sebastian.com
>> seba.wagner@gmail.com
>
>
>
>
> --
> WBR
> Maxim aka solomax



-- 
Sebastian Wagner
http://www.openmeetings.de
http://incubator.apache.org/openmeetings/
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com

Re: Openmeetings with jabber integration

Posted by Maxim Solodovnik <so...@gmail.com>.
OK great :)

3 more questions:
1) currently src contains following folders:
app
calendarservice
docgenerator
fileservice
META-INF
red5-screenshare
roomservice
src_tool
stored
templates
test
userservice

IMHO all of them can be substituted with org/openmeetings/... structure.
And filtered on the level of jar creation.
Can I implement that?

2) WebContent/WEB-INF/red5-services/* almost all of these xml files
contains just 1 bean definition (with some exclusions). Can we merge it
into openmeetings-applicationContext.xml or maybe
into openmeetings-services.xml ?

3) I would like to rename Eclipse project. Let it be Openmeetings instead
of ROOT?

On Fri, Mar 23, 2012 at 18:33, seba.wagner@gmail.com
<se...@gmail.com>wrote:

> 2012/3/23 seba.wagner@gmail.com <se...@gmail.com>:
> > Yes that is kind of not consistent. Let me describe the "historical
> background":
> >
> > The compiled classes of the webservice once where packaged not in the
> > openmeetings.jar but into the .aar file. Each webService had its own
> > Beans like the "FLVRecordingReturn" ... we had to compile those Beans
> > into the .aar file for beeing able to use it in the WebService as
> > return type. Classes of the openmeetings.jar where not available to
> > Axis2 at that time.
> > My initial thinking was that I better create some separated source
> > folder for each webservice as each webservice would have its own Beans
> > individually designed for each RPC call / return type.
> >
> > Now the compiled classes are all in WEB-INF/lib, the .aar only
> > contains the service.xml, the previous problem with the return type
> > doesn't exist anymore.
> >
> >  Actually everything could be moved into src/main.
> >
> > Sebastian
> >
> > 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
> >> I do understand why folders are named this way.
> >> What I don't understand is: why they should be in different folders?
> >> They go to the same folder after compiling, so why should they be in
> >> different folders as sources?
> >>
> >> On Mar 23, 2012 6:17 PM, "seba.wagner@gmail.com" <seba.wagner@gmail.com
> >
> >> wrote:
> >>>
> >>> Hi Maxim,
> >>>
> >>> the source folder name is called "fileservice" as the axis webService
> >>> URL path it is mapped to is also
> >>> localhost:5080/openmeetings/services/FileService?wsdl
> >>> same as source folder "roomservice" is
> >>> localhost:5080/openmeetings/services/RoomService?wsdl
> >>> so: Each Axis2 WebService has its own source folder with the package
> >>> structure:
> >>> org.openmeetings.axis.services.* (and the URL pattern in lowercase as
> >>> source folder).
> >>>
> >>> I have given internally the Classes the names * + WebService to have
> >>> an indicator in the name of the class for beeing used in the Axis2 or
> >>> related to the Axis2 WebService.
> >>> Otherwise it is easy to mix it up with the "Services" that are in the
> >>> package:
> >>> org.openmeetings.app.remote.* (those are deployed as Red5 service and
> >>> available via RTMP)
> >>>
> >>> I don't know "jabberservice" (yet :)) but is this a REST or a RTMP
> >>> service?
> >>> If its a RTMP related serveice the class would be simply in the
> >>> package org.openmeetings.app.remote.JabberService in the main
> >>> "src/app" folder.
> >>> If JabberService is Axis2 related class it should have the same
> >>> structure then the other  Axis2 webservices.
> >>>
> >>> Sebastian
> >>>
> >>> 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
> >>> > Hello Sebastian,
> >>> >
> >>> > While helping with integrating openmeetings with jabber I have
> created
> >>> > JabberService with following methods:
> >>> >
> >>> > /*Returns the list of all rooms available to the user identified by
> >>> > SID*/
> >>> > public Rooms[] getAvailableRooms(String SID)
> >>> >
> >>> > /*Returns number of users in particular room*/
> >>> > int getUserCount(String SID, Long roomId)
> >>> >
> >>> > /*Returns one-time invitation hash for the particular user*/
> >>> > String getInvitationHash(String SID, String username, Long room_id)
> >>> >
> >>> > The reasons for creating such service are:
> >>> > 1) the functionality above was necessary
> >>> > 2) There are no such methods available or there are methods but
> >>> > available
> >>> > for admin only
> >>> >
> >>> > Can I check this work into the trunk?
> >>> > If yes should I create separate JabberService (as it is now) or add
> >>> > necessary methods to correspondent services: UserService/RoomService?
> >>> >
> >>> >
> >>> > And one additional question:
> >>> > why do we have:
> >>> > src/fileservice
> >>> > src/jabberservice
> >>> > src/roomservice
> >>> > src/userservice
> >>> >
> >>> > but not:
> >>> > src/webservices
> >>> > or even better:
> >>> > src/app/org/openmeetings/axis/services
> >>> >
> >>> >
> >>> > Thanks in advance for your answers
> >>> >
> >>> > --
> >>> > WBR
> >>> > Maxim aka solomax
> >>>
> >>>
> >>>
> >>> --
> >>> Sebastian Wagner
> >>> http://www.openmeetings.de
> >>> http://incubator.apache.org/openmeetings/
> >>> http://www.webbase-design.de
> >>> http://www.wagner-sebastian.com
> >>> seba.wagner@gmail.com
> >
> >
> >
> > --
> > Sebastian Wagner
> > http://www.openmeetings.de
> > http://incubator.apache.org/openmeetings/
> > http://www.webbase-design.de
> > http://www.wagner-sebastian.com
> > seba.wagner@gmail.com
>
>
>
> --
> Sebastian Wagner
> http://www.openmeetings.de
> http://incubator.apache.org/openmeetings/
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com
>



-- 
WBR
Maxim aka solomax

Re: Openmeetings with jabber integration

Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
2012/3/23 seba.wagner@gmail.com <se...@gmail.com>:
> Yes that is kind of not consistent. Let me describe the "historical background":
>
> The compiled classes of the webservice once where packaged not in the
> openmeetings.jar but into the .aar file. Each webService had its own
> Beans like the "FLVRecordingReturn" ... we had to compile those Beans
> into the .aar file for beeing able to use it in the WebService as
> return type. Classes of the openmeetings.jar where not available to
> Axis2 at that time.
> My initial thinking was that I better create some separated source
> folder for each webservice as each webservice would have its own Beans
> individually designed for each RPC call / return type.
>
> Now the compiled classes are all in WEB-INF/lib, the .aar only
> contains the service.xml, the previous problem with the return type
> doesn't exist anymore.
>
>  Actually everything could be moved into src/main.
>
> Sebastian
>
> 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
>> I do understand why folders are named this way.
>> What I don't understand is: why they should be in different folders?
>> They go to the same folder after compiling, so why should they be in
>> different folders as sources?
>>
>> On Mar 23, 2012 6:17 PM, "seba.wagner@gmail.com" <se...@gmail.com>
>> wrote:
>>>
>>> Hi Maxim,
>>>
>>> the source folder name is called "fileservice" as the axis webService
>>> URL path it is mapped to is also
>>> localhost:5080/openmeetings/services/FileService?wsdl
>>> same as source folder "roomservice" is
>>> localhost:5080/openmeetings/services/RoomService?wsdl
>>> so: Each Axis2 WebService has its own source folder with the package
>>> structure:
>>> org.openmeetings.axis.services.* (and the URL pattern in lowercase as
>>> source folder).
>>>
>>> I have given internally the Classes the names * + WebService to have
>>> an indicator in the name of the class for beeing used in the Axis2 or
>>> related to the Axis2 WebService.
>>> Otherwise it is easy to mix it up with the "Services" that are in the
>>> package:
>>> org.openmeetings.app.remote.* (those are deployed as Red5 service and
>>> available via RTMP)
>>>
>>> I don't know "jabberservice" (yet :)) but is this a REST or a RTMP
>>> service?
>>> If its a RTMP related serveice the class would be simply in the
>>> package org.openmeetings.app.remote.JabberService in the main
>>> "src/app" folder.
>>> If JabberService is Axis2 related class it should have the same
>>> structure then the other  Axis2 webservices.
>>>
>>> Sebastian
>>>
>>> 2012/3/23 Maxim Solodovnik <so...@gmail.com>:
>>> > Hello Sebastian,
>>> >
>>> > While helping with integrating openmeetings with jabber I have created
>>> > JabberService with following methods:
>>> >
>>> > /*Returns the list of all rooms available to the user identified by
>>> > SID*/
>>> > public Rooms[] getAvailableRooms(String SID)
>>> >
>>> > /*Returns number of users in particular room*/
>>> > int getUserCount(String SID, Long roomId)
>>> >
>>> > /*Returns one-time invitation hash for the particular user*/
>>> > String getInvitationHash(String SID, String username, Long room_id)
>>> >
>>> > The reasons for creating such service are:
>>> > 1) the functionality above was necessary
>>> > 2) There are no such methods available or there are methods but
>>> > available
>>> > for admin only
>>> >
>>> > Can I check this work into the trunk?
>>> > If yes should I create separate JabberService (as it is now) or add
>>> > necessary methods to correspondent services: UserService/RoomService?
>>> >
>>> >
>>> > And one additional question:
>>> > why do we have:
>>> > src/fileservice
>>> > src/jabberservice
>>> > src/roomservice
>>> > src/userservice
>>> >
>>> > but not:
>>> > src/webservices
>>> > or even better:
>>> > src/app/org/openmeetings/axis/services
>>> >
>>> >
>>> > Thanks in advance for your answers
>>> >
>>> > --
>>> > WBR
>>> > Maxim aka solomax
>>>
>>>
>>>
>>> --
>>> Sebastian Wagner
>>> http://www.openmeetings.de
>>> http://incubator.apache.org/openmeetings/
>>> http://www.webbase-design.de
>>> http://www.wagner-sebastian.com
>>> seba.wagner@gmail.com
>
>
>
> --
> Sebastian Wagner
> http://www.openmeetings.de
> http://incubator.apache.org/openmeetings/
> http://www.webbase-design.de
> http://www.wagner-sebastian.com
> seba.wagner@gmail.com



-- 
Sebastian Wagner
http://www.openmeetings.de
http://incubator.apache.org/openmeetings/
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com

Re: Openmeetings with jabber integration

Posted by "seba.wagner@gmail.com" <se...@gmail.com>.
Hi Maxim,

the source folder name is called "fileservice" as the axis webService
URL path it is mapped to is also
localhost:5080/openmeetings/services/FileService?wsdl
same as source folder "roomservice" is
localhost:5080/openmeetings/services/RoomService?wsdl
so: Each Axis2 WebService has its own source folder with the package structure:
org.openmeetings.axis.services.* (and the URL pattern in lowercase as
source folder).

I have given internally the Classes the names * + WebService to have
an indicator in the name of the class for beeing used in the Axis2 or
related to the Axis2 WebService.
Otherwise it is easy to mix it up with the "Services" that are in the package:
org.openmeetings.app.remote.* (those are deployed as Red5 service and
available via RTMP)

I don't know "jabberservice" (yet :)) but is this a REST or a RTMP service?
If its a RTMP related serveice the class would be simply in the
package org.openmeetings.app.remote.JabberService in the main
"src/app" folder.
If JabberService is Axis2 related class it should have the same
structure then the other  Axis2 webservices.

Sebastian

2012/3/23 Maxim Solodovnik <so...@gmail.com>:
> Hello Sebastian,
>
> While helping with integrating openmeetings with jabber I have created
> JabberService with following methods:
>
> /*Returns the list of all rooms available to the user identified by SID*/
> public Rooms[] getAvailableRooms(String SID)
>
> /*Returns number of users in particular room*/
> int getUserCount(String SID, Long roomId)
>
> /*Returns one-time invitation hash for the particular user*/
> String getInvitationHash(String SID, String username, Long room_id)
>
> The reasons for creating such service are:
> 1) the functionality above was necessary
> 2) There are no such methods available or there are methods but available
> for admin only
>
> Can I check this work into the trunk?
> If yes should I create separate JabberService (as it is now) or add
> necessary methods to correspondent services: UserService/RoomService?
>
>
> And one additional question:
> why do we have:
> src/fileservice
> src/jabberservice
> src/roomservice
> src/userservice
>
> but not:
> src/webservices
> or even better:
> src/app/org/openmeetings/axis/services
>
>
> Thanks in advance for your answers
>
> --
> WBR
> Maxim aka solomax



-- 
Sebastian Wagner
http://www.openmeetings.de
http://incubator.apache.org/openmeetings/
http://www.webbase-design.de
http://www.wagner-sebastian.com
seba.wagner@gmail.com