You are viewing a plain text version of this content. The canonical link for it is here.
Posted to graffito-dev@incubator.apache.org by ruchi goel <Ru...@Sun.COM> on 2006/09/07 11:43:50 UTC

technologies used in graffito

Hi,
   I  am doing an evaluation of graffito for the purpose of integration 
to our portal. I have few questions regarding the design and 
technologies used .

1. Does graffito has its own session management ? I understand it "no" 
since this is not designed as a standalone webapp.(or can I run it 
without riding on portal ?)  When it gets deployed as portlets , it uses 
the session management of  the portal system. Here , it uses the session 
management of  Jetspeed portal. Kindly confirm my understanding.


2. How are portal users  mapped to cms users ? e.g when I deploy 
graffito war to jetspeed  , the content browser portlet for 
browsing,editing,creating documents + folders , gets configured for 
admin while content tree portlet gets configured for anonymous and user. 
Where are these configurations stored ?


3. Does it depend on apache's commons logging framework or is there any 
other framework on top of this ?

4. Is there any roadmap to implement workflow service ?

5. Will the JCR plugin be using OCM ?  Is it possible to use the 
existing model and model service to use jcr mapping layer directly and 
depend on this mapping (persistence layer)  for 
versioning,security,search. Basically, what I am asking is that can I 
skip the abstractions of the services which are already part of JSR170 
implementation . I have tried the following:

    * Tried to navigate document creation , which uses Graffito store
      for persistence, since jcr mapping is not yet integrated.
    * Separated the jcr mapping layer from the other graffito stack,
      created my own model and used jcr mapping to persist. This layer
      can be directly used for search and versioning.

My concern is if I  integrate graffito to my portal and create my own 
model based on Content/CmsObject ,  do I still have to go through the 
abstraction of  all the services , even though I am only interested in 
jcr using jcr mapping.

6. The project is under incubation. Where should i look for license 
details ?
 

Thanks,
Appreciate reponse.
-Ruchi


Re: technologies used in graffito

Posted by Christophe Lombart <ch...@gmail.com>.
Hi Ruchi,

9/7/06, Ruchi Goel <Ru...@sun.com> wrote:

> Can I not use OCM outside Spring container ? For simple persistence and
> query operations, I built and tried storing my model supported by my
> mapping file without using any container.

Yes - you can use OCM outside Spring.

>Can I not use OCM with portal
> deployed on j2ee container ?

Yes you can use OCM with any kind of portal (or any kind of java application).

>As far as I understand Spring container is
> a light weight container .
> Is OCM dependent on spring framework to implement any of its services ?
>
No. Until now, all OCM components are simple java components (pojo).

-- 
Best regards,

Christophe

Re: technologies used in graffito

Posted by Ruchi Goel <Ru...@Sun.COM>.
Thanks . I will do some homework on Security part and come back with 
right questions. But some more inline against your response.....
Christophe Lombart wrote:

> On 9/7/06, Ruchi Goel <Ru...@sun.com> wrote:
>
>> Thanks Christophe for quick response. One more question: Who is using
>> spring framework ? - Jetspeed or Graffito ?
>
>
> Both project
>
>
>> Please see inline for more ....
>> Christophe Lombart wrote:
>>
>> Our portal users are stored in LDAP and uses its authentication service
>> . How will that be mapped to JAAS users ?
>>
>
> see the J2 security doc to get all the details
> (http://portals.apache.org/jetspeed-2/multiproject/jetspeed-security/index.html). 
>
> Remember that this security service can be run outside J2.
>
> Anyway I'm open to see together how we can support other kind of
> integration (with other security services/solution).
>
>> You mean to say , Graffito security service can have portal specific
>> implementation ?
>
>
> Yes  but some refactoring is required. The security services are not
> well defined.
>
>> If we use only OCM , do I still get it ? I see
>> SimpleAccessManager and SimpleLoginModule which uses Jackrabit and java
>> security services. This security is at repository level , I want to also
>> understand  security at portal level, "who can see which portlets " ?
>>
>
> The current solution is not correct if the security is defined at the
> repository level.
>
>
>> The question is if  we want to integrate the entire cms framework , we
>> will have to use the abstractions  , even though the jsr170  mapping
>> layer  helps with lots of services.Please correct  me  if  my
>> understanding is wrong here.
>>
> Correct.  JSR170 is focusing only on the repository aspect. This is
> not a complete CMS/DM solution. Other services are still necessary
> (eg. workflow).
> We plan to add more and more services (scheduler, workflow,
> replication, ...)  but that's the future :-)
>
>> Where is Spring framework used ? I understand that u have ocm 's one
>> integration with Spring? Does Graffito internally uses it ?
>
>
> The Graffito services are running in a Spring container (see in 
> components).
> If you want to use OCM outside the complete Graffito stack, you can
> run it in a Spring container (see in jcr/spring).

Can I not use OCM outside Spring container ? For simple persistence and 
query operations, I built and tried storing my model supported by my 
mapping file without using any container. Can I not use OCM with portal 
deployed on j2ee container ? As far as I understand Spring container is 
a light weight container .
Is OCM dependent on spring framework to implement any of its services ?
 

>
>> We cannot integrate with any open source which is not  j2ee compliant.
>>
> why not ?
> maybe later ...it will depend on the community ;-)
>
>
:) I am trying my best now ..

