Skip to content

Latest commit

 

History

History
460 lines (428 loc) · 21.7 KB

TODO_done

File metadata and controls

460 lines (428 loc) · 21.7 KB

Archived entries from file TODO

FIXED Quite urgent: Shortcuts propagation to browser

http://google-web-toolkit.googlecode.com/svn/javadoc/1.5/com/google/gwt/user/client/Event.html#preventDefault http://openkm.cvs.sourceforge.net/viewvc/openkm/openkm/src/es/git/openkm/frontend/client/panel/ExtendedDockPanel.java?revision=1.20&view=markup http://openkm.cvs.sourceforge.net/viewvc/openkm/openkm/src/es/git/openkm/frontend/client/util/Keyboard.java?revision=1.20&view=markup http://whatwouldnickdo.com/wordpress/370/gwt-right-click-context-menu/

FIXED W3C Range/Selection support in RTE

https://developer.mozilla.org/en/DOM/selection http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges.html As an intro: http://www.quirksmode.org/dom/range_intro.html http://maven.xwiki.org/site/xwiki-web/xwiki-web-wysiwyg/apidocs/com/xpn/xwiki/wysiwyg/client/dom/internal/AbstractRange.html other links: http://groups.google.com/group/rocket-gwt/browse_frm/thread/e56540d4168479c0/d25dca75958ba923?hl=en-GB&lnk=gst&q=Range#d25dca75958ba923 http://code.google.com/p/gwt-html-editor/source/browse/branches/gwt1.4/src/com/gc/gwt/wysiwyg/public/fckeditor/editor/_source/classes/fckdomrange_ie.js?r=81

FIXED <v> extjs i18n

http://extjs.com/deploy/ext/examples/locale/dutch-form.js http://groups.google.com/group/gwt-ext/browse_thread/thread/ebec316effea2b80/bfbdadc7239b4e5d?lnk=gst&q=i18n#bfbdadc7239b4e5d http://extjs.com/forum/showthread.php?t=20160&highlight=localization

FIXED with different menus (File/Blog …)

FIXED with different menus (File/Blog …)

WONTFIX Use Jenkins in dev machine (reoconfigure hostname and put link in web)

src/org/waveprotocol/box/server/gxp/ (pages) >> ./gen/org/waveprotocol/box/server/gxp/WaveClientPage.java

WIAB History integration

Initial defpage #home

