erudika / scoold Goto Github PK
View Code? Open in Web Editor NEWA Stack Overflow clone for teams (self-hosted or hosted)
Home Page: https://scoold.com
License: Apache License 2.0
A Stack Overflow clone for teams (self-hosted or hosted)
Home Page: https://scoold.com
License: Apache License 2.0
The number of posts using a tag in /tags
page is incorrect for some tags. It shows 2 where there is only 1 question using that tag.
For example, see these two links:
Hello everyone ,
I've been researching scoold for several days, what I've got is that scoold is a web site that contains frontpages and controllers only. And scoold get the datas from para service through http calls. So, how could I get the whole scoold database model?
Dear scoold Team,
If I see correctly, currently scoold does not support "spaces" (i.e., different groups of questions, let is be one for each department (scoold space for Dev, Infra, HR, etc.), for each language (scoold space for Java, .NET, Python, etc., etc.), for each in-house project, etc.).
Would this be something meaningful to add? I haven't looked too much into the details of the implementation yet, but I think it's not too much work to introduce, or is it?
When I click a language which doesn't have any translation yet, it throws a NPE. Below is the details stacktrace:
2018-05-28 06:40:24 [WARN ]
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772)
at com.erudika.scoold.utils.CsrfFilter.doFilter(CsrfFilter.java:88)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:534)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
at com.erudika.scoold.utils.LanguageUtils.getTranslationProgressMap(LanguageUtils.java:262)
at com.erudika.scoold.controllers.LanguagesController.get(LanguagesController.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
... 42 common frames omitted
This might be intended behavior, but it struck me as odd and it definitely wasn't helpful.
Responsiveness works fine when the browser window is large or small, but medium has a problem.
when scoold tries to send an email i get this error :
2017-12-25T16:29:36.188335+00:00 app[web.1]: 2017-12-25 16:29:36 �[1;31m[ERROR]�[0;39m Failed to send email. Mail server connection failed; nested exception is com.sun.mail.util.MailConnectException: Couldn't connect to host, port: mail.sa9si.ma, 465; timeout -1;
2017-12-25T16:29:36.188348+00:00 app[web.1]: nested exception is:
2017-12-25T16:29:36.188352+00:00 app[web.1]: java.net.UnknownHostException: mail.sa9si.ma. Failed messages: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: mail.sa9si.ma, 465; timeout -1;
here is my config:
para_admin_ident: fb:10213910459065900 PATH: /app/.heroku/bin:/app/.jdk/bin:/usr/local/bin:/usr/bin:/bin para_security.signin_success: / para_security.signin_failure: /signin?error=true para_tw_secret: para_security.protected.settings: [/settings, /settings/**] para_security.signout_success: /signin para_security_ldap_server_url: JAVA_OPTS: -Xmx300m -Xss512k -Dfile.encoding=UTF-8 para_security.signin: /signin para_gmaps_api_key: AIza*************** para_gh_secret: PS1: [\033[01;34m]\w[\033[00m] [\033[01;32m]$ [\033[00m] para_security.protected.admin: [/admin, /admin/**, [admin]] para_mail_ssl: false para_google_client_id: 779213229430-ndknr2j3rs12e2igghb1s0j3fgsskggo.apps.googleusercontent.com para_host_url: https://sa9si.herokuapp.com para_in_secret: para_security.access_denied: /403 PWD: /app para_security_ldap_user_dn_pattern: para_secret_key: *************************** para_security_ldap_base_dn: para_meta_description: Sa9i.ma is a Q&A platform for the Moroccan Community para_tw_app_id: para_security.csrf_protection: true para_security.returnto: returnto PORT: 4220 para_app_name: sa9si para_security_ldap_bind_dn: para_password_auth_enabled: true para_ms_secret: para_csp_header: DYNO: web.1 para_mail_username: [email protected] para_mail_port: 465 para_security.ignored: [/, /images/, /styles/, /scripts/**, /v1/_setup] SHLVL: 1 para_env: production para_access_key: app:sa9si para_ms_app_id: para_security_ldap_user_search_base: para_security.api_security: true para_fb_app_id: 149417825779359 para_security_ldap_password_attribute: JAVA_HOME: /app/.jdk XFILESEARCHPATH: /usr/dt/app-defaults/%L/Dt para_security_ldap_bind_pass: JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -Dfile.encoding=UTF-8 para_mail_host: mail.sa9si.ma _: /app/.jdk/bin/java para_security.signout: /signout para_mail_password: *************************** para_google_analytics_id: para_clients_can_access_root_app: true para_mail_tls: true para_in_app_id: para_print_logo: true para_security_ldap_active_directory_domain: para_endpoint: https://paraio.com para_csp_header_enabled: false para_gh_app_id: para_app_secret_key: *************************** NLSPATH: /usr/dt/lib/nls/msg/%L/%N.cat para_support_email: [email protected] para_core_package_name: com.erudika.scoold.core para_meta_keywords: pc,visa,passport,osra,3a2ila, drari,hayat,telemphone,mochkil,math,khedma,flos,3a9a para_security.protected.votes: [/votedown/, /voteup/] HOME: /app para_security_ldap_user_search_filter:
Hello @albogdano,
I hope you have a good day.
Today, I got an exception when I tried to remove an user forcefully.
It's UnsupportedOperationException:
...
Caused by: java.lang.UnsupportedOperationException: Not implemented.
at com.erudika.para.search.MockSearch.findTerms(MockSearch.java:190)
at com.erudika.para.core.User.getIdentifiers(User.java:365)
at com.erudika.para.core.User.delete(User.java:354)
at com.erudika.scoold.controllers.AdminController.forceDelete(AdminController.java:127)
...
I don't exactly know why, but scoold tries to use MockSearch. It should've been LuceneSearch, right?
The para system generated a log message that it uses LuceneSearch instance.
2018-03-07 11:56:47 �[34m[INFO ]�[0;39m Loaded new DAO, Search and Cache implementations - AWSDynamoDAO, LuceneSearch and CaffeineCache.
Could you take a look at this?
Thank you!
FYI. The scoold version I tested is the most recent commit.
Running Scoold v1.29.0, accessing from Firefox ESR on Linux (though that probably doesn't matter).
On the /languages
page, the country names of some languages are incorrect (or at least unexpected):
See attached screenshot (German -> Greece, Spanish -> Peru, and possibly more - I haven't checked).
It seems related to the choice of locale names: At the translation page (e.g. at /translate/de
), the URLs for each word / sentence contain de_GR
, while it should probably be de_DE
instead.
Hello,
Happy new year,
Does Scoold support rtl languages like Arabic ?
If No, please elaborate a little bit on what I should focus on in terms of components that needed to be altered to implement the rtl support.
Cordially.
I've written docker-compose.yml with some Dockerfile.
Simple setup(para+scoold) is fine.
But if setting up para with para-dao-mongodb-1.25.1-shaded.jar, MongoDB raises MongoWriteException
when write settings.
Updates Enforce Field Name Restrictions says:
Updates no longer support saving field names that contain a dot (.)
or a field name that starts with a dollar sign ($).
scoold_1 | 2017-10-10 05:57:32 [INFO ] Initialized ParaClient with endpoint http://para:8080 and access key 'app:scoold'.
scoold_1 | 2017-10-10 05:57:32 [DEBUG] PUT /v1/_settings, entity: Entity{entity={gh_app_id=, gh_secret=, security.ldap.bind_dn=, security.ldap.user_dn_pattern=, security.ldap.server_url=, security.ldap.base_dn=, ms_app_id=, security.ldap.bind_pass=, signin_success=http://localhost:8000/signin/success?jwt=?, security.ldap.user_search_filter=, in_app_id=, in_secret=, tw_secret=, security.ldap.user_search_base=, tw_app_id=, security.ldap.active_directory_domain=, ms_secret=, security.ldap.password_attribute=, signin_failure=http://localhost:8000/signin?code=3&error=true}, variant=Variant[mediaType=application/json, language=null, encoding=null], annotations=[]}
para_1 | 2017-10-10 05:57:33 [ERROR] null
para_1 | com.mongodb.MongoWriteException: The dotted field 'security.ldap.bind_dn' in 'settings.security.ldap.bind_dn' is not valid for storage.
para_1 | at com.mongodb.MongoCollectionImpl.executeSingleWriteRequest(MongoCollectionImpl.java:558)
para_1 | at com.mongodb.MongoCollectionImpl.update(MongoCollectionImpl.java:542)
para_1 | at com.mongodb.MongoCollectionImpl.updateOne(MongoCollectionImpl.java:381)
para_1 | at com.mongodb.MongoCollectionImpl.updateOne(MongoCollectionImpl.java:376)
para_1 | at com.erudika.para.persistence.MongoDBDAO.updateRow(MongoDBDAO.java:161)
para_1 | at com.erudika.para.persistence.MongoDBDAO.update(MongoDBDAO.java:124)
para_1 | at com.erudika.para.persistence.MongoDBDAO$$EnhancerByGuice$$b90184b4.CGLIB$update$10(<generated>)
para_1 | at com.erudika.para.persistence.MongoDBDAO$$EnhancerByGuice$$b90184b4$$FastClassByGuice$$3c2ac843.invoke(<generated>)
para_1 | at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)
para_1 | at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
para_1 | at com.erudika.para.aop.IndexAndCacheAspect.addToIndexOperation(IndexAndCacheAspect.java:205)
para_1 | at com.erudika.para.aop.IndexAndCacheAspect.handleIndexing(IndexAndCacheAspect.java:150)
para_1 | at com.erudika.para.aop.IndexAndCacheAspect.invoke(IndexAndCacheAspect.java:123)
para_1 | at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)
para_1 | at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)
para_1 | at com.erudika.para.persistence.MongoDBDAO$$EnhancerByGuice$$b90184b4.update(<generated>)
para_1 | at com.erudika.para.core.App.update(App.java:1059)
para_1 | at com.erudika.para.rest.Api1$20.apply(Api1.java:635)
para_1 | at com.erudika.para.rest.Api1$20.apply(Api1.java:621)
para_1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
para_1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
para_1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
para_1 | at java.lang.reflect.Method.invoke(Method.java:498)
para_1 | at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
para_1 | at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
para_1 | at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
para_1 | at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
para_1 | at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
para_1 | at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
para_1 | at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
para_1 | at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
para_1 | at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
para_1 | at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
para_1 | at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
para_1 | at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
para_1 | at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
para_1 | at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
para_1 | at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
para_1 | at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
para_1 | at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
para_1 | at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
para_1 | at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
para_1 | at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
para_1 | at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
para_1 | at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
para_1 | at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:841)
para_1 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
para_1 | at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
para_1 | at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:158)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at com.erudika.para.security.RestAuthFilter.doFilter(RestAuthFilter.java:99)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at com.erudika.para.security.JWTRestfulAuthFilter.doFilter(JWTRestfulAuthFilter.java:125)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:100)
para_1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
para_1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
para_1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
para_1 | at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
para_1 | at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
para_1 | at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
para_1 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
para_1 | at com.erudika.para.utils.filters.CORSFilter.handleNonCORS(CORSFilter.java:415)
para_1 | at com.erudika.para.utils.filters.CORSFilter.doFilter(CORSFilter.java:164)
para_1 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
para_1 | at com.erudika.para.utils.filters.ErrorFilter.doFilter(ErrorFilter.java:59)
para_1 | at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
para_1 | at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
para_1 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
para_1 | at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
para_1 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
para_1 | at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
para_1 | at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
para_1 | at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
para_1 | at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
para_1 | at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
para_1 | at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
para_1 | at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
para_1 | at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
para_1 | at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
para_1 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
para_1 | at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
para_1 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
para_1 | at org.eclipse.jetty.server.Server.handle(Server.java:564)
para_1 | at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317)
para_1 | at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
para_1 | at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
para_1 | at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
para_1 | at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
para_1 | at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:128)
para_1 | at org.eclipse.jetty.util.thread.Invocable$InvocableExecutor.invoke(Invocable.java:222)
para_1 | at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:294)
para_1 | at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:199)
para_1 | at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
para_1 | at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
para_1 | at java.lang.Thread.run(Thread.java:748)
Hi,
I'm setting the property para.context_path to /qa:
para.context_path = "/qa"
But inspecting the HTML code, I can see that static files are being serving this way:
<link href="/qahttp://localhost/styles/style.css" rel="stylesheet" media="screen">
instead of:
<link href="http://localhost/qa/styles/style.css" rel="stylesheet" media="screen">
Thank you.
Hi,
Currently, scoold shows password change input box for 'generic' type users on settings page. And it includes the users that those are using LDAP for authentication.
I think LDAP(AD) authentication doesn't need password change. Because the accounts are authenticated by LDAP(AD) server.
I figured out that the following modification can block password change input for LDAP users.
settings.vm line 42
from
#if($authUser.user.identityProvider == "generic")
to
#if($authUser.user.identityProvider == "generic" && !$authUser.user.identifier.startsWith('ldap:')) )
I thought about a pull request, but it's not such a big modification. So I submit this request here.
Thank you.
Where do I set the limit of tag associated to one post?
When I am using ** in a Q or A, it is shown bold in the editor window. As soon as I post it, it doesn't show up bold anymore :(
I want to run a cloned Scoold project locally with Para.
To describe my struggle so far, I've cloned the Scoold project from GitHub and made a new app on paraio.com and I have also saved the access & secret keys.
What next?
Should I mention my Para keys in app.json or create an application.conf file? If either of the files is to be made then my keys should be mapped to which attribute/variable? And how do I run my project locally after that?
Hi,
do you plan to create a Dockerfile or a hub.docker.com release?
Hi,
I set up Scoold on my local box, para is running on the same machine and I want to use the Microsoft login.
I created a new application on my Microsoft page and put the app id and the secret on the application.conf, when I try to login with Microsoft it redirects me to the MS login page, but the final redirect goes in error:
AADSTS50011: The reply address 'http://localhost:8080/microsoft_auth' does not match the reply addresses configured for the application
In my application on MS I set the redirect url to http://localhost:8000/microsoft_auth, I dont know why it uses the port 8080 for the redirect.
The attached conf file has been renamed because github wants .txt
hello,
thanks for this work.
i am interested but i need detailed installation. do i need use http://paraio.org ? install para on my server is enough ?
thank you.
I am a collaborator on a repository. Normally I'm used by a CI bot to automatically merge requests but unfortunately it has been unable to merge since for maximum security all our commits must be verified by GPG. Could you please consider signing your commits or using the web interface (github.com) to submit them?
After a successful login with MS I get this error using Scoold (every page):
2017-05-15 17:16:16 [DEBUG] GET /v1/_id/775008390567956480:profile, params: null
2017-05-15 17:16:16 [WARN ] EXCEPTION
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: com.erudika.para.core.Sysprop cannot be cast to com.erudika.scoold.core.Profile
at com.erudika.scoold.utils.ScooldUtils.checkAuth(ScooldUtils.java:93)
The server always respond with HTTP 500
Hi @albogdano,
I found out an issue about question.
The question which is asked on a custom space(e.g. SpaceA) doesn't show on the space.
=> The name of space seems wrong after the save.
=> The question doesn't appear in SpaceA
=> It's showing on the default space instead.
Please look into this.
Thank you!
Hi! I am trying to set up Scoold locally. I have created an app on ParaIO.com, cloned the repo, and configured my application.conf file, but when I try to run it I receive the following warning: "Para configuration file 'application.(conf|json|properties)' is missing from classpath". My config file is in the same folder as the jar (/target), and I have also tried putting it in the main folder, but nothing seems to work. Suggestions? Thanks so much!
We want to use sccold for our car-diagnostics forum. Therefore we'd like to make our own translation with car-themed name-tags at buttons. should we do this locally or also make a pullrequest to you repo? Maybe it's a fun thing to see for other users and give them some creative influence?
Not sure it's a bug or a feature (I do not like): When a user browse to a question he asked, the "Send new responses on this thread to my email" is invisible. Its a good thing if user checked "Send my an email notification when someone replies to my posts" ... but when this box is not checked, the "Send new responses on this thread to my email" is invisible too.
Tested on scoold 1.25.4.
Hi! I ran into a confusing issue with e-mail auth:
This happens when a user attempts to log in with an unregistered e-mail address (e.g. when making a typo or by forgetting that they hadn't made an account yet):
if e-mail verification is enabled
A verification mail is automatically sent to that address, as if the user was trying to register.
Clicking the verify link creates a new user with the confusing name "ParaObject N" where N is some large ID number.
if e-mail verification is disabled
A new user with a "ParaObject N" name is immediately created and logged in.
In both cases I expected the log-in to simply fail, and that new accounts can only be created on the "register" page.
Thanks for everything so far!
There are three roles defined in User.class: user, mod, and admin, which all seem to be defined in the "groups" attribute of user objects. Could you explain the difference between admins and moderators?
If a question has two replies. Most recent is accepted by the question's author. None have any vote.
When answer are sorted by votes, the accepted answer appears after the other answer (which is probably less interesting).
Would it be possible to sort by votes and accepted if votes are equals?
Tested on Tested on scoold 1.25.4.
Hi @albogdano,
I am currently testing v1.28.9 and found some issues.
Thank you for your dedication as always!
I am facing a weird issue where there are multiple user accounts with the same email address. The old user got deleted automatically and the new user got created with the same name and email but with a score 0. And I am currently using H2DB in para.
Any ideas why this would be happening?
In lieu of full SSO support, a nice feature to have in the mean time is to restrict users by email domain. All my users in my company have the same email domain and they are the only users who should be able to use my deployment of scoold.
When I want to assign an avatar to my account I go menu profile editing (http://localhost:8000/profile) in my case. I am taking "change picture" on the default avatar. After that I am writing the address http://localhost/images/mhalas.jpg where small file (1.2kB) with my avatar. After clicking enter key there is no change with my avatar.
ScooldLog.txt
Hi, I want to run scoold with para running on the same machine. So, what I need to do is:
Is this the right way? Is there any way to make para run within scoold itself so that I don't have to worry about running/starting para?
And also, do I have to setup/install any database for para to run or is it taken care automatically by para?
When it takes me longer to write an answer, I can still press the post button, but instead of my answer it shows a minipage of the current site.
Looks like the session expired or smth. Can one make this time longer?
I know power-users and devs can manage users in Para, but some things are very difficult for normal users. For instance, granting admin privileges to someone is too complicated. We need a way in scoold to just click a button and all our dreams come true. :)
I used the deploy to Heroku button, created a new Google client, etc. However when I try to signing in using google I get the error "Authorization failed or was cancelled". There's an error code 3 in the final URL. Tried adding the heroku default domain to the allowed redirects on the Google API.
Is there a convenient way, to integrate an image-hosting-service so that people that want to upload pictures in questions or answers can do so directly?
After logging in with my MS account the account image is in the form:
https://apis.live.net/v5.0/4*****-****-****-****-**********b/picture?type=large
The live.net server responds with:
{
"error": {
"code": "request_url_invalid",
"message": "The URL contains the path '4afd7ee6-ae59-4719-ab49-3410f48c0c5b', which isn't supported."
}
}
Hello Guys,
Scoold looks great! Do you think it is useful to integrate with LDAP or Active Directory? I think it is a must if it is going to be used by most organizations (the popularity of G Suite notwithstanding). I also don't think there are many Question CMSes that have this feature.
Best regards!
Dear Erudika,
I don't know whether you notice this issue, but NullPointerException happens when I try to login before a cookie was made.
It's easy to reproduce the error:
Exception is as below:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772) at com.erudika.scoold.utils.CsrfFilter.doFilter(CsrfFilter.java:88) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) at org.eclipse.jetty.server.Server.handle(Server.java:534) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110) at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException: null at com.erudika.scoold.controllers.QuestionsController.getQuestions(QuestionsController.java:199) at com.erudika.scoold.controllers.QuestionsController.get(QuestionsController.java:69) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) ... 42 common frames omitted
i can not find the administrator console enter point.
A ProcessingException happens when user tries to sign in for the first time.
Please refer to the related stack trace below:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.ws.rs.ProcessingException: Error reading entity from input stream.
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1772)
at com.erudika.scoold.utils.CsrfFilter.doFilter(CsrfFilter.java:88)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
at org.eclipse.jetty.server.Server.handle(Server.java:534)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:110)
at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
at java.lang.Thread.run(Thread.java:745)
Caused by: javax.ws.rs.ProcessingException: Error reading entity from input stream.
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:889)
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:808)
at org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:321)
at org.glassfish.jersey.client.InboundJaxrsResponse$1.call(InboundJaxrsResponse.java:115)
at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
at org.glassfish.jersey.internal.Errors.process(Errors.java:229)
at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:389)
at org.glassfish.jersey.client.InboundJaxrsResponse.runInScopeIfPossible(InboundJaxrsResponse.java:264)
at org.glassfish.jersey.client.InboundJaxrsResponse.readEntity(InboundJaxrsResponse.java:112)
at com.erudika.para.client.ParaClient.getEntity(ParaClient.java:265)
at com.erudika.para.client.ParaClient.create(ParaClient.java:461)
at com.erudika.scoold.core.Profile.create(Profile.java:446)
at com.erudika.scoold.utils.ScooldUtils.checkAuth(ScooldUtils.java:139)
at com.erudika.scoold.utils.ScooldRequestInterceptor.preHandle(ScooldRequestInterceptor.java:58)
at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:134)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:958)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
... 42 common frames omitted
Caused by: com.fasterxml.jackson.databind.JsonMappingException: N/A
at [Source: org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream@62187623; line: 21, column: 17] (through reference chain: com.erudika.scoold.core.Profile["spacesSet"])
at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:277)
at com.fasterxml.jackson.databind.deser.SettableBeanProperty._throwAsIOE(SettableBeanProperty.java:551)
at com.fasterxml.jackson.databind.deser.impl.SetterlessProperty.deserializeAndSet(SetterlessProperty.java:115)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:276)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:140)
at com.fasterxml.jackson.databind.ObjectReader._bind(ObjectReader.java:1583)
at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:964)
at com.fasterxml.jackson.jaxrs.base.ProviderBase.readFrom(ProviderBase.java:815)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.invokeReadFrom(ReaderInterceptorExecutor.java:257)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$TerminalReaderInterceptor.aroundReadFrom(ReaderInterceptorExecutor.java:236)
at org.glassfish.jersey.message.internal.ReaderInterceptorExecutor.proceed(ReaderInterceptorExecutor.java:156)
at org.glassfish.jersey.message.internal.MessageBodyFactory.readFrom(MessageBodyFactory.java:1091)
at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:874)
... 60 common frames omitted
Caused by: java.lang.NullPointerException: null
at java.util.HashSet.<init>(HashSet.java:118)
at com.erudika.scoold.core.Profile.getSpacesSet(Profile.java:430)
at sun.reflect.GeneratedMethodAccessor202.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.fasterxml.jackson.databind.deser.impl.SetterlessProperty.deserializeAndSet(SetterlessProperty.java:113)
... 70 common frames omitted
My environment is using AD. So when a user that doesn't exist in the system signs in, scoold makes a new user. I think it's related to the space feature.
Thank you.
When asking a new question, adding tags is mandatory. This is fine I guess, but what sucks about it, is that to add a tag, one needs to klick on the droped down menu. Could this be changed in adding the first suggestion by just taking the -Key?
Dear Erudika,
When I tried to save a question without a tag, the content disappears.
It's showing an message(may not be empty) afterwards, but it obviously affects user experience.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.