You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Tobias Bocanegra (JIRA)" <ji...@apache.org> on 2014/03/28 20:21:15 UTC

[jira] [Comment Edited] (OAK-1513) Analyze the OSGi configuration PID used by various OSGi components in Oak

    [ https://issues.apache.org/jira/browse/OAK-1513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13951256#comment-13951256 ] 

Tobias Bocanegra edited comment on OAK-1513 at 3/28/14 7:20 PM:
----------------------------------------------------------------

I would keep the PIDs in sync with the class names. but we could rename the class names, especially for those that are names *Impl. We should rename them to: "Default...." or "Oak..." or something more descriptive or just remove the "Impl".

suggest the following renames (package stays the same):
|| Current || Proposed || Alternative ||
| org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl | _no config_ |
| org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl | _no config_ |
| org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory | _keep_ |
| org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler | _keep_ |
| org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService | _keep_ |
| org.apache.jackrabbit.oak.plugins.commit.ConflictValidatorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.reference.ReferenceIndexProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.name.NamespaceEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.itemsave.ItemSaveValidatorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.name.NameValidatorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.version.VersionEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.reference.ReferenceEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider | _keep_ |
| org.apache.jackrabbit.mk.osgi.MicroKernelService | _keep_ |
| | |
| org.apache.jackrabbit.oak.security.user.UserConfigurationImpl | UserConfiguration | DefaultUserConfiguration |
| org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl | TokenConfiguration | DefaultTokenConfiguration |
| org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl | PrincipalConfiguration | DefaultPrincipalConfiguration |
| org.apache.jackrabbit.oak.security.privilege.PrivilegeConfigurationImpl | PrivilegeConfiguration | DefaultPrivilegeConfiguration |
| org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl | AuthenticationConfiguration | DefaultAuthenticationConfiguration |
| org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl | AuthorizationConfiguration | DefaultAuthorizationConfiguration |
| org.apache.jackrabbit.oak.security.SecurityProviderImpl | _keep_ | |
| org.apache.jackrabbit.oak.security.authorization.restriction.RestrictionProviderImpl | RestrictionProvider | DefaultRestrictionProvider |

I think that the various *Configuration classes in oak security are a bit misleading, as they are not purely configurations but factories or providers. 


was (Author: tripod):
I would keep the PIDs in sync with the class names. but we could rename the class names, especially for those that are names *Impl. We should rename them to: "Default...." or "Oak..." or something more descriptive or just remove the "Impl".

suggest the following renames (package stays the same):
|| Current || Proposed ||
| org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl | _no config_ |
| org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl | _no config_ |
| org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory | _keep_ |
| org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler | _keep_ |
| org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService | _keep_ |
| org.apache.jackrabbit.oak.plugins.commit.ConflictValidatorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.reference.ReferenceIndexProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.name.NamespaceEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.itemsave.ItemSaveValidatorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.name.NameValidatorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.version.VersionEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.reference.ReferenceEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider | _keep_ |
| org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider | _keep_ |
| org.apache.jackrabbit.mk.osgi.MicroKernelService | _keep_ |
| | |
| org.apache.jackrabbit.oak.security.user.UserConfigurationImpl | UserConfiguration |
| org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl | TokenConfiguration |
| org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl | PrincipalConfiguration |
| org.apache.jackrabbit.oak.security.privilege.PrivilegeConfigurationImpl | PrivilegeConfiguration |
| org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl | AuthenticationConfiguration |
| org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl | AuthorizationConfiguration |
| org.apache.jackrabbit.oak.security.SecurityProviderImpl | SecurityProvider |
| org.apache.jackrabbit.oak.security.authorization.restriction.RestrictionProviderImpl | RestrictionProvider |

I think that the various *Configuration classes in oak security are a bit misleading, as they are not purely configurations but factories or providers. 

> Analyze the OSGi configuration PID used by various OSGi components in Oak
> -------------------------------------------------------------------------
>
>                 Key: OAK-1513
>                 URL: https://issues.apache.org/jira/browse/OAK-1513
>             Project: Jackrabbit Oak
>          Issue Type: Task
>    Affects Versions: 0.17.1
>            Reporter: Chetan Mehrotra
>            Assignee: Tobias Bocanegra
>            Priority: Minor
>             Fix For: 0.20
>
>
> Oak makes use of OSGi configuration support for configuring its components. At times a component is annotated like 
> {code:java}
> @Component
> public class AuthenticationConfigurationImpl extends ConfigurationBase implements AuthenticationConfiguration {
> {code}
> As per defaults maven-scr-plugin would use the Fully Qualified classname for the PID which in above case is {{org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl}}. To set custom PID specify it via name attribute of Component annotation
> As these config pid are to be referred in public docs and also they need to be supported in compatible way in future versions of Oak we should ensure that these names are proper and stable.
> Below are the details of various DS Components with classNames and PID. Someone of them might be exposing configuration and in those cases we need to see that PID used is proper
> # org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl
> #* PID -org.apache.jackrabbit.oak.spi.security.authentication.external.impl.SyncManagerImpl
> # org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory
> #* PID -org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalLoginModuleFactory
> #* Config Type -require
> # org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl
> #* PID -org.apache.jackrabbit.oak.spi.security.authentication.external.impl.ExternalIDPManagerImpl
> # org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler
> #* PID -org.apache.jackrabbit.oak.spi.security.authentication.external.impl.DefaultSyncHandler
> #* Config Type -require
> # org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider
> #* PID -org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider
> #* Config Type -require
> # org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexProvider
> #* PID -org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexProvider
> # org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService
> #* PID -org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService
> #* Config Type -require
> # org.apache.jackrabbit.oak.plugins.commit.ConflictValidatorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.commit.ConflictValidatorProvider
> # org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService
> #* PID -org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService
> #* Config Type -require
> # org.apache.jackrabbit.oak.plugins.index.reference.ReferenceIndexProvider
> #* PID -org.apache.jackrabbit.oak.plugins.index.reference.ReferenceIndexProvider
> # org.apache.jackrabbit.oak.plugins.name.NamespaceEditorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.name.NamespaceEditorProvider
> # org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider
> #* PID -org.apache.jackrabbit.oak.spi.security.user.action.DefaultAuthorizableActionProvider
> # org.apache.jackrabbit.oak.security.user.UserConfigurationImpl
> #* PID -org.apache.jackrabbit.oak.security.user.UserConfigurationImpl
> # org.apache.jackrabbit.oak.plugins.itemsave.ItemSaveValidatorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.itemsave.ItemSaveValidatorProvider
> # org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider
> #* PID -org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider
> # org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl
> #* PID -org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl
> # org.apache.jackrabbit.oak.plugins.name.NameValidatorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.name.NameValidatorProvider
> # org.apache.jackrabbit.oak.plugins.version.VersionEditorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.version.VersionEditorProvider
> # org.apache.jackrabbit.oak.plugins.index.reference.ReferenceEditorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.index.reference.ReferenceEditorProvider
> # org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl
> #* PID -org.apache.jackrabbit.oak.security.principal.PrincipalConfigurationImpl
> # org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider
> # org.apache.jackrabbit.oak.security.privilege.PrivilegeConfigurationImpl
> #* PID -org.apache.jackrabbit.oak.security.privilege.PrivilegeConfigurationImpl
> # org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl
> #* PID -org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl
> # org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl
> #* PID -org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl
> # org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.nodetype.TypeEditorProvider
> # org.apache.jackrabbit.oak.security.SecurityProviderImpl
> #* PID -org.apache.jackrabbit.oak.security.SecurityProviderImpl
> # org.apache.jackrabbit.oak.security.authorization.restriction.RestrictionProviderImpl
> #* PID -org.apache.jackrabbit.oak.security.authorization.restriction.RestrictionProviderImpl
> # org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider
> #* PID -org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexEditorProvider
> # org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider
> #* PID -org.apache.jackrabbit.oak.plugins.index.lucene.LuceneIndexProvider
> # org.apache.jackrabbit.mk.osgi.MicroKernelService
> #* PID -org.apache.jackrabbit.mk.osgi.MicroKernelService
> #* Config Type -require
> Above data was extracted via [1]
> [1] https://gist.github.com/chetanmeh/9388311



--
This message was sent by Atlassian JIRA
(v6.2#6252)