u: if logged: wave list (#inbox) else: signin

g: def project

p: idem

#example.com/w+abcd

u: if logged: this wave else: signin and return to this

g: equivalent group page? no, only with a button-action

p: idem

#site.doc.1

u: if logged: wave list else signin (or also a button-action to go to open in the user-list)

g: group content

p: idem

Some javadoc:

HistorySupport.java WaverefEncoder.java /**

  • Takes a path segment which includes the domain and wave ID,and optionally
  • the wavelet domain + ID and the blip ID, and converts it to a waveref
  • object. Further tokens after 5 are silently ignored. Examples of valid URI
  • path segments are: example.com/w+abcd example.com/w+abcd/~/conv+root
  • example.com/w+abcd/~/conv+root/b+45kg

*

  • @param path The path containing the domain and wave ID.
  • @return The corresponding WaveRef object, or null if the path was invalid.
  • @throws InvalidWaveRefException If the path contains less than 2 tokens or 3 tokens. */

WIAB History integration

Initial defpage #home

u: if logged: wave list (#inbox) else: signin

g: def project

p: idem

#example.com/w+abcd

u: if logged: this wave else: signin and return to this

g: equivalent group page? no, only with a button-action

p: idem

#site.doc.1

u: if logged: wave list else signin (or also a button-action to go to open in the user-list)

g: group content

p: idem

Some javadoc:

HistorySupport.java WaverefEncoder.java /**

  • Takes a path segment which includes the domain and wave ID,and optionally
  • the wavelet domain + ID and the blip ID, and converts it to a waveref
  • object. Further tokens after 5 are silently ignored. Examples of valid URI
  • path segments are: example.com/w+abcd example.com/w+abcd/~/conv+root
  • example.com/w+abcd/~/conv+root/b+45kg

*

  • @param path The path containing the domain and wave ID.
  • @return The corresponding WaveRef object, or null if the path was invalid.
  • @throws InvalidWaveRefException If the path contains less than 2 tokens or 3 tokens. */

style injection:

http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS https://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/f4c4fb9b4c5bb28f

style injection:

http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS https://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/f4c4fb9b4c5bb28f

Server side extensions configuration menu

A way to specify the default extensions in a client of a wave server.

Perms in WIAB

27-abr-2011 16:59:01 org.waveprotocol.box.server.robots.OperationContextImpl openWavelet GRAVE: admin@localhost tried to open [WaveletName localhost/w+1v66qilgtl2o6E/localhost/conv+root] which it isn’t participating in 27-abr-2011 16:59:01 org.waveprotocol.box.server.robots.util.OperationUtil executeOperation ADVERTENCIA: Operation {‘method’:’robot.fetchWave’,’id’:’op16’,’waveId’:’localhost!w+1v66qilgtl2o6E’,’waveletId’:’localhost!conv+root’,’blipId’:’null’,’parameters’:{WAVELET_ID=localhost!conv+root, WAVE_ID=localhost!w+1v66qilgtl2o6E}} failed to execute com.google.wave.api.InvalidRequestException: Wavelet [WaveletName localhost/w+1v66qilgtl2o6E/localhost/conv+root] couldn’t be retrieved at org.waveprotocol.box.server.robots.OperationContextImpl.openWavelet(OperationContextImpl.java:231) at org.waveprotocol.box.server.robots.OperationContextImpl.openWavelet(OperationContextImpl.java:247) at org.waveprotocol.box.server.robots.operations.FetchWaveService.execute(FetchWaveService.java:52) at org.waveprotocol.box.server.robots.util.OperationUtil.executeOperation(OperationUtil.java:171) at cc.kune.wave.server.KuneWaveManagerDefault.fetchWavelet(KuneWaveManagerDefault.java:138) at cc.kune.wave.server.KuneWaveManagerDefault$$EnhancerByGuice$$eb69153f.CGLIB$fetchWavelet$2(<generated>) at cc.kune.wave.server.KuneWaveManagerDefault$$EnhancerByGuice$$eb69153f$$FastClassByGuice$$53f72476.invoke(<generated>) at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64) at cc.kune.core.server.LoggerMethodInterceptor.invoke(LoggerMethodInterceptor.java:87) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:44) at cc.kune.wave.server.KuneWaveManagerDefault$$EnhancerByGuice$$eb69153f.fetchWavelet(<generated>) at cc.kune.core.server.state.StateServiceDefault.create(StateServiceDefault.java:111) at cc.kune.core.server.state.StateServiceDefault$$EnhancerByGuice$$9d4970d0.CGLIB$create$1(<generated>) at cc.kune.core.server.state.StateServiceDefault$$EnhancerByGuice$$9d4970d0$$FastClassByGuice$$9a3402d2.invoke(<generated>) at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64) at cc.kune.core.server.LoggerMethodInterceptor.invoke(LoggerMethodInterceptor.java:87) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:44) at cc.kune.core.server.state.StateServiceDefault$$EnhancerByGuice$$9d4970d0.create(<generated>) at cc.kune.core.server.rpc.ContentRPC.getContentOrDefContent(ContentRPC.java:263) at cc.kune.core.server.rpc.ContentRPC.getContent(ContentRPC.java:246) at cc.kune.core.server.rpc.ContentRPC$$EnhancerByGuice$$9d633676.CGLIB$getContent$1(<generated>) at cc.kune.core.server.rpc.ContentRPC$$EnhancerByGuice$$9d633676$$FastClassByGuice$$8c7047c.invoke(<generated>) at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64) at cc.kune.core.server.LoggerMethodInterceptor.invoke(LoggerMethodInterceptor.java:87) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64) at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:66) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64) at cc.kune.core.server.auth.AuthenticatedMethodInterceptor.invoke(AuthenticatedMethodInterceptor.java:84) at cc.kune.core.server.OutermostCallInterceptor.invoke(OutermostCallInterceptor.java:66) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:44) at cc.kune.core.server.rpc.ContentRPC$$EnhancerByGuice$$9d633676.getContent(<generated>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:544) at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:504) at cc.kune.core.server.rack.filters.gwts.DelegatedRemoteServlet.processCall(DelegatedRemoteServlet.java:45) at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243) at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) at cc.kune.core.server.rack.filters.gwts.GWTServiceFilter.doFilter(GWTServiceFilter.java:61) at cc.kune.core.server.rack.RackServletFilter$DockChain.execute(RackServletFilter.java:70) at cc.kune.core.server.rack.RackServletFilter$DockChain.doFilter(RackServletFilter.java:63) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:66) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118) at com.google.inject.servlet.ManagedFilterPipeline$$EnhancerByGuice$$1af97b76.CGLIB$dispatch$0(<generated>) at com.google.inject.servlet.ManagedFilterPipeline$$EnhancerByGuice$$1af97b76$$FastClassByGuice$$57398af4.invoke(<generated>) at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64) at cc.kune.core.server.LoggerMethodInterceptor.invoke(LoggerMethodInterceptor.java:87) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:64) at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:44) at com.google.inject.servlet.ManagedFilterPipeline$$EnhancerByGuice$$1af97b76.dispatch(<generated>) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113) at cc.kune.core.server.rack.RackServletFilter$DockChain.execute(RackServletFilter.java:70) at cc.kune.core.server.rack.RackServletFilter$DockChain.doFilter(RackServletFilter.java:63) at cc.kune.core.server.rack.filters.LogFilter.doFilter(LogFilter.java:46) at cc.kune.core.server.rack.RackServletFilter$DockChain.execute(RackServletFilter.java:70) at cc.kune.core.server.rack.RackServletFilter$DockChain.doFilter(RackServletFilter.java:63) at cc.kune.core.server.rack.RackServletFilter.doFilter(RackServletFilter.java:105) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:421) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:493) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:930) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:358) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:866) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113) at org.eclipse.jetty.server.Server.handle(Server.java:351) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:594) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1059) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:764) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:217) at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:424) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:506) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436) at java.lang.Thread.run(Thread.java:679) 2011-04-27 16:59:01,904 [qtp2042579307-41] ERROR - Wavelet [WaveletName localhost/w+1v66qilgtl2o6E/localhost/conv+root] couldn’t be retrieved

