Page 1 of 1

Consulta por error

PostPosted:Fri Jun 11, 2010 5:35 pm
by fr_cystem
saludos,

Estoy instalando el OpenKM en una maquina virtual sobre CITRIX y tengo 1 problema, a la hora de ejecutar el aplicativo me da una serie de mensajes que no me habian dado antes y es la version 4.1 sobre windows server 2003 y esto hace que durante la carga del aplicativo me de problemas y no me deje trabajar.
Code: Select all
        at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:133)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:142)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy5.deploy(Unknown Source)
        at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
        at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
        at org.jboss.Main.boot(Main.java:200)
        at org.jboss.Main$1.run(Main.java:508)
        at java.lang.Thread.run(Unknown Source)
Caused by: javax.jcr.NamespaceException: URI http://www.openkm.org/1.0 is not re
gistered.
        at org.apache.jackrabbit.core.NamespaceRegistryImpl.getURIIndex(Namespac
eRegistryImpl.java:365)
        at org.apache.jackrabbit.core.query.lucene.NSRegistryBasedNamespaceMappi
ngs.getPrefix(NSRegistryBasedNamespaceMappings.java:73)
        at org.apache.jackrabbit.core.query.lucene.NamePathResolverImpl$NameReso
lverImpl.getJCRName(NamePathResolverImpl.java:106)
        at org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver.
getJCRName(DefaultNamePathResolver.java:65)
        at org.apache.jackrabbit.core.query.lucene.NSRegistryBasedNamespaceMappi
ngs.translatePropertyName(NSRegistryBasedNamespaceMappings.java:84)
        ... 152 more
javax.jcr.NamespaceException: URI http://www.openkm.org/1.0 is not registered.
        at org.apache.jackrabbit.core.NamespaceRegistryImpl.getURIIndex(Namespac
eRegistryImpl.java:365)
        at org.apache.jackrabbit.core.query.lucene.NSRegistryBasedNamespaceMappi
ngs.getPrefix(NSRegistryBasedNamespaceMappings.java:73)
        at org.apache.jackrabbit.core.query.lucene.NamePathResolverImpl$NameReso
lverImpl.getJCRName(NamePathResolverImpl.java:106)
        at org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver.
getJCRName(DefaultNamePathResolver.java:65)
        at org.apache.jackrabbit.core.query.lucene.NSRegistryBasedNamespaceMappi
ngs.translatePropertyName(NSRegistryBasedNamespaceMappings.java:84)
        at org.apache.jackrabbit.core.query.lucene.IndexingConfigurationImpl.ini
t(IndexingConfigurationImpl.java:162)
        at org.apache.jackrabbit.core.query.lucene.SearchIndex.createIndexingCon
figuration(SearchIndex.java:941)
        at org.apache.jackrabbit.core.query.lucene.SearchIndex.doInit(SearchInde
x.java:451)
        at org.apache.jackrabbit.core.query.AbstractQueryHandler.init(AbstractQu
eryHandler.java:53)
        at org.apache.jackrabbit.core.SearchManager.initializeQueryHandler(Searc
hManager.java:583)
        at org.apache.jackrabbit.core.SearchManager.<init>(SearchManager.java:26
5)
        at org.apache.jackrabbit.core.RepositoryImpl$WorkspaceInfo.getSearchMana
ger(RepositoryImpl.java:1600)
        at org.apache.jackrabbit.core.RepositoryImpl.initWorkspace(RepositoryImp
l.java:606)
        at org.apache.jackrabbit.core.RepositoryImpl.initStartupWorkspaces(Repos
itoryImpl.java:415)
        at org.apache.jackrabbit.core.RepositoryImpl.<init>(RepositoryImpl.java:
305)
        at org.apache.jackrabbit.core.RepositoryImpl.create(RepositoryImpl.java:
557)
        at es.git.openkm.module.direct.DirectRepositoryModule.getRepository(Dire
ctRepositoryModule.java:106)
        at es.git.openkm.module.direct.DirectRepositoryModule.initialize(DirectR
epositoryModule.java:201)
        at es.git.openkm.servlet.RepositoryStartupServlet.init(RepositoryStartup
Servlet.java:112)
        at javax.servlet.GenericServlet.init(GenericServlet.java:212)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.
java:1161)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:98
1)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContex
t.java:4071)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4
375)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase
.java:790)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:77
0)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:553)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.j
ava:296)
        at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:1
64)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.apache.catalina.core.StandardContext.init(StandardContext.java:53
12)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.j
ava:296)
        at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:1
