How to define new Jazz object types?
Hi there:
The 'Hello Jazz' tutorial is great for getting a basic feel for how to extend Jazz. After reading it, I think most people will feel ready to take the 'next step' in extending Jazz.
For me, that next step would be declaring a new type of object that can be stored in the Jazz repository and stored and retrieved from a Jazz client. Understanding how to register EMF models to extend existing types (i.e. WorkItem) would be similarly helpful.
It seems some contributors to this mailing list have been trying to figure some of this out by examining the extension point declarations in the source code and going from there. Do you have any suggestions as to where in the source we should start looking and what to look out for? Thanks!
P.S. Of course, I'm implying it, so I'd better just come out and ask: are there any plans for a tutorial that can take a developer through this next step in extending Jazz? I'd be happy to help with that if I can.
The 'Hello Jazz' tutorial is great for getting a basic feel for how to extend Jazz. After reading it, I think most people will feel ready to take the 'next step' in extending Jazz.
For me, that next step would be declaring a new type of object that can be stored in the Jazz repository and stored and retrieved from a Jazz client. Understanding how to register EMF models to extend existing types (i.e. WorkItem) would be similarly helpful.
It seems some contributors to this mailing list have been trying to figure some of this out by examining the extension point declarations in the source code and going from there. Do you have any suggestions as to where in the source we should start looking and what to look out for? Thanks!
P.S. Of course, I'm implying it, so I'd better just come out and ask: are there any plans for a tutorial that can take a developer through this next step in extending Jazz? I'd be happy to help with that if I can.
3 answers
Hi,
I am currently writing a tutorial like the one you are looking for. It
will be on the wiki at this URL:
https://jazz.net/wiki/bin/view/Main/JazzTalkWalkthrough
Some of the content is already there and you might learn a little by
reading it in its current state. However I'm wrestling with some issues
that make providing this tutorial difficult:
1) the "codegen" tool needed to process your EMF model is not generally
available (it's not currently in the Jazz download)
2) you need to patch the full EMF 2.3.0M7 into your Jazz distribution
(and this EMF milestone has unfortunately disappeared from the EMF
downloads page)
3) the process of rebuilding a database with a new component is
currently difficult (but it can be done and I'll explain how).
4) you need to snag a copy of the repository.ecore EMF model from inside
the com.ibm.team.repository.common plugin JAR file and bring it into
your workspace to reference in your own EMF model.
5) There's a problem generating the query model that is probably related
to (4) but I'm not sure yet.
The first two can be totally blocking. A workaround would be for me to
put codegen and EMF 230M7 on the wiki for download.
3 and 4 are annoying but have workarounds and they will become
non-issues in future milestones ... I'm still not sure about 5...
You offered some help.... If I can get some of these roadblocks taken
care of (it will be next week at earliest), are you willing to test
drive this tutorial and report back on the experience?
Chris
ps. Also see my next post about some other new wiki content for
component developers...
kratky wrote:
I am currently writing a tutorial like the one you are looking for. It
will be on the wiki at this URL:
https://jazz.net/wiki/bin/view/Main/JazzTalkWalkthrough
Some of the content is already there and you might learn a little by
reading it in its current state. However I'm wrestling with some issues
that make providing this tutorial difficult:
1) the "codegen" tool needed to process your EMF model is not generally
available (it's not currently in the Jazz download)
2) you need to patch the full EMF 2.3.0M7 into your Jazz distribution
(and this EMF milestone has unfortunately disappeared from the EMF
downloads page)
3) the process of rebuilding a database with a new component is
currently difficult (but it can be done and I'll explain how).
4) you need to snag a copy of the repository.ecore EMF model from inside
the com.ibm.team.repository.common plugin JAR file and bring it into
your workspace to reference in your own EMF model.
5) There's a problem generating the query model that is probably related
to (4) but I'm not sure yet.
The first two can be totally blocking. A workaround would be for me to
put codegen and EMF 230M7 on the wiki for download.
3 and 4 are annoying but have workarounds and they will become
non-issues in future milestones ... I'm still not sure about 5...
You offered some help.... If I can get some of these roadblocks taken
care of (it will be next week at earliest), are you willing to test
drive this tutorial and report back on the experience?
Chris
ps. Also see my next post about some other new wiki content for
component developers...
kratky wrote:
Hi there:
The 'Hello Jazz' tutorial is great for getting a basic feel for how to
extend Jazz. After reading it, I think most people will feel ready to
take the 'next step' in extending Jazz.
For me, that next step would be declaring a new type of object that
can be stored in the Jazz repository and stored and retrieved from a
Jazz client. Understanding how to register EMF models to extend
existing types (i.e. WorkItem) would be similarly helpful.
It seems some contributors to this mailing list have been trying to
figure some of this out by examining the extension point declarations
in the source code and going from there. Do you have any suggestions
as to where in the source we should start looking and what to look
out for? Thanks!
P.S. Of course, I'm implying it, so I'd better just come out and ask:
are there any plans for a tutorial that can take a developer through
this next step in extending Jazz? I'd be happy to help with that if I
can.
Hi Chris,
We've spoken earlier about your tutorial. I'm currently in the process
of implementing a component with a model, so the problems are still
fresh in my mind. I'd be happy to review the tutorial as well. Let me
know how I can help.
Igor
Chris Daly wrote:
We've spoken earlier about your tutorial. I'm currently in the process
of implementing a component with a model, so the problems are still
fresh in my mind. I'd be happy to review the tutorial as well. Let me
know how I can help.
Igor
Chris Daly wrote:
Hi,
I am currently writing a tutorial like the one you are looking for. It
will be on the wiki at this URL:
https://jazz.net/wiki/bin/view/Main/JazzTalkWalkthrough
Some of the content is already there and you might learn a little by
reading it in its current state. However I'm wrestling with some issues
that make providing this tutorial difficult:
1) the "codegen" tool needed to process your EMF model is not generally
available (it's not currently in the Jazz download)
2) you need to patch the full EMF 2.3.0M7 into your Jazz distribution
(and this EMF milestone has unfortunately disappeared from the EMF
downloads page)
3) the process of rebuilding a database with a new component is
currently difficult (but it can be done and I'll explain how).
4) you need to snag a copy of the repository.ecore EMF model from inside
the com.ibm.team.repository.common plugin JAR file and bring it into
your workspace to reference in your own EMF model.
5) There's a problem generating the query model that is probably related
to (4) but I'm not sure yet.
The first two can be totally blocking. A workaround would be for me to
put codegen and EMF 230M7 on the wiki for download.
3 and 4 are annoying but have workarounds and they will become
non-issues in future milestones ... I'm still not sure about 5...
You offered some help.... If I can get some of these roadblocks taken
care of (it will be next week at earliest), are you willing to test
drive this tutorial and report back on the experience?
Chris
ps. Also see my next post about some other new wiki content for
component developers...
kratky wrote:
Hi there:
The 'Hello Jazz' tutorial is great for getting a basic feel for how to
extend Jazz. After reading it, I think most people will feel ready to
take the 'next step' in extending Jazz.
For me, that next step would be declaring a new type of object that
can be stored in the Jazz repository and stored and retrieved from a
Jazz client. Understanding how to register EMF models to extend
existing types (i.e. WorkItem) would be similarly helpful.
It seems some contributors to this mailing list have been trying to
figure some of this out by examining the extension point declarations
in the source code and going from there. Do you have any suggestions
as to where in the source we should start looking and what to look
out for? Thanks!
P.S. Of course, I'm implying it, so I'd better just come out and ask:
are there any plans for a tutorial that can take a developer through
this next step in extending Jazz? I'd be happy to help with that if I
can.