Wiab EDitor in GSpace

Logged

-Status—

Admins (view plain, create new, participate in all)

Editors (view plain –> create new –> ask for participation)

Viewers (view plain –> ask for participation)

Not logged (view plain wave)

Register of “reserved words” not permitted for groups/users names (in server and in client)

icons in WIAB

<div class=”NWC”> <div class=”ILC”></div> </div>

.ILC { background: url(“data:image/png;base6,4iVBORw0KGgoAAAANSUhEUgAAAA4AAAAWCAYAAADwza0nAAAAXUlEQVR42mNgGAWUgbS0tP8gTLKmp0+f/r927RrxmmGaQPTx48f/79y5k7BmZJtAmkD8VatW4deIrglkE0wTCAxlTcihR1ATTCO20MOrCaaRJJvQkxQME6VpFOAGALlX45hq7h8nAAAAAElFTkSuQmCC”) no-repeat scroll 0 0 transparent; height: 22px; overflow: hidden; width: 14px; }

new UI library (gwt-ext is dead)

  • mosaic,
  • gtx
  • smartclient

<s> Changes in UI

  • [ ] 2:21 (video) add member dialog with confirmation (other way to do confirmation)
  • [ ] Leave this group, with green icon
  • [ ] 2.23 “page 1 de 1”
  • [ ] “Those who can view…” too long
  • [ ] cute menus ala https://addons.mozilla.org/es-ES/firefox/addon/1330
  • [ ] 2:27 (?) icon …
  • [ ] 2:35 “Start a chat with this member”-> chat! and other long items
  • [ ] 2.41 long submenus…
  • [ ] scroll of licenses

maven-gwt problem (using another plugin from codehaus)

mvn com.totsp.gwt:maven-googlewebtoolkit2-plugin:compile and so on. More info: http://code.google.com/p/gwt-maven/wiki/M2FAQ

vjrj use xwiki maven repo

http://maven.xwiki.org/releases/com/xpn/xwiki/platform/xwiki-web-wysiwyg/1.8-rc-2/

vjrj <v> better RTE

Pending

Insert/Edit link

use cases

^<a href=”http://example.com”>sample</a>^ — Parse and edit <a href=”http://example.com”>s^ample</a> — Parse and edit <a href=”http://example.com”>s^amp^le</a> — Parse and edit <a href=”http://example.com”>s^a<em>kk</em>mp^le</a> — Parse, get contains and edit ^some text <a href=”http://example.com”>samp^le</a> — new link with get inner content?

bidi support

images (local/remote) with preview

youtube videos/podcasts

File > Rename (F2)

Insert > Page break (for printing)

Shortcut to fonts (Ctrl + numbers)

Links

http://www.ongwt.com/post/2009/01/08/XWiki-:-Wysiwyg-editor-based-on-GWT http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/samples/internet/ie55/EditRegions/default.asp http://www.mozilla.org/editor/midas-spec.html http://mozilla.org/editor/midasdemo/

vjrj <v> GWT 1.6

http://code.google.com/intl/es/webtoolkit/doc/1.6/ReleaseNotes_1_6.html#Upgrading http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/3e7e6cc3b35ad98a http://code.google.com/p/google-web-toolkit/wiki/WAR_Design_1_6 http://www.gwt-ext.com/forum/viewtopic.php?f=5&p=12038

Custom Auth

http://www.igniterealtime.org/builds/openfire/docs/latest/documentation/javadoc/org/jivesoftware/openfire/auth/HybridAuthProvider.html provider.auth.className=org.jivesoftware.openfire.auth.HybridAuthProvider hybridAuthProvider.primaryProvider.className = org.jivesoftware.openfire.auth.JDBCAuthProvider hybridAuthProvider.secondaryProvider.className = cc.kune.core.server.auth.openfire.KuneAuthProvider cp /tmp/model.jar apache-wave-model.jar cp /tmp/kune-0.1.0-SNAPSHOT-jar-openfire-customauth.jar kune-authprovider.jar

deploy automatize (update)

copy jar

copy via rsync gwt compilation (no delete to prevent code fail message)

copy the jar and the compilation to other sites in the same lan

update /etc/kune (if needed)

migrate the database (if needed)

group.inexistentTool nasty error

calendar support

add –> event –> rpc –> gadget + wave

modification –> event —> rpc gadget + wave

delete —> ?

get –> list<waveref> —> list<app>