64)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.web.tomcat.service.TomcatDeployer.performDeployInternal(Tom
catDeployer.java:301)
        at org.jboss.web.tomcat.service.TomcatDeployer.performDeploy(TomcatDeplo
yer.java:104)
        at org.jboss.web.AbstractWebDeployer.start(AbstractWebDeployer.java:375)

        at org.jboss.web.WebModule.startModule(WebModule.java:83)
        at org.jboss.web.WebModule.startService(WebModule.java:61)
        at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanS
upport.java:289)
        at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMB
eanSupport.java:245)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceControl
ler.java:978)
        at $Proxy0.start(Unknown Source)
        at org.jboss.system.ServiceController.start(ServiceController.java:417)
        at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy44.start(Unknown Source)
        at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:46
6)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:133)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:142)
        at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor
.java:97)
        at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(Intercepto
rServiceMBeanSupport.java:238)
        at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInt
erceptor.java:87)
        at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.
start(SubDeployerInterceptorSupport.java:188)
        at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterce
ptor.java:95)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy45.start(Unknown Source)
        at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
        at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:133)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:142)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy9.deploy(Unknown Source)
        at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymen
tScanner.java:421)
        at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentS
canner.java:634)
        at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.
doScan(AbstractDeploymentScanner.java:263)
        at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(A
bstractDeploymentScanner.java:336)
        at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanS
upport.java:289)
        at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMB
eanSupport.java:245)
        at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceControl
ler.java:978)
        at $Proxy0.start(Unknown Source)
        at org.jboss.system.ServiceController.start(ServiceController.java:417)
        at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy4.start(Unknown Source)
        at org.jboss.deployment.SARDeployer.start(SARDeployer.java:304)
        at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
        at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatch
er.java:155)
        at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
        at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractIntercept
or.java:133)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelM
BeanOperationInterceptor.java:142)
        at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
        at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.
java:264)
        at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
        at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
        at $Proxy5.deploy(Unknown Source)
        at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
        at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
        at org.jboss.Main.boot(Main.java:200)
        at org.jboss.Main$1.run(Main.java:508)
        at java.lang.Thread.run(Unknown Source)
11:29:30,855 WARN  [SearchIndex] C:\OpenKM-4.1\repository\workspaces\default/../
../../indexing_configuration.xml ignored.
11:29:30,902 INFO  [LocalFileSystem] LocalFileSystem initialized at path C:\Open
KM-4.1\repository\workspaces\default\index
11:29:31,184 INFO  [SearchIndex] Index initialized: C:\OpenKM-4.1\repository\wor
kspaces\default/index Version: 2
11:29:31,184 INFO  [RepositoryImpl] Repository started
11:29:31,808 ERROR [Serializer] C:\OpenKM-4.1\UserItemsManager.mkk (The system c
annot find the file specified)
11:29:31,808 ERROR [Serializer] C:\OpenKM-4.1\UserKeywordsManager.mkk (The syste
m cannot find the file specified)
11:29:34,214 INFO  [SimpleWebdavServlet] resource-path-prefix = '/repository'
11:29:34,214 INFO  [SimpleWebdavServlet] WWW-Authenticate header = 'Basic realm=
"OpenKM Webdav Server"'
11:29:37,074 INFO  [WSDLFilePublisher] WSDL published to: file:/C:/OpenKM-4.1/se
rver/default/data/wsdl/OpenKM.war/OKMMailService6427850815656811369.wsdl
11:29:37,090 INFO  [WSDLFilePublisher] WSDL published to: file:/C:/OpenKM-4.1/se
rver/default/data/wsdl/OpenKM.war/OKMDocumentService6082877504251161621.wsdl
11:29:37,090 INFO  [WSDLFilePublisher] WSDL published to: file:/C:/OpenKM-4.1/se
rver/default/data/wsdl/OpenKM.war/OKMSearchService4183558541162239020.wsdl
11:29:37,090 INFO  [WSDLFilePublisher] WSDL published to: file:/C:/OpenKM-4.1/se
rver/default/data/wsdl/OpenKM.war/OKMPropertyGroupService7011773532871865916.wsd
l
11:29:37,105 INFO  [WSDLFilePublisher] WSDL published to: file:/C:/OpenKM-4.1/se
rver/default/data/wsdl/OpenKM.war/OKMTestService1599176075468751993.wsdl
11:29:37,105 INFO  [WSDLFilePublisher] WSDL published to: file:/C:/OpenKM-4.1/se
rver/default/data/wsdl/OpenKM.war/OKMRepositoryService6943893530174494160.wsdl
11:29:37,105 INFO  [WSDLFilePublisher] WSDL published to: file:/C:/OpenKM-4.1/se
rver/default/data/wsdl/OpenKM.war/OKMFolderService7945249700236038104.wsdl
11:29:37,105 INFO  [WSDLFilePublisher] WSDL published to: file:/C:/OpenKM-4.1/se
rver/default/data/wsdl/OpenKM.war/OKMNotificationService5663893870441991984.wsdl