>
>> Another question : Where is Velocity used in graffito project ?
>>
>
> In the portlets (instead of jsp).
>
>
graffito portlets use jsp , but graffito browser use velocity templates, 
right . I don't think use of velocity templates is any problem wrt j2ee 
compliance.

Thanks,
Ruchi


Re: technologies used in graffito

Posted by Christophe Lombart <ch...@gmail.com>.
On 9/7/06, Ruchi Goel <Ru...@sun.com> wrote:
> Thanks Christophe for quick response. One more question: Who is using
> spring framework ? - Jetspeed or Graffito ?

Both project


> Please see inline for more ....
> Christophe Lombart wrote:
>
> Our portal users are stored in LDAP and uses its authentication service
> . How will that be mapped to JAAS users ?
>

see the J2 security doc to get all the details
(http://portals.apache.org/jetspeed-2/multiproject/jetspeed-security/index.html).
Remember that this security service can be run outside J2.

Anyway I'm open to see together how we can support other kind of
integration (with other security services/solution).

> You mean to say , Graffito security service can have portal specific
> implementation ?

Yes  but some refactoring is required. The security services are not
well defined.

>If we use only OCM , do I still get it ? I see
> SimpleAccessManager and SimpleLoginModule which uses Jackrabit and java
> security services. This security is at repository level , I want to also
> understand  security at portal level, "who can see which portlets " ?
>

The current solution is not correct if the security is defined at the
repository level.


> The question is if  we want to integrate the entire cms framework , we
> will have to use the abstractions  , even though the jsr170  mapping
> layer  helps with lots of services.Please correct  me  if  my
> understanding is wrong here.
>
Correct.  JSR170 is focusing only on the repository aspect. This is
not a complete CMS/DM solution. Other services are still necessary
(eg. workflow).
We plan to add more and more services (scheduler, workflow,
replication, ...)  but that's the future :-)

> Where is Spring framework used ? I understand that u have ocm 's one
> integration with Spring? Does Graffito internally uses it ?

The Graffito services are running in a Spring container (see in components).
If you want to use OCM outside the complete Graffito stack, you can
run it in a Spring container (see in jcr/spring).

> We cannot integrate with any open source which is not  j2ee compliant.
>
why not ?
maybe later ...it will depend on the community ;-)



> Another question : Where is Velocity used in graffito project ?
>

In the portlets (instead of jsp).


-- 
Best regards,

Christophe

Re: technologies used in graffito

Posted by Ruchi Goel <Ru...@Sun.COM>.
Thanks Christophe for quick response. One more question: Who is using 
spring framework ? - Jetspeed or Graffito ?
Please see inline for more ....
Christophe Lombart wrote:

> Hi Ruchi,
>
>
>> 1. Does graffito has its own session management ? I understand it "no"
>> since this is not designed as a standalone webapp.(or can I run it
>> without riding on portal ?)  When it gets deployed as portlets , it uses
>> the session management of  the portal system. Here , it uses the session
>> management of  Jetspeed portal. Kindly confirm my understanding.
>>
>
> Correct. if it is deployed into J2, it uses the subject provided by
> Jetspeed. We are using JAAS for the permissions and authentication
> aspect. See the class CmsRequestContext & CmsRequestContextManager.
> Those class are used to get reference to the subject. You can see also
> the CmsPermission class to show you how to the permission are defined.
>
> In theory, it should be possible to use Graffito with any kind of
> applications which are using   JAAS.


Our portal users are stored in LDAP and uses its authentication service 
. How will that be mapped to JAAS users ?

>
>>
>> 2. How are portal users  mapped to cms users ? e.g when I deploy
>> graffito war to jetspeed  , the content browser portlet for
>> browsing,editing,creating documents + folders , gets configured for
>> admin while content tree portlet gets configured for anonymous and user.
>> Where are these configurations stored ?
>>
>
> They are some refactoring to do it in this area. They are not yet map :-)
> The jetspeed security services can be used outside jetspeed (thanks to 
> Spring).
> It would be interesting to be more independant. I think it is possible
> to write some Graffito security services with different implementation
> (one for Jetspeed, ...).
>
>
You mean to say , Graffito security service can have portal specific 
implementation ? If we use only OCM , do I still get it ? I see 
SimpleAccessManager and SimpleLoginModule which uses Jackrabit and java 
security services. This security is at repository level , I want to also 
understand  security at portal level, "who can see which portlets " ?

>>
>> 3. Does it depend on apache's commons logging framework or is there any
>> other framework on top of this ?
>>
> common logging.
>
>> 4. Is there any roadmap to implement workflow service ?
>>
>
> We have a prototype implemented by my company but this not yet
> commited due to other priorities. Hope to do it september and start a
> proposal.
>
>> 5. Will the JCR plugin be using OCM ?
>
>
> Yes
>
>> Is it possible to use the
>> existing model and model service to use jcr mapping layer directly and
>> depend on this mapping (persistence layer)  for
>> versioning,security,search. Basically, what I am asking is that can I
>> skip the abstractions of the services which are already part of JSR170
>> implementation . I have tried the following:
>>
>>     * Tried to navigate document creation , which uses Graffito store
>>       for persistence, since jcr mapping is not yet integrated.
>>     * Separated the jcr mapping layer from the other graffito stack,
>>       created my own model and used jcr mapping to persist. This layer
>>       can be directly used for search and versioning.
>>
>> My concern is if I  integrate graffito to my portal and create my own
>> model based on Content/CmsObject ,  do I still have to go through the
>> abstraction of  all the services , even though I am only interested in
>> jcr using jcr mapping.
>
>
> We plan to move the OCM tools into the Jackrabbit project. You can use
> this OCM tools without the Graffito services. See in trunk/jcr/spring
> to get an idea how to do it with Spring.

The question is if  we want to integrate the entire cms framework , we 
will have to use the abstractions  , even though the jsr170  mapping 
layer  helps with lots of services.Please correct  me  if  my 
understanding is wrong here.

Where is Spring framework used ? I understand that u have ocm 's one 
integration with Spring? Does Graffito internally uses it ?
We cannot integrate with any open source which is not  j2ee compliant.

Another question : Where is Velocity used in graffito project ?

Thanks,
Ruchi

>>
>> 6. The project is under incubation. Where should i look for license
>> details ?
>>
> This is the classical  Apache licence.
>
> Let me know if you need more information.
>


Re: technologies used in graffito

Posted by Christophe Lombart <ch...@gmail.com>.
Hi Ruchi,


> 1. Does graffito has its own session management ? I understand it "no"
> since this is not designed as a standalone webapp.(or can I run it
> without riding on portal ?)  When it gets deployed as portlets , it uses
> the session management of  the portal system. Here , it uses the session
> management of  Jetspeed portal. Kindly confirm my understanding.
>

Correct. if it is deployed into J2, it uses the subject provided by
Jetspeed. We are using JAAS for the permissions and authentication
aspect. See the class CmsRequestContext & CmsRequestContextManager.
Those class are used to get reference to the subject. You can see also
the CmsPermission class to show you how to the permission are defined.

In theory, it should be possible to use Graffito with any kind of
applications which are using   JAAS.

>
> 2. How are portal users  mapped to cms users ? e.g when I deploy
> graffito war to jetspeed  , the content browser portlet for
> browsing,editing,creating documents + folders , gets configured for
> admin while content tree portlet gets configured for anonymous and user.
> Where are these configurations stored ?
>

They are some refactoring to do it in this area. They are not yet map :-)
The jetspeed security services can be used outside jetspeed (thanks to Spring).
It would be interesting to be more independant. I think it is possible
to write some Graffito security services with different implementation
(one for Jetspeed, ...).


>
> 3. Does it depend on apache's commons logging framework or is there any
> other framework on top of this ?
>
common logging.

> 4. Is there any roadmap to implement workflow service ?
>

We have a prototype implemented by my company but this not yet
commited due to other priorities. Hope to do it september and start a
proposal.

> 5. Will the JCR plugin be using OCM ?

Yes

> Is it possible to use the
> existing model and model service to use jcr mapping layer directly and
> depend on this mapping (persistence layer)  for
> versioning,security,search. Basically, what I am asking is that can I
> skip the abstractions of the services which are already part of JSR170
> implementation . I have tried the following:
>
>     * Tried to navigate document creation , which uses Graffito store
>       for persistence, since jcr mapping is not yet integrated.
>     * Separated the jcr mapping layer from the other graffito stack,
>       created my own model and used jcr mapping to persist. This layer
>       can be directly used for search and versioning.
>
> My concern is if I  integrate graffito to my portal and create my own
> model based on Content/CmsObject ,  do I still have to go through the
> abstraction of  all the services , even though I am only interested in
> jcr using jcr mapping.

We plan to move the OCM tools into the Jackrabbit project. You can use
this OCM tools without the Graffito services. See in trunk/jcr/spring
to get an idea how to do it with Spring.

>
> 6. The project is under incubation. Where should i look for license
> details ?
>
This is the classical  Apache licence.

Let me know if you need more information.

-- 
Best regards,

Christophe