11:29:37,105 INFO  [WSDLFilePublisher] WSDL published to: file:/C:/OpenKM-4.1/se
rver/default/data/wsdl/OpenKM.war/OKMAuthService7010740636492606875.wsdl
11:29:37,246 INFO  [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../dep
loy/jmx-console.war/
11:29:37,449 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8
080
11:29:37,465 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
11:29:37,465 INFO  [Server] JBoss (MX MicroKernel) [4.2.3.GA (build: SVNTag=JBos
s_4_2_3_GA date=200807181439)] Started in 1m:21s:646ms
11:30:18,137 ERROR [Update] IOException: Connection reset
y este es uno de los mensajes que resulta al final y que no me habia dado antes:
11:30:18,137 ERROR [Update] IOException: Connection reset
Estos son algunos de los mensajes que recibo
Image

Re: Consulta por error

PostPosted:Fri Jun 11, 2010 5:46 pm
by jllort
Tiene conexion a internet esta maquina ?

Re: Consulta por error

PostPosted:Fri Jun 11, 2010 5:50 pm
by fr_cystem
Sip si tiene, pero en teorioa mas adelante ya no tendra por politicas

Re: Consulta por error

PostPosted:Fri Jun 11, 2010 5:54 pm
by jllort
Te cuento, OpenKM cuando hay cambios entre versiones te pone un pequeño icono en la parte inferior derecha con un determinado mensaje. Este mensaje lo va a buscar a un servidor y por lo que parece, por algun problema de DNS etc... no lo ha encontrado ( mira si desde esta maquina resuelves update.openkm.com )

El otro error no lo veo entero en la traza, con lo cual no te podemos decir mucho.

Re: Consulta por error

PostPosted:Fri Jun 11, 2010 6:07 pm
by fr_cystem
el otro error es este:

Image

Y no tengo ping ni tracert al servidor de update.openkm.com, pero esto es interno de comunicacion... la cuestion es que estoy bajando la version 4.0 para ver si esta igual me da problemas... en la 4.1 hay algo que me este generando estos errores??

Re: Consulta por error

PostPosted:Fri Jun 11, 2010 9:17 pm
by jllort
En principio no. La version 4.1 soluciona una serie de bugs de la 4.0. pero nada mas. Ese error de comunicación si no tienes acceso a esa url te lo dara siempre, pero no es importante. El que si es mas importante es el que te dara al no poder acceder al fichero de propiedades de grupos, leete la nota que esta aqui http://wiki.openkm.com/index.php/Proper ... definition ( tienes que modificar este fichero PropertyGroups.xml si no tienes acceso a internet ) y copiar localmente el fichero de validación

No he podido ver la traza del primer error entera, si es que la has puesto ?

Re: Consulta por error

PostPosted:Tue Jun 15, 2010 6:20 pm
by fr_cystem
Comentarte que por los problemas e decidido instalar la version 4.0 ya que la 4.1 me dio muchos problemas.

Re: Consulta por error

PostPosted:Tue Jun 15, 2010 6:36 pm
by jllort
Y con la 4.0. no te da estos problemas ? Es básicamente lo mismo pero con algunos errores corregidos.

Este error
Code: Select all
javax.jcr.NamespaceException: URI http://www.openkm.org/1.0 is not registered.
No le hagas ni caso, la primera vez que se genera el repositorio te lo disparará siempre.

Re: Consulta por error

PostPosted:Wed Jun 16, 2010 5:06 pm
by fr_cystem
Te comento que a mi no me dado ese error nunca, y la version 4.1 me genera mas problemas con el despligue de la taxonomia y el ingreso al sitio por eso decidi poner la 4.0 que tengo en productivo en otro sitio.

Re: Consulta por error

PostPosted:Thu Jun 17, 2010 10:07 am
by jllort
Excepto el problema ese, derivado de que no tienes conexión a internet y tienes que indicarle que el fichero de validación de las propiedades de grupo esta en local en tu máquina, no deberías tener ningún otro problema. Si lo tienes es que algo en la actualización de la 4.0 a la 4.1 te has tenido que dejar. Yo te recomiendo la 4.1 en cuanto a que soluciona un par de bugs presentes en la 4.0 ( no son muy importantes pero